
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{min-height:100%;font-family:Georgia, 'Times New Roman', serif;background:#fff8ef;color:#5c3a12;-webkit-font-smoothing:antialiased;overflow:hidden;user-select:none;-webkit-user-select:none;}
#dt-menu{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#fff8ef 0%,#ffe9c9 55%,#fff8ef 100%);padding:env(safe-area-inset-top,20px) 22px calc(env(safe-area-inset-bottom,0px)+22px);overflow-y:auto;}
.dt-decor{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;}

.dt-du{position:absolute;border-radius:50%;background:#d98c2b;animation:dtDrift linear infinite;}
@keyframes dtDrift{0%{transform:translate(-8vw,0);opacity:0}12%{opacity:.6}88%{opacity:.4}100%{transform:translate(108vw,-6vh);opacity:0}}

.dt-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:420px;}
.dt-icon{font-size:clamp(52px,14vw,78px);filter:drop-shadow(0 4px 14px #d98c2b55);animation:dtBob 3.6s ease-in-out infinite;}
@keyframes dtBob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}
.dt-title{font-size:clamp(26px,7.5vw,46px);font-weight:900;letter-spacing:3px;text-align:center;color:#d98c2b;text-shadow:0 3px 0 #a85d1733;text-transform:uppercase;}
.dt-sub{font-size:11px;letter-spacing:4px;color:#a85d17;text-transform:uppercase;}
.dt-divider{width:160px;height:2px;background:linear-gradient(90deg,transparent,#d98c2b,transparent);border-radius:2px;}
.dt-tip{font-size:11.5px;line-height:1.5;color:#a85d17;text-align:center;max-width:340px;font-style:italic;padding:0 6px;}
.dt-how{width:100%;background:rgba(255,255,255,.82);border:1px solid #d98c2b40;border-radius:16px;padding:16px;box-shadow:0 4px 18px rgba(0,0,0,.06);}
.dt-how-title{font-size:10px;letter-spacing:4px;color:#a85d17;text-align:center;margin-bottom:10px;text-transform:uppercase;font-weight:700;}
.dt-how-row{display:flex;align-items:center;justify-content:space-between;font-size:clamp(12px,3.5vw,14px);padding:3px 0;color:#5c3a12;}
.dt-how-row .pts{color:#d98c2b;font-weight:900;}
.dt-how-row .neg{color:#e0526b;font-weight:900;}
.dt-mile{width:100%;background:rgba(255,255,255,.82);border:1px solid #d98c2b40;border-radius:16px;padding:14px 16px;box-shadow:0 4px 18px rgba(0,0,0,.06);}
.dt-mile-title{font-size:10px;letter-spacing:4px;color:#a85d17;text-align:center;margin-bottom:8px;text-transform:uppercase;font-weight:700;}
.dt-mile-row{display:flex;justify-content:space-between;font-size:12px;color:#5c3a12;padding:2px 0;}
.dt-play{width:100%;padding:17px 32px;border-radius:12px;border:none;cursor:pointer;background:linear-gradient(180deg,#d98c2b,#a85d17);color:#fff;font-weight:900;font-family:Georgia, 'Times New Roman', serif;font-size:clamp(14px,4.5vw,18px);letter-spacing:3px;text-transform:uppercase;box-shadow:0 8px 24px #d98c2b55;transition:all .15s;}
.dt-play:active{transform:scale(.97);}
.dt-flinks{display:flex;gap:14px;}
.dt-flinks a{font-size:10px;letter-spacing:2px;color:#a85d17;text-decoration:none;text-transform:uppercase;padding:5px 12px;border:1px solid #d98c2b55;border-radius:6px;}
#dt-game{position:fixed;inset:0;z-index:50;display:none;flex-direction:column;}
#dt-canvas{position:absolute;inset:0;background:linear-gradient(180deg,#ffe9c9 0%,#fff8ef 60%,#ffe9c9 100%);}

.dt-corner{position:absolute;top:env(safe-area-inset-top,10px);z-index:10;background:rgba(255,255,255,.82);border:1px solid #d98c2b55;border-radius:10px;padding:6px 14px;text-align:center;min-width:64px;backdrop-filter:blur(6px);box-shadow:0 2px 10px rgba(0,0,0,.08);}
.dt-corner.left{left:14px;}
.dt-corner.right{right:14px;}
.dt-hlbl{font-size:8px;letter-spacing:2px;color:#a85d17;text-transform:uppercase;margin-bottom:2px;}
.dt-hval{font-size:clamp(16px,4.5vw,20px);font-weight:900;color:#5c3a12;}
.dt-pill{position:absolute;top:calc(env(safe-area-inset-top,10px) + 2px);left:50%;transform:translateX(-50%);z-index:10;background:#d98c2b;color:#fff;border-radius:999px;padding:8px 22px;font-weight:900;font-size:clamp(13px,4vw,16px);letter-spacing:2px;box-shadow:0 4px 14px #d98c2b66;}
.dt-pill.urgent{animation:dtUrg .5s ease-in-out infinite;}
@keyframes dtUrg{0%,100%{background:#d98c2b;}50%{background:#ff5566;}}

.dt-item{position:absolute;display:flex;flex-direction:column;align-items:center;cursor:pointer;z-index:5;}
.dt-item-e{display:block;line-height:1;transition:transform .1s;}
.dt-item:active .dt-item-e{transform:scale(.82);}
.dt-item-pts{font-size:10px;font-weight:900;color:#fff;letter-spacing:1px;margin-top:2px;background:#a85d17cc;padding:1px 6px;border-radius:6px;}
.dt-item.good .dt-item-e{animation:dtFloat 2s ease-in-out infinite alternate;}
@keyframes dtFloat{from{transform:translateY(0)}to{transform:translateY(-7px)}}
.dt-item.bad .dt-item-e{animation:dtWobble .5s ease-in-out infinite;}
@keyframes dtWobble{0%,100%{transform:scaleX(1)}50%{transform:scaleX(1.15) scaleY(.9)}}
.dt-item.dying{animation:dtPop .25s forwards;}
@keyframes dtPop{0%{transform:scale(1);opacity:1}100%{transform:scale(2.4);opacity:0}}
.dt-score-pop{position:absolute;font-size:20px;font-weight:900;pointer-events:none;z-index:20;animation:dtFly .65s ease-out forwards;font-family:Georgia, 'Times New Roman', serif;}
.dt-score-pop.pos{color:#d98c2b;}
.dt-score-pop.neg{color:#e0526b;}
@keyframes dtFly{0%{transform:translateY(0);opacity:1}100%{transform:translateY(-65px);opacity:0}}

.dt-pop{position:absolute;inset:0;z-index:30;display:none;align-items:center;justify-content:center;background:rgba(255,255,255,.55);backdrop-filter:blur(6px);}
.dt-popcard{background:rgba(255,255,255,.82);border:1px solid #d98c2b55;border-radius:18px;padding:30px 26px;text-align:center;max-width:320px;width:90%;box-shadow:0 10px 40px rgba(0,0,0,.15);}
.dt-poptitle{font-size:clamp(20px,6vw,27px);font-weight:900;color:#5c3a12;margin-bottom:6px;letter-spacing:1px;}
.dt-popsub{font-size:13px;color:#a85d17;margin-bottom:18px;}
.dt-scorelbl{font-size:10px;letter-spacing:3px;color:#a85d17;text-transform:uppercase;margin-bottom:4px;}
.dt-scoreval{font-size:clamp(38px,13vw,54px);font-weight:900;color:#d98c2b;margin-bottom:20px;}
.dt-replay{width:100%;padding:14px;border-radius:10px;border:none;cursor:pointer;background:#d98c2b;color:#fff;font-weight:900;font-size:15px;letter-spacing:2px;text-transform:uppercase;box-shadow:0 6px 18px #d98c2b55;}
.dt-replay:active{transform:scale(.97);}

