:root{--sea:#0b1622;--sea-deep:#070f18;--card:#101f2e;--card2:#0d1927;--cream:#eaf1f7;--soft:#93a7bb;--brass:#e0b062;--hot:#f2ce8a;--teal:#5bb6a8;--gate:#6bbf7c;--warn:#c9a227;--fail:#c0574a;--line:rgba(234,241,247,.12);--disp:"Newsreader",Georgia,serif;--body:"Instrument Sans",system-ui,sans-serif;--ease:cubic-bezier(.34,1.4,.64,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,rgba(224,176,98,.1),transparent 60%),radial-gradient(900px 500px at -10% 30%,rgba(91,182,168,.08),transparent 55%),var(--sea-deep);color:var(--cream);font:16px/1.6 var(--body);min-height:100vh}a{color:var(--hot)}.nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:1rem;padding:1rem clamp(1.1rem,4vw,2.4rem);background:linear-gradient(var(--sea-deep),transparent)}.brand{font:italic 800 1.3rem var(--disp);color:var(--cream);text-decoration:none}.brand-dot{color:var(--brass);margin:0 .12rem}.brand-word{font-weight:700}.nav-cta{margin-left:auto;font-weight:600;font-size:.9rem;color:var(--soft);text-decoration:none}.nav-cta:hover{color:var(--cream)}.rail{display:flex;gap:.3rem;max-width:820px;margin:.4rem auto 0;padding:0 1.2rem}.rail .seg{flex:1;text-align:center;font:600 .72rem var(--body);letter-spacing:.03em;color:var(--soft);padding-top:1.1rem;position:relative;cursor:pointer}.rail .seg:before{content:"";position:absolute;top:.15rem;left:50%;translate:-50%;width:.7rem;height:.7rem;border-radius:50%;background:var(--card);border:2px solid var(--line);transition:.2s}.rail .seg:after{content:"";position:absolute;top:.4rem;left:calc(50% + .5rem);width:calc(100% - 1rem);height:2px;background:var(--line)}.rail .seg:last-child:after{display:none}.rail .seg.done:before{background:var(--brass);border-color:var(--brass)}.rail .seg.now:before{background:var(--hot);border-color:var(--hot);box-shadow:0 0 0 4px #f2ce8a29}.rail .seg.done,.rail .seg.now{color:var(--cream)}main{max-width:820px;margin:0 auto;padding:1.4rem clamp(1.1rem,4vw,2rem) 3rem}.stage{animation:rise .5s var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.eyebrow{color:var(--brass);font-weight:600;font-size:.9rem;letter-spacing:.02em;margin:1.4rem 0 .3rem}h1{font:600 clamp(2.4rem,7vw,3.8rem)/1.03 var(--disp);letter-spacing:-.02em;margin:.2rem 0 .5rem}h1 em,h2 em{font-style:italic;color:var(--brass)}h2{font:600 clamp(1.9rem,5vw,2.7rem)/1.05 var(--disp);letter-spacing:-.01em;margin:.3rem 0 .5rem}.lede{font-size:1.15rem;color:var(--soft);max-width:60ch}.sub{color:var(--soft);max-width:64ch;margin:.2rem 0 1.2rem}.port-tag{display:inline-block;font:700 .72rem var(--body);letter-spacing:.08em;color:var(--brass);border:1px solid var(--brass);border-radius:999px;padding:.18rem .6rem}.fine{color:var(--soft);font-size:.86rem;font-style:italic;margin-top:.9rem}.ports{list-style:none;padding:0;margin:1.4rem 0;display:grid;gap:.5rem}.ports li{padding:.7rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:12px;color:var(--soft)}.ports li b{color:var(--cream)}.btn{display:inline-block;margin-top:1.3rem;padding:.75rem 1.5rem;border:0;border-radius:999px;font:700 1rem var(--body);cursor:pointer;text-decoration:none;transition:.16s var(--ease)}.btn.primary{background:var(--brass);color:#20160a}.btn.primary:hover{background:var(--hot);transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--cream);border:1px solid var(--line);margin-left:.5rem}.btn.ghost:hover{border-color:var(--brass);color:var(--brass)}.form{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.3rem 1.3rem 1.5rem}label{display:block;font-weight:600;margin:1rem 0 .3rem}label:first-child{margin-top:0}small{color:var(--soft);font-weight:400}input,textarea,select{width:100%;padding:.65rem .75rem;border:1px solid var(--line);border-radius:11px;background:var(--sea);color:var(--cream);font:inherit}input:focus,textarea:focus,select:focus{outline:2px solid var(--brass);border-color:transparent}input::placeholder,textarea::placeholder{color:#93a7bb80}.scout-result{margin-top:1.3rem;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.4rem}.gauge{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.dial{--v:0;width:120px;height:120px;border-radius:50%;flex:none;background:conic-gradient(var(--tint) calc(var(--v)*1%),rgba(147,167,187,.14) 0);display:grid;place-items:center}.dial .inner{width:88px;height:88px;border-radius:50%;background:var(--card);display:grid;place-items:center;text-align:center}.dial .num{font:600 1.7rem var(--disp);color:var(--cream)}.dial .lbl{font-size:.68rem;color:var(--soft)}.verdict{font:600 1.3rem var(--disp)}.verdict.ok{color:var(--gate)}.verdict.no{color:var(--warn)}.gaps{margin:.8rem 0 0;padding-left:1.1rem;color:var(--soft)}.gaps li{margin:.2rem 0}.pill{display:inline-block;font:700 .7rem var(--body);letter-spacing:.05em;border-radius:999px;padding:.2rem .6rem;margin-left:.5rem}.pill.ok{background:var(--gate);color:#0b1d10}.pill.no{background:var(--warn);color:#241d05}.crew{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;margin-top:.6rem}.mate{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.1rem 1.2rem;position:relative;overflow:hidden}.mate:after{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--rank)}.mate .sprite{width:52px;height:52px;image-rendering:pixelated;margin-bottom:.5rem}.mate .rank{font:700 .68rem var(--body);letter-spacing:.06em;color:var(--rank);text-transform:uppercase}.mate h3{font:600 1.15rem var(--disp);margin:.15rem 0 .35rem}.mate p{margin:0;color:var(--soft);font-size:.9rem}.mate .tag{margin-top:.55rem;font-size:.76rem;color:var(--soft);font-style:italic}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.2rem}.chip{font:600 .85rem var(--body);padding:.4rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--sea);color:var(--soft);cursor:pointer;transition:.14s}.chip.on{background:var(--brass);color:#20160a;border-color:var(--brass)}.plan{margin-top:1.3rem;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.4rem}.plan h3{font:600 1.15rem var(--disp);margin:.1rem 0 .3rem;color:var(--brass)}.plan .pos{font:italic 1.15rem var(--disp);color:var(--cream);border-left:3px solid var(--brass);padding-left:.8rem;margin:.4rem 0 1rem}.plan .move{display:flex;gap:.7rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.plan .move:last-child{border-bottom:0}.plan .move .n{color:var(--brass);font-weight:700}.plan .listing{margin-top:1rem;background:var(--sea);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;font:.8rem/1.5 ui-monospace,Menlo,monospace;color:var(--soft);white-space:pre-wrap}.tagrow{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.tagrow .t{font:600 .74rem var(--body);background:var(--sea);border:1px solid var(--line);border-radius:999px;padding:.16rem .55rem;color:var(--teal)}.bridge{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:.4rem}.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.2rem}.panel h3{font:600 1.1rem var(--disp);margin:0 0 .3rem;color:var(--hot)}.panel p{margin:0;color:var(--soft);font-size:.9rem}.panel .demo{margin-top:.7rem;font-size:.85rem;color:var(--cream)}.panel .demo .row{display:flex;justify-content:space-between;gap:.6rem;padding:.25rem 0;border-bottom:1px solid var(--line)}.panel .demo .row:last-child{border-bottom:0}.panel .demo .yes{color:var(--gate);font-weight:700}.panel .demo .no{color:var(--soft)}.cta-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.4rem}.ship-preview{margin:.4rem 0 .6rem}.ship-preview .card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem}.ship-preview .card b{color:var(--cream)}.foot{max-width:820px;margin:0 auto;padding:1.6rem clamp(1.1rem,4vw,2rem);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--soft);font-size:.86rem;border-top:1px solid var(--line)}@media(max-width:560px){.btn.ghost{margin-left:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.stage{animation:none}}
