html,body{margin:0;padding:0;overflow:hidden;width:100vw;height:100vh}.card,[class*=panel] .card,[class*=Panel] .card{max-width:100%;word-wrap:break-word;overflow-wrap:break-word}.game-main-col>div:not(.game-layout):not([class*=chat]){width:fit-content;max-width:100%}.game-notification,.game-info-box{width:fit-content;max-width:100%;display:inline-flex;flex-direction:column}.game-movement{width:100%}.game-weather-inline,.game-feelings,.game-action-result,.game-prospect-result,.game-extract-result{width:fit-content;max-width:100%}*{word-wrap:break-word;overflow-wrap:break-word}p,span,div,td,th,li,label{word-break:break-word}[class*=card],[class*=panel],[class*=Panel]{overflow-x:hidden}.game-nearby-bar{display:flex;gap:8px;flex-wrap:wrap;padding:4px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;font-size:11px;font-family:var(--font-ui);align-items:center}.game-nearby-bar .nearby-item{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:3px;background:var(--bg-card);white-space:nowrap}.game-nearby-bar .nearby-follower{border-left:2px solid var(--accent)}.game-nearby-bar .nearby-player{border-left:2px solid #4caf50}.game-nearby-bar .nearby-weather{border-left:2px solid #ff9800}.game-panel-toggles{display:flex;gap:2px;flex-wrap:wrap}.panel-toggle{font-size:10px;padding:2px 6px;opacity:.5}.panel-toggle--active{opacity:1}.game-layout{display:flex;gap:8px;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 8px 8px}.game-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid var(--border);font-size:13px}.game-main-col{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.game-side-panel{width:320px;flex-shrink:0;overflow-y:auto}.game-workspace-divider{height:2px;background:var(--border);margin:4px 0;flex-shrink:0}.game-side-panel>*{width:100%;box-sizing:border-box}.game-system-messages{max-height:120px;overflow-y:auto;overflow-x:hidden;font-size:12px;padding:4px;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);scroll-behavior:smooth}.game-system-messages::-webkit-scrollbar{width:4px}.game-system-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.game-actions-busy .senses-action-btn,.game-actions-busy .senses-action-gather,.game-actions-busy button[class*=action]:not([class*=turn]):not([class*=move]):not([class*=direction]){pointer-events:none;opacity:.4;cursor:not-allowed}.senses-action-btn:active,.senses-action-gather:active,.crafting-item:active,.crafting-try-btn:active,.mining-worker-btn:active,.mining-prospect-btn:active,.econ-btn:active,.econ-buy-btn:active,.settle-btn:active,.placement-option:active,.placement-build-btn:active,button.primary:active{transform:scale(.95);box-shadow:0 0 0 3px #6366f166;transition:transform .05s,box-shadow .05s}.senses-action-btn:focus-visible,.senses-action-gather:focus-visible,.crafting-item:focus-visible,.crafting-try-btn:focus-visible,.mining-worker-btn:focus-visible,.econ-btn:focus-visible,.econ-buy-btn:focus-visible,.settle-btn:focus-visible,button.primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px #6366f140}.game-side-toggle{display:none}@media(max-width:768px){.game-layout{flex-direction:column}.game-main-col{min-width:0;width:100%}.game-side-panel{position:fixed;top:0;right:0;bottom:0;width:85vw;max-width:360px;z-index:100;background:var(--bg-primary);box-shadow:-4px 0 16px #00000080;transform:translate(100%);transition:transform .25s ease;overflow-y:auto;padding:8px}.game-side-panel.open{transform:translate(0)}.game-side-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:99}.game-side-backdrop.open{display:block}.game-side-toggle{display:inline-flex;align-items:center;justify-content:center;position:fixed;bottom:16px;right:16px;width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;font-size:20px;border:none;z-index:101;box-shadow:0 2px 8px #0000004d;cursor:pointer}.game-panel-toggles{gap:4px}.game-panel-toggles button{font-size:12px;padding:6px 10px;min-height:36px}.game-header{padding:6px 10px;font-size:12px;flex-wrap:wrap}}.game-root{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;flex-direction:column;font-family:var(--font-ui);background:var(--bg-primary);transition:background 1.5s ease;overflow:hidden}.game-root--fire-strong{background:linear-gradient(180deg,#1a0e05 0%,#0f0a04 40%,var(--bg-primary) 100%)}.game-root--fire-medium{background:linear-gradient(180deg,#150b04 0%,#0d0903 40%,var(--bg-primary) 100%)}.game-root--fire-subtle{background:linear-gradient(180deg,#100903 0%,#0b0802 40%,var(--bg-primary) 100%)}@keyframes fadeIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes fire-flicker{0%,to{opacity:1}25%{opacity:.85}50%{opacity:.95}75%{opacity:.8}}.game-fire-overlay{animation:fire-flicker 3s ease-in-out infinite}.tooltip{background:var(--bg-secondary);border:1px solid var(--border-focus);border-radius:var(--radius-sm);padding:8px 12px;font-family:var(--font-ui);font-size:13px;color:var(--text-primary);max-width:320px;line-height:1.4;pointer-events:none;box-shadow:0 4px 12px #00000080;animation:tooltip-fade-in .15s ease-out}@keyframes tooltip-fade-in{0%{opacity:0}to{opacity:1}}.tooltip-title{font-weight:700;color:var(--accent);margin-bottom:4px;font-size:14px}.tooltip-stat{display:flex;justify-content:space-between;padding:2px 0;font-size:12px}.tooltip-stat-label{color:var(--text-muted)}.tooltip-stat-value{color:var(--text-primary);font-weight:600}.tooltip-divider{border:none;border-top:1px solid var(--border);margin:6px 0}.tooltip-flavor{font-family:var(--font-body);font-style:italic;color:var(--text-muted);font-size:12px;margin-top:4px}.item-tooltip-prop-true{color:var(--success)}.item-tooltip-actions,.player-tooltip-actions{font-size:11px;color:var(--text-muted)}.location-tooltip-type{font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.location-tooltip-actions{font-size:11px;color:var(--text-muted)}.action-tooltip-disabled{font-size:12px;color:var(--danger);margin-top:4px}.action-tooltip-cost{color:var(--warning);font-weight:700}.animal-tooltip-threat{text-transform:capitalize;font-weight:700}.animal-tooltip-actions{font-size:11px;color:var(--text-muted)}.senses-panel{display:flex;flex-direction:column;gap:12px;transition:filter .5s,background .5s;border-radius:var(--radius);padding:4px;width:fit-content;max-width:100%}.senses-empty{color:var(--text-muted);font-size:13px;font-style:italic;padding:16px}.senses-sight{display:flex;flex-direction:column;gap:10px}.senses-time{display:flex;align-items:center;gap:8px;font-family:var(--font-ui)}.senses-time-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.senses-visibility-warn{font-size:10px;padding:2px 6px;border-radius:3px;background:#f59e0b26;color:var(--warning);border:1px solid rgba(245,158,11,.25)}.senses-description{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--text-primary)}.senses-entity{color:var(--accent);cursor:pointer;border-bottom:1px dotted var(--accent-dim);transition:color .15s}.senses-entity:hover{color:var(--accent-hover)}.senses-card-group{display:flex;flex-direction:column;gap:6px}.senses-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-family:var(--font-ui);font-weight:700}.senses-cards{display:flex;flex-wrap:wrap;gap:6px}.senses-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;min-width:140px;max-width:220px;flex:1 1 140px;cursor:default;transition:border-color .15s}.senses-card:hover{border-color:var(--border-focus)}.senses-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.senses-card-type{font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-ui)}.senses-card-distance{font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}.senses-card-name{font-size:14px;font-weight:600;margin-bottom:2px;word-wrap:break-word;overflow-wrap:break-word}.senses-card-desc{font-size:12px;color:var(--text-secondary);line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.senses-threat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-ui);margin-top:4px}.senses-card-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.senses-action-btn{font-size:11px;padding:2px 8px;border-radius:3px;display:flex;flex-direction:column;align-items:center;gap:1px;transition:transform .08s,box-shadow .08s,background .1s}.senses-action-gather{border-color:var(--success);color:var(--success)}.senses-action-gather:hover:not(:disabled){background:#22c55e1a;border-color:var(--success)}.senses-card-water{border-left:3px solid var(--info, #2196f3)}.senses-card-water .senses-action-btn{background:#3b82f626;border-color:var(--info, #2196f3);color:var(--info, #2196f3);font-size:12px;padding:4px 12px;font-weight:600}.senses-card-water .senses-action-btn:hover:not(:disabled){background:#3b82f64d}.senses-action-label{white-space:nowrap}.senses-action-cost{font-size:9px;color:var(--text-muted);font-family:var(--font-mono)}.senses-card-building{border-left:3px solid var(--warning)}.senses-production{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.senses-production-rate{font-size:10px;font-family:var(--font-mono);color:var(--success);padding:1px 5px;background:#22c55e14;border-radius:2px;border:1px solid rgba(34,197,94,.15)}.senses-disabled-hint{display:flex;flex-direction:column;gap:2px;margin-top:4px}.senses-disabled-action{font-size:10px;color:var(--text-muted);font-style:italic;cursor:default}.senses-ambient{display:flex;flex-wrap:wrap;gap:4px 8px;padding:6px 8px;background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border)}.senses-ambient-item{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-family:var(--font-body);font-style:italic;white-space:nowrap;padding:1px 6px;background:var(--bg-card, #252545);border-radius:3px}.senses-ambient-icon{font-style:normal;font-size:10px}.senses-ambient-text{color:var(--text-secondary)}.senses-ambient-dir{font-size:9px;font-family:var(--font-mono);font-style:normal;color:var(--text-muted)}.senses-dist-close{color:var(--text-primary)}.senses-dist-near{color:var(--text-secondary)}.senses-dist-far,.senses-dist-distant,.senses-intensity-faint{color:var(--text-muted)}.senses-intensity-moderate{color:var(--text-secondary)}.senses-intensity-strong{color:var(--text-primary)}.senses-intensity-overwhelming{color:var(--warning);font-weight:600}.senses-touch{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;font-size:11px;font-family:var(--font-ui);color:var(--text-muted);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);width:fit-content}.senses-touch-item{text-transform:capitalize}.senses-touch-sep{color:var(--border)}.senses-pain{font-family:var(--font-mono);font-weight:700}.senses-card-unidentified{border-left:3px solid var(--text-muted);opacity:.85}.senses-card-unidentified .senses-card-name{font-style:italic;color:var(--text-muted)}.senses-card-hints{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.senses-hint{font-size:10px;font-style:italic;color:var(--text-secondary);padding:1px 6px;background:#ffffff0a;border-radius:3px;border:1px dashed var(--border)}.game-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;min-height:0}.game-card-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;-webkit-user-select:none;user-select:none;flex-shrink:0}.game-card-header.clickable{cursor:pointer}.game-card-header.clickable:hover{background:var(--bg-card-hover)}.game-card-title{display:flex;align-items:center;gap:8px}.game-card-chevron{font-size:10px;color:var(--text-muted);width:14px}.game-card-header-right{font-size:12px;font-weight:400;color:var(--text-muted)}.game-card-body{padding:12px 14px;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border) transparent;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.game-card.collapsed{min-height:auto}.game-card.collapsed .game-card-header{border-bottom:none}.combat-panel{display:flex;flex-direction:column;gap:8px}.combat-status{padding:8px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.combat-meter{display:flex;align-items:center;gap:8px;margin-bottom:4px}.combat-meter:last-child{margin-bottom:0}.combat-meter-label{width:28px;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--text-muted)}.combat-meter-track{flex:1;height:8px;background:var(--bg-primary);border-radius:4px;overflow:hidden}.combat-meter-fill{height:100%;border-radius:4px;transition:width .3s ease,background .3s}.combat-meter-value{width:28px;text-align:right;font-family:var(--font-mono);font-size:12px;font-weight:700}.combat-injuries{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.combat-injury-tag{font-size:10px;font-family:var(--font-ui);padding:2px 6px;border-radius:3px;background:#ef444426;color:var(--danger);border:1px solid rgba(239,68,68,.25)}.combat-targets{display:flex;flex-direction:column;gap:4px}.combat-target{display:flex;justify-content:space-between;align-items:center;width:100%;padding:6px 10px;text-align:left}.combat-target.selected{border-color:var(--accent);background:var(--bg-card-hover)}.combat-target-name{font-size:13px;font-weight:600}.combat-target-type{font-size:10px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.combat-body-parts{margin-top:8px}.combat-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-family:var(--font-ui);margin-bottom:4px}.combat-body-part-list{display:flex;flex-wrap:wrap;gap:4px}.combat-body-part{font-size:11px;padding:3px 8px}.combat-body-part.selected{border-color:var(--accent);background:var(--accent-dim);color:#fff}.combat-actions{display:flex;flex-direction:column;gap:4px}.combat-action{display:flex;justify-content:space-between;align-items:center;width:100%;padding:6px 10px;text-align:left}.combat-action.disabled{opacity:.4;cursor:not-allowed}.combat-action-label{font-size:13px;font-weight:600}.combat-action-cost{font-family:var(--font-mono);font-size:11px}.combat-log{max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.combat-log-entry{padding:6px 0;border-bottom:1px solid var(--border)}.combat-log-entry:last-of-type{border-bottom:none}.combat-log-narrative{font-family:var(--font-body);font-size:13px;line-height:1.5;color:var(--text-primary)}.combat-log-meta{display:flex;gap:8px;margin-top:3px;font-family:var(--font-mono);font-size:11px}.combat-log-result{font-weight:700;text-transform:uppercase}.combat-log-damage{color:var(--danger);font-weight:700}.combat-log-part{color:var(--text-muted)}.combat-log-injury{color:var(--warning);font-style:italic}.combat-empty{color:var(--text-muted);font-size:12px;font-style:italic;font-family:var(--font-ui)}.crafting-panel{display:flex;flex-direction:column;gap:8px;width:fit-content;max-width:100%}.crafting-discovery{background:linear-gradient(135deg,#6366f11f,#a855f71f);border:1px solid var(--accent);border-radius:var(--radius);padding:16px;text-align:center;animation:discovery-glow 2s ease-in-out infinite}@keyframes discovery-glow{0%,to{box-shadow:0 0 8px #6366f133}50%{box-shadow:0 0 20px #6366f166}}.crafting-discovery-title{font-size:18px;font-weight:700;color:var(--accent);margin-bottom:8px;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.1em}.crafting-discovery-narrative{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--text-primary);margin-bottom:8px}.crafting-discovery-item{font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--accent-hover);margin-bottom:12px}.crafting-discovery-name-input{display:flex;gap:8px}.crafting-result{padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border)}.crafting-result.success{border-color:var(--success);background:#22c55e14}.crafting-result.failure{border-color:var(--danger);background:#ef444414}.crafting-result-label{font-size:12px;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.crafting-result.success .crafting-result-label{color:var(--success)}.crafting-result.failure .crafting-result-label{color:var(--danger)}.crafting-result-narrative{font-family:var(--font-body);font-size:13px;line-height:1.5;color:var(--text-secondary)}.crafting-result-item{font-size:13px;margin-top:4px;font-family:var(--font-ui);color:var(--text-primary)}.crafting-selected{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:8px;min-height:36px;padding:4px;border:2px dashed transparent;border-radius:var(--radius);transition:border-color .15s,background .15s}.crafting-dropzone-empty{border-color:var(--border);justify-content:center}.crafting-dropzone-active{border-color:var(--accent)!important;background:#6366f114}.crafting-dropzone-hint{font-size:11px;color:var(--text-muted);font-style:italic;font-family:var(--font-ui)}.crafting-item[draggable=true]{cursor:grab}.crafting-item[draggable=true]:active{cursor:grabbing;opacity:.6}.crafting-selected-item{display:inline-flex;align-items:center}.crafting-plus{color:var(--text-muted);font-family:var(--font-mono);font-size:14px;margin:0 4px}.crafting-chip{font-size:12px;font-family:var(--font-ui);padding:3px 8px;border-radius:3px;background:var(--accent-dim);color:#fff;cursor:pointer}.crafting-chip:hover{background:var(--accent)}.crafting-try-btn{width:100%;margin-bottom:8px}.crafting-divider{border:none;border-top:1px solid var(--border);margin:4px 0 8px}.crafting-inventory{display:flex;flex-wrap:wrap;gap:4px}.crafting-item{display:flex;align-items:center;gap:4px;padding:6px 12px;font-size:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.crafting-item:hover{border-color:var(--accent);background:var(--bg-card-hover, rgba(99, 102, 241, .06));box-shadow:0 0 0 1px var(--accent)}.crafting-item.selected{border-color:var(--accent);background:var(--accent-dim, rgba(99, 102, 241, .15));box-shadow:0 0 0 2px var(--accent)}.crafting-item-name{font-weight:600}.crafting-item-qty{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.crafting-recipes{display:flex;flex-direction:column;gap:4px}.crafting-recipe{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid var(--border)}.crafting-recipe:last-child{border-bottom:none}.crafting-recipe-info{display:flex;flex-direction:column}.crafting-recipe-name{font-size:13px;font-weight:600}.crafting-recipe-meta{font-size:11px;color:var(--text-muted);font-family:var(--font-ui)}.crafting-teach-btn{font-size:11px;padding:3px 10px}.crafting-empty{color:var(--text-muted);font-size:12px;font-style:italic;font-family:var(--font-ui)}.dh-list{display:flex;flex-direction:column;gap:8px}.dh-entry{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);transition:border-color .15s}.dh-entry:hover{border-color:var(--border-focus)}.dh-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.dh-category{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-ui);font-weight:700}.dh-year{font-size:10px;font-family:var(--font-mono);color:var(--text-muted)}.dh-name{font-size:15px;font-weight:700;margin-bottom:2px}.dh-desc{font-size:12px;color:var(--text-secondary);line-height:1.4;font-family:var(--font-body);margin-bottom:4px}.dh-credit{font-size:11px;color:var(--text-muted);font-family:var(--font-ui)}.dh-discoverer{color:var(--accent);cursor:pointer}.dh-discoverer:hover{color:var(--accent-hover);text-decoration:underline}.dh-empty{color:var(--text-muted);font-size:13px;font-style:italic;font-family:var(--font-body);padding:8px 0}.lb-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.lb-tab{font-size:11px;padding:4px 10px;border-radius:3px;text-transform:uppercase;letter-spacing:.03em}.lb-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.lb-list{display:flex;flex-direction:column}.lb-row{display:flex;align-items:center;gap:8px;padding:6px 4px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;font-size:13px}.lb-row:last-child{border-bottom:none}.lb-row:hover{background:var(--bg-card-hover)}.lb-self{background:#6366f114;border-left:2px solid var(--accent);padding-left:6px}.lb-rank{width:28px;text-align:center;flex-shrink:0}.lb-rank-num{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.lb-medal{font-size:14px}.lb-name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-value{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--accent);display:flex;align-items:baseline;gap:3px}.lb-unit{font-size:10px;font-weight:400;color:var(--text-muted);text-transform:lowercase}.lb-empty{color:var(--text-muted);font-size:12px;font-style:italic;font-family:var(--font-ui);padding:8px 0}.injury-panel{display:flex;flex-direction:column;gap:12px;width:fit-content;max-width:100%}.injury-panel.bleeding{animation:bleed-pulse 2s ease-in-out infinite}@keyframes bleed-pulse{0%,to{box-shadow:none}50%{box-shadow:inset 0 0 8px #ef444426}}.injury-blood-warning{font-family:var(--font-ui);font-size:12px;font-weight:700;color:var(--danger);text-align:center;padding:6px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm)}.injury-blood-warning.critical{animation:pulse-critical 1s ease-in-out infinite}.injury-body-diagram{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto auto;gap:4px;padding:8px;justify-items:center}.body-part{width:60px;padding:6px 4px;border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;cursor:default;transition:border-color .2s,background .15s;position:relative}.body-part:hover{background:var(--bg-card-hover)}.body-part.injured{border-width:2px}.body-part.disabled{opacity:.4}.body-part-label{font-family:var(--font-ui);font-size:9px;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.body-part-count{font-family:var(--font-mono);font-size:14px;font-weight:700;margin-top:2px}.body-part-bleed{position:absolute;top:2px;right:2px;width:6px;height:6px;border-radius:50%;background:var(--danger);animation:pulse-critical 1s ease-in-out infinite}.body-part-lost{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:24px;font-weight:700;color:var(--danger);opacity:.6}.injury-list{display:flex;flex-direction:column;gap:6px}.injury-empty{color:var(--text-muted);font-style:italic;font-size:13px;text-align:center;padding:12px}.injury-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;border-left:3px solid var(--text-muted)}.injury-minor{border-left-color:var(--text-muted)}.injury-moderate{border-left-color:var(--warning)}.injury-severe{border-left-color:var(--warmth)}.injury-critical{border-left-color:var(--danger)}.injury-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.injury-type{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.injury-location{font-family:var(--font-ui);font-size:11px;color:var(--text-muted)}.injury-details{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.injury-severity{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase}.injury-tag{font-family:var(--font-ui);font-size:9px;font-weight:700;text-transform:uppercase;padding:1px 5px;border-radius:3px}.injury-tag.bleeding{background:#ef444426;color:var(--danger)}.injury-tag.infected{background:#a855f726;color:var(--fatigue)}.injury-age{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.injury-healing{display:flex;align-items:center;gap:6px;margin-bottom:6px}.injury-healing-track{flex:1;height:3px;background:#ffffff0f;border-radius:2px;overflow:hidden}.injury-healing-fill{height:100%;background:var(--success);border-radius:2px;transition:width .6s ease}.injury-healing-label{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);min-width:60px;text-align:right}.injury-modifiers{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.injury-mod{font-family:var(--font-mono);font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px}.injury-mod.negative{background:#ef44441a;color:var(--danger)}.injury-mod.positive{background:#22c55e1a;color:var(--success)}.injury-treatments{display:flex;gap:4px;flex-wrap:wrap}.injury-treat-btn{font-size:10px;padding:3px 8px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.injury-treat-btn:disabled{opacity:.4;cursor:not-allowed}.chat-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;position:relative}.chat-scroll-down{position:absolute;bottom:40px;left:50%;transform:translate(-50%);background:var(--accent, #6c63ff);color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:16px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0006}.chat-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.chat-tab{flex:1;padding:6px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s;font-family:var(--font-ui);position:relative}.chat-tab:hover{color:var(--text-secondary);background:transparent}.chat-tab.active{color:var(--text-primary)}.chat-tab-badge{position:absolute;top:2px;right:4px;font-size:9px;font-weight:700;background:var(--danger);color:#fff;border-radius:8px;padding:0 4px;min-width:14px;text-align:center;line-height:14px}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chat-empty{color:var(--text-muted);font-style:italic;font-size:13px;padding:12px 0}.chat-message{font-size:13px;line-height:1.4}.chat-proximity-whisper{opacity:.55;font-style:italic}.chat-proximity-whisper .chat-text{color:var(--text-muted)}.chat-proximity-talk .chat-text{color:var(--text-primary)}.chat-proximity-shout{font-weight:700}.chat-proximity-shout .chat-text{color:var(--warning);font-size:14px}.chat-proximity-party .chat-text{color:var(--info)}.chat-proximity-clan .chat-text{color:var(--success)}.chat-sender-plain{font-family:var(--font-ui);font-weight:700;font-size:12px;margin-right:6px;color:var(--text-secondary)}.chat-sender-link{font-family:var(--font-ui);font-weight:700;font-size:12px;margin-right:6px;color:var(--accent);cursor:pointer;transition:color .15s}.chat-sender-link:hover{color:var(--accent-hover);text-decoration:underline}.chat-text{font-family:var(--font-body)}.chat-input-row{display:flex;gap:4px;padding:8px;border-top:1px solid var(--border);flex-shrink:0;align-items:center}.chat-channel-select{font-size:11px;padding:4px 6px;min-width:70px;font-weight:600;text-transform:uppercase}.chat-whisper-target{font-size:11px;padding:4px 6px;min-width:100px}.chat-input{flex:1;font-size:13px;padding:6px 10px}.chat-send{padding:6px 12px;font-size:12px;font-weight:600}.survival-meter{padding:4px 0}.survival-meter-header{display:flex;align-items:center;gap:6px;font-family:var(--font-ui);font-size:12px;margin-bottom:3px}.survival-meter-label{color:var(--text-secondary);flex:1;text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:11px}.survival-meter-value{color:var(--text-primary);font-weight:700;font-size:12px;min-width:36px;text-align:right}.survival-meter-track{height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.survival-meter-fill{height:100%;border-radius:3px;transition:width .6s ease}.survival-meter.critical .survival-meter-fill{animation:pulse-critical 1s ease-in-out infinite}.survival-meter.low .survival-meter-value{color:var(--warning)}.survival-meter.critical .survival-meter-value{color:var(--danger)}.stats-panel{display:flex;flex-direction:column;gap:8px}.stats-character{padding:8px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.stats-character-name{font-family:var(--font-ui);font-size:16px;font-weight:700;color:var(--text-primary)}.stats-character-info{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.stats-meters{display:flex;flex-direction:column;gap:2px}.stats-grid{display:flex;flex-direction:column;gap:6px}.stat-row{display:flex;align-items:center;gap:8px}.stat-label{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--accent);width:32px;text-align:right}.stat-bar-track{flex:1;height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.stat-bar-fill{height:100%;background:var(--accent-dim);border-radius:3px;transition:width .4s ease}.stat-value{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-primary);width:24px;text-align:right}.stats-skills{display:flex;flex-direction:column;gap:4px}.stats-empty{color:var(--text-muted);font-style:italic;font-size:13px;padding:8px 0}.skill-category{margin-bottom:6px}.skill-category-label{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:4px 0 2px;border-bottom:1px solid var(--border);margin-bottom:4px}.skill-row{display:flex;justify-content:space-between;align-items:center;padding:3px 4px;border-radius:var(--radius-sm);cursor:default;transition:background .1s}.skill-row:hover{background:var(--bg-card-hover)}.skill-name{font-family:var(--font-ui);font-size:12px;color:var(--text-secondary)}.skill-level{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-primary)}.inv-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.inv-weight-bar{padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.inv-weight-label{display:flex;justify-content:space-between;font-family:var(--font-ui);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:4px}.inv-overweight{color:var(--danger);font-weight:700}.inv-weight-track{height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.inv-weight-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s ease}.inv-weight-fill.overweight{background:var(--danger);animation:pulse-critical 1s ease-in-out infinite}.inv-controls{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.inv-search{flex:1;font-size:12px;padding:4px 8px}.inv-sort{font-size:12px;padding:4px 6px;min-width:90px}.inv-combine-btn{margin:6px 12px;padding:6px 12px;font-size:12px;font-weight:700;background:var(--accent);border-color:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.inv-combine-btn:hover{background:var(--accent-hover)}.inv-container-breadcrumb{display:flex;align-items:center;gap:6px;padding:6px 12px;font-family:var(--font-ui);font-size:12px;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0}.inv-container-breadcrumb button{padding:2px 6px;font-size:11px;color:var(--accent);background:transparent;border:none;cursor:pointer}.inv-container-breadcrumb button:hover{text-decoration:underline;background:transparent}.inv-breadcrumb-sep{color:var(--text-muted)}.inv-items{flex:1;overflow-y:auto;padding:4px 0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.inv-empty{padding:20px 12px;color:var(--text-muted);font-style:italic;font-size:13px;text-align:center}.inv-category{margin-bottom:4px}.inv-category-label{padding:6px 12px 4px;font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.inv-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;transition:background .1s;flex-wrap:wrap}.inv-item:hover{background:var(--bg-card-hover)}.inv-item.selected{background:#6366f11f;border-left:2px solid var(--accent);padding-left:10px}.inv-item-name{flex:1;font-family:var(--font-ui);font-size:13px;color:var(--text-primary);display:flex;align-items:center;gap:6px}.inv-item-qty{font-size:11px;color:var(--text-muted);font-weight:600}.inv-item-weight{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);min-width:36px;text-align:right}.inv-item-open{font-size:10px;padding:2px 6px;text-transform:uppercase}.inv-item-actions{width:100%;display:flex;gap:4px;padding-top:4px;flex-wrap:wrap}.inv-action-btn{font-size:10px;padding:3px 8px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.inv-action-btn:disabled{opacity:.4;cursor:not-allowed}.map-locked{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;text-align:center}.map-locked-icon{font-size:32px;color:var(--text-muted);margin-bottom:8px;font-family:var(--font-mono);opacity:.5}.map-locked-text{font-family:var(--font-body);font-size:13px;color:var(--text-muted);font-style:italic;max-width:200px}.map-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}.map-cardinal{position:absolute;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--accent);z-index:1}.map-north{top:-2px;left:50%;transform:translate(-50%)}.map-south{bottom:24px;left:50%;transform:translate(-50%)}.map-east{right:-4px;top:50%;transform:translateY(-50%)}.map-west{left:-4px;top:50%;transform:translateY(-50%)}.map-grid{font-family:var(--font-mono);font-size:12px;line-height:1;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 8px;overflow:auto;max-height:320px;-webkit-user-select:none;user-select:none}.map-row{display:flex;white-space:nowrap}.map-cell{display:inline-block;width:14px;height:14px;text-align:center;line-height:14px;cursor:default;transition:background .1s}.map-cell:hover{background:#ffffff0f}.map-terrain{cursor:pointer}.map-player{color:var(--warning);font-weight:700;text-shadow:0 0 4px var(--warning);animation:player-pulse 2s ease-in-out infinite}.map-landmark{color:var(--accent);font-weight:700;cursor:pointer}.map-fog{color:transparent;background:#ffffff05}@keyframes player-pulse{0%,to{opacity:1}50%{opacity:.6}}.map-legend{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;font-family:var(--font-ui);font-size:10px;color:var(--text-muted)}.map-legend-item{display:flex;align-items:center;gap:3px}.map-legend-item span:first-child{font-family:var(--font-mono);font-size:12px;font-weight:700;width:14px;text-align:center}.trade-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.trade-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.trade-tab{flex:1;padding:6px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font-ui);position:relative}.trade-tab:hover{color:var(--text-secondary);background:transparent}.trade-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.trade-tab-badge{position:absolute;top:2px;right:4px;font-size:9px;font-weight:700;background:var(--danger);color:#fff;border-radius:8px;padding:0 4px;min-width:14px;text-align:center;line-height:14px}.trade-content{flex:1;overflow-y:auto;padding:12px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.trade-target-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.trade-label{font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.trade-target-select{flex:1;font-size:12px;padding:4px 8px}.trade-section-label{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;margin-top:8px}.trade-inventory{display:flex;flex-direction:column;gap:2px;max-height:160px;overflow-y:auto;scrollbar-width:thin}.trade-inv-item{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s}.trade-inv-item:hover{background:var(--bg-card-hover)}.trade-inv-item.selected{background:#6366f11f;border-left:2px solid var(--accent);padding-left:6px}.trade-inv-name{font-family:var(--font-ui);font-size:12px;color:var(--text-primary);flex:1}.trade-inv-qty{font-size:11px;color:var(--text-muted);font-weight:600}.trade-selected-summary{font-family:var(--font-ui);font-size:11px;color:var(--accent);font-weight:600;padding:6px 0}.trade-propose-btn{width:100%;padding:8px;font-size:12px;font-weight:700;background:var(--accent);border-color:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.04em;margin-top:8px}.trade-propose-btn:hover{background:var(--accent-hover)}.trade-propose-btn:disabled{opacity:.4;cursor:not-allowed}.trade-active{padding:4px 0}.trade-active-header{font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.trade-active-status{font-family:var(--font-ui);font-size:12px;color:var(--text-secondary);margin-bottom:12px}.trade-cancel-btn{width:100%;padding:6px;font-size:11px;font-weight:600;background:transparent;border-color:var(--danger);color:var(--danger);margin-top:12px}.trade-item-list{display:flex;flex-wrap:wrap;gap:4px}.trade-item-tag{display:inline-block;font-family:var(--font-ui);font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);background:#6366f11f;color:var(--accent);border:1px solid rgba(99,102,241,.2)}.trade-item-tag.request{background:#f973161f;color:var(--warmth);border-color:#f9731633}.trade-empty-text{font-style:italic;color:var(--text-muted);font-size:12px}.trade-status{font-weight:700;font-size:11px;text-transform:uppercase}.trade-status-pending{color:var(--warning)}.trade-status-accepted,.trade-status-completed{color:var(--success)}.trade-status-rejected{color:var(--danger)}.trade-status-countered{color:var(--info)}.trade-status-expired{color:var(--text-muted)}.trade-proposal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:8px}.trade-proposal-from{font-family:var(--font-ui);font-size:13px;color:var(--text-secondary);margin-bottom:8px}.trade-proposal-actions{display:flex;gap:4px;margin-top:10px}.trade-accept-btn,.trade-reject-btn,.trade-counter-btn{flex:1;padding:6px;font-size:11px;font-weight:700;text-transform:uppercase}.trade-accept-btn{background:var(--success);border-color:var(--success);color:#fff}.trade-reject-btn{background:transparent;border-color:var(--danger);color:var(--danger)}.trade-counter-btn{background:transparent;border-color:var(--info);color:var(--info)}.trade-empty{color:var(--text-muted);font-style:italic;font-size:13px;padding:12px 0;text-align:center}.trade-history-entry{padding:8px 0;border-bottom:1px solid var(--border)}.trade-history-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.trade-history-player{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.trade-history-time{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.trade-history-detail{display:flex;flex-direction:column;gap:2px;font-family:var(--font-ui);font-size:12px}.trade-history-gave{color:var(--danger)}.trade-history-got{color:var(--success)}.trade-offer-section{margin-bottom:6px}.settle-panel{display:flex;flex-direction:column;gap:8px}.settle-tabs{display:flex;gap:4px}.settle-tab{flex:1;font-size:11px;padding:6px 8px;text-transform:uppercase;letter-spacing:.03em}.settle-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.settle-empty{font-size:12px;color:var(--text-muted);font-style:italic;padding:12px 0}.settle-section-label{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-family:var(--font-ui)}.settle-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.settle-btn{font-size:11px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);cursor:pointer;transition:background .15s}.settle-btn:hover:not(:disabled){background:var(--accent);color:#fff}.settle-btn:disabled{opacity:.4;cursor:default}.settle-dash{display:flex;flex-direction:column;gap:8px}.settle-header{display:flex;justify-content:space-between;align-items:flex-start}.settle-name-block{display:flex;flex-direction:column}.settle-name{font-size:14px;font-weight:700}.settle-tier{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.settle-founded{font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}.settle-pop{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.settle-pop-label{font-size:11px;color:var(--text-muted)}.settle-pop-value{font-size:18px;font-weight:700;font-family:var(--font-mono)}.settle-meters{display:flex;flex-direction:column;gap:4px}.settle-buildings-summary{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.settle-count{font-size:14px;font-weight:700;font-family:var(--font-mono)}.settle-operational{font-size:10px;color:var(--text-muted)}.settle-building-list{display:flex;flex-direction:column;gap:6px}.settle-building{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:3px}.settle-building.offline{opacity:.5;border-style:dashed}.settle-building-header{display:flex;justify-content:space-between;align-items:center}.settle-building-name{font-size:11px;font-weight:600}.settle-building-type{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:1px 5px;border:1px solid var(--border);border-radius:var(--radius-sm)}.settle-building-meta{display:flex;gap:8px;font-size:10px;font-family:var(--font-mono)}.settle-building-level{color:var(--accent)}.settle-building-status.on{color:var(--success)}.settle-building-status.off{color:var(--danger)}.settle-building-year{color:var(--text-muted)}.settle-building-bonus{margin-top:2px}.settle-bonus-chip{font-size:9px;padding:2px 6px;border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);cursor:default}.settle-resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.settle-resource{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm)}.settle-resource-name{font-size:10px;text-transform:capitalize;color:var(--text-primary)}.settle-resource-amount{font-size:11px;font-weight:600;font-family:var(--font-mono);color:var(--accent)}.agri-panel{display:flex;flex-direction:column;gap:8px}.agri-tabs{display:flex;gap:4px}.agri-tab{flex:1;font-size:11px;padding:6px 8px;text-transform:uppercase;letter-spacing:.03em}.agri-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.agri-empty{font-size:12px;color:var(--text-muted);font-style:italic;padding:12px 0}.agri-section-label{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-family:var(--font-ui);margin-bottom:4px}.agri-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.agri-btn{font-size:11px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);cursor:pointer;transition:background .15s}.agri-btn:hover:not(:disabled){background:var(--accent);color:#fff}.agri-btn:disabled{opacity:.4;cursor:default}.agri-plots{display:flex;flex-direction:column;gap:8px}.agri-plot{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:4px}.agri-plot.dead{opacity:.5;border-color:var(--danger)}.agri-plot-header{display:flex;justify-content:space-between;align-items:center}.agri-crop-type{font-size:12px;font-weight:600;text-transform:capitalize}.agri-crop-state{font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.agri-plot-location{font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}.agri-progress-row{display:flex;align-items:center;gap:8px}.agri-progress-bar{flex:1;height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden}.agri-progress-fill{height:100%;border-radius:3px;transition:width .4s ease}.agri-progress-pct{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);min-width:32px;text-align:right}.agri-plot-badges{display:flex;gap:4px;flex-wrap:wrap}.agri-badge{font-size:9px;padding:2px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted)}.agri-badge.active{border-color:var(--success);color:var(--success)}.agri-badge.warn{border-color:var(--danger);color:var(--danger)}.agri-badge.yield{border-color:var(--accent);color:var(--accent)}.agri-animals{display:flex;flex-direction:column;gap:8px}.agri-animal{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:4px}.agri-animal-header{display:flex;justify-content:space-between;align-items:center}.agri-animal-name{font-size:12px;font-weight:600}.agri-animal-type{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:2px 6px;border:1px solid var(--border);border-radius:var(--radius-sm)}.agri-animal-stats{display:flex;align-items:center;gap:12px}.agri-animal-age{font-size:10px;font-family:var(--font-mono);color:var(--text-muted)}.agri-animal-badges{display:flex;gap:4px}.agri-products{padding-top:4px;border-top:1px solid var(--border)}.agri-product{display:flex;gap:8px;align-items:center;padding:2px 0}.agri-product-type{font-size:11px;font-weight:600;text-transform:capitalize}.agri-product-qty{font-size:10px;font-family:var(--font-mono);color:var(--accent)}.agri-product-interval{font-size:10px;font-family:var(--font-mono);color:var(--text-muted)}.wild-empty{font-size:12px;color:var(--text-muted);font-style:italic;padding:12px 0}.wild-list{display:flex;flex-direction:column;gap:8px}.wild-animal{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:4px}.wild-animal.deadly{border-color:var(--danger);animation:wild-pulse 2s ease-in-out infinite}@keyframes wild-pulse{0%,to{border-color:var(--danger)}50%{border-color:#f33;box-shadow:0 0 6px #ff33334d}}.wild-animal-header{display:flex;justify-content:space-between;align-items:center}.wild-animal-type{font-size:12px;font-weight:600;text-transform:capitalize}.wild-threat{font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.wild-animal-desc{font-size:11px;color:var(--text-muted);font-style:italic}.wild-animal-meta{display:flex;gap:8px}.wild-distance{font-size:10px;font-family:var(--font-mono);color:var(--text-muted)}.wild-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.wild-btn{font-size:11px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);cursor:pointer;transition:background .15s}.wild-btn:hover:not(:disabled){background:var(--accent);color:#fff}.wild-btn:disabled{opacity:.4;cursor:default}.cave-panel{display:flex;flex-direction:column;gap:8px}.cave-tabs{display:flex;gap:4px}.cave-tab{flex:1;font-size:11px;padding:6px 8px;text-transform:uppercase;letter-spacing:.03em}.cave-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.cave-empty{font-size:12px;color:var(--text-muted);font-style:italic;padding:12px 0}.cave-section-label{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-family:var(--font-ui);margin-bottom:4px;display:block}.cave-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.cave-btn{font-size:11px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);cursor:pointer;transition:background .15s}.cave-btn:hover:not(:disabled){background:var(--accent);color:#fff}.cave-btn:disabled{opacity:.4;cursor:default}.cave-env{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.cave-room-dash{display:flex;flex-direction:column;gap:8px}.cave-room-header{display:flex;justify-content:space-between;align-items:center}.cave-room-name{font-size:14px;font-weight:700}.cave-room-depth{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);padding:1px 6px;border:1px solid var(--border);border-radius:var(--radius-sm)}.cave-hazards{display:flex;flex-direction:column;gap:4px}.cave-hazard-chips{display:flex;flex-wrap:wrap;gap:4px}.cave-hazard-chip{font-size:9px;padding:2px 6px;border:1px solid;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.cave-hazard-chip.small{font-size:8px;padding:1px 4px}.cave-creatures{display:flex;flex-direction:column;gap:4px}.cave-creature-list{display:flex;flex-wrap:wrap;gap:4px}.cave-creature-chip{font-size:10px;padding:2px 6px;border:1px solid var(--warning);border-radius:var(--radius-sm);color:var(--warning);text-transform:capitalize}.cave-room-resources{display:flex;flex-direction:column;gap:4px}.cave-resource-row{display:flex;align-items:center;gap:8px;padding:2px 0}.cave-resource-name{font-size:10px;min-width:70px;text-transform:capitalize;color:var(--text-primary)}.cave-resource-bar{flex:1;height:4px;background:var(--bg-primary);border-radius:2px;overflow:hidden}.cave-resource-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s ease}.cave-exits{display:flex;flex-direction:column;gap:4px}.cave-exit-btns{display:flex;flex-wrap:wrap;gap:4px}.cave-exit-btn{font-size:10px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);cursor:pointer;transition:all .15s}.cave-exit-btn:hover{border-color:var(--accent);color:var(--accent)}.cave-map-list{display:flex;flex-direction:column;gap:4px}.cave-map-room{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:2px}.cave-map-room.current{border-color:var(--accent);border-width:2px}.cave-map-room.unexplored{opacity:.4;border-style:dashed}.cave-map-room-header{display:flex;justify-content:space-between;align-items:center}.cave-map-room-name{font-size:11px;font-weight:600}.cave-map-room-depth{font-size:9px;font-family:var(--font-mono);color:var(--text-muted)}.cave-map-hazards{display:flex;gap:3px}.cave-all-resources{display:flex;flex-direction:column;gap:4px}.cave-resource-entry{display:flex;align-items:center;gap:8px;padding:3px 0}.cave-resource-room{font-size:9px;color:var(--text-muted);font-family:var(--font-mono);min-width:60px}.crime-panel{display:flex;flex-direction:column;gap:.5rem}.crime-tabs{display:flex;gap:.25rem}.crime-tab{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);padding:.4rem .75rem;cursor:pointer;font-size:.85rem}.crime-tab.active{background:var(--bg-primary);color:var(--text-primary);border-bottom-color:var(--bg-primary)}.crime-empty{color:var(--text-muted);font-style:italic;padding:1rem}.crime-list{display:flex;flex-direction:column;gap:.5rem}.crime-card,.bounty-card,.trial-card{background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem;border-radius:4px}.crime-header,.bounty-header,.trial-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.crime-type{font-weight:600;text-transform:capitalize}.crime-year{color:var(--text-muted);font-size:.8rem}.crime-desc{color:var(--text-secondary);font-size:.85rem;margin-bottom:.25rem}.crime-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem}.crime-details{display:flex;gap:1rem;font-size:.8rem;color:var(--text-muted)}.crime-bounty-amount{color:var(--warning);font-weight:600}.crime-reported{color:var(--accent)}.bounty-target{font-weight:600;color:var(--danger)}.bounty-amount{font-weight:700;color:var(--warning);font-size:1.1rem}.bounty-meta{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.trial-accused{font-weight:600}.trial-status-pending{color:var(--text-muted)}.trial-status-in_progress{color:var(--warning)}.trial-status-concluded{color:var(--success)}.trial-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem}.trial-verdict{padding:.5rem;border-radius:4px;font-weight:700;text-align:center;margin-top:.5rem}.trial-verdict.guilty{background:#ef444426;color:var(--danger)}.trial-verdict.innocent{background:#22c55e26;color:var(--success)}.trial-sentence{font-weight:400;font-size:.85rem}.trial-vote{display:flex;gap:.5rem;margin-top:.5rem}.crime-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.5rem}.crime-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.4rem .75rem;cursor:pointer;font-size:.85rem;border-radius:4px}.crime-btn:hover:not(:disabled){background:var(--bg-hover)}.crime-btn:disabled{opacity:.5;cursor:not-allowed}.diplo-panel{display:flex;flex-direction:column;gap:.5rem}.diplo-tabs{display:flex;gap:.25rem}.diplo-tab{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);padding:.4rem .75rem;cursor:pointer;font-size:.85rem}.diplo-tab.active{background:var(--bg-primary);color:var(--text-primary);border-bottom-color:var(--bg-primary)}.diplo-empty{color:var(--text-muted);font-style:italic;padding:1rem}.diplo-list{display:flex;flex-direction:column;gap:.5rem}.diplo-treaty,.diplo-war,.diplo-sanction{background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem;border-radius:4px}.diplo-treaty-header,.diplo-war-header,.diplo-sanction-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.diplo-treaty-type{font-weight:600;color:var(--accent)}.diplo-treaty-expires{color:var(--warning);font-size:.8rem}.diplo-treaty-parties{color:var(--text-primary);font-size:.9rem;margin-bottom:.25rem}.diplo-treaty-terms{color:var(--text-secondary);font-size:.85rem;font-style:italic;margin-bottom:.25rem}.diplo-treaty-meta{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-muted)}.diplo-war-title{font-weight:600}.diplo-war-casus{color:var(--text-secondary);font-style:italic;font-size:.85rem;margin:.25rem 0}.diplo-war-stats{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary)}.diplo-war-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.diplo-sanction-type{font-weight:600;color:var(--warning);text-transform:capitalize}.diplo-sanction-year{color:var(--text-muted);font-size:.8rem}.diplo-sanction-parties{color:var(--text-primary);font-size:.9rem}.diplo-sanction-reason{color:var(--text-secondary);font-size:.85rem;font-style:italic}.diplo-relation{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px}.diplo-relation-name{font-weight:500}.diplo-relation-status{font-size:.85rem;text-transform:capitalize}.diplo-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.5rem}.diplo-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.4rem .75rem;cursor:pointer;font-size:.85rem;border-radius:4px}.diplo-btn:hover:not(:disabled){background:var(--bg-hover)}.diplo-btn:disabled{opacity:.5;cursor:not-allowed}.diplo-btn.dangerous{color:var(--danger);border-color:var(--danger)}.guild-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.guild-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.guild-tab{flex:1;padding:6px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font-ui)}.guild-tab:hover{color:var(--text-secondary);background:transparent}.guild-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.guild-content{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.guild-empty{color:var(--text-muted);font-style:italic;font-size:13px;text-align:center;padding:16px}.guild-btn{font-size:10px;padding:3px 8px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.guild-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;padding:6px 12px;font-size:12px;width:100%}.guild-btn-danger{font-size:10px;padding:3px 8px;text-transform:uppercase;font-weight:600;background:transparent;border-color:var(--danger);color:var(--danger)}.guild-header{padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:8px}.guild-name{font-family:var(--font-ui);font-size:16px;font-weight:700;color:var(--text-primary)}.guild-meta{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin:2px 0 6px}.guild-stats-row{display:flex;gap:12px;margin-bottom:6px}.guild-stat{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.guild-monopoly{font-family:var(--font-ui);font-size:11px;color:var(--warning);font-weight:600}.guild-members{display:flex;flex-direction:column;gap:4px}.guild-member{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:var(--radius-sm);transition:background .1s}.guild-member:hover{background:var(--bg-card-hover)}.guild-member-info{display:flex;align-items:center;gap:6px}.guild-member-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.guild-member-dot.online{background:var(--success);box-shadow:0 0 4px var(--success)}.guild-member-dot.offline{background:var(--text-muted)}.guild-member-name{font-family:var(--font-ui);font-size:13px;color:var(--text-primary)}.guild-member-rank{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase}.guild-member-actions{display:flex;gap:4px}.guild-leave-btn{margin-top:12px;width:100%;font-size:11px;padding:6px;background:transparent;border-color:var(--danger);color:var(--danger);font-weight:600;text-transform:uppercase}.guild-apprentices{display:flex;flex-direction:column;gap:6px}.apprentice-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.apprentice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.apprentice-skill{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.apprentice-year{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.apprentice-parties{display:flex;gap:12px;margin-bottom:6px}.apprentice-master,.apprentice-student{font-family:var(--font-ui);font-size:11px;color:var(--text-secondary)}.apprentice-progress{display:flex;align-items:center;gap:6px}.apprentice-progress-track{flex:1;height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.apprentice-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .6s ease}.apprentice-progress-label{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);min-width:32px;text-align:right}.guild-hall{padding:4px 0}.hall-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.hall-name{font-family:var(--font-ui);font-size:14px;font-weight:700;color:var(--text-primary)}.hall-tier{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--accent)}.hall-location{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin-bottom:8px}.hall-features{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.hall-feature-tag{font-family:var(--font-ui);font-size:10px;padding:2px 6px;background:#6366f114;border:1px solid rgba(99,102,241,.15);border-radius:3px;color:var(--accent)}.hall-actions{display:flex;gap:4px;flex-wrap:wrap}.guild-browse{display:flex;flex-direction:column;gap:8px}.guild-found-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px}.guild-found-title{font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.guild-found-form{display:flex;flex-direction:column;gap:6px}.guild-found-input{font-size:13px;padding:6px 10px}.guild-browse-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.guild-browse-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.guild-browse-name{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.guild-browse-type{font-family:var(--font-ui);font-size:10px;color:var(--text-muted);text-transform:uppercase}.guild-browse-meta{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin-bottom:6px}.apprentice-panel{display:flex;flex-direction:column;gap:.5rem}.apprentice-empty{color:var(--text-muted);font-style:italic;padding:1rem}.apprentice-list{display:flex;flex-direction:column;gap:.5rem}.apprentice-card{background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem;border-radius:4px}.apprentice-card.apprentice-abandoned{opacity:.5}.apprentice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.apprentice-names{display:flex;gap:.4rem;align-items:center}.apprentice-student{font-weight:600}.apprentice-arrow{color:var(--text-muted);font-size:.8rem}.apprentice-master{color:var(--accent);font-weight:500}.apprentice-skill{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:.4rem}.apprentice-skill-name{text-transform:capitalize}.apprentice-xp{color:var(--success);font-weight:600;font-size:.85rem}.apprentice-progress-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.apprentice-bar{flex:1;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.apprentice-bar-fill{height:100%;border-radius:4px;transition:width .3s}.apprentice-pct{font-size:.8rem;color:var(--text-muted);min-width:3ch;text-align:right}.apprentice-recipes{margin-bottom:.4rem}.apprentice-recipes-label{font-size:.8rem;color:var(--text-muted);display:block;margin-bottom:.2rem}.apprentice-recipe-list{display:flex;flex-wrap:wrap;gap:.25rem}.apprentice-recipe{font-size:.75rem;padding:.15rem .4rem;border-radius:3px;text-transform:capitalize}.apprentice-recipe.learned{background:#22c55e26;color:var(--success)}.apprentice-recipe.pending{background:var(--bg-tertiary);color:var(--text-muted)}.apprentice-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--text-muted);align-items:center}.apprentice-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.5rem}.apprentice-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.4rem .75rem;cursor:pointer;font-size:.85rem;border-radius:4px}.apprentice-btn:hover:not(:disabled){background:var(--bg-hover)}.apprentice-btn:disabled{opacity:.5;cursor:not-allowed}.apprentice-btn.dangerous{color:var(--danger);border-color:var(--danger)}.knowledge-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.knowledge-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.knowledge-tab{flex:1;padding:6px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font-ui)}.knowledge-tab:hover{color:var(--text-secondary);background:transparent}.knowledge-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.knowledge-content{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.knowledge-empty{color:var(--text-muted);font-style:italic;font-size:13px;text-align:center;padding:16px}.knowledge-btn{font-size:11px;padding:4px 10px;font-weight:600;text-transform:uppercase}.knowledge-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.knowledge-btn-sm{font-size:10px;padding:2px 8px;font-weight:600;text-transform:uppercase}.knowledge-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s}.knowledge-item:hover{background:var(--bg-card-hover)}.knowledge-item.unreadable{opacity:.5;cursor:not-allowed}.knowledge-item-type{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase;color:var(--accent);min-width:48px}.knowledge-item-title{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.knowledge-item-author{font-family:var(--font-ui);font-size:11px;color:var(--text-muted)}.knowledge-reader{display:flex;flex-direction:column;height:100%}.reader-header{padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:12px}.reader-back{font-size:11px;padding:2px 8px;margin-bottom:6px;color:var(--accent);background:transparent;border:none;cursor:pointer;font-family:var(--font-ui)}.reader-back:hover{text-decoration:underline;background:transparent}.reader-title{font-family:var(--font-body);font-size:18px;font-weight:700;color:var(--text-primary)}.reader-author{font-family:var(--font-ui);font-size:12px;color:var(--text-muted);margin-top:2px}.reader-body{flex:1;overflow-y:auto}.reader-text{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--text-primary);white-space:pre-wrap}.reader-unreadable{font-family:var(--font-body);font-size:14px;color:var(--text-muted);font-style:italic;text-align:center;padding:24px}.reader-actions{padding-top:8px;border-top:1px solid var(--border);display:flex;gap:4px;flex-shrink:0}.library-search{display:flex;gap:4px;margin-bottom:8px}.library-search-input{flex:1;font-size:12px;padding:6px 10px}.library-entry{padding:8px 10px;border-bottom:1px solid var(--border)}.library-entry.locked{opacity:.5}.library-entry-title{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.library-entry-meta{display:flex;gap:8px;font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin-top:2px}.library-entry-locked{font-family:var(--font-ui);font-size:10px;color:var(--danger);margin-top:2px}.law-form{display:flex;flex-direction:column;gap:6px}.law-title-input{font-size:13px;padding:6px 10px}.law-content-input{font-size:13px;padding:6px 10px;resize:vertical;font-family:var(--font-body)}.law-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:6px}.law-card.enforceable{border-left:3px solid var(--accent)}.law-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.law-title{font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--text-primary)}.law-enforceable-badge{font-family:var(--font-ui);font-size:9px;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:3px;background:#6366f11f;color:var(--accent)}.law-meta{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin-bottom:6px}.law-content{font-family:var(--font-body);font-size:13px;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap}.recipe-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:6px}.recipe-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.recipe-name{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.recipe-author{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin-bottom:6px}.recipe-ingredients{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.recipe-ingredient{font-family:var(--font-ui);font-size:11px;padding:2px 6px;background:#6366f114;border:1px solid rgba(99,102,241,.15);border-radius:3px;color:var(--accent)}.recipe-desc{font-family:var(--font-body);font-size:12px;color:var(--text-secondary);line-height:1.4}.sub-panel{display:flex;flex-direction:column;gap:.5rem}.sub-active-banner{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);padding:.4rem .75rem;border-radius:4px;font-size:.85rem;color:var(--accent)}.sub-addiction-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);padding:.4rem .75rem;border-radius:4px;font-size:.85rem;color:var(--danger)}.sub-withdrawal{font-weight:700}.sub-addiction-row{display:flex;align-items:center;gap:.5rem}.sub-withdrawing{color:var(--danger);font-size:.8rem;font-weight:600}.sub-empty{color:var(--text-muted);font-style:italic;padding:1rem}.sub-list{display:flex;flex-direction:column;gap:.5rem}.sub-card{background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem;border-radius:4px}.sub-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.25rem}.sub-name-block{display:flex;flex-direction:column}.sub-name{font-weight:600}.sub-cat{font-size:.8rem;text-transform:capitalize}.sub-risk{font-size:.8rem;color:var(--warning)}.sub-desc{color:var(--text-secondary);font-size:.85rem;font-style:italic;margin-bottom:.4rem}.sub-effects{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem}.sub-effects span{font-size:.75rem;padding:.15rem .4rem;border-radius:3px}.sub-effects .positive{background:#22c55e26;color:var(--success)}.sub-effects .negative{background:#ef444426;color:var(--danger)}.sub-footer{display:flex;gap:.75rem;align-items:center;font-size:.8rem;color:var(--text-muted)}.sub-duration{color:var(--text-secondary)}.sub-od{color:var(--danger)}.sub-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.5rem}.sub-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.4rem .75rem;cursor:pointer;font-size:.85rem;border-radius:4px}.sub-btn:hover:not(:disabled){background:var(--bg-hover)}.sub-btn:disabled{opacity:.5;cursor:not-allowed}.religion-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.religion-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.religion-tab{flex:1;padding:6px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font-ui)}.religion-tab:hover{color:var(--text-secondary);background:transparent}.religion-tab.active{color:var(--text-primary);border-bottom-color:var(--fatigue)}.religion-content{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.religion-empty{color:var(--text-muted);font-style:italic;font-size:13px;text-align:center;padding:16px}.religion-btn{font-size:10px;padding:3px 8px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.religion-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;padding:6px 14px;font-size:12px;margin-top:8px;width:100%}.religion-btn-sm{font-size:10px;padding:2px 8px;background:transparent;border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;font-family:var(--font-ui);margin-top:4px}.religion-player-faith{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#a855f70f;border:1px solid rgba(168,85,247,.15);border-radius:var(--radius-sm);margin-bottom:8px}.religion-your-label{font-family:var(--font-ui);font-size:11px;color:var(--text-muted)}.religion-your-name{font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--fatigue)}.religion-list{display:flex;flex-direction:column;gap:8px}.religion-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.religion-card.yours{border-color:var(--fatigue);border-left:3px solid var(--fatigue)}.religion-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.religion-name{font-family:var(--font-ui);font-size:14px;font-weight:700;color:var(--text-primary)}.religion-followers{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.religion-tenets{margin:6px 0}.religion-tenet{font-family:var(--font-body);font-size:12px;color:var(--text-secondary);line-height:1.5;padding:2px 0}.religion-card-actions{display:flex;gap:4px;margin-top:6px}.religion-temples{display:flex;flex-direction:column;gap:6px}.temple-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.temple-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.temple-name{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.temple-tier{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--accent)}.temple-meta{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin-bottom:6px}.temple-actions{display:flex;gap:4px;flex-wrap:wrap}.religion-laws{display:flex;flex-direction:column;gap:6px}.religion-law{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.religion-law.binding{border-left:3px solid var(--fatigue)}.religion-law-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.religion-law-title{font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--text-primary)}.religion-law-binding{font-family:var(--font-ui);font-size:9px;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:3px;background:#a855f71f;color:var(--fatigue)}.religion-law-faith{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin-bottom:4px}.religion-law-content{font-family:var(--font-body);font-size:12px;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap}.religion-law-penalty{font-family:var(--font-ui);font-size:11px;color:var(--danger);margin-top:4px;font-weight:600}.religion-found{padding:4px 0}.found-title{font-family:var(--font-ui);font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.found-form{display:flex;flex-direction:column;gap:6px}.found-label{font-family:var(--font-ui);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.found-input{font-size:13px;padding:6px 10px}.found-symbol{max-width:80px;font-size:18px;text-align:center;font-weight:700}.econ-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.econ-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.econ-tab{flex:1;padding:6px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font-ui)}.econ-tab:hover{color:var(--text-secondary);background:transparent}.econ-tab.active{color:var(--text-primary);border-bottom-color:var(--warning)}.econ-content{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.econ-empty{color:var(--text-muted);font-style:italic;font-size:13px;text-align:center;padding:16px}.econ-btn{font-size:10px;padding:3px 8px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.econ-btn-cancel{font-size:10px;padding:3px 8px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-family:var(--font-ui)}.econ-btn-danger{font-size:10px;padding:3px 8px;text-transform:uppercase;font-weight:600;background:transparent;border-color:var(--danger);color:var(--danger)}.econ-wallet{display:flex;flex-direction:column;gap:4px}.econ-currency{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:var(--radius-sm);transition:background .1s}.econ-currency:hover{background:var(--bg-card-hover)}.econ-currency.untrusted{opacity:.6;border-left:2px solid var(--warning)}.econ-currency-info{display:flex;align-items:center;gap:8px}.econ-currency-symbol{font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--warning);min-width:24px;text-align:center}.econ-currency-name{font-family:var(--font-ui);font-size:13px;color:var(--text-primary)}.econ-currency-amount{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text-primary)}.econ-market-search{margin-bottom:8px}.econ-search-input{width:100%;font-size:12px;padding:6px 10px}.econ-listing{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid var(--border)}.econ-listing-info{display:flex;align-items:center;gap:6px}.econ-listing-name{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.econ-listing-qty{font-size:11px;color:var(--text-muted)}.econ-listing-right{display:flex;align-items:center;gap:8px}.econ-listing-price{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--warning)}.econ-buy-btn{font-size:10px;padding:3px 10px;font-weight:700;text-transform:uppercase;background:var(--accent);border-color:var(--accent);color:#fff}.econ-buy-btn:hover{background:var(--accent-hover)}.econ-banking{display:flex;flex-direction:column;gap:6px}.econ-bank-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.econ-bank-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.econ-bank-name{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.econ-bank-rate{font-family:var(--font-mono);font-size:11px;color:var(--success)}.econ-bank-balance{display:flex;justify-content:space-between;margin-bottom:6px}.econ-bank-label{font-family:var(--font-ui);font-size:11px;color:var(--text-muted)}.econ-bank-amount{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--text-primary)}.econ-bank-form{display:flex;gap:4px;align-items:center;margin-top:6px}.econ-bank-input{width:80px;font-size:12px;padding:4px 8px}.econ-contracts{display:flex;flex-direction:column;gap:6px}.econ-contract{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;border-left:3px solid var(--text-muted)}.econ-contract-active{border-left-color:var(--info)}.econ-contract-fulfilled{border-left-color:var(--success)}.econ-contract-breached{border-left-color:var(--danger)}.econ-contract-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.econ-contract-title{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.econ-contract-status{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase}.econ-contract-parties{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin-bottom:4px}.econ-contract-terms{font-family:var(--font-body);font-size:12px;color:var(--text-secondary);line-height:1.4;margin-bottom:4px;white-space:pre-wrap}.econ-contract-meta{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);margin-bottom:6px}.econ-contract-actions{display:flex;gap:4px}.econ-loans{display:flex;flex-direction:column;gap:6px}.econ-loan{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.econ-loan-active{border-left:3px solid var(--warning)}.econ-loan-paid{border-left:3px solid var(--success);opacity:.6}.econ-loan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.econ-loan-parties{font-family:var(--font-ui);font-size:12px;color:var(--text-secondary)}.econ-loan-status{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase}.econ-loan-details{display:flex;gap:12px;margin-bottom:2px}.econ-loan-amount{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--text-primary)}.econ-loan-rate{font-family:var(--font-mono);font-size:11px;color:var(--warning)}.econ-loan-meta{font-size:11px;color:var(--text-muted);display:flex;align-items:center}.econ-currencies{display:flex;flex-direction:column;gap:6px}.econ-currency-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.econ-currency-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.econ-currency-card-name{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.econ-currency-card-backing{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.econ-currency-card-stats{display:flex;gap:12px;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.econ-currency-card-stat{display:flex;gap:4px}.econ-exchange-toggle{font-size:10px;padding:2px 8px;background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:4px}.econ-exchange-toggle:hover{color:var(--text-secondary);border-color:var(--text-muted)}.econ-exchange-rates{padding:6px 0;display:flex;flex-direction:column;gap:2px}.econ-exchange-row{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);padding:2px 0}.econ-commodities{display:flex;flex-direction:column;gap:4px}.econ-commodity{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid var(--border)}.econ-commodity-info{display:flex;align-items:center;gap:8px}.econ-commodity-name{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.econ-commodity-supply{font-size:10px;text-transform:uppercase;letter-spacing:.04em}.econ-commodity-price{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px}.econ-commodity-trend{font-size:11px;font-weight:600}.econ-commodity-base{font-size:10px}.ent-panel{display:flex;flex-direction:column;gap:.5rem}.ent-morale-banner{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);padding:.5rem .75rem;border-radius:4px;font-size:.9rem;color:var(--text-secondary)}.ent-morale-value{color:var(--success);font-weight:700}.ent-filters{display:flex;gap:.25rem}.ent-filter{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);padding:.3rem .6rem;cursor:pointer;font-size:.8rem;text-transform:capitalize;border-radius:3px}.ent-filter.active{background:var(--bg-primary);color:var(--text-primary)}.ent-empty{color:var(--text-muted);font-style:italic;padding:1rem}.ent-list{display:flex;flex-direction:column;gap:.5rem}.ent-card{background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem;border-radius:4px}.ent-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.25rem}.ent-name-block{display:flex;flex-direction:column}.ent-name{font-weight:600}.ent-type{font-size:.8rem;color:var(--text-muted);text-transform:capitalize}.ent-morale{color:var(--success);font-weight:600;font-size:.9rem}.ent-desc{color:var(--text-secondary);font-size:.85rem;font-style:italic;margin-bottom:.25rem}.ent-details{display:flex;gap:.75rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem}.ent-recurring{color:var(--accent)}.ent-req{color:var(--warning)}.ent-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.ent-year{color:var(--text-muted)}.ent-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.5rem}.ent-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.4rem .75rem;cursor:pointer;font-size:.85rem;border-radius:4px}.ent-btn:hover:not(:disabled){background:var(--bg-hover)}.ent-btn:disabled{opacity:.5;cursor:not-allowed}.prop-panel{display:flex;flex-direction:column;gap:.5rem}.prop-empty{color:var(--text-muted);font-style:italic;padding:1rem}.prop-list{display:flex;flex-direction:column;gap:.5rem}.prop-card{background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem;border-radius:4px}.prop-card.prop-ended{opacity:.6}.prop-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.25rem}.prop-method-block{display:flex;flex-direction:column}.prop-method{font-weight:600;text-transform:capitalize}.prop-creator{font-size:.8rem;color:var(--text-muted)}.prop-status.active{color:var(--success);font-size:.85rem}.prop-status.ended{color:var(--text-muted);font-size:.85rem}.prop-message{color:var(--text-primary);font-style:italic;margin-bottom:.2rem}.prop-spin{color:var(--text-secondary);font-size:.85rem;margin-bottom:.4rem}.prop-stats{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem}.prop-winning{color:var(--success);font-weight:600}.prop-losing{color:var(--danger);font-weight:600}.prop-meta{display:flex;gap:.75rem;font-size:.8rem;color:var(--text-muted)}.prop-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.5rem}.prop-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.4rem .75rem;cursor:pointer;font-size:.85rem;border-radius:4px}.prop-btn:hover:not(:disabled){background:var(--bg-hover)}.prop-btn:disabled{opacity:.5;cursor:not-allowed}.esp-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.esp-counter-intel{padding:6px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.esp-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.esp-tab{flex:1;padding:6px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font-ui)}.esp-tab:hover{color:var(--text-secondary);background:transparent}.esp-tab.active{color:var(--text-primary);border-bottom-color:var(--fatigue)}.esp-content{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.esp-empty{color:var(--text-muted);font-style:italic;font-size:13px;text-align:center;padding:16px}.esp-btn{font-size:10px;padding:3px 8px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.esp-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;padding:6px 12px;font-size:12px;width:100%;margin-top:6px}.esp-btn:disabled{opacity:.4;cursor:not-allowed}.esp-btn-abort{font-size:10px;padding:3px 8px;text-transform:uppercase;font-weight:600;background:transparent;border-color:var(--danger);color:var(--danger)}.esp-back{font-size:11px;padding:2px 8px;color:var(--accent);background:transparent;border:none;cursor:pointer;font-family:var(--font-ui);margin-bottom:8px}.esp-back:hover{text-decoration:underline;background:transparent}.esp-input{font-size:13px;padding:6px 10px;width:100%}.esp-textarea{font-size:13px;padding:6px 10px;width:100%;resize:vertical;font-family:var(--font-body)}.esp-select{font-size:12px;padding:4px 8px}.esp-intel{display:flex;flex-direction:column;gap:6px}.esp-report-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;cursor:pointer;transition:background .15s}.esp-report-card:hover{background:var(--bg-card-hover)}.esp-report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.esp-report-cat{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.esp-reliability{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase}.esp-report-summary{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.esp-report-footer{display:flex;justify-content:space-between;font-family:var(--font-ui);font-size:10px;color:var(--text-muted)}.esp-report-detail{padding:4px 0}.esp-report-title{font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.esp-report-meta{display:flex;gap:8px;font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin-bottom:4px}.esp-report-target{font-family:var(--font-ui);font-size:12px;color:var(--text-secondary);margin-bottom:8px}.esp-report-body{font-family:var(--font-body);font-size:14px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.esp-actionable{font-family:var(--font-ui);font-size:11px;font-weight:700;color:var(--success);text-transform:uppercase;margin-top:8px;padding:4px 8px;background:#22c55e14;border-radius:var(--radius-sm);display:inline-block}.esp-ops{display:flex;flex-direction:column;gap:6px}.esp-op-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.esp-op-compromised{border-color:var(--danger)}.esp-op-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.esp-op-type{font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--text-primary);text-transform:capitalize}.esp-op-status{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase}.esp-op-target{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin-bottom:6px}.esp-op-bars{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.esp-op-bar{display:flex;align-items:center;gap:6px}.esp-op-bar-label{font-family:var(--font-ui);font-size:9px;font-weight:600;text-transform:uppercase;color:var(--text-muted);min-width:48px}.esp-op-bar-track{flex:1;height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.esp-op-bar-fill{height:100%;border-radius:2px;transition:width .4s ease}.esp-op-bar-fill.progress{background:var(--info)}.esp-op-bar-fill.risk{background:var(--warning)}.esp-op-bar-fill.risk.high{background:var(--danger);animation:pulse-critical 1s ease-in-out infinite}.esp-op-bar-value{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);min-width:28px;text-align:right}.esp-op-actions{display:flex;gap:4px;flex-wrap:wrap}.esp-sabotage{display:flex;flex-direction:column;gap:6px}.esp-sab-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.esp-sab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.esp-sab-name{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.esp-sab-difficulty{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase}.esp-sab-type{font-family:var(--font-ui);font-size:10px;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.esp-sab-impact{font-family:var(--font-body);font-size:12px;color:var(--text-secondary);margin-bottom:6px}.esp-propaganda{display:flex;flex-direction:column;gap:8px}.esp-prop-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.esp-prop-form-label{font-family:var(--font-ui);font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.esp-campaign{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.esp-campaign-active{border-left:3px solid var(--info)}.esp-campaign-concluded{opacity:.7}.esp-campaign-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.esp-campaign-title{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text-primary)}.esp-campaign-status{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase;color:var(--info)}.esp-campaign-meta{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);margin-bottom:4px}.esp-campaign-message{font-family:var(--font-body);font-size:12px;color:var(--text-secondary);line-height:1.4;margin-bottom:6px;font-style:italic;white-space:pre-wrap}.esp-campaign-stats{display:flex;gap:12px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.esp-morale-up{color:var(--success)}.esp-morale-down{color:var(--danger)}.edu-panel{display:flex;flex-direction:column;gap:.5rem}.edu-empty{color:var(--text-muted);font-style:italic;padding:1rem}.edu-list{display:flex;flex-direction:column;gap:.5rem}.edu-card{background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem;border-radius:4px}.edu-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.4rem}.edu-name-block{display:flex;flex-direction:column}.edu-name{font-weight:600}.edu-type{font-size:.8rem}.edu-year{color:var(--text-muted);font-size:.8rem}.edu-enrollment{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary);margin:.4rem 0}.edu-subjects{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.4rem}.edu-subject{font-size:.75rem;padding:.15rem .4rem;background:var(--bg-tertiary);border-radius:3px;color:var(--text-secondary);text-transform:capitalize}.edu-bonuses{display:flex;gap:.75rem;font-size:.85rem;margin-bottom:.4rem}.edu-bonus{color:var(--success);font-weight:500}.edu-tuition{color:var(--warning)}.edu-recipes{font-size:.8rem;color:var(--text-muted);margin-bottom:.4rem}.edu-card-actions{display:flex;gap:.5rem}.edu-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.5rem}.edu-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.4rem .75rem;cursor:pointer;font-size:.85rem;border-radius:4px}.edu-btn:hover:not(:disabled){background:var(--bg-hover)}.edu-btn:disabled{opacity:.5;cursor:not-allowed}.trade-panel{display:flex;flex-direction:column;gap:.5rem}.trade-empty{color:var(--text-muted);font-style:italic;padding:1rem}.trade-list{display:flex;flex-direction:column;gap:.5rem}.trade-route-card{background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem;border-radius:4px}.trade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.trade-route-name{font-weight:600}.trade-revenue{color:var(--success);font-weight:700}.trade-path{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.9rem}.trade-from,.trade-to{color:var(--text-primary)}.trade-arrow{color:var(--accent);font-weight:700}.trade-stats{display:flex;gap:.75rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.4rem}.trade-meters{display:flex;gap:.5rem;margin-bottom:.4rem}.trade-goods{display:flex;gap:1rem;margin-bottom:.4rem}.trade-goods-col{display:flex;flex-direction:column;gap:.15rem;flex:1}.trade-goods-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.trade-good{font-size:.85rem;color:var(--text-secondary);text-transform:capitalize}.trade-caravans{margin-bottom:.4rem}.trade-caravans-label{font-size:.8rem;color:var(--text-muted);display:block;margin-bottom:.3rem}.trade-caravan{margin-bottom:.3rem}.trade-caravan-bar{position:relative;height:6px;background:var(--bg-tertiary);border-radius:3px;margin-bottom:.2rem}.trade-caravan-pos{position:absolute;width:8px;height:8px;border-radius:50%;top:-1px;transform:translate(-50%)}.trade-caravan-info{display:flex;gap:.75rem;font-size:.8rem;color:var(--text-secondary)}.trade-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.5rem}.trade-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.4rem .75rem;cursor:pointer;font-size:.85rem;border-radius:4px}.trade-btn:hover:not(:disabled){background:var(--bg-hover)}.trade-btn:disabled{opacity:.5;cursor:not-allowed}.mining-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.mining-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.mining-tab{flex:1;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s}.mining-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.mining-tab:hover{color:var(--text-primary)}.mining-content{flex:1;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:8px}.mining-empty{color:var(--text-muted);font-size:13px;font-style:italic;padding:16px 0;text-align:center}.mining-deposit{padding:8px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:4px}.mining-deposit-header{display:flex;justify-content:space-between;align-items:center}.mining-deposit-type{font-size:13px;font-weight:600;color:var(--text-primary)}.mining-deposit-depth{font-size:11px;color:var(--text-muted)}.mining-deposit-bar{height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.mining-deposit-fill{height:100%;background:var(--accent);border-radius:2px}.mining-deposit-qty{font-size:11px;color:var(--text-secondary)}.mining-mine{padding:8px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:4px}.mining-mine-header{display:flex;justify-content:space-between;align-items:center}.mining-mine-name{font-size:13px;font-weight:600;color:var(--text-primary)}.mining-mine-status{font-size:11px;padding:2px 6px;border-radius:4px}.mining-mine-status.active{color:var(--success);background:#43d9bd1a}.mining-mine-status.exhausted{color:var(--danger);background:#ff63841a}.mining-mine-status.idle{color:var(--text-muted);background:#ffffff0d}.mining-mine-stats{display:flex;gap:12px;font-size:11px;color:var(--text-secondary)}.mining-mine-stat{display:flex;gap:4px}.mining-mine-stat-label{color:var(--text-muted)}.mining-mine-workers{display:flex;gap:4px;align-items:center;margin-top:4px}.mining-worker-input{width:48px;font-size:11px;padding:2px 6px}.mining-worker-btn{font-size:10px;padding:2px 8px}.mining-tool{padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;display:flex;justify-content:space-between;align-items:center}.mining-tool-name{font-size:12px;color:var(--text-primary)}.mining-tool-bonus{font-size:11px;color:var(--success);font-weight:600}.mining-prospect-btn{padding:8px 16px;font-size:12px;font-weight:700;background:var(--accent);border-color:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.04em;width:100%}.mining-prospect-btn:hover{background:var(--accent-hover)}.mining-prospect-btn:disabled{opacity:.5;cursor:not-allowed}.tech-comparison-panel{display:flex;flex-direction:column;gap:8px}.tech-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);padding-bottom:4px}.tech-tab{padding:6px 12px;font-size:12px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;position:relative}.tech-tab.active{color:var(--accent);border-bottom:2px solid var(--accent)}.tech-tab:hover:not(.active){color:var(--text-secondary)}.tech-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:4px;font-size:10px;font-weight:600;background:var(--accent);color:#fff;border-radius:8px}.tech-content{padding:4px 0}.tech-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:13px;font-style:italic}.tech-section-desc{padding:4px 8px 8px;font-size:12px;color:var(--text-secondary)}.tech-current-eon{padding:6px 8px;font-size:13px;color:var(--text-secondary)}.tech-era-grid{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.tech-era-header{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:1px;background:var(--bg-card);padding:6px 8px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.tech-era-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:1px;background:var(--bg-secondary);padding:5px 8px;font-size:12px}.tech-era-row:hover{background:var(--bg-card)}.tech-era-label{color:var(--text-primary);font-weight:500}.tech-era-count{text-align:center;font-size:12px}.tech-era-col{text-align:center}.tech-era-col:first-child{text-align:left}.tech-list{display:flex;flex-wrap:wrap;gap:4px;padding:4px 0}.tech-tag{display:inline-block;padding:3px 8px;font-size:11px;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;color:var(--text-primary);cursor:default}.tech-tag:hover{background:var(--bg-card-hover);border-color:var(--border-focus)}.tech-tag.banned{border-color:var(--danger);color:var(--danger);opacity:.7;text-decoration:line-through}.tech-learnable-card{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;cursor:default;width:100%}.tech-learnable-card.ready{border-left:3px solid var(--success)}.tech-learnable-card.locked{opacity:.6;border-left:3px solid var(--text-muted)}.tech-learnable-card:hover{background:var(--bg-card-hover)}.tech-learnable-name{flex:1;color:var(--text-primary);font-weight:500}.tech-learnable-era{font-size:10px;color:var(--text-muted)}.tech-learnable-locked{font-size:10px;color:var(--danger);font-style:italic}.tech-foreign-card{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:var(--radius-sm);font-size:12px;cursor:default;width:100%}.tech-foreign-card:hover{background:var(--bg-card-hover)}.tech-foreign-name{flex:1;color:var(--text-primary);font-weight:500}.tech-foreign-era{font-size:10px;color:var(--text-muted)}.tech-foreign-holders{font-size:10px;color:var(--info)}.tech-religion-card{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;width:100%}.tech-religion-card.banned{border-left:3px solid var(--danger)}.tech-religion-card.bonus{border-left:3px solid var(--success)}.tech-religion-card.required{border-left:3px solid var(--accent)}.tech-religion-name{flex:1;color:var(--text-primary);font-weight:500}.tech-religion-modifier{font-size:11px;color:var(--success);font-weight:600}.tech-religion-source{font-size:10px;color:var(--text-muted);font-style:italic}.tech-religion-reason{font-size:10px;color:var(--text-secondary);width:100%;margin-top:2px}.tech-tree-panel{display:flex;flex-direction:column;gap:6px}.tt-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);padding-bottom:4px}.tt-tab{padding:5px 10px;font-size:11px;background:transparent;border:none;color:var(--text-muted);cursor:pointer}.tt-tab.active{color:var(--accent);border-bottom:2px solid var(--accent)}.tt-tab:hover:not(.active){color:var(--text-secondary)}.tt-summary{display:flex;align-items:center;gap:10px;padding:4px 8px;font-size:11px;font-family:var(--font-ui)}.tt-eon{color:var(--text-secondary);font-weight:600}.tt-count{padding:1px 6px;border-radius:3px;font-size:10px}.tt-known{color:var(--success)}.tt-learnable{color:var(--info)}.tt-hinted{color:var(--text-muted)}.tt-canvas-wrapper{position:relative;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);overflow:hidden}.tt-canvas{width:100%;height:360px;cursor:grab;-webkit-user-select:none;user-select:none}.tt-canvas:active{cursor:grabbing}.tt-edge{fill:none;stroke:var(--border);stroke-width:1.5;opacity:.6}.tt-node:hover rect:first-of-type{filter:brightness(1.2)}.tt-node-selected rect{filter:brightness(1.1)}.tt-zoom-controls{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;gap:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 4px}.tt-zoom-btn{padding:2px 8px;font-size:11px;border:none;background:transparent;color:var(--text-secondary)}.tt-zoom-btn:hover{color:var(--text-primary)}.tt-zoom-level{font-size:10px;color:var(--text-muted);font-family:var(--font-mono);min-width:36px;text-align:center}.tt-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px;font-style:italic}.tt-detail{border-top:1px solid var(--border);padding-top:6px}.tt-detail-body{display:flex;flex-direction:column;gap:4px}.tt-detail-row{display:flex;justify-content:space-between;font-size:12px;padding:2px 0}.tt-detail-label{color:var(--text-muted)}.tt-detail-value{color:var(--text-primary);font-weight:500}.tt-status-known{color:var(--success)}.tt-status-learnable{color:var(--info)}.tt-status-hinted{color:var(--text-muted);font-style:italic}.tt-detail-desc{font-size:12px;color:var(--text-secondary);font-style:italic;padding:4px 0}.tt-detail-hint{font-size:12px;color:var(--warning);font-style:italic;padding:4px 0}.tt-learn-btn{padding:6px 12px;font-size:12px;background:var(--info);border-color:var(--info);color:#fff;margin-top:4px}.tt-learn-btn:hover{background:#2563eb}.tt-research{margin-top:4px}.tt-progress-bar{width:100%;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden;margin:4px 0}.tt-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.tt-religion-badge{font-size:11px;padding:4px 8px;border-radius:3px;margin-top:4px}.tt-religion-banned{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.2)}.tt-religion-bonus{background:#22c55e1a;color:var(--success);border:1px solid rgba(34,197,94,.2)}.tt-religion-required{background:#6366f11a;color:var(--accent);border:1px solid rgba(99,102,241,.2)}.tt-legend{display:flex;gap:12px;padding:4px 8px;font-size:10px;color:var(--text-muted);font-family:var(--font-ui)}.tt-legend-item{display:flex;align-items:center;gap:4px}.tt-legend-dot{display:inline-block;width:8px;height:8px;border-radius:2px}.tt-dot-known{background:var(--bg-card);border:2px solid var(--success)}.tt-dot-learnable{background:var(--bg-secondary);border:2px solid var(--info);opacity:.65}.tt-dot-hinted{background:var(--bg-primary);border:2px dashed var(--text-muted);opacity:.5}.placement-panel{padding:8px;font-size:13px}.placement-header{font-size:15px;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.placement-active{color:var(--accent);font-weight:400;font-size:12px}.placement-catalog{display:flex;flex-direction:column;gap:4px}.placement-option{text-align:left;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:12px;cursor:pointer;transition:background .15s}.placement-option:hover{background:var(--bg-tertiary, #333);border-color:var(--accent)}.placement-confirm{padding:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px}.placement-confirm-title{font-size:14px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.placement-confirm-desc{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.placement-name-input{width:100%;padding:6px 10px;margin-bottom:8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:12px}.placement-confirm-btns{display:flex;gap:6px}.placement-build-btn{flex:1;padding:8px;background:var(--accent);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer}.placement-build-btn:hover{background:var(--accent-hover)}.placement-cancel-btn{flex:1;padding:8px;background:var(--bg-tertiary, #333);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;font-size:12px;cursor:pointer}.placement-map-area{margin-top:8px}.placement-map-grid{display:grid;grid-template-columns:repeat(11,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden;position:relative}.placement-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);font-size:10px;position:relative;transition:background .1s}.placement-cell.hover:not(.occupied){background:var(--accent-dim, rgba(108, 99, 255, .15));outline:2px solid var(--accent);outline-offset:-2px}.placement-cell.occupied{background:var(--bg-tertiary, #333)}.placement-player{color:var(--accent);font-weight:700;font-size:12px}.placement-building{color:var(--warning);font-weight:700}.placement-ghost{color:var(--accent);opacity:.5;font-size:12px;font-weight:600}.placement-radius{position:absolute;border-radius:50%;pointer-events:none;border:1px dashed rgba(255,255,255,.3)}.placement-info{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);padding:4px 0;margin-top:4px}.placement-radius-label{font-weight:600}@media(max-width:768px){.placement-option{min-height:44px;font-size:13px;padding:10px 14px}.placement-build-btn,.placement-cancel-btn{min-height:44px;font-size:14px}.placement-cell{min-width:24px;min-height:24px}}.draggable-panel{position:absolute;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 2px 8px #0000004d;overflow:hidden;min-width:160px;min-height:80px;transition:box-shadow .15s}.draggable-panel.focused{border-color:var(--border-focus);box-shadow:0 4px 16px #00000080}.draggable-panel.minimized{min-height:auto;height:auto!important;resize:none}.draggable-panel.minimized .draggable-panel-body{display:none}.draggable-panel.minimized .draggable-panel-titlebar{border-bottom:none}.draggable-panel-titlebar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-secondary);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.draggable-panel-titlebar:active{cursor:grabbing}.draggable-panel-title{display:flex;align-items:center;gap:6px;font-family:var(--font-ui);font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draggable-panel-controls{display:flex;gap:4px;flex-shrink:0}.draggable-panel-controls button{width:20px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;font-size:10px;background:transparent;border:1px solid transparent;color:var(--text-muted);border-radius:3px;cursor:pointer}.draggable-panel-controls button:hover{background:var(--bg-card-hover);border-color:var(--border);color:var(--text-primary)}.draggable-panel-controls button.close-btn:hover{background:#ef444426;border-color:var(--danger);color:var(--danger)}.draggable-panel-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 10px;scrollbar-width:thin;scrollbar-color:var(--border) transparent;font-size:12px}.draggable-panel-body::-webkit-scrollbar{width:4px}.draggable-panel-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.draggable-panel-resize-handle{position:absolute;bottom:0;right:0;width:12px;height:12px;cursor:nwse-resize;opacity:0;transition:opacity .15s}.draggable-panel:hover .draggable-panel-resize-handle{opacity:1}.draggable-panel-resize-handle:after{content:"";position:absolute;bottom:3px;right:3px;width:6px;height:6px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted)}@media(max-width:768px){.draggable-panel{position:relative!important;left:auto!important;top:auto!important;width:100%!important;min-height:auto;box-shadow:none;border-radius:var(--radius-sm);margin-bottom:6px}.draggable-panel-titlebar{cursor:default}.draggable-panel-resize-handle{display:none}.draggable-panel-controls button{width:36px;height:36px;font-size:14px}}.snap-guide-h,.snap-guide-v{position:absolute;z-index:9999;pointer-events:none;background:var(--accent);opacity:.35}.snap-guide-h{left:0;right:0;height:2px}.snap-guide-v{top:0;bottom:0;width:2px}.apm-popup{position:absolute;bottom:100%;right:0;width:280px;max-height:400px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-focus);border-radius:var(--radius);box-shadow:0 4px 16px #0006;margin-bottom:4px;z-index:9999;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.apm-popup::-webkit-scrollbar{width:4px}.apm-popup::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.apm-search{width:100%;padding:8px 10px;font-size:11px;font-family:var(--font-ui);border:none;border-bottom:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);outline:none;box-sizing:border-box}.apm-search::placeholder{color:var(--text-muted)}.apm-category-label{font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:8px 10px 4px}.apm-item{display:flex;gap:8px;padding:6px 10px;cursor:pointer;border-bottom:1px solid var(--border);background:transparent;transition:background .1s}.apm-item:hover{background:var(--bg-card-hover)}.apm-item.disabled{opacity:.35;pointer-events:none;cursor:default}.apm-item-icon{font-size:14px;flex-shrink:0;width:20px;text-align:center}.apm-item-info{flex:1;min-width:0}.apm-item-title{font-size:11px;font-weight:600;font-family:var(--font-ui);color:var(--text-primary)}.apm-item-open-tag{margin-left:6px;font-size:9px;color:var(--text-muted);font-weight:400}.apm-item-desc{font-size:9px;color:var(--text-muted)}@media(max-width:768px){.apm-popup{width:calc(100vw - 16px);right:8px}.apm-item{padding:10px 12px;min-height:44px}}.workspace-container{position:relative;flex:1;min-height:200px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.workspace-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;z-index:200;position:relative}.workspace-header-title{font-family:var(--font-ui);font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.workspace-header-controls{display:flex;gap:4px}.workspace-header-controls button{padding:2px 8px;font-size:10px}.workspace-add-btn{width:22px;height:22px;padding:0!important;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--accent);background:transparent;border:1px solid var(--border);border-radius:3px}.workspace-add-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.workspace-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--text-muted);font-family:var(--font-ui);pointer-events:none}.workspace-empty-icon{font-size:32px;margin-bottom:8px;opacity:.3}.workspace-empty-text{font-size:12px;margin-bottom:4px}.workspace-empty-hint{font-size:10px;opacity:.6}.workspace-panel-area{position:relative;flex:1;min-height:0}.workspace-resize-divider{height:4px;background:var(--bg-secondary);border-top:1px solid var(--border);border-bottom:1px solid var(--border);cursor:ns-resize;flex-shrink:0;transition:background .15s}.workspace-resize-divider:hover{background:var(--accent-dim)}.workspace-tray{position:absolute;bottom:0;left:0;right:0;display:flex;flex-wrap:wrap;gap:4px;padding:4px 6px;background:var(--bg-secondary);border-top:1px solid var(--border);z-index:100;min-height:28px}.tray-item{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;cursor:pointer;max-width:80px;overflow:hidden;transition:background .15s,border-color .15s}.tray-item:hover{background:var(--bg-card-hover);border-color:var(--border-focus)}.tray-icon{font-size:10px;flex-shrink:0}.tray-label{font-family:var(--font-ui);font-size:9px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.workspace-container{min-height:150px;border-radius:var(--radius-sm)}.workspace-add-btn{width:44px;height:44px;font-size:18px}.workspace-header-controls button{min-height:44px;min-width:44px;padding:4px 12px;font-size:12px}.tray-item{min-height:44px;padding:8px 12px}}.fst-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080810f2;z-index:1000}[data-theme=light] .fst-backdrop{background:#f5f5f7f2}.fst-canvas-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.fst-canvas{width:100%;height:100%;cursor:grab}.fst-canvas:active{cursor:grabbing}.fst-close{position:absolute;top:16px;right:16px;width:40px;height:40px;background:var(--bg-card);border:1px solid var(--border);border-radius:50%;font-size:18px;color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;z-index:1002}.fst-close:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.fst-search{position:absolute;top:16px;left:16px;width:250px;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-ui);color:var(--text-primary);outline:none;z-index:1002;transition:border-color .15s}.fst-search:focus{border-color:var(--accent)}.fst-search::placeholder{color:var(--text-muted)}.fst-era-pills{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;gap:4px;z-index:1002;flex-wrap:wrap;justify-content:center;max-width:80vw}.fst-era-pill{padding:3px 8px;font-size:9px;font-family:var(--font-ui);font-weight:600;border-radius:12px;cursor:pointer;border:none;text-transform:uppercase;letter-spacing:.05em;transition:background .15s,color .15s}.fst-era-pill.inactive{background:var(--bg-card);color:var(--text-muted)}.fst-era-pill.inactive:hover{background:var(--bg-card-hover);color:var(--text-secondary)}.fst-zoom{position:absolute;bottom:16px;right:16px;display:flex;flex-direction:column;gap:4px;z-index:1002}.fst-zoom button{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:background .15s}.fst-zoom button:hover{background:var(--bg-card-hover);border-color:var(--border-focus)}.fst-zoom button:active{transform:scale(.95)}.fst-legend{position:absolute;bottom:16px;left:16px;display:flex;gap:12px;align-items:center;font-size:10px;font-family:var(--font-ui);color:var(--text-muted);background:#080810cc;padding:6px 12px;border-radius:var(--radius-sm);z-index:1002}[data-theme=light] .fst-legend{background:#f5f5f7d9}.fst-legend-item{display:flex;align-items:center;gap:4px}.fst-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.fst-legend-dot.known{background:var(--success)}.fst-legend-dot.adjacent{border:2px solid var(--accent);background:transparent}.fst-legend-dot.researching{border:2px solid var(--warning);background:transparent}.fst-legend-dot.fog{background:var(--text-muted);opacity:.3}.fst-detail{position:absolute;right:16px;top:60px;width:280px;max-height:calc(100vh - 120px);overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px;z-index:1002;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.fst-detail::-webkit-scrollbar{width:4px}.fst-detail::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.fst-detail-name{font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.fst-detail-era{display:inline-block;padding:2px 8px;font-size:9px;font-weight:600;border-radius:10px;text-transform:uppercase;letter-spacing:.05em;color:#fff;margin-bottom:8px}.fst-detail-section{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.fst-detail-section-label{font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.fst-detail-list{font-size:11px;color:var(--text-secondary);line-height:1.6}.fst-detail-list li{margin-left:12px;list-style:disc}.fst-detail-progress{margin-top:6px}.fst-detail-progress-bar{height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden;margin-top:4px}.fst-detail-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .6s ease}.fst-detail-contributors{font-size:10px;color:var(--text-muted);margin-top:4px}.fst-detail-known-by{font-size:10px;color:var(--success);margin-top:4px}.fst-show-filter{position:absolute;top:50px;left:16px;display:flex;gap:4px;z-index:1002}.fst-show-filter button{padding:3px 8px;font-size:9px;font-family:var(--font-ui);border-radius:12px;border:none;cursor:pointer;transition:background .15s}.fst-show-filter button.active{background:var(--accent);color:#fff}.fst-show-filter button:not(.active){background:var(--bg-card);color:var(--text-muted)}@media(max-width:768px){.fst-search{width:calc(100vw - 80px);left:8px;top:8px}.fst-close{top:8px;right:8px;width:36px;height:36px}.fst-era-pills{top:48px;left:8px;transform:none;max-width:calc(100vw - 16px);overflow-x:auto}.fst-detail{right:8px;top:auto;bottom:60px;width:calc(100vw - 16px);max-height:40vh}.fst-zoom button{width:44px;height:44px}.fst-legend{left:8px;bottom:8px;font-size:9px;gap:8px}}.ttw-container{display:flex;flex-direction:column;gap:6px;height:100%}.ttw-era-row{display:flex;align-items:center;justify-content:space-between}.ttw-era-label{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase}.ttw-era-count{font-size:9px;color:var(--text-muted)}.ttw-tech-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.ttw-tech-item{display:flex;align-items:center;gap:6px;font-size:11px}.ttw-tech-dot{font-size:10px}.ttw-tech-dot.known{color:var(--success)}.ttw-tech-dot.adjacent{color:var(--accent)}.ttw-tech-dot.learnable{color:var(--info)}.ttw-tech-name{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ttw-progress-track{width:50px;height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.ttw-progress-fill{height:100%;border-radius:2px;transition:width .6s ease}.ttw-progress-fill.known{background:var(--success)}.ttw-progress-fill.active{background:var(--accent)}.ttw-tech-pct{font-size:9px;color:var(--text-muted);width:28px;text-align:right}.ttw-empty{font-size:10px;color:var(--text-muted);font-style:italic;padding:8px}.ttw-era-pills{display:flex;gap:2px;flex-wrap:wrap}.ttw-era-pill{padding:2px 6px;font-size:9px;border-radius:12px;border:1px solid transparent;cursor:pointer}.ttw-era-pill.active{background:var(--accent);color:#fff}.ttw-era-pill.inactive{background:var(--bg-card);color:var(--text-muted)}.ttw-expand-btn{font-size:9px;padding:3px 8px;color:var(--text-muted)}.sw-container{position:relative;width:100%;height:100%;overflow:hidden}.sw-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:11px;font-style:italic}.sw-header{font-size:10px;padding:4px 0;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:4px}.sw-grid{position:relative;flex:1;min-height:100px}.sw-building{position:absolute;width:24px;height:24px;border-radius:3px;font-size:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-weight:700;border-width:2px;border-style:solid}.sw-worker-badge{position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border);font-size:7px;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.qs-container{display:flex;flex-direction:column;gap:4px}.qs-compact{gap:2px}.qs-toggle-row{display:flex;justify-content:flex-end;margin-bottom:2px}.qs-toggle-btn{font-size:9px;font-family:var(--font-ui);padding:2px 6px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.05em}.qs-toggle-btn:hover{color:var(--text-primary);border-color:var(--border-focus)}.qs-meter{padding:2px 0}.qs-meter-header{display:flex;align-items:center;gap:4px;font-family:var(--font-ui);font-size:10px;margin-bottom:2px}.qs-compact .qs-meter-header{display:none}.qs-meter-label{color:var(--text-secondary);flex:1;text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:9px}.qs-meter.low .qs-meter-label{color:var(--warning)}.qs-meter-value{color:var(--text-primary);font-weight:700;font-size:10px;min-width:28px;text-align:right}.qs-meter.critical .qs-meter-value{color:var(--danger);animation:qs-pulse 1s ease-in-out infinite}.qs-meter-track{height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.qs-compact .qs-meter-track{height:3px}.qs-meter-fill{height:100%;border-radius:2px;transition:width .6s ease}.qs-meter.critical .qs-meter-fill{animation:qs-pulse 1s ease-in-out infinite}@keyframes qs-pulse{0%,to{opacity:1}50%{opacity:.5}}.aq-container{display:flex;flex-direction:column;gap:6px}.aq-current{padding:6px 8px;background:var(--bg-secondary);border-radius:4px}.aq-current-header{display:flex;justify-content:space-between;margin-bottom:4px}.aq-current-label{font-size:11px;font-weight:600;color:var(--text-primary)}.aq-current-time{font-size:10px;color:var(--text-muted)}.aq-progress-track{height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.aq-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .1s linear}.aq-queue-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border-bottom:1px solid var(--border);font-size:10px}.aq-queue-label{color:var(--text-secondary)}.aq-queue-cancel{color:var(--danger);cursor:pointer;padding:2px 4px}.aq-empty{text-align:center;padding:16px}.aq-empty-text{font-size:11px;color:var(--text-muted);font-style:italic}.aq-empty-hint{font-size:9px;color:var(--text-muted);margin-top:4px}.aq-recent{font-size:9px;color:var(--text-muted)}.aq-recent-item{padding:2px 0}:root{--bg-primary: #080810;--bg-secondary: #101018;--bg-card: #181824;--bg-card-hover: #242434;--bg-input: #131320;--bg-tertiary: #2a2a3a;--border: #2e2e44;--border-focus: #5050a0;--text-primary: #eaeaf2;--text-secondary: #a0a0b8;--text-muted: #6e6e88;--accent: #7c7fff;--accent-hover: #9b9eff;--accent-dim: #4f46e5;--danger: #ef4444;--warning: #f59e0b;--success: #22c55e;--info: #3b82f6;--health: #ef4444;--hunger: #f59e0b;--thirst: #3b82f6;--stamina: #22c55e;--warmth: #f97316;--fatigue: #a855f7;--morale: #ec4899;--font-body: "Georgia", "Times New Roman", serif;--font-mono: "Fira Code", "Cascadia Code", "Consolas", monospace;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius: 8px;--radius-sm: 4px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:var(--font-ui);cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);padding:8px 16px;border-radius:var(--radius-sm);transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-focus)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}input,select,textarea{font-family:var(--font-ui);background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-sm);outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}[data-theme=light]{--bg-primary: #f5f5f7;--bg-secondary: #eaeaef;--bg-card: #ffffff;--bg-card-hover: #f0f0f5;--bg-input: #f8f8fb;--border: #d0d0d8;--border-focus: #9090b0;--text-primary: #1a1a2e;--text-secondary: #505068;--text-muted: #8080a0;--accent: #4f46e5;--accent-hover: #6366f1;--accent-dim: #3730a3;--bg-tertiary: #d8d8e0;--health: #dc2626;--hunger: #d97706;--thirst: #2563eb;--stamina: #16a34a;--warmth: #ea580c;--fatigue: #9333ea;--morale: #db2777}@keyframes pulse-critical{0%,to{opacity:1}50%{opacity:.5}}.draggable-panel.minimized *,[hidden] *{animation-play-state:paused!important}@media(max-width:768px){.senses-panel{padding:8px;font-size:14px}.senses-poi-grid{grid-template-columns:1fr!important}.senses-poi-card{min-height:44px}.senses-player-actions,.senses-animal-actions{flex-wrap:wrap;gap:4px}.senses-player-actions button,.senses-animal-actions button{min-height:44px;font-size:12px;flex:1;min-width:80px}.senses-ambient{flex-direction:column}.senses-touch{flex-wrap:wrap;gap:4px}.stats-panel{padding:6px}.stats-core-grid{grid-template-columns:repeat(2,1fr)!important;gap:4px}.stats-skills-list{max-height:200px}.inv-panel{padding:6px}.inv-sort-btns{flex-wrap:wrap;gap:4px}.inv-sort-btns button{min-height:36px}.inv-item{padding:8px}.inv-item-actions{flex-wrap:wrap;gap:4px}.inv-item-actions button{min-height:44px;font-size:12px}.chat-panel{padding:4px}.chat-tabs{flex-wrap:wrap;gap:2px}.chat-tab{min-height:36px;font-size:11px;padding:4px 8px}.chat-input-row{gap:4px}.chat-input-row input{min-height:44px}.chat-input-row button{min-height:44px;min-width:60px}.combat-panel{padding:6px}.combat-actions{flex-wrap:wrap;gap:4px}.combat-action-btn{min-height:50px;font-size:13px;flex:1;min-width:70px}.combat-targets{flex-direction:column;gap:4px}.combat-target{min-height:44px}.combat-body-parts{grid-template-columns:repeat(2,1fr)!important;gap:4px}.crafting-inventory{gap:4px}.crafting-item{min-height:44px;padding:8px 12px}.crafting-try-btn{min-height:50px;font-size:14px}.trade-panel{padding:6px}.trade-tabs{flex-wrap:wrap;gap:2px}.trade-tab{min-height:36px;font-size:11px}.trade-proposal{flex-direction:column;gap:8px}.trade-offer-items,.trade-request-items{min-height:80px}.trade-action-btns{flex-direction:column;gap:4px}.trade-action-btns button{min-height:44px}.map-grid{font-size:10px}.map-cell{min-width:24px;min-height:24px}.map-legend{flex-wrap:wrap;gap:4px;font-size:10px}.settlement-panel{padding:6px}.settlement-buildings{grid-template-columns:1fr!important}.settlement-build-btn{min-height:44px;font-size:12px}.agri-plots,.agri-animals{grid-template-columns:1fr!important}.agri-btn{min-height:44px;font-size:12px}.lb-tabs{flex-wrap:wrap;gap:2px}.lb-tab{min-height:36px;font-size:11px}button{min-height:36px}.diplo-tabs,.crime-tabs,.ent-filters,.nuclear-tabs,.factory-tabs,.naval-tabs,.vehicle-tabs,.knowledge-tabs,.econ-tabs,.cave-tabs{flex-wrap:wrap;gap:4px}.diplo-tab,.crime-tab,.ent-filter,.nuclear-tab,.factory-tab,.naval-tab,.vehicle-tab,.knowledge-tab,.econ-tab,.cave-tab{font-size:11px;padding:6px 10px;min-height:44px}.diplo-panel{padding:4px}.diplo-treaty-parties{font-size:12px}.diplo-relation{flex-direction:column;gap:6px}.diplo-relation-actions{flex-wrap:wrap;gap:4px}.diplo-btn{min-height:44px;font-size:12px;padding:8px 12px}.diplo-war-stats{flex-direction:column;gap:2px}.crime-panel{padding:4px}.crime-card-actions{flex-wrap:wrap;gap:4px}.crime-btn,.bounty-card button{min-height:44px;font-size:12px}.trial-vote{flex-direction:column;gap:4px}.apprentice-panel{padding:4px}.apprentice-names{flex-direction:column;gap:2px}.apprentice-recipe-list{flex-wrap:wrap}.apprentice-btn{min-height:44px;font-size:12px}.edu-panel{padding:4px}.edu-header{flex-direction:column;gap:4px}.edu-bonuses{flex-wrap:wrap;gap:6px}.edu-subjects{flex-wrap:wrap}.edu-btn{min-height:44px;font-size:12px;width:100%}.ent-panel{padding:4px}.ent-header{flex-direction:column;gap:4px}.ent-details{flex-wrap:wrap;gap:6px;font-size:11px}.ent-btn{min-height:44px;font-size:12px}.sub-panel{padding:4px}.sub-header{flex-direction:column;gap:4px}.sub-effects{flex-wrap:wrap;gap:4px}.sub-footer{flex-direction:column;gap:4px}.sub-btn{min-height:44px;font-size:12px;width:100%}.prop-panel{padding:4px}.prop-stats{flex-wrap:wrap;gap:4px;font-size:11px}.prop-meta{flex-wrap:wrap;gap:6px}.prop-btn{min-height:44px;font-size:12px}.trade-panel{padding:4px}.trade-goods{flex-direction:column;gap:4px}.trade-stats{flex-wrap:wrap;gap:6px;font-size:11px}.trade-btn{min-height:44px;font-size:12px;width:100%}.naval-panel{padding:4px}.naval-stats{flex-direction:column;gap:4px}.naval-compass{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.naval-dir,.naval-action-btn{min-height:44px;font-size:12px}.vehicle-panel{padding:4px}.vehicle-gauges{flex-direction:column;gap:8px}.flight-instruments{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.vehicle-btn{min-height:44px;font-size:12px}.airport-schedule{overflow-x:auto}.airport-row{min-width:400px}.knowledge-panel{padding:4px}.knowledge-item{flex-direction:column;gap:2px}.reader-body{font-size:13px;line-height:1.5}.knowledge-btn{min-height:44px;font-size:12px}.law-form{gap:8px}.law-content-input{min-height:120px}.econ-panel{padding:4px}.econ-listing{flex-direction:column;gap:4px}.econ-listing-right{flex-direction:row;justify-content:space-between}.econ-btn,.econ-buy-btn{min-height:44px;font-size:12px}.econ-bank-form{flex-direction:column;gap:4px}.factory-panel{padding:4px}.factory-stats{flex-direction:column;gap:2px;font-size:11px}.factory-btn{min-height:44px;font-size:12px}.railroad-stops{flex-wrap:wrap}.telegraph-compose{gap:6px}.nuclear-panel{padding:4px}.rad-details{flex-wrap:wrap;gap:6px;font-size:11px}.reactor-btn{min-height:44px;font-size:12px}.power-summary{flex-direction:column;gap:8px}.cave-panel{padding:4px}.cave-hazard-chips,.cave-creature-list{flex-wrap:wrap}.cave-exit-btns{flex-direction:column;gap:4px}.cave-btn,.cave-exit-btn{min-height:44px;font-size:12px}.weather-stats{flex-direction:column;gap:6px}.weather-mods{grid-template-columns:1fr 1fr;gap:4px}.injury-body-diagram{transform:scale(.85);transform-origin:top center}.injury-treat-btn{min-height:44px;font-size:12px}}
