body{background:radial-gradient(ellipse at 18% 26%,#193a49 0,transparent 53%),radial-gradient(ellipse at 80% 90%,#243a35 0,transparent 48%),#0b1721;background-attachment:fixed;isolation:isolate}
.cosmos{position:fixed;inset:-10%;z-index:-1;pointer-events:none;overflow:hidden;animation:sky-drift 90s ease-in-out infinite alternate;opacity:.75}
.cosmos i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff4d5;animation:star-breathe 7s ease-in-out infinite alternate}
.cosmos i:nth-child(4n){width:3px;height:3px;background:#c1e0ea;animation-delay:-3s}.cosmos i:nth-child(3n){animation-delay:-5s}
.cosmos i:nth-child(1){left:7%;top:13%}.cosmos i:nth-child(2){left:18%;top:36%}.cosmos i:nth-child(3){left:29%;top:8%}.cosmos i:nth-child(4){left:39%;top:48%}.cosmos i:nth-child(5){left:51%;top:21%}.cosmos i:nth-child(6){left:64%;top:9%}.cosmos i:nth-child(7){left:72%;top:32%}.cosmos i:nth-child(8){left:87%;top:17%}.cosmos i:nth-child(9){left:92%;top:49%}.cosmos i:nth-child(10){left:8%;top:72%}.cosmos i:nth-child(11){left:22%;top:62%}.cosmos i:nth-child(12){left:34%;top:85%}.cosmos i:nth-child(13){left:46%;top:66%}.cosmos i:nth-child(14){left:58%;top:91%}.cosmos i:nth-child(15){left:67%;top:58%}.cosmos i:nth-child(16){left:78%;top:78%}.cosmos i:nth-child(17){left:93%;top:94%}.cosmos i:nth-child(18){left:12%;top:94%}.cosmos i:nth-child(19){left:47%;top:39%}.cosmos i:nth-child(20){left:82%;top:53%}.cosmos i:nth-child(21){left:5%;top:43%}.cosmos i:nth-child(22){left:60%;top:44%}.cosmos i:nth-child(23){left:96%;top:8%}.cosmos i:nth-child(24){left:54%;top:75%}
.passing-comet{position:absolute;left:70%;top:8%;width:150px;height:2px;background:linear-gradient(90deg,transparent,#f4e5ba);transform:rotate(-35deg);opacity:0;animation:comet-pass 23s ease-in infinite}
.bar{background:#0b1822cc;border-color:#b8cbd438;position:relative;z-index:2}.brand{font-size:1.18rem;color:#e6c787}.tools button{background:#1e3440}
button{border-radius:4px;box-shadow:inset 0 1px #ffffff0c;transition:transform .2s cubic-bezier(.2,.8,.2,1),background .2s,box-shadow .2s}
button:hover:not(:disabled){transform:translateY(-2px);box-shadow:inset 0 1px #ffffff22,0 5px 12px #0003}
button:active:not(:disabled){transform:translateY(1px) scale(.985)}
button.primary{background:linear-gradient(170deg,#f2d596,#dfae5e);box-shadow:inset 0 1px #fff6,0 7px 0 #725229,0 15px 25px #0005;border-color:#f3d8a1;color:#182a33}
button.primary:hover:not(:disabled){background:#f2d596;transform:translateY(-3px);box-shadow:inset 0 1px #fff8,0 9px 0 #725229,0 19px 30px #0005}
button.primary:active:not(:disabled){transform:translateY(4px);box-shadow:inset 0 1px #fff6,0 2px 0 #725229}
.home{max-width:1500px;padding-top:clamp(24px,5vh,64px)}.entrance{gap:clamp(24px,5vw,80px);perspective:1500px}.entry{max-width:530px;position:relative}.entry h1{font-size:clamp(4rem,7.7vw,7.3rem);line-height:.92;letter-spacing:-.065em;color:#f7e9c8;text-shadow:0 3px 0 #a9824640;animation:title-arrive 1s cubic-bezier(.16,1,.3,1) both}.entry h1 span{font-size:.25em;letter-spacing:.02em;line-height:1.3;margin-bottom:18px;color:#e7c182}.entry h2{font-size:clamp(1.5rem,2.6vw,2.2rem);max-width:22ch;line-height:1.2;animation:entry-arrive .8s .15s both}.entry>p{max-width:38ch;font-size:1.05rem;animation:entry-arrive .8s .25s both}.entry-form{animation:entry-arrive .8s .35s both;gap:17px}.entry-form .primary{font-size:1.08rem;min-height:56px}.entry-sub{margin-top:8px;border-color:#b4cbd355}.entry-form input{background:#0c1d29bd;border-color:#93a8b9;min-height:49px}.entry-form label{color:#d5e0e6}.entry-form>button:not(.primary){background:#1a3544}
.welcome-board{max-width:760px;transform:perspective(1200px) rotateY(var(--aim-x,-7deg)) rotateX(var(--aim-y,4deg));transition:transform .65s cubic-bezier(.2,.8,.2,1);isolation:isolate}
.welcome-board:before{content:'';position:absolute;inset:8%;border-radius:50%;background:#caa55d;box-shadow:0 0 85px 18px #daa85a2e;z-index:-1}
.welcome-board img{box-shadow:0 20px 0 -7px #254653,0 30px 60px #0008;animation:observatory-float 10s ease-in-out infinite alternate;transform:rotate(-8deg)}
.welcome-board:after{inset:34%;border:1px solid #e4c37888;background:radial-gradient(circle at 40% 38%,#ad8a3d40,#102431cc 70%);box-shadow:inset 0 0 35px #e5b35322;animation:sun-breathe 9s ease-in-out infinite alternate}
.orbital-guides{position:absolute;inset:-7%;width:114%;height:114%;z-index:-1;overflow:visible;fill:none;stroke:#dbbe8066;stroke-width:1}.orbital-guides ellipse{stroke-dasharray:7 18}.orbital-guides circle:not(.orbiting-marker){stroke:#bad1dc55}.orbital-guides .orbiting-marker{fill:#f0ce89;stroke:#fff2c9;stroke-width:3;filter:drop-shadow(0 0 8px #f0c975);transform-origin:500px 500px;animation:orbital-turn 70s linear infinite}
.specimen{position:absolute;z-index:2;animation:specimen-hover 6s ease-in-out infinite alternate}.specimen-a{left:-3%;top:19%}.specimen-c{right:-4%;top:57%;animation-delay:-2s}.specimen-g{left:6%;bottom:5%;animation-delay:-4s}.specimen button{display:flex;align-items:center;gap:11px;background:#112b39f5;border:1px solid #d4b982;border-radius:3px;padding:10px 13px;box-shadow:0 6px 0 #071721,0 14px 25px #0006;min-height:52px;color:#f6e0b1}.specimen strong{font:1.5rem Georgia,serif;display:grid;place-items:center;border:1px solid #a9bbc7;border-radius:50%;width:35px;height:35px}.specimen span{font-size:.86rem}.specimen button:hover{background:#344c4e}
.confirm:hover:not(:disabled){background:#337c5b!important}
.discovery-halo{fill:#eac37022;stroke:#f7e1a5;stroke-width:3;stroke-dasharray:6 7;animation:discovery-ring 1.5s ease-out both}.discovery-trace{fill:none;stroke:#eed194;stroke-width:3;stroke-dasharray:300;animation:discovery-line 1.1s ease-out both}.score-row.counted>strong{animation:score-count .5s cubic-bezier(.2,.8,.2,1)}.stage-announcement.discovery{border-width:2px;background:#263c39f7}.stage-announcement.discovery h2{color:#f6dc9f}
@keyframes discovery-ring{from{opacity:0;stroke-dashoffset:100;transform:scale(.8);transform-origin:center}to{opacity:1;stroke-dashoffset:0;transform:scale(1);transform-origin:center}}@keyframes discovery-line{from{stroke-dashoffset:300;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes score-count{from{opacity:.5;transform:translateY(8px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes orbital-turn{to{transform:rotate(360deg)}}@keyframes specimen-hover{from{transform:translateY(-4px) rotate(-2deg)}to{transform:translateY(5px) rotate(1deg)}}
@media(min-width:1150px){.home .entry h1{font-size:clamp(7.3rem,9vw,9rem)}.home .entry{padding-left:12px}.home .entry h2{margin-left:4px}.home .entry-form{max-width:460px;margin-left:35px}.home .welcome-board{width:93%}}
@media(max-width:679px){.specimen button{padding:6px 9px;gap:7px;min-height:44px}.specimen strong{width:27px;height:27px;font-size:1.15rem}.specimen span{font-size:.72rem}.specimen-a{left:-7%}.specimen-c{right:-7%}.specimen-g{left:1%}.orbital-guides{inset:-5%;width:110%;height:110%}}
body.calm .specimen,body.calm .orbital-guides,body.calm .orbiting-marker{animation:none!important}
@media(prefers-reduced-motion:reduce){.specimen,.orbital-guides,.orbiting-marker{animation:none!important}}
.lobby{max-width:1280px;gap:60px;margin-top:45px}.lobby h1{color:#f0d29a}.lobby-main{gap:22px}.lobby .welcome-board{max-width:610px}.seat{border-color:#7a919e77;padding:14px 0}.seat .pawn{width:52px;height:52px;box-shadow:inset 0 2px 4px #fff5,0 4px 9px #0005}.seat-text{font-size:1.08rem}.seats{gap:4px}
.turnline{padding:5px 0 10px;border-bottom:1px solid #e0ba704d;margin-bottom:13px}.turnline h2{font-size:clamp(1.7rem,2.5vw,2.4rem);color:#f1cd8a}.turnline .row{gap:14px}.player-chip{border-color:#768d9d;background:#10212c99;box-shadow:inset 0 1px #fff1}.player-chip.active{background:#3d493c;border-color:#f0cc83;box-shadow:0 0 0 2px #e0b66a20}.player-chip.active .pawn{box-shadow:0 0 0 3px #fff2}.player-strip{gap:10px}.pawn{box-shadow:inset 0 1px 3px #fff5,0 3px 5px #0004}
.board-frame{filter:drop-shadow(0 18px 20px #0005)}.board-art{box-shadow:0 0 0 2px #e7bd6f45,0 7px 0 2px #142c39}.earth-core{box-shadow:0 0 0 6px #162937,0 0 0 8px #d5b066aa,inset 0 0 30px #0007}.earth-core strong{font-size:clamp(1rem,1.75vw,1.7rem);border-bottom:1px solid #deb46080}.sector-hit{transition:fill .2s,stroke .2s}.sector-hit.selected{fill:#f3ca6c35;stroke:#f6d794;stroke-width:4}.sector-hit:hover:not([aria-disabled=true]){fill:#f5d29a55;stroke:#fff0c7}.sector-hit:focus-visible{stroke:white;stroke-width:6;outline:none}.board-legend{gap:12px;color:#dbe4e7}.board-legend .symbol{border-color:#e2bf7d;color:#f0d8ac;background:#142a37}.sector-wave{pointer-events:none;fill:#eac56a18;stroke:#fff2b2;stroke-width:5}.review-ripple{pointer-events:none;fill:transparent;stroke:#efd498;stroke-width:5}
.action-desk{background:linear-gradient(150deg,#263f4d,#142a38);border-color:#b4c5cc;box-shadow:inset 0 1px #ffffff29,0 12px 25px #0003;border-radius:9px;padding:20px;gap:16px;position:relative}.action-desk:before{content:'';display:block;height:5px;width:74px;background:#eac680;border-radius:0 0 3px 3px;position:absolute;left:20px;top:0}.action-desk h2{font-size:1.8rem;color:#f4dfb6}.action-tabs{gap:9px}.action-tabs button{background:#102b3b;padding:11px 6px}.action-tabs button.selected{background:#415747;box-shadow:inset 0 -3px #edc97e;border-color:#e5c784}.action-desk .field{font-size:.94rem}.action-desk select{background:#0e2331;border-color:#8fa7b6}.cost{padding-top:15px}.cost strong{font:2.2rem Georgia,serif;line-height:1}.confirm{min-height:52px;position:relative;box-shadow:inset 0 1px #c2e4ca66,0 4px 0 #133f30!important;background:linear-gradient(160deg,#337c5b,#245b48)!important;border-color:#99cba8!important}.confirm:hover:not(:disabled){background:#3d8c67!important}.private-result{background:#f0e4c8;border:1px solid #b69a65;box-shadow:0 3px 0 #7e6b4b;transform:rotate(-.8deg);padding:15px}.private-result h3{color:#455b61}.private-result p{font-size:1.06rem}
.notebook{background:#f0e7d3;box-shadow:0 4px 0 #a59575,0 14px 25px #0003;border-radius:3px 10px 10px 3px;border-top:7px solid #bda477}.notebook h2{color:#2b454d;font-size:1.9rem}.notebook-nav{border-bottom:1px solid #9b998d;padding-bottom:12px;gap:10px}.notebook-nav button{border-radius:4px 4px 0 0}.sector-note{background:#fffaf0;border-color:#869088}.sector-note header{color:#2b494e}.marks button.certain{background:#2c644c}.history{border-color:#8caaa67a}.history h3{color:#e6cc9c;font-family:Georgia,serif;font-size:1.35rem}
.phase-theory .action-desk{border-color:#e5bf76;border-top:7px solid #e5bf76;background:linear-gradient(145deg,#3c4538,#172e39)}.phase-theory .action-desk h2{font-size:2.15rem}.phase-theory .action-desk:before{display:none}.phase-theory .theory-draft li{background:#59604a;border:1px solid #d4c494;box-shadow:0 4px #152832}.phase-theory .ready-list{padding:12px;background:#122632;border-radius:5px}.phase-final .action-desk{border-color:#edcb86;border-width:2px}.phase-final .turnline{border-color:#f0cf8c}.phase-ended .action-desk{background:#182c37;border-color:#c8a866}.phase-ended .action-desk:before{display:none}.phase-ended .results h2{font-size:2.7rem}.results .revealing{font:1.5rem/1.25 Georgia,serif;color:#f4dca5;min-height:58px}.score-row{border-color:#8a9ba1;background:#10232c}.score-row.winner{background:#3a493b;border-color:#f2cb7b;box-shadow:inset 0 0 0 2px #e2c37833}.score-row>strong{font:3rem Georgia,serif;align-self:center}.reveal-object{fill:#f5cf82;stroke:#fff5cd;stroke-width:3;animation:planet-reveal .75s cubic-bezier(.18,.9,.2,1) both}.reveal-label{font-size:31px}
#theatre{position:fixed;left:50%;top:95px;transform:translateX(-50%);width:min(92vw,620px);pointer-events:none;z-index:20;text-align:center}#theatre:empty{display:none}.stage-announcement{background:#102b37f5;border:1px solid #e5c27f;box-shadow:0 8px 0 #091a22,0 22px 70px #0008;padding:20px 26px;border-radius:4px;animation:stage-in .5s cubic-bezier(.2,.8,.2,1) both}.stage-announcement h2{font-size:clamp(1.5rem,3vw,2.6rem);color:#f1d39a}.stage-announcement p{margin-top:8px;color:#e0e9eb;font-size:1rem}.stage-announcement.leaving{animation:stage-out .4s ease-in both}.stage-announcement.review{border-color:#bdd9c5}.stage-announcement.review h2{color:#d9eacb}
.fineprint{padding-bottom:14px}.fineprint p{opacity:.95}dialog{box-shadow:0 20px 80px #0009;border-color:#d2bb85;background:#172e3c}dialog header{padding-bottom:13px;border-bottom:1px solid #b1976766}dialog h2{color:#eed099}
body.calm .cosmos *,body.calm .welcome-board:after{animation:none!important}
@media(prefers-reduced-motion:reduce){.cosmos *{animation:none!important}}
@keyframes sky-drift{from{transform:translate3d(-1%,-1%,0) rotate(-2deg)}to{transform:translate3d(2%,1%,0) rotate(2deg)}}@keyframes star-breathe{from{opacity:.3}to{opacity:.95}}@keyframes comet-pass{0%,78%{opacity:0;transform:translate(0,0) rotate(-35deg)}79%{opacity:.85}84%{opacity:0;transform:translate(-750px,480px) rotate(-35deg)}100%{opacity:0}}@keyframes title-arrive{from{opacity:0;transform:translateY(30px) rotate(2deg);filter:blur(6px)}to{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}}@keyframes entry-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes observatory-float{from{transform:translateY(-5px) rotate(-8deg)}to{transform:translateY(7px) rotate(-4deg)}}@keyframes sun-breathe{from{opacity:.75;transform:scale(.95)}to{opacity:1;transform:scale(1.03)}}@keyframes stage-in{from{opacity:0;transform:translateY(-25px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes stage-out{to{opacity:0;transform:translateY(-18px) scale(.96)}}@keyframes planet-reveal{0%{opacity:0;transform:scale(.7);transform-origin:center}70%{opacity:1;transform:scale(1.05);transform-origin:center}100%{opacity:1;transform:scale(1);transform-origin:center}}
@media(min-width:1150px){.entrance{grid-template-columns:1.12fr 1fr}.action-desk{position:sticky;top:18px}.phase-ended .table-layout{grid-template-columns:minmax(0,1fr) 430px}.phase-theory .table-layout{grid-template-columns:minmax(0,1fr) 375px}}
@media(min-width:1500px){.phase-ended .table-layout{grid-template-columns:minmax(0,1fr) 480px}.notebook-content{grid-template-columns:1fr 1fr}.entry{gap:24px}.entrance{min-height:calc(100dvh - 190px)}}
@media(max-width:1149px) and (min-width:680px){.entry h1{font-size:5rem}.entrance{gap:25px}.home{padding-inline:24px}.action-desk{padding:16px}.action-desk h2{font-size:1.55rem}.phase-theory .action-desk h2{font-size:1.8rem}.lobby{gap:30px}.welcome-board{transform:none}}
@media(max-width:679px){.home{padding-top:26px}.entrance{gap:34px}.welcome-board{max-width:360px;width:88%;transform:none}.entry h1{font-size:4.2rem}.entry h1 span{font-size:.28em}.entry h2{font-size:1.6rem}.entry{gap:20px}.home .welcome-board{max-width:285px}.home .entry{padding:0 5px}.lobby{margin-top:25px;gap:32px}.lobby .welcome-board{max-width:285px}.turnline h2{font-size:1.7rem}.player-strip{gap:6px}.player-chip{max-width:100%}.action-desk{padding:17px;gap:15px}.action-desk h2{font-size:1.8rem}.board-legend{gap:9px}.notebook h2{font-size:1.65rem}.notebook{padding:15px}.phase-theory .action-desk h2{font-size:1.9rem}.phase-ended .results h2{font-size:2.2rem}#theatre{top:110px}.stage-announcement{padding:16px 18px}.brand{font-size:.96rem}.fineprint{padding-inline:10px}.tools button{font-size:.8rem}.bar{gap:9px}}
body.calm .cosmos,body.calm .passing-comet{animation:none}body.calm .welcome-board,body.calm .welcome-board img{transform:none!important;animation:none}body.calm #theatre{display:none}body.calm .entry h1,body.calm .entry h2,body.calm .entry>p,body.calm .entry-form{animation:none;opacity:1;transform:none;filter:none}
@media(prefers-reduced-motion:reduce){.cosmos,.passing-comet,.welcome-board img,.welcome-board:after{animation:none!important}.welcome-board{transform:none!important}#theatre{display:none}.entry h1,.entry h2,.entry>p,.entry-form{animation:none;opacity:1;transform:none;filter:none}}
