.dpp-app{--dpp-ink:#2f2a44;--dpp-coral:#ff8a5c;--dpp-mint:#3fd68c;--dpp-red:#ff6b6b;--dpp-butter:#ffd36b;--dpp-sky:#5aa8ff;--dpp-cream:#fffaf2;--dpp-glass:rgba(47,42,68,0.82);--play-accent:#ff8a5c;--play-ink:#2f2a44;--play-paper:#fffaf2;overflow:hidden;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;height:100dvh;background:#f3e2c8;color:#fff}.dpp-scene{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;touch-action:none}.dpp-app:not([data-phase=play]) :is(.dpp-head,.dpp-targets,.dpp-toast,.dpp-hint,.dpp-panel,.dpp-bubble){display:none}.dpp-head{position:absolute;z-index:4;left:0;right:0;top:calc(env(safe-area-inset-top, 0px) + 8px);display:grid;grid-template-columns:44px 1fr auto 44px;align-items:center;grid-gap:8px;gap:8px;padding:0 12px;pointer-events:none;max-width:560px;margin:0 auto}.dpp-head>*{pointer-events:auto}.dpp-icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:var(--dpp-glass);color:#fff;border:2px solid rgba(255,255,255,.9);box-shadow:0 3px 0 rgba(40,20,30,.25)}.dpp-icon-btn .off,.dpp-icon-btn[aria-pressed=true] .on{display:none}.dpp-icon-btn[aria-pressed=true] .off{display:inline}.dpp-pill{justify-self:start;display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 12px 0 5px;border-radius:21px;max-width:100%;min-width:0;background:var(--dpp-glass);border:2px solid rgba(255,255,255,.9);box-shadow:0 3px 0 rgba(40,20,30,.25);pointer-events:none}.dpp-pill b{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--dpp-coral);font:800 15px/1 Playful,sans-serif}.dpp-pill span{font:800 14px/1 Playful,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dpp-time{display:flex;flex-direction:column;align-items:center;justify-content:center;height:42px;min-width:58px;padding:0 8px;border-radius:14px;background:var(--dpp-glass);border:2px solid rgba(255,255,255,.9);box-shadow:0 3px 0 rgba(40,20,30,.25);pointer-events:none}.dpp-time span{font:800 8px/1 Playful,sans-serif;letter-spacing:1px;opacity:.75}.dpp-time b{font:800 19px/1 Playful,sans-serif;color:var(--dpp-butter);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dpp-time.low b{color:#ffb3b3;animation:dpp-pulse .8s ease-in-out infinite}.dpp-time.paused b{color:#c9ffe4}@keyframes dpp-pulse{50%{transform:scale(1.15)}}.dpp-targets{position:absolute;z-index:4;left:10px;right:10px;top:calc(env(safe-area-inset-top, 0px) + 58px);display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;pointer-events:none;max-width:520px;margin:0 auto}.dpp-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;grid-column-gap:5px;column-gap:5px;align-items:center;padding:6px 7px;border-radius:14px;background:var(--dpp-cream);color:var(--dpp-ink);border:3px solid #fff;box-shadow:0 3px 0 rgba(120,80,60,.28);min-width:0;transition:transform .25s cubic-bezier(.3,1.6,.5,1),background .2s,border-color .2s}.dpp-card svg{grid-row:1/3;color:var(--dpp-coral)}.dpp-card-label{font:800 9px/1 Playful,sans-serif;letter-spacing:1px;color:#8b7f96}.dpp-card-target{font:800 20px/1 Playful,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:3px}.dpp-card-tol{position:absolute;visibility:hidden}.dpp-card-target:after{content:attr(data-tol);font:800 10px/1 Playful,sans-serif;color:#8b7f96}.dpp-card-meas{grid-column:1/-1;margin-top:4px;text-align:center;border-radius:8px;padding:3px 2px;font:800 10px/1.1 Playful,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#efe7dc;color:#8b7f96}.dpp-card[data-state=ok]{border-color:var(--dpp-mint);background:#eafff3;transform:scale(1.04)}.dpp-card[data-state=ok] .dpp-card-meas{background:var(--dpp-mint);color:#fff}.dpp-card[data-state=ok] svg{color:#22a86a}.dpp-card[data-state=bad]{border-color:var(--dpp-red);background:#fff0ee}.dpp-card[data-state=bad] .dpp-card-meas{background:var(--dpp-red);color:#fff}.dpp-card[data-state=stale] .dpp-card-meas{opacity:.55}.dpp-card.pop{animation:dpp-pop .45s cubic-bezier(.3,1.6,.5,1)}@keyframes dpp-pop{40%{transform:scale(1.14)}}.dpp-bubble{z-index:5;left:0;top:0;transform:translate(-50%,-100%) scale(.6);opacity:0;pointer-events:none;max-width:190px;width:max-content;padding:8px 12px;border-radius:16px;color:var(--dpp-ink);border:3px solid var(--dpp-ink);font:800 14px/1.15 Playful,sans-serif;text-align:center;box-shadow:0 4px 0 rgba(47,42,68,.25);transition:opacity .2s,transform .3s cubic-bezier(.3,1.6,.5,1)}.dpp-bubble,.dpp-bubble:after{position:absolute;background:#fff}.dpp-bubble:after{content:"";left:50%;bottom:-11px;width:14px;height:14px;border-right:3px solid var(--dpp-ink);border-bottom:3px solid var(--dpp-ink);transform:translateX(-50%) rotate(45deg)}.dpp-bubble.show{opacity:1;transform:translate(-50%,-100%) scale(1)}.dpp-bubble[data-kind=good]{border-color:#22a86a;color:#1a7a4e}.dpp-bubble[data-kind=good]:after{border-color:#22a86a}.dpp-toast{position:absolute;z-index:7;left:50%;top:30%;transform:translate(-50%,10px) scale(.9);opacity:0;pointer-events:none;font:800 24px/1.1 Playful,sans-serif;color:#fff;text-align:center;width:max-content;max-width:calc(100% - 28px);-webkit-text-stroke:6px var(--dpp-ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--dpp-ink);transition:opacity .2s,transform .3s cubic-bezier(.3,1.6,.5,1)}.dpp-toast.show{opacity:1;transform:translate(-50%)}.dpp-toast[data-kind=good]{color:#d9ffec;-webkit-text-stroke-color:#1f6b4a;text-shadow:0 4px 0 #1f6b4a}.dpp-toast[data-kind=bad]{color:#ffe1dc;-webkit-text-stroke-color:#9a3030;text-shadow:0 4px 0 #9a3030}.dpp-toast[data-kind=warn]{color:#fff1c2;-webkit-text-stroke-color:#7a4a00;text-shadow:0 4px 0 #7a4a00}.dpp-hint{position:absolute;z-index:5;left:50%;bottom:calc(env(safe-area-inset-bottom, 0px) + 168px);transform:translateX(-50%);margin:0;padding:7px 12px;border-radius:14px;background:var(--dpp-glass);border:2px solid rgba(255,255,255,.7);font:700 13px/1.25 Playful,sans-serif;text-align:center;width:max-content;max-width:calc(100% - 28px);opacity:0;transition:opacity .25s;pointer-events:none}.dpp-hint.show{opacity:1}.dpp-hint[data-kind=bad]{border-color:#ffb3a8}.dpp-hint[data-kind=good]{border-color:var(--dpp-mint)}.dpp-panel{position:absolute;z-index:6;left:8px;right:8px;bottom:calc(env(safe-area-inset-bottom, 0px) + 8px);max-width:540px;margin:0 auto;padding:7px;border-radius:22px;color:var(--dpp-ink);display:grid;grid-gap:6px;gap:6px;background:var(--dpp-cream);border:3px solid #fff;box-shadow:0 5px 0 #e0b892,0 12px 26px rgba(80,40,20,.28)}.dpp-chips{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:4px;gap:4px}.dpp-app .dpp-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 1px;min-width:0;cursor:pointer;touch-action:manipulation;border-radius:12px;border:3px solid #f1e6d6;background:#fff;color:var(--dpp-ink);box-shadow:0 3px 0 rgba(120,80,60,.15);transition:transform .12s,border-color .15s,background .15s}.dpp-chip i{font-style:normal;font-size:15px;line-height:1}.dpp-chip b{font:800 9px/1 Playful,sans-serif;letter-spacing:.4px}.dpp-chip em{font:800 10px/1 Playful,sans-serif;font-style:normal;color:#9a8a7a;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.dpp-chip.sel{border-color:var(--dpp-coral);background:#fff1e8;transform:translateY(-2px)}.dpp-chip.sel em{color:#d4612f}.dpp-chip.locked{opacity:.45}.dpp-chip.locked em:before{content:"🔒";font-size:9px;margin-right:1px}.dpp-chip.off{display:none}.dpp-chip.want{animation:dpp-want .8s ease-in-out infinite;border-color:var(--dpp-butter)}@keyframes dpp-want{50%{transform:translateY(-3px) scale(1.04)}}.dpp-chip:active{transform:translateY(2px) scale(.97)}.dpp-tuner-row{display:grid;grid-template-columns:1fr 94px;grid-gap:6px;gap:6px;align-items:stretch}.dpp-tuner{display:grid;grid-template-columns:1fr;grid-gap:4px;gap:4px;min-width:0}.dpp-tuner.two{grid-template-columns:1fr 1fr}.dpp-pair{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;grid-gap:3px;gap:3px;background:#fff;border-radius:14px;padding:3px;box-shadow:inset 0 0 0 2px #f1e6d6;min-width:0}.dpp-pair2{display:none}.dpp-tuner.two .dpp-pair2{display:grid}.dpp-tuner.two .dpp-pair{grid-template-columns:36px 1fr 36px}.dpp-app .dpp-nudge{height:44px;border-radius:12px;border:0;background:var(--dpp-ink);color:#fff;display:grid;place-items:center;cursor:pointer;touch-action:manipulation;box-shadow:0 3px 0 #15121f;transition:transform .08s}.dpp-tuner.two .dpp-nudge{height:40px}.dpp-app .dpp-nudge:active{transform:translateY(2px);box-shadow:0 1px 0 #15121f}.dpp-nudge:disabled{opacity:.3}.dpp-readout{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.dpp-readout span{font:800 8.5px/1 Playful,sans-serif;letter-spacing:.8px;color:#9a8a7a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dpp-readout b{font:800 18px/1 Playful,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.dpp-app .dpp-test{border-radius:16px;border:3px solid #1f9a5f;background:var(--dpp-mint);color:#fff;cursor:pointer;touch-action:manipulation;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;box-shadow:inset 0 3px 0 #9ef0c6,0 5px 0 #1f9a5f;transition:transform .1s}.dpp-test b{font:800 22px/1 Playful,sans-serif;-webkit-text-stroke:1px #1f9a5f}.dpp-test span{font:800 10px/1 Playful,sans-serif;letter-spacing:1px;opacity:.9}.dpp-app .dpp-test:active{transform:translateY(3px);box-shadow:0 2px 0 #1f9a5f}.dpp-test:disabled{filter:grayscale(.6);opacity:.6}.dpp-test.ready{animation:dpp-ready 1.1s ease-in-out infinite}@keyframes dpp-ready{50%{box-shadow:inset 0 3px 0 #9ef0c6,0 5px 0 #1f9a5f,0 0 0 6px rgba(63,214,140,.35)}}.dpp-moves{margin:0;text-align:center;font:700 10.5px/1 Playful,sans-serif;color:#9a8a7a;letter-spacing:.5px}.dpp-moves b{color:var(--dpp-ink);font-size:12px}.dpp-moves b.over{color:#d4612f}.dpp-dot{margin:0 4px}.playful-game .dpp-menu,.playful-game .dpp-results{background:linear-gradient(180deg,rgba(60,30,20,0) 35%,rgba(60,30,20,.4));backdrop-filter:none;-webkit-backdrop-filter:none;justify-content:flex-start;padding:8vh 12px calc(env(safe-area-inset-bottom, 0px) + 12px)}.dpp-mcard{position:relative;width:min(440px,100%);margin:auto auto 0;flex:none;color:var(--dpp-ink);border-radius:26px;padding:14px;text-align:center;border:3px solid #fff;background:linear-gradient(90deg,rgba(255,138,92,.07) 1px,transparent 0) 0 0 /18px 18px,linear-gradient(rgba(255,138,92,.07) 1px,transparent 0) 0 0 /18px 18px,#fffaf2;box-shadow:0 7px 0 #e0b892,0 20px 50px rgba(80,40,20,.4)}.dpp-kicker{display:inline-block;font:800 10px/1 Playful,sans-serif;letter-spacing:1.6px;color:#fff;background:var(--dpp-coral);border-radius:8px;padding:5px 9px}.dpp-logo{margin:8px 0 2px;font:800 34px/.92 Playful,sans-serif;letter-spacing:1px;color:var(--dpp-butter);-webkit-text-stroke:4px var(--dpp-ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--dpp-coral);transform:rotate(-2deg)}.dpp-menu-client{margin:6px 0 0;font:800 13px/1.2 Playful,sans-serif;color:#d4612f}.dpp-rules{list-style:none;margin:8px 0;padding:9px;text-align:left;display:grid;grid-gap:5px;gap:5px;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 2px #f1e6d6}.dpp-rules li{display:flex;gap:7px;align-items:baseline;font:600 12.5px/1.28 Playful,sans-serif;color:#5d5266}.dpp-rules li span{flex:none;width:18px;text-align:center}.dpp-rules li p{margin:0}.dpp-rules b{color:#d4612f}.dpp-levels{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:5px;gap:5px;margin:0 0 10px}.dpp-app .dpp-lv{position:relative;aspect-ratio:1/1.05;border-radius:12px;border:3px solid #f1e6d6;background:#fff;color:var(--dpp-ink);cursor:pointer;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font:800 16px/1 Playful,sans-serif;box-shadow:0 3px 0 rgba(120,80,60,.15)}.dpp-lv i{font-style:normal;font-size:8px;letter-spacing:-.5px;color:#ffb21a;min-height:8px}.dpp-lv.sel{border-color:var(--dpp-coral);background:#fff1e8;transform:translateY(-2px)}.dpp-lv:disabled{opacity:.4;cursor:default}.dpp-lv:disabled:after{content:"🔒";position:absolute;font-size:10px;right:2px;top:1px}.playful-game .dpp-mcard button.big{width:100%;background:var(--dpp-coral);color:#fff;border-color:#d4612f;box-shadow:inset 0 3px 0 #ffc2a6,0 5px 0 #d4612f;font-size:22px}.dpp-menu-best{margin:8px 0 0;font:800 13px/1 Playful,sans-serif;color:#8a5a00;min-height:13px}.dpp-note{margin:6px 0 0;font:700 11px/1.25 Playful,sans-serif;color:#9a8a7a}.dpp-r-title{margin:6px 0 0;font:800 28px/1 Playful,sans-serif}.dpp-r-title.good{color:#1f9a5f}.dpp-r-title.bad{color:#d4612f}.dpp-r-score{display:flex;align-items:baseline;justify-content:center;gap:6px}.dpp-r-score b{font:800 50px/1 Playful,sans-serif;color:var(--dpp-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dpp-r-score span{font:800 15px/1 Playful,sans-serif;color:#9a8a7a}.dpp-stars{display:flex;justify-content:center;gap:6px;margin:2px 0}.dpp-stars i{width:30px;height:30px;background:rgba(47,42,68,.16);-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);transition:transform .3s cubic-bezier(.3,1.8,.5,1),background .2s}.dpp-stars i.on{background:#ffc61a;transform:scale(1.18) rotate(-6deg)}.dpp-r-line{margin:6px 0 8px;font:700 13px/1.3 Playful,sans-serif;color:#5d5266}.dpp-r-stats{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:5px;gap:5px}.dpp-r-stats li{display:flex;flex-direction:column;gap:3px;padding:7px 2px;border-radius:12px;background:#fff;border:2px solid #f1e6d6}.dpp-r-stats li.ok{border-color:var(--dpp-mint);background:#eafff3}.dpp-r-stats li.bad{border-color:#ffb3a8;background:#fff0ee}.dpp-r-stats b{font:800 18px/1 Playful,sans-serif;color:var(--dpp-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dpp-r-stats span{font:700 10px/1 Playful,sans-serif;color:#9a8a7a}.dpp-r-best{margin:2px 0 10px;font:800 13px/1 Playful,sans-serif;color:#d4612f;min-height:13px}.dpp-r-row{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}.playful-game .dpp-r-row .share-btn{margin-top:10px;padding:8px 14px;font-size:15px}.dpp-app .dpp-link-btn{margin-top:10px;background:#fff;color:var(--dpp-ink);border:2px solid #f1e6d6;border-radius:14px;padding:9px 14px;font:800 15px/1.2 Playful,sans-serif;cursor:pointer}.playful-game .dpp-loading{background:radial-gradient(ellipse at 50% 40%,#fffaf2,#f3cfae)}@media (min-width:760px) and (min-aspect-ratio:1/1){.playful-game .dpp-menu,.playful-game .dpp-results{background:linear-gradient(90deg,rgba(60,30,20,0) 45%,rgba(60,30,20,.35));align-items:flex-end;justify-content:flex-start;padding:24px 5vw 24px 24px}.dpp-mcard{margin:auto 0}.dpp-logo{font-size:44px}.dpp-targets{top:calc(env(safe-area-inset-top, 0px) + 60px)}}@media (max-height:740px){.dpp-rules{display:none}}