/* The artwork is the control. Compact captions appear only on hover, focus or a first touch. */
#boatControls .boatHotspot:not(.waterCast){background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;display:block;color:#fff0c8;isolation:isolate;filter:none!important;transition:none;overflow:visible}
#boatControls .boatHotspot:not(.waterCast)::before{content:'';position:absolute;inset:0;background-image:url('assets/boat-cel-v2.webp');background-size:var(--boat-crop-size);background-position:var(--boat-crop-position);clip-path:var(--boat-object-shape);filter:brightness(1.3) saturate(1.15) drop-shadow(0 0 5px #ffe3a3);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s}
#boatControls .boatHotspot:not(.waterCast):hover::before,#boatControls .boatHotspot:not(.waterCast):focus-visible::before,#boatControls .boatHotspot.boatRevealed::before{opacity:1;visibility:visible;filter:brightness(1.4) saturate(1.18) drop-shadow(0 0 6px #fff1b3)}
#boatControls .boatHotspot:not(.waterCast):hover,#boatControls .boatHotspot:not(.waterCast):active{background:transparent!important;box-shadow:none!important;transform:none!important}
#boatControls .boatHotspot:not(.waterCast):focus-visible{outline:none}
#boatControls .boatObjectLabel{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:block;padding:.28em .65em .32em;border:1px solid #efcd8b99;border-radius:5px;background:#12394ce8;color:#fff0c8;text-shadow:0 2px #0d2735;font:800 clamp(14px,1.05vw,26px)/1.1 Nunito,system-ui,sans-serif;letter-spacing:.02em;white-space:nowrap;box-shadow:0 2px 5px #0d273566;pointer-events:none;z-index:1;opacity:0;visibility:hidden;transition:opacity .1s}
#boatControls .boatHotspot:hover .boatObjectLabel,#boatControls .boatHotspot:focus-visible .boatObjectLabel,#boatControls .boatHotspot.boatRevealed .boatObjectLabel{opacity:1;visibility:visible;background:#244e59f5;color:#fff8de;border-color:#fff0bc;box-shadow:0 0 0 2px #ffe29b55}
#boatControls .boatHotspot:disabled:not(.waterCast){opacity:0!important;pointer-events:none}
#boatControls .boatHotspot svg{display:none}
#boatControls .waterCast{border-radius:9px;background:#143c50f5!important;border:2px solid #e4b66a!important;box-shadow:inset 0 2px #3f6878,inset 0 -4px #0c283a,0 4px 0 #0e2939!important;padding:6px 22px;transition:background .12s;display:flex;align-items:center;justify-content:center}
#boatControls .waterCast .boatObjectLabel{opacity:1;visibility:visible;position:static;transform:none;border:0;background:none;padding:0;box-shadow:none;text-shadow:0 2px #0d2735;font-size:clamp(21px,1.6vw,40px);font-weight:900}
#boatControls .waterCast:hover .boatObjectLabel{background:none;box-shadow:none;border:0}
#boatControls .waterCast:hover{background:#255e70!important}
#screenCorner{position:absolute;z-index:18;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));display:flex;align-items:center;gap:8px;border:2px solid #d9b473;background:#133b4df2;color:#fff0c8;border-radius:7px;padding:10px 13px;box-shadow:0 3px 0 #102a39;font:800 clamp(13px,.85vw,24px)/1.1 Nunito,system-ui,sans-serif;cursor:pointer}
#screenCorner svg{width:22px;height:22px;flex:none}
#screenCorner:hover{background:#245869}
#screenCorner:focus-visible{outline:3px solid #fff0c8;outline-offset:3px}
#baitChooser{background:#163d50f5;padding:13px;border:2px solid #d9b473;border-radius:10px;box-shadow:0 4px 0 #102a39;gap:10px}
#baitChooser .baitChoice{width:clamp(72px,6vw,150px);height:clamp(72px,6vw,150px);flex-basis:clamp(72px,6vw,150px);padding:7px;border-radius:7px}
#baitChooser .baitChoice span{font-size:clamp(13px,1vw,26px);line-height:1.1}
/* Calm backplates preserve the open workshop while making its copy legible. */
.forgeHub .forgeHeading,.forgeHub .recipeIntro,.forgeHub .recipeGroup>.eyebrow,.forgeHub .recipeAction .error,.forgeHub .rackCount{width:fit-content;background:#123747e8;border:1px solid #d9b47388;border-radius:7px;padding:9px 14px;color:#fff0c8;text-shadow:0 1px #0e2835}
.forgeHub .forgeHeading{width:100%;border:0;background:linear-gradient(90deg,#123747ed,#123747bb);padding:13px 20px}
.forgeHub .recipeIntro h3{margin:0}
.forgeHub .recipeGroup>.eyebrow{display:inline-block;margin-bottom:10px}
.forgeHub .stationButton{background:#153b4cdc!important;border:1px solid #d9b47388!important;border-radius:8px!important;padding:12px 10px!important}
.forgeHub .stationButton strong{font-size:clamp(17px,1.5vw,34px)}
.forgeHub .stationButton small,.forgeHub .materialChoice small,.forgeHub .workpieceSlot small{font-size:clamp(13px,.95vw,23px);line-height:1.25;color:#e0e6d0}
.forgeHub .materialChoice strong{font-size:clamp(15px,1.15vw,28px)}
.forgeHub .recipeGroup>.eyebrow,.forgeHub .rackCount,.forgeHub .recipeAction .error{font-size:clamp(13px,.95vw,23px);line-height:1.3}
.forgeHub .workpieceSlot.vacant{background:#123747a8;border-radius:8px;padding:14px;color:#e4e6cc}
.forgeHub .workpieceSlot.vacant>.eyebrow{font-size:clamp(12px,.9vw,22px);color:#e0e6d0}
.forgeHub .workpieceSlot.vacant>span:last-child{font-size:clamp(15px,1.1vw,26px)}
@media(orientation:landscape) and (max-height:650px){
 #screenCorner{top:10px;left:max(10px,env(safe-area-inset-left));padding:7px;gap:5px;font-size:12px}
 #screenCorner svg{width:19px;height:19px}#screenCorner span{display:none}
 #boatControls .boatObjectLabel{font-size:13px;padding:.2em .45em}
 #baitChooser{padding:7px;gap:5px}#baitChooser .baitChoice{width:64px;height:64px;flex-basis:64px}#baitChooser .baitChoice span{font-size:11px}
 .forgeHub .stationButton{padding:7px!important}.forgeHub .stationButton strong{font-size:16px}.forgeHub .stationButton small{font-size:11px}
}
@media(orientation:portrait){#screenCorner{padding:8px}#screenCorner span{display:none}#boatControls .boatObjectLabel{font-size:11px;padding:.22em .35em}#baitChooser .baitChoice{width:63px;height:63px;flex-basis:63px}#baitChooser{gap:5px;padding:8px}}

/* Combat information has its own readable strip instead of sitting on scenery. */
#battlePage .autoBottom{left:var(--scene-pad);right:var(--scene-pad);bottom:max(16px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:5px 24px;padding:13px 18px;background:#103447f0;border:1px solid #d9b473b0;border-radius:10px;box-shadow:0 4px 0 #0c2839;text-shadow:none}
#battlePage .partyHp{grid-column:1;grid-row:1 / 3;width:auto;display:flex;gap:18px;align-items:center;margin:0}
#battlePage .crewHealthCard{flex:1;min-width:0;max-width:330px}
#battlePage .crewHealthHeading{display:flex;align-items:baseline;justify-content:space-between;gap:9px;color:#fff0c8}
#battlePage .crewName{font-size:clamp(15px,1.05vw,27px);font-weight:800;white-space:nowrap}
#battlePage .crewHealthValue{font-size:clamp(18px,1.35vw,34px);font-weight:900;white-space:nowrap;line-height:1.15}
#battlePage .crewHealthValue small{display:inline;font-size:.6em;font-weight:800;color:#d8e6d1}
#battlePage .partyHp .bar{height:10px;margin:6px 0 0;background:#071f2b;border:1px solid #628773;border-radius:4px}
#battlePage .partyHp .bar i{background:#b4d79a;transition:width .13s linear}
#battlePage .crewHealthCard.down .crewName,#battlePage .crewHealthCard.down .crewHealthValue{color:#edb18e}
#battlePage #battleSummary{grid-column:2;grid-row:1;justify-content:flex-end;margin:0}
#battlePage #battleSummary .tag{padding:0;background:none;border:0;font-size:clamp(14px,1vw,25px);color:#f7dfab;gap:7px}
#battlePage #battleSummary strong{font-size:1.15em;color:#fff2c9}
#battlePage .autoBottom #autoCall{grid-column:2;grid-row:2;font-size:clamp(12px,.8vw,20px);line-height:1.25;letter-spacing:.02em;color:#d0dfcf;text-align:right;margin:0}
@media(orientation:landscape) and (max-height:650px){
 #battlePage .autoBottom{bottom:max(8px,env(safe-area-inset-bottom));left:14px;right:14px;padding:8px 10px;gap:3px 14px;border-radius:7px}
 #battlePage .partyHp{gap:12px}#battlePage .crewName{font-size:12px}#battlePage .crewHealthValue{font-size:16px}#battlePage .partyHp .bar{height:7px;margin-top:3px}
 #battlePage #battleSummary .tag{font-size:12px}#battlePage .autoBottom #autoCall{font-size:10px;max-width:190px}
}
@media(orientation:portrait){
 #battlePage .autoBottom{grid-template-columns:1fr;padding:10px;gap:7px;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}
 #battlePage .partyHp{grid-column:1;grid-row:1;gap:10px}#battlePage .crewHealthHeading{display:block;text-align:center}#battlePage .crewName{display:block;font-size:12px}#battlePage .crewHealthValue{font-size:16px}#battlePage .partyHp .bar{height:7px;margin-top:3px}
 #battlePage #battleSummary{grid-column:1;grid-row:2;justify-content:center}#battlePage #battleSummary .tag{font-size:13px}#battlePage .autoBottom #autoCall{display:none}
}
