html,body{color:#efe2d2;background:#1b1714;height:100%;margin:0}:root{--app-base-font-size:clamp(14px, 1.6vw, 18px);--app-font-scale:1}:focus-visible{outline-offset:2px;outline:2px solid #e8b45c}.skip-link{z-index:10;color:#1b1714;background:#e8b45c;padding:8px 14px;text-decoration:none;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#app{min-height:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:calc(var(--app-base-font-size) * var(--app-font-scale));letter-spacing:.04em;flex-direction:column;display:flex}#app-header{border-bottom:1px solid #3a2f27;flex-wrap:wrap;align-items:baseline;gap:8px 28px;padding:18px 22px;display:flex}#app-title{letter-spacing:.22em;text-transform:uppercase;color:#c9a27a;margin:0;font-size:.85em}#app-nav{flex-wrap:wrap;gap:6px 20px;display:flex}#app-nav a{color:#efe2d2;opacity:.55;text-decoration:none}#app-nav a:hover,#app-nav a:focus-visible{opacity:1;text-decoration:underline}#app-nav a[aria-current=page]{opacity:1;color:#e8b45c;text-decoration:underline}#app-screen{flex:1;padding:12vh 22px 22px}#app-screen h1{font-size:calc(clamp(22px, 3vw, 34px) * var(--app-font-scale));letter-spacing:.02em;margin:0 0 12px;font-weight:500}#app-screen p{color:#cbbbaa;max-width:60ch;margin:0;line-height:1.6}body[data-route=expedition] #app-screen{padding-top:18px}#expedition-view,#session-view{background:#14110f;border:1px solid #3a2f27;width:100%;height:62vh;margin-top:18px;display:block}#session{background:#201a16;border:1px solid #3a2f27;margin-top:14px;padding:12px 14px}#session ul{color:#cbbbaa;margin:8px 0 0;padding-left:20px;line-height:1.55}#session-build{background:#1b1714;border:1px solid #3a2f27;margin-top:14px;padding:12px 14px}#session-build h2{letter-spacing:.18em;text-transform:uppercase;color:#c9a27a;margin:0;font-size:.85em}#session-build-rows button{font:inherit;color:inherit;cursor:pointer;background:#1b1714;border:1px solid #3a2f27;padding:4px 10px}#session-build-rows button[aria-pressed=true]{color:#e8b45c;border-color:#e8b45c}#session-build-rows button[data-locked]{opacity:.7}#expedition-hud,#expedition-build-menu,#expedition-combat{background:#201a16;border:1px solid #3a2f27;margin-top:14px;padding:12px 14px}#expedition-build-menu h2,#expedition-outcome h2{letter-spacing:.18em;text-transform:uppercase;color:#c9a27a;margin:0;font-size:.85em}#expedition-hud ul,#expedition-build-menu ul,#expedition-outcome ul{color:#cbbbaa;margin:8px 0 0;padding-left:20px;line-height:1.55}#expedition-hud-objective{color:#e8b45c;max-width:none;margin:0;line-height:1.5}#expedition-build-rows button{font:inherit;color:inherit;cursor:pointer;background:#1b1714;border:1px solid #3a2f27;padding:4px 10px}#expedition-build-rows button[aria-pressed=true]{color:#e8b45c;border-color:#e8b45c}#expedition-build-rows button[data-locked]{opacity:.7}#expedition-combat p{color:#cbbbaa;max-width:none;margin:0 0 4px;line-height:1.5}#expedition-combat p:empty{display:none}#expedition-outcome{background:#1b1714f5;border:1px solid #e8b45c;padding:20px 22px;position:fixed;inset:10% 12% auto}#expedition-outcome[hidden]{display:none}#expedition-retry{font:inherit;color:#1b1714;cursor:pointer;background:#e8b45c;border:1px solid #e8b45c;margin-top:14px;padding:6px 14px}#expedition-controls,#session-controls{color:#cbbbaa;max-width:none;margin:8px 0 0;line-height:1.5}#app-options{font:inherit;color:#efe2d2;cursor:pointer;background:#1b1714;border:1px solid #3a2f27;margin-left:auto;padding:4px 12px}#app-options:hover,#app-options:focus-visible{color:#e8b45c;border-color:#e8b45c}#app-options-dialog{color:#efe2d2;max-width:44rem;max-height:80vh;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:calc(var(--app-base-font-size) * var(--app-font-scale));background:#201a16;border:1px solid #e8b45c;padding:20px 22px;overflow:auto}#app-options-dialog::backdrop{background:#0009}#app-options-dialog h2{letter-spacing:.18em;text-transform:uppercase;color:#c9a27a;margin:0 0 6px;font-size:.95em}#app-options-dialog p{color:#cbbbaa;max-width:60ch;margin:0 0 10px;line-height:1.5}#app-options-dialog fieldset{border:1px solid #3a2f27;margin:0 0 14px;padding:10px 12px}#app-options-dialog legend{color:#c9a27a;letter-spacing:.12em;text-transform:uppercase;padding:0 4px;font-size:.85em}#app-options-dialog label{align-items:center;gap:6px;margin-right:16px;display:inline-flex}#app-bindings{margin:0;padding:0;list-style:none}#app-bindings li{border-top:1px solid #2c2420;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}#app-bindings li:first-child{border-top:0}#app-bindings button,#app-options-reset,#app-options-close{font:inherit;color:inherit;cursor:pointer;background:#1b1714;border:1px solid #3a2f27;padding:4px 12px}#app-bindings button:hover,#app-bindings button:focus-visible,#app-options-reset:hover,#app-options-reset:focus-visible,#app-options-close:hover,#app-options-close:focus-visible{color:#e8b45c;border-color:#e8b45c}#app-options-actions{gap:10px;margin:4px 0 10px;display:flex}#app-options-status{color:#e8b45c;min-height:1.2em}#lobby{background:#201a16;border:1px solid #3a2f27;max-width:60ch;margin-top:14px;padding:12px 14px}#lobby #lobby-form{flex-direction:column;gap:4px;max-width:32ch;display:flex}#lobby #lobby-form label{letter-spacing:.14em;text-transform:uppercase;color:#c9a27a;font-size:.8em}#lobby #lobby-form input{font:inherit;color:inherit;background:#1b1714;border:1px solid #3a2f27;margin-bottom:8px;padding:4px 8px}#lobby #lobby-actions{gap:10px;display:flex}#lobby button{font:inherit;color:inherit;cursor:pointer;background:#1b1714;border:1px solid #3a2f27;padding:4px 12px}#lobby button:disabled{opacity:.65;cursor:not-allowed}#lobby #lobby-status{color:#c9a27a;margin-top:12px}#lobby #lobby-message,#lobby #lobby-room-code{color:#e8b45c}#lobby #lobby-room-host{color:#cbbbaa}#lobby #lobby-members{color:#cbbbaa;margin:8px 0 0;padding-left:20px;line-height:1.55}#world-map{background:#201a16;border:1px solid #3a2f27;max-width:60ch;margin-top:14px;padding:12px 14px}#world-map #world-territories{margin:0;padding:0;list-style:none}#world-map #world-territories li+li{margin-top:6px}#world-map #world-territories label{cursor:pointer;align-items:baseline;gap:8px;padding:4px 0;display:flex}#world-map #world-territories input{margin:0}#world-map #world-territories .world-name{color:#e8b45c}#world-map #world-territories .world-difficulty{color:#c9a27a;letter-spacing:.08em;text-transform:uppercase;font-size:.8em}#world-map #world-territories .world-status{color:#cbbbaa;font-size:.85em}#world-map #world-enter{font:inherit;color:inherit;cursor:pointer;background:#1b1714;border:1px solid #3a2f27;margin-top:12px;padding:4px 12px}#world-map #world-enter:disabled{opacity:.65;cursor:not-allowed}#hub{background:#201a16;border:1px solid #3a2f27;max-width:72ch;margin-top:14px;padding:12px 14px}#hub #hub-bank-title,#hub #hub-recipes-title,#hub #hub-items-title,#hub #hub-progression-title,#hub #hub-talents-title{color:#c9a27a;font-size:.8em;font-weight:inherit;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}#hub #hub-recipes-title,#hub #hub-items-title,#hub #hub-talents-title{margin-top:16px}#hub #hub-progression{color:#cbbbaa;border-bottom:1px solid #2c2420;margin:0 0 14px;padding:8px 0 10px}#hub #hub-progression p{margin:0 0 2px}#hub #hub-progression .hub-level{color:#e8b45c}#hub #hub-progression .hub-points{color:#c9a27a}#hub #hub-talents{margin:0;padding:0;list-style:none}#hub #hub-talents>li{border-top:1px solid #2c2420;padding:10px 0}#hub .talent-branch-name{color:#e8b45c}#hub .talent-nodes{margin:6px 0 0;padding:0;list-style:none}#hub .talent-nodes>li{border-top:1px solid #2c2420;flex-direction:column;gap:2px;padding:8px 0;display:flex}#hub .talent-name{color:#e8b45c}#hub .talent-effect,#hub .talent-meta{color:#cbbbaa;font-size:.85em}#hub .talent-status{color:#cbbbaa}#hub .talent-status:empty{display:none}#hub #hub-talents button{font:inherit;color:inherit;cursor:pointer;background:#1b1714;border:1px solid #3a2f27;align-self:flex-start;margin-top:6px;padding:4px 12px}#hub #hub-talents button:disabled{opacity:.65;cursor:not-allowed}#hub #hub-bank{color:#cbbbaa;flex-wrap:wrap;gap:4px 14px;margin:0 0 14px;padding:0;font-size:.85em;list-style:none;display:flex}#hub #hub-bank li{gap:4px;display:flex}#hub .hub-bank-amount{color:#e8b45c}#hub #hub-buildings{margin:0;padding:0;list-style:none}#hub #hub-buildings li{border-top:1px solid #2c2420;flex-direction:column;gap:2px;padding:10px 0;display:flex}#hub .hub-name{color:#e8b45c}#hub .hub-job,#hub .hub-cost,#hub .hub-time{color:#cbbbaa;font-size:.85em}#hub .hub-status{color:#cbbbaa}#hub .hub-refusal{color:#d08a6a;font-size:.85em}#hub .hub-refusal:empty{display:none}#hub #hub-buildings button{font:inherit;color:inherit;cursor:pointer;background:#1b1714;border:1px solid #3a2f27;align-self:flex-start;margin-top:6px;padding:4px 12px}#hub #hub-buildings button:disabled{opacity:.65;cursor:not-allowed}#hub #hub-recipes{margin:0;padding:0;list-style:none}#hub #hub-recipes li{border-top:1px solid #2c2420;flex-direction:column;gap:2px;padding:10px 0;display:flex}#hub .craft-name{color:#e8b45c}#hub .craft-meta,#hub .craft-cost,#hub .craft-time{color:#cbbbaa;font-size:.85em}#hub .craft-stats{color:#c9a27a}#hub .craft-status{color:#cbbbaa}#hub .craft-status:empty{display:none}#hub #hub-recipes button{font:inherit;color:inherit;cursor:pointer;background:#1b1714;border:1px solid #3a2f27;align-self:flex-start;margin-top:6px;padding:4px 12px}#hub #hub-recipes button:disabled{opacity:.65;cursor:not-allowed}#hub #hub-items{color:#cbbbaa;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;font-size:.85em;list-style:none;display:flex}#hub #hub-items li{gap:4px;display:flex}#hub .hub-item-count{color:#e8b45c}
