/* Clean inked shapes and two-tone materials carry through the whole game. */
:root{--nav-size:0px!important;--cream:#fff1d2;--gold:#f0ba58;--muted:#c8e3db;--ink:#17364a;--cel-paper:#ffe6ab;--scene-pad:clamp(18px,2.6vw,52px)}
nav[aria-label="Ship stations"],.waterbar,#fishingStatus{display:none!important}
html,body,#app,#app:fullscreen{background:#117a92}
#forgePage{background-image:linear-gradient(0deg,#102b3b66,transparent 70%),url('assets/workshop-cel.webp')}
#battlePage{background-image:url('assets/quayside-cel.webp')}
#holdPage{background-image:linear-gradient(#123b4c15,#15374b66),url('assets/hold-cel.webp')}
button{font-weight:900}
.primary{background:#eeb85c;border:2px solid var(--ink);box-shadow:inset 0 3px #ffe2a2,0 4px 0 var(--ink);color:var(--ink);border-radius:12px;text-shadow:none}
.primary:hover:not(:disabled){background:#ffd584;filter:none;transform:translateY(-1px)}
.primary:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px #ffe2a2,0 2px 0 var(--ink)}
.secondary{background:#214f64;border:2px solid var(--ink);box-shadow:inset 0 2px #4e8291,0 3px 0 #122d3f;color:#ffedc4;backdrop-filter:none;border-radius:10px}
.materialChoice,.componentChoices button{background:#244f61;border:2px solid #153547;box-shadow:inset 0 2px #527e85,0 3px 0 #133343;backdrop-filter:none;color:#fff0d1;border-radius:12px}
.materialChoice.selected,.componentChoices button.selected{background:#ebba64;color:#1b3745;border-color:#16384b;box-shadow:inset 0 2px #ffe5a7,0 3px 0 #143545}
.materialChoice.selected small,.componentChoices button.selected small{color:#294b50}
.forgeHeading h2,.holdHeading h2,.crewHeading h2,.stationHeading h2{font-family:Georgia,serif;font-weight:800;color:#fff0d0;text-shadow:2px 2px 0 #18384b}
.eyebrow{color:#f8d78f;font-weight:900;text-shadow:1px 2px #17374b}
.forgeHub{background:linear-gradient(0deg,#102b3b99,transparent 74%);padding-bottom:max(90px,env(safe-area-inset-bottom))}
.workpieceSlot,.stationButton{background:none;text-shadow:1px 2px #17364a}
.stationButton svg{stroke-width:3.1;filter:drop-shadow(1px 2px #153347)}
.stationButton.active,.stationButton.selected{filter:none;color:#ffd578}
.stationControls{bottom:max(24px,env(safe-area-inset-bottom))}
.stationControls #workCall{color:#fff1cf;text-shadow:2px 2px #17364a}
.stationControls>p,.stationControls>small{color:#fff1cf;text-shadow:1px 1px #17364a}
.crewScene{background:linear-gradient(125deg,#12374899,transparent 43%),linear-gradient(0deg,#123748b0,transparent 65%);padding-bottom:max(28px,env(safe-area-inset-bottom))}
.crewHeading p{font-family:system-ui,sans-serif;font-weight:600;color:#fff1d2;text-shadow:1px 1px 1px #153749,-1px -1px 1px #153749}
.crewFigure{border:0;background:none}
.crewFigure canvas{filter:drop-shadow(0 5px 0 #102f4144)}
.crewFigure strong{color:#fff0cc;text-shadow:2px 2px #17384b;font-weight:800}
.crewFigure small,.crewWeaponName{color:#fff0cc;text-shadow:1px 1px #15394c}
@media(min-width:1800px){
 .crewLineup{width:min(92%,2400px);gap:clamp(60px,4vw,140px)}
 .crewFigure{max-width:640px}.crewFigure canvas{max-height:61vh}
 .crewFigure strong{font-size:clamp(28px,1.1vw,42px)}
 .crewFigure .crewWeaponName{font-size:clamp(15px,.6vw,22px)}
 .crewFigure small{font-size:clamp(13px,.5vw,18px)}
 .crewHeading h2{font-size:clamp(36px,2vw,64px)}.crewHeading p{font-size:18px}
 .crewDeparture .primary{font-size:20px;min-height:58px;padding:14px 28px}
 .crewDeparture>small{font-size:15px}
}
.holdScene{padding-bottom:max(86px,env(safe-area-inset-bottom))}
.holdGrid .catchcard,.holdWeapon{background:radial-gradient(ellipse,#14384966,transparent 70%);border:0}
.holdScene .tabs button.selected{color:#ffe1a1;border-color:#edb351}
#overlay{background:#0c2f43e8;backdrop-filter:none}
.panel,.panel.modalSplit{border:0;outline:none;background:none;box-shadow:none}
.panel h2{color:#fff0c9;text-shadow:2px 2px #173649;font-weight:800}
.modalText{justify-content:center}
.modalCopy{flex:0 1 auto}
.modalActions{padding-top:24px}
@media(min-width:900px){
 .panel.modalSplit{width:min(94vw,2400px);height:min(80dvh,1200px);gap:clamp(30px,4vw,120px)}
 .modalArt .reveal,.modalArt .gradeArt{height:min(64dvh,900px)}
 .panel.modalSplit h2{font-size:clamp(30px,2.8vw,76px)}
 .panel.modalSplit p{font-size:clamp(14px,1.1vw,26px)}
 .panel.modalSplit .primary,.panel.modalSplit .secondary{font-size:clamp(13px,1vw,24px)}
 .panel.modalSplit .eyebrow{font-size:clamp(9px,.55vw,16px)}
}
.craftedWeapon{filter:drop-shadow(0 4px 0 #143b4b66)}
.autoBottom{bottom:max(18px,env(safe-area-inset-bottom))}
.autoTop button{border:2px solid #173a4b;background:#f0c26b;color:#173a4b;box-shadow:0 3px 0 #173a4b;backdrop-filter:none}
#toast{bottom:22px;background:#ffdfa1;color:#17384a;border:2px solid #17384a;border-radius:10px;box-shadow:0 3px 0 #17384a;text-shadow:none;font-weight:900}
#returnAboard{position:absolute;left:max(10px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom));width:clamp(90px,11vw,170px);height:clamp(65px,8vw,112px);padding:0;background:none;border:0;border-radius:0;box-shadow:none;z-index:8;filter:drop-shadow(0 3px 1px #132f4877)}
#returnAboard[hidden]{display:none!important}
#returnAboard img{width:100%;height:100%;object-fit:contain;pointer-events:none}
#returnAboard span{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);font-size:10px;color:#17384a;background:#ffe1a4;border:2px solid #17384a;padding:3px 7px;border-radius:5px;white-space:nowrap;opacity:0;pointer-events:none}
#returnAboard:hover span,#returnAboard:focus-visible span{opacity:1}
@media(orientation:landscape) and (max-height:650px){
 .forgeHub{padding-bottom:65px}.holdScene{padding-bottom:65px}.crewScene{padding-bottom:15px}
 #returnAboard{width:86px;height:59px;left:5px;bottom:2px}
 .stationControls{bottom:12px}.stationActions{gap:8px}.autoBottom{bottom:10px}
 .crewFigure canvas{max-height:45vh}.assemblyWork{padding-bottom:14px}
}
@media(orientation:portrait){.forgeHub{padding-bottom:85px}.holdScene{padding-bottom:85px}.crewScene{padding-bottom:75px}.stationControls{bottom:75px}.assemblyWork{padding-bottom:80px}}

