@font-face{font-family:Orbitron;src:url(fonts/orbitron.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Exo 2";src:url(fonts/exo2.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--c1:#7af5ff;--c2:#ff7ad9;--c3:#b28cff;--gold:#ffd27a;--tx:#eef2ff;--mu:#a9b3d6;--gl:rgba(20,24,60,.42);--bd:rgba(160,200,255,.22)}
*{box-sizing:border-box}html,body{min-height:100%}
body{margin:0;font-family:"Exo 2",system-ui,sans-serif;color:var(--tx);background:#03020c;display:flex;flex-direction:column;overflow-x:hidden}
h1,h2,h3,.tabs button,.brand,.bt,.xp,.tick b{font-family:Orbitron,sans-serif;letter-spacing:.06em}
h2{font-size:1.15rem;margin:.2em 0 .6em;background:linear-gradient(90deg,var(--c1),var(--c3),var(--c2));-webkit-background-clip:text;background-clip:text;color:transparent}
h3{font-size:.85rem;color:var(--c1);margin:1em 0 .4em}
a{color:var(--c1)}.mu{color:var(--mu)}.small{font-size:.8rem}
#sky{position:fixed;inset:0;z-index:-2;width:100%;height:100%}
.neb{position:fixed;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(40% 35% at 20% 30%,#5b2bff40,transparent 70%),radial-gradient(35% 30% at 80% 25%,#ff3fb630,transparent 70%),radial-gradient(45% 40% at 60% 85%,#00d5ff28,transparent 70%);filter:blur(30px);animation:drift 40s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(4%,-3%) rotate(6deg) scale(1.08)}}
.glass{background:var(--gl);border:1px solid var(--bd);border-radius:18px;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 8px 40px #0008,inset 0 1px 0 #ffffff1a}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:999;background:#000;padding:8px}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 10px 0;padding:8px 14px;flex-wrap:wrap}
.brand{display:flex;gap:10px;align-items:center;font-size:1rem}.brand b{background:linear-gradient(90deg,#fff,var(--c1),var(--c2),#fff);background-size:300%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sh 8s linear infinite}@keyframes sh{to{background-position:300%}}
.demo{background:#ff3b5c;color:#fff;font:800 .7rem Orbitron;padding:3px 10px;border-radius:20px;letter-spacing:2px;animation:pu 2s infinite}@keyframes pu{50%{opacity:.6}}
.xp{display:flex;align-items:center;gap:8px;font-size:.7rem}.bar{width:min(180px,30vw);height:10px;border-radius:9px;background:#ffffff14;overflow:hidden;border:1px solid var(--bd)}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--c1),var(--c3),var(--c2));box-shadow:0 0 12px var(--c1);transition:width .6s}
.ib{background:#ffffff12;border:1px solid var(--bd);color:#fff;border-radius:12px;padding:4px 10px;cursor:pointer;font:inherit}
.tabs{display:flex;gap:4px;margin:8px 10px;padding:5px;overflow-x:auto;scrollbar-width:none}
.tabs button{flex:1 0 auto;background:none;border:0;color:var(--mu);padding:9px 12px;border-radius:12px;cursor:pointer;font-size:.68rem;white-space:nowrap;transition:.25s}
.tabs button[aria-selected=true]{color:#fff;background:linear-gradient(135deg,#7af5ff33,#ff7ad933);box-shadow:0 0 18px #7af5ff44,inset 0 0 0 1px #7af5ff66}
main{flex:1;position:relative;padding:0 10px 10px;min-height:0}
.pane{animation:warpIn .55s cubic-bezier(.2,.8,.2,1)}@keyframes warpIn{from{opacity:0;transform:scale(.92) translateZ(0);filter:blur(8px)}}
#warp{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:0;background:radial-gradient(circle,transparent 20%,#7af5ff22 50%,transparent 70%)}#warp.on{animation:wf .6s}@keyframes wf{30%{opacity:1;transform:scale(1.4)}}
.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:10px}.grid2>.glass{padding:16px;min-width:0}@media(max-width:820px){.grid2{grid-template-columns:1fr}}
.pane>.glass{padding:16px}
.solwrap svg{width:100%;height:auto;max-height:62vh;display:block}
.hint{font-size:.75rem;color:var(--mu);margin:4px 0 0;text-align:center}
.pl{cursor:pointer}.pl:focus{outline:none}.pl:focus .ring,.pl:hover .ring{stroke:var(--gold);stroke-width:2.5;opacity:1}.ring{fill:none;stroke:#fff;opacity:0;stroke-width:1.5}
.pl.sel .ring{opacity:1;stroke:var(--c1)}
.orb{fill:none;stroke:#9bbcff2a;stroke-dasharray:3 6}
.info img,.gal img,#rmeta img,.tl img{width:100%;border-radius:12px;display:block;max-height:220px;object-fit:cover}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:8px 0}.stats div{background:#ffffff0d;border:1px solid var(--bd);border-radius:10px;padding:6px 9px;font-size:.78rem}.stats b{display:block;color:var(--gold);font-family:Orbitron;font-size:.62rem;letter-spacing:.08em}
.cap{font-size:.68rem;color:var(--mu);margin:4px 0 0}
ul.ms{padding-left:18px;margin:4px 0;font-size:.85rem}ul.ms li{margin:3px 0}
.rlist{display:flex;flex-wrap:wrap;gap:6px}.rlist button,.chips button,.ctl button,.hsl button,.qopt{background:#ffffff10;color:#fff;border:1px solid var(--bd);border-radius:12px;padding:7px 11px;cursor:pointer;font:inherit;font-size:.8rem;transition:.2s}
.rlist button[aria-pressed=true],.chips button[aria-pressed=true]{border-color:var(--c1);box-shadow:0 0 14px #7af5ff55;background:#7af5ff1f}
.rlist button:hover,.chips button:hover,.ctl button:hover{transform:translateY(-2px);border-color:var(--c2)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.v3{position:relative;height:min(46vh,420px);perspective:900px;touch-action:none;cursor:grab;overflow:hidden;border-radius:14px;background:radial-gradient(circle at 50% 40%,#2a1d6a,#060418 70%)}
.v3 .obj{position:absolute;inset:6% 0;transform-style:preserve-3d;transition:transform .08s linear}
.v3 .sl{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.v3 .sl .body *{fill:#7af5ff14;stroke:#7af5ff;stroke-width:1.6;vector-effect:non-scaling-stroke}
.v3 .front .body *{fill:#7af5ff22;stroke:#bff8ff}
.hs{cursor:pointer;outline:none}.hs circle.d{fill:var(--gold);stroke:#fff;stroke-width:1.2}.hs circle.p{fill:none;stroke:var(--gold);animation:hpul 1.6s infinite;transform-box:fill-box;transform-origin:center}
@keyframes hpul{from{transform:scale(1);opacity:.9}to{transform:scale(2.6);opacity:0}}
.hs:focus circle.d,.hs.on circle.d{fill:var(--c2)}.hs text{fill:#fff;font:700 6px Orbitron;pointer-events:none}
.ctl,.hsl{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.hsl button{font-size:.72rem}.hsl button.on{border-color:var(--gold)}
.hp{background:#ffffff0c;border:1px solid #ffd27a55;border-radius:12px;padding:10px 12px;min-height:60px;font-size:.88rem}
.bld label{display:block;margin:7px 0 3px;color:var(--mu);font-size:.8rem}.bld select,.bld input{width:100%;padding:8px;border-radius:10px;background:#0a0b25cc;color:#fff;border:1px solid var(--bd);font:inherit}
.row{display:flex;gap:6px;flex-wrap:wrap}
.bt{background:linear-gradient(135deg,var(--c1),var(--c3));color:#08051a;border:0;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer;margin-top:10px;font-size:.72rem}.bt.alt{background:#ffffff18;color:#fff;border:1px solid var(--bd)}
.pad{position:relative;min-height:380px;overflow:hidden;background:linear-gradient(#0b0630aa,#1a0f45aa)}
.pad svg#ship{position:absolute;left:50%;bottom:24px;width:120px;margin-left:-60px;transition:transform 3s cubic-bezier(.6,0,.9,.4)}.pad.go svg#ship{transform:translateY(-520px)}
.pad:after{content:"";position:absolute;left:0;right:0;bottom:0;height:24px;background:linear-gradient(#3b2a7a,#120a35);border-top:1px solid var(--c3)}
.cd{position:absolute;top:40%;left:0;right:0;text-align:center;font:900 4rem Orbitron;color:var(--c1);text-shadow:0 0 30px var(--c1)}
.flame{animation:fla .12s infinite alternate;transform-origin:top;transform-box:fill-box}@keyframes fla{to{transform:scaleY(1.4)}}
.tl{list-style:none;padding:0 0 0 18px;margin:0;border-left:2px solid #7af5ff66;max-height:62vh;overflow:auto}.tl li{position:relative;padding:4px 0 12px 14px;animation:tin .5s both}.tl li:before{content:"";position:absolute;left:-26px;top:9px;width:12px;height:12px;border-radius:50%;background:var(--c1);box-shadow:0 0 12px var(--c1)}.tl b{color:var(--gold);font-family:Orbitron;font-size:.75rem;margin-right:6px}
@keyframes tin{from{opacity:0;transform:translateX(-14px)}}
.quiz{max-width:720px;margin:auto}.qopt{display:block;width:100%;text-align:left;margin:6px 0;padding:11px 14px}.qopt.ok{border-color:#5dffa8;background:#5dffa826}.qopt.no{border-color:#ff6b8b;background:#ff6b8b26}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.gal figure{margin:0}.gal img{height:130px}
.tick{display:flex;align-items:center;gap:10px;margin:0 10px 6px;padding:7px 12px;overflow:hidden;font-size:.82rem}.tick b{color:var(--gold);font-size:.62rem;white-space:nowrap}.tk{overflow:hidden;flex:1;white-space:nowrap}#tk{display:inline-block;padding-left:100%;animation:tick 60s linear infinite}@keyframes tick{to{transform:translateX(-100%)}}
.foot{text-align:center;font-size:.72rem;color:var(--mu);padding:4px 10px 70px}
.bot{position:fixed;left:14px;bottom:60px;z-index:60;display:flex;align-items:flex-end;gap:6px}.bot button{width:58px;height:58px;border-radius:50%;border:1px solid var(--bd);background:#120c38cc;cursor:pointer;padding:4px;animation:hov 3s ease-in-out infinite;box-shadow:0 0 22px #7af5ff55}.bot svg{width:100%;height:100%}.eye{fill:var(--c1);animation:bl 4s infinite}@keyframes bl{0%,94%,100%{transform:scaleY(1)}97%{transform:scaleY(.1)}}.eye{transform-box:fill-box;transform-origin:center}
@keyframes hov{50%{transform:translateY(-6px)}}
.bub{order:2;max-width:min(300px,60vw);padding:10px 12px;font-size:.8rem;margin-bottom:30px}.bub:empty{display:none}
.bookbtn{position:fixed;right:14px;bottom:60px;z-index:60;background:linear-gradient(135deg,var(--gold),var(--c2));color:#1a0820;border:0;border-radius:30px;padding:11px 16px;font:800 .7rem Orbitron;cursor:pointer;box-shadow:0 0 22px #ff7ad966}
#book,#badges{position:fixed;inset:0;z-index:140;background:#03020cd9;display:flex;align-items:center;justify-content:center;padding:12px;perspective:1800px}#book[hidden],#badges[hidden]{display:none}
.page{background:#f6f1ff;color:#21183a;width:100%;max-width:760px;height:min(88vh,1000px);overflow:auto;border-radius:6px 16px 16px 6px;padding:26px 30px;box-shadow:0 20px 60px #000,0 0 40px #b28cff55;transform-origin:left center}.page h2{color:#4a2a9a;background:none;-webkit-text-fill-color:#4a2a9a}.page a{color:#5a2ac0}.page h3{color:#7a3aa0}
.flip{animation:fl .7s ease}@keyframes fl{0%{transform:rotateY(-95deg);opacity:.2}}
.bnav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.bnav button{background:#4a2a9a;color:#fff;border:0;border-radius:8px;padding:6px 10px;cursor:pointer;font:inherit}
.bx{padding:20px;max-width:560px;width:100%}.blist{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.blist div{padding:10px;border-radius:12px;border:1px solid var(--bd);font-size:.78rem;opacity:.45}.blist div.got{opacity:1;border-color:var(--gold);box-shadow:0 0 14px #ffd27a44}.blist span{font-size:1.5rem;display:block}
#toasts{position:fixed;top:70px;right:12px;z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{background:linear-gradient(135deg,#2a1a6aee,#5a1a5aee);border:1px solid var(--gold);border-radius:14px;padding:10px 14px;font-size:.8rem;box-shadow:0 0 24px #ffd27a66;animation:tst 3.6s forwards}.toast b{font-family:Orbitron;color:var(--gold);font-size:.68rem;display:block}
@keyframes tst{0%{transform:translateX(120%)}10%,85%{transform:none}100%{transform:translateX(120%);opacity:0}}
#printbook{display:none}
@media print{body>*{display:none!important}#printbook{display:block!important;color:#000;font-family:Georgia,serif}#printbook section{page-break-after:always}}
@media(max-width:600px){.top{padding:6px 10px}.brand{font-size:.8rem}.bot{bottom:56px}.bot button{width:48px;height:48px}.bookbtn{bottom:56px;padding:9px 12px}.tick{font-size:.75rem}.v3{height:44vh}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}#tk{padding-left:0;white-space:normal}.tk{white-space:normal}}
.gauge{position:relative;height:22px;border-radius:12px;background:#ffffff12;border:1px solid var(--bd);overflow:hidden}.gauge i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--c3),var(--c2))}.gauge .win{position:absolute;left:76%;width:4%;top:0;bottom:0;background:#5dffa877;z-index:1;box-shadow:0 0 12px #5dffa8}#thr{touch-action:none;user-select:none}
.sr{position:absolute;left:-999px}.sel{flex:1;padding:9px;border-radius:10px;background:#0a0b25cc;color:#fff;border:1px solid var(--bd);font:inherit}
.vsh{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;margin:12px 0;font:800 1rem Orbitron;color:var(--c1)}.vsb{font-size:1.6rem;color:var(--c2);text-shadow:0 0 20px var(--c2);animation:pu 1.5s infinite}
.vsr{display:grid;grid-template-columns:1fr 110px 1fr;gap:8px;align-items:center;margin:6px 0;animation:tin .5s both}.vsr h3{text-align:center;font-size:.62rem;margin:0}.vsc{background:#ffffff0c;border:1px solid var(--bd);border-radius:12px;padding:8px 10px;font-size:.82rem}.vsc p{margin:0 0 4px}.vsc a{font-size:.7rem}
@media(max-width:600px){.vsr{grid-template-columns:1fr}.vsr h3{text-align:left}}
.mdart{width:100%;height:auto;max-height:200px}.hp.win{border-color:#5dffa8;box-shadow:0 0 22px #5dffa833}.hp.lose{border-color:#ff6b8b}.hp p{margin:4px 0}
.cf{position:fixed;width:7px;height:7px;border-radius:2px;z-index:300;pointer-events:none;animation:cf 1s ease-out forwards}@keyframes cf{to{transform:translate(var(--x),var(--y)) rotate(540deg);opacity:0}}
.qb{width:100%;margin:6px 0}
.pl circle:not(.ring){transition:filter .3s}.pl:hover circle:not(.ring){filter:drop-shadow(0 0 8px #fff)}
.tabs button:hover{color:#fff;text-shadow:0 0 10px var(--c1)}
.glass{transition:box-shadow .4s}.glass:hover{box-shadow:0 8px 40px #0008,0 0 30px #7af5ff22,inset 0 1px 0 #ffffff1a}
.shoot{position:fixed;height:2px;width:120px;background:linear-gradient(90deg,#fff,transparent);z-index:-1;pointer-events:none;animation:sht 1.2s ease-out forwards}@keyframes sht{from{transform:translate(0,0) rotate(-25deg);opacity:1}to{transform:translate(-500px,230px) rotate(-25deg);opacity:0}}
