:root{--bg:#120c09;--panel:#1e130ded;--line:#ffd28c2e;--txt:#fbf3e8;--muted:#c9b39a;--accent:#e8402f;--gold:#ffd21a;--green:#4fe08a;--bad:#ff6b6b;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);font-family:Nunito,Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--txt);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;overscroll-behavior:none;margin:0;overflow:hidden}#c{touch-action:none;cursor:crosshair;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}.screen{padding:max(12px, var(--sat)) max(12px, var(--sar)) max(12px, var(--sab)) max(12px, var(--sal));z-index:20;touch-action:pan-y;background:radial-gradient(#120a0640,#120a06cc);justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow:auto}.screen.dim{z-index:30;background:#0a06048c}.screen.show{display:flex}#loading{background:var(--bg);z-index:50;flex-direction:column;gap:8px}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;max-width:100%;margin:auto;padding:20px 22px;box-shadow:0 20px 60px #00000080}.panel.small,.panel.menu{flex-direction:column;gap:12px;width:420px;display:flex}.panel.wide{flex-direction:column;gap:12px;width:820px;max-height:100%;display:flex}.panel.help{flex-direction:column;gap:12px;width:820px;display:flex}.center{text-align:center}h2{margin:0;font-size:22px}h3{color:var(--gold);margin:8px 0 4px;font-size:16px}h4{color:var(--gold);margin:0 0 6px}.head{justify-content:space-between;align-items:center;display:flex}.logo{letter-spacing:3px;font-size:34px;font-weight:900}.logo b{color:var(--accent)}.logo.big{text-align:center;font-size:44px}.tag{text-align:center;color:var(--muted);margin:-6px 0 2px}.muted{color:var(--muted);margin:0}.small{font-size:13px}.who{text-align:center;color:var(--muted)}.who b{color:var(--txt)}.stars-total{text-align:center;color:var(--gold);font-size:20px;font-weight:800}.row{flex-wrap:wrap;gap:10px;display:flex}.row>*{flex:1}.col{flex-direction:column;gap:10px;display:flex}.scroll{touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow:auto}.btn{appearance:none;border:1px solid var(--line);color:var(--txt);font:inherit;cursor:pointer;background:#fff0dc12;border-radius:14px;padding:11px 16px;font-size:16px;font-weight:700;transition:transform 80ms,background .15s}.btn:hover{background:#fff0dc21}.btn:active{transform:scale(.97)}.btn.primary{background:linear-gradient(#f25a3c,#c42d1f);border-color:#ff8c6e99}.btn.big{padding:15px 18px;font-size:19px}.btn.ghost{background:0 0}.btn.small{padding:8px 12px;font-size:14px}.field{flex-direction:column;gap:6px;display:flex}.field select,.field input[type=range]{font:inherit;color:var(--txt);border:1px solid var(--line);background:#0000004d;border-radius:10px;padding:8px}.chk{align-items:center;gap:8px;display:flex}.help-cols{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.help-cols ul{color:var(--muted);margin:0;padding-left:18px;line-height:1.45}.help-cols b{color:var(--txt)}.chapter{margin-bottom:10px}.chapter p{color:var(--muted);margin:0 0 8px;font-size:13px}.grid{grid-template-columns:repeat(10,1fr);gap:8px;display:grid}.lv{appearance:none;border:1px solid var(--line);color:var(--txt);aspect-ratio:1;font:inherit;cursor:pointer;background:#fff0dc12;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px;font-size:18px;font-weight:800;display:flex}.lv small{letter-spacing:1px;color:#6b5a48;font-size:11px}.lv small i{color:var(--gold);font-style:normal}.lv.locked{opacity:.35;cursor:default}.lv.next{border-color:var(--gold);box-shadow:0 0 0 2px #ffd21a59}#hud{pointer-events:none;z-index:10;position:fixed;inset:0}#bar{top:max(8px, var(--sat));left:max(8px, var(--sal));right:calc(max(8px, var(--sar)) + 100px);align-items:stretch;gap:8px;display:flex;position:absolute}#bar>div{border:1px solid var(--line);background:#140c08b8;border-radius:14px;padding:6px 12px}#lvlNo{color:var(--gold);letter-spacing:1px;font-size:12px;font-weight:800}#lvlName{white-space:nowrap;font-size:15px;font-weight:800}#goalBox{flex:1;min-width:0}#goal{color:#b8ffd0;font-size:16px;font-weight:800}#goalSub{color:var(--muted);font-size:12px}#dartsBox{align-items:center;gap:4px;font-size:20px;display:flex}#dartsBox .d{background:linear-gradient(#ffd21a 0 35%,#444 35% 45%,#999 45% 100%);border-radius:3px;width:9px;height:26px}#dartsBox .d.used{opacity:.2}#tools{top:max(8px, var(--sat));right:max(8px, var(--sar));pointer-events:auto;gap:6px;display:flex;position:absolute}.ib{appearance:none;border:1px solid var(--line);width:44px;height:44px;color:var(--txt);cursor:pointer;background:#140c08b8;border-radius:12px;font-size:20px}#hint{left:50%;bottom:max(14px, var(--sab));color:var(--muted);text-align:center;background:#140c08b3;border-radius:999px;max-width:calc(100vw - 24px);padding:8px 16px;font-size:14px;transition:opacity .4s;position:absolute;transform:translate(-50%)}#hint:empty{opacity:0}#pops{position:absolute;inset:0;overflow:hidden}.pop{text-shadow:0 2px 6px #000000e6;white-space:nowrap;text-align:center;font-size:26px;font-weight:900;animation:1.3s ease-out forwards pop;position:absolute;transform:translate(-50%,-100%)}.pop small{font-size:15px;font-weight:800;display:block}.pop.good{color:var(--green)}.pop.great{color:var(--gold);font-size:32px}.pop.bad{color:#ddd}@keyframes pop{0%{opacity:0;transform:translate(-50%,-60%)scale(.6)}15%{opacity:1;transform:translate(-50%,-110%)scale(1.1)}70%{opacity:1;transform:translate(-50%,-150%)scale(1)}to{opacity:0;transform:translate(-50%,-190%)scale(1)}}#intro{z-index:15;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#intro .card{border:1px solid var(--line);text-align:center;background:#140c08d1;border-radius:20px;max-width:90vw;padding:18px 26px;animation:.35s ease-out introIn}#introNo{color:var(--gold);letter-spacing:2px;font-weight:800}#introName{font-size:30px;font-weight:900}#introGoal{color:#b8ffd0;margin-top:4px;font-size:18px;font-weight:800}#introTip{color:var(--muted);max-width:460px;margin:8px 0 0}#introTip:empty{display:none}@keyframes introIn{0%{opacity:0;transform:scale(.9)}}.stars{justify-content:center;gap:8px;font-size:54px;line-height:1;display:flex}.stars span{color:#3a2c22;transition:color .2s,transform .2s}.stars span.on{color:var(--gold);text-shadow:0 0 18px #ffd21a99;animation:.4s ease-out star}@keyframes star{0%{transform:scale(1.8)}}body.portrait #bar{right:calc(max(8px, var(--sar)) + 100px);flex-wrap:wrap}body.portrait #goalBox{flex-basis:100%;order:3}@media (max-height:500px){.logo.big{font-size:32px}.panel{padding:14px 16px}.btn.big{padding:11px 14px;font-size:17px}.stars{font-size:40px}#introName{font-size:24px}.help-cols{grid-template-columns:repeat(3,1fr);font-size:13px}}@media (max-width:640px){.grid{grid-template-columns:repeat(5,1fr)}.help-cols{grid-template-columns:1fr}#lvlName{font-size:13px}#goal{font-size:14px}}
