:root{--torch:#ffb454;--stone:#6b6474;--moss:#7dc98f;--gold:#ffd166;--danger:#ff6659;font-size:clamp(14px,1.45vmin,19px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;overflow:hidden}body{color:#efe6d8;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#0d0a12;font-family:Avenir Next,Segoe UI,system-ui,sans-serif}#scene{width:100%;height:100%;display:block;position:absolute;inset:0}.hidden{display:none!important}#hud{z-index:10;pointer-events:none;justify-content:space-between;align-items:center;padding:.9rem 1.2rem;display:flex;position:absolute;top:0;left:0;right:0}#hud>*{pointer-events:auto}.hud-left,.hud-right{align-items:center;gap:.9rem;display:flex}.hud-title{flex-direction:column;line-height:1.15;display:flex}#hudDepth{letter-spacing:.18em;color:var(--torch);font-size:1.05rem;font-weight:800}#hudSub{letter-spacing:.12em;opacity:.75;font-size:.72rem}.icon-btn{width:2.4rem;height:2.4rem;color:var(--torch);cursor:pointer;background:#181018cc;border:1px solid #ffb45473;border-radius:50%;font-size:1.15rem;transition:transform .15s,background .15s}.icon-btn:hover{background:#342228e6;transform:scale(1.08)}.icon-btn.off{opacity:.4}.score-box{text-align:right;flex-direction:column;line-height:1.05;display:flex}.score-box span{color:var(--gold);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:800}.score-box label{letter-spacing:.3em;opacity:.7;font-size:.58rem}.torch-pips{gap:.4rem;display:flex}.torch-pip{background:var(--torch);border-radius:50% 50% 50% 0;width:.9rem;height:.9rem;transition:all .3s;transform:rotate(-45deg);box-shadow:0 0 10px #ffb454d9}.torch-pip.out{box-shadow:none;background:#2c2430;transform:rotate(-45deg)scale(.8)}.overlay{z-index:20;text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(at 50% 40%,#46281673,#08050af0 75%);flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;padding:2rem;display:flex;position:absolute;inset:0}h1{letter-spacing:.14em;background:linear-gradient(180deg, #ffe9c4 15%, var(--torch) 55%, #b8541f 95%);color:#0000;text-shadow:0 0 50px #ffb4544d;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.6rem,7vmin,4.6rem);font-weight:900}h2{letter-spacing:.14em;color:var(--torch);font-size:clamp(1.6rem,4vmin,2.4rem)}.tag{opacity:.88;font-size:1.02rem;line-height:1.65}.menu-btns{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.menu-btns button,button.primary{font:inherit;cursor:pointer;letter-spacing:.14em;color:#efe6d8;background:#1a121ae6;border:1px solid #ffb45480;border-radius:2rem;padding:.85rem 2.1rem;font-size:.95rem;font-weight:700;transition:transform .15s,box-shadow .15s}button.primary{color:#2b1404;background:linear-gradient(#ffc97e,#d97a2a);border:none;box-shadow:0 6px 26px #ffa03c66}button.primary:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 10px 36px #ffa03c8c}.menu-btns button:not(.primary):hover{background:#342430f2;transform:translateY(-1px)}.best{letter-spacing:.18em;color:var(--gold);opacity:.9;font-size:.85rem}.brief{text-align:left;flex-direction:column;gap:.7rem;max-width:34rem;font-size:1rem;line-height:1.7;list-style-position:inside;display:flex}.brief b{color:#fff}.res-stats{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;gap:2.2rem;display:flex}.res-stats .cell{flex-direction:column;line-height:1.1;display:flex}.res-stats .cell b{color:var(--gold);font-size:1.7rem}.res-stats .cell label{letter-spacing:.26em;opacity:.7;font-size:.62rem}#toast{z-index:15;pointer-events:none;letter-spacing:.05em;color:#efe6d8;text-align:center;background:#140e16eb;border:1px solid #ffb45480;border-radius:2rem;max-width:min(42rem,92vw);padding:.65rem 1.4rem;font-size:1rem;font-weight:700;animation:.3s ease-out toastIn;position:absolute;top:14%;left:50%;transform:translate(-50%)}#toast.bad{color:#ffc4b8;border-color:#ff66598c}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(-8px)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
