:root{font-family:Georgia,'Noto Serif SC','Microsoft YaHei',serif;color:#e9e7d8;background:#0c2028;font-synthesis:none;--gold:#d7b579;--ink:#142c32;--paper:#eee6cd;--muted:#a0b4b3;--line:#ffffff21}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}a{color:var(--gold)}button{color:inherit;background:#ffffff09;border:1px solid var(--line);border-radius:4px;padding:10px 15px}button:hover:not(:disabled){background:#ffffff16;border-color:#d7b57988}.primary{color:#132c32;background:var(--gold);border-color:var(--gold);font-weight:bold}.primary:hover:not(:disabled){background:#e6c990}.quiet{border-color:transparent;padding:8px}.eyebrow{font:11px 'Microsoft YaHei',sans-serif;letter-spacing:3px;color:var(--gold)}h1,h2,h3,p{margin-top:0}h2{font-weight:normal}small,.muted{color:var(--muted)}.home{min-height:100vh;background:linear-gradient(90deg,#0c2028f5 5%,#0c2028c9 45%,#0c202845),var(--cover) center/cover fixed}.home-nav{padding:24px 5vw;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:18px;letter-spacing:4px}.hero{max-width:1500px;margin:auto;padding:8vh 6vw 6vh;display:grid;grid-template-columns:minmax(400px,1.2fr) minmax(310px,.8fr);gap:8vw;align-items:center}.hero h1{font-size:clamp(44px,6vw,84px);line-height:1.28;font-weight:normal;letter-spacing:6px;margin:28px 0}.hero .lead{max-width:530px;line-height:2.1;font-size:17px;color:#d2ddd7}.hero-line{width:62px;border-top:2px solid var(--gold);margin:28px 0}.pills{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;letter-spacing:1px}.pills span{border:1px solid #d7b57955;padding:7px 12px;color:#ded4b8}.boarding{background:#0e272ee8;backdrop-filter:blur(12px);padding:30px;border:1px solid #a2b5a444;box-shadow:0 24px 80px #0005}.boarding h2{font-size:27px;margin:12px 0 22px}.boarding label{display:block;font-size:13px;margin:14px 0 7px}.boarding input{width:100%}.button-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.button-row>*{flex:1}.home-foot{padding:25px 6vw;border-top:1px solid var(--line);font-size:12px;line-height:1.9;max-width:1500px;margin:auto;color:#abc0be}.home-foot a{margin-right:15px}input,select,textarea{background:#0d2229;color:#eee9d6;border:1px solid #ffffff30;padding:10px;border-radius:3px;max-width:100%}textarea{width:100%;min-height:90px;resize:vertical}.loading{padding:40px;color:var(--gold)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line);background:#102831;position:sticky;top:0;z-index:20}.topbar .title{font-size:22px;letter-spacing:3px}.topbar small{font-size:11px;display:block;letter-spacing:1px;margin-top:5px}.toptools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.toptools button{font-size:12px;padding:8px 11px}.tabs{display:flex;gap:6px;padding:0 22px;background:#102831;border-bottom:1px solid var(--line);overflow-x:auto}.tabs button{white-space:nowrap;border:0;border-radius:0;padding:15px 19px;font-size:13px}.tabs button.active{color:var(--gold);box-shadow:inset 0 -2px var(--gold);background:#ffffff08}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:calc(100vh - 130px)}main.table{padding:22px;min-width:0}.sidebar{padding:22px 18px;background:#0e252d;border-left:1px solid var(--line)}.panel{border:1px solid var(--line);padding:18px;background:#ffffff03;margin-bottom:16px}.panel h3{font-size:15px;font-weight:normal;color:var(--gold);margin-bottom:14px}.panel p{font-size:12px;line-height:1.8}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{justify-content:space-between}.phase-line{display:flex;gap:5px;margin-bottom:14px}.phase-line span{padding:7px 8px;background:#ffffff05;font-size:11px;flex:1;text-align:center;color:#8da6a8}.phase-line .current{color:var(--gold);background:#d7b57917}.phase-copy{font-size:12px;color:#becdc7;line-height:1.8}.room-list{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.room-list button{font-size:11px;padding:9px 3px}.room-list button.selected{border-color:var(--gold);color:var(--gold)}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.action-grid button{font-size:12px}.captain{color:var(--gold);font-size:13px}.counter{display:flex;justify-content:space-between;align-items:center;gap:5px;margin:7px 0;font-size:12px}.counter-control{display:flex;align-items:center;gap:7px}.counter-control button{padding:2px 8px;font-family:Arial,sans-serif}.counter-control strong{min-width:22px;text-align:center;font-family:Arial,sans-serif;font-size:15px}.map-toolbar{margin-bottom:12px}.map-toolbar select{min-width:190px}.map-wrap{position:relative;width:100%;background:#d4c6a3;box-shadow:0 10px 40px #0005;line-height:0;overflow:hidden}.map-wrap>img{width:100%;height:auto;display:block;cursor:crosshair}.ship-pin{position:absolute;transform:translate(-50%,-50%);pointer-events:none;font-size:32px;line-height:1;filter:drop-shadow(0 2px 2px #000);color:#8c2c25}.map-mark{position:absolute;transform:translate(-50%,-50%);border-radius:50%;padding:5px;min-width:23px;height:23px;line-height:1;background:#d7b579;color:#13292f;font-size:11px;border:1px solid #362c1a;cursor:pointer}.map-caption{margin:12px 0;font-size:12px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;gap:15px}.section-title h2{font-size:25px;margin:0}.section-title small{font-size:12px}.crew-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.crew-card{background:#142f37;border:1px solid #b3b8a62b;padding:10px}.crew-card img{width:100%;display:block;cursor:zoom-in}.crew-title{display:flex;align-items:center;justify-content:space-between;margin:10px 0;font-size:15px}.crew-card select{width:100%;font-size:11px;padding:5px;margin-bottom:6px}.status-row{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.status-row button{font-size:10px;padding:4px}.status-row .on{background:#9b4f3e;color:#fff}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:15px;align-items:start}.card-piece{min-width:0;position:relative}.card-image{position:relative;line-height:0}.card-image img{width:100%;border-radius:6px;box-shadow:0 5px 18px #0006;cursor:zoom-in;transition:opacity .2s}.card-piece.tapped img{opacity:.55}.card-piece .name{font-size:11px;margin:8px 0;line-height:1.5;color:#c2d3cc}.card-ops{display:flex;gap:3px;flex-wrap:wrap}.card-ops button,.card-ops select{font-size:10px;padding:5px 6px}.damage-mark{position:absolute;width:15px;height:15px;transform:translate(-50%,-50%);border-radius:50%;background:#c54132;box-shadow:0 0 0 2px #ffcf8c,0 1px 4px #000;pointer-events:none}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px}.deck-box{border:1px solid var(--line);padding:14px;background:#15303a}.deck-box .deck-back{height:130px;width:auto;max-width:100%;display:block;margin:0 auto 13px;border-radius:5px;box-shadow:0 4px 14px #0006}.deck-box h3{font-size:14px;margin:8px 0}.deck-box p{font-size:11px;color:var(--muted)}.deck-box button{font-size:11px;padding:7px}.inline-form{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.inline-form input{flex:1;min-width:90px}.inline-form select{max-width:260px}.divider{border-top:1px solid var(--line);margin:24px 0}.book-shell{width:100%;height:76vh;background:#e8e2d0}.book-shell iframe{width:100%;height:100%;border:0}.book-pages{width:100%;display:block;background:#e8e2d0}.book-pages img{width:100%;display:block}.note{padding:12px 15px;background:#d7b5790e;border-left:2px solid #d7b57977;font-size:12px;line-height:1.9;color:#c3d2ca;margin-bottom:18px}.journal-entry{padding:12px 0;border-bottom:1px solid var(--line);white-space:pre-wrap;line-height:1.85;font-size:13px}.journal-entry small{display:block;margin-bottom:5px;font-size:10px}.keyword{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;margin:3px;border:1px solid #d7b57955;color:var(--gold);font-size:12px}.keyword button{border:0;padding:0 2px}.log{font-size:11px;color:#88a3a4;line-height:1.9;max-height:250px;overflow:auto}.log p{margin:0 0 5px}.lobby{max-width:700px;padding:50px 30px;margin:auto}.lobby h1{font-size:34px;line-height:1.5}.player-seat{border-bottom:1px solid var(--line);padding:15px 0;display:flex;justify-content:space-between}.room-code{font-family:monospace;font-size:34px;color:var(--gold);letter-spacing:6px}.ship-board{max-width:100%;display:block;margin-bottom:20px;cursor:zoom-in}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.reference-grid img{width:100%;cursor:zoom-in}.rules-copy{line-height:2;font-size:14px;max-width:900px}.rules-copy li{margin-bottom:8px}.rules-copy h3{color:var(--gold);margin-top:25px}.rules-copy a{overflow-wrap:anywhere}.rules-copy ul{padding-left:22px}.combat-grid{display:flex;gap:4px;align-items:flex-start;overflow-x:auto;padding:10px 0}.combat-grid .card-piece{width:220px;flex:none}.combat-grid .card-image{cursor:crosshair}.book-heading{margin-top:10px}.error-block{border:1px solid #b65f50;color:#ebc2af;padding:15px;line-height:1.8}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 23px;background:#eee1bc;color:#173139;box-shadow:0 5px 30px #0008;border-radius:4px;z-index:200;display:none;max-width:90vw;font-size:13px}#toast.show{display:block}dialog{border:1px solid #c5b58566;background:#10252c;color:inherit;max-width:94vw;max-height:94vh;padding:24px;border-radius:7px}dialog::backdrop{background:#061218df}.close{position:sticky;float:right;top:0;z-index:2;font-size:25px;padding:0 10px;background:#17313ae8}#viewer-body img{max-width:84vw;max-height:83vh;display:block;margin:auto}#viewer-body p{max-width:700px;line-height:1.8;font-size:13px}body.busy button{cursor:wait}.save-status{font-size:10px;color:#89ada3}.small-button{font-size:11px;padding:6px 9px}@media(min-width:1600px){.crew-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace{grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 245px}.crew-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:5vw}.boarding{padding:22px}}@media(max-width:740px){.hero{grid-template-columns:1fr;padding:45px 6vw;gap:35px}.hero h1{font-size:48px}.hero .lead{font-size:15px}.home{background-attachment:scroll}.workspace{display:flex;flex-direction:column}.sidebar{border-left:0;border-top:1px solid var(--line)}.topbar{padding:12px;align-items:flex-start;position:static}.topbar .title{font-size:17px}.toptools{justify-content:flex-end}.toptools button{font-size:10px;padding:6px}.tabs{padding:0 5px}.tabs button{padding:13px 12px}.crew-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}main.table{padding:14px}.reference-grid{grid-template-columns:1fr}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sidebar .panel{margin:0;padding:12px}.sidebar .log-panel{grid-column:1/-1}.section-title h2{font-size:21px}.map-toolbar select{min-width:130px;max-width:100%}.home-nav{padding:18px 6vw}.brand{font-size:15px}.book-shell{height:65vh}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(min-width:741px) and (max-width:1000px){.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);padding-left:4vw;padding-right:4vw;gap:4vw}.hero h1{font-size:50px;letter-spacing:3px}}

.book-controls{padding:10px 0 18px;font-size:12px}.book-controls button{font-size:12px}.book-pages img{cursor:zoom-in}.ship-pin img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 3px 3px #0008)}

.map-mark:has(img){width:35px;height:35px;background:transparent;border:0;padding:0}.map-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px #0007)}
