/* Warm painted wood, salvaged brass and canvas. Keep existing screen geometry. */
:root{--sea:#203f36;--ink:#f1e1bf;--muted:#c1b18e;--brass:#e9bb69;--mint:#b3c28a;--red:#e59972;--line:#dbb77840;--panel:#382e24f5;--quality-low:#b7aa8b;--quality-medium:#9dab69;--quality-high:#d5855b;--quality-ultra:#e9bb5d;color-scheme:dark}
body{background:#263c32;color:var(--ink);font-family:"Microsoft YaHei","Segoe UI",sans-serif}
button,input,select,textarea{font-family:inherit}button{border-radius:7px;border-color:#a88755;background:linear-gradient(#63533d,#443a2b);color:#f3dfb6;box-shadow:inset 0 1px #ffe8ad33,0 2px 0 #1c1b16;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}button:hover:not(:disabled){background:linear-gradient(#786349,#574733);border-color:#e9c57f;box-shadow:inset 0 1px #fff0c544,0 3px 9px #171b1544}button:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 5px #1d160b55}button:disabled{opacity:.47}button.selected,button.active{background:linear-gradient(#866841,#59432d);border-color:#edc47a;color:#fff0c5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #ffd68a;outline-offset:3px}button small{color:#c8b690}input,select,textarea{color:#f4e4c8;background:#2e2b22;border-color:#95794d}kbd{background:#302b21;color:#e0c697;border-color:#907952}::selection{background:#c7984a77;color:#fff9df}*{scrollbar-width:thin;scrollbar-color:#96774f #302b22}
.panel{border:1px solid #ad8b56;background:radial-gradient(circle at 9px 9px,#ddbb72 0 1.5px,#413426 2px 3px,transparent 3.5px),radial-gradient(circle at calc(100% - 9px) 9px,#ddbb72 0 1.5px,#413426 2px 3px,transparent 3.5px),linear-gradient(135deg,#514431f5,#302c22f5);border-radius:9px;box-shadow:inset 0 0 0 3px #30261b55,inset 0 1px #ffe8ae55,0 10px 24px #17251d44}
.section-label,.kicker{color:#d9bd8a;letter-spacing:1px}.signal{background:#bccf8c;box-shadow:0 0 0 3px #b5c88a14}.health-track{background:#332e24;border-color:#997d4a}.health-track i{background:linear-gradient(90deg,#71844f,#c1cf84)}.health b{color:#e8edbc}.action-points i{background:#d8ae63;border-color:#ffdf9d}.masthead{background:linear-gradient(90deg,#3b3528f7,#3e4230f3);border-bottom:1px solid #a68b54;box-shadow:0 3px 15px #1c241744}.crest{border-color:#c19b5e;color:#edcb8e;background:#352d23}.identity h1{color:#f5e4bf}.identity small,.identity h1 span{color:#d4bc89}.deployment{color:#ddcfad}.deployment small{color:#bea985}.vessel-status{border-color:#ad8d5555}.timeline .queue-item{border-color:#b7995b33}.mission h2{color:#f2d69f}.mission p,.log{color:#d0c29e}.enemy-count b{color:#e3af72}.map-tools button{background:#453d2fec}.footer{background:#302d23e8;color:#bdac8b;border-color:#a78b5733}.footer b{color:#edc68e}
.command-deck{background:linear-gradient(145deg,#554530f7,#302d23f7)}.command-status{background:#2d3024aa;border-color:#a58c5d44}.command-status p{color:#e4d5ad}.command-heading{border-color:#b3986344}.weapon{background:linear-gradient(150deg,#5a4b36,#383126)!important;border-color:#a68b554d!important;border-radius:8px!important}.weapon:hover{border-color:#dcb26b!important}.weapon.active,.weapon.selected{background:linear-gradient(150deg,#7e603d,#4c3d2b)!important;border-color:#e3bc74!important}.weapon .summary{color:#d7c69d}.weapon .cooldown{color:#ddad73}.move-control{background:linear-gradient(#6d7850,#414b34);border-color:#adb579}.end-control{background:linear-gradient(#ba8849,#8c5b32);border-color:#e8bc72;color:#fff0c8}.end-control:hover{background:linear-gradient(#ce9b58,#a46e3b)!important}.maneuver{background:#4a4230;border-color:#9a825047}.maneuver span{color:#d4bb89}.maneuver-heading{color:#c2b18b}.tooltip,.cost-label{background:#342d23f5;color:#f0d9ae;border:1px solid #be975d;border-radius:7px;box-shadow:0 6px 18px #0004}#toast{background:#f1d79d;color:#4a3621;border-color:#c18e4c}.overlay{background:#182218bb}.result{background:radial-gradient(ellipse at top,#81613a,#3e3225 70%);border:1px solid #d0a563;border-radius:14px;box-shadow:inset 0 0 0 5px #523b2544,0 22px 65px #0006}.result h2{color:#ffdf9e}.result p{color:#ddc49a}.gm{background:#3c3529f5}.gm button,.gm input{background:#52442e;border-color:#95764b;color:#f2d7aa}
/* Start page: the ship is the illustration; typography stays off its deck. */
#startScreen{background:#314b3d;color:#f3e3c2}#startScreen::before{content:"";position:fixed;inset:20px;border:1px solid #ddbd7f44;border-radius:12px;pointer-events:none}.start-content{margin-top:clamp(45px,9vh,95px);width:min(480px,43vw)}.start-mark{border-radius:13px 13px 18px 18px;background:linear-gradient(#a16e3f,#704e32);border:2px solid #e0b36c;color:#ffdf9b;box-shadow:inset 0 0 0 3px #533c2b,0 4px 8px #1d2a1d44}.start-eyebrow{color:#ebc88a;font-size:10px;letter-spacing:3px}#startScreen h1{color:#ffe8b6;text-shadow:0 3px 1px #3f372b;font-weight:700;letter-spacing:10px}#startScreen h1 span{color:#d5d09c;font-weight:400;letter-spacing:7px}.start-intro{color:#e1d5b3;line-height:2}#startSummary{color:#d3c397;border-color:#ceae6b;background:#3d3a2755;border-radius:0 6px 6px 0;padding:9px 12px}.start-actions button{border-color:#c9a266;border-radius:9px;background:linear-gradient(#69533a,#4b3b2c);color:#fae7be}.start-actions #startPrimary{background:linear-gradient(#edc278,#c6944f);border-color:#ffe2a1;color:#49341f;box-shadow:inset 0 2px #fff2c288,0 3px 0 #805530;font-weight:700}.start-actions #startPrimary:hover{background:linear-gradient(#f8d48a,#dfaa5b)}.start-links{margin-top:18px}.start-links a{color:#ecd09a;font-size:12px;text-decoration:none;border-bottom:1px dashed #d6b774;padding-bottom:4px}.start-links a:hover{color:#fff1ca}.start-ship-caption{border-color:#e3bc76;background:#3d38267a;padding:11px 16px;border-radius:6px}.start-ship-caption strong{color:#ffdf9f}.start-ship-caption small,.start-ship-caption span{color:#e3cea3}#startScreen footer{color:#d1be8d}#startError{color:#ffc29a}
/* Charts and working harbor menus. */
#shopParts .part-card{background:radial-gradient(ellipse at 15% 10%,#a07c3b22,transparent 65%),linear-gradient(145deg,#514632,#383226)}
#dock button,#voyage button{background:linear-gradient(#63533d,#443a2b);border-color:#a88755;color:#f3dfb6}#dock button:hover:not(:disabled),#voyage button:hover:not(:disabled){background:linear-gradient(#786349,#574733);border-color:#e9c57f}
#dock .shop-tabs button,#dock .shop-tabs button:hover:not(:disabled),#dock .shop-tabs button:active:not(:disabled){background:transparent;box-shadow:none;transform:none;color:#c9b68d}#dock .shop-tabs button[aria-selected=true],#dock .shop-tabs button[aria-selected=true]:hover:not(:disabled){color:#edc483;border-bottom-color:#edc483}
#dock.shop-workshop #shopNotice{box-sizing:border-box;display:flex;align-items:center;padding:8px 12px;height:auto;min-height:36px;max-height:72px;line-height:20px;overflow:auto;border-radius:5px;overflow-wrap:anywhere}

#voyage header{background:linear-gradient(100deg,#423b2cf7,#3a4331f2);border-bottom:1px solid #b99a61;color:#f5dfb1}#voyage h1{font-weight:700;letter-spacing:2px}#voyage h1 small{color:#c5b287}#voyageWallet{color:#f3cb80;background:#302e2388;border-radius:7px;padding:8px 12px}#voyage nav button{background:#574a33;border-color:#b79a6155;border-radius:7px}#worldNote{background:#37382ae8;color:#ecdbb6;border-color:#b99a6155;border-radius:6px}#worldChartTitle span{color:#f1d69d;text-shadow:0 2px #32402c}#worldChartTitle small,#worldLegend{color:#d4d1aa}#worldDestination{background:#403927ee;border:1px solid #b19258;border-radius:10px;box-shadow:inset 0 1px #ecd29d33,0 8px 22px #1c291c55}#worldDestination strong{color:#f9d597}#worldDestination p{color:#d9c6a0}#worldDestination button{background:linear-gradient(#b58b4c,#826139);border-color:#e6bb75;color:#fff1cc}#worldLegend{background:#34392a88;border-radius:6px;padding:9px 13px}
#dock,#voyageConfirm{background:#3a3227;color:#f1dfb7;border:1px solid #c7a363;border-radius:12px;box-shadow:inset 0 0 0 4px #201c1644,0 22px 80px #111d13aa}#dock::backdrop,#voyageConfirm::backdrop{background:#15271bd1;backdrop-filter:blur(4px)}#dockHeader{background:linear-gradient(#715638,#51402c);border-bottom:1px solid #c49b5d;padding:15px 20px;border-radius:11px 11px 0 0}#dockHeader h2{color:#ffe2a9;font-weight:700;letter-spacing:2px}#dock #dockClose{background:#473626;border-color:#aa8550;color:#efcf98;border-radius:7px}#dockBody{background:radial-gradient(ellipse at 20% 0,#6f543229,transparent 60%)}.dock-muted{color:#c9b68d;line-height:1.7}.dock-alert{background:#6b3e2e66;border:1px solid #c78b58;border-radius:7px;color:#ffcf9d}.dock-actions button.primary,.primary-action{background:linear-gradient(#d1a261,#a06e3e);border-color:#f1ca83;color:#fff0ca}.native-loadout,#dock[data-view=assembly] .native-loadout{background:#514830;border:1px solid #9e865344;border-radius:7px;color:#e4d1a6}.dock-columns{gap:18px}
.part-card{position:relative;background:radial-gradient(ellipse at 15% 10%,#a07c3b22,transparent 65%),linear-gradient(145deg,#514632,#383226);border:1px solid #9c81524d;border-radius:9px;box-shadow:inset 0 1px #efd9a219,0 2px 3px #171b1133;transition:border-color .16s,background .16s,transform .16s}.part-card[role=button]:hover{background:#665236;border-color:#e2b66c;transform:translateY(-1px)}.part-card b{color:#f2d8a3}.part-card small{color:#d2bd91;line-height:1.65}.part-card summary{color:#c7b88d}.part-card details{border-color:#ae8f5544}.part-card.selected{border-color:#f1c472;background:#705536}.part-card .equipment-art{filter:drop-shadow(0 4px 3px #1c170d77);overflow:visible}.part-card[data-quality=low]{--quality:#b7aa8b}.part-card[data-quality=medium]{--quality:#9dab69}.part-card[data-quality=high]{--quality:#d5855b}.part-card[data-quality=ultra]{--quality:#e9bb5d}.part-card[data-quality]{border-left:3px solid var(--quality)}.part-card .part-quality{font-size:10px;color:var(--quality);letter-spacing:1px;line-height:1.5;margin:0 0 4px}.part-location{color:#d9cca4;background:#322e22;border-color:#a78c584d;border-radius:5px}.part-card.installed{background:#414b33}.part-card.damaged{border-color:#d48d69}.dock-inventory{padding:5px!important}
.deck-view{background:radial-gradient(ellipse at 50% 45%,#7f825158,#283c2de8),repeating-linear-gradient(90deg,#eac68a05 0 1px,transparent 1px 34px);border-color:#b89c63;border-radius:10px;box-shadow:inset 0 0 45px #17251c88}#dock[data-view=assembly] #placementHint{background:#4b432e;color:#f0d59e;border-left:3px solid #d2ad65;border-radius:5px}.deck-toolbar select{background:#49412d;color:#e9d3a6;border-color:#a68c56}.assembly-cargo h3{color:#f2d59b}.assembly-cargo h3 small{color:#bfad86}.deck-empty polygon{stroke:#f2dca54d}.deck-occupied polygon{stroke:#dbcf9d99}.assembly-part-outline{filter:drop-shadow(0 1px 2px #20170e55)}#assemblyTip{background:#382c21f5;color:#eed8ae;border:1px solid #b99560;border-radius:9px;box-shadow:0 8px 22px #0005}#assemblyTip strong{color:#ffe4a8}.assembly-trash{background:#663e2a55;border-color:#bc8860;color:#e5b98b}#shipHullBar button{background:#53452f;border-color:#a0824c55;border-radius:8px}#shipHullBar button[aria-pressed=true]{background:#78603c;border-color:#edc57a}#shipHullBar img{filter:drop-shadow(0 4px 4px #1e180e77)}#shopTabs{border-color:#9f835447}#shopTabs button{background:#4a402e;color:#ddc69a}#shopTabs button[aria-selected=true],#shopTabs button.active{background:#a47942;color:#fff0c4;border-color:#edc483}#shopNotice{color:#f1cc8a;background:#684d2c44}.shop-buy-overlay{background:#ba894fef;color:#fff0c2}.fusion-slot{background:#4c3e2a;border-color:#c29a58;border-radius:10px}.fusion-preview{background:#66503155;border-color:#b8975b}.fusion-chance{color:#e9c778}
.expedition-hud,.expedition-float,#enemyIntel,#salvageContext{background:#3c3529f2;border-color:#ad8d55;color:#ead6ac;border-radius:9px}.intel-step,.cargo-item{border-color:#b69a6333}.intent-attack{color:#e6ad80}.intent-move{color:#c4cf92}.intel-heading,.battle-inspect h3{color:#f4d69c}.battle-menu-exit{border-color:#c795653d;background:#63412d33}#salvageContext button{background:linear-gradient(#a3854c,#725d35);border-color:#d8b26c}.battle-report{background:#3c3225;border-color:#ad8b53}.battle-report summary{color:#dfc28f}
/* Editor retains its dense grid; warmer contrast without changing its workflow. */
#configDialog button,#configDialog button:hover:not(:disabled),#configDialog button:active:not(:disabled),.ce-array button,.ce-array button:hover:not(:disabled),.ce-array button:active:not(:disabled){box-shadow:none}
#configDialog{background:#322e25;color:#e9d8b8;border-color:#af8e55;border-radius:10px}.ce-header{background:#51412e;border-color:#a98a56}.ce-title{color:#ffe1a6}.ce-toolbar,.ce-footer{background:#3c3528;border-color:#9c815144}.ce-tabs button{background:#4a402d;color:#d9c49b;border-color:#9a815144}.ce-tabs button.active{background:#8e6a3d;color:#ffe6b5}.ce-grid th{background:#5a4b32;color:#efd6a6;border-color:#9b81534d}.ce-grid td{background:#393329;border-color:#a68a4e26;color:#e9d7b7}.ce-grid tbody tr:nth-child(even) td{background:#443a2c}.ce-grid td:first-child{background:#493c2a}.ce-grid tbody tr:hover td{background:#6d563040}.ce-grid input,.ce-grid select,.ce-array input,.ce-array select{background:#302c22;border-color:#9e83503d;color:#f1ddb5}.ce-message{color:#e2ca9c}.ce-primary{background:#9a7543!important;color:#ffe7b8!important;border-color:#d8b775!important}.ce-array,.ce-menu{background:#453929;border-color:#b08c53}
/* Reuse readable line glyphs as brass stamps, not futuristic glowing symbols. */
#assemblyBtn{--stamp:url('../asset/waterworld/ui-icons/ship.svg')}#voyageConfigBtn,#configBtn{--stamp:url('../asset/waterworld/ui-icons/settings.svg')}#saveMenuBtn{--stamp:url('../asset/waterworld/ui-icons/save.svg')}#voyageGMBtn{--stamp:url('../asset/waterworld/ui-icons/terminal.svg')}#fitBtn{--stamp:url('../asset/waterworld/ui-icons/expand.svg')}#gridBtn{--stamp:url('../asset/waterworld/ui-icons/hex-grid.svg')}
#assemblyBtn::before,#voyageConfigBtn::before,#configBtn::before,#saveMenuBtn::before,#voyageGMBtn::before,#fitBtn::before,#gridBtn::before{content:"";display:inline-block;background:#e5c38b;mask:var(--stamp) center/contain no-repeat;-webkit-mask:var(--stamp) center/contain no-repeat;width:17px;height:17px;vertical-align:-3px;margin-right:6px}
@keyframes harbor-arrive{from{opacity:0}to{opacity:1}}@keyframes harbor-warmth{0%,100%{box-shadow:0 0 0 3px #b5c88a13}50%{box-shadow:0 0 0 5px #b5c88a08}}dialog[open]{animation:harbor-arrive .17s ease-out}.signal{animation:harbor-warmth 4s ease-in-out infinite}
@media(max-width:759px){#startScreen::before{inset:10px}.start-content{width:auto;margin:30vh 24px 55px}.start-mark{display:none}#startScreen h1{font-size:52px;letter-spacing:10px}.start-intro{font-size:12px;margin:16px 0}.start-links{margin-top:12px}.start-ship-caption{top:24px;right:24px;padding:8px 10px}.start-ship-caption span{font-size:9px}#voyage nav button{font-size:11px;padding:8px}#voyageWallet{padding:5px 8px}.part-card .part-quality{font-size:9px;letter-spacing:.4px}#dockHeader{padding:12px 14px}#dockHeader h2{font-size:17px}#dockBody{padding:14px}.map-tools button::before{width:14px;height:14px;margin-right:3px}}
#assemblyDeck{background:radial-gradient(ellipse,#73805a66,#293e2e 75%)}#assemblyActions,#fusionActions,.shop-tabs,.shop-footer{background:#403727;border-color:#ae8f5544}#dock input,#dock select,#salvageContext select{background:#3d3527;color:#efdcb5;border-color:#aa8e57}#dock .ship-hull-bar button{background:#4b402e;border-color:#ae8c514d}#dock .ship-hull-bar button[aria-pressed=true]{background:#79603b;border-color:#e8bf75}#dock #assemblyTrash{background:#4c3b2c;border-color:#b38a58}.assembly-shortcuts kbd{background:#453c2b;border-color:#ae925455}.deck-legend .occupied{background:#4c5238;border-color:#dfd7a5}#enemyIntel .selected{background:#4b4932}#enemyIntel .intel-detail{color:#e2d2ad}#enemyIntel .intel-detail strong{color:#cfcc9d}#enemyIntel .intel-legend{color:#bfb38c}#dock #purifyZone{background:radial-gradient(ellipse,#6e7046,#3e3b2b 75%);border-color:#b7ad70}#gm input[type=number],#gm select{background:#423929;border-color:#a58a55}.ep-status{color:#dcc58c}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:1100px){.map-tools button::before{display:none!important}}
.battle-action-prompt{background:linear-gradient(140deg,#5c4a31f7,#383225f7);border-color:#e0bb76}.battle-action-prompt>p{color:#deceaa}#battleConfirmAction,#dock .primary-action,#voyage .primary-action{background:linear-gradient(#d4ac6a,#aa8048);border-color:#efca84;color:#2e2d1e}#battleConfirmAction:hover,#dock .primary-action:hover,#voyage .primary-action:hover{background:linear-gradient(#e1bd7a,#bd9356)}
#configDialog,.ce-array{--ce-ink:#edddba;--ce-muted:#bba886;--ce-brass:#e3bb75;--ce-line:#b5955d40;--ce-mint:#bccb8c}#configDialog::backdrop{background:#18261bd0}
