:root{
  color-scheme:dark;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#07111f;
  color:#eef7ff;
  --glass:rgba(8,20,36,.72);
  --line:rgba(142,211,255,.18);
  --cyan:#62ddff;
  --blue:#5c8cff;
  --green:#72f1b8;
  --muted:#8fa7ba;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body,#game{width:100%;height:100%;margin:0;overflow:hidden}
body{background:radial-gradient(circle at 50% 25%,#102c46 0,#07111f 50%,#040914 100%);touch-action:none;overscroll-behavior:none}
button{font:inherit;color:inherit}
#scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}
.glass{background:var(--glass);border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.hud{position:absolute;z-index:5;top:max(12px,env(safe-area-inset-top));left:12px;right:12px;height:62px;border-radius:18px;display:grid;grid-template-columns:1.25fr 1fr 1fr 44px 44px;align-items:center;padding:8px 10px;gap:4px;max-width:680px;margin:auto}
.hud-stat,.hud-button{display:flex;flex-direction:column;justify-content:center;min-width:0;height:100%;padding:0 10px}
.hud-button{border:0;background:transparent;text-align:left;border-radius:12px;cursor:pointer}
.hud-button:active{background:rgba(255,255,255,.05)}
.label,.eyebrow{font-size:10px;line-height:1.1;letter-spacing:.13em;color:var(--muted);font-weight:800}
.hud strong{font-size:18px;line-height:1.2;margin-top:3px}
.icon-button{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);font-size:24px;display:grid;place-items:center;cursor:pointer}
.icon-button:active,.axis:active,.primary:active,.secondary:active{transform:scale(.97)}
.objective{position:absolute;z-index:4;top:86px;left:12px;right:12px;max-width:440px;margin:auto;border-radius:15px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:none}
.objective strong{display:block;font-size:14px;margin-top:2px}.objective p{max-width:210px;margin:0;color:#a9c0d1;font-size:11px;line-height:1.35;text-align:right}
.controls{position:absolute;z-index:5;bottom:max(14px,env(safe-area-inset-bottom));left:12px;right:12px;max-width:620px;margin:auto;border-radius:20px;padding:10px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}
.selection{padding:0 8px;min-width:0}.selection strong{display:block;margin-top:3px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.axis-controls{display:flex;gap:7px}.axis{height:48px;min-width:58px;border-radius:14px;border:1px solid rgba(98,221,255,.22);background:linear-gradient(180deg,rgba(98,221,255,.14),rgba(92,140,255,.08));font-weight:900;font-size:15px;cursor:pointer}.axis span{color:var(--cyan);margin-left:3px}.axis:disabled{opacity:.3;filter:saturate(.2)}
.toast{position:absolute;z-index:7;left:50%;bottom:92px;transform:translate(-50%,20px);padding:9px 14px;border-radius:999px;background:rgba(5,12,22,.9);border:1px solid var(--line);font-size:12px;opacity:0;transition:.22s;pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal{border:0;padding:0;background:transparent;width:min(92vw,520px);max-height:85vh;color:inherit}.modal::backdrop{background:rgba(1,6,12,.7);backdrop-filter:blur(7px)}
.modal-card{border-radius:24px;padding:18px;max-height:80vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal h2{font-size:24px;margin:4px 0 14px}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.level-tile{aspect-ratio:1;border-radius:15px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}.level-tile strong{font-size:19px}.level-tile span{font-size:11px;color:#ffd968;letter-spacing:1px}.level-tile.current{border-color:rgba(98,221,255,.7);box-shadow:inset 0 0 0 1px rgba(98,221,255,.2)}.level-tile.locked{opacity:.3;cursor:not-allowed}
.complete-card{text-align:center;padding:26px 20px}.portal-mark{font-size:62px;line-height:1;color:var(--cyan);text-shadow:0 0 28px rgba(98,221,255,.7)}.stars{font-size:34px;letter-spacing:6px;color:#ffd968;min-height:42px}.complete-card p{color:#a9c0d1;margin:5px 0 18px}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary,.secondary{height:48px;border-radius:14px;font-weight:800;border:1px solid rgba(255,255,255,.1);cursor:pointer}.primary{background:linear-gradient(135deg,#2a9bc9,#526ee7)}.secondary{background:rgba(255,255,255,.05)}
.settings-list{display:grid;gap:8px;margin:4px 0 14px}.settings-list>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 12px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055)}.settings-list span{font-size:12px;color:var(--muted)}.settings-list strong{font-size:12px;text-align:right}.settings-note{font-size:11px;line-height:1.45;color:#9db3c5;margin:12px 2px 14px}.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-actions button:disabled{opacity:.55}
@media (max-width:430px){.hud{grid-template-columns:1.2fr .72fr .72fr 38px 38px;padding-left:7px;padding-right:7px}.hud-stat,.hud-button{padding:0 5px}.hud .icon-button{width:36px;height:36px;font-size:20px}.objective{top:82px}.objective p{max-width:170px}.axis{min-width:52px}.controls{grid-template-columns:1fr auto}.selection{max-width:122px}.settings-actions{grid-template-columns:1fr}}
@media (max-height:620px){.objective{display:none}.hud{height:54px}.controls{padding:7px}.axis{height:42px}.toast{bottom:78px}}
