/* One visual language throughout: ink black, steel blue, icy selection. */
:root{--ink:#000;--paper:#bad0e9;--gold:#bad0e9;--green:#bad0e9;--line:#8cabca35;--muted:#869cb4;--panel:#080e15;--selection:#c5dcf3}
body,body[data-view=home]{background:#000;color:var(--paper);--gold:#bad0e9}
body.intro-open{overflow:hidden}
.scene{display:none}.grain{opacity:.025}
.topbar,body:not([data-view=home]) .topbar{background:#000;border-color:#536c8538}
.top-label,.footer>span{color:#71869c}.mini-brand{color:#bcd3ed}.mini-brand span{color:#abc2de}
.interior{background:#000;padding-top:35px}.page-heading{margin-bottom:35px}.page-heading h2{text-shadow:2px 2px #162536;letter-spacing:1px}
.eyebrow{font:500 10px/1.7 Orbitron,sans-serif;letter-spacing:1.8px;color:#7c96b3}
.primary,.secondary,.wallet-button,.filters button,.amount-presets button{font:600 11px/1.6 Orbitron,sans-serif;letter-spacing:1px;text-transform:uppercase;box-shadow:none}
.primary{background:#b6cce6;border-color:#b6cce6;color:#050a0f;min-height:44px}
.primary:hover{background:#d0e1f3;border-color:#d0e1f3;transform:none}
.secondary,.wallet-button{background:#000;border-color:#536e8870;color:#a7bed7;min-height:40px}
.secondary:hover,.wallet-button:hover{background:#b6cce6;color:#050a0f;border-color:#b6cce6}
.plain{border-color:#94afd04d;color:#99b4d2;font-size:14px}.plain:hover{color:#d0e1f3}
.hud-button{color:#96afcb}.footer{background:#000;border-color:#536c8538}.footer p{color:#73869c}.footer a{color:#aac3dd}
.small,.lobby-note{color:#8c9fb5}.form-status.error{color:#d2e5fc;border-left:2px solid #bed5ec;padding-left:12px}
.lobby-shell{background:#04070b;border-top:1px solid #829fb8;border-bottom-color:var(--line)}
.lobby-tools{background:#000}.filters button{color:#7f97b0}.filters button:hover,.filters button.active{border-color:#8dabca78;color:#bcd3ed;background:#172534}
.search input{background:#060c12;border-color:#50698380;color:#bcd3ed}.list-head,.crew-title p{color:#7f96b0}
.crew-row:hover{background:#0c151f}.crew-avatar{background:var(--crew,#36516d);color:#c3d8ec;border-color:#9eb8d254;box-shadow:inset 0 0 0 3px #0005}
.crew-title h3{color:#b8cde4}.crew-status{color:#99b3cf}.lobby-note{background:#000}
.network-label{color:#adc6e2;border-color:#6a8da850;background:#090f17;font:500 10px/1.5 Orbitron;letter-spacing:1px}
.form-section h3{font:600 17px/1.5 Orbitron,sans-serif;letter-spacing:.3px;color:#adc6df}
label{color:#9cb4ce}label>input:not([type=checkbox],[type=range],[type=file]),label>textarea,label>select{background:#060b12;border-color:#4b657b80;color:#c3d6ec}
input::placeholder,textarea::placeholder{color:#63788e;opacity:1}label>input:focus,label>textarea:focus{border-color:#afcce9}
.optional{color:#738da8}.image-upload{border-color:#627e9b;background:#0b121c}.amount-presets button{font-size:10px;color:#9fbad5;min-height:36px}
.dossier{background:#070c13;border:1px solid #586f897d;color:#bcd3ed;transform:none;box-shadow:6px 6px #15233466;padding:24px}
.dossier>.eyebrow{color:#7d97b4;font-size:9px}.dossier-image{background:#111f2f;border:1px solid #6985a33d}
.dossier-image>div{color:#7896b7;text-shadow:3px 4px #040a11}.dossier-stamp{color:#9bbadb;background:#06101dd9;border-color:#7493b4}
.dossier>#dossier-symbol{color:#809dbc}.dossier>p{color:#92a8c1}.dossier dl,.file-status{border-color:#57758d66}.file-status{color:#7390af}
.review-panel{background:#060c14;border-color:#5a7998}.options-panel{border-top:1px solid #738da9}.option-row h3{font:600 16px/1.5 Orbitron;letter-spacing:.4px}
.brief-sheet{background:#000;padding-left:0;padding-right:0}.brief-sheet h3{color:#b1cbe5}.brief-sheet>section>span{color:#7897b7}
.map-canvas{background:#091523;border:7px solid #060a10;outline-color:#50677f}.map-pin{color:#d0e1f3;text-shadow:2px 2px #03060a,-1px -1px #03060a}
.map-pin>span{background:#09121e;color:#aac3dd;border-color:#a3c0dd}.map-pin.active>span,.map-pin:hover>span{color:#000;background:#c3daf0;border-color:#d1e5f7}
.map-compass{color:#a8c3df}.district-style{color:#98b9d8}.district-info h3{color:#b3cde7}
dialog{background:#04080e;border-color:#6d89a8;color:#bcd3ed;box-shadow:12px 12px 0 #0008}dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}
dialog .dialog-close{color:#a8c3df}.detail-pairs dd{color:#b7cee6}#toast{background:#b9cfe7;color:#050a10;border-color:#c5dcf3}.noscript{background:#000}
.pause-art img{filter:brightness(.53);object-position:52% 47%;transform:scale(1.04)}.pause-art>span{color:#aac5de80;text-shadow:3px 6px #08111eb3}
.pause-title{color:#bdd2ec}.pause-menu .game-menu>a,.pause-menu .game-menu>button{color:#687c91}.pause-menu .game-menu .selected{color:#bfd8ef}
/* Illustrated loading screen: original blue-hour artwork, close crop and slow pan. */
.intro.night-intro{background:#000;transition:opacity .7s ease,visibility .7s}
.loading-frame{position:absolute;inset:0;overflow:hidden;background:#07101d;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transition:clip-path .7s cubic-bezier(.6,0,.2,1)}
.night-intro .intro-art{width:100%;height:100%;object-fit:cover;object-position:65% center;transform-origin:72% 55%;animation:night-pan 12s cubic-bezier(.15,.5,.45,1) both}
.night-intro .intro-scrim{background:linear-gradient(90deg,#0009 0%,#0004 28%,transparent 53%),linear-gradient(0deg,#000 0%,#000e 8%,#0003 34%,transparent 60%);pointer-events:none}
.intro-top{position:absolute;top:4.2%;left:5.5%;right:5.5%;display:flex;justify-content:space-between;gap:15px;font:500 9px/1.7 Orbitron;letter-spacing:1.8px;color:#92acc9;text-shadow:1px 1px #000}
.night-intro .intro-brand{left:5.5%;top:23%;max-width:40%;animation:loading-brand .9s ease-out both;filter:drop-shadow(0 3px 0 #000)}
.intro-kicker{font:500 9px/1.5 Orbitron;letter-spacing:3px;color:#a9c5e2}
.night-intro .wordmark{align-items:baseline;gap:8px;margin:8px 0 1px;filter:none}
.night-intro .wordmark b{font:clamp(88px,12.6vw,190px)/1.06 Bowlby;letter-spacing:-.07em;color:#c1d7ef;-webkit-text-stroke:8px #000;paint-order:stroke fill;text-shadow:0 4px #6985a5,5px 8px #000}
.night-intro .wordmark em{font:clamp(38px,5.5vw,76px)/1 Pirata;letter-spacing:-2px;transform:rotate(-7deg);-webkit-text-stroke:6px #000;color:#acc9e8;paint-order:stroke fill;text-shadow:2px 3px #000}
.night-intro .intro-brand>.gothic{font-size:clamp(25px,3.3vw,47px);line-height:1.2;color:#b6d0ea;text-shadow:2px 3px #000;margin-top:12px}
.night-intro .intro-brand>p{font-size:15px;letter-spacing:.4px;color:#99b3ce;margin-top:10px}
.night-intro .intro-bottom{left:5.5%;bottom:8.5%;width:min(480px,42vw)}
.night-intro .load-caption{font:500 9px/1.7 Orbitron;letter-spacing:1px;margin-bottom:12px;color:#adc7e2}
.night-intro progress{height:11px;border:2px solid #90aac575;background:#050b12;padding:1px}
.night-intro progress::-webkit-progress-bar{background:#071019}
.night-intro progress::-webkit-progress-value{background:#b9d3ec;transition:width .65s cubic-bezier(.2,.7,.3,1)}
.night-intro progress::-moz-progress-bar{background:#b9d3ec}
.night-intro .intro-actions{gap:25px;margin:20px 0 10px;opacity:0;transform:translateY(8px);transition:opacity .5s .3s,transform .5s .3s}
.night-intro.is-ready .intro-actions{opacity:1;transform:none}.night-intro .intro-actions .primary{font-size:10px;padding:12px 20px;min-height:44px}
.night-intro .intro-bottom>p{font-size:12px;color:#7994b1}.night-intro .intro-edition{color:#9db8d3;right:5.5%;bottom:8.5%;font:400 26px/1 Pirata;letter-spacing:1px;text-shadow:2px 2px #000}
.night-intro.leaving .loading-frame{clip-path:polygon(0 0,100% 0,100% 0,0 0)}
.night-intro.leaving .intro-brand{opacity:0;transition:opacity .3s}
.night-intro.art-unavailable .loading-frame{background:linear-gradient(135deg,#122237,#000)}
.night-intro.replaying .intro-art{animation-name:night-replay}.night-intro.replaying .intro-brand{animation-name:loading-brand-replay}
@keyframes night-pan{from{transform:scale(1.075) translateX(-.5%);filter:brightness(.55)}to{transform:scale(1);filter:brightness(1)}}
@keyframes night-replay{from{transform:scale(1.075) translateX(-.5%);filter:brightness(.55)}to{transform:scale(1);filter:brightness(1)}}
@keyframes loading-brand{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes loading-brand-replay{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(max-width:950px){.night-intro .intro-brand{max-width:47%}.night-intro .intro-bottom{width:49vw}.topbar{gap:16px}}
@media(max-width:700px){.topbar{padding-left:6%;padding-right:6%}.wallet-button{font-size:9px;padding:9px 11px}.hud-button{font-size:10px}.secondary,.primary{font-size:10px}.filters button{font-size:9px;padding:9px 7px}.crew-title h3{font-size:24px}.crew-row .secondary{font-size:9px;padding:9px}.page-heading h2{font-size:44px}.form-section h3{font-size:15px}.form-grid{grid-template-columns:1fr 1fr}.dossier{padding:21px}.option-row h3{font-size:13px}.option-row button{font-size:9px;min-width:89px}.brief-sheet h3{font-size:27px}
.intro-top{top:4%;left:7%;right:7%;font-size:8px;letter-spacing:1px}.intro-top>span:last-child{display:none}.night-intro .intro-art{object-position:89% center;transform-origin:89% center}.night-intro .intro-scrim{background:linear-gradient(180deg,#0002 0%,#0002 20%,transparent 40%,#0009 68%,#000 87%),linear-gradient(90deg,#0006,transparent 80%)}
.night-intro .intro-brand{top:14%;left:7%;max-width:86%;filter:drop-shadow(0 2px 0 #000)}.intro-kicker{font-size:8px;letter-spacing:2px}.night-intro .wordmark b{font-size:99px;-webkit-text-stroke-width:6px}.night-intro .wordmark em{font-size:49px}.night-intro .intro-brand>.gothic{font-size:32px;margin-top:5px}.night-intro .intro-brand>p{font-size:13px;margin-top:7px}.night-intro .intro-bottom{left:7%;width:86%;bottom:9%}.night-intro .load-caption{font-size:8px;letter-spacing:.5px}.night-intro .intro-actions{gap:20px;justify-content:space-between}.night-intro .intro-actions .primary{padding:12px 16px;font-size:9px}.night-intro .intro-actions .plain{font-size:13px}.night-intro .intro-edition{bottom:3.5%;left:7%;right:auto;font-size:17px;letter-spacing:.5px}}
@media(max-height:570px) and (min-width:701px){.night-intro .intro-brand{top:16%}.night-intro .wordmark b{font-size:105px}.night-intro .wordmark em{font-size:44px}.night-intro .intro-brand>.gothic{font-size:27px;margin-top:4px}.night-intro .intro-bottom{bottom:6%;width:45%}.night-intro .intro-actions{margin:10px 0 0}.night-intro .intro-bottom>p{display:none}.night-intro .intro-edition{font-size:20px}}
.reduce-motion .night-intro *{animation:none!important;transition:none!important}.reduce-motion .night-intro .intro-art{transform:none;filter:none}
@media(prefers-reduced-motion:reduce){.night-intro *{animation:none!important;transition:none!important}.night-intro .intro-art{transform:none;filter:none}}
