:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--sand:#eadbbd;--panel:#0c0c0eb8;--text:#fff;--ink:#2a2118;--shadow:#2a2a2a;--red:#e8232d;--teal:#1f8a7a;--pink:#e0457b;--amber:#d98c34}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--sand);width:100%;height:100%;color:var(--text);-webkit-user-select:none;user-select:none;touch-action:none;font-family:Trebuchet MS,Segoe UI,sans-serif;overflow:hidden}#app{width:100vw;height:100vh;position:relative}.game-canvas{touch-action:none;display:block;position:absolute;inset:0}.dg{pointer-events:none;z-index:10;text-shadow:2px 2px 0 var(--shadow);font-weight:700;position:absolute;inset:0}.dg__top{background:var(--panel);align-items:stretch;gap:10px;max-width:calc(100vw - 24px);padding:8px 10px;display:none;position:absolute;top:40px;left:50%;transform:translate(-50%)}.dg--top .dg__top,.dg--playing .dg__top{display:flex}.dg__clock{color:var(--red);letter-spacing:2px;text-shadow:0 0 10px #e8232db3;background:#140404;align-items:center;padding:0 12px;font-family:Courier New,monospace;font-size:34px;font-weight:900;display:flex}.dg__clock.is-low{animation:.5s step-end infinite dg-blink}@keyframes dg-blink{50%{opacity:.35}}.dg__info{flex-direction:column;justify-content:center;gap:5px;min-width:190px;display:flex}.dg__shape{letter-spacing:3px;font-size:18px}.dg__bars{flex-direction:column;gap:4px;display:flex}.dg__meter{letter-spacing:1px;grid-template-columns:70px 1fr 38px;align-items:center;gap:6px;font-size:11px;display:grid}.dg__meter-value{text-align:right;font-variant-numeric:tabular-nums}.dg__track{background:#ffffff26;height:9px;overflow:hidden}.dg__fill{transform-origin:0;width:100%;height:100%;transform:scaleX(0)}.dg__fill--carve{background:var(--amber)}.dg__fill--stress{background:#f2e3c2}.dg__meter.is-danger .dg__fill--stress{background:var(--red)}.dg__meter.is-danger .dg__meter-label{color:var(--red)}.dg__bottom{pointer-events:auto;display:none;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.dg--playing .dg__bottom{display:block}.dg__lick{border:3px solid var(--pink);background:var(--panel);min-width:150px;color:var(--text);font:inherit;letter-spacing:3px;text-shadow:2px 2px 0 var(--shadow);touch-action:none;cursor:pointer;flex-direction:column;align-items:center;gap:2px;padding:12px 22px;font-size:18px;display:flex}.dg__lick.is-on{background:var(--pink)}.dg__lick-key{letter-spacing:1px;opacity:.7;font-size:10px}@media (pointer:coarse){.dg__lick-key{display:none}}.dg__banner{background:var(--panel);letter-spacing:4px;white-space:nowrap;padding:8px 18px;font-size:22px;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.dg__banner--good{color:#7be0b0}.dg__banner--bad{color:var(--red)}.countdown{color:var(--pink);text-shadow:5px 5px 0 var(--ink);pointer-events:none;opacity:0;z-index:30;justify-content:center;align-items:flex-start;padding-top:14vh;font-size:clamp(90px,22vw,200px);font-weight:900;display:flex;position:absolute;inset:0}.countdown.is-shown{animation:.75s cubic-bezier(.25,1,.5,1) countdown-pop}@keyframes countdown-pop{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1.1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.overlay{z-index:35;text-align:center;background:#140e0ab8;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0;overflow-y:auto}.overlay.hidden{display:none}.overlay__title{letter-spacing:6px;color:var(--amber);text-shadow:4px 4px 0 var(--ink);font-size:clamp(40px,9vw,76px);font-weight:900}.overlay__subtitle{max-width:460px;font-size:16px;font-weight:700;line-height:1.45}.overlay__score{color:var(--text);border:3px solid var(--pink);padding:4px 16px;font-size:28px;font-weight:900}.overlay__hint{letter-spacing:2px;opacity:.8;font-size:13px;animation:1.6s ease-in-out infinite dg-pulse}@keyframes dg-pulse{50%{opacity:.4}}@media (width<=640px){.dg__clock{padding:0 8px;font-size:26px}.dg__info{min-width:160px}.dg__shape{font-size:15px}.dg__banner{font-size:17px}}@media (width<=599px){.dg__top{top:52px}}
