/* Shared dark surfaces, readable action states and responsive catalogue cards. */
.world-map{overflow:auto;border:1px solid #38515e;border-radius:10px;scrollbar-color:#476171 #14242f}.world-map svg{display:block;min-width:650px;width:100%}.map-land{filter:invert(43%) sepia(19%) saturate(568%) hue-rotate(155deg);opacity:.5}.map-label{fill:#a7c1cd;font:11px system-ui;letter-spacing:1px}.map-player{fill:#81bace;stroke:#10202c;stroke-width:1.5}.map-player.own{fill:#f3cf7c;stroke:#fff0c1;stroke-width:2}.map-player.bot{fill:#b3a3d4}.world-map a:hover .map-player,.world-map a:focus .map-player{stroke:#fff;stroke-width:3}.map-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;font-size:11px;color:#b7cbd5}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i{height:7px;width:7px;border-radius:50%;background:#81bace}.map-legend i.own{background:#f3cf7c}.map-legend i.bot{background:#b3a3d4}.map-legend small{margin-left:auto}.map-filters{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.map-filters button{font-size:11px;min-height:38px;padding:7px 10px;background:#20333d;border-color:#405966;color:#bdd0da}.map-filters button[aria-pressed=true]{background:#d5b574;color:#16252c}.map-filters span{font-variant-numeric:tabular-nums;opacity:.7}
:root{--ink:#e4edf1;--paper:#182630;--muted:#a7bcc7;--line:#344c59}
.overview-order + .overview-order{margin-top:16px;padding-top:16px;border-top:1px solid #405966}.overview-status h2 .badge{margin-left:6px}.resources .resource img{width:40px;height:40px;object-fit:contain;background:transparent;border-radius:0}.game-nav img{object-fit:contain;background:transparent;border-radius:0}
.badge,.building-tree li>span,.cost-preview{background:#253b46;border-color:#4b626c;color:#d2e2e9}.chart{background:#152a35;color:#d5b574}.notice{background:#203936;color:#c8e6d5;border-color:#528576}.errors{background:#3c242b;color:#ffd2cf;border-color:#9b5d65}.building-tree li{border-color:#4b626c}.section-number{color:#c9b88c;border-color:#655f49}.catalog-card.is-complete{animation:none!important}
.catalog-view-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.catalog-view-filters button{min-height:36px;font-size:11px;padding:7px 12px;background:#21353f;color:#b7cbd4;border-color:#405966}.catalog-view-filters button[aria-pressed=true]{background:#d5b574;color:#16252c}.refreshing #main .panel,.refreshing #main .catalog-card,.refreshing #main .page-hero{animation:none!important}
@media(prefers-reduced-motion:no-preference){.map-player.own{animation:map-beacon 3s ease-in-out infinite}@keyframes map-beacon{50%{stroke-width:5;stroke-opacity:.35}}}
.panel,table,thead,tbody,tr,td,th,.stat,.world-grid article,details,.world-admin-card{color:var(--ink);border-color:var(--line);background-color:var(--paper)}
thead,th,.panel>h2:first-child{background:#223641;color:#dce8ed}
tbody tr:nth-child(even),tbody tr:hover{background:#1d303b}
.stat,details,.report-unit,.loadout-item,.admin-help{background:#20323d}
.stat strong,.unit-inventory strong,td a,.catalog-body h2{color:#e5edf1}
.muted,small,.catalog-description,.equipment-preview p,.empty-state p,.world-admin-card p{color:var(--muted)}
input,textarea,select{color:#e8f0f3;background:#101d27;border-color:#405662;color-scheme:dark}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #e6c58b;outline-offset:3px}
input:disabled,button:disabled{cursor:not-allowed;opacity:.5}
.positive{color:#8fdaad}.negative{color:#ffa59d}
.brand{font-size:clamp(14px,1.5vw,21px);letter-spacing:.075em}.brand img{width:50px;height:50px}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0}.search-label{margin:0;width:min(100%,420px)}.search-label .search{margin:0;max-width:none}
.catalog-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px;align-items:stretch}
.catalog-card{min-width:0;display:flex;flex-direction:column;background:linear-gradient(135deg,#20333e,#15242e);border:1px solid #38515e;border-radius:14px;overflow:hidden;box-shadow:0 7px 22px #0002}
.catalog-card[hidden]{display:none}.catalog-art{height:184px;flex-shrink:0;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#35434a66,transparent 70%),#101c26}.catalog-art:after{display:none}.catalog-art img{display:block;height:140px;width:calc(100% - 32px);margin:4px 16px 40px;object-fit:contain;object-position:center;filter:drop-shadow(0 5px 7px #0004)}
.catalog-state{position:absolute;bottom:12px;left:16px;z-index:1;padding:5px 9px;border:1px solid #809caf50;background:#0d1928c9;backdrop-filter:blur(8px);border-radius:6px;font-size:11px;color:#dce8ee}
.catalog-body{display:flex;flex:1;flex-direction:column;padding:18px}.catalog-body h2{font-size:20px;margin:0 0 10px}.catalog-description{font-size:12px;line-height:1.65;margin:0 0 16px}.catalog-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto;padding:14px 0;border-top:1px solid #3b536055}.catalog-facts small{display:block;font-size:10px}.catalog-facts strong{font-size:14px;font-variant-numeric:tabular-nums}
.catalog-order{display:grid;gap:12px;margin-top:8px}.catalog-order label{margin:0}.catalog-order>button{width:100%}.catalog-details{font-size:11px;background:transparent;padding:0;margin:16px 0 0;border:0}.catalog-details summary{color:#a8bec9;min-height:30px}.catalog-details p{font-size:11px}.catalog-card.is-complete{opacity:.58;border-color:#3e4b51}.catalog-card.is-complete .catalog-art{filter:grayscale(1)}.catalog-card.is-complete button{background:#40505a;border-color:#50616a;color:#b6c2c8}.catalog-card.is-locked .catalog-art img{filter:saturate(.45);opacity:.65}.queue-hint{font-size:12px;border-left:2px solid #d5b574;padding:10px 14px;background:#d5b5740d}
.quantity-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:5px;grid-column:1/-1}.quantity-tools small{font-size:11px;font-weight:500}.quantity-tools button{min-height:30px;padding:4px 10px;font-size:11px;color:#efd6a4;background:#d5b57412;border-color:#d5b57455;box-shadow:none}.quantity-tools button:disabled{opacity:.45}
.toast-region{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:150;display:grid;gap:10px;max-width:min(420px,calc(100vw - 28px));pointer-events:none}.toast{pointer-events:auto;padding:14px 42px 14px 17px;border:1px solid #5f9d87;border-left:3px solid #87cfb0;border-radius:10px;background:#172d2ef5;color:#e4f2ec;box-shadow:0 8px 30px #0007;font-size:13px;position:relative;backdrop-filter:blur(14px)}.toast-error{background:#321e26f5;border-color:#ae6670;border-left-color:#ee919c}.toast-close{position:absolute;right:3px;top:3px;padding:4px;min-width:32px;min-height:32px;color:inherit;background:transparent;border:0;box-shadow:none}.toast-close:hover{background:#ffffff0c}.is-submitting{opacity:.7}.is-submitting button[type=submit]:after{content:'';width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:turn .7s linear infinite}
.overview-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.overview-shortcuts a{background:#1d303b;border:1px solid #3a515d;border-radius:10px;padding:15px;display:flex;gap:12px;align-items:center;font-weight:650;font-size:12px}.overview-shortcuts img{height:40px;width:40px;object-fit:cover;border-radius:7px}
.resources .resource{position:relative;overflow:hidden}.resources .resource:after{content:'';position:absolute;bottom:0;left:0;width:35%;height:1px;background:linear-gradient(90deg,transparent,#d5b57466,transparent)}
@media(prefers-reduced-motion:no-preference){.catalog-card{animation:card-enter .4s ease-out both;transition:transform .2s,border-color .2s,box-shadow .2s}.catalog-card:nth-child(3n+2){animation-delay:.05s}.catalog-card:nth-child(3n){animation-delay:.1s}.catalog-card:hover{transform:translateY(-3px);border-color:#72929f;box-shadow:0 12px 30px #0004}.catalog-art img{transition:transform .55s}.catalog-card:hover .catalog-art img{transform:scale(1.055)}.toast{animation:toast-enter .25s ease-out}.resources .resource:after{animation:supply-flow 7s ease-in-out infinite}.resources .resource:nth-child(2n):after{animation-delay:2s}.page-hero:after{animation:ambient-glow 9s ease-in-out infinite alternate}.quantity-tools button{transition:background .2s}.resource strong{font-variant-numeric:tabular-nums}.resource.updated strong{animation:balance-update .7s ease}.catalog-card.is-complete:hover{transform:none}.toast.leaving{opacity:0;transform:translateX(20px);transition:opacity .25s,transform .25s}@keyframes card-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes supply-flow{0%,100%{transform:translateX(-120%);opacity:0}20%,80%{opacity:1}90%{transform:translateX(400%)}}@keyframes ambient-glow{from{opacity:.8}to{opacity:1}}@keyframes balance-update{50%{color:#f6dca7;text-shadow:0 0 18px #d5b57466}}}
@keyframes turn{to{transform:rotate(360deg)}}
@media(max-width:600px){.catalog-toolbar{gap:10px}.catalog-toolbar>.badge{display:none}.catalog-grid{grid-template-columns:1fr!important}.catalog-art{height:170px}.catalog-body{padding:17px}.catalog-facts strong{font-size:15px}.toast-region{bottom:max(12px,env(safe-area-inset-bottom));right:14px}.overview-shortcuts{grid-template-columns:1fr}.brand img{width:36px;height:36px}.brand small{font-size:8px}.catalog-order .quantity-tools{max-width:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.catalog-card.is-complete{opacity:.58}}
