:root{--bg: #0a0c22;--panel: rgba(16, 18, 46, .78);--line: rgba(200, 210, 255, .28);--text: #f3f1ff;--muted: #b9bde0;--red: #e8505b;--gold: #ffd98a;--soft: #a9d8ff;--green: #8fe3b8}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none}#c{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;display:block}#hud{position:fixed;inset:0;pointer-events:none;z-index:2}#hud .stats{position:absolute;top:max(16px,env(safe-area-inset-top));left:18px;text-shadow:0 2px 10px rgba(0,0,0,.55)}#gifts{font-size:clamp(1.6rem,4.5vw,2.2rem);font-weight:700;font-variant-numeric:tabular-nums}#hud .sub{display:flex;gap:14px;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}#powers{margin-top:8px;display:flex;flex-direction:column;gap:6px}.pw{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;color:var(--gold)}.pw .bar{width:90px;height:5px;border-radius:3px;background:#ffffff26;overflow:hidden}.pw .bar i{display:block;height:100%;background:var(--gold)}#hud .corner{position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;display:flex;gap:8px;pointer-events:auto}#hud .corner button{padding:8px 13px;font-size:1.05rem;opacity:.85}#toast{position:fixed;left:50%;top:18%;transform:translate(-50%,-8px);padding:12px 20px;border-radius:16px;background:var(--panel);border:1px solid rgba(255,217,138,.55);font-weight:600;line-height:1.45;text-align:center;opacity:0;transition:opacity .6s,transform .6s;pointer-events:none;z-index:3;width:max-content;max-width:min(560px,calc(100vw - 32px))}#toast.show{opacity:1;transform:translate(-50%)}#toast small{display:block;color:var(--gold);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}.screen{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:16px;z-index:4}.screen.show{display:flex;animation:fadein .8s ease}@keyframes fadein{0%{opacity:0}to{opacity:1}}#menu{justify-content:flex-start;padding-left:max(16px,6vw);background:linear-gradient(90deg,#0a0c22d1,#0a0c2259 55%,#0a0c2200 80%)}#pause,#summary{background:#0a0c2273;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.panel{width:min(470px,100%);display:flex;flex-direction:column;gap:10px}#pause .panel,#summary .panel{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:24px;text-align:center;box-shadow:0 20px 60px #0006}h1{font-size:clamp(2.2rem,6vw,3.5rem);line-height:1.05;margin:0 0 4px;font-weight:700;text-shadow:0 0 30px rgba(169,216,255,.35),0 3px 0 rgba(0,0,0,.35)}h1 .red{color:var(--red);display:block}h2{margin:0;font-size:1.8rem;color:var(--gold);font-weight:700}.tag{color:var(--muted);line-height:1.6;margin:0 0 6px}button{font:inherit;font-weight:600;color:var(--text);padding:12px 18px;border-radius:14px;background:#282c60b3;border:1px solid var(--line);cursor:pointer;transition:transform .1s,background .25s,border-color .25s}button:hover{background:#3a4082d9;border-color:var(--soft)}button:active{transform:scale(.97)}button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}button.primary{background:#c84050e6;border-color:#ffaab2b3}button.primary:hover{background:#da5060f2}button.big{font-size:1.15rem;padding:14px 20px}.controls{color:var(--muted);font-size:.92rem;line-height:1.7}.controls kbd{font:inherit;font-size:.8rem;padding:1px 6px;border-radius:6px;border:1px solid var(--line);background:#ffffff0f;color:var(--text)}.row{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.9rem;flex-wrap:wrap}.row span{min-width:72px}.row button{padding:6px 12px;font-size:.85rem}.row button.on{border-color:var(--gold);color:var(--gold)}.best{color:var(--gold);min-height:1.2em;margin:4px 0 0;font-weight:600}.results{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 2px}.results div{background:#ffffff0d;border-radius:14px;padding:10px 4px;display:flex;flex-direction:column}.results b{font-size:1.35rem;font-variant-numeric:tabular-nums}.results span{color:var(--muted);font-size:.8rem}.tip{text-align:left;background:#8fe3b814;border:1px solid rgba(143,227,184,.3);border-radius:14px;padding:10px 12px;line-height:1.5;font-size:.92rem;margin-bottom:6px}.tip b{color:var(--green)}#loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--bg);z-index:10;text-align:center;padding:16px;color:var(--muted);transition:opacity 1s}#loading.fade{opacity:0;pointer-events:none}.spinner{width:40px;height:40px;border-radius:50%;border:3px solid rgba(169,216,255,.2);border-top-color:var(--soft);animation:spin 1.4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){#menu{padding-left:16px;align-items:flex-end;background:linear-gradient(0deg,#0a0c22e6,#0a0c228c 65%,#0a0c2200)}.tag{font-size:.92rem}}:root{--cyan: #5ce1ff;--mono: ui-monospace, "Cascadia Code", Consolas, monospace}.profile{opacity:.6;transition:opacity 1s;position:absolute;top:max(14px,env(safe-area-inset-top));left:16px;width:min(300px,44vw);text-shadow:0 2px 8px rgba(0,0,0,.6)}.profile .who{display:flex;flex-direction:column}.profile .handle{font-family:var(--mono);font-weight:700;color:var(--cyan);font-size:1.05rem;letter-spacing:.02em}#rank{color:var(--muted);font-size:.85rem;font-weight:600}.xpbar{height:6px;border-radius:3px;background:#ffffff24;overflow:hidden;margin:6px 0}.xpbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),#b48aff);transition:width .5s}#bounty{font-size:clamp(1.5rem,4vw,2.1rem);font-weight:800;color:#7dff9a;font-variant-numeric:tabular-nums;line-height:1.1}#reports{font-size:.9rem;color:var(--text);margin-top:2px}#reports b{color:var(--gold)}#powers{margin-top:8px;display:flex;flex-direction:column;gap:5px}.pw{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;color:var(--c)}.pw .bar{width:80px;height:5px;border-radius:3px;background:#ffffff26;overflow:hidden}.pw .bar i{display:block;height:100%;background:var(--c)}#compass{position:absolute;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;text-shadow:0 2px 8px rgba(0,0,0,.6);pointer-events:none}#compass .pill{display:flex;align-items:center;gap:8px;padding:4px 14px 4px 4px;border-radius:999px;background:#10122e9e;border:1px solid rgba(255,255,255,.1)}#objective{font-size:.84rem;font-weight:600;color:var(--text);white-space:nowrap;max-width:min(62vw,440px);overflow:hidden;text-overflow:ellipsis}#objective i{font-style:normal;color:var(--muted)}#objective .done{color:#7dff9a}#compass .ring.near{box-shadow:0 0 14px #ffd98abf}#compass .ring{transition:box-shadow .6s;flex:none;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,217,138,.5);background:#10122e8c;display:flex;align-items:center;justify-content:center}#arrow{color:var(--gold);font-size:.95rem;line-height:1;transition:color .4s,opacity .6s}#weather{font-size:.75rem;color:var(--muted);white-space:nowrap;opacity:0;transition:opacity 1.5s}#weather.show{opacity:.9}#chain{position:absolute;top:84px;left:50%;transform:translate(-50%,-6px);opacity:0;transition:opacity .3s,transform .3s;text-align:center;pointer-events:none}#chain.show{opacity:1;transform:translate(-50%)}#chain b{display:block;font-size:1rem;color:#ffd166;text-shadow:0 0 12px rgba(255,209,102,.6)}#chain .bar{width:140px;height:4px;margin:4px auto 0;border-radius:2px;background:#ffffff26;overflow:hidden}#chain .bar i{display:block;height:100%;background:#ffd166}#hud .corner{position:absolute;top:max(14px,env(safe-area-inset-top));right:16px;display:flex;gap:6px;pointer-events:auto}#hud .corner button{padding:6px 10px;font-size:.95rem;opacity:.55;transition:opacity .3s}#hud .corner button:hover,#hud .corner button:focus-visible{opacity:1}#hud.wake .profile{opacity:1}#btnMusic.off{opacity:.45;text-decoration:line-through}#radar{position:absolute;right:14px;bottom:max(14px,env(safe-area-inset-bottom));width:128px;height:128px;opacity:.8;pointer-events:none}body.touch #radar{top:64px;bottom:auto;width:120px;height:120px;right:10px}#floaters{position:fixed;inset:0;pointer-events:none;z-index:2;overflow:hidden}.floater{position:absolute;left:0;top:0;font-weight:800;font-size:1.05rem;white-space:nowrap;text-shadow:0 2px 6px rgba(0,0,0,.7),0 0 14px currentColor;will-change:transform,opacity}.floater b{font-weight:800}#toast{top:24%}#achToast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);display:flex;gap:12px;align-items:center;padding:10px 16px;border-radius:16px;background:#10122ee0;border:1px solid rgba(255,209,102,.6);opacity:0;pointer-events:none;z-index:3;transition:opacity .5s,transform .5s;max-width:calc(100vw - 32px)}#achToast.show{opacity:1;transform:translate(-50%)}#achToast .ai{font-size:1.8rem}#achToast small{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}#achToast b{display:block}#achToast span:not(.ai){font-size:.82rem;color:var(--muted)}#banner{position:fixed;left:50%;top:36%;transform:translate(-50%,-50%) scale(.9);text-align:center;opacity:0;pointer-events:none;z-index:3;transition:opacity .6s,transform .6s}#banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}#bannerTitle{display:block;font-size:clamp(2rem,7vw,3.6rem);font-weight:800;color:#fff;text-shadow:0 0 30px rgba(180,138,255,.8),0 4px 0 rgba(0,0,0,.3)}#bannerSub{display:block;font-size:1.05rem;color:var(--gold);margin-top:4px;text-shadow:0 2px 8px rgba(0,0,0,.6)}#card{position:fixed;right:18px;top:50%;width:min(360px,calc(100vw - 36px));transform:translate(120%,-50%);background:linear-gradient(160deg,#1e1a3cf2,#0e1028f2);border:1px solid rgba(255,211,138,.6);border-radius:18px;padding:16px 18px;z-index:3;box-shadow:0 20px 50px #00000073,0 0 30px #ffd38a26;transition:transform .6s cubic-bezier(.2,.9,.3,1.1),opacity .5s;cursor:pointer;opacity:0;pointer-events:none}#card.show{transform:translateY(-50%);opacity:1;pointer-events:auto}#menu,#pause{overflow-y:auto}#menu .panel{max-height:100%;padding:12px 0}@media(max-height:700px){#menu{align-items:flex-start}#menu h1{font-size:2rem}#menu .tag{font-size:.88rem;margin:0}}#card.ct{border-color:#ff8ad0b3;box-shadow:0 20px 50px #00000073,0 0 30px #ff8ad033}.cg{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-weight:700}#card.ct .cg,.cardx.ct .cg{color:#ff9ad8}.ch{font-family:var(--mono);font-size:1.45rem;font-weight:700;color:#fff;margin-top:4px;word-break:break-word}.cn{color:var(--muted);font-weight:600;min-height:0}.cc{margin-top:8px;line-height:1.5}.cf{margin-top:10px;font-size:.78rem;color:var(--cyan)}#warp{position:fixed;inset:0;z-index:6;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 50%,#fff,#e0c0ff 18%,#8a4dff 40%,#2a0a5a,#05010f)}#warp.in{animation:warpIn 1.3s ease-in forwards}#warp.out{animation:warpOut 1.4s ease-out forwards}@keyframes warpIn{0%{opacity:0;transform:scale(2.5) rotate(0);filter:blur(20px)}to{opacity:1;transform:scale(1) rotate(90deg);filter:blur(0)}}@keyframes warpOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(3);filter:blur(30px)}}.profileLine{font-family:var(--mono);color:var(--cyan);font-size:.85rem;margin:-4px 0 4px}.row.worlds{align-items:flex-start}#worldRow{display:flex;flex-wrap:wrap;gap:6px;flex:1}#worldRow button:disabled{opacity:.45;cursor:not-allowed}#codex{background:#080a1cb8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.codexPanel{width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;gap:10px;background:#10122ed9;border:1px solid var(--line);border-radius:20px;padding:18px}.codexHead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.codexHead p{margin:4px 0 0;color:var(--muted)}#codexTabs{display:flex;flex-wrap:wrap;gap:6px}#codexTabs button{padding:6px 12px;font-size:.85rem}#codexTabs button.on{border-color:var(--gold);color:var(--gold)}#codexGrid{overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;padding:2px}.cardx{background:#ffffff0a;border:1px solid rgba(255,211,138,.35);border-radius:14px;padding:12px 14px}.cardx.ct{border-color:#ff8ad073}.cardx.you{border-color:#5ce1ff99;background:#5ce1ff0f}.cardx .ch{font-size:1.1rem}.cardx .cc{font-size:.88rem;color:var(--text)}.cardx.locked{opacity:.5;border-style:dashed;border-color:#fff3}.stats{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.stats div{background:#ffffff0d;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}.stats span{color:var(--muted);font-size:.8rem}.stats b{font-size:1.05rem}.tagline{grid-column:1 / -1;color:var(--gold)}#fuel{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.8rem;font-weight:700}#fuel .fbar{flex:1;max-width:150px;height:9px;border-radius:5px;background:#ffffff24;overflow:hidden;border:1px solid rgba(255,154,64,.4)}#fuel .fbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff5a20,#ffb040);transition:width .2s}#fuel .fk{color:var(--muted);font-weight:600}#fuel.empty .fbar{border-color:#fff3}#fuel.empty{display:none}#fuel.burn .fbar i{animation:burn .25s linear infinite alternate;box-shadow:0 0 12px #ff9a40}@keyframes burn{0%{filter:brightness(1)}to{filter:brightness(1.5)}}body.touch #fuel .fk{display:none}#waypoint.soft #wpIcon{width:26px;height:26px;font-size:.85rem;border-width:1px;box-shadow:none;animation:none;opacity:.85}#waypoint.soft #wpDist{font-size:.68rem;font-weight:600;opacity:.85;background:#0c0e2466}#waypoint.soft #wpArrow{top:13px;font-size:1rem}#hint{position:fixed;left:50%;bottom:74px;transform:translate(-50%);padding:6px 16px;border-radius:999px;background:#10122e80;font-size:.84rem;color:var(--text);opacity:0;transition:opacity 1.2s;pointer-events:none;z-index:2;white-space:nowrap}#hint.show{opacity:.92}body.touch #hint{bottom:200px}body.photo #hint{display:none}#waypoint{position:fixed;left:0;top:0;z-index:2;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:2px;--c: #ffb070;text-shadow:0 2px 6px rgba(0,0,0,.8);will-change:transform}#wpIcon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:#0c0e24b3;border:2px solid var(--c);box-shadow:0 0 16px var(--c);animation:wpPulse 1.4s ease-in-out infinite}#wpDist{font-size:.78rem;font-weight:700;color:#fff;white-space:nowrap;background:#0c0e2499;padding:1px 8px;border-radius:999px}#wpArrow{position:absolute;left:50%;top:19px;width:0;height:0;display:none;color:var(--c);font-size:1.4rem;line-height:0}#waypoint.edge #wpArrow{display:block;transform-origin:0 0}#waypoint.edge #wpArrow:before{content:""}@keyframes wpPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}body.photo #waypoint{display:none!important}#touchUI{display:none}#btnTurbo{position:absolute;right:116px;bottom:max(52px,env(safe-area-inset-bottom));width:66px;height:66px;border-radius:50%;font-size:1.5rem;pointer-events:auto;background:#ff782880;border-color:#ffb464b3}body.touch #touchUI{display:block}#stickZone{position:absolute;left:0;bottom:0;width:50%;height:55%;pointer-events:auto;touch-action:none}#stickBase{position:absolute;left:28px;bottom:max(32px,env(safe-area-inset-bottom));width:120px;height:120px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#10122e59}#stickKnob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#ffffff59;border:1px solid rgba(255,255,255,.5)}#btnJump{position:absolute;right:24px;bottom:max(40px,env(safe-area-inset-bottom));width:78px;height:78px;border-radius:50%;font-size:1.6rem;pointer-events:auto;background:#c840508c}body.touch #compass{top:auto;bottom:178px}body.touch #chain{top:auto;bottom:250px}body.photo #hud,body.photo #floaters,body.photo #toast,body.photo #card,body.photo #achToast{display:none!important}@media(max-width:640px){.profile{width:52vw}#bounty{font-size:1.4rem}#compass .ring{width:26px;height:26px}#objective,#weather{font-size:.74rem}#hud .corner button{padding:6px 8px;font-size:.9rem}#card{top:auto;bottom:150px;transform:translateY(140%);right:12px}#card.show{transform:translate(0)}}@media(max-width:900px){#compass,body.touch #compass{inset:56px 12px auto auto;transform:none;align-items:flex-end;max-width:46vw}#objective{white-space:normal;max-width:none;line-height:1.25}#compass .pill{border-radius:16px;padding:4px 10px 4px 4px}#radar,body.touch #radar{top:auto;bottom:max(14px,env(safe-area-inset-bottom));width:104px;height:104px}body.touch #radar{bottom:auto;top:118px;width:92px;height:92px}#chain,body.touch #chain{top:132px;bottom:auto}}.codexHead .tribute{font-size:.78rem;color:var(--muted);max-width:720px;margin-top:6px;line-height:1.4}
