@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Crimson+Pro:ital,wght@0,300;0,400;0,500;1,300&family=JetBrains+Mono:wght@500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=JetBrains+Mono:wght@400;500;700&family=Crimson+Pro:ital,wght@0,300;0,400;1,300&display=swap";.hex-map-container{width:100%;height:100%;position:relative;overflow:hidden;cursor:grab;background:#1a1a1e}.hex-map-container:active{cursor:grabbing}.hex-map-svg{width:100%;height:100%}.hex-tile{cursor:pointer}.hex-tile:hover .hex-border{stroke-width:2;stroke:#d4af37}.hex-tile.explored:hover .hex-border{filter:drop-shadow(0 0 3px rgba(212,175,55,.4))}.hex-tile.selected .hex-border{stroke:#d4af37;stroke-width:2.5;animation:selectPulse 2s ease-in-out infinite}@keyframes selectPulse{0%,to{filter:drop-shadow(0 0 4px rgba(212,175,55,.6))}50%{filter:drop-shadow(0 0 8px rgba(212,175,55,.9))}}.hex-tile.owned .hex-border{stroke:#d4af37;stroke-width:1.5}.hex-tile.unexplored polygon:first-child{filter:saturate(.3) brightness(.5)}.fog-overlay{pointer-events:none;opacity:.8}.owner-label{text-shadow:0 0 3px rgba(0,0,0,.7),0 0 6px rgba(0,0,0,.4);pointer-events:none}.map-zoom-controls{position:absolute;bottom:var(--space-md);right:var(--space-md);display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--parchment);border:2px solid var(--leather);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.map-zoom-controls button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--leather);color:var(--parchment);border:none;border-radius:var(--radius-sm);font-size:1.25rem;font-weight:700;cursor:pointer;transition:background .2s ease}.map-zoom-controls button:hover{background:var(--leather-dark)}.map-zoom-controls span{min-width:48px;text-align:center;font-size:.75rem;color:var(--ink)}.map-coords{position:absolute;bottom:var(--space-md);left:var(--space-md);padding:var(--space-xs) var(--space-sm);background:var(--parchment);border:2px solid var(--leather);border-radius:var(--radius-sm);font-size:.75rem;font-family:monospace;color:var(--ink)}.construction-indicator{pointer-events:none}.progress-ring{transition:stroke-dasharray .5s ease}.construction-pulse-dot{animation:construction-center-pulse 1.5s ease-in-out infinite}@keyframes construction-center-pulse{0%,to{opacity:1}50%{opacity:.3}}.production-ready-indicator{pointer-events:none}.pulse-ring{animation:production-pulse 2s ease-in-out infinite;transform-origin:center}@keyframes production-pulse{0%,to{r:12;stroke-opacity:1}50%{r:16;stroke-opacity:.3}}.scouting-indicator{pointer-events:none}.scout-pulse-ring{animation:scout-pulse 2s ease-in-out infinite;transform-origin:center}@keyframes scout-pulse{0%,to{r:12;stroke-opacity:1}50%{r:16;stroke-opacity:.3}}.settlement-indicator{pointer-events:none}.settlement-indicator circle{animation:settlement-glow 3s ease-in-out infinite}@keyframes settlement-glow{0%,to{filter:drop-shadow(0 0 4px #D4AF37)}50%{filter:drop-shadow(0 0 8px #D4AF37)}}.hex-tile g[clipPath] image{pointer-events:none}.resource-bar-wrapper{display:flex;align-items:center;gap:6px}.resource-chip{display:flex;align-items:center;gap:4px;height:32px;padding:0 9px;border:1px solid rgba(180,140,80,.3);border-radius:8px;background:#b48c5026;white-space:nowrap;transition:border-color .2s,background .2s}.chip-icon{font-size:.85rem;line-height:1}.chip-pec{font-size:.78rem;font-weight:700;color:#d4a030}.chip-storage{font-size:.78rem;font-weight:600;color:#c8b48cd9;transition:color .3s ease}.expand-hint{gap:4px;opacity:.7;font-size:.8rem}.expand-count{color:var(--ink);font-weight:500}.expand-arrow{font-size:.7rem;transition:transform .2s}.expand-arrow.open{transform:rotate(180deg)}.inventory-panel{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);width:320px;max-height:420px;overflow-y:auto;background:var(--parchment);border:2px solid var(--leather);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000004d;z-index:200;animation:inventorySlideDown .2s ease}@keyframes inventorySlideDown{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.inventory-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid rgba(139,69,19,.2)}.inventory-header h3{margin:0;font-family:var(--font-heading);font-size:1.1rem;color:var(--ink)}.inventory-close{background:none;border:none;font-size:1rem;color:var(--ink);cursor:pointer;opacity:.5;padding:2px 6px;border-radius:var(--radius-sm)}.inventory-close:hover{opacity:1;background:#8b45131a}.inventory-pec{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#daa52014;border-bottom:1px solid rgba(139,69,19,.15)}.inventory-pec .resource-icon{font-size:1.25rem}.inventory-pec-label{flex:1;font-size:.85rem;color:var(--ink)}.inventory-pec-value{font-weight:600;color:var(--gold-dark);font-size:.9rem}.inventory-tier{padding:var(--space-xs) 0;border-bottom:1px solid rgba(139,69,19,.1)}.inventory-tier:last-child{border-bottom:none}.tier-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--leather-dark);opacity:.8}.tier-icon{font-size:.85rem}.tier-items{display:flex;flex-direction:column}.inventory-item{display:flex;align-items:center;gap:var(--space-sm);padding:4px var(--space-md) 4px calc(var(--space-md) + 4px);transition:background .15s}.inventory-item:hover{background:#8b45130f}.inventory-item-icon{font-size:1rem;width:24px;text-align:center}.inventory-item-name{flex:1;font-size:.85rem;color:var(--ink)}.inventory-item-amount{font-weight:600;font-size:.9rem;color:var(--ink);min-width:36px;text-align:right}.inventory-empty{padding:var(--space-lg) var(--space-md);text-align:center;color:var(--ink);opacity:.5;font-size:.85rem}.inventory-panel::-webkit-scrollbar{width:6px}.inventory-panel::-webkit-scrollbar-track{background:transparent}.inventory-panel::-webkit-scrollbar-thumb{background:var(--leather);border-radius:3px;opacity:.5}.hex-build-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hex-build-modal{position:relative;width:800px;max-width:95vw;max-height:85vh;background:linear-gradient(180deg,#1e2a1e,#162016);border-radius:16px;border:1px solid rgba(100,120,100,.4);box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:hexBuildSlideIn .2s ease-out}@keyframes hexBuildSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.hex-build-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#1e2d1ecc;border-bottom:1px solid rgba(100,120,100,.3);flex-shrink:0}.hex-build-title-row{display:flex;align-items:center;gap:12px}.hex-build-icon{font-size:24px}.hex-build-title{margin:0;font-size:18px;font-weight:600;color:#c8d4c0}.hex-build-close{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:#888;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.hex-build-close:hover{background:#ff646433;color:#f66}.hex-build-body{display:flex;flex:1;overflow:hidden;min-height:0}.hex-build-left{width:360px;flex-shrink:0;padding:12px 16px;overflow-y:auto;border-right:1px solid rgba(100,120,100,.2);display:flex;flex-direction:column;gap:10px}.hex-build-right{flex:1;padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.hex-build-categories{display:flex;gap:4px;flex-wrap:wrap}.hex-cat-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;background:#283c2866;border:1px solid rgba(100,120,100,.2);border-radius:6px;cursor:pointer;transition:all .15s ease;flex:1;min-width:44px}.hex-cat-tab:hover:not(.disabled){background:#32463280;border-color:#64786466}.hex-cat-tab.active{background:#4a7c434d;border-color:#4a7c43;box-shadow:0 0 0 1px #4a7c4333}.hex-cat-tab.disabled{opacity:.35;cursor:not-allowed}.hex-cat-icon{font-size:1rem}.hex-cat-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#7a8a7a;white-space:nowrap}.hex-cat-tab.active .hex-cat-label{color:#c8d4c0}.hex-building-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.hex-building-option{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;background:#283c2866;border:1px solid rgba(100,120,100,.2);border-radius:6px;cursor:pointer;transition:all .15s ease}.hex-building-option:hover{background:#32463280;border-color:#64786466;transform:translateY(-1px)}.hex-building-option.selected{background:#4a7c434d;border-color:#4a7c43;box-shadow:0 0 0 2px #4a7c4333}.hex-option-icon{font-size:1.4rem}.hex-option-name{font-size:.65rem;font-weight:500;color:#c8d4c0;text-align:center;line-height:1.2}.hex-no-buildings{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;text-align:center}.hex-no-buildings-icon{font-size:2rem;opacity:.5}.hex-no-buildings p{margin:0;font-size:.85rem;color:#666;font-style:italic}.hex-selected-header{display:flex;align-items:center;gap:14px;padding:12px;background:#4a7c4326;border:1px solid rgba(74,124,67,.3);border-radius:8px}.hex-selected-emoji{font-size:2.2rem}.hex-selected-info{display:flex;flex-direction:column;gap:2px}.hex-selected-name{margin:0;font-size:1.1rem;font-weight:600;color:#c8d4c0}.hex-selected-category{font-size:.75rem;color:#7a8a7a;text-transform:capitalize}.hex-building-desc{margin:0;font-size:.8rem;color:#888;line-height:1.4;font-style:italic}.hex-cost-section{padding:10px 12px;background:#0003;border-radius:6px}.hex-cost-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.hex-cost-icon{font-size:.9rem}.hex-cost-label{font-size:.7rem;font-weight:600;color:#7a8a7a;text-transform:uppercase;letter-spacing:.5px}.hex-cost-list{display:flex;flex-direction:column;gap:4px}.hex-cost-row{display:flex;align-items:center;gap:8px;padding:5px 8px;background:#283c284d;border-radius:4px}.hex-cost-row.affordable{border-left:3px solid #4A7C43}.hex-cost-row.insufficient{border-left:3px solid #b34040;background:#b340401a}.hex-cost-item-icon{font-size:1rem;width:24px;text-align:center}.hex-cost-item-name{flex:1;font-size:.85rem;color:#c8d4c0}.hex-cost-item-values{font-family:Courier New,monospace;font-size:.85rem;font-weight:600}.hex-owned-value{color:#9fdf93}.hex-owned-value.not-enough{color:#ff6b6b}.hex-separator{color:#666;margin:0 4px}.hex-required-value{color:#888}.hex-time-info{display:flex;align-items:center;gap:8px;font-size:.85rem}.hex-time-icon{font-size:1rem}.hex-time-label{color:#7a8a7a}.hex-time-value{font-weight:600;color:#c8d4c0;font-family:Courier New,monospace}.hex-production-flow{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:4px 0}.hex-prod-item{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#283c284d;border:1px solid rgba(100,120,100,.2);border-radius:4px;font-size:.85rem;color:#c8d4c0}.hex-prod-item.output{background:#4a7c4333;border-color:#4a7c4366}.hex-prod-arrow{font-size:1.1rem;color:#d4af37;font-weight:700}.hex-prod-cycle{font-size:.75rem;color:#7a8a7a;font-style:italic}.hex-pec-per-cycle{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.8rem;color:#d4af37}.hex-terrain-bonus{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#d4af371a;border:1px solid rgba(212,175,55,.3);border-radius:6px;font-size:.85rem;color:#d4af37}.hex-bonus-star{font-size:1.1rem}.hex-utility-info{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#888}.hex-build-error{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#b3404026;border:1px solid rgba(179,64,64,.4);border-radius:6px;font-size:.85rem;color:#ff6b6b}.hex-insufficient-warning{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:#b340401a;border-radius:4px;font-size:.75rem;color:#ff6b6b}.hex-insufficient-warning span:before{content:"• "}.hex-build-actions{margin-top:auto;padding-top:8px}.hex-btn-build{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;background:linear-gradient(135deg,#4a7c43,#3a6235);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 12px #4a7c434d}.hex-btn-build:hover:not(:disabled):not(.disabled){background:linear-gradient(135deg,#5a8c53,#4a7245);transform:translateY(-1px);box-shadow:0 4px 16px #4a7c4366}.hex-btn-build:active:not(:disabled):not(.disabled){transform:translateY(0)}.hex-btn-build.disabled,.hex-btn-build:disabled{background:#444;color:#888;cursor:not-allowed;box-shadow:none;transform:none}.hex-btn-icon{font-size:1.1rem}.hex-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:hexBuildSpin .8s linear infinite}@keyframes hexBuildSpin{to{transform:rotate(360deg)}}.hex-no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;padding:40px 20px;text-align:center}.hex-no-selection-icon{font-size:2.5rem;opacity:.5}.hex-no-selection p{margin:0;font-size:.9rem;color:#666}.hex-build-left::-webkit-scrollbar,.hex-build-right::-webkit-scrollbar{width:6px}.hex-build-left::-webkit-scrollbar-track,.hex-build-right::-webkit-scrollbar-track{background:transparent}.hex-build-left::-webkit-scrollbar-thumb,.hex-build-right::-webkit-scrollbar-thumb{background:#6478644d;border-radius:3px}.hex-build-left::-webkit-scrollbar-thumb:hover,.hex-build-right::-webkit-scrollbar-thumb:hover{background:#64786480}@media (max-width: 700px){.hex-build-modal{max-height:90vh}.hex-build-body{flex-direction:column}.hex-build-left{width:100%;max-height:40vh;border-right:none;border-bottom:1px solid rgba(100,120,100,.2)}.hex-building-grid{grid-template-columns:repeat(4,1fr)}}.construction-progress{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);background:linear-gradient(135deg,#F5EFE0 0%,var(--parchment-dark) 100%);border:3px solid var(--leather);border-radius:var(--radius-md);position:relative;overflow:hidden}.construction-progress:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 19px,rgba(139,69,19,.03) 19px,rgba(139,69,19,.03) 20px),repeating-linear-gradient(90deg,transparent,transparent 19px,rgba(139,69,19,.03) 19px,rgba(139,69,19,.03) 20px);pointer-events:none}.construction-progress.complete{border-color:var(--success);background:linear-gradient(135deg,rgba(74,124,67,.1) 0%,var(--parchment-light) 100%)}.progress-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);position:relative;z-index:1}.construction-icon{font-size:1.5rem;animation:hammer-swing .8s ease-in-out infinite;transform-origin:bottom right}@keyframes hammer-swing{0%,to{transform:rotate(0)}50%{transform:rotate(-20deg)}}.construction-progress.complete .construction-icon{animation:none}.time-remaining{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--parchment);border:1px solid var(--leather-light);border-radius:var(--radius-sm)}.time-icon{font-size:.9rem}.time-text{font-size:.8rem;font-weight:600;color:var(--leather-dark);font-family:Courier New,monospace}.progress-bar-container{position:relative;z-index:1}.progress-bar-track{position:relative;height:32px;background:var(--parchment);border:2px solid var(--leather);border-radius:var(--radius-sm);overflow:hidden;box-shadow:inset 0 2px 6px #00000026}.track-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.grid-line{position:absolute;top:0;bottom:0;width:1px;background:#8b45131a}.progress-bar-fill{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(180deg,var(--leather-light) 0%,var(--leather) 50%,var(--leather-dark) 100%);transition:width .5s cubic-bezier(.4,0,.2,1);overflow:hidden}.progress-stripes{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(255,255,255,.1) 8px,rgba(255,255,255,.1) 16px);animation:stripes-move 1s linear infinite}@keyframes stripes-move{0%{background-position:0 0}to{background-position:32px 0}}.progress-shimmer{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{left:-100%}to{left:200%}}.progress-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.progress-value{font-size:.9rem;font-weight:700;color:var(--parchment);text-shadow:1px 1px 2px rgba(0,0,0,.5),-1px -1px 0 var(--leather-dark);letter-spacing:.05em}.progress-value.complete{color:var(--gold-light);text-shadow:1px 1px 2px rgba(0,0,0,.5),0 0 10px var(--gold)}.milestone-markers{display:flex;justify-content:space-around;padding:var(--space-xs) var(--space-md)}.milestone{font-size:.65rem;font-weight:600;color:var(--ink-faded);opacity:.5;transition:all .3s ease}.milestone[data-reached=true]{color:var(--gold-dark);opacity:1}.construction-visual{display:flex;align-items:flex-end;justify-content:center;height:60px;position:relative;z-index:1}.scaffold{position:relative;width:60px;height:100%}.scaffold-beam{position:absolute;bottom:0;width:4px;height:100%;background:var(--leather-light);border-radius:2px}.scaffold-beam.left{left:8px}.scaffold-beam.right{right:8px}.scaffold-platform{position:absolute;left:4px;right:4px;height:4px;background:var(--leather);border-radius:2px;transition:bottom .5s ease;display:flex;justify-content:center}.worker{position:absolute;bottom:4px;font-size:1rem;animation:worker-work 1s ease-in-out infinite}@keyframes worker-work{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.building-silhouette{font-size:2.5rem;margin-left:var(--space-sm);transition:opacity .5s ease;filter:drop-shadow(2px 2px 2px rgba(0,0,0,.2))}.status-message{position:relative;z-index:1;text-align:center}.status{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:#ffffff80;border-radius:var(--radius-sm);font-size:.8rem;color:var(--ink-faded);font-style:italic}.status.complete{background:#4a7c4326;color:var(--success);font-style:normal;font-weight:600}.status-icon{font-size:.9rem}.production-status{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);background:linear-gradient(180deg,var(--parchment-light) 0%,var(--parchment) 100%);border:3px solid var(--leather);border-radius:var(--radius-md);position:relative;overflow:hidden}.production-status:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none}.production-status.has-production{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-light)}.production-status.has-production:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(212,175,55,.05) 0%,transparent 50%);pointer-events:none}.status-header{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:1}.header-left{display:flex;align-items:center;gap:var(--space-sm)}.status-icon{font-size:1.5rem}.header-text{display:flex;flex-direction:column}.header-text .label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faded)}.header-text .building-name{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--leather-dark);margin:0}.cycles-section{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);position:relative;z-index:1}.cycles-badge{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-weight:600;transition:all .3s ease}.cycles-badge.waiting{background:var(--parchment-dark);border:1px solid var(--leather-light);color:var(--ink-faded)}.cycles-badge.ready{background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold) 100%);border:2px solid var(--gold-dark);color:var(--ink);box-shadow:0 2px 8px #d4af3766,inset 0 1px #fff6;animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{box-shadow:0 2px 8px #d4af3766,inset 0 1px #fff6}50%{box-shadow:0 2px 16px #d4af3799,0 0 0 4px #d4af3733,inset 0 1px #fff6}}.badge-icon{font-size:1rem}.badge-count{font-size:1.5rem;font-family:var(--font-heading);line-height:1}.badge-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.next-cycle{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.next-label{font-size:.7rem;color:var(--ink-faded)}.next-time{font-size:.9rem;font-weight:600;color:var(--leather-dark);font-family:Courier New,monospace}.output-preview{padding:var(--space-sm);background:#4a7c431a;border:1px solid rgba(74,124,67,.3);border-radius:var(--radius-sm);position:relative;z-index:1}.preview-header{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.preview-icon{font-size:.9rem}.preview-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--forest)}.output-bonus-badge{margin-left:auto;font-size:.7rem;font-weight:700;padding:1px 6px;border-radius:8px;letter-spacing:.03em}.output-bonus-badge.bonus{background:#4caf502e;color:#2e7d32;border:1px solid rgba(76,175,80,.4)}.output-bonus-badge.penalty{background:#e070402e;color:#bf4f20;border:1px solid rgba(224,112,64,.4)}.cost-savings{margin-left:auto;font-size:.7rem;font-weight:700;padding:1px 6px;border-radius:8px;background:#4caf502e;color:#2e7d32;border:1px solid rgba(76,175,80,.4)}.output-list{display:flex;flex-direction:column;gap:4px}.output-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs);background:#ffffff80;border-radius:4px}.output-icon{font-size:1rem;width:24px;text-align:center}.output-name{flex:1;font-size:.85rem;color:var(--ink)}.output-amount{font-weight:700;color:var(--success);font-family:Courier New,monospace;font-size:.9rem}.production-rate{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);background:var(--parchment-dark);border-radius:var(--radius-sm);position:relative;z-index:1}.rate-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faded)}.rate-flow{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.rate-item{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;background:var(--parchment-light);border:1px solid var(--parchment-dark);border-radius:3px;font-size:.8rem;font-weight:500}.rate-item.input{opacity:.75}.rate-item.output{background:#4a7c4326;border-color:#4a7c434d}.rate-arrow{color:var(--gold-dark);font-weight:700;font-size:1rem}.rate-time{font-size:.75rem;color:var(--ink-faded);font-style:italic}.collect-button{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);background:var(--parchment-dark);border:2px solid var(--leather-light);border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;color:var(--ink-faded);cursor:not-allowed;transition:all .3s ease;position:relative;z-index:1}.collect-button.ready{background:linear-gradient(180deg,var(--gold-light) 0%,var(--gold) 100%);border-color:var(--gold-dark);color:var(--ink);cursor:pointer;box-shadow:0 4px 12px #d4af374d,inset 0 1px #fff6}.collect-button.ready:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #d4af3766,inset 0 1px #fff6}.collect-button.ready:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 8px #d4af374d,inset 0 1px #fff6}.collect-button:disabled{opacity:.7}.button-icon{font-size:1.25rem}.button-spinner{width:18px;height:18px;border:2px solid var(--ink);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.feedback-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--success);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;box-shadow:0 8px 32px #0000004d;z-index:100;animation:toast-appear .4s cubic-bezier(.34,1.56,.64,1)}@keyframes toast-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#fff3;border-radius:50%;font-size:.9rem}.production-status.no-production{background:var(--parchment);border-color:var(--leather-light)}.no-production-message{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--parchment-dark);border-radius:var(--radius-sm);font-size:.85rem;color:var(--ink-faded);font-style:italic;position:relative;z-index:1}.message-icon{font-size:1rem}.utility-stat{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm);background:#ffffff80;border-radius:var(--radius-sm);position:relative;z-index:1}.stat-icon{font-size:1rem}.stat-label{flex:1;font-size:.85rem;color:var(--ink-faded)}.stat-value{font-weight:600;color:var(--leather-dark)}.production-status.gathering-setup{border-color:var(--leather)}.gathering-setup-section{display:flex;flex-direction:column;gap:var(--space-md);position:relative;z-index:1}.cycle-selector{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--parchment-dark);border-radius:var(--radius-sm)}.cycle-label{font-size:.85rem;font-weight:500;color:var(--ink)}.cycle-controls{display:flex;align-items:center;gap:var(--space-sm)}.cycle-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--parchment-light);border:2px solid var(--leather-light);border-radius:var(--radius-sm);font-size:1.1rem;font-weight:700;color:var(--ink);cursor:pointer;transition:all .2s ease}.cycle-btn:hover:not(:disabled){background:var(--gold-light);border-color:var(--gold)}.cycle-btn:disabled{opacity:.4;cursor:not-allowed}.cycle-count{font-size:1.3rem;font-weight:700;color:var(--leather-dark);font-family:var(--font-heading);min-width:32px;text-align:center}.gathering-cost-breakdown{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);background:#8b45130f;border:1px solid var(--leather-light);border-radius:var(--radius-sm)}.cost-header{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.cost-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--leather-dark)}.cost-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);background:#ffffff80;border-radius:4px}.cost-label{font-size:.85rem;color:var(--ink)}.cost-label-sub{font-size:.78rem;opacity:.7;margin-left:2px}.transit-countdown{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:#ffc86426;border:1px solid rgba(255,200,100,.3);border-radius:6px;margin-top:var(--space-xs)}.transit-icon{font-size:1rem}.transit-label{font-size:.82rem;color:#c8a040;flex:1}.transit-time{font-size:.9rem;font-weight:700;font-family:Courier New,monospace;color:#e0b030}.cost-row.cost-total{border-top:1px solid rgba(0,0,0,.15);margin-top:2px;font-weight:700}.cost-value{font-size:.85rem;font-weight:600;font-family:Courier New,monospace}.cost-value.affordable{color:var(--success)}.cost-value.unaffordable{color:var(--danger, #c0392b)}.production-status.gathering-progress{border-color:var(--leather)}.gathering-progress-section{display:flex;flex-direction:column;gap:var(--space-sm);position:relative;z-index:1}.progress-info{display:flex;justify-content:space-between;align-items:center}.progress-label{font-size:.85rem;font-weight:500;color:var(--ink)}.progress-pct{font-size:.85rem;font-weight:700;color:var(--leather-dark);font-family:Courier New,monospace}.progress-bar-track{height:12px;background:var(--parchment-dark);border:1px solid var(--leather-light);border-radius:6px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--gold-light) 0%,var(--gold) 100%);border-radius:6px;transition:width .5s ease}.progress-bar-fill.complete{background:linear-gradient(90deg,var(--success) 0%,#27ae60 100%)}.npc-shop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:300}.npc-shop-screen{--shop-accent: #1a2e1a;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,96vw);max-height:90dvh;display:flex;flex-direction:column;background:#1a1a24;border:1px solid rgba(255,255,255,.12);border-radius:12px;z-index:301;overflow:hidden;box-shadow:0 24px 64px #0009}.npc-shop-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--shop-accent, #1a2e1a);border-bottom:1px solid rgba(255,255,255,.1)}.npc-shop-back,.npc-shop-close{background:#ffffff1a;border:none;color:#ccc;width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.npc-shop-back:hover,.npc-shop-close:hover{background:#ffffff2e;color:#fff}.npc-shop-title-group{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.npc-shop-archetype-icon{font-size:28px;flex-shrink:0}.npc-shop-title{font-size:17px;font-weight:700;color:#f0ece0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.npc-shop-archetype-label{font-size:11px;color:#f0dca0b3;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.npc-shop-balance-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#ffdc500f;border-bottom:1px solid rgba(255,220,80,.12)}.npc-shop-balance-label{font-size:12px;color:#888}.npc-shop-balance-val{font-size:14px;font-weight:700;color:#ffd84d}.npc-shop-body{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:12px}.npc-shop-desc{font-size:12px;color:#888;margin:0;line-height:1.5}.npc-shop-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 20px;text-align:center;color:#666;font-size:13px}.npc-shop-empty .npc-shop-empty-icon{font-size:40px;opacity:.5}.npc-shop-hint{font-size:11px;color:#555}.npc-shop-spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.1);border-top-color:#ffffff80;border-radius:50%;animation:npc-spin .8s linear infinite}.npc-shop-retry{padding:6px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#ccc;cursor:pointer;font-size:13px}.npc-shop-flash{padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500}.npc-shop-flash.success{background:#50c86426;border:1px solid rgba(80,200,100,.3);color:#7edf8e}.npc-shop-flash.error{background:#dc505026;border:1px solid rgba(220,80,80,.3);color:#f08080}.npc-shop-grid{display:flex;flex-direction:column;gap:10px}.npc-shop-item{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s}.npc-shop-item:hover{border-color:#ffffff26}.npc-shop-item-header{display:flex;align-items:center;gap:10px}.npc-shop-item-icon{font-size:24px;flex-shrink:0}.npc-shop-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.npc-shop-item-name{font-size:14px;font-weight:600;color:#e0dcc8;text-transform:capitalize}.npc-shop-item-stock{font-size:11px;color:#888}.npc-shop-item-price{font-size:13px;font-weight:700;color:#ffd84d;white-space:nowrap;flex-shrink:0}.npc-shop-item-buy{display:flex;flex-direction:column;gap:8px}.npc-shop-qty-row{display:flex;align-items:center;gap:4px}.npc-qty-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#ccc;padding:4px 8px;font-size:12px;cursor:pointer;transition:background .15s;white-space:nowrap}.npc-qty-btn:hover{background:#ffffff26;color:#fff}.npc-qty-input{background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#e0dcc8;padding:4px 8px;font-size:13px;width:64px;text-align:center;flex:1;min-width:0}.npc-qty-input:focus{outline:none;border-color:#ffdc5066}.npc-shop-buy-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.npc-shop-total{font-size:13px;font-weight:600;color:#ffd84d}.npc-shop-total.unaffordable{color:#e07060}.npc-buy-btn{padding:6px 18px;background:linear-gradient(135deg,#4a8f4a,#3a7a3a);border:none;border-radius:6px;color:#e8f4e8;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.npc-buy-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.npc-buy-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.npc-shop-footer{padding:8px 16px;border-top:1px solid rgba(255,255,255,.06);text-align:center}.npc-shop-footer-text{font-size:11px;color:#555}@media (max-width: 480px){.npc-shop-screen{top:auto;bottom:0;left:0;right:0;transform:none;width:100%;max-height:85dvh;border-radius:12px 12px 0 0}.npc-qty-btn{padding:6px 10px;font-size:13px}}.caravan-dock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:300}.caravan-dock-screen{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(720px,96vw);max-height:90vh;background:#0f1a14;border:1px solid #2a4a30;border-radius:12px;display:flex;flex-direction:column;z-index:301;overflow:hidden;box-shadow:0 24px 64px #000000b3}.caravan-dock-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#0a1210;border-bottom:1px solid #1e3825;flex-shrink:0}.caravan-dock-title-row{display:flex;align-items:center;gap:10px}.caravan-dock-icon{font-size:22px}.caravan-dock-title{margin:0;font-size:18px;font-weight:700;color:#d4b870;letter-spacing:.5px}.caravan-dock-close{background:none;border:none;color:#6a8a6a;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .15s,background .15s}.caravan-dock-close:hover{color:#e0c080;background:#ffffff0f}.caravan-dock-subtitle{margin:0;padding:10px 20px;font-size:12px;color:#6a8a6a;background:#0a1210;border-bottom:1px solid #1a2e20;flex-shrink:0}.caravan-feedback{padding:10px 20px;background:#1a3020;color:#7ac87a;font-size:13px;font-weight:600;border-bottom:1px solid #2a4a30;flex-shrink:0;animation:caravan-fade-in .2s ease}@keyframes caravan-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.caravan-dock-body{flex:1;overflow-y:auto;padding:16px;scrollbar-width:thin;scrollbar-color:#2a4a30 #0f1a14}.caravan-list{display:flex;flex-direction:column;gap:14px}.caravan-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px;color:#6a8a6a;font-size:14px}.caravan-spinner{width:24px;height:24px;border:2px solid #2a4a30;border-top-color:#6ab86a;border-radius:50%;animation:caravan-spin .8s linear infinite}@keyframes caravan-spin{to{transform:rotate(360deg)}}.caravan-error{padding:20px;color:#e07070;font-size:13px;text-align:center}.caravan-empty{text-align:center;padding:48px 20px;color:#5a7a5a}.caravan-empty-icon{font-size:36px;display:block;margin-bottom:12px}.caravan-empty p{margin:4px 0;font-size:14px}.caravan-empty-hint{font-size:12px;color:#4a6a4a}.caravan-card{background:#111e16;border:1px solid color-mix(in srgb,var(--caravan-color, #4a8c3f) 40%,transparent);border-radius:10px;overflow:hidden;transition:box-shadow .15s}.caravan-card:hover{box-shadow:0 4px 20px #0006}.caravan-card-absent{--caravan-color: #3a3a3a;opacity:.55}.caravan-absent-text{font-style:italic;color:#4a5a4a!important}.caravan-card-header{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:color-mix(in srgb,var(--caravan-color, #4a8c3f) 15%,#0a1210);border-bottom:1px solid color-mix(in srgb,var(--caravan-color, #4a8c3f) 25%,transparent)}.caravan-emoji{font-size:24px;line-height:1;flex-shrink:0}.caravan-card-title{display:flex;flex-direction:column;gap:2px}.caravan-label{font-size:14px;font-weight:700;color:color-mix(in srgb,var(--caravan-color, #4a8c3f) 60%,#d0d0d0)}.caravan-desc{font-size:11px;color:#6a7a6a}.caravan-timer{padding:10px 16px;background:#0003;border-bottom:1px solid rgba(255,255,255,.05)}.caravan-timer-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.caravan-timer-label{font-size:11px;color:#5a7a5a;text-transform:uppercase;letter-spacing:.5px}.caravan-timer-value{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.caravan-timer-value.ok{color:#6ab86a}.caravan-timer-value.mid{color:#d4b870}.caravan-timer-value.urgent{color:#e07070}.caravan-timer-track{height:5px;background:#ffffff14;border-radius:3px;overflow:hidden}.caravan-timer-fill{height:100%;border-radius:3px;transition:width 1s linear}.caravan-timer-fill.ok{background:#3a8c3a}.caravan-timer-fill.mid{background:#8c7a30}.caravan-timer-fill.urgent{background:#8c3030}.caravan-section{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.04)}.caravan-section:last-child{border-bottom:none}.caravan-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#5a8060;margin-bottom:10px}.caravan-buy-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:10px}.caravan-buy-resource{display:flex;flex-direction:column;gap:2px}.caravan-buy-name{font-size:15px;font-weight:700;color:#c0d8b0}.caravan-buy-price{font-size:12px;color:#d4b870;font-weight:600}.caravan-buy-capacity{flex:1;min-width:140px}.caravan-capacity-text{font-size:11px;color:#5a7a5a;display:block;margin-bottom:4px}.caravan-capacity-bar{height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.caravan-capacity-fill{height:100%;background:#3a7a3a;border-radius:2px;transition:width .3s ease}.caravan-sell-controls{display:flex;flex-direction:column;gap:6px}.caravan-owned-hint{font-size:11px;color:#5a7a5a}.caravan-owned-hint strong{color:#9ab890}.caravan-sell-row{display:flex;align-items:center;gap:8px}.caravan-sell-input{width:70px;padding:6px 8px;background:#0a1a10;border:1px solid #2a4a30;border-radius:5px;color:#c0d8b0;font-size:13px;text-align:center}.caravan-sell-input:focus{outline:none;border-color:#4a8c4a}.caravan-sell-total{font-size:12px;color:#d4b870;min-width:70px;font-weight:600}.caravan-sell-btn{padding:6px 14px;background:#2a5a2a;border:1px solid #3a7a3a;border-radius:5px;color:#8ad88a;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.caravan-sell-btn:hover:not(:disabled){background:#3a6a3a;border-color:#5a8a5a}.caravan-sell-btn:disabled{opacity:.4;cursor:default}.caravan-full-notice{font-size:12px;color:#4a7a4a;font-style:italic}.sell-offers-list{display:flex;flex-direction:column;gap:6px}.sell-offer-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 10px;background:#ffffff08;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.sell-offer-row.sold-out{opacity:.45}.sell-offer-resource{font-size:13px;color:#a0c0a0;font-weight:600;min-width:100px}.sell-offer-price{font-size:12px;color:#d4b870;min-width:70px}.sell-offer-qty{font-size:11px;color:#5a7a5a;min-width:55px}.sell-offer-buy{display:flex;align-items:center;gap:6px;margin-left:auto}.sell-offer-input{width:55px;padding:4px 6px;background:#0a1a10;border:1px solid #2a4a30;border-radius:4px;color:#c0d8b0;font-size:12px;text-align:center}.sell-offer-btn{padding:4px 12px;background:#1a3a2a;border:1px solid #2a5a3a;border-radius:4px;color:#6ab86a;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.sell-offer-btn:hover:not(:disabled){background:#2a4a3a}.sell-offer-btn:disabled{opacity:.4;cursor:default}.sold-out-label{font-size:11px;color:#5a4a4a;font-style:italic;margin-left:auto}@media (max-width: 600px){.caravan-dock-screen{top:auto;bottom:0;left:0;right:0;transform:none;width:100%;max-height:92vh;border-bottom-left-radius:0;border-bottom-right-radius:0}.caravan-buy-row{flex-direction:column;align-items:flex-start}.caravan-sell-row{flex-wrap:wrap}}.tile-panel{padding:var(--space-md);height:100%;overflow-y:auto}.tile-panel .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--leather)}.tile-panel .panel-title{font-family:var(--font-heading);font-size:1.25rem;color:var(--leather-dark);margin:0}.close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:2px solid var(--leather);border-radius:var(--radius-sm);font-size:1.25rem;color:var(--leather);cursor:pointer;transition:all .2s ease}.close-btn:hover{background:var(--leather);color:var(--parchment)}.tile-coords{display:flex;gap:var(--space-md);padding:var(--space-sm);background:var(--parchment-dark);border-radius:var(--radius-sm);font-family:monospace;font-size:.875rem;margin-bottom:var(--space-md)}.unexplored-warning{padding:var(--space-md);background:var(--ink);color:var(--parchment);border-radius:var(--radius-sm);text-align:center;font-style:italic}.scout-section,.scout-action .unexplored-warning{margin-bottom:var(--space-md)}.scout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.scout-blocked{font-size:.8rem;color:var(--ink-faded, #8a7a6a);text-align:center;font-style:italic;padding:var(--space-sm)}.scout-progress{padding:var(--space-md);background:linear-gradient(135deg,#2a2a3a,#3a3a4a);border:2px solid #8E7CC3;border-radius:var(--radius-sm)}.scout-progress-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.scout-progress-header .scout-icon{font-size:1.2rem}.scout-progress-header h4{color:#c4b5e0;margin:0;font-size:.9rem}.scout-progress .progress-bar-track{height:8px;background:#1a1a2a;border-radius:4px;overflow:hidden;margin-bottom:var(--space-sm)}.scout-progress .progress-bar-fill.scouting{height:100%;background:linear-gradient(90deg,#8e7cc3,#c4b5e0);border-radius:4px;transition:width .5s ease}.scout-progress-info{display:flex;justify-content:space-between;font-size:.8rem;color:#c4b5e0;margin-bottom:var(--space-sm)}.cancel-scout-btn{width:100%;font-size:.8rem;padding:var(--space-xs) var(--space-sm);opacity:.7}.cancel-scout-btn:hover{opacity:1}.tile-section{margin-bottom:var(--space-md)}.tile-section h4{font-size:.75rem;text-transform:uppercase;color:var(--ink-faded);margin-bottom:var(--space-xs);letter-spacing:.5px}.owner-info{display:flex;align-items:center;gap:var(--space-sm)}.owner-badge{font-size:.75rem;color:var(--ink-faded)}.owner-name{font-weight:600;color:var(--leather-dark)}.yours-badge{padding:2px 6px;background:var(--gold);color:var(--ink);font-size:.625rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase}.unclaimed{display:flex;justify-content:space-between;align-items:center}.price{font-weight:600;color:var(--gold-dark)}.resource-bonus{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm);background:var(--gold-light);border:1px solid var(--gold);border-radius:var(--radius-sm)}.resource-name{font-weight:500;text-transform:capitalize}.bonus-indicator{font-weight:600;color:var(--success)}.building-info{padding:var(--space-sm);background:var(--parchment-dark);border-radius:var(--radius-sm)}.building-name{font-weight:500}.tile-actions{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-lg)}.tile-actions .btn{width:100%;justify-content:center}.error-message{margin-top:var(--space-sm);padding:var(--space-sm);background:var(--danger);color:#fff;border-radius:var(--radius-sm);font-size:.875rem;text-align:center}.terrain-desc{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--parchment-dark)}.terrain-desc p{font-size:.875rem;color:var(--ink-faded);line-height:1.6}.build-menu{margin-top:var(--space-md);padding:var(--space-sm);background:var(--parchment-dark);border:2px solid var(--leather);border-radius:var(--radius-md)}.building-list{display:flex;flex-direction:column;gap:var(--space-xs)}.building-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-sm);background:var(--parchment);border:1px solid var(--leather-light);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.building-option:hover:not(:disabled){background:var(--gold-light);border-color:var(--gold);transform:translate(4px)}.building-option:disabled{opacity:.5;cursor:not-allowed}.building-option .building-name{font-weight:600;color:var(--leather-dark);font-size:.9rem}.building-option .building-cost{font-size:.75rem;color:var(--gold-dark)}.building-option .building-desc{font-size:.75rem;color:var(--ink-faded);margin-top:2px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.section-header h4{margin:0}.close-menu-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--parchment);border:1px solid var(--leather-light);border-radius:var(--radius-sm);font-size:1rem;color:var(--leather);cursor:pointer;transition:all .2s ease}.close-menu-btn:hover{background:var(--leather);color:var(--parchment)}.build-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.build-btn .btn-icon{font-size:1.1rem}.buy-btn{width:100%}.building-info{display:flex;flex-direction:column;gap:var(--space-xs)}.building-info.other-owner{padding:var(--space-md);background:linear-gradient(135deg,var(--parchment-dark),var(--parchment));border:1px solid var(--leather-light);border-radius:var(--radius-md)}.building-info .building-header{display:flex;align-items:center;gap:var(--space-sm)}.building-info .building-icon{font-size:1.5rem}.building-info .building-name{font-weight:600;font-size:1rem;color:var(--leather-dark)}.building-owner{font-size:.8rem;color:var(--ink-faded)}.settlement-section{background:linear-gradient(135deg,var(--gold-light),var(--parchment));border:2px solid var(--gold);border-radius:var(--radius-md);padding:var(--space-md)}.settlement-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.settlement-header h4{margin:0;font-size:1.1rem;font-family:var(--font-heading);color:var(--leather-dark);text-transform:none}.settlement-icon{font-size:1.5rem}.settlement-desc{font-size:.875rem;color:var(--ink-faded);margin-bottom:var(--space-md);line-height:1.5}.enter-settlement-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:1rem;font-weight:600}.enter-settlement-btn .btn-icon{font-size:1.2rem}.settlement-section.npc{background:linear-gradient(135deg,#3a3a2a,#2a2a1a);border-color:#8b7355}.settlement-section.npc .settlement-header h4{color:#c4b090}.settlement-section.npc .settlement-desc{color:#a09080}.npc-badge{padding:2px 8px;background:#8b7355;color:#f5e6d3;font-size:.625rem;font-weight:700;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px}.npc-badge.hostile{background:#7a1f1f;color:#f4a0a0}.npc-badge.friendly{background:#1f5a2a;color:#90d4a0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-content{position:relative;padding:24px;border-radius:8px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px #0009}.modal-close{position:absolute;top:10px;right:12px;background:none;border:none;color:#8ab0c8;font-size:1.1rem;cursor:pointer;line-height:1;padding:2px 6px}.modal-close:hover{color:#e04444}.npc-battle-modal{max-width:420px;background:#1a1a2e;border:2px solid #8B1a1a;color:#d0c0a0}.npc-battle-modal h3{color:#e04444;margin-bottom:12px;font-size:1.2rem}.battle-warning{font-size:.85rem;color:#a09080;margin-bottom:12px;line-height:1.5}.no-armies-msg{color:#a08060;font-size:.9rem;text-align:center;padding:12px 0}.army-select-label{display:block;font-size:.8rem;color:#8ab0c8;margin-bottom:4px}.army-select{width:100%;padding:6px 10px;background:#0f1520;border:1px solid #3a4a5a;color:#d0c0a0;border-radius:4px;font-size:.9rem;margin-bottom:8px}.army-summary{display:flex;gap:12px;font-size:.8rem;color:#8ab0c8;margin-bottom:12px}.battle-error{color:#e04444;font-size:.85rem;margin-bottom:8px}.attack-btn{width:100%;background:#7a1f1f;border-color:#a03030;color:#f4d0d0;font-weight:700}.attack-btn:hover:not(:disabled){background:#a02020}.battle-replay{display:flex;flex-direction:column;gap:6px}.battle-matchup{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 10px;background:#ffffff0d;border-radius:6px;animation:fadeSlideIn .4s ease both}.matchup-side{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.85rem}.matchup-side strong{color:#c8d8e8;font-size:.9rem}.matchup-side span{color:#8ab0c8}.matchup-vs{color:#c8a060;font-weight:900;font-size:1.1rem;letter-spacing:1px}.battle-phases{display:flex;flex-direction:column;gap:6px}.npc-phase-card{background:#ffffff0a;border-left:3px solid #3a4a5a;border-radius:4px;padding:8px 10px;text-align:left;overflow:hidden;transition:border-color .3s}.npc-phase-card.phase-hidden{opacity:.25;min-height:32px}.npc-phase-card.phase-visible{opacity:1;border-left-color:#e04444;animation:phaseReveal .45s cubic-bezier(.22,1,.36,1) both}@keyframes phaseReveal{0%{opacity:0;transform:translateY(-8px) scaleY(.85)}to{opacity:1;transform:translateY(0) scaleY(1)}}.npc-phase-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.npc-phase-name{font-size:.88rem;font-weight:700;color:#c8d8e8;text-transform:uppercase;letter-spacing:.5px}.npc-phase-retreat{font-size:.78rem;color:#c8a060}.npc-phase-dmg{display:flex;gap:16px;font-size:.83rem;margin-bottom:4px}.npc-dmg-you{color:#70c870}.npc-dmg-you strong{font-size:1rem}.npc-dmg-enemy{color:#e06060}.npc-dmg-enemy strong{font-size:1rem}.npc-phase-losses{display:flex;flex-direction:column;gap:1px;font-size:.78rem}.npc-loss-you{color:#b09070}.npc-loss-enemy{color:#7aa0c0}.btn-skip-battle{align-self:flex-end;background:none;border:1px solid #3a4a5a;color:#6a8a9a;font-size:.78rem;padding:3px 10px;border-radius:4px;cursor:pointer;margin-top:2px}.btn-skip-battle:hover{color:#c8d8e8;border-color:#6a8a9a}.battle-verdict{text-align:center;padding:10px 4px 4px;animation:fadeSlideIn .5s cubic-bezier(.22,1,.36,1) both}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.verdict-banner{font-size:1.7rem;font-weight:900;margin-bottom:10px;letter-spacing:1px}.battle-verdict.victory .verdict-banner{color:#f0d060;text-shadow:0 0 20px rgba(240,200,0,.4)}.battle-verdict.defeat .verdict-banner{color:#e04444;text-shadow:0 0 20px rgba(220,40,40,.4)}.battle-totals{display:flex;gap:8px;margin:8px 0 10px}.total-side{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px;border-radius:5px;font-size:.85rem}.your-totals{background:#c850501a;border:1px solid rgba(200,80,80,.25)}.enemy-totals{background:#508cc81a;border:1px solid rgba(80,140,200,.25)}.total-label{font-size:.72rem;color:#8ab0c8;text-transform:uppercase;letter-spacing:.5px}.your-totals span:last-child{color:#c87070}.enemy-totals span:last-child{color:#70a8d0}.settlement-unlocked{color:#90d4a0;font-size:.9rem;margin-bottom:10px}.try-again-hint{color:#a09080;font-size:.85rem;margin-bottom:10px}.road-status{display:flex;align-items:center;gap:var(--space-sm)}.road-status.has-road{color:#7ab87a;font-size:.875rem;font-weight:600}.road-status.no-road{flex-direction:column;align-items:flex-start;gap:6px}.road-cost-hint{font-size:.8rem;color:var(--text-muted);margin:0}.road-btn{width:100%}.fort-management{border-top:2px solid #3a1a1a}.fort-section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:var(--leather);margin:0 0 8px}.fort-loading{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--leather)}.fort-garrison-info{background:#1a0a0a;border:1px solid #3a1a1a;border-radius:4px;padding:10px;display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.fort-garrison-name{font-weight:700;color:#d4af37;font-size:.95rem}.fort-garrison-units{display:flex;gap:12px;font-size:.85rem;color:var(--leather-dark)}.fort-no-garrison{margin-bottom:8px}.fort-empty-msg{font-size:.8rem;color:var(--leather);font-style:italic;margin:0 0 8px}.fort-assign-row{display:flex;flex-direction:column;gap:6px}.fort-army-select{width:100%;background:var(--parchment-dark);border:1px solid var(--leather);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:.85rem;padding:6px 8px;cursor:pointer;outline:none}.fort-army-select:focus{border-color:var(--leather-dark)}.fort-no-armies{font-size:.8rem;color:var(--leather);font-style:italic;margin:0}.fort-error-msg{font-size:.8rem;color:#e05555;margin:4px 0 0}.fort-btn{font-size:.8rem;padding:6px 12px}.fort-inventory-list{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.fort-inventory-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;padding:3px 0;border-bottom:1px solid var(--parchment-dark)}.fort-inv-name{color:var(--leather-dark);text-transform:capitalize}.fort-inv-amount{font-weight:700;color:var(--text-primary)}.fort-action-row{display:flex;gap:8px;margin-bottom:8px}.fort-action-row .fort-btn{flex:1}.fort-supply-form{background:var(--parchment-dark);border:1px solid var(--leather);border-radius:4px;padding:10px;display:flex;flex-direction:column;gap:8px}.fort-supply-amount-row{display:flex;gap:6px;align-items:center}.fort-amount-input{flex:1;background:var(--parchment);border:1px solid var(--leather);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:.85rem;padding:5px 8px;outline:none}.fort-amount-input:focus{border-color:var(--leather-dark)}.warband-panel-root{background:#1a0a0a;color:#d8c4a8;font-family:Courier New,Courier,monospace;width:100%;max-width:360px;display:flex;flex-direction:column;gap:0;overflow-y:auto;max-height:90vh}.warband-panel-header{padding:14px 14px 10px;border-left:4px solid #CC2200;background:linear-gradient(135deg,#2a0e0e,#1a0a0a);border-bottom:1px solid #3a1a1a}.warband-panel-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.warband-panel-tier-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;padding:3px 8px;border-radius:2px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.warband-panel-close-x{background:none;border:none;color:#865;font-size:14px;cursor:pointer;padding:2px 6px;line-height:1;transition:color .15s}.warband-panel-close-x:hover{color:#c20}.warband-panel-name{font-size:18px;font-weight:700;color:#d4af37;text-shadow:0 0 12px rgba(212,175,55,.3);letter-spacing:.5px;line-height:1.2}.warband-panel-coords{font-size:11px;color:#6a5040;margin-top:3px}.warband-panel-section{padding:10px 14px;border-bottom:1px solid #2a1515}.warband-panel-section-title{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#865;margin-bottom:8px;font-weight:700}.warband-panel-strength-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.warband-panel-strength-label{font-size:13px;font-weight:700;letter-spacing:.5px}.warband-panel-unit-total{font-size:11px;color:#6a5a4a}.warband-panel-unit-bars{display:flex;flex-direction:column;gap:4px}.warband-panel-unit-row{display:flex;align-items:center;gap:8px;font-size:12px}.warband-panel-unit-icon{width:16px;text-align:center;font-size:11px}.warband-panel-unit-name{flex:1;color:#a09080}.warband-panel-unit-count{color:#d8c4a8;font-weight:700;min-width:28px;text-align:right}.warband-panel-loot-grid{display:flex;flex-wrap:wrap;gap:6px}.warband-panel-loot-badge{background:#2a1a10;border:1px solid #4a2a18;border-radius:3px;padding:3px 8px;display:flex;gap:5px;align-items:center}.warband-panel-loot-res{font-size:10px;color:#c8a87a;text-transform:capitalize}.warband-panel-loot-amt{font-size:10px;color:#d4af37;font-weight:700}.warband-panel-loot-more{font-size:10px;color:#6a5040;align-self:center;padding:3px 6px}.warband-panel-reward-row{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:#1e0e0e;border-bottom:1px solid #2a1515}.warband-panel-reward-label{font-size:11px;color:#865;text-transform:uppercase;letter-spacing:1px}.warband-panel-reward-value{font-size:13px;color:#d4af37;font-weight:700}.warband-panel-log-toggle{background:none;border:none;color:#865;font-size:11px;cursor:pointer;padding:0 0 8px;font-family:inherit;text-transform:uppercase;letter-spacing:1px;transition:color .15s}.warband-panel-log-toggle:hover{color:#c20}.warband-panel-log{display:flex;flex-direction:column;gap:5px}.warband-panel-log-entry{display:flex;gap:8px;align-items:flex-start;font-size:11px;padding:4px 0;border-bottom:1px solid #2a1515}.warband-panel-log-entry:last-child{border-bottom:none}.warband-panel-log-icon{font-size:12px;flex-shrink:0}.warband-panel-log-body{flex:1;display:flex;flex-direction:column;gap:2px}.warband-panel-log-detail{color:#c8a87a;line-height:1.3}.warband-panel-log-time{color:#6a5040;font-size:10px}.warband-panel-divider{height:1px;background:linear-gradient(to right,transparent,#CC2200 30%,#CC2200 70%,transparent);margin:2px 0;opacity:.4}.warband-panel-attack-section{background:#1e0808}.warband-panel-no-army{font-size:12px;color:#865;font-style:italic;padding:6px 0}.warband-panel-army-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#865;margin-bottom:6px}.warband-panel-army-select{width:100%;background:#2a1010;border:1px solid #4a2020;border-radius:3px;color:#d8c4a8;font-family:inherit;font-size:12px;padding:6px 8px;margin-bottom:10px;cursor:pointer;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.warband-panel-army-select:focus{border-color:#c20}.warband-panel-error-msg{font-size:11px;color:#c20;margin-bottom:8px;padding:5px 8px;background:#2a0808;border-radius:3px;border-left:3px solid #CC2200}.warband-panel-btn-attack{width:100%;padding:10px;background:linear-gradient(135deg,#3a0e0e,#2a0808);border:1px solid #CC2200;border-radius:3px;color:#d4af37;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:1px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,box-shadow .2s}.warband-panel-btn-attack:hover:not(:disabled){background:linear-gradient(135deg,#550e0e,#3a0808);box-shadow:0 0 12px #cc22004d}.warband-panel-btn-attack:disabled{opacity:.5;cursor:not-allowed}.warband-panel-result-screen{padding:20px 16px;display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center}.warband-panel-result-badge{font-size:18px;font-weight:700;letter-spacing:2px;padding:8px 20px;border-radius:3px;text-shadow:0 0 16px currentColor}.warband-panel-result-badge.victory{color:#6aaa6a;background:#0e2a0e;border:1px solid #3a7a3a}.warband-panel-result-badge.defeat{color:#c20;background:#2a0808;border:1px solid #CC2200}.warband-panel-result-name{font-size:14px;color:#865}.warband-panel-result-pec{display:flex;flex-direction:column;align-items:center;gap:3px}.warband-panel-result-pec-label{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#865}.warband-panel-result-pec-value{font-size:24px;font-weight:700;color:#d4af37;text-shadow:0 0 16px rgba(212,175,55,.5)}.warband-panel-result-note{font-size:12px;color:#6a5040;font-style:italic;max-width:260px;line-height:1.5}.warband-panel-result-losses{font-size:11px;color:#6a5040;display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.warband-panel-btn-close{background:#2a1a10;border:1px solid #4a3020;color:#c8a87a;font-family:inherit;font-size:12px;padding:8px 24px;border-radius:3px;cursor:pointer;letter-spacing:1px;transition:background .15s}.warband-panel-btn-close:hover{background:#3a2010;border-color:#865}.warband-panel-loading{padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;color:#6a5040;font-size:12px}.warband-panel-spinner{width:28px;height:28px;border:2px solid #3a1a1a;border-top-color:#c20;border-radius:50%;animation:warband-spin .8s linear infinite}.warband-panel-spinner-sm{display:inline-block;width:12px;height:12px;border:2px solid rgba(212,175,55,.2);border-top-color:#d4af37;border-radius:50%;animation:warband-spin .8s linear infinite}@keyframes warband-spin{to{transform:rotate(360deg)}}.warband-panel-error{padding:20px 16px;color:#c20;font-size:12px;text-align:center}.achievements-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:ach-fade-in .2s ease}@keyframes ach-fade-in{0%{opacity:0}to{opacity:1}}.achievements{position:relative;width:680px;max-width:95vw;max-height:85vh;background:linear-gradient(180deg,#3a300a,#2a2208);border-radius:16px;border:1px solid rgba(212,160,48,.3);box-shadow:0 20px 60px #0009,inset 0 1px #ffffff0f;display:flex;flex-direction:column;overflow:hidden;animation:ach-scale-in .25s ease}@keyframes ach-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.achievements-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#3a300ae6;border-bottom:1px solid rgba(212,160,48,.25)}.achievements-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(212,160,48,.03) 8px,rgba(212,160,48,.03) 16px);pointer-events:none}.achievements-title{display:flex;align-items:center;gap:12px;position:relative}.achievements-icon{font-size:28px}.achievements-title h2{margin:0;font-size:22px;font-weight:700;color:#f5e6c8;letter-spacing:1px;text-transform:uppercase}.achievements-summary{position:relative;display:flex;align-items:center;gap:16px;font-size:12px;color:#b8a060}.achievements-summary .ach-count{color:#d4a030;font-weight:600}.achievements-summary .prestige-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#d4a03026;border:1px solid rgba(212,160,48,.3);border-radius:12px;color:#d4a030;font-weight:600}.achievements-header .close-btn{position:relative;width:36px;height:36px;border:none;border-radius:8px;background:#64646433;color:#888;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.achievements-header .close-btn:hover{background:#d4a0304d;color:#d4a030}.achievements-tabs{display:flex;padding:0 16px;background:#2a220899;border-bottom:1px solid rgba(212,160,48,.15)}.achievements-tabs .tab{flex:1;padding:12px 8px;border:none;background:transparent;color:#8a7540;font-size:12px;font-weight:500;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s ease;border-bottom:2px solid transparent}.achievements-tabs .tab:hover{color:#c8a860;background:#d4a0300f}.achievements-tabs .tab.active{color:#f5e6c8;border-bottom-color:#d4a030}.achievements-tabs .tab .tab-icon{font-size:16px}.achievements-tabs .tab .tab-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.achievements-body{flex:1;overflow-y:auto;padding:16px 20px}.achievements-body::-webkit-scrollbar{width:6px}.achievements-body::-webkit-scrollbar-track{background:#0003}.achievements-body::-webkit-scrollbar-thumb{background:#d4a0304d;border-radius:3px}.achievements-loading{text-align:center;padding:60px 0;color:#8a7540;font-size:14px}.ach-category-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.ach-category-filter .filter-btn{padding:5px 12px;border:1px solid rgba(212,160,48,.2);border-radius:14px;background:#d4a0300f;color:#8a7540;font-size:11px;cursor:pointer;transition:all .2s ease}.ach-category-filter .filter-btn:hover{border-color:#d4a03066;color:#c8a860}.ach-category-filter .filter-btn.active{background:#d4a03033;border-color:#d4a03080;color:#f5e6c8}.ach-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ach-card{position:relative;padding:12px 14px;background:#00000040;border:1px solid rgba(212,160,48,.12);border-radius:10px;transition:all .2s ease;overflow:hidden}.ach-card.unlocked{border-color:#d4a03059;background:#d4a03014}@keyframes achFlash{0%{box-shadow:0 0 #d4a03000;border-color:#d4a03059}30%{box-shadow:0 0 0 6px #d4a03073;border-color:#d4a030e6}to{box-shadow:0 0 #d4a03000;border-color:#d4a03059}}.ach-card.ach-card-flash{animation:achFlash 1.2s ease-out forwards}.ach-card.locked{opacity:.55}.ach-card.locked:hover{opacity:.75}.ach-card-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}.ach-card-icon{font-size:24px;line-height:1;flex-shrink:0}.ach-card.locked .ach-card-icon{filter:grayscale(1)}.ach-card-info{flex:1;min-width:0}.ach-card-name{font-size:13px;font-weight:600;color:#f5e6c8;margin-bottom:2px;display:flex;align-items:center;gap:6px}.ach-card.locked .ach-card-name{color:#8a7540}.ach-rarity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ach-card-desc{font-size:11px;color:#8a7540;line-height:1.3}.ach-card-prestige{position:absolute;top:10px;right:12px;font-size:10px;color:#d4a030;font-weight:600}.ach-card.locked .ach-card-prestige{color:#6a5a30}.ach-progress{height:4px;background:#0000004d;border-radius:2px;overflow:hidden;margin-top:4px}.ach-progress-fill{height:100%;border-radius:2px;transition:width .5s ease}.ach-progress-text{font-size:10px;color:#6a5a30;margin-top:2px;text-align:right}.ach-card.unlocked .ach-unlock-date{font-size:10px;color:#6a5a30;margin-top:4px}.ach-card.unlocked.rarity-LEGENDARY{border-color:#f59e0b80;box-shadow:0 0 12px #f59e0b26}.ach-card.unlocked.rarity-EPIC{border-color:#a855f766;box-shadow:0 0 10px #a855f71a}.ach-card.unlocked.rarity-RARE{border-color:#3b82f666}.lb-category-select{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.lb-category-select .lb-cat-btn{padding:6px 12px;border:1px solid rgba(212,160,48,.2);border-radius:14px;background:#d4a0300f;color:#8a7540;font-size:11px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.lb-category-select .lb-cat-btn:hover{border-color:#d4a03066;color:#c8a860}.lb-category-select .lb-cat-btn.active{background:#d4a03033;border-color:#d4a03080;color:#f5e6c8}.lb-table{width:100%;border-collapse:collapse}.lb-table th{text-align:left;padding:8px 12px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6a5a30;border-bottom:1px solid rgba(212,160,48,.15)}.lb-table th:last-child{text-align:right}.lb-table td{padding:10px 12px;font-size:13px;color:#c8b080;border-bottom:1px solid rgba(212,160,48,.06)}.lb-table td:last-child{text-align:right;font-weight:600;color:#d4a030;font-variant-numeric:tabular-nums}.lb-table tr.is-self{background:#d4a0301a}.lb-table tr.is-self td{color:#f5e6c8}.lb-rank{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:12px;font-weight:700}.lb-rank.rank-1{background:linear-gradient(135deg,#d4a030,#f5d060);color:#3a300a;box-shadow:0 0 8px #d4a03066}.lb-rank.rank-2{background:linear-gradient(135deg,#8a8a9a,#c0c0d0);color:#2a2a3a}.lb-rank.rank-3{background:linear-gradient(135deg,#a06830,#c88a48);color:#3a2a1a}.lb-rank.rank-other{background:#0003;color:#6a5a30}.lb-player-rank{margin-top:12px;padding:10px 14px;background:#d4a03014;border:1px solid rgba(212,160,48,.2);border-radius:8px;font-size:13px;color:#c8a860;text-align:center}.lb-player-rank strong{color:#d4a030}.stats-group{margin-bottom:18px}.stats-group-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#d4a030;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid rgba(212,160,48,.15)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.stat-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#0003;border-radius:6px;border:1px solid rgba(212,160,48,.06)}.stat-item-label{font-size:11px;color:#8a7540}.stat-item-value{font-size:13px;font-weight:600;color:#f5e6c8;font-variant-numeric:tabular-nums}@media (max-width: 700px){.achievements{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.ach-grid,.stats-grid{grid-template-columns:1fr}}.questboard-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.questboard{position:relative;width:640px;max-width:95vw;max-height:85vh;background:linear-gradient(180deg,#3a2a1a,#2a1e14);border-radius:16px;border:1px solid rgba(180,140,80,.4);box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;overflow:hidden}.questboard-loading{text-align:center;padding:60px;color:#888}.questboard-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#322314cc;border-bottom:1px solid rgba(180,140,80,.3)}.questboard-title{display:flex;align-items:center;gap:12px}.questboard-icon{font-size:28px}.questboard-title h2{margin:0;font-size:22px;font-weight:600;color:#d4c4a4}.questboard-header .close-btn{width:36px;height:36px;border:none;border-radius:8px;background:#64646433;color:#888;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.questboard-header .close-btn:hover{background:#ff646433;color:#f66}.questboard-tabs{display:flex;padding:0 24px;background:#2d1e1280;border-bottom:1px solid rgba(180,140,80,.2)}.questboard-tabs .tab{flex:1;padding:14px 20px;border:none;background:transparent;color:#8a7a5a;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent;margin-bottom:-1px}.questboard-tabs .tab:hover{color:#d4c4a4;background:#b48c501a}.questboard-tabs .tab.active{color:#d4c4a4;border-bottom-color:#b48c40}.questboard-message{padding:12px 24px;text-align:center;font-size:14px;font-weight:500}.questboard-message.success{background:#4caf5033;color:#4caf50}.questboard-message.error{background:#f4433633;color:#f44336}.questboard-content{flex:1;overflow-y:auto;padding:16px}.questboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.questboard-empty .empty-icon{font-size:48px;margin-bottom:16px}.questboard-empty p{margin:0;font-size:15px}.quest-card{padding:16px;margin-bottom:12px;background:#3c2d1966;border-radius:12px;border:1px solid rgba(180,140,80,.2);transition:all .2s ease}.quest-card:hover{background:#46321c80;border-color:#b48c504d}.quest-card-completed{opacity:.85;border-color:#4caf502e;background:#283c2859}.quest-card-completed:hover{opacity:1;background:#32463273;border-color:#4caf504d}.quest-completed-date{font-size:11px;font-weight:600;color:#4caf50;white-space:nowrap}.quest-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.quest-card-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.quest-type-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.quest-type-badge.DELIVERY{background:#6496dc33;color:#6496dc;border:1px solid rgba(100,150,220,.3)}.quest-type-badge.TUTORIAL{background:#4caf5033;color:#4caf50;border:1px solid rgba(76,175,80,.3)}.quest-type-badge.PRODUCTION{background:#ff980033;color:#ff9800;border:1px solid rgba(255,152,0,.3)}.quest-type-badge.EXPLORATION{background:#9c27b033;color:#ce93d8;border:1px solid rgba(156,39,176,.3)}.quest-card-title h3{margin:0;font-size:16px;font-weight:600;color:#d4c4a4}.quest-status-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:10px;text-transform:uppercase;flex-shrink:0}.quest-status-badge.COMPLETED{background:#4caf5033;color:#4caf50}.quest-status-badge.IN_PROGRESS{background:#ffc10733;color:#ffc107}.quest-card-desc{font-size:13px;color:#9a8a6a;margin:0 0 12px;line-height:1.4}.quest-requirements{margin-bottom:12px}.quest-requirements-label{font-size:11px;font-weight:600;color:#8a7a5a;text-transform:uppercase;margin-bottom:6px}.quest-req-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#281e0f66;border-radius:8px;margin-bottom:6px}.quest-req-icon{font-size:20px;width:28px;text-align:center}.quest-req-info{flex:1;display:flex;flex-direction:column;gap:4px}.quest-req-name{font-size:13px;font-weight:600;color:#d4c4a4}.quest-req-progress{display:flex;align-items:center;gap:8px}.quest-progress-bar{flex:1;height:6px;background:#6450324d;border-radius:3px;overflow:hidden}.quest-progress-fill{height:100%;background:linear-gradient(90deg,#b48c40,#d4af37);border-radius:3px;transition:width .3s ease}.quest-progress-fill.complete{background:linear-gradient(90deg,#2e7d32,#4caf50)}.quest-req-amounts{font-size:11px;color:#8a7a5a;white-space:nowrap}.quest-rewards{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#d4af3714;border:1px solid rgba(212,175,55,.15);border-radius:8px;margin-bottom:12px}.quest-rewards-label{font-size:11px;font-weight:600;color:#8a7a5a;text-transform:uppercase}.quest-reward-item{font-size:14px;font-weight:600;color:#d4af37}.quest-reward-resource{font-size:13px;color:#b48c40}.quest-card-actions{display:flex;gap:8px;justify-content:flex-end}.quest-btn{padding:8px 20px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.quest-btn.claim{background:linear-gradient(135deg,#b48c40,#8a6830);color:#fff}.quest-btn.claim:hover:not(:disabled){background:linear-gradient(135deg,#c49c50,#9a7840)}.quest-btn.abandon{background:#f4433626;color:#f44336}.quest-btn.abandon:hover{background:#f4433640}.quest-btn:disabled{background:#444;color:#888;cursor:not-allowed}.quest-deliver-section{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;background:#32261466;border:1px dashed rgba(180,140,80,.25);border-radius:8px}.quest-deliver-section .deliver-resource{font-size:13px;color:#d4c4a4;font-weight:600;display:flex;align-items:center;gap:6px}.quest-deliver-section .quantity-control{display:flex;align-items:center;gap:4px}.quest-deliver-section .qty-btn{width:26px;height:26px;border:none;border-radius:6px;background:#b48c504d;color:#d4c4a4;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.quest-deliver-section .qty-btn:hover{background:#b48c5080}.quest-deliver-section .qty-input{width:55px;height:26px;border:1px solid rgba(180,140,80,.3);border-radius:6px;background:#1e160c80;color:#d4c4a4;font-size:13px;text-align:center;-moz-appearance:textfield}.quest-deliver-section .qty-input::-webkit-outer-spin-button,.quest-deliver-section .qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quest-deliver-section .qty-input:focus{outline:none;border-color:#b48c40}.quest-deliver-section .deliver-btn{padding:6px 14px;border:none;border-radius:6px;background:linear-gradient(135deg,#b48c40,#8a6830);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.quest-deliver-section .deliver-btn:hover:not(:disabled){background:linear-gradient(135deg,#c49c50,#9a7840)}.quest-deliver-section .deliver-btn:disabled{background:#444;color:#888;cursor:not-allowed}.quest-deliver-section .player-has{font-size:11px;color:#8a7a5a;white-space:nowrap}.quest-create-form{display:flex;flex-direction:column;gap:14px}.quest-create-form .form-group{display:flex;flex-direction:column;gap:4px}.quest-create-form label{font-size:12px;font-weight:600;color:#8a7a5a;text-transform:uppercase}.quest-create-form input,.quest-create-form select,.quest-create-form textarea{border:1px solid rgba(180,140,80,.3);border-radius:6px;background:#1e160c80;color:#d4c4a4;font-size:14px;padding:8px 12px;font-family:inherit}.quest-create-form input:focus,.quest-create-form select:focus,.quest-create-form textarea:focus{outline:none;border-color:#b48c40}.quest-create-form textarea{min-height:60px;resize:vertical}.quest-create-form .form-row{display:flex;gap:12px}.quest-create-form .form-row .form-group{flex:1}.quest-req-list{display:flex;flex-direction:column;gap:8px}.quest-req-row{display:flex;align-items:flex-end;gap:8px}.quest-req-row .form-group{flex:1}.quest-req-row .remove-req-btn{width:32px;height:36px;border:none;border-radius:6px;background:#f4433626;color:#f44336;font-size:18px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.quest-req-row .remove-req-btn:hover{background:#f4433640}.add-req-btn{padding:8px;border:1px dashed rgba(180,140,80,.3);border-radius:6px;background:transparent;color:#8a7a5a;font-size:13px;cursor:pointer;transition:all .2s ease}.add-req-btn:hover{background:#b48c501a;color:#d4c4a4}.quest-create-summary{text-align:center;font-size:13px;color:#8a7a5a;padding:8px;background:#d4af3714;border-radius:6px}.quest-create-btn{width:100%;padding:12px;border:none;border-radius:8px;background:linear-gradient(135deg,#b48c40,#8a6830);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.quest-create-btn:hover:not(:disabled){background:linear-gradient(135deg,#c49c50,#9a7840)}.quest-create-btn:disabled{background:#444;color:#888;cursor:not-allowed}.quest-create-error{text-align:center;font-size:12px;color:#f44336}.quest-meta{font-size:11px;color:#6a5a3a;margin-top:4px}.questboard-footer{padding:16px 24px;background:#322314cc;border-top:1px solid rgba(180,140,80,.3);display:flex;justify-content:center}.questboard-footer .leave-btn{padding:12px 32px;border:none;border-radius:8px;background:#6464644d;color:#d4c4a4;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.questboard-footer .leave-btn:hover{background:#78787866}.questboard-content::-webkit-scrollbar{width:8px}.questboard-content::-webkit-scrollbar-track{background:transparent}.questboard-content::-webkit-scrollbar-thumb{background:#b48c504d;border-radius:4px}.questboard-content::-webkit-scrollbar-thumb:hover{background:#b48c5080}.quest-card-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.quest-contributors-label{font-size:10px;font-weight:600;color:#8a7a5a;text-transform:uppercase;letter-spacing:.3px}.quest-reward-note{font-size:11px;color:#8a7a5a;font-style:italic}.quest-community-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;background:#d4af3733;color:#d4af37;border:1px solid rgba(212,175,55,.3);text-transform:uppercase;letter-spacing:.3px}.quest-timer{font-size:11px;color:#ff9800;display:flex;align-items:center;gap:4px;white-space:nowrap}.quest-timer.expired{color:#f44336}.quest-contributors{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding:8px 10px;background:#281e0f4d;border-radius:8px}.quest-contributor-chip{font-size:11px;padding:2px 8px;border-radius:10px;background:#b48c5033;color:#b48c40;display:flex;align-items:center;gap:4px}.quest-contributor-pct{color:#8a7a5a}.quest-auto-note{font-size:11px;color:#8a7a5a;font-style:italic;margin-top:8px;padding:6px 10px;background:#281e0f4d;border-radius:6px}.quest-community-toggle{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#d4af3714;border-radius:6px}.quest-community-toggle label{font-size:13px!important;text-transform:none!important;color:#d4c4a4!important;cursor:pointer}.quest-community-toggle input[type=checkbox]{width:18px;height:18px;accent-color:#b48c40;cursor:pointer}.starter-section{margin-bottom:24px}.starter-section-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.starter-section-icon{font-size:20px}.starter-section-header h3{margin:0;font-size:16px;font-weight:700;color:#d4c4a4;flex:1}.starter-progress-chip{font-size:12px;font-weight:700;padding:3px 10px;border-radius:10px;background:#b48c5033;color:#b48c40;border:1px solid rgba(180,140,80,.3)}.starter-progress-bar-wrap{height:4px;background:#6450324d;border-radius:2px;overflow:hidden;margin-bottom:12px}.starter-progress-bar-fill{height:100%;background:linear-gradient(90deg,#b48c40,#d4af37);border-radius:2px;transition:width .4s ease}.starter-quest-list{display:flex;flex-direction:column;gap:8px}.starter-section-locked{opacity:.7;border:1px dashed rgba(100,80,50,.4);border-radius:10px;padding:14px;background:#140f084d}.starter-locked-chip{font-size:11px;font-weight:700;padding:3px 10px;border-radius:10px;background:#503c2866;color:#7a6040;border:1px solid rgba(80,60,40,.4)}.starter-locked-desc{font-size:12px;color:#7a6845;margin:6px 0 10px}.starter-locked-preview{display:flex;flex-direction:column;gap:6px}.locked-preview-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#7a6040;padding:6px 10px;background:#281e0f66;border-radius:6px;border:1px solid rgba(80,60,40,.2)}.locked-preview-item span{font-size:16px}.starter-quest-card{padding:12px 14px;background:#32261480;border:1px solid rgba(180,140,80,.2);border-radius:10px;transition:all .2s ease}.starter-quest-card:hover{border-color:#b48c5059;background:#3c2d198c}.starter-quest-card.done{opacity:.65;background:#1e160c66;border-color:#4caf5040}.starter-quest-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.starter-quest-title{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.starter-quest-title h4{margin:0;font-size:14px;font-weight:600;color:#d4c4a4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.starter-done-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;background:#4caf5033;color:#4caf50;border:1px solid rgba(76,175,80,.3);flex-shrink:0}.starter-quest-desc{font-size:12px;color:#9a8a6a;margin:0 0 10px;line-height:1.4}.starter-req{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#281e0f59;border-radius:8px;margin-bottom:6px}.starter-req-icon{font-size:18px;width:26px;text-align:center;flex-shrink:0}.starter-req-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.starter-req-name{font-size:13px;font-weight:600;color:#d4c4a4}.starter-req-hint{font-size:11px;color:#7a6a4a;font-style:italic;line-height:1.3}.starter-req-status{font-size:16px;font-weight:700;flex-shrink:0;width:22px;text-align:center}.starter-req-status.done{color:#4caf50}.starter-req-status.pending{color:#4a3a20}.starter-req-list{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}@media (max-width: 640px){.questboard{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.quest-deliver-section{flex-wrap:wrap}.quest-create-form .form-row{flex-direction:column}}.warroom-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:warroom-fade-in .2s ease}@keyframes warroom-fade-in{0%{opacity:0}to{opacity:1}}.warroom{position:relative;width:660px;max-width:95vw;max-height:85vh;background:linear-gradient(180deg,#3a1a1a,#2a1212);border-radius:16px;border:1px solid rgba(196,64,64,.35);box-shadow:0 20px 60px #0009,inset 0 1px #ffffff0d;display:flex;flex-direction:column;overflow:hidden;animation:warroom-scale-in .25s ease}@keyframes warroom-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.warroom-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#3c1919cc;border-bottom:1px solid rgba(196,64,64,.25)}.warroom-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(196,64,64,.04) 8px,rgba(196,64,64,.04) 16px);pointer-events:none}.warroom-title{display:flex;align-items:center;gap:12px;position:relative}.warroom-icon{font-size:28px}.warroom-title h2{margin:0;font-size:22px;font-weight:700;color:#e8c0c0;letter-spacing:1px;text-transform:uppercase}.warroom-header .close-btn{position:relative;width:36px;height:36px;border:none;border-radius:8px;background:#64646433;color:#888;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.warroom-header .close-btn:hover{background:#c440404d;color:#c44040}.warroom-tabs{display:flex;padding:0 16px;background:#32141480;border-bottom:1px solid rgba(196,64,64,.15)}.warroom-tabs .tab{flex:1;padding:12px 8px;border:none;background:transparent;color:#8a5555;font-size:12px;font-weight:500;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s ease;border-bottom:2px solid transparent}.warroom-tabs .tab:hover{color:#c09090;background:#c4404014}.warroom-tabs .tab.active{color:#e8c0c0;border-bottom-color:#c44040}.warroom-tabs .tab .tab-icon{font-size:16px}.warroom-tabs .tab .tab-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.warroom-body{flex:1;overflow-y:auto;padding:20px 24px}.warroom-body::-webkit-scrollbar{width:6px}.warroom-body::-webkit-scrollbar-track{background:#0003}.warroom-body::-webkit-scrollbar-thumb{background:#c440404d;border-radius:3px}.warroom-loading{text-align:center;padding:60px 0;color:#8a5555;font-size:14px}.army-form{display:flex;flex-direction:column;gap:20px}.form-heading{margin:0 0 4px;font-size:18px;font-weight:600;color:#e8c0c0;letter-spacing:.5px}.form-section{display:flex;flex-direction:column;gap:10px}.section-header{display:flex;align-items:center;justify-content:space-between}.section-label{font-size:12px;font-weight:600;color:#c09090;text-transform:uppercase;letter-spacing:.8px}.section-label .optional{font-weight:400;font-size:11px;color:#6a4444;text-transform:none}.league-cards{display:flex;gap:10px}.league-card{flex:1;padding:12px;border:1px solid rgba(196,64,64,.2);border-radius:10px;background:#32141480;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s ease}.league-card:hover{border-color:#c4404066;background:#3c191999}.league-card.selected{border-color:#c4a040;background:#c4a04014;box-shadow:0 0 16px #c4a04026}.league-name{font-size:14px;font-weight:700;color:#e8c0c0}.league-card.selected .league-name{color:#c4a040}.league-desc{font-size:11px;color:#8a5555}.league-cap{font-size:11px;color:#a07070;margin-top:2px}.unit-counter{font-size:14px;font-weight:700;color:#c09090;transition:color .2s ease}.unit-counter.over{color:#c44040}.unit-cards{display:flex;gap:10px}.unit-card{flex:1;padding:12px;border:1px solid rgba(196,64,64,.15);border-radius:10px;background:#28101099;display:flex;flex-direction:column;gap:8px}.unit-header{display:flex;align-items:center;gap:8px}.unit-icon{font-size:20px}.unit-name{font-size:14px;font-weight:600;color:#d4a4a4}.unit-stats{display:flex;gap:8px;font-size:10px;font-weight:600}.stat-atk{color:#c44040}.stat-def{color:#48c}.stat-hp{color:#4c8}.unit-counter-info{display:flex;flex-direction:column;gap:2px;font-size:10px}.counter-strong{color:#4c8}.counter-weak{color:#c44040;opacity:.7}.unit-equip{display:flex;flex-wrap:wrap;gap:4px}.equip-tag{font-size:10px;color:#8a7060;background:#00000040;padding:2px 6px;border-radius:4px}.unit-controls{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:4px}.adj-btn{width:28px;height:28px;border:1px solid rgba(196,64,64,.25);border-radius:6px;background:#c440401a;color:#c09090;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.adj-btn:hover:not(:disabled){background:#c4404040;border-color:#c4404080;color:#e8c0c0}.adj-btn:disabled{opacity:.3;cursor:not-allowed}.unit-count{font-size:18px;font-weight:700;color:#e8c0c0;min-width:36px;text-align:center}.equip-summary{display:flex;flex-direction:column;gap:6px}.equip-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:#28101080;border:1px solid rgba(196,64,64,.1);font-size:13px}.equip-row.sufficient{border-color:#4c83}.equip-row.insufficient{border-color:#c440404d;background:#c4404014}.equip-icon{font-size:16px}.equip-name{color:#c09090;font-weight:500;flex:1}.equip-amounts{color:#8a5555;font-size:12px}.equip-row.sufficient .equip-have{color:#4c8}.equip-row.insufficient .equip-have{color:#c44040}.equip-status{font-size:14px;font-weight:700}.equip-row.sufficient .equip-status{color:#4c8}.equip-row.insufficient .equip-status{color:#c44040}.doctrine-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.doctrine-card{padding:12px;border:1px solid rgba(196,64,64,.15);border-radius:10px;background:#28101080;cursor:pointer;text-align:left;transition:all .2s ease}.doctrine-card:hover{border-color:#c4404059;background:#32141499}.doctrine-card.selected{border-color:var(--doctrine-accent, #c44040);background:#c440401a;box-shadow:0 0 16px #c4404026}.doctrine-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.doctrine-icon{font-size:18px}.doctrine-name{font-size:13px;font-weight:600;color:#d4a4a4}.doctrine-card.selected .doctrine-name{color:var(--doctrine-accent, #c44040)}.doctrine-desc{margin:0;font-size:11px;color:#8a5555;line-height:1.4}.form-actions-section{gap:12px}.army-name-input{width:100%;padding:10px 14px;border:1px solid rgba(196,64,64,.25);border-radius:8px;background:#1e0c0ccc;color:#e8c0c0;font-size:14px;outline:none;transition:border-color .2s ease;box-sizing:border-box}.army-name-input::placeholder{color:#6a4444}.army-name-input:focus{border-color:#c4404080}.form-error{font-size:12px;color:#c44040;padding:6px 10px;background:#c440401a;border-radius:6px;border:1px solid rgba(196,64,64,.2)}.form-actions{display:flex;gap:10px;justify-content:flex-end}.btn-cancel{padding:10px 20px;border:1px solid rgba(196,64,64,.2);border-radius:8px;background:transparent;color:#8a5555;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{border-color:#c4404066;color:#c09090}.btn-save{padding:10px 24px;border:none;border-radius:8px;background:linear-gradient(180deg,#c44040,#a03030);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.3px}.btn-save:hover:not(:disabled){background:linear-gradient(180deg,#d45050,#b03838);box-shadow:0 4px 16px #c440404d}.btn-save:disabled{opacity:.4;cursor:not-allowed}.army-list{display:flex;flex-direction:column;gap:12px}.btn-create{width:100%;padding:14px;border:2px dashed rgba(196,64,64,.3);border-radius:10px;background:transparent;color:#c44040;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.3px}.btn-create:hover{border-color:#c4404080;background:#c4404014}.empty-state{text-align:center;padding:48px 24px;color:#6a4444}.empty-icon{font-size:48px;display:block;margin-bottom:12px;opacity:.5}.empty-state p{margin:4px 0;font-size:14px}.empty-hint{font-size:12px!important;color:#5a3636}.army-card{padding:14px 16px;border:1px solid rgba(196,64,64,.15);border-radius:10px;background:#32141466;transition:all .2s ease}.army-card:hover{border-color:#c440404d;background:#37161680}.army-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.army-card-name{margin:0;font-size:15px;font-weight:600;color:#e8c0c0}.army-card-total{font-size:12px;color:#8a5555;font-weight:500}.army-card-composition{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.comp-tag{font-size:13px;color:#c09090;background:#0003;padding:3px 8px;border-radius:4px}.comp-doctrine{font-size:12px;font-weight:500;margin-left:auto}.army-card-actions{display:flex;gap:8px;justify-content:flex-end}.btn-edit{padding:6px 14px;border:1px solid rgba(196,160,64,.3);border-radius:6px;background:#c4a04014;color:#c4a040;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-edit:hover{background:#c4a04026;border-color:#c4a04080}.btn-disband{padding:6px 14px;border:1px solid rgba(196,64,64,.2);border-radius:6px;background:transparent;color:#8a5555;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-disband:hover{background:#c440401a;border-color:#c4404066;color:#c44040}.barracks-tab{display:flex;flex-direction:column;gap:12px}.barracks-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.barracks-summary-text{font-size:12px;color:#8a5555}.barracks-list{display:flex;flex-direction:column;gap:10px}.barracks-card{padding:12px 16px;border:1px solid rgba(196,64,64,.15);border-radius:10px;background:#32141466;display:flex;flex-direction:column;gap:8px}.barracks-card-empty{border-style:dashed;border-color:#c4404040;background:#32141433}.barracks-card-top{display:flex;justify-content:space-between;align-items:center}.barracks-building-type{font-size:14px;font-weight:600;color:#e8c0c0;text-transform:capitalize}.fed-indicator{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px}.fed-good{color:#4c8;background:#44cc881a}.fed-warning{color:#ca4;background:#ccaa441a}.fed-danger{color:#c44;background:#cc44441a}.barracks-card-soldiers{display:flex;align-items:center;justify-content:center;gap:8px}.barracks-upkeep{font-size:11px;color:#8a5555;display:flex;flex-wrap:wrap;gap:8px}.upkeep-item{color:#a07070}.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reference-card{padding:10px;border:1px solid rgba(196,64,64,.1);border-radius:8px;background:#28101066;display:flex;flex-direction:column;gap:4px}.reference-name{font-size:12px;font-weight:600;color:#d4a4a4;text-transform:capitalize}.reference-value{font-size:13px;font-weight:700;color:#e8c0c0}.reference-detail{font-size:10px;color:#8a5555}.battle-tab{display:flex;flex-direction:column;gap:16px}.battle-army-select{display:flex;flex-direction:column;gap:8px}.battle-army-option{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid rgba(196,64,64,.15);border-radius:8px;background:#28101066;cursor:pointer;text-align:left;transition:all .2s ease;color:#c09090;font-size:13px}.battle-army-option:hover{border-color:#c4404059;background:#32141480}.battle-army-option.selected{border-color:#c4a040;background:#c4a04014}.battle-army-option .army-card-name{font-size:13px}.battle-army-option .army-card-total{font-size:11px}.ai-template-list{display:flex;flex-direction:column;gap:16px}.ai-tier-group{display:flex;flex-direction:column;gap:8px}.ai-tier-label{font-size:11px;font-weight:700;color:#c09090;text-transform:uppercase;letter-spacing:1px}.ai-template-card{padding:10px 14px;border:1px solid rgba(196,64,64,.15);border-radius:8px;background:#28101066;cursor:pointer;text-align:left;transition:all .2s ease;display:flex;flex-direction:column;gap:6px}.ai-template-card:hover{border-color:#c4404059;background:#32141480}.ai-template-card.selected{border-color:#c44040;background:#c440401a;box-shadow:0 0 12px #c4404026}.ai-template-header{display:flex;justify-content:space-between;align-items:center}.ai-template-name{font-size:13px;font-weight:600;color:#e8c0c0}.ai-template-total{font-size:11px;color:#8a5555}.ai-template-comp{display:flex;gap:8px;font-size:12px;color:#c09090}.ai-template-desc{margin:0;font-size:11px;color:#6a4444;line-height:1.3}.battle-result{display:flex;flex-direction:column;gap:16px}.battle-result-header{display:flex;align-items:center;justify-content:space-between}.result-badge{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.battle-result-armies{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(196,64,64,.15);border-radius:10px;background:#28101066}.battle-result-side{flex:1;display:flex;flex-direction:column;gap:4px}.battle-result-side.defender{text-align:right}.side-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#8a5555}.side-name{font-size:14px;font-weight:600;color:#e8c0c0}.side-comp{font-size:12px;color:#c09090;display:flex;gap:8px}.battle-result-side.defender .side-comp{justify-content:flex-end}.battle-vs{font-size:16px;font-weight:800;color:#c44040;flex-shrink:0}.battle-losses{display:flex;gap:12px}.loss-side{flex:1;padding:10px;border:1px solid rgba(196,64,64,.1);border-radius:8px;background:#28101066;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#c09090}.loss-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#8a5555;margin-bottom:2px}.phase-breakdown{display:flex;flex-direction:column;gap:6px}.phase-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;background:#28101066;font-size:12px}.phase-name{font-weight:600;color:#d4a4a4;min-width:90px}.phase-dmg{color:#8a5555;flex:1}.phase-retreat{color:#c84;font-weight:600;font-size:11px}.history-tab{display:flex;flex-direction:column;gap:12px}.history-list{display:flex;flex-direction:column;gap:8px}.history-card{border:1px solid rgba(196,64,64,.15);border-radius:10px;background:#32141466;overflow:hidden;transition:all .2s ease}.history-card:hover{border-color:#c440404d}.history-card-main{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;border:none;background:transparent;cursor:pointer;text-align:left;color:inherit}.history-card-left{display:flex;align-items:center;gap:12px}.history-opponent{display:block;font-size:13px;font-weight:600;color:#e8c0c0}.history-meta{display:block;font-size:11px;color:#8a5555;margin-top:2px}.history-card-right{text-align:right;display:flex;flex-direction:column;gap:2px}.history-losses{font-size:12px;color:#c09090}.history-date{font-size:10px;color:#6a4444}.history-expanded{padding:10px 16px 14px;display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(196,64,64,.1)}.modifiers-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.modifier-tag{font-size:10px;color:#a07070;background:#0003;padding:2px 8px;border-radius:4px}.pvp-challenges-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(196,64,64,.15)}.challenges-list{display:flex;flex-direction:column;gap:8px}.challenge-card{padding:12px 16px;border-radius:10px;display:flex;flex-direction:column;gap:10px}.challenge-card.incoming{border:1px solid rgba(196,160,64,.35);background:#c4a0400f;animation:challenge-pulse 2s ease-in-out infinite}@keyframes challenge-pulse{0%,to{box-shadow:0 0 #c4a04000}50%{box-shadow:0 0 16px #c4a04026}}.challenge-card.outgoing{border:1px solid rgba(196,64,64,.2);background:#32141466}.challenge-info{display:flex;flex-direction:column;gap:4px}.challenge-from{font-size:14px;font-weight:600;color:#e8c0c0}.challenge-details{font-size:12px;color:#a07070}.challenge-expires{font-size:11px;color:#8a5555}.challenge-actions{display:flex;align-items:center;gap:8px}.btn-accept{padding:6px 16px;border:none;border-radius:6px;background:linear-gradient(180deg,#4c8,#396);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-accept:hover:not(:disabled){background:linear-gradient(180deg,#5d9,#4a7);box-shadow:0 4px 12px #44cc8840}.btn-accept:disabled{opacity:.4;cursor:not-allowed}.btn-decline{padding:6px 14px;border:1px solid rgba(196,64,64,.25);border-radius:6px;background:transparent;color:#8a5555;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-decline:hover{border-color:#c4404080;color:#c44040;background:#c4404014}.pvp-divider{display:flex;align-items:center;gap:16px;margin:24px 0 16px}.pvp-divider:before,.pvp-divider:after{content:"";flex:1;height:1px;background:#c4404033}.pvp-divider span{font-size:13px;font-weight:600;color:#c09090;text-transform:uppercase;letter-spacing:1px;white-space:nowrap}.pvp-form{display:flex;flex-direction:column;gap:12px}.pvp-form-row{display:flex;gap:12px}.pvp-field{flex:1;display:flex;flex-direction:column;gap:6px}.pvp-select,.pvp-input{width:100%;padding:8px 12px;border:1px solid rgba(196,64,64,.25);border-radius:8px;background:#1e0c0ccc;color:#e8c0c0;font-size:13px;outline:none;transition:border-color .2s ease;box-sizing:border-box}.pvp-select option{background:#2a1212;color:#e8c0c0}.pvp-select:focus,.pvp-input:focus{border-color:#c4404080}.pvp-input::placeholder{color:#6a4444}.btn-challenge{width:100%;padding:12px;border:2px solid rgba(196,160,64,.4);border-radius:8px;background:#c4a04014;color:#c4a040;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.3px}.btn-challenge:hover:not(:disabled){background:#c4a04026;border-color:#c4a04099;box-shadow:0 4px 16px #c4a04026}.btn-challenge:disabled{opacity:.4;cursor:not-allowed}.warroom-fort-info{margin-bottom:20px;padding:14px 16px;border-radius:10px;border:1px solid rgba(196,64,64,.2);background:#32191966}.fort-header{display:flex;align-items:center;gap:12px}.fort-icon{font-size:24px}.fort-details{display:flex;flex-direction:column;gap:2px}.fort-name{font-size:14px;font-weight:600;color:#e8c0c0}.fort-bonus{font-size:12px;color:#6c8}.fort-upgrade{margin-top:12px;padding-top:12px;border-top:1px solid rgba(196,64,64,.15);display:flex;align-items:center;justify-content:space-between;gap:12px}.fort-upgrade-info{display:flex;flex-direction:column;gap:4px}.fort-next{font-size:13px;color:#d4a4a4}.fort-cost{font-size:11px;color:#8a5555}.fort-upgrade-btn{padding:8px 20px;border:1px solid rgba(196,160,64,.4);border-radius:8px;background:#c4a0401a;color:#c4a040;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.fort-upgrade-btn:hover:not(:disabled){background:#c4a04033;border-color:#c4a04099}.fort-upgrade-btn:disabled{opacity:.4;cursor:not-allowed}.prebattle-army-card{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:#643c3c4d;border:1px solid rgba(196,64,64,.25);border-radius:8px;margin-bottom:12px;animation:fadeSlideIn .2s ease}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.prebattle-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#a07070}.prebattle-army-name{font-size:15px;font-weight:700;color:#e8c0c0}.prebattle-comp{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#c09090}.prebattle-doctrine{font-size:12px;font-weight:600}.terrain-preview-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#283c2859;border:1px solid rgba(80,140,80,.3);border-radius:8px;margin-bottom:12px}.terrain-preview-icon{font-size:22px;line-height:1}.terrain-preview-info{display:flex;flex-direction:column;gap:2px}.terrain-preview-name{font-size:13px;font-weight:700;color:#90c890}.terrain-preview-desc{font-size:11px;color:#70a070}.phase-sequence{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.phase-card{border-radius:8px;overflow:hidden;border:1px solid rgba(196,64,64,.2)}.phase-card-active{border-color:#c4404080;background:#3c141480;box-shadow:0 0 12px #c4404026}.phase-card-done{background:#280f0f66;opacity:.85}.phase-card-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#c4404014;border-bottom:1px solid rgba(196,64,64,.15)}.phase-number{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#c07070}.phase-card-dmg{display:grid;grid-template-columns:1fr 1fr;gap:0}.phase-dmg-bar{display:flex;flex-direction:column;align-items:center;padding:10px;gap:2px}.phase-dmg-bar.attacker-dmg{border-right:1px solid rgba(196,64,64,.15);background:#50a0500d}.phase-dmg-bar.defender-dmg{background:#c440400d}.dmg-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#906060}.dmg-value{font-size:26px;font-weight:800;color:#e8c0c0;font-variant-numeric:tabular-nums;line-height:1}.dmg-value.dmg-counting{color:#e8a040;text-shadow:0 0 8px rgba(232,160,64,.4)}.attacker-dmg .dmg-value{color:#80cc80}.attacker-dmg .dmg-value.dmg-counting{color:#a0e860;text-shadow:0 0 8px rgba(160,232,96,.4)}.dmg-unit{font-size:10px;color:#806060;text-transform:uppercase}.phase-card-losses{display:flex;flex-direction:column;gap:3px;padding:6px 12px 8px;background:#140a0a4d}.phase-loss{font-size:11px}.phase-loss.your-loss{color:#c07070}.phase-loss.enemy-loss{color:#80a880}.phase-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.btn-withdraw{padding:10px;border-radius:8px;background:#7850284d;border:1px solid rgba(196,120,64,.4);color:#d4a060;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.btn-withdraw:hover{background:#a0642866;border-color:#c47840b3}.btn-continue-phase{padding:10px;border-radius:8px;background:#c4404040;border:1px solid rgba(196,64,64,.5);color:#e8c0c0;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}.btn-continue-phase:hover{background:#c4404066;border-color:#c44040cc}.phase-animating{text-align:center;padding:12px;font-size:13px;color:#c07070;letter-spacing:.5px;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.battle-final{margin-top:4px}.battle-vs-col{display:flex;flex-direction:column;align-items:center;gap:4px}.battle-terrain-badge{font-size:10px;color:#70a070;white-space:nowrap}.history-armies{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:#1e0a0a4d;border-radius:6px;margin-bottom:8px}.history-army-side{display:flex;flex-direction:column;gap:2px}.history-army-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#806060}.history-army-name{font-size:12px;font-weight:600;color:#c09090}.phase-row-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.phase-unit-losses{font-size:10px;color:#c07070;margin-top:2px}.mobile-nav-bar{display:flex;flex-direction:row;align-items:stretch;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:max(8px,env(safe-area-inset-bottom));background:#000000bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(180,140,80,.25);flex-shrink:0;z-index:200}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:transparent;color:#c8b48c99;cursor:pointer;padding:0;min-height:48px;transition:color .15s ease;-webkit-tap-highlight-color:transparent;position:relative}.mobile-nav-item:active{color:var(--gold, #d4a030);background:#b48c501a}.mobile-nav-item.active{color:var(--gold, #d4a030)}.mobile-nav-item.active:before{content:"";position:absolute;top:0;left:25%;right:25%;height:2px;background:var(--gold, #d4a030);border-radius:0 0 2px 2px}.mobile-nav-icon{font-size:24px;line-height:1}.mobile-nav-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1}.bottom-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:transparent}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:401;background:var(--parchment, #f4e4bc);border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #0006,0 -1px #0000001a;display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom);will-change:height}@media (min-width: 768px){.bottom-sheet{left:50%;right:auto;width:100%;max-width:560px;transform:translate(-50%)}}.bottom-sheet.dragging{-webkit-user-select:none;user-select:none;touch-action:none}.bottom-sheet-handle-area{flex-shrink:0;height:28px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none}.bottom-sheet-handle-area:active{cursor:grabbing}.bottom-sheet-handle{width:40px;height:4px;border-radius:2px;background:#00000040}.bottom-sheet-content{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.notif-sheet{display:flex;flex-direction:column;height:100%}.notif-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 0;flex-shrink:0}.notif-sheet-header h2{font-size:1.1rem;font-family:var(--font-heading, serif);color:var(--ink, #2c1a0e);margin:0;display:flex;align-items:center;gap:8px}.notif-sheet-badge{background:var(--crimson, #8b2020);color:#fff;font-size:.7rem;font-family:var(--font-body, sans-serif);font-weight:700;padding:2px 6px;border-radius:10px}.notif-sheet-close{width:32px;height:32px;border:none;background:#00000014;border-radius:50%;cursor:pointer;font-size:1rem;color:var(--ink, #2c1a0e);display:flex;align-items:center;justify-content:center}.notif-sheet-tabs{display:flex;padding:8px 16px 0;gap:4px;border-bottom:1px solid rgba(0,0,0,.1);flex-shrink:0}.notif-sheet-tab{flex:1;padding:8px 4px;border:none;background:transparent;color:#2c1a0e80;font-size:.85rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;transition:color .15s}.notif-sheet-tab.active{color:var(--leather, #8b4513);border-bottom-color:var(--leather, #8b4513)}.tab-badge{background:var(--crimson, #8b2020);color:#fff;font-size:.65rem;padding:1px 5px;border-radius:8px}.notif-sheet-list{flex:1;overflow-y:auto;overscroll-behavior:contain}.notif-sheet-mark-all{display:block;width:100%;padding:8px 16px;text-align:right;border:none;background:transparent;color:var(--leather, #8b4513);font-size:.8rem;cursor:pointer;text-decoration:underline}.notif-sheet-empty{padding:40px 16px;text-align:center;color:#2c1a0e66;font-size:.9rem}.notif-sheet-item{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06);cursor:default}.notif-sheet-item.navigable{cursor:pointer}.notif-sheet-item.navigable:active{background:#8b45130f}.notif-sheet-item.unread{background:#8b45130a}.notif-sheet-item-icon{font-size:1.3rem;flex-shrink:0;width:28px;text-align:center}.notif-sheet-item-body{flex:1;min-width:0}.notif-sheet-item-title{font-size:.88rem;font-weight:600;color:var(--ink, #2c1a0e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-sheet-item-message{font-size:.78rem;color:#2c1a0e99;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-sheet-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.notif-sheet-item-time{font-size:.72rem;color:#2c1a0e66;white-space:nowrap}.notif-sheet-item-arrow{font-size:1.1rem;color:#2c1a0e4d}.notif-sheet-item-dot{width:8px;height:8px;border-radius:50%;background:var(--crimson, #8b2020)}.notif-sheet-message-view{padding:16px}.notif-sheet-back{border:none;background:transparent;color:var(--leather, #8b4513);font-size:.9rem;cursor:pointer;padding:0;margin-bottom:16px;display:block;min-height:44px}.notif-sheet-message-subject{font-size:1rem;font-weight:700;color:var(--ink, #2c1a0e);margin-bottom:6px}.notif-sheet-message-meta{font-size:.78rem;color:#2c1a0e80;margin-bottom:16px}.notif-sheet-message-body{font-size:.9rem;color:var(--ink, #2c1a0e);line-height:1.6;white-space:pre-wrap}.skillscreen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.skillscreen{position:relative;width:760px;max-width:96vw;max-height:88vh;background:linear-gradient(180deg,#1a3a2a,#0e2a1e);border-radius:16px;border:1px solid rgba(80,180,120,.3);box-shadow:0 20px 60px #00000080,inset 0 1px #50b4781a;display:flex;flex-direction:column;overflow:hidden}.skillscreen-loading{text-align:center;padding:60px;color:#5a8a6a}.skillscreen-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:#0f2d1ecc;border-bottom:1px solid rgba(80,180,120,.25)}.skillscreen-title{display:flex;align-items:center;gap:12px}.skillscreen-icon{font-size:26px}.skillscreen-title h2{margin:0;font-size:22px;font-weight:600;color:#a4d4b4}.skillscreen-budget{display:flex;align-items:center;gap:10px}.budget-stars{display:flex;align-items:center;gap:3px}.budget-star{font-size:14px;color:#5096644d;transition:color .2s ease,text-shadow .2s ease}.budget-star.used{color:#d4af37;text-shadow:0 0 5px rgba(212,175,55,.5)}.budget-label{font-size:13px;font-weight:600;color:#7aaa8a}.budget-label .count{color:#d4af37;font-size:15px}.skillscreen-header .close-btn{width:36px;height:36px;border:none;border-radius:8px;background:#64646433;color:#5a8a6a;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.skillscreen-header .close-btn:hover{background:#ff646433;color:#f66}.skillscreen-tabs{display:flex;padding:0 24px;background:#0c261980;border-bottom:1px solid rgba(80,180,120,.15)}.skillscreen-tabs .tab{flex:1;padding:13px 20px;border:none;background:transparent;color:#4a7a5a;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent;margin-bottom:-1px}.skillscreen-tabs .tab:hover{color:#a4d4b4;background:#50b47814}.skillscreen-tabs .tab.active{color:#a4d4b4;border-bottom-color:#50b478}.skillscreen-tabs .tab .tab-count{font-size:11px;color:#d4af37;margin-left:6px;opacity:.8}.skillscreen-warning{display:flex;align-items:center;gap:10px;padding:10px 24px;font-size:13px;font-weight:500;border-bottom:1px solid transparent}.skillscreen-warning.initial{background:#b482141f;color:#c8a040;border-bottom-color:#b4821433}.skillscreen-warning.locked{background:#5050502e;color:#8a9a8a;border-bottom-color:#50505033}.skillscreen-warning-icon{font-size:16px;flex-shrink:0}.skillscreen-message{padding:10px 24px;text-align:center;font-size:13px;font-weight:500}.skillscreen-message.success{background:#4caf5033;color:#4caf50}.skillscreen-message.error{background:#f4433633;color:#f44336}.skillscreen-content{flex:1;overflow-y:auto;padding:16px}.building-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.building-card{padding:14px;background:#14372680;border-radius:12px;border:1px solid rgba(80,180,120,.15);transition:all .2s ease}.building-card:hover{background:#19412d99;border-color:#50b4784d}.building-card.has-stars{border-color:#d4af374d;box-shadow:inset 0 0 20px #d4af3708}.building-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.building-card-icon{font-size:24px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#0a1e1480;border-radius:8px;flex-shrink:0}.building-card-info{flex:1;min-width:0}.building-card-name{font-size:15px;font-weight:600;color:#a4d4b4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.building-card-output{font-size:12px;color:#5a8a6a;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.star-slots{display:flex;gap:6px;align-items:center}.star-slot{width:34px;height:34px;border:none;border-radius:50%;background:#0a1e1499;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:#50966459;transition:all .2s ease;position:relative;line-height:1}.star-slot:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:1.5px solid rgba(80,180,120,.15);transition:all .2s ease}.star-slot:hover{background:#d4af3726;color:#d4af37b3;transform:scale(1.1)}.star-slot:hover:before{border-color:#d4af3766}.star-slot.filled{background:#d4af3733;color:#d4af37;text-shadow:0 0 6px rgba(212,175,55,.6)}.star-slot.filled:before{border-color:#d4af3780}.star-slot.locked{cursor:default;background:#d4af371f;color:#a88c28;text-shadow:none}.star-slot.locked:before{border-color:#d4af3740}.star-slot.locked:hover{transform:none;background:#d4af371f;color:#a88c28}.star-slot.locked:hover:before{border-color:#d4af3740}.star-slot.disabled{cursor:not-allowed;opacity:.35}.star-slot.disabled:hover{transform:none;background:#0a1e1499;color:#50966459}.star-slot.disabled:hover:before{border-color:#50b47826}.building-card-bonuses{margin-top:10px;padding:8px 10px;background:#0a1e1480;border-radius:8px;border:1px solid rgba(80,180,120,.1)}.bonus-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12px}.bonus-star-num{font-weight:700;color:#d4af37;width:14px;text-align:center}.bonus-desc{color:#7aaa8a}.bonus-desc.active{color:#a4d4b4;font-weight:500}.bonus-check{color:#50b478;font-size:12px}.skillscreen-footer{padding:14px 24px;background:#0f2d1ecc;border-top:1px solid rgba(80,180,120,.25);display:flex;align-items:center;justify-content:space-between;gap:12px}.skillscreen-footer-left{font-size:14px;color:#5a8a6a}.skillscreen-footer-left .realloc-cost{color:#d4af37;font-weight:600}.skillscreen-footer-actions{display:flex;gap:8px}.skill-btn{padding:10px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.skill-btn.reset{background:#64646440;color:#7aaa8a}.skill-btn.reset:hover:not(:disabled){background:#64646459;color:#a4d4b4}.skill-btn.save{background:linear-gradient(135deg,#3a8a5a,#2a6a40);color:#fff}.skill-btn.save:hover:not(:disabled){background:linear-gradient(135deg,#4a9a6a,#3a7a50)}.skill-btn:disabled{background:#1a2a1e;color:#3a5a4a;cursor:not-allowed}.skillscreen-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#4a7a5a}.skillscreen-empty .empty-icon{font-size:48px;margin-bottom:16px}.skillscreen-empty p{margin:0;font-size:14px}.skillscreen-content::-webkit-scrollbar{width:8px}.skillscreen-content::-webkit-scrollbar-track{background:transparent}.skillscreen-content::-webkit-scrollbar-thumb{background:#50b47840;border-radius:4px}.skillscreen-content::-webkit-scrollbar-thumb:hover{background:#50b47866}@media (max-width: 640px){.skillscreen{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.building-grid{grid-template-columns:1fr}.budget-stars{display:none}}.ticket-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#05080fd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;animation:ticket-fade-in .2s ease}@keyframes ticket-fade-in{0%{opacity:0}to{opacity:1}}.ticket-modal{background:#0e1218;border:1px solid #3a2e1a;border-radius:4px;width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 0 1px #c9a22714,0 24px 80px #000000b3,inset 0 1px #c9a2271a;animation:ticket-slide-up .25s cubic-bezier(.16,1,.3,1)}@keyframes ticket-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ticket-header{display:flex;align-items:center;gap:14px;padding:18px 20px;background:linear-gradient(135deg,#161b26,#111520);border-bottom:1px solid #2a2416;position:relative}.ticket-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,39,.3),transparent)}.ticket-header-emblem{font-size:26px;filter:drop-shadow(0 0 6px rgba(201,162,39,.4));flex-shrink:0}.ticket-header-text{flex:1;min-width:0}.ticket-title{font-family:Cinzel,serif;font-size:16px;font-weight:600;color:#d4aa30;letter-spacing:.08em;text-transform:uppercase;margin:0 0 2px;line-height:1.2}.ticket-subtitle{font-family:Crimson Pro,serif;font-size:15px;color:#9ba3af;margin:0;font-style:italic}.ticket-close{background:none;border:1px solid #2a2a2a;color:#9ba3af;width:30px;height:30px;border-radius:2px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.ticket-close:hover{background:#1e1e1e;border-color:#555;color:#ddd}.ticket-tabs{display:flex;border-bottom:1px solid #1e1e1e;background:#0a0d12;padding:0 4px}.ticket-tab{background:none;border:none;padding:11px 18px;font-family:Crimson Pro,serif;font-size:16px;color:#8a8f9b;cursor:pointer;display:flex;align-items:center;gap:6px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;letter-spacing:.02em}.ticket-tab:hover{color:#b89050}.ticket-tab.active{color:#d4aa30;border-bottom-color:#d4aa30}.ticket-body{overflow-y:auto;flex:1;padding:22px;scrollbar-width:thin;scrollbar-color:#2a2416 transparent}.ticket-section-label{font-family:Cinzel,serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#c0a040;margin-bottom:12px}.ticket-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.ticket-cat-btn{background:#111520;border:1px solid #2a2d3a;border-radius:3px;padding:12px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .15s;color:#9ba3af}.ticket-cat-btn:hover{border-color:#4a3a1a;background:#181a24;color:#c0a040}.ticket-cat-btn.selected{border-color:#d4aa30;background:#1a1608;color:#d4aa30;box-shadow:0 0 12px #c9a22726,inset 0 0 8px #c9a2270f}.cat-icon{font-size:20px;line-height:1}.cat-label{font-family:Crimson Pro,serif;font-size:15px;text-align:center;line-height:1.2;letter-spacing:.02em}.ticket-cat-hint{font-family:Crimson Pro,serif;font-size:15px;color:#b09050;font-style:italic;margin-bottom:18px;padding-left:2px;min-height:18px}.ticket-field{margin-bottom:18px}.ticket-label{display:block;font-family:Cinzel,serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#c0a040;margin-bottom:7px}.ticket-input,.ticket-textarea{width:100%;background:#0a0d12;border:1px solid #2a2d3a;border-radius:2px;color:#e0d8c0;font-family:Crimson Pro,serif;font-size:16px;padding:10px 14px;outline:none;resize:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box;line-height:1.6}.ticket-input::placeholder,.ticket-textarea::placeholder{color:#525865;font-style:italic}.ticket-input:focus,.ticket-textarea:focus{border-color:#6a5a30;box-shadow:0 0 0 2px #c9a22714}.ticket-guidance{font-family:Crimson Pro,serif;font-size:17px;color:#a89870;line-height:1.65;font-style:italic;padding:11px 14px;background:#0c0e14;border:1px solid #1e2130;border-bottom:none;border-radius:2px 2px 0 0}.ticket-guidance+.ticket-textarea{border-radius:0 0 2px 2px;border-top-color:#2a2d3a}.ticket-char-count{font-size:13px;color:#908070;text-align:right;margin-top:5px;font-family:JetBrains Mono,monospace}.ticket-error{background:#c832321a;border:1px solid rgba(200,50,50,.3);color:#d06060;font-family:Crimson Pro,serif;font-size:15px;padding:10px 14px;border-radius:2px;margin-bottom:14px}.ticket-submit-btn{width:100%;padding:13px;background:linear-gradient(135deg,#1e1608,#2a1e08);border:1px solid #d4aa30;border-radius:2px;color:#d4aa30;font-family:Cinzel,serif;font-size:14px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;text-transform:uppercase}.ticket-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#2a1e08,#3a2808);box-shadow:0 0 20px #c9a2272e}.ticket-submit-btn:disabled{opacity:.35;cursor:not-allowed;border-color:#3a2e1a;color:#6a5a28}.ticket-state-center{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 0;gap:14px}.ticket-state-text{font-family:Crimson Pro,serif;font-size:16px;color:#8a8f9b;font-style:italic;margin:0}.ticket-empty-icon{font-size:40px;opacity:.6}.ticket-spinner{width:32px;height:32px;border:2px solid #1e2030;border-top-color:#d4aa30;border-radius:50%;animation:ticket-spin .8s linear infinite}@keyframes ticket-spin{to{transform:rotate(360deg)}}.ticket-success{display:flex;flex-direction:column;align-items:center;padding:24px 0;text-align:center;gap:12px}.ticket-stamp{width:130px;height:130px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#8b1a1a,#5c0f0f);border:3px solid #6b1515;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #8b1a1a4d,0 0 30px #8b1a1a40,inset 0 2px 4px #ff64641a;animation:stamp-drop .5s cubic-bezier(.175,.885,.32,1.275) .1s both;margin-bottom:8px}@keyframes stamp-drop{0%{transform:scale(.3) rotate(-15deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.ticket-stamp-inner{display:flex;flex-direction:column;align-items:center;gap:2px}.ticket-stamp-label{font-family:Cinzel,serif;font-size:10px;font-weight:700;letter-spacing:.25em;color:#ffc8b4d9;text-transform:uppercase}.ticket-stamp-ref{font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700;color:#ffd4c8;letter-spacing:.1em;text-shadow:0 0 8px rgba(255,150,120,.5)}.ticket-stamp-sub{font-family:Cinzel,serif;font-size:9px;font-weight:400;letter-spacing:.2em;color:#ffb4a0a6;text-transform:uppercase}.ticket-success-title{font-family:Cinzel,serif;font-size:18px;font-weight:600;color:#d4aa30;letter-spacing:.05em;margin:0}.ticket-success-body{font-family:Crimson Pro,serif;font-size:16px;color:#9ba3af;line-height:1.7;max-width:400px;margin:0}.ticket-success-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}.ticket-btn-primary{padding:10px 22px;background:linear-gradient(135deg,#1e1608,#2a1e08);border:1px solid #d4aa30;color:#d4aa30;font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;cursor:pointer;transition:all .15s}.ticket-btn-primary:hover{background:linear-gradient(135deg,#2a1e08,#3a2808);box-shadow:0 0 12px #c9a22733}.ticket-btn-secondary{padding:10px 20px;background:#111520;border:1px solid #2a2d3a;color:#8a8f9b;font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:2px;cursor:pointer;transition:all .15s}.ticket-btn-secondary:hover{border-color:#4a4030;color:#b09050}.ticket-history-list{display:flex;flex-direction:column;gap:8px}.ticket-history-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#0c0e14;border:1px solid #1e2030;border-radius:2px;gap:12px;transition:border-color .15s}.ticket-history-item:hover{border-color:#3a2e1a}.history-left{display:flex;align-items:center;gap:12px;min-width:0}.history-icon{font-size:20px;flex-shrink:0}.history-info{min-width:0}.history-title{font-family:Crimson Pro,serif;font-size:16px;color:#e0d8c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.history-meta{display:flex;align-items:center;gap:8px;margin-top:3px;flex-wrap:wrap}.history-ref{font-family:JetBrains Mono,monospace;font-size:12px;color:#a08a5a;letter-spacing:.05em}.history-cat{font-family:Crimson Pro,serif;font-size:14px;color:#9090a8;font-style:italic}.history-date{font-family:Crimson Pro,serif;font-size:14px;color:#808090}.history-status{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:2px;white-space:nowrap;flex-shrink:0}.status-open{background:#3b82f61f;border:1px solid rgba(59,130,246,.3);color:#60a5fa}.status-in-progress{background:#c9a2271f;border:1px solid rgba(201,162,39,.3);color:#d4aa30}.status-resolved{background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:#4ade80}.status-closed{background:#7878781f;border:1px solid rgba(120,120,120,.25);color:#9ba3af}.ticket-modal.fullscreen{max-width:100vw;width:100vw;max-height:100vh;height:100vh;border-radius:0;border-left:none;border-right:none;border-top:none}.ticket-fullscreen-btn{background:none;border:1px solid #2a2a2a;color:#9ba3af;width:30px;height:30px;border-radius:2px;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;margin-right:4px}.ticket-fullscreen-btn:hover{background:#1e1e1e;border-color:#555;color:#ddd}@media (max-width: 480px){.ticket-categories{grid-template-columns:repeat(2,1fr)}.history-title{max-width:180px}}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#03050ae6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:12px;animation:admin-fade .2s ease}@keyframes admin-fade{0%{opacity:0}to{opacity:1}}.admin-panel{background:#080b11;border:1px solid #1e2535;border-radius:4px;width:100%;max-width:960px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 0 1px #64a0ff0f,0 32px 80px #000c;animation:admin-slide .25s cubic-bezier(.16,1,.3,1);transition:max-width .2s ease,max-height .2s ease}.admin-panel.fullscreen{max-width:100vw;max-height:100vh;width:100vw;height:100vh;border-radius:0;border-color:#141c28}@keyframes admin-slide{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#070a10;border-bottom:1px solid #141c28;flex-shrink:0}.admin-header-left{display:flex;align-items:center;gap:14px}.admin-header-actions{display:flex;align-items:center;gap:6px}.admin-fullscreen{background:none;border:1px solid #1e2535;color:#6b7e96;height:28px;padding:0 8px;border-radius:2px;cursor:pointer;font-size:11px;display:flex;align-items:center;gap:4px;transition:all .15s;white-space:nowrap}.admin-fullscreen:hover{background:#111827;color:#94a3b8;border-color:#2d3748}.admin-fullscreen-label{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.admin-badge{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.2em;color:#3b82f6;background:#3b82f61a;border:1px solid rgba(59,130,246,.25);padding:3px 8px;border-radius:2px}.admin-title{font-family:Cinzel,serif;font-size:17px;font-weight:600;color:#e2e8f0;letter-spacing:.08em;margin:0 0 2px;text-transform:uppercase}.admin-subtitle{font-family:Crimson Pro,serif;font-size:14px;color:#6b7e96;margin:0;font-style:italic}.admin-close{background:none;border:1px solid #1e2535;color:#6b7e96;width:28px;height:28px;border-radius:2px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s}.admin-close:hover{background:#111827;color:#94a3b8;border-color:#2d3748}.admin-stats{display:flex;gap:1px;background:#0d1117;border-bottom:1px solid #141c28;flex-shrink:0}.admin-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 8px;background:#090d14;gap:2px}.stat-number{font-family:JetBrains Mono,monospace;font-size:26px;font-weight:700;color:#7e90a8;line-height:1}.stat-label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#566880}.stat-open .stat-number{color:#60a5fa}.stat-inprog .stat-number{color:#c9a227}.stat-resolved .stat-number{color:#4ade80}.stat-closed .stat-number{color:#6b7e96}.admin-filters{display:flex;flex-direction:column;gap:8px;padding:10px 16px;background:#070a10;border-bottom:1px solid #0f1520;flex-shrink:0}.filter-group{display:flex;align-items:center;gap:10px}.filter-label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#566880;width:64px;flex-shrink:0}.filter-pills{display:flex;flex-wrap:wrap;gap:4px}.filter-pill{background:#0d1117;border:1px solid #1a2030;color:#6b7e96;font-family:JetBrains Mono,monospace;font-size:11px;padding:4px 10px;border-radius:2px;cursor:pointer;transition:all .12s;letter-spacing:.05em}.filter-pill:hover{border-color:#2d3748;color:#94a3b8}.filter-pill.active{background:#0f1e30;border-color:#3b82f6;color:#60a5fa}.pill-in-progress.active{background:#1a1608;border-color:#c9a227;color:#c9a227}.pill-resolved.active{background:#0a1a0e;border-color:#4ade80;color:#4ade80}.pill-closed.active{background:#111318;border-color:#475569;color:#64748b}.admin-body{display:flex;flex:1;overflow:hidden;min-height:0}.admin-list{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#1e2535 transparent;border-right:1px solid #0f1520}.admin-center{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;gap:12px}.admin-empty-text{font-family:Crimson Pro,serif;font-size:14px;color:#566880;font-style:italic;margin:0}.admin-spinner{width:28px;height:28px;border:2px solid #1e2535;border-top-color:#3b82f6;border-radius:50%;animation:admin-spin .8s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-ticket-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #0d1117;cursor:pointer;transition:background .1s}.admin-ticket-row:hover{background:#0c1018}.admin-ticket-row.selected{background:#0d1520;border-left:2px solid #3b82f6;padding-left:12px}.row-cat-icon{font-size:16px;flex-shrink:0;width:20px;text-align:center}.row-info{flex:1;min-width:0}.row-title{font-family:Crimson Pro,serif;font-size:16px;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta{display:flex;gap:8px;margin-top:2px;align-items:center}.row-ref{font-family:JetBrains Mono,monospace;font-size:11px;color:#566880;letter-spacing:.05em}.row-player{font-family:Crimson Pro,serif;font-size:13px;color:#6278a0}.row-date{font-family:JetBrains Mono,monospace;font-size:11px;color:#4a5e78}.row-status{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:2px;white-space:nowrap;flex-shrink:0}.status-open{background:#3b82f61a;border:1px solid rgba(59,130,246,.25);color:#60a5fa}.status-in-progress{background:#c9a2271a;border:1px solid rgba(201,162,39,.25);color:#c9a227}.status-resolved{background:#4ade801a;border:1px solid rgba(74,222,128,.25);color:#4ade80}.status-closed{background:#64748b14;border:1px solid rgba(100,116,139,.2);color:#64748b}.admin-detail{width:360px;flex-shrink:0;overflow-y:auto;padding:16px;background:#070a10;scrollbar-width:thin;scrollbar-color:#1e2535 transparent}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.detail-ref{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700;color:#3b82f6;letter-spacing:.08em}.detail-title{font-family:Cinzel,serif;font-size:17px;font-weight:600;color:#e2e8f0;line-height:1.4;margin-bottom:10px}.detail-meta-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #0f1520}.detail-cat,.detail-player,.detail-date{font-family:Crimson Pro,serif;font-size:14px;color:#6b7e96;font-style:italic}.detail-section-label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#566880;margin-bottom:6px;margin-top:14px}.detail-section-label:first-of-type{margin-top:0}.detail-description{font-family:Crimson Pro,serif;font-size:15px;color:#94a3b8;line-height:1.7;white-space:pre-wrap;background:#0c1018;border:1px solid #141c28;border-radius:2px;padding:10px 12px}.detail-url{font-family:JetBrains Mono,monospace;font-size:12px;color:#3b82f6;word-break:break-all;background:#0c1018;border:1px solid #141c28;border-radius:2px;padding:8px 10px}.detail-device{font-family:JetBrains Mono,monospace;font-size:11px;color:#566880;word-break:break-all;line-height:1.6;background:#0c1018;border:1px solid #141c28;border-radius:2px;padding:8px 10px}.detail-status-btns{display:flex;flex-direction:column;gap:5px}.status-btn{width:100%;padding:9px 12px;border-radius:2px;border:1px solid #1e2535;background:#0c1018;color:#6b7e96;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}.status-btn:disabled{cursor:default}.status-btn.current{cursor:default}.status-btn-open:not(:disabled):hover,.status-btn-open.current{background:#3b82f61a;border-color:#3b82f64d;color:#60a5fa}.status-btn-in-progress:not(:disabled):hover,.status-btn-in-progress.current{background:#c9a2271a;border-color:#c9a2274d;color:#c9a227}.status-btn-resolved:not(:disabled):hover,.status-btn-resolved.current{background:#4ade801a;border-color:#4ade804d;color:#4ade80}.status-btn-closed:not(:disabled):hover,.status-btn-closed.current{background:#64748b14;border-color:#64748b33;color:#64748b}.btn-spinner{width:10px;height:10px;border:1px solid currentColor;border-top-color:transparent;border-radius:50%;animation:admin-spin .6s linear infinite;display:inline-block}@media (max-width: 700px){.admin-detail{display:none}}.admin-tabs{display:flex;gap:0;background:#060910;border-bottom:1px solid #141c28;flex-shrink:0}.admin-tab{padding:11px 22px;background:none;border:none;border-bottom:2px solid transparent;color:#6278a0;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .15s;margin-bottom:-1px}.admin-tab:hover{color:#8090a8}.admin-tab.active{color:#60a5fa;border-bottom-color:#3b82f6;background:#3b82f60d}.npc-economy{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.npc-stat-labor{color:#f59e0b}.npc-stat-scout{color:#38bdf8}.npc-stat-treasury{color:#4ade80}.npc-pools-scroll{overflow-x:auto;flex-shrink:0;padding:12px 16px;border-bottom:1px solid #0f1520;scrollbar-width:thin;scrollbar-color:#1e2535 transparent}.npc-pools-grid{display:flex;gap:8px;min-width:max-content}.npc-pool-card{background:#0a0e18;border:1px solid #1a2234;border-radius:3px;padding:10px 14px;min-width:180px}.npc-pool-name{font-family:Cinzel,serif;font-size:13px;font-weight:600;color:#94a3b8;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.npc-pool-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.npc-pool-label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.1em;color:#566880;text-transform:uppercase;flex:1}.npc-pool-val{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.npc-val-labor{color:#f59e0b}.npc-val-scout{color:#38bdf8}.npc-val-treasury{color:#4ade80}.npc-pool-icon{font-size:11px;width:14px;text-align:center;flex-shrink:0}.npc-log-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.npc-log-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#070a10;border-bottom:1px solid #0f1520;flex-shrink:0;gap:12px}.npc-log-title{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#566880;white-space:nowrap}.pill-worker.active{background:#f59e0b1a;border-color:#f59e0b59;color:#f59e0b}.pill-scout.active{background:#38bdf81a;border-color:#38bdf859;color:#38bdf8}.npc-log{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#1e2535 transparent}.npc-log-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 16px;border-bottom:1px solid #0d1117;transition:background .1s}.npc-log-row:hover{background:#0c1018}.npc-log-left{display:flex;align-items:flex-start;gap:10px;min-width:0}.npc-type-badge{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:2px;white-space:nowrap;flex-shrink:0;margin-top:1px}.npc-badge-worker{background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);color:#f59e0b}.npc-badge-scout{background:#38bdf81a;border:1px solid rgba(56,189,248,.25);color:#38bdf8}.npc-log-info{min-width:0}.npc-log-settlement{font-family:Crimson Pro,serif;font-size:15px;color:#cbd5e1;font-weight:400}.npc-log-owner{font-family:Crimson Pro,serif;font-size:13px;color:#6278a0;font-style:italic;margin-top:1px}.npc-log-items{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.npc-item-chip{font-family:JetBrains Mono,monospace;font-size:11px;color:#6b7e96;background:#0d1117;border:1px solid #1a2030;border-radius:2px;padding:2px 7px;white-space:nowrap}.npc-log-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.npc-log-pec{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700;color:#c9a227}.npc-log-time{font-family:JetBrains Mono,monospace;font-size:11px;color:#6278a0}.admin-tab-server{margin-left:auto;color:#c05040!important;border-color:#c050404d!important}.admin-tab-server.active,.admin-tab-server:hover{background:#c050401f!important;border-color:#c0504080!important;color:#e06050!important}.server-control-tab{flex:1;overflow-y:auto;padding:1.5rem}.server-control-section{max-width:520px}.server-control-label{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#c05040;margin-bottom:.5rem}.server-control-desc{font-size:.83rem;color:#8a9ab0;line-height:1.6;margin:0 0 1.5rem}.maint-trigger-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.4rem;border-radius:6px;font-size:.88rem;font-weight:600;letter-spacing:.04em;cursor:pointer;background:#c03c2826;border:1px solid rgba(192,60,40,.45);color:#e06050;transition:background .15s,border-color .15s}.maint-trigger-btn:hover{background:#c03c2840;border-color:#dc503ca6}.maint-trigger-btn.confirm{background:#c03c2847;border-color:#dc503cb3}.maint-confirm-box{background:#c03c2814;border:1px solid rgba(192,60,40,.3);border-radius:8px;padding:1rem 1.2rem}.maint-confirm-text{font-size:.85rem;color:#c8b090;margin:0 0 1rem;line-height:1.5}.maint-confirm-actions{display:flex;gap:.75rem;align-items:center}.maint-cancel-btn{padding:.55rem 1rem;border-radius:6px;font-size:.82rem;font-weight:500;cursor:pointer;background:transparent;border:1px solid #2a3545;color:#6a8090;transition:border-color .15s,color .15s}.maint-cancel-btn:hover{border-color:#3a4860;color:#8aa0b0}.server-control-status{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:#8a9ab0;padding:.75rem 0}.server-control-status.success{color:#50c880}.server-control-status.error{color:#e06050}.players-tab{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;flex:1}.players-tab-hint{font-size:.78rem;color:#6a7a8a;margin:0;line-height:1.5}.players-tab-hint strong{color:#8a9aaa}.players-list{display:flex;flex-direction:column;gap:2px}.player-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;transition:background .15s}.player-row:hover{background:#ffffff0d}.player-row-info{display:flex;flex-direction:column;gap:2px;min-width:0}.player-row-name{font-size:.88rem;font-weight:600;color:#c8d8e8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-row-meta{font-size:.72rem;color:#5a6a7a;text-transform:uppercase;letter-spacing:.04em}.tutorial-toggle{display:flex;align-items:center;gap:7px;cursor:pointer;flex-shrink:0}.tutorial-toggle input[type=checkbox]{width:16px;height:16px;accent-color:#c8a840;cursor:pointer}.tutorial-toggle input[type=checkbox]:disabled{opacity:.5;cursor:wait}.tutorial-toggle-label{font-size:.75rem;color:#7a8a9a;-webkit-user-select:none;user-select:none;white-space:nowrap}.tutorial-toggle input:checked+.tutorial-toggle-label{color:#c8a840}.player-row-wrap{display:flex;flex-direction:column;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.player-row-wrap .player-row{border-radius:0;border:none;border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer}.player-row-wrap .player-row:hover{background:#ffffff0d}.player-row-expanded{background:#ffffff0f!important}.player-row-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.player-row-inv-toggle{font-size:.85rem;opacity:.5;-webkit-user-select:none;user-select:none}.player-inv-panel{background:#070e18;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.player-inv-header{display:flex;align-items:center;gap:10px}.player-inv-title{font-size:.82rem;font-weight:600;color:#9ec8e8;flex:1}.player-inv-pec{font-size:.78rem;color:#c8a840}.player-inv-close{background:none;border:none;color:#5a7a8e;cursor:pointer;font-size:.9rem;padding:2px 4px}.player-inv-volume{font-size:.75rem;color:#6a8a9e}.player-inv-volume strong{color:#9ec8e8}.player-inv-item-count{color:#4a6a7e}.player-inv-table{display:flex;flex-direction:column;gap:1px;max-height:220px;overflow-y:auto}.player-inv-row{display:grid;grid-template-columns:1fr 60px 60px 60px;gap:6px;font-size:.75rem;padding:4px 6px;border-radius:3px}.player-inv-row-header{color:#3a5a6e;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #0d1a28;padding-bottom:4px;margin-bottom:2px}.player-inv-row:not(.player-inv-row-header):hover{background:#ffffff0a}.player-inv-resource{color:#8ab0c8;text-transform:capitalize}.player-inv-amount{color:#c8d8e8;text-align:right}.player-inv-vol{color:#5a7a8e;text-align:right}.player-inv-total{color:#7a9aae;text-align:right}.player-inv-empty{font-size:.75rem;color:#3a5a6e;padding:8px 6px;font-style:italic}.player-inv-edit{display:flex;align-items:center;gap:6px;padding-top:6px;border-top:1px solid #0d1a28;flex-wrap:wrap}.player-inv-edit-label{font-size:.73rem;color:#5a7a8e;flex-shrink:0}.player-inv-input{background:#0d1a28;border:1px solid #1e3248;color:#c8d8e8;border-radius:4px;padding:4px 7px;font-size:.75rem;width:110px}.player-inv-input-amount{width:70px}.player-inv-input:focus{outline:none;border-color:#2a5a7e}.player-inv-save{background:#1a3a5a;border:1px solid #2a5a8a;color:#7ab0d4;border-radius:4px;padding:4px 10px;font-size:.75rem;cursor:pointer}.player-inv-save:hover:not(:disabled){background:#1e4570}.player-inv-save:disabled{opacity:.4;cursor:not-allowed}.player-inv-save-msg{font-size:.72rem;color:#4caf78}.settlements-tab{display:flex;flex-direction:column;flex:1;overflow:hidden}.settlements-list{flex:1;overflow-y:auto;padding:6px 12px 12px;scrollbar-width:thin;scrollbar-color:#1e2535 transparent}.settlement-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:3px;border:1px solid #111826;background:#0a0e17;margin-bottom:6px;transition:border-color .15s}.settlement-row:hover{border-color:#1e2d44}.settlement-row-npc{border-color:#16273a;background:#090d18}.settlement-row-npc:hover{border-color:#1b3354}.settlement-row-left{display:flex;flex-direction:column;gap:4px;min-width:180px}.settlement-row-name{display:flex;align-items:center;gap:7px;font-family:Cinzel,serif;font-size:14px;font-weight:600;color:#c8d8e8}.settlement-type-icon{font-size:15px;line-height:1}.npc-tag{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.1em;color:#3b9de8;background:#3b9de81f;border:1px solid rgba(59,157,232,.25);border-radius:2px;padding:1px 5px}.settlement-row-meta{display:flex;align-items:center;gap:10px}.settlement-level{font-family:JetBrains Mono,monospace;font-size:11px;color:#c8a840;letter-spacing:.05em}.settlement-founded{font-family:Crimson Pro,serif;font-size:12px;color:#4a5568;font-style:italic}.settlement-row-metrics{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.settlement-metric{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.sm-label{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.15em;color:#3a4a5e;text-transform:uppercase}.sm-val{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;color:#8a9ab0}.found-npc-form{background:#0d1420;border:1px solid #1e3a2a;border-radius:8px;padding:14px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.found-npc-title{font-family:Cinzel,serif;font-size:13px;font-weight:600;color:#4caf87;letter-spacing:.08em}.found-npc-hint{font-family:JetBrains Mono,monospace;font-size:10px;color:#4a6a5a;line-height:1.5;margin:0}.found-npc-fields{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.found-npc-label{display:flex;flex-direction:column;gap:4px;font-family:JetBrains Mono,monospace;font-size:10px;color:#5a7a6a;text-transform:uppercase;letter-spacing:.1em}.found-npc-input{background:#0a1018;border:1px solid #1e2d3e;border-radius:4px;color:#c0d8c8;font-family:JetBrains Mono,monospace;font-size:12px;padding:5px 8px;width:140px;outline:none;transition:border-color .15s}.found-npc-input.found-npc-coord{width:70px}.found-npc-input:focus{border-color:#2a6a4a}.found-npc-select{background:#0a1018;border:1px solid #1e2d3e;border-radius:4px;color:#c0d8c8;font-family:JetBrains Mono,monospace;font-size:12px;padding:5px 8px;width:130px;outline:none;cursor:pointer}.found-npc-error{font-family:JetBrains Mono,monospace;font-size:11px;color:#c0392b;background:#c0392b1a;border:1px solid rgba(192,57,43,.3);border-radius:4px;padding:5px 8px}.found-npc-btn{align-self:flex-start;background:#1a3a2a;border:1px solid #2a6a4a;border-radius:4px;color:#4caf87;font-family:JetBrains Mono,monospace;font-size:12px;padding:6px 14px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .15s,border-color .15s}.found-npc-btn:hover:not(:disabled){background:#1e4a32;border-color:#3a8a5a}.found-npc-btn:disabled{opacity:.5;cursor:default}.found-npc-limit-note{font-family:JetBrains Mono,monospace;font-size:11px;color:#4a6a5a;background:#0d1420;border:1px solid #1e3a2a;border-radius:6px;padding:8px 12px;margin-bottom:16px}.settlement-coords{font-family:JetBrains Mono,monospace;font-size:10px;color:#3a6a5a;letter-spacing:.05em}.npc-army-toggle{margin-left:8px;padding:2px 8px;background:#2a1a1a;border:1px solid #5a2a2a;color:#c08080;border-radius:4px;font-size:10px;cursor:pointer;font-family:JetBrains Mono,monospace}.npc-army-toggle:hover{background:#3a1a1a;border-color:#8a3a3a;color:#e09090}.npc-army-panel{margin-top:12px;padding:12px;background:#0d1420;border:1px solid #2a1a1a;border-radius:6px}.npc-army-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.npc-status-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;font-family:JetBrains Mono,monospace;letter-spacing:.5px}.npc-status-badge.hostile{background:#3a0f0f;color:#f08080;border:1px solid #7a2020}.npc-status-badge.friendly{background:#0f2a0f;color:#80d080;border:1px solid #207a20}.npc-army-strength{font-family:JetBrains Mono,monospace;font-size:11px;color:#6a8aaa}.npc-army-form{display:flex;flex-direction:column;gap:10px}.npc-army-inputs{display:flex;gap:10px;flex-wrap:wrap}.npc-army-label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:#6a8aaa;font-family:JetBrains Mono,monospace}.npc-army-input{width:70px;padding:4px 6px;background:#141e2e;border:1px solid #2a3a4a;color:#c0d0e0;border-radius:4px;font-size:12px;font-family:JetBrains Mono,monospace}.npc-army-select{padding:4px 6px;background:#141e2e;border:1px solid #2a3a4a;color:#c0d0e0;border-radius:4px;font-size:11px;font-family:JetBrains Mono,monospace}.npc-army-btn{padding:6px 14px;background:#2a1a1a;border:1px solid #6a2a2a;color:#e09090;border-radius:4px;font-size:12px;cursor:pointer;font-family:JetBrains Mono,monospace;align-self:flex-start}.npc-army-btn:hover:not(:disabled){background:#3a1a1a;border-color:#9a3a3a}.npc-army-btn:disabled{opacity:.5;cursor:default}.npc-army-error{color:#e05555;font-size:11px;font-family:JetBrains Mono,monospace;margin:0}.npc-army-success{color:#55c055;font-size:11px;font-family:JetBrains Mono,monospace;margin:0}.npc-army-hint{color:#3a5a7a;font-size:10px;font-family:JetBrains Mono,monospace;margin:0;line-height:1.5}.npc-army-loading{font-size:11px;color:#3a5a7a;font-family:JetBrains Mono,monospace;padding:8px}.sessions-tab{padding:12px 16px;overflow-y:auto;flex:1;font-family:JetBrains Mono,monospace}.sessions-summary{display:flex;gap:12px;margin-bottom:16px}.sess-card{flex:1;background:#0d1520;border:1px solid #1e2d42;border-radius:6px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px}.sess-card-value{font-size:22px;font-weight:700;color:#5ba3d9}.sess-card-label{font-size:10px;color:#3a6080;text-transform:uppercase;letter-spacing:.05em}.sessions-section-label{font-size:10px;color:#3a6080;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.sessions-table{width:100%;border-collapse:collapse;font-size:11px;color:#7aa0bc}.sessions-table th{text-align:left;font-size:10px;color:#3a6080;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-bottom:1px solid #1a2535}.sessions-table td{padding:5px 8px;border-bottom:1px solid #111a25}.sessions-table tbody tr:hover{background:#0d1a28}.sess-row-active{background:#0d1f30!important}.sess-username{color:#9ec8e8;font-weight:500}.sess-muted{color:#3a5a78;font-size:10px}.sess-drill-btn{background:none;border:1px solid #1e3248;color:#4a7a9e;border-radius:3px;padding:2px 6px;cursor:pointer;font-size:10px}.sess-drill-btn:hover{background:#0d1f30;color:#7ab0d4}.sess-drill-cell{background:#070e18;padding:8px 16px!important}.sessions-table-inner{width:100%}.sessions-table-inner th,.sessions-table-inner td{font-size:10px;padding:3px 6px}.sess-active-badge{background:#1a3a1a;color:#4caf50;font-size:9px;padding:2px 6px;border-radius:3px;border:1px solid #2a5a2a}.sess-badge-ended{color:#3a5a78;font-size:10px}.npc-agent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#00000080}.npc-agent-screen{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:420px;z-index:1101;background:#0f1520;border-left:1px solid #1e2d44;display:flex;flex-direction:column;overflow:hidden;animation:npc-slide-in .25s cubic-bezier(.16,1,.3,1)}@keyframes npc-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.npc-agent-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#090d16;border-bottom:1px solid #1a2535;flex-shrink:0}.npc-agent-header h2{font-family:Cinzel,Georgia,serif;font-size:17px;font-weight:600;color:#c8d8e8;margin:0}.npc-agent-back,.npc-agent-close{background:none;border:none;color:#6b7e96;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .15s,background .15s}.npc-agent-back:hover,.npc-agent-close:hover{color:#c8d8e8;background:#ffffff0d}.npc-agent-info-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 16px;background:#3b82f60f;border-bottom:1px solid #1a2535;flex-shrink:0}.npc-agent-info-text{font-size:12px;color:#9ab4c8;line-height:1.5}.npc-agent-info-text strong{color:#c8a840}.npc-agent-balance{font-size:13px;font-weight:600;color:#c8a840;white-space:nowrap}.npc-agent-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #111826;flex-shrink:0}.npc-agent-hire-btn{background:linear-gradient(135deg,#1a3a5c,#2a5a8c);border:1px solid #2a6aac;border-radius:5px;color:#a8d4f8;font-size:13px;font-weight:600;padding:6px 14px;cursor:pointer;transition:background .15s,border-color .15s}.npc-agent-hire-btn:hover{background:linear-gradient(135deg,#1e4870,#3070aa);border-color:#3a7ac0}.npc-agent-count{font-size:12px;color:#7a9aaa}.npc-agent-list{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:#1e2535 transparent}.npc-agent-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 16px;text-align:center}.npc-agent-empty-icon{font-size:36px;opacity:.4}.npc-agent-empty p{font-size:14px;color:#8aacba;margin:0}.npc-agent-empty-hint{font-size:12px;color:#6a8898}.npc-agent-spinner{width:28px;height:28px;border:3px solid #1a2535;border-top-color:#3b7ec8;border-radius:50%;animation:npc-spin .7s linear infinite}@keyframes npc-spin{to{transform:rotate(360deg)}}.npc-agent-card{background:#0c1320;border:1px solid #1a2535;border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.npc-agent-card.status-active{border-color:#1a3a55}.npc-agent-card.status-paused{border-color:#2a2a1a;opacity:.8}.npc-agent-card-header{display:flex;align-items:center;gap:10px}.npc-agent-icon{font-size:24px;line-height:1;flex-shrink:0}.npc-agent-card-title{flex:1;display:flex;flex-direction:column;gap:2px}.npc-agent-name{font-family:Cinzel,Georgia,serif;font-size:14px;font-weight:600;color:#c0d0e0}.npc-agent-resource{font-size:11px;color:#7a9ab0}.npc-agent-status-badge{font-size:10px;font-weight:700;letter-spacing:.08em;padding:2px 7px;border-radius:10px;text-transform:uppercase}.npc-agent-status-badge.status-active{background:#4caf5026;color:#4caf87;border:1px solid rgba(76,175,80,.3)}.npc-agent-status-badge.status-paused{background:#d4a44c1f;color:#d4a44c;border:1px solid rgba(212,164,76,.25)}.npc-agent-card-stats{display:flex;flex-wrap:wrap;gap:12px 20px}.npc-agent-stat{display:flex;flex-direction:column;gap:2px}.npc-stat-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#6a8ea8}.npc-stat-val{font-size:12px;font-weight:500;color:#9abccc}.npc-stat-budget{color:#c8a840!important;font-weight:700}.npc-chain-status{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 10px;background:#ffffff05;border:1px solid #111c28;border-radius:4px}.npc-chain-step{display:flex;align-items:center;gap:3px;font-size:10px}.npc-chain-arrow{color:#4a6880;font-size:12px;margin:0 2px}.npc-chain-icon{font-size:10px;line-height:1}.npc-chain-label{color:#7a9ab0;white-space:nowrap}.npc-chain-step.chain-active .npc-chain-label{color:#4caf87}.npc-chain-step.chain-building .npc-chain-label{color:#c8a840}.npc-chain-step.chain-queued .npc-chain-label{color:#5a7888}.npc-action-log{display:flex;flex-direction:column;gap:0}.npc-log-toggle{background:none;border:1px solid #1e3048;border-radius:4px;color:#6a9abacc;font-size:11px;cursor:pointer;padding:5px 10px;text-align:left;transition:color .15s,border-color .15s;width:100%}.npc-log-toggle:hover{color:#90b8d4;border-color:#2a4a68}.npc-log-entries{background:#060a10;border:1px solid #0f1820;border-top:none;border-radius:0 0 4px 4px;max-height:220px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#1a2535 transparent}.npc-log-empty{font-size:11px;color:#6a8898;padding:10px 12px;text-align:center}.npc-log-row{display:flex;align-items:baseline;gap:6px;padding:3px 10px;font-size:11px;line-height:1.5;border-bottom:1px solid rgba(255,255,255,.02)}.npc-log-time{font-family:monospace;color:#5a7888;flex-shrink:0;font-size:10px}.npc-log-action{color:#7a9aaa;flex-shrink:0;font-weight:500}.npc-log-details{color:#6a8898;flex:1;font-size:10px}.npc-log-pec{font-family:monospace;font-size:10px;flex-shrink:0;font-weight:700}.npc-log-pec.income{color:#4caf87}.npc-log-pec.expense{color:#c05040}.npc-log-row.log-income .npc-log-action{color:#4caf87}.npc-log-row.log-expense .npc-log-action{color:#c05040}.npc-log-row.log-success .npc-log-action{color:#4caf87}.npc-log-row.log-warn .npc-log-action{color:#c8a840}.npc-log-row.log-neutral .npc-log-action{color:#7a9aaa}.npc-agent-card-actions{display:flex;gap:8px}.npc-action-btn{flex:1;padding:6px 0;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}.npc-action-btn.pause,.npc-action-btn.resume{background:#3b82f61a;border-color:#3b82f640;color:#6aadf0}.npc-action-btn.pause:hover,.npc-action-btn.resume:hover{background:#3b82f633;border-color:#3b82f666}.npc-action-btn.dismiss{background:#c0392b14;border-color:#c0392b33;color:#c0594a}.npc-action-btn.dismiss:hover{background:#c0392b2e;border-color:#c0392b66}.npc-action-btn:disabled{opacity:.4;cursor:not-allowed}.npc-dismiss-confirm{padding:10px 12px;background:#c0392b14;border:1px solid rgba(192,57,43,.25);border-radius:8px;display:flex;flex-direction:column;gap:8px}.npc-dismiss-confirm-text{font-size:12px;color:#c0594a;line-height:1.4}.npc-dismiss-confirm-btns{display:flex;gap:8px}.npc-dismiss-error{font-size:11px;color:#e05a4a;background:#c0392b1f;border-radius:4px;padding:4px 8px}.npc-hire-panel{flex:1;display:flex;flex-direction:column;gap:0;overflow:hidden}.npc-hire-search{margin:10px 12px 0;padding:7px 10px;background:#0a0f1a;border:1px solid #1e2d44;border-radius:6px;color:#8ab0c8;font-size:12px;outline:none;flex-shrink:0}.npc-hire-search::placeholder{color:#3a5a70}.npc-hire-search:focus{border-color:#2a5a8a}.npc-hire-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 12px 10px;overflow-y:auto;flex-shrink:0;max-height:280px;scrollbar-width:thin;scrollbar-color:#1e2535 transparent}.npc-hire-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:1px solid #1a2535;border-radius:6px;background:#0c1320;cursor:pointer;transition:border-color .15s,background .15s;position:relative}.npc-hire-card:hover:not(:disabled){border-color:#2a4a6a;background:#101820}.npc-hire-card.selected{border-color:#2a6aac;background:#0e1e30;box-shadow:0 0 0 1px #2a6aac4d}.npc-hire-card.already-hired{opacity:.4;cursor:not-allowed}.npc-hire-card-icon{font-size:22px;line-height:1}.npc-hire-card-name{font-size:10px;font-weight:600;color:#8aadcc;text-align:center;line-height:1.2}.npc-hire-card-resource{font-size:9px;color:#6a8898;text-align:center}.npc-hire-hired-tag{position:absolute;top:4px;right:4px;font-size:8px;font-weight:700;letter-spacing:.1em;color:#4caf87;background:#4caf5026;border-radius:2px;padding:1px 3px}.npc-hire-detail{flex:1;overflow-y:auto;padding:14px 16px;border-top:1px solid #111826;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:#1e2535 transparent}.npc-hire-placeholder{flex:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:#6a8898;border-top:1px solid #111826;padding:20px}.npc-hire-detail-header{display:flex;align-items:center;gap:12px}.npc-hire-detail-icon{font-size:28px;line-height:1}.npc-hire-detail-name{font-family:Cinzel,Georgia,serif;font-size:16px;font-weight:600;color:#c0d0e0}.npc-hire-detail-target{font-size:12px;color:#7a9ab0}.npc-hire-detail-desc{font-size:13px;color:#8aa8bc;line-height:1.6;margin:0}.npc-hire-chain{display:flex;flex-direction:column;gap:6px}.npc-hire-chain-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6a8ea8}.npc-hire-chain-steps{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.npc-hire-chain-step{font-size:11px;color:#5a8aaa;display:flex;align-items:center;gap:4px}.npc-hire-chain-arrow{color:#4a6880;font-size:12px}.npc-hire-cost-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#c8a8400f;border:1px solid rgba(200,168,64,.15);border-radius:5px}.npc-hire-cost-label{font-size:13px;color:#9aaab8}.npc-hire-cost-val{font-size:15px;font-weight:700;color:#c8a840}.npc-hire-actions{display:flex;gap:8px}.npc-hire-confirm-btn{flex:1;padding:10px 0;border-radius:5px;font-size:14px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#1a4a2a,#2a7a4a);border:1px solid #2a8a5a;color:#8adaaa;transition:background .15s}.npc-hire-confirm-btn:hover:not(:disabled){background:linear-gradient(135deg,#1e5a32,#2e8a52)}.npc-hire-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.npc-hire-cancel-btn{padding:10px 16px;border-radius:5px;font-size:13px;cursor:pointer;background:transparent;border:1px solid #2a3a50;color:#7a9aaa;transition:border-color .15s,color .15s}.npc-hire-cancel-btn:hover{border-color:#3a4a60;color:#9abac8}.npc-hire-note{font-size:11px;color:#6a8898;line-height:1.5;margin:0;font-style:italic}.npc-hire-chain-tag{font-size:10px;margin-left:2px;opacity:.7}.npc-hire-error{font-size:12px;color:#c05040;margin:0}.npc-hire-success{font-size:12px;color:#4caf87;margin:0}.npc-agent-name-btn{background:none;border:none;padding:0;cursor:pointer;text-align:left;font-family:Cinzel,Georgia,serif;font-size:14px;font-weight:600;color:#c0d0e0;transition:color .15s;text-decoration:underline;text-decoration-color:#c0d0e04d;text-underline-offset:2px}.npc-agent-name-btn:hover{color:#a8e4f8;text-decoration-color:#a8e4f899}.npc-log-more-hint{font-size:10px;color:#4a6880;padding:5px 10px;text-align:center;font-style:italic}.npc-full-log{flex:1;display:flex;flex-direction:column;overflow:hidden}.npc-full-log-agent-strip{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#090d16;border-bottom:1px solid #1a2535;flex-shrink:0}.npc-full-log-icon{font-size:22px;line-height:1;flex-shrink:0}.npc-full-log-agent-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.npc-full-log-agent-name{font-family:Cinzel,Georgia,serif;font-size:13px;font-weight:600;color:#c0d0e0}.npc-full-log-agent-resource{font-size:10px;color:#6a8ea8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.npc-full-log-count{font-size:10px;color:#4a6880;letter-spacing:.08em;text-transform:uppercase;padding:6px 16px;background:#0003;border-bottom:1px solid #111826;flex-shrink:0}.npc-full-log-entries{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#1a2535 transparent;background:#060a10}.npc-full-log-row{flex-direction:row;align-items:flex-start;gap:8px;padding:5px 14px;border-bottom:1px solid rgba(255,255,255,.025)}.npc-full-log-time{font-family:monospace;font-size:10px;color:#4a6878;white-space:nowrap;flex-shrink:0;padding-top:1px}.npc-full-log-body{flex:1;display:flex;flex-wrap:wrap;gap:4px;align-items:baseline;min-width:0}.me-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:490;background:#00000080}.me-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:491;background:var(--parchment, #f4e4bc);display:flex;flex-direction:column;overflow:hidden;animation:meSheetSlideIn .25s cubic-bezier(.32,.72,0,1)}.me-sheet-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}@media (min-width: 768px){.me-sheet{left:auto;right:0;width:100%;max-width:420px;box-shadow:-4px 0 24px #00000040}}@keyframes meSheetSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.me-sheet-header{display:flex;align-items:center;padding:max(16px,env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid rgba(0,0,0,.08);min-height:56px;flex-shrink:0}.me-sheet-header h2{flex:1;text-align:center;font-family:var(--font-heading, serif);font-size:1.1rem;color:var(--ink, #2c1a0e);margin:0}.me-sheet-back,.me-sheet-close{width:44px;height:44px;border:none;background:transparent;color:var(--leather, #8b4513);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.me-sheet-close{font-size:.9rem}.me-sheet-identity{display:flex;align-items:center;gap:16px;padding:20px 16px;border-bottom:1px solid rgba(0,0,0,.08)}.me-sheet-avatar{font-size:2.5rem;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#8b45131a;border-radius:50%;flex-shrink:0}.me-sheet-name{font-size:1.1rem;font-weight:700;color:var(--ink, #2c1a0e);margin-bottom:8px}.me-sheet-rep{display:flex;align-items:center;gap:8px}.me-sheet-rep-label{font-size:.75rem;color:#2c1a0e80;white-space:nowrap}.me-sheet-rep-bar{flex:1;height:6px;background:#0000001a;border-radius:3px;overflow:hidden;min-width:80px}.me-sheet-rep-fill{height:100%;background:linear-gradient(90deg,#5a9e5a,#7ec87e);border-radius:3px;transition:width .3s ease}.me-sheet-rep-value{font-size:.8rem;font-weight:600;color:var(--ink, #2c1a0e);min-width:24px;text-align:right}.me-sheet-prestige{display:flex;align-items:center;gap:6px;margin-top:6px}.me-sheet-prestige-icon{font-size:.85rem}.me-sheet-prestige-label{font-size:.75rem;color:#2c1a0e80}.me-sheet-prestige-value{font-size:.85rem;font-weight:700;color:#7a5c10}.me-sheet-row{display:flex;align-items:center;gap:14px;width:100%;padding:0 16px;min-height:60px;border:none;border-bottom:1px solid rgba(0,0,0,.07);background:transparent;text-align:left;cursor:pointer;text-decoration:none;color:inherit;transition:background .1s}.me-sheet-row:active{background:#8b45130f}.me-sheet-row-icon{font-size:1.4rem;width:28px;text-align:center;flex-shrink:0}.me-sheet-row-label{flex:1;font-size:.95rem;color:var(--ink, #2c1a0e)}.me-sheet-row-arrow{font-size:1.2rem;color:#2c1a0e4d;flex-shrink:0}.me-sheet-row-signout .me-sheet-row-label{color:#c0392b}.me-sheet-row-signout:active{background:#c0392b14}.me-sheet-section-label{padding:12px 16px 6px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#2c1a0e73;border-top:1px solid rgba(0,0,0,.07);margin-top:4px}.me-sheet-row-mayor .me-sheet-row-label{color:#7a5c10}.me-sheet-row-mayor .me-sheet-row-icon{filter:drop-shadow(0 0 2px rgba(180,130,20,.3))}.me-sheet-row-mayor:active{background:#b4821412}.me-subpanel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:492;background:var(--parchment, #f4e4bc);display:flex;flex-direction:column;overflow-y:auto;animation:meSheetSlideIn .22s cubic-bezier(.32,.72,0,1);padding-bottom:max(16px,env(safe-area-inset-bottom))}@media (min-width: 768px){.me-subpanel{left:auto;right:0;width:100%;max-width:420px;box-shadow:-4px 0 24px #00000040}}.me-compose-form{padding:16px;display:flex;flex-direction:column;gap:16px}.me-compose-hint{font-size:.82rem;color:#2c1a0e8c;margin:0;line-height:1.5}.me-compose-field{display:flex;flex-direction:column;gap:6px}.me-compose-field label{font-size:.78rem;font-weight:600;color:#2c1a0e99;text-transform:uppercase;letter-spacing:.05em}.me-compose-input,.me-compose-textarea{width:100%;padding:10px 12px;border:1.5px solid rgba(139,69,19,.25);border-radius:8px;background:#fff9;font-size:.9rem;color:var(--ink, #2c1a0e);font-family:inherit;box-sizing:border-box;resize:vertical}.me-compose-input:focus,.me-compose-textarea:focus{outline:none;border-color:#8b451380;background:#ffffffd9}.me-compose-error{color:#c0392b;font-size:.82rem;margin:0}.me-compose-actions{display:flex;gap:10px}.me-compose-send{flex:1;padding:12px;background:#7a5c10;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.me-compose-send:disabled{background:#7a5c1059;cursor:not-allowed}.me-compose-send:not(:disabled):active{background:#5c440b}.me-compose-cancel{padding:12px 18px;background:transparent;color:#2c1a0e80;border:1.5px solid rgba(0,0,0,.12);border-radius:8px;font-size:.9rem;cursor:pointer}.me-compose-sent{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 16px;color:var(--ink, #2c1a0e)}.me-compose-sent-icon{font-size:3rem}.me-compose-sent p{font-size:1rem;margin:0;font-weight:600}.me-players-filters{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.07)}.me-players-filter-btn{padding:6px 14px;border:1.5px solid rgba(0,0,0,.12);border-radius:20px;background:transparent;font-size:.8rem;color:#2c1a0e99;cursor:pointer;transition:all .15s;white-space:nowrap}.me-players-filter-btn.active{background:#7a5c10;border-color:#7a5c10;color:#fff}.me-players-list{flex:1;overflow-y:auto}.me-players-loading,.me-players-empty{padding:40px 16px;text-align:center;color:#2c1a0e73;font-size:.9rem}.me-player-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.me-player-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dot-active{background:#27ae60;box-shadow:0 0 0 3px #27ae6033}.dot-recent{background:#f39c12}.dot-today{background:#bdc3c7}.dot-idle{background:#ddd}.me-player-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.me-player-name{font-size:.9rem;font-weight:600;color:var(--ink, #2c1a0e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-player-role{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:1px 6px;border-radius:3px;align-self:flex-start}.role-mayor{background:#7a5c1026;color:#7a5c10}.role-citizen{background:#2c1a0e14;color:#2c1a0e8c}.role-admin{background:#c0392b1a;color:#c0392b}.me-player-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.me-player-rep-bar{width:60px;height:5px;background:#0000001a;border-radius:3px;overflow:hidden}.me-player-rep-fill{height:100%;background:linear-gradient(90deg,#5a9e5a,#7ec87e);border-radius:3px}.me-player-prestige{font-size:.75rem;font-weight:700;color:#7a5c10;white-space:nowrap}.me-player-last-seen{font-size:.72rem;color:#2c1a0e73;white-space:nowrap}.settlement-picker{display:flex;flex-direction:column;height:100%}.settlement-picker-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 12px;border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0}.settlement-picker-header h2{font-family:var(--font-heading, serif);font-size:1.1rem;color:var(--ink, #2c1a0e);margin:0}.settlement-picker-close{width:32px;height:32px;border:none;background:#00000014;border-radius:50%;cursor:pointer;font-size:1rem;color:var(--ink, #2c1a0e);display:flex;align-items:center;justify-content:center}.settlement-picker-list{flex:1;overflow-y:auto;overscroll-behavior:contain}.settlement-picker-empty{padding:40px 16px;text-align:center;color:#2c1a0e66;font-size:.9rem}.settlement-picker-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:none;border-bottom:1px solid rgba(0,0,0,.06);background:transparent;text-align:left;cursor:pointer;min-height:64px;transition:background .1s}.settlement-picker-item:active{background:#8b45130f}.settlement-picker-icon{font-size:1.5rem;flex-shrink:0}.settlement-picker-body{flex:1;min-width:0}.settlement-picker-name{font-size:.95rem;font-weight:600;color:var(--ink, #2c1a0e);margin-bottom:4px}.settlement-picker-stats{display:flex;gap:12px;font-size:.78rem;color:#2c1a0e99}.settlement-picker-arrow{font-size:1.2rem;color:#2c1a0e4d;flex-shrink:0}.action-hint{position:fixed;transform:translate(-50%,-100%);background:#000000d1;color:#fff;font-size:.75rem;font-weight:500;padding:6px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:600;opacity:0;transition:opacity .15s ease}.action-hint:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000d1}.action-hint--visible{opacity:1}.resource-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:490;background:#00000080}.resource-detail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:491;background:var(--parchment, #f4e4bc);display:flex;flex-direction:column;overflow-y:auto;animation:resourceDetailSlideIn .22s cubic-bezier(.32,.72,0,1);padding-bottom:max(16px,env(safe-area-inset-bottom))}@keyframes resourceDetailSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.resource-detail-header{display:flex;align-items:center;padding:max(16px,env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid rgba(0,0,0,.08);min-height:56px;flex-shrink:0;gap:8px}.resource-detail-header h2{flex:1;display:flex;align-items:center;gap:8px;font-family:var(--font-heading, serif);font-size:1.1rem;color:var(--ink, #2c1a0e);margin:0}.resource-detail-icon{font-size:1.4rem}.resource-detail-back,.resource-detail-close{width:44px;height:44px;border:none;background:transparent;color:var(--leather, #8b4513);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.resource-detail-close{font-size:.9rem}.resource-detail-body{flex:1;padding:16px;display:flex;flex-direction:column;gap:16px}.resource-detail-section{background:#ffffff80;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.resource-detail-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#2c1a0e73;margin-bottom:4px}.resource-detail-row{display:flex;align-items:center;justify-content:space-between}.resource-detail-label{font-size:.88rem;color:#2c1a0e99}.resource-detail-value{font-size:.92rem;font-weight:600;color:var(--ink, #2c1a0e)}.resource-detail-bar{height:6px;background:#0000001a;border-radius:3px;overflow:hidden}.resource-detail-bar-fill{height:100%;background:linear-gradient(90deg,var(--leather, #8b4513),#c47a3a);border-radius:3px;transition:width .3s ease}.resource-detail-note{font-size:.82rem;color:#2c1a0e80;font-style:italic;text-align:center;padding:8px 0}.resource-detail-chain-group{display:flex;flex-direction:column;gap:4px}.resource-detail-chain-group+.resource-detail-chain-group{margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.06)}.resource-detail-chain-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#2c1a0e66;margin-bottom:2px}.resource-detail-chain-row{display:flex;align-items:center;gap:6px;font-size:.88rem;color:var(--ink, #2c1a0e)}.resource-detail-chain-emoji{font-size:1rem;flex-shrink:0;margin-right:2px}.resource-detail-chain-name{font-weight:500;flex:1}.resource-detail-chain-amount{font-size:.78rem;color:#2c1a0e80;flex-shrink:0}.resource-detail-chain-via{font-size:.78rem;color:#2c1a0e80;flex-shrink:0;white-space:nowrap}.resource-detail-producer-block,.resource-detail-consumer-block{display:flex;flex-direction:column;gap:5px}.resource-detail-producer-block+.resource-detail-producer-block,.resource-detail-consumer-block+.resource-detail-consumer-block{margin-top:4px;padding-top:4px;border-top:1px solid rgba(0,0,0,.05)}.resource-detail-chain-inputs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding-left:22px}.resource-detail-chain-needs-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#2c1a0e61;flex-shrink:0;margin-right:2px}.resource-detail-chain-link{display:inline-flex;align-items:center;gap:3px;background:#8b451314;border:1px solid rgba(139,69,19,.2);border-radius:12px;padding:2px 8px 2px 5px;cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease;text-decoration:none}.resource-detail-chain-link:active{background:#8b45132e}.resource-detail-chain-link-icon{font-size:.85rem;flex-shrink:0}.resource-detail-chain-link-name{font-size:.8rem;font-weight:600;color:var(--leather, #8b4513)}.resource-detail-chain-link-amount{font-size:.72rem;color:#8b451399;margin-left:1px}.resource-detail-empty-note{font-size:.82rem;color:#2c1a0e73;font-style:italic;padding:4px 0}.resource-detail-building-card{display:flex;flex-direction:column;gap:8px;background:#ffffff8c;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:10px 12px}.resource-detail-bcard-header{display:flex;align-items:center;gap:6px}.resource-detail-bcard-emoji{font-size:1.1rem;flex-shrink:0}.resource-detail-bcard-name{font-weight:600;font-size:.9rem;color:var(--ink, #2c1a0e);flex:1}.resource-detail-bcard-loc{font-size:.74rem;color:#2c1a0e73;white-space:nowrap}.resource-detail-bcard-status{display:flex;flex-direction:column;gap:4px;font-size:.84rem;color:#2c1a0ea6}.resource-detail-bcard-status>:first-child{display:flex;align-items:center;gap:5px}.resource-detail-bcard-status.running>:first-child{color:var(--ink, #2c1a0e)}.bcard-status-icon{font-size:.85rem;flex-shrink:0}.bcard-status-icon.ready{color:#3a8a3a}.bcard-idle-label{color:#2c1a0e73;font-style:italic}.bcard-progress-bar{height:4px;background:#0000001a;border-radius:2px;overflow:hidden}.bcard-progress-fill{height:100%;background:linear-gradient(90deg,var(--leather, #8b4513),#c47a3a);border-radius:2px;transition:width .4s ease}.bcard-progress-fill.running{background:linear-gradient(90deg,#3a6a3a,#5a9a5a)}.resource-detail-bcard-start{display:flex;flex-direction:column;gap:6px}.bcard-start-row{display:flex;align-items:center;gap:5px;font-size:.84rem}.bcard-cycle-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bcard-cycle-btn{width:28px;height:28px;border:1px solid rgba(139,69,19,.3);border-radius:4px;background:#ffffffb3;color:var(--leather, #8b4513);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.bcard-cycle-btn:disabled{opacity:.35;cursor:default}.bcard-cycle-count{font-size:.85rem;font-weight:600;color:var(--ink, #2c1a0e);min-width:60px;text-align:center}.bcard-cycle-cost{font-size:.8rem;color:#2c1a0e80}.bcard-start-btn{margin-left:auto;background:linear-gradient(135deg,#3a6a3a,#4a8a4a);color:#e8f4e8;border:none;border-radius:5px;padding:5px 12px;font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}.bcard-start-btn:disabled{opacity:.5;cursor:default}.resource-detail-bcard-collect{display:flex;align-items:center;justify-content:space-between;gap:8px}.bcard-ready-label{display:flex;align-items:center;gap:5px;font-size:.84rem;color:var(--ink, #2c1a0e);font-weight:500}.bcard-next-cycle{font-weight:400;color:#2c1a0e80;font-size:.78rem}.bcard-collect-btn{background:linear-gradient(135deg,var(--leather, #8b4513),#a0522d);color:#f4e4bc;border:none;border-radius:5px;padding:6px 14px;font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;flex-shrink:0;white-space:nowrap}.bcard-collect-btn:disabled{opacity:.5;cursor:default}.bcard-msg{font-size:.78rem;padding:4px 8px;border-radius:4px;font-style:italic}.bcard-msg.ok{background:#3a8a3a1a;color:#3a6a3a}.bcard-msg.err{background:#b4282814;color:#8a2020}.resource-detail-skills-section{gap:10px}.resource-detail-skill-row{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:#fff9;border-radius:6px;border:1px solid rgba(0,0,0,.06)}.resource-detail-skill-header{display:flex;align-items:center;gap:6px}.resource-detail-skill-name{flex:1;font-size:.88rem;font-weight:600;color:var(--ink, #2c1a0e)}.resource-detail-stars{display:flex;gap:2px;flex-shrink:0}.resource-detail-star{font-size:.9rem;color:#2c1a0e33;line-height:1}.resource-detail-star.filled{color:#d4af37;text-shadow:0 0 6px rgba(212,175,55,.5)}.resource-detail-bonuses{display:flex;flex-wrap:wrap;gap:4px}.resource-detail-bonus-chip{font-size:.71rem;background:#8b45131a;color:var(--leather, #8b4513);border-radius:10px;padding:2px 7px;white-space:nowrap}.resource-detail-skills-footer{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid rgba(0,0,0,.07);margin-top:2px}.resource-detail-skills-budget{display:flex;align-items:center;gap:8px}.resource-detail-skills-budget-stars{display:flex;gap:1px}.resource-detail-budget-star{font-size:.72rem;color:#2c1a0e33}.resource-detail-budget-star.used{color:#d4af37}.resource-detail-skills-budget-label{font-size:.78rem;color:#2c1a0e8c}.resource-detail-skills-note{font-size:.75rem;color:#2c1a0e73;font-style:italic}.resource-detail-skills-btn{align-self:flex-start;background:linear-gradient(135deg,var(--leather, #8b4513),#a0522d);color:#f4e4bc;border:none;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s ease}.resource-detail-skills-btn:active{opacity:.8}.resources-sheet{display:flex;flex-direction:column;height:100%}.resources-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 12px;border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0}.resources-sheet-header h2{font-family:var(--font-heading, serif);font-size:1.1rem;color:var(--ink, #2c1a0e);margin:0}.resources-sheet-close{width:32px;height:32px;border:none;background:#00000014;border-radius:50%;cursor:pointer;font-size:1rem;color:var(--ink, #2c1a0e);display:flex;align-items:center;justify-content:center}.resources-sheet-list{flex:1;overflow-y:auto;overscroll-behavior:contain;padding-bottom:8px}.resources-tier-group{margin-bottom:4px}.resources-tier-label{padding:10px 16px 4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#2c1a0e73}.resources-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;border:none;border-bottom:1px solid rgba(0,0,0,.05);background:transparent;text-align:left;cursor:pointer;min-height:48px;transition:background .1s}.resources-row:active{background:#8b45130f}.resources-row.zero{opacity:.4}.resources-row-icon{font-size:1.3rem;flex-shrink:0;width:28px;text-align:center}.resources-row-name{flex:1;font-size:.9rem;color:var(--ink, #2c1a0e)}.resources-row-amount{font-size:.88rem;font-weight:600;color:var(--ink, #2c1a0e);min-width:40px;text-align:right}.resources-row-arrow{font-size:1.1rem;color:#2c1a0e4d;flex-shrink:0}.tcm-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;pointer-events:none}.tcm-panel{position:fixed;background:#000000b8;pointer-events:all;transition:height .22s ease,width .22s ease,top .22s ease,left .22s ease}.tcm-spotlight{position:fixed;border-radius:10px;outline:2px solid rgba(200,168,60,.75);box-shadow:0 0 0 3px #c8a83c2e,0 0 20px #c8a83c1f;pointer-events:none;transition:top .22s ease,left .22s ease,width .22s ease,height .22s ease;animation:tcm-pulse 2.4s ease-in-out infinite}@keyframes tcm-pulse{0%,to{box-shadow:0 0 0 3px #c8a83c2e,0 0 20px #c8a83c1f}50%{box-shadow:0 0 0 5px #c8a83c47,0 0 32px #c8a83c38}}.tcm-card{position:fixed;background:linear-gradient(160deg,#1e1c2e,#161420);border:1px solid rgba(200,168,60,.4);border-radius:14px;padding:18px 20px 15px;box-shadow:0 12px 40px #000000a6,0 0 0 1px #ffffff0a inset;pointer-events:all;transition:top .22s ease,left .22s ease;animation:tcm-card-in .18s ease-out both}@keyframes tcm-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tcm-drag-handle{display:flex;justify-content:center;align-items:center;height:20px;margin:-5px -8px 10px;border-radius:10px 10px 0 0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;color:#c8a83c59;transition:color .15s}.tcm-drag-handle:hover{color:#c8a83ca6}.tcm-drag-handle:active{cursor:grabbing;color:#c8a83cd9}.tcm-drag-dots{font-size:.85rem;letter-spacing:3px;pointer-events:none}.tcm-card-icon{font-size:1.75rem;line-height:1;margin-bottom:10px}.tcm-card-title{font-size:1rem;font-weight:700;color:#c8a840;margin:0 0 8px;letter-spacing:.01em}.tcm-card-body{font-size:.875rem;color:#b8aa80;line-height:1.6;margin:0 0 15px}.tcm-await-hint{display:flex;align-items:center;gap:7px;font-size:.8rem;color:#c8a840;margin:0 0 13px;animation:tcm-hint-pulse 1.8s ease-in-out infinite}.tcm-await-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#c8a840;flex-shrink:0}@keyframes tcm-hint-pulse{0%,to{opacity:.6}50%{opacity:1}}.tcm-btn-cta{display:block;width:100%;background:linear-gradient(135deg,#c8a840,#9a7820);border:none;color:#1a1006;font-size:.9rem;font-weight:700;padding:10px 16px;border-radius:9px;cursor:pointer;letter-spacing:.025em;margin-bottom:12px;transition:background .15s,transform .1s;text-align:center}.tcm-btn-cta:hover{background:linear-gradient(135deg,#d4b850,#aa8830)}.tcm-btn-cta:active{transform:scale(.98)}.tcm-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.tcm-footer-right{display:flex;align-items:center;gap:10px}.tcm-counter{font-size:.72rem;color:#5a5040;letter-spacing:.03em}.tcm-btn-skip{background:none;border:none;color:#4a4030;font-size:.75rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.tcm-btn-skip:hover{color:#7a6a4a}.tcm-btn-next{background:linear-gradient(135deg,#c8a840,#9a7820);border:none;color:#1a1006;font-size:.82rem;font-weight:700;padding:7px 15px;border-radius:8px;cursor:pointer;letter-spacing:.025em;transition:background .15s,transform .1s}.tcm-btn-next:hover{background:linear-gradient(135deg,#d4b850,#aa8830)}.tcm-btn-next:active{transform:scale(.97)}.tcm-btn-next--secondary{background:transparent;border:1px solid rgba(200,168,60,.35);color:#7a6a4a;font-weight:400}.tcm-btn-next--secondary:hover{background:transparent;border-color:#c8a83c99;color:#a08a5a}.world-sheet{padding:0 16px 20px;display:flex;flex-direction:column;gap:8px}.ws-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.ws-header-title{font-size:1rem;font-weight:700;color:#c8b87a;font-family:var(--font-heading, serif);letter-spacing:.06em;text-transform:uppercase}.ws-header-region{font-size:.72rem;color:#8a7a50;display:flex;align-items:center;gap:4px}.ws-header-region.war{color:#c43}.ws-section-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5a4a28;margin-top:4px}.ws-capital-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:linear-gradient(135deg,#c9a22726,#c9a22712);border:1px solid rgba(201,162,39,.45);border-radius:10px;cursor:pointer;transition:all .18s ease;text-align:left}.ws-capital-btn:hover,.ws-capital-btn:active{background:linear-gradient(135deg,#c9a22747,#c9a22726);border-color:#c9a227bf;box-shadow:0 0 12px #c9a2272e}.ws-capital-crown{font-size:1.4rem;flex-shrink:0;color:#c9a227}.ws-capital-text{flex:1;display:flex;flex-direction:column;gap:2px}.ws-capital-name{font-size:.85rem;font-weight:700;color:#c9a227;font-family:var(--font-heading, serif)}.ws-capital-sub{font-size:.67rem;color:#8a7a45}.ws-btn-arrow{font-size:1.1rem;color:#7a6a35;flex-shrink:0}.ws-era-card{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#c9a2270f;border:1px solid rgba(201,162,39,.15);border-radius:8px}.ws-era-icon{font-size:1rem;flex-shrink:0}.ws-era-info{display:flex;flex-direction:column;gap:2px}.ws-era-name{font-size:.82rem;font-weight:600;color:#c8b87a}.ws-era-timer{font-size:.67rem;color:#7a6a42}.ws-era-none{font-size:.78rem;color:#6a5a35;font-style:italic}.ws-regions{display:flex;flex-direction:column;gap:6px}.ws-region-btn{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:left}.ws-region-btn:hover,.ws-region-btn.active{background:#c9a2271a;border-color:#c9a2274d}.ws-region-btn--war{background:#cc22000f;border-color:#cc220040}.ws-region-btn--war:hover,.ws-region-btn--war.active{background:#cc220024;border-color:#cc220080}.ws-region-icon{font-size:1rem;flex-shrink:0}.ws-region-info{flex:1;display:flex;flex-direction:column;gap:2px}.ws-region-name{font-size:.82rem;font-weight:600;color:#c8b87a}.ws-region-btn--war .ws-region-name{color:#e06050}.ws-region-biome{font-size:.65rem;color:#7a6a42;text-transform:uppercase;letter-spacing:.06em}.ws-region-biome.war{color:#c43}.ws-region-check{font-size:.85rem;color:#c9a227;flex-shrink:0}.ws-unlock-btn{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;background:linear-gradient(135deg,#cc22002e,#8800111f);border:1px solid rgba(204,34,0,.45);border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:left;font-size:1rem;color:#e06050}.ws-unlock-btn:hover:not(:disabled){background:linear-gradient(135deg,#cc220052,#88001138);border-color:#cc2200bf;box-shadow:0 0 12px #c203}.ws-unlock-btn:disabled{opacity:.7;cursor:wait}.ws-confirm{padding:12px 14px;background:#cc220014;border:1px solid rgba(204,34,0,.3);border-radius:8px}.ws-confirm-text{font-size:.75rem;color:#c09080;margin:0 0 10px;line-height:1.5}.ws-confirm-row{display:flex;gap:8px}.ws-confirm-yes{flex:1;padding:7px;background:linear-gradient(135deg,#c206,#8800114d);border:1px solid rgba(204,34,0,.65);border-radius:6px;color:#ff7060;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .15s ease}.ws-confirm-yes:hover:not(:disabled){background:linear-gradient(135deg,#c209,#88001180);color:#ff9080}.ws-confirm-yes:disabled{opacity:.7;cursor:wait}.ws-confirm-no{flex:1;padding:7px;background:#281e1e80;border:1px solid rgba(120,80,80,.3);border-radius:6px;color:#8a7070;font-size:.75rem;cursor:pointer;transition:all .15s ease}.ws-confirm-no:hover{background:#3c2d2d99;color:#aaa090}.ws-war-active{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#cc220014;border:1px solid rgba(204,34,0,.2);border-radius:8px}.ws-war-active-icon{font-size:.85rem;animation:ws-pulse-war 2s ease-in-out infinite}@keyframes ws-pulse-war{0%,to{opacity:1}50%{opacity:.45}}.ws-war-active-label{font-size:.7rem;font-weight:800;letter-spacing:.1em;color:#c43;text-transform:uppercase}.ws-my-settlement{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:8px;margin-top:2px}.ws-my-settlement-icon{font-size:.9rem}.ws-my-settlement-label{font-size:.72rem;color:#6a7a5a}.market-sheet{display:flex;flex-direction:column;height:100%}.market-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 10px;border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0}.market-sheet-header h2{font-family:var(--font-heading, serif);font-size:1.1rem;color:var(--ink, #2c1a0e);margin:0}.market-sheet-close{width:32px;height:32px;border:none;background:#00000014;border-radius:50%;cursor:pointer;font-size:1rem;color:var(--ink, #2c1a0e);display:flex;align-items:center;justify-content:center}.market-sheet-tabs{display:flex;border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0;background:#00000005}.market-tab{flex:1;padding:10px 4px;border:none;background:transparent;font-size:.82rem;font-weight:600;color:#2c1a0e80;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;gap:5px;transition:color .15s}.market-tab.active{color:#8b4513}.market-tab.active:after{content:"";position:absolute;bottom:-1px;left:12%;right:12%;height:2px;background:#8b4513;border-radius:2px 2px 0 0}.market-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#8b4513;color:#fff;font-size:.68rem;font-weight:700;line-height:1}.market-sheet-content{flex:1;overflow-y:auto;overscroll-behavior:contain;padding-bottom:12px}.market-loading{padding:32px 16px;text-align:center;color:#2c1a0e73;font-size:.9rem}.market-empty{display:flex;flex-direction:column;align-items:center;padding:40px 24px 24px;text-align:center;gap:8px}.market-empty-icon{font-size:2.4rem;line-height:1}.market-empty p{margin:0;font-size:.9rem;color:#2c1a0eb3}.market-empty-sub{font-size:.8rem!important;color:#2c1a0e73!important}.market-section-note{margin:0;padding:10px 16px 6px;font-size:.78rem;color:#2c1a0e73}.market-orders-list{display:flex;flex-direction:column}.market-order-row{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid rgba(0,0,0,.05)}.market-order-icon{font-size:1.4rem;flex-shrink:0;width:30px;text-align:center}.market-order-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.market-order-resource{font-size:.9rem;font-weight:600;color:var(--ink, #2c1a0e)}.market-order-meta{font-size:.76rem;color:#2c1a0e80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-order-price{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.market-order-pec{font-size:.95rem;font-weight:700;color:#8b4513}.market-order-pec-label{font-size:.68rem;color:#2c1a0e66}.market-caravan-row{padding:10px 16px;border-bottom:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;gap:6px;width:100%;text-align:left}button.market-caravan-row{border:none;background:transparent;cursor:pointer;transition:background .1s}button.market-caravan-row:active{background:#8b45130f}.market-row-cta{color:#8b4513;font-weight:600}.market-caravan-header{display:flex;align-items:center;justify-content:space-between}.market-caravan-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#5a7a4a}.market-caravan-expires{font-size:.75rem;color:#2c1a0e73}.market-caravan-body{display:flex;align-items:center;gap:10px}.market-caravan-bar{height:4px;background:#00000014;border-radius:2px;overflow:hidden;margin-top:4px}.market-caravan-fill{height:100%;background:#5a7a4a;border-radius:2px;transition:width .3s ease}.market-shop-row{display:flex;flex-direction:column;gap:6px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.05);width:100%;text-align:left}button.market-shop-row{border:none;background:transparent;cursor:pointer;transition:background .1s}button.market-shop-row:active{background:#8b45130f}.market-shop-owner{display:flex;align-items:center;gap:8px}.market-shop-icon{font-size:1.2rem;flex-shrink:0}.market-shop-name{font-size:.9rem;font-weight:600;color:var(--ink, #2c1a0e);flex:1}.market-shop-count{font-size:.75rem;color:#2c1a0e73}.market-shop-arrow{font-size:1.1rem;color:#2c1a0e4d}.market-shop-items{display:flex;flex-wrap:wrap;gap:5px;padding-left:28px}.market-shop-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;background:#0000000d;border-radius:10px;font-size:.75rem;color:var(--ink, #2c1a0e)}.market-shop-chip.muted{color:#2c1a0e73}.market-visit-btn{display:block;margin:16px auto 4px;padding:10px 24px;border:none;background:#8b4513;color:#fff;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.market-visit-btn:active{background:#6b3410}.cap-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:linear-gradient(160deg,#0e0b04,#110d04,#0a0802);display:flex;flex-direction:column;animation:cap-enter .22s ease}@keyframes cap-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cap-topbar{display:flex;align-items:center;gap:12px;padding:14px 20px;background:linear-gradient(180deg,#c9a2271f,#c9a22708);border-bottom:1px solid rgba(201,162,39,.2);flex-shrink:0}.cap-back{width:36px;height:36px;background:#c9a22714;border:1px solid rgba(201,162,39,.2);border-radius:8px;color:#c9a227;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.cap-back:hover{background:#c9a2272e}.cap-topbar-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.cap-topbar-crown{font-size:1.3rem;color:#c9a227;text-shadow:0 0 12px rgba(201,162,39,.5);flex-shrink:0}.cap-topbar-title>span:nth-child(2){font-size:1.05rem;font-weight:700;color:#f0c040;letter-spacing:.04em;white-space:nowrap}.cap-topbar-persist{font-size:.62rem!important;color:#5a4a25!important;text-transform:uppercase;letter-spacing:.08em!important;font-weight:500!important}.cap-topbar-actions{display:flex;gap:8px;flex-shrink:0}.cap-topbar-btn{padding:7px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:7px;color:#7a6a42;font-size:.74rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.cap-topbar-btn:hover{background:#c9a2271a;border-color:#c9a2274d;color:#c9a227}.cap-topbar-btn.active{background:#c9a22726;border-color:#c9a22766;color:#c9a227}.cap-body{flex:1;display:flex;overflow:hidden}.cap-map-area{flex:0 0 auto;width:480px;display:flex;flex-direction:column;border-right:1px solid rgba(201,162,39,.1);overflow:hidden}.cap-map-scroll{flex:1;overflow-y:auto;overflow-x:auto;padding:20px;scrollbar-width:thin;scrollbar-color:rgba(201,162,39,.2) transparent}.cap-world-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(var(--grid-rows, 1),auto);gap:10px;min-width:400px}.cap-map-loading{grid-column:1 / -1;text-align:center;padding:48px 20px;font-size:.78rem;color:#5a4a25;font-style:italic}.cap-player-block{position:relative;display:flex;flex-direction:column;background:#ffffff06;border:1px solid rgba(201,162,39,.1);border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}.cap-player-block:hover{border-color:#c9a22740;background:#c9a2270a}.cap-player-block.selected{border-color:#c9a22773;background:#c9a2270f;box-shadow:0 0 16px #c9a2271f}.cap-player-block.mine{border-color:#c9a22780;box-shadow:0 0 0 2px #c9a22738,0 0 18px #c9a2271a}.cap-player-block.mine.selected{border-color:#c9a227;box-shadow:0 0 0 2px #c9a22766,0 0 22px #c9a22733}.cap-block-header{display:flex;align-items:center;gap:5px;padding:5px 8px 4px;background:#00000040;border-bottom:1px solid rgba(201,162,39,.07);min-width:0}.cap-block-rank{font-size:.57rem;font-weight:700;color:#7a6a35;flex-shrink:0}.cap-block-name{font-size:.62rem;font-weight:600;color:#c8b87a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.cap-block-you{font-size:.52rem;font-weight:700;padding:1px 5px;background:#c9a22733;border:1px solid rgba(201,162,39,.45);border-radius:3px;color:#c9a227;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}.cap-block-prestige{font-size:.55rem;color:#7a6a35;flex-shrink:0;white-space:nowrap}.cap-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:3px;padding:5px 5px 2px}.cap-mini-plot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1 / 1;border-radius:5px;border:1px solid rgba(255,255,255,.05);background:#0003;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;overflow:hidden}.cap-mini-plot:hover{border-color:color-mix(in srgb,var(--plot-color, #c9a227) 45%,transparent);background:color-mix(in srgb,var(--plot-color, #c9a227) 8%,#0a0802)}.cap-mini-plot.sel{border-color:color-mix(in srgb,var(--plot-color, #c9a227) 70%,transparent);background:color-mix(in srgb,var(--plot-color, #c9a227) 14%,#0a0802);box-shadow:0 0 8px color-mix(in srgb,var(--plot-color, #c9a227) 20%,transparent)}.cap-mini-plot--tier0{opacity:.45}.cap-mini-plot--tier0 .cap-mini-icon{font-size:.85rem;filter:grayscale(1) opacity(.5)}.cap-mini-plot--tier1 .cap-mini-icon{font-size:1rem;opacity:.7}.cap-mini-plot--tier2 .cap-mini-icon{font-size:1.15rem;opacity:.85}.cap-mini-plot--tier3 .cap-mini-icon{font-size:1.3rem}.cap-mini-plot--tier4{border-color:color-mix(in srgb,var(--plot-color, #c9a227) 55%,transparent)!important;background:color-mix(in srgb,var(--plot-color, #c9a227) 10%,#0a0802)!important}.cap-mini-plot--tier4 .cap-mini-icon{font-size:1.4rem;filter:drop-shadow(0 0 4px var(--plot-color, #c9a227))}.cap-mini-icon{line-height:1;display:block;transition:font-size .2s}.cap-mini-lvl{position:absolute;bottom:1px;right:2px;font-size:.48rem;font-weight:700;color:#c9a227b3;line-height:1}.cap-mini-lvl.max{color:var(--plot-color, #c9a227);text-shadow:0 0 4px var(--plot-color, #c9a227)}.cap-block-road-strip{height:6px;background:repeating-linear-gradient(90deg,rgba(201,162,39,.08) 0px,rgba(201,162,39,.08) 6px,transparent 6px,transparent 12px);margin:2px 5px 4px;border-radius:1px;flex-shrink:0}.cap-panel{flex:1;overflow-y:auto;padding:24px;scrollbar-width:thin;scrollbar-color:rgba(201,162,39,.2) transparent}.cap-building-panel{display:flex;flex-direction:column;gap:16px;animation:cap-panel-in .18s ease}@keyframes cap-panel-in{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.cap-player-header{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#c9a2270f;border:1px solid rgba(201,162,39,.18);border-radius:12px}.cap-player-rank{font-size:1.5rem;font-weight:700;color:#7a6a35;flex-shrink:0}.cap-player-name{font-size:1rem;font-weight:700;color:#f0c040;margin-bottom:3px}.cap-player-prestige{font-size:.72rem;color:#8a7a50}.cap-block-summary{display:flex;flex-direction:column;gap:5px}.cap-summary-row{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#0003;border:1px solid rgba(255,255,255,.04);border-left:2px solid color-mix(in srgb,var(--bp-color, #c9a227) 50%,transparent);border-radius:6px;font-size:.73rem}.cap-summary-icon{font-size:1rem;line-height:1;flex-shrink:0}.cap-summary-label{flex:1;color:#a89050}.cap-summary-level{font-weight:700;color:#c9a227;white-space:nowrap}.cap-summary-level.max{color:color-mix(in srgb,var(--bp-color, #c9a227) 90%,#fff)}.cap-summary-bonus{font-size:.64rem;color:#5a4a25;white-space:nowrap}.cap-bp-readonly-note{text-align:center;padding:10px;font-size:.68rem;color:#4a3a1a;font-style:italic;border-top:1px solid rgba(255,255,255,.04);margin-top:4px}.cap-bp-header{display:flex;align-items:center;gap:14px;padding:16px;background:color-mix(in srgb,var(--bp-color) 8%,transparent);border:1px solid color-mix(in srgb,var(--bp-color) 25%,transparent);border-radius:12px}.cap-bp-icon{font-size:2rem;line-height:1}.cap-bp-name{font-size:1rem;font-weight:700;color:#f0c040;margin-bottom:3px}.cap-bp-bonus{font-size:.72rem;color:#8a7a50}.cap-bp-lvl{margin-left:auto;padding:4px 12px;background:#c9a22726;border:1px solid rgba(201,162,39,.35);border-radius:6px;font-size:.78rem;font-weight:700;color:#c9a227;white-space:nowrap}.cap-bp-lvl.max{background:color-mix(in srgb,var(--bp-color) 20%,transparent);border-color:color-mix(in srgb,var(--bp-color) 50%,transparent);color:var(--bp-color)}.cap-bp-desc{font-size:.76rem;color:#7a6a42;line-height:1.6;margin:0}.cap-bp-progress-wrap{display:flex;align-items:center;gap:10px}.cap-bp-progress{flex:1;height:6px;background:#ffffff0d;border-radius:99px;overflow:hidden}.cap-bp-progress-fill{height:100%;border-radius:99px;transition:width .5s ease}.cap-bp-progress-label{font-size:.65rem;color:#7a6a42;white-space:nowrap}.cap-bp-upgrade{background:#00000040;border:1px solid rgba(201,162,39,.12);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}.cap-bp-upgrade-title{font-size:.75rem;font-weight:700;color:#a89050;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cap-bp-prestige{font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:4px}.cap-bp-prestige.ok{background:#44a04426;color:#6ac86a;border:1px solid rgba(68,160,68,.3)}.cap-bp-prestige.locked{background:#b4502826;color:#c87a50;border:1px solid rgba(180,80,40,.3)}.cap-bp-costs{display:flex;flex-direction:column;gap:5px}.cap-bp-cost{display:flex;align-items:center;gap:6px;font-size:.73rem;padding:4px 8px;border-radius:5px;background:#ffffff05}.cap-bp-cost-res{flex:1;color:#a89050}.cap-bp-cost-need{font-weight:700;color:#c9a227}.cap-bp-cost-have{font-size:.64rem;color:#5a4a25}.cap-bp-cost.short .cap-bp-cost-need{color:#c87a50}.cap-bp-cost.short .cap-bp-cost-res{color:#8a5a3a}.cap-bp-free{font-size:.71rem;color:#4a3a1a;margin:0}.cap-bp-upgrade-btn{padding:10px;background:color-mix(in srgb,var(--bp-color) 15%,transparent);border:1px solid color-mix(in srgb,var(--bp-color) 45%,transparent);border-radius:8px;color:var(--bp-color);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .18s;letter-spacing:.03em}.cap-bp-upgrade-btn:hover:not(:disabled){background:color-mix(in srgb,var(--bp-color) 25%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--bp-color) 20%,transparent)}.cap-bp-upgrade-btn:disabled{opacity:.35;cursor:not-allowed}.cap-bp-maxed{text-align:center;padding:14px;font-size:.75rem;color:#c9a227;letter-spacing:.06em;font-weight:600;border:1px solid rgba(201,162,39,.25);border-radius:10px;background:#c9a2270f}.cap-city-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;gap:14px;padding:40px 20px;color:#5a4a25}.cap-city-hint-icon{font-size:3rem;opacity:.4}.cap-city-hint p{font-size:.82rem;color:#7a6a42;margin:0;line-height:1.6}.cap-city-hint-sub{font-size:.72rem!important;color:#4a3a1a!important}.cap-shipments-panel,.cap-rounds-panel{display:flex;flex-direction:column;gap:16px;animation:cap-panel-in .18s ease}.cap-panel-title{font-size:1rem;font-weight:700;color:#f0c040;margin-bottom:4px;padding-bottom:12px;border-bottom:1px solid rgba(201,162,39,.15)}.cap-ship-quota{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#c9a2270f;border:1px solid rgba(201,162,39,.15);border-radius:8px}.cap-ship-quota-label{font-size:.67rem;color:#7a6a35;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.cap-ship-dots{display:flex;gap:6px}.cap-ship-dot{width:14px;height:14px;border-radius:50%;background:#c9a2271f;border:1px solid rgba(201,162,39,.22)}.cap-ship-dot.used{background:#c9a22780;border-color:#c9a227a6}.cap-ship-quota-text{font-size:.71rem;color:#7a6a42;margin-left:auto}.cap-ship-form{background:#ffffff06;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px}.cap-ship-form-note{font-size:.67rem;color:#5a4a25;line-height:1.5}.cap-ship-list{display:flex;flex-direction:column;gap:5px;max-height:220px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(201,162,39,.2) transparent}.cap-ship-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#0000002e;border-radius:6px}.cap-ship-res{flex:1;font-size:.74rem;color:#a89050}.cap-ship-have{font-size:.63rem;color:#5a4a25;white-space:nowrap}.cap-ship-input{width:76px;padding:4px 8px;background:#0000004d;border:1px solid rgba(201,162,39,.2);border-radius:5px;color:#c9a227;font-size:.75rem;text-align:right}.cap-ship-input:focus{outline:none;border-color:#c9a22780}.cap-ship-empty{font-size:.71rem;color:#4a3a1a;font-style:italic;text-align:center;padding:10px}.cap-ship-send-btn{padding:10px;background:linear-gradient(135deg,#c9a22738,#c9a22721);border:1px solid rgba(201,162,39,.45);border-radius:8px;color:#c9a227;font-size:.81rem;font-weight:700;cursor:pointer;transition:all .18s}.cap-ship-send-btn:hover:not(:disabled){background:linear-gradient(135deg,#c9a22761,#c9a22738);box-shadow:0 0 12px #c9a2272e}.cap-ship-send-btn:disabled{opacity:.4;cursor:not-allowed}.cap-ship-no-round{padding:20px;text-align:center;font-size:.77rem;color:#5a4a25;font-style:italic;border:1px dashed rgba(201,162,39,.1);border-radius:8px}.cap-ship-history{border-top:1px solid rgba(255,255,255,.05);padding-top:12px;display:flex;flex-direction:column;gap:6px}.cap-ship-history-title{font-size:.7rem;font-weight:700;color:#7a6a42;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.cap-ship-history-empty{font-size:.7rem;color:#4a3a1a;font-style:italic}.cap-ship-record{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:10px 12px}.cap-ship-record.arrived{border-color:#44a04433;background:#44a0440a}.cap-ship-rec-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.cap-ship-status{font-size:.69rem;font-weight:700}.cap-ship-status.arrived{color:#6ac86a}.cap-ship-status.pending{color:#c9a227}.cap-ship-date{font-size:.63rem;color:#4a3a1a}.cap-ship-rec-chips{display:flex;flex-wrap:wrap;gap:4px}.cap-ship-chip{padding:2px 7px;background:#c9a22712;border:1px solid rgba(201,162,39,.14);border-radius:99px;font-size:.65rem;color:#a89050}.cap-round-active{padding:18px 20px;background:linear-gradient(135deg,#c9a2271a,#c9a2270a);border:1px solid rgba(201,162,39,.25);border-radius:12px;text-align:center}.cap-round-active-badge{display:inline-block;padding:2px 10px;margin-bottom:8px;background:#c9a22733;border:1px solid rgba(201,162,39,.4);border-radius:99px;font-size:.62rem;font-weight:700;color:#c9a227;text-transform:uppercase;letter-spacing:.08em}.cap-round-active-name{font-size:1.2rem;font-weight:700;color:#f0c040;margin-bottom:4px}.cap-round-active-theme{font-size:.73rem;color:#8a7a50;margin-bottom:8px}.cap-round-active-ends{font-size:.7rem;color:#7a6a42}.cap-rounds-history-label{font-size:.7rem;font-weight:700;color:#7a6a42;text-transform:uppercase;letter-spacing:.06em}.cap-rounds-empty{font-size:.7rem;color:#4a3a1a;font-style:italic;margin:0}.cap-round-record{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:12px 14px}.cap-rr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cap-rr-name{font-size:.85rem;font-weight:700;color:#c8b87a}.cap-rr-rank{font-size:.74rem;font-weight:700;color:#8a7a50;padding:2px 8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:4px}.cap-rr-rank.top{background:#c9a2272e;border-color:#c9a22766;color:#c9a227}.cap-rr-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.cap-rr-stat{display:flex;flex-direction:column;gap:2px;min-width:80px}.cap-rr-stat span{font-size:.59rem;color:#5a4a25;text-transform:uppercase;letter-spacing:.05em}.cap-rr-stat strong{font-size:.78rem;color:#a89050}.cap-rr-footer{font-size:.6rem;color:#4a3a1a;border-top:1px solid rgba(255,255,255,.04);padding-top:6px}@media (max-width: 680px){.cap-body{flex-direction:column}.cap-map-area{width:100%;border-right:none;border-bottom:1px solid rgba(201,162,39,.1);max-height:55vw;min-height:200px}.cap-map-scroll{padding:10px}.cap-world-grid{gap:6px;min-width:unset}.cap-panel{padding:16px}.cap-topbar-persist{display:none}.cap-topbar-btn{padding:6px 10px;font-size:.7rem}}.game-layout{height:100%;display:flex;flex-direction:column;background:var(--parchment-dark)}.game-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg,var(--leather),var(--leather-dark));border-bottom:3px solid var(--ink);box-shadow:0 2px 8px #0000004d;z-index:100}.game-title h1{font-family:var(--font-heading);font-size:1.5rem;color:var(--gold);text-shadow:2px 2px 4px rgba(0,0,0,.5);margin:0}.header-right{display:flex;align-items:center;gap:var(--space-md)}.header-icon-btn{position:relative;width:36px;height:36px;border:1px solid rgba(180,140,80,.3);border-radius:8px;background:#b48c5026;color:var(--parchment);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.header-icon-btn:hover{background:#b48c5059;border-color:#b48c5080}.header-notif-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:#d94040;color:#fff;font-size:9px;font-weight:700;line-height:16px;text-align:center;pointer-events:none;box-shadow:0 0 0 2px #0f1c2e}.discord-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#aaa;transition:color .15s,background .15s;text-decoration:none}.discord-link:hover{color:#5865f2;background:#5865f21f}.player-name{color:var(--parchment);font-weight:500}.game-main{flex:1;display:flex;overflow:hidden;position:relative}.game-content{flex:1;position:relative;overflow:hidden;touch-action:none}.game-detail-panel{width:320px;background:var(--parchment);border-left:3px solid var(--leather);overflow-y:auto;animation:slideInRight .3s ease}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.onboarding{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--parchment) 0%,var(--parchment-dark) 100%);padding:var(--space-xl);overflow-y:auto}.onboarding-container{width:100%;max-width:1000px;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-step{text-align:center}.onboarding-step h1{font-size:3rem;color:var(--leather-dark);margin-bottom:var(--space-md);text-shadow:2px 2px 4px rgba(0,0,0,.1)}.onboarding-step h2{font-size:2rem;color:var(--leather-dark);margin-bottom:var(--space-md)}.step-desc{font-size:1.125rem;color:var(--ink-faded);margin-bottom:var(--space-xl)}.intro-text{font-size:1.25rem;color:var(--ink);max-width:600px;margin:0 auto var(--space-xl);line-height:1.8}.intro-features{display:flex;justify-content:center;gap:var(--space-xl);margin-bottom:var(--space-xl)}.feature{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.feature-icon{font-size:2.5rem}.feature span:last-child{font-weight:500;color:var(--leather)}.btn-large{padding:var(--space-md) var(--space-xl);font-size:1.25rem}.origin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.origin-card{background:var(--parchment-light);border:3px solid var(--leather);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;transition:all .2s ease;text-align:left}.origin-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--gold)}.origin-card.selected{border-color:var(--gold);background:var(--gold-light);box-shadow:0 0 0 3px var(--gold)}.origin-icon{font-size:2.5rem;margin-bottom:var(--space-sm)}.origin-card h3{font-family:var(--font-heading);font-size:1.25rem;color:var(--leather-dark);margin-bottom:var(--space-xs)}.origin-motto{font-style:italic;color:var(--ink-faded);font-size:.875rem;margin-bottom:var(--space-sm)}.origin-desc{font-size:.875rem;color:var(--ink);margin-bottom:var(--space-md);line-height:1.5}.origin-bonuses{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-md)}.bonus-tag{padding:2px 8px;background:var(--success);color:#fff;font-size:.7rem;font-weight:500;border-radius:var(--radius-sm)}.origin-resources{display:flex;gap:var(--space-md);font-size:.875rem;color:var(--ink-faded)}.origin-preview{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--parchment-dark);border-radius:var(--radius-md);margin-bottom:var(--space-xl)}.preview-icon{font-size:1.5rem}.preview-name{font-weight:600;color:var(--leather-dark)}.name-input-group{position:relative;max-width:400px;margin:0 auto var(--space-lg)}.name-input{font-size:1.25rem;text-align:center;padding:var(--space-md)}.char-count{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);font-size:.75rem;color:var(--ink-faded)}.step-actions{display:flex;justify-content:center;gap:var(--space-md)}.error-message{max-width:400px;margin:0 auto var(--space-md);padding:var(--space-sm);background:var(--danger);color:#fff;border-radius:var(--radius-sm)}.isometric-map-container{position:relative;width:100%;height:100%;overflow:hidden;background:#1a2a1a;touch-action:none}.isometric-map-canvas{display:block;cursor:grab}.isometric-map-canvas.dragging{cursor:grabbing}.isometric-map-canvas.painting{cursor:crosshair}.map-controls{position:absolute;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:10}.zoom-level{width:36px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#8ab0c8;font-family:monospace;pointer-events:none}.control-btn{width:36px;height:36px;border:none;border-radius:6px;background:#1e281ee6;color:#c8d4c0;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #0000004d;border:1px solid rgba(100,120,100,.3)}.control-btn:hover{background:#324632f2;transform:scale(1.05)}.control-btn:active{transform:scale(.95)}.coords-display{position:absolute;bottom:20px;left:20px;padding:6px 12px;background:#1e281ee6;color:#c8d4c0;font-family:Courier New,monospace;font-size:14px;border-radius:4px;z-index:10;border:1px solid rgba(100,120,100,.3)}.plot-panel{width:320px;height:100%;background:var(--parchment);border-left:3px solid var(--leather);display:flex;flex-direction:column;overflow:hidden}@media (max-width: 767px){.plot-panel{width:100%;border-left:none}}.plot-panel .panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--leather)}.plot-panel .panel-header h2{margin:0;font-family:var(--font-heading);font-size:1.25rem;color:var(--leather-dark)}.plot-panel .close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:2px solid var(--leather);border-radius:var(--radius-sm);font-size:1.25rem;color:var(--leather);cursor:pointer;transition:all .2s ease}.plot-panel .close-btn:hover{background:var(--leather);color:var(--parchment)}.panel-content{flex:1;padding:var(--space-md);overflow-y:auto}.panel-content.empty{display:flex;align-items:center;justify-content:center;color:var(--ink-faded);font-style:italic}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb{background:var(--leather);border-radius:3px;opacity:.5}.info-section{margin-bottom:var(--space-md)}.info-section h3{margin:0 0 var(--space-xs) 0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-faded)}.empty-text{color:var(--ink-faded);font-style:italic;margin:0;font-size:.875rem}.building-card{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--parchment-dark);border-radius:var(--radius-sm);border:1px solid var(--leather-light)}.building-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:var(--parchment);border-radius:var(--radius-sm);border:1px solid var(--leather-light)}.building-info{display:flex;flex-direction:column;gap:2px}.building-name{font-size:1rem;font-weight:600;color:var(--leather-dark)}.building-category{font-size:.75rem;color:var(--ink-faded);text-transform:capitalize}.building-desc{margin:var(--space-sm) 0 0 0;font-size:.875rem;color:var(--ink-faded);line-height:1.5}.owner-info{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--parchment-dark);border-radius:var(--radius-sm);border:1px solid var(--leather-light)}.owner-avatar{font-size:1.25rem}.owner-name{font-size:.9rem;font-weight:600;color:var(--leather-dark)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.detail-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-xs) var(--space-sm);background:var(--parchment-dark);border-radius:var(--radius-sm)}.detail-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.3px;color:var(--ink-faded)}.detail-value{font-size:.875rem;color:var(--ink);font-weight:500}.detail-value.pec{color:var(--gold-dark);font-weight:600}.detail-value.yes{color:var(--success)}.detail-value.no{color:var(--ink-faded)}.action-btn{width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:2px solid transparent;display:flex;align-items:center;justify-content:center;gap:var(--space-xs)}.action-btn.primary{background:linear-gradient(180deg,var(--leather),var(--leather-dark));color:var(--parchment);border-color:var(--leather-dark);box-shadow:0 2px 4px #0003}.action-btn.primary:hover:not(:disabled){background:linear-gradient(180deg,var(--leather-dark),#4a2e10);transform:translateY(-1px);box-shadow:0 4px 8px #00000040}.action-btn.primary:active:not(:disabled){transform:translateY(0)}.action-btn.primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.action-btn.primary.buy-action{background:linear-gradient(180deg,var(--gold),var(--gold-dark));color:var(--ink);border-color:var(--gold-dark)}.action-btn.primary.buy-action:hover:not(:disabled){background:linear-gradient(180deg,#e8c040,var(--gold))}.action-btn.secondary{background:transparent;color:var(--leather-dark);border-color:var(--leather)}.action-btn.secondary:hover:not(:disabled){background:var(--parchment-dark);border-color:var(--leather-dark)}.action-btn.secondary:disabled{opacity:.45;cursor:not-allowed}.error-text{color:#fff;background:var(--danger);font-size:.8rem;margin:var(--space-xs) 0 0 0;text-align:center;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.enter-store-btn,.build-btn{margin-top:var(--space-sm)}.construction-status{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm);padding:var(--space-sm);background:#daa52014;border:1px solid rgba(218,165,32,.35);border-radius:var(--radius-sm)}.construction-label{display:flex;align-items:center;gap:var(--space-xs);font-size:.85rem;font-weight:600;color:var(--gold-dark)}.construction-icon{font-size:1rem;animation:hammer .5s ease-in-out infinite alternate}@keyframes hammer{0%{transform:rotate(-10deg)}to{transform:rotate(10deg)}}.construction-bar{height:8px;background:var(--parchment-dark);border-radius:4px;overflow:hidden;border:1px solid var(--leather-light)}.construction-fill{height:100%;background:linear-gradient(90deg,var(--gold-dark),var(--gold));border-radius:4px;transition:width .3s ease}.construction-details{display:flex;justify-content:space-between;align-items:center}.construction-percent{font-size:.85rem;font-weight:600;color:var(--gold-dark)}.construction-time{font-size:.8rem;color:var(--ink-faded);font-variant-numeric:tabular-nums}.storage-upgrade-panel{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#8b45130f;border:1px solid rgba(139,69,19,.2);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:6px}.storage-upgrade-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:600;color:var(--ink)}.storage-upgrade-value{color:var(--gold-dark);font-size:.75rem}.storage-upgrade-bar-track{height:5px;background:#8b451326;border-radius:3px;overflow:hidden}.storage-upgrade-bar-fill{height:100%;background:#4caf78;border-radius:3px;transition:width .4s ease}.storage-upgrade-level{font-size:.72rem;color:var(--ink-faded);text-align:right}.storage-upgrade-cost{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:.75rem}.upgrade-cost-label{color:var(--ink-faded);margin-right:2px}.upgrade-cost-item{padding:1px 6px;border-radius:3px;font-size:.72rem;font-weight:500}.upgrade-cost-item.affordable{background:#4caf7826;color:#3a8a5a}.upgrade-cost-item.insufficient{background:#c8503c1f;color:#a04030}.storage-upgrade-btn{margin-top:4px;width:100%;font-size:.8rem;padding:6px 10px}.storage-max-label{font-size:.72rem;color:var(--ink-faded);text-align:center;padding:2px 0}.road-builder-panel{position:absolute;top:16px;right:16px;width:260px;background:#121c12f7;border:1px solid rgba(74,222,128,.35);border-radius:10px;box-shadow:0 8px 32px #0009,0 0 0 1px #4ade801a;z-index:50;overflow:hidden;font-size:13px;color:#c8d4c0}.rbp-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;background:#4ade8014;border-bottom:1px solid rgba(74,222,128,.2)}.rbp-title{display:flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:#4ade80;letter-spacing:.3px}.rbp-icon{font-size:16px}.rbp-close{background:none;border:none;color:#6a8a70;font-size:20px;line-height:1;cursor:pointer;padding:0 2px;transition:color .15s}.rbp-close:hover{color:#ef4444}.rbp-hint{padding:7px 14px 4px;font-size:11px;color:#5a7a5a;font-style:italic}.rbp-selection-count{display:flex;align-items:center;gap:4px;padding:5px 14px 6px;border-bottom:1px solid rgba(74,222,128,.1)}.rbp-count-num{font-size:20px;font-weight:700;color:#4ade80;line-height:1}.rbp-count-label{color:#8aaa90;font-size:12px}.rbp-clear-btn{margin-left:auto;background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#f87171;font-size:11px;padding:2px 8px;border-radius:4px;cursor:pointer;transition:background .15s}.rbp-clear-btn:hover{background:#ef444438}.rbp-action-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px 10px;border-bottom:1px solid rgba(74,222,128,.1)}.rbp-tab{background:#283c2880;border:1px solid rgba(74,222,128,.15);color:#7a9a80;font-size:11px;padding:5px 4px;border-radius:5px;cursor:pointer;text-align:center;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rbp-tab:hover{background:#3c5a3c99;color:#aacaaa}.rbp-tab.active{background:#4ade802e;border-color:#4ade8080;color:#4ade80;font-weight:600}.rbp-cost-section{padding:8px 14px;min-height:56px;border-bottom:1px solid rgba(74,222,128,.1)}.rbp-eligible-count{font-size:11px;color:#6a8a70;margin-bottom:6px}.rbp-cost-row{display:flex;justify-content:space-between;align-items:center;padding:2px 0}.rbp-cost-label{color:#8aaa90;font-size:12px;text-transform:capitalize}.rbp-cost-value{font-weight:600;color:#c8d4c0;font-size:12px}.rbp-cost-value.pec{color:#f6c94e}.rbp-no-eligible{font-size:11px;color:#6a6a4a;font-style:italic;padding:4px 0}.rbp-execute-btn{width:100%;padding:10px 14px;background:linear-gradient(135deg,#4ade8038,#22c55e29);border:none;border-top:1px solid rgba(74,222,128,.2);color:#4ade80;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s;letter-spacing:.3px}.rbp-execute-btn:hover:not(:disabled){background:linear-gradient(135deg,#4ade8052,#22c55e42);color:#86efac}.rbp-execute-btn:disabled{opacity:.4;cursor:not-allowed}.general-store-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.store-layout-wrapper{display:flex;align-items:stretch;max-width:96vw}.store-layout-wrapper.expanded{width:96vw;max-width:96vw;height:92vh}.general-store{position:relative;width:620px;max-width:100%;max-height:85vh;background:linear-gradient(180deg,#2a3a2a,#1e2a1e);border-radius:16px;border:1px solid rgba(100,120,100,.4);box-shadow:0 20px 60px #0000008c;display:flex;flex-direction:column;overflow:hidden;flex:0 0 auto}.general-store.has-nav{border-left:none;border-right:none;border-radius:0}.general-store.expanded{flex:1 1 0%;width:auto;max-width:none;max-height:none;height:100%}.general-store.expanded:not(.has-nav){border-radius:14px}.store-loading{text-align:center;padding:60px;color:#888}.store-nav-arrow{display:none}.store-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:#1e2d1ecc;border-bottom:1px solid rgba(100,120,100,.3);flex-shrink:0;gap:12px}.store-title{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.store-icon{font-size:26px;flex-shrink:0}.store-title-text{display:flex;flex-direction:column;gap:2px;min-width:0}.store-title h2{margin:0;font-size:20px;font-weight:600;color:#c8d4c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owner-badge{font-size:10px;font-weight:600;color:#4caf50;text-transform:uppercase;letter-spacing:.5px}.store-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.store-nav-counter{font-size:12px;font-weight:600;color:#7a8a7a;padding:4px 10px;background:#283a2899;border:1px solid rgba(100,120,100,.25);border-radius:10px;white-space:nowrap}.expand-btn{width:32px;height:32px;border:1px solid rgba(100,120,100,.25);border-radius:7px;background:#3c503c40;color:#8aaa88;font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s ease;line-height:1;padding:0}.expand-btn:hover{background:#4a7c434d;color:#c8d4c0;border-color:#64965a66}.store-header .close-btn{width:32px;height:32px;border:1px solid rgba(100,100,100,.2);border-radius:7px;background:#64646426;color:#888;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s ease;line-height:1;padding:0}.store-header .close-btn:hover{background:#ff505033;color:#ff7070;border-color:#ff50504d}.player-bar{display:flex;align-items:center;justify-content:flex-end;padding:10px 20px;background:#28372880;border-bottom:1px solid rgba(100,120,100,.2);flex-shrink:0}.player-pec{display:flex;align-items:center;gap:7px;padding:6px 14px;background:#d4af371f;border-radius:18px;border:1px solid rgba(212,175,55,.28)}.pec-icon{font-size:16px}.pec-amount{font-size:14px;font-weight:600;color:#d4af37}.store-tabs{display:flex;padding:0 20px;background:#1e281e80;border-bottom:1px solid rgba(100,120,100,.2);flex-shrink:0}.store-tabs .tab{flex:1;padding:12px 16px;border:none;background:transparent;color:#7a8a7a;font-size:14px;font-weight:600;cursor:pointer;transition:all .18s ease;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}.store-tabs .tab:hover{color:#c8d4c0;background:#64786414}.store-tabs .tab.active{color:#c8d4c0;border-bottom-color:#4a7c43}.store-message{padding:10px 20px;text-align:center;font-size:13px;font-weight:500;flex-shrink:0}.store-message.success{background:#4caf502e;color:#5cc860}.store-message.error{background:#f443362e;color:#f55a50}.store-items,.manage-section,.mayor-manage-section{flex:1;overflow-y:auto;padding:16px;min-height:0}.store-items::-webkit-scrollbar,.manage-section::-webkit-scrollbar,.mayor-manage-section::-webkit-scrollbar{width:6px}.store-items::-webkit-scrollbar-track,.manage-section::-webkit-scrollbar-track,.mayor-manage-section::-webkit-scrollbar-track{background:transparent}.store-items::-webkit-scrollbar-thumb,.manage-section::-webkit-scrollbar-thumb,.mayor-manage-section::-webkit-scrollbar-thumb{background:#64786447;border-radius:4px}.store-items::-webkit-scrollbar-thumb:hover,.manage-section::-webkit-scrollbar-thumb:hover,.mayor-manage-section::-webkit-scrollbar-thumb:hover{background:#64786473}.empty-store{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666;font-style:italic}.empty-icon{font-size:44px;margin-bottom:14px}.empty-store p{margin:0;font-size:14px}.empty-hint{margin-top:8px!important;font-size:12px!important;color:#888}.store-item{display:flex;align-items:center;gap:12px;padding:14px;margin-bottom:10px;background:#28372866;border-radius:10px;border:1px solid rgba(100,120,100,.18);transition:all .18s ease;flex-wrap:wrap}.store-item:hover{background:#32413280;border-color:#6478644d}.item-info{display:flex;align-items:center;gap:10px;flex:1;min-width:120px}.item-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#32463280;border-radius:8px;flex-shrink:0}.item-details{display:flex;flex-direction:column;gap:3px;min-width:0}.item-name{font-size:14px;font-weight:600;color:#c8d4c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-stock{font-size:11px;color:#7a8a7a}.item-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:68px;flex-shrink:0}.price{font-size:14px;font-weight:600}.buy-price{color:#d4af37}.sell-price{color:#4caf50}.tax-note{font-size:11px;color:#e8a94d;font-weight:500}.item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.quantity-control{display:flex;align-items:center;gap:3px}.qty-btn{width:28px;height:28px;border:1px solid rgba(100,120,100,.3);border-radius:6px;background:#3c503c66;color:#c8d4c0;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;line-height:1}.qty-btn:hover{background:#4a7c4366;border-color:#64965a66}.qty-input{width:46px;height:28px;border:1px solid rgba(100,120,100,.3);border-radius:6px;background:#1e281e80;color:#c8d4c0;font-size:13px;text-align:center;-moz-appearance:textfield}.qty-input::-webkit-outer-spin-button,.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-input:focus{outline:none;border-color:#4a7c43}.buy-action-group{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.tax-detail{font-size:10px;color:#e8a94d;opacity:.8;white-space:nowrap}.item-actions .action-btn{padding:7px 14px;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease;white-space:nowrap}.item-actions .action-btn.buy{background:linear-gradient(135deg,#4a7c43,#3a6235);color:#fff}.item-actions .action-btn.buy:hover:not(:disabled){background:linear-gradient(135deg,#5a8c53,#4a7245);transform:translateY(-1px)}.item-actions .action-btn:disabled{background:#3c413c99;color:#666;cursor:not-allowed}.manage-group{margin-bottom:22px}.manage-title{font-size:13px;font-weight:600;color:#c8d4c0;margin:0 0 12px;padding-bottom:7px;border-bottom:1px solid rgba(100,120,100,.2)}.no-listings,.no-resources{color:#666;font-style:italic;padding:18px;text-align:center;font-size:13px}.listings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.listing-card{background:#28372880;border:1px solid rgba(100,120,100,.2);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:9px}.listing-header{display:flex;align-items:center;gap:7px}.listing-icon{font-size:20px;flex-shrink:0}.listing-name{font-size:13px;font-weight:600;color:#c8d4c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listing-details{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}.listing-qty{font-size:11px;color:#7a8a7a}.listing-price-edit{display:flex;align-items:center;gap:4px}.price-input{width:58px;height:26px;border:1px solid rgba(100,120,100,.3);border-radius:6px;background:#1e281e99;color:#d4af37;font-size:12px;font-weight:600;text-align:center;-moz-appearance:textfield}.price-input::-webkit-outer-spin-button,.price-input::-webkit-inner-spin-button{-webkit-appearance:none}.price-input:focus{outline:none;border-color:#4a7c43}.price-label{font-size:13px}.unlist-btn{width:100%;padding:7px;border:1px solid rgba(244,67,54,.2);border-radius:6px;background:#f443361a;color:#e05a50;font-size:12px;font-weight:600;cursor:pointer;transition:all .18s ease}.unlist-btn:hover{background:#f4433638;border-color:#f4433659}.add-listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:10px}.add-listing-card{background:#32463247;border:1px dashed rgba(100,120,100,.28);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}.add-listing-header{display:flex;align-items:center;gap:9px}.add-listing-icon{font-size:22px;flex-shrink:0}.add-listing-info{display:flex;flex-direction:column;gap:2px;min-width:0}.add-listing-name{font-size:13px;font-weight:600;color:#c8d4c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-listing-owned{font-size:11px;color:#7a8a7a}.add-listing-inputs{display:flex;gap:10px}.input-group{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.input-group label{font-size:10px;color:#7a8a7a;text-transform:uppercase;letter-spacing:.4px}.input-group input{height:30px;border:1px solid rgba(100,120,100,.3);border-radius:6px;background:#1e281e99;color:#c8d4c0;font-size:13px;text-align:center;padding:0 6px;-moz-appearance:textfield;width:100%;box-sizing:border-box}.input-group input::-webkit-outer-spin-button,.input-group input::-webkit-inner-spin-button{-webkit-appearance:none}.input-group input:focus{outline:none;border-color:#4a7c43}.list-btn{width:100%;padding:9px;border:none;border-radius:7px;background:linear-gradient(135deg,#4a7c43,#3a6235);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease}.list-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a8c53,#4a7245);transform:translateY(-1px)}.list-btn:disabled{background:#3c413c99;color:#666;cursor:not-allowed}.store-tabs .tab.mayor-tab{color:#9a8ac8}.store-tabs .tab.mayor-tab.active{color:#c8b4f0;border-bottom-color:#7a6ab0}.mayor-treasury-bar{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;margin-bottom:14px;background:#3c325061;border:1px solid rgba(120,100,160,.3);border-radius:10px}.treasury-label{font-size:13px;font-weight:600;color:#b0a0d0}.treasury-amount{font-size:17px;font-weight:700;color:#d4af37}.mayor-group{margin-bottom:22px}.mayor-group-title{font-size:13px;font-weight:600;color:#c8d4c0;margin:0 0 8px;padding-bottom:7px;border-bottom:1px solid rgba(100,120,100,.2)}.mayor-hint{font-size:12px;color:#7a8a7a;margin:0 0 14px;font-style:italic}.mayor-stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:8px}.mayor-stock-card{background:#28372880;border:1px solid rgba(100,120,100,.22);border-radius:10px;padding:11px;display:flex;flex-direction:column;gap:8px}.mayor-stock-header{display:flex;align-items:center;gap:7px}.mayor-stock-icon{font-size:18px;flex-shrink:0}.mayor-stock-name{font-size:13px;font-weight:600;color:#c8d4c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mayor-stock-details{display:flex;justify-content:space-between;font-size:11px;color:#7a8a7a;gap:4px}.mayor-stock-base{color:#d4af37;font-size:11px}.mayor-stock-price-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.mayor-stock-price-row label{font-size:11px;color:#7a8a7a;white-space:nowrap}.mayor-price-edit{display:flex;align-items:center;gap:4px}.mayor-unlist-row{display:flex;flex-direction:column;gap:5px}.mayor-refund-note{font-size:11px;color:#e8a94d;text-align:center;opacity:.85}.mayor-tier-group{margin-bottom:14px}.mayor-tier-label{font-size:11px;font-weight:700;color:#7a9a7a;margin:0 0 9px;text-transform:uppercase;letter-spacing:.7px}.mayor-buy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:9px}.mayor-buy-card{background:#323c3247;border:1px dashed rgba(100,120,100,.22);border-radius:10px;padding:11px;display:flex;flex-direction:column;gap:8px}.mayor-buy-header{display:flex;align-items:center;gap:7px}.mayor-buy-icon{font-size:18px;flex-shrink:0}.mayor-buy-info{display:flex;flex-direction:column;gap:2px;min-width:0}.mayor-buy-name{font-size:12px;font-weight:600;color:#c8d4c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mayor-buy-base{font-size:10px;color:#d4af37}.mayor-buy-inputs{display:flex;gap:7px}.mayor-buy-cost{font-size:11px;font-weight:600;color:#e8a94d;text-align:center}.mayor-stock-btn{width:100%;padding:7px;border:none;border-radius:7px;background:linear-gradient(135deg,#5a4a8a,#4a3a7a);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .18s ease}.mayor-stock-btn:hover:not(:disabled){background:linear-gradient(135deg,#6a5a9a,#5a4a8a);transform:translateY(-1px)}.mayor-stock-btn:disabled{background:#3c413c99;color:#666;cursor:not-allowed}.store-footer{padding:14px 20px;background:#1e2d1ecc;border-top:1px solid rgba(100,120,100,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;gap:10px}.store-footer--nav{justify-content:space-between}.store-footer-center{display:flex;flex-direction:column;align-items:center;gap:6px}.store-footer-counter{font-size:11px;font-weight:600;color:#7a8a7a}.store-footer-nav-btn{display:flex;height:44px;min-width:44px;padding:0 16px;gap:6px;border:1px solid rgba(100,120,100,.4);border-radius:10px;background:#182418f7;color:#8aaa88;font-size:15px;font-weight:500;cursor:pointer;align-items:center;justify-content:center;transition:background .18s ease,color .18s ease;line-height:1;flex-shrink:0;-webkit-user-select:none;user-select:none}.store-footer-nav-arrow{font-size:22px;font-weight:300;line-height:1}.store-footer-nav-text{font-size:13px;font-weight:600;letter-spacing:.3px}.store-footer-nav-btn:hover{background:#3c6437e6;color:#d4e8d0}.store-footer-nav-btn:active{background:#4a7c43f2;color:#fff}.leave-btn{padding:10px 28px;border:1px solid rgba(100,120,100,.25);border-radius:8px;background:#50645033;color:#c8d4c0;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease}.leave-btn:hover{background:#6482644d;border-color:#64965a66}@media (max-width: 700px){.store-footer-nav-text{display:none}.store-footer-nav-btn{padding:0;width:44px;min-width:44px}.store-nav-counter{display:none}}@media (max-width: 640px){.general-store{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0!important}.store-layout-wrapper{width:100%;height:100%;max-width:100%}.store-item{flex-wrap:wrap}.item-actions{width:100%;justify-content:flex-end;padding-top:10px;border-top:1px solid rgba(100,120,100,.15)}.listings-grid,.add-listing-grid,.mayor-stock-grid,.mayor-buy-grid{grid-template-columns:1fr 1fr}.store-tabs .tab{font-size:12px;padding:10px}}@media (max-width: 400px){.listings-grid,.add-listing-grid,.mayor-stock-grid,.mayor-buy-grid{grid-template-columns:1fr}}.listing-capacity-bar{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px 14px;margin-bottom:12px}.listing-capacity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.listing-capacity-label{font-size:12px;color:#8ab0c8;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.listing-capacity-value{font-size:12px;color:#8ab0c8;font-family:monospace}.listing-capacity-value.full{color:#e07040}.listing-capacity-track{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.listing-capacity-fill{height:100%;background:#4a9a6a;border-radius:3px;transition:width .3s ease}.listing-capacity-fill.near-full{background:#e07040}.listing-capacity-hint{margin:6px 0 0;font-size:11px;color:#e07040}.add-listing-vol{font-size:10px;color:#5a7a8e}.listing-cap-warn{margin:4px 0;font-size:11px;color:#e07040}.townhall-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.townhall{position:relative;width:620px;max-width:95vw;max-height:85vh;background:linear-gradient(180deg,#2a2a3a,#1e1e2a);border-radius:16px;border:1px solid rgba(100,100,140,.4);box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;overflow:hidden}.townhall-loading{text-align:center;padding:60px;color:#888}.townhall-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#1e1e32cc;border-bottom:1px solid rgba(100,100,140,.3)}.townhall-title{display:flex;align-items:center;gap:12px}.townhall-icon{font-size:28px}.townhall-title-text{display:flex;flex-direction:column;gap:2px}.townhall-title h2{margin:0;font-size:22px;font-weight:600;color:#c0c4d4}.mayor-badge{font-size:11px;font-weight:600;color:#d4af37;text-transform:uppercase;letter-spacing:.5px}.townhall-header .close-btn{width:36px;height:36px;border:none;border-radius:8px;background:#64646433;color:#888;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.townhall-header .close-btn:hover{background:#ff646433;color:#f66}.town-account-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#28283c80;border-bottom:1px solid rgba(100,100,140,.2)}.treasury-info{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#6482d426;border-radius:20px;border:1px solid rgba(100,130,212,.3)}.treasury-icon{font-size:18px}.treasury-label{font-size:13px;color:#8a9aba}.treasury-amount{font-size:16px;font-weight:600;color:#d4af37}.town-account-bar .player-pec{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#d4af3726;border-radius:20px;border:1px solid rgba(212,175,55,.3)}.town-account-bar .pec-icon{font-size:18px}.town-account-bar .pec-amount{font-size:16px;font-weight:600;color:#d4af37}.townhall-tabs{display:flex;padding:0 24px;background:#1e1e2d80;border-bottom:1px solid rgba(100,100,140,.2)}.townhall-tabs .tab{flex:1;padding:14px 20px;border:none;background:transparent;color:#7a7a9a;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent;margin-bottom:-1px}.townhall-tabs .tab:hover{color:#c0c4d4;background:#64648c1a}.townhall-tabs .tab.active{color:#c0c4d4;border-bottom-color:#5a6abf}.townhall-message{padding:12px 24px;text-align:center;font-size:14px;font-weight:500}.townhall-message.success{background:#4caf5033;color:#4caf50}.townhall-message.error{background:#f4433633;color:#f44336}.townhall-content{flex:1;overflow-y:auto;padding:16px}.empty-orders{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.empty-orders .empty-icon{font-size:48px;margin-bottom:16px}.empty-orders p{margin:0;font-size:15px}.empty-orders .empty-hint{margin-top:8px;font-size:13px;color:#888}.order-card{display:flex;align-items:center;gap:16px;padding:16px;margin-bottom:12px;background:#28283c66;border-radius:12px;border:1px solid rgba(100,100,140,.2);transition:all .2s ease}.order-card:hover{background:#32324680;border-color:#64648c4d}.order-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.order-icon{font-size:28px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#32325080;border-radius:8px}.order-details{display:flex;flex-direction:column;gap:3px;min-width:0}.order-name{font-size:15px;font-weight:600;color:#c0c4d4}.order-remaining{font-size:12px;color:#7a7a9a}.order-you-have{font-size:11px;color:#8a9aba}.order-price{min-width:70px;text-align:right}.order-price .price{font-size:15px;font-weight:600}.order-price .buy-price{color:#d4af37}.order-actions{display:flex;align-items:center;gap:12px}.order-actions .quantity-control{display:flex;align-items:center;gap:4px}.order-actions .qty-btn{width:28px;height:28px;border:none;border-radius:6px;background:#64648c4d;color:#c0c4d4;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.order-actions .qty-btn:hover{background:#64648c80}.order-actions .qty-input{width:50px;height:28px;border:1px solid rgba(100,100,140,.3);border-radius:6px;background:#1e1e2d80;color:#c0c4d4;font-size:14px;text-align:center;-moz-appearance:textfield}.order-actions .qty-input::-webkit-outer-spin-button,.order-actions .qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.order-actions .qty-input:focus{outline:none;border-color:#5a6abf}.order-actions .action-btn.sell{padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff}.order-actions .action-btn.sell:hover:not(:disabled){background:linear-gradient(135deg,#388e3c,#2e7d32)}.order-actions .action-btn.sell:disabled{background:#444;color:#888;cursor:not-allowed}.townhall-content .manage-group{margin-bottom:24px}.townhall-content .manage-title{font-size:14px;font-weight:600;color:#c0c4d4;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(100,100,140,.2)}.townhall-content .no-listings{color:#666;font-style:italic;padding:20px;text-align:center}.new-order-form{background:#3232504d;border:1px dashed rgba(100,100,140,.3);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px}.form-row{display:flex;gap:12px}.new-order-form .input-group{flex:1;display:flex;flex-direction:column;gap:4px}.new-order-form .input-group label{font-size:11px;color:#7a7a9a;text-transform:uppercase}.new-order-form .input-group input,.new-order-form .input-group select{height:36px;border:1px solid rgba(100,100,140,.3);border-radius:6px;background:#1e1e2d99;color:#c0c4d4;font-size:14px;text-align:center;padding:0 8px}.new-order-form .input-group input:focus,.new-order-form .input-group select:focus{outline:none;border-color:#5a6abf}.resource-select{cursor:pointer}.order-summary{text-align:center;font-size:13px;color:#8a9aba;padding:4px 0}.create-order-btn{width:100%;padding:12px;border:none;border-radius:8px;background:linear-gradient(135deg,#5a6abf,#4a5aaf);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.create-order-btn:hover:not(:disabled){background:linear-gradient(135deg,#6a7acf,#5a6abf)}.create-order-btn:disabled{background:#444;color:#888;cursor:not-allowed}.form-error{text-align:center;font-size:12px;color:#f44336;margin:4px 0 0}.orders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.manage-order-card{background:#28283c80;border:1px solid rgba(100,100,140,.2);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px}.manage-order-header{display:flex;align-items:center;gap:8px}.manage-order-icon{font-size:22px}.manage-order-name{font-size:14px;font-weight:600;color:#c0c4d4}.manage-order-details{display:flex;justify-content:space-between;font-size:12px;color:#7a7a9a}.manage-order-reserved{font-size:11px;color:#8a9aba}.cancel-order-btn{width:100%;padding:8px;border:none;border-radius:6px;background:#f4433626;color:#f44336;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-order-btn:hover{background:#f4433640}.town-inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.town-inventory-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#28283c66;border-radius:8px;border:1px solid rgba(100,100,140,.15)}.town-inv-icon{font-size:20px}.town-inv-name{font-size:13px;color:#c0c4d4;flex:1}.town-inv-amount{font-size:14px;font-weight:600;color:#d4af37}.townhall-footer{padding:16px 24px;background:#1e1e32cc;border-top:1px solid rgba(100,100,140,.3);display:flex;justify-content:center}.townhall-footer .leave-btn{padding:12px 32px;border:none;border-radius:8px;background:#6464644d;color:#c0c4d4;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.townhall-footer .leave-btn:hover{background:#78787866}.townhall-content::-webkit-scrollbar{width:8px}.townhall-content::-webkit-scrollbar-track{background:transparent}.townhall-content::-webkit-scrollbar-thumb{background:#64648c4d;border-radius:4px}.townhall-content::-webkit-scrollbar-thumb:hover{background:#64648c80}.th-quest-card{padding:14px;margin-bottom:10px;background:#28283c66;border-radius:10px;border:1px solid rgba(100,100,140,.2)}.th-quest-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.th-quest-title-row{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.th-quest-title-row h4{margin:0;font-size:14px;font-weight:600;color:#c0c4d4}.th-quest-type{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.th-quest-type.DELIVERY{background:#6496dc33;color:#6496dc;border:1px solid rgba(100,150,220,.3)}.th-quest-type.PRODUCTION{background:#ff980033;color:#ff9800;border:1px solid rgba(255,152,0,.3)}.th-quest-type.EXPLORATION{background:#9c27b033;color:#ce93d8;border:1px solid rgba(156,39,176,.3)}.th-quest-community{font-size:9px;font-weight:600;padding:2px 6px;border-radius:10px;background:#d4af3733;color:#d4af37;border:1px solid rgba(212,175,55,.3);text-transform:uppercase;flex-shrink:0}.th-quest-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.th-quest-status{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase}.th-quest-status.AVAILABLE{background:#6496dc26;color:#6496dc}.th-quest-status.IN_PROGRESS{background:#ffc10726;color:#ffc107}.th-quest-timer{font-size:11px;color:#ff9800;white-space:nowrap}.th-quest-timer.expired{color:#f44336}.th-quest-progress-list{display:flex;flex-direction:column;gap:6px}.th-quest-progress-row{display:flex;align-items:center;gap:8px}.th-quest-prog-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0}.th-quest-prog-label{font-size:12px;color:#8a9aba;width:80px;flex-shrink:0}.th-quest-prog-bar{flex:1;height:6px;background:#5050784d;border-radius:3px;overflow:hidden}.th-quest-prog-fill{height:100%;background:linear-gradient(90deg,#5a6abf,#7a8adf);border-radius:3px;transition:width .3s ease}.th-quest-prog-fill.complete{background:linear-gradient(90deg,#2e7d32,#4caf50)}.th-quest-prog-text{font-size:11px;color:#7a7a9a;width:60px;text-align:right;flex-shrink:0}.th-quest-assignee{font-size:12px;color:#8a9aba;margin-top:8px}.th-quest-assignee strong{color:#c0c4d4}.th-quest-contributors{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.th-quest-contrib-chip{font-size:11px;padding:2px 8px;border-radius:10px;background:#64648c33;color:#8a9aba}.th-players-list{display:flex;flex-direction:column;gap:6px}.th-player-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#28283c66;border-radius:10px;border:1px solid rgba(100,100,140,.15)}.th-player-info{display:flex;align-items:center;gap:8px;min-width:120px}.th-player-name{font-size:14px;font-weight:600;color:#c0c4d4}.th-player-role{font-size:9px;font-weight:600;padding:2px 6px;border-radius:8px;text-transform:uppercase;letter-spacing:.3px}.th-player-role.MAYOR{background:#d4af3733;color:#d4af37;border:1px solid rgba(212,175,55,.3)}.th-player-role.CITIZEN{background:#64648c26;color:#7a7a9a}.th-player-reputation{display:flex;align-items:center;gap:6px;flex:1}.th-rep-label{font-size:10px;font-weight:600;color:#7a7a9a;text-transform:uppercase;width:26px;flex-shrink:0}.th-rep-bar{flex:1;height:8px;background:#5050784d;border-radius:4px;overflow:hidden}.th-rep-fill{height:100%;background:linear-gradient(90deg,#5a6abf,#7a8adf);border-radius:4px;transition:width .3s ease}.th-rep-value{font-size:12px;font-weight:600;color:#c0c4d4;width:28px;text-align:right;flex-shrink:0}.th-player-activity{min-width:70px;text-align:right}.th-active-label{font-size:11px;color:#7a7a9a}@media (max-width: 640px){.townhall{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.order-card{flex-wrap:wrap}.order-actions{width:100%;justify-content:flex-end;margin-top:8px;padding-top:12px;border-top:1px solid rgba(100,100,140,.2)}.form-row{flex-direction:column}.orders-grid,.town-inventory-grid{grid-template-columns:1fr}.town-account-bar{flex-direction:column;gap:8px}.th-quest-header{flex-direction:column}.th-player-row{flex-wrap:wrap}.th-player-reputation{order:3;width:100%;margin-top:4px}}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;background:#e85d5d;color:#fff;border-radius:8px;font-size:10px;font-weight:700;padding:0 4px;margin-left:5px;vertical-align:middle}.msg-compose-bar{margin-bottom:12px}.msg-new-btn{width:100%;padding:10px 16px;background:#50508266;border:1px dashed rgba(100,100,160,.5);border-radius:8px;color:#b0b4cc;font-size:13px;cursor:pointer;transition:background .2s;text-align:center}.msg-new-btn:hover{background:#50508299;color:#d0d4e0}.msg-compose-form{background:#14142899;border:1px solid rgba(100,100,160,.4);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px}.msg-compose-title{font-size:14px;font-weight:600;color:#b0b4cc;margin:0}.msg-compose-field{display:flex;flex-direction:column;gap:4px}.msg-compose-field label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.05em}.msg-subject-input{background:#ffffff0d;border:1px solid rgba(100,100,160,.35);border-radius:6px;padding:8px 12px;color:#d0d4e0;font-size:13px;outline:none;transition:border-color .2s}.msg-subject-input:focus{border-color:#8282c899}.msg-body-input{background:#ffffff0d;border:1px solid rgba(100,100,160,.35);border-radius:6px;padding:10px 12px;color:#d0d4e0;font-size:13px;resize:vertical;min-height:100px;outline:none;font-family:inherit;line-height:1.5;transition:border-color .2s}.msg-body-input:focus{border-color:#8282c899}.msg-compose-actions{display:flex;gap:8px}.msg-send-btn{flex:1;padding:10px;background:linear-gradient(135deg,#5b5bac,#4a4a8a);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s}.msg-send-btn:hover:not(:disabled){opacity:.85}.msg-send-btn:disabled{opacity:.45;cursor:not-allowed}.msg-cancel-btn{padding:10px 18px;background:#ffffff0d;border:1px solid rgba(100,100,140,.3);border-radius:8px;color:#888;font-size:13px;cursor:pointer;transition:background .2s}.msg-cancel-btn:hover{background:#ffffff1a;color:#aaa}.msg-list{display:flex;flex-direction:column;gap:2px}.msg-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s;position:relative}.msg-row.unread{background:#50508c33;border-color:#6464a033}.msg-row.read{background:#ffffff05}.msg-row:hover{background:#50508c4d;border-color:#6464a059}.msg-unread-dot{width:8px;height:8px;border-radius:50%;background:#7878e0;flex-shrink:0}.msg-row-content{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.msg-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.msg-row-subject{font-size:13px;font-weight:600;color:#c8cce0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-row.unread .msg-row-subject{color:#e0e4f8}.msg-row-date{font-size:11px;color:#666;flex-shrink:0}.msg-row-sender{font-size:11px;color:#777}.msg-open{display:flex;flex-direction:column;gap:12px}.msg-back-btn{background:none;border:none;color:#7878c0;font-size:13px;cursor:pointer;padding:4px 0;text-align:left;transition:color .2s}.msg-back-btn:hover{color:#a0a0e0}.msg-open-card{background:#0f0f1e80;border:1px solid rgba(100,100,160,.3);border-radius:10px;overflow:hidden}.msg-open-header{padding:16px 18px 14px;border-bottom:1px solid rgba(100,100,160,.2);background:#1e1e3780}.msg-open-subject{font-size:16px;font-weight:700;color:#d8dcf0;margin:0 0 8px}.msg-open-meta{display:flex;gap:16px;font-size:12px;color:#777}.msg-open-body{padding:18px;font-size:13px;color:#c0c4d8;line-height:1.7;white-space:pre-wrap;word-break:break-word}.build-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.build-menu-modal{position:relative;width:800px;max-width:95vw;max-height:85vh;background:linear-gradient(180deg,#1e2a1e,#162016);border-radius:16px;border:1px solid rgba(100,120,100,.4);box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:buildMenuSlideIn .2s ease-out}@keyframes buildMenuSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.build-menu-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#1e2d1ecc;border-bottom:1px solid rgba(100,120,100,.3);flex-shrink:0}.build-menu-title-row{display:flex;align-items:center;gap:12px}.build-menu-icon{font-size:24px}.build-menu-title{margin:0;font-size:18px;font-weight:600;color:#c8d4c0}.build-menu-close{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:#888;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.build-menu-close:hover{background:#ff646433;color:#f66}.town-build-badge{padding:4px 10px;background:#6482c833;border:1px solid rgba(100,130,200,.4);border-radius:4px;font-size:.7rem;font-weight:600;color:#a0b8e0;white-space:nowrap}.build-menu-body{display:flex;flex:1;overflow:hidden;min-height:0}.build-menu-left{width:360px;flex-shrink:0;padding:16px;overflow-y:auto;border-right:1px solid rgba(100,120,100,.2)}.build-menu-right{flex:1;padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.selection-label{display:block;font-size:.75rem;font-weight:600;color:#7a8a7a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.building-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.building-option{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;background:#283c2866;border:1px solid rgba(100,120,100,.2);border-radius:6px;cursor:pointer;transition:all .15s ease}.building-option:hover{background:#32463280;border-color:#64786466;transform:translateY(-1px)}.building-option.selected{background:#4a7c434d;border-color:#4a7c43;box-shadow:0 0 0 2px #4a7c4333}.building-option.blocked{opacity:.45;cursor:not-allowed}.building-option.blocked:hover{transform:none;background:#283c2866;border-color:#64786433}.option-icon{font-size:1.4rem}.option-name{font-size:.65rem;font-weight:500;color:#c8d4c0;text-align:center;line-height:1.2}.option-block-reason{font-size:.5rem;color:#d4af37;text-align:center;line-height:1.1;font-style:italic}.selected-building-header{display:flex;align-items:center;gap:14px;padding:12px;background:#4a7c4326;border:1px solid rgba(74,124,67,.3);border-radius:8px}.selected-building-emoji{font-size:2.2rem}.selected-building-info{display:flex;flex-direction:column;gap:2px}.selected-building-name{margin:0;font-size:1.1rem;font-weight:600;color:#c8d4c0}.selected-building-category{font-size:.75rem;color:#7a8a7a;text-transform:capitalize}.building-description{margin:0;font-size:.8rem;color:#888;line-height:1.4;font-style:italic}.cost-section{padding:10px 12px;background:#0003;border-radius:6px}.cost-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.cost-icon{font-size:.9rem}.cost-label{font-size:.7rem;font-weight:600;color:#7a8a7a;text-transform:uppercase;letter-spacing:.5px}.cost-list{display:flex;flex-direction:column;gap:4px}.cost-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 8px;background:#283c284d;border-radius:4px}.cost-row.affordable{border-left:3px solid #4A7C43}.cost-row.insufficient{border-left:3px solid #b34040;background:#b340401a}.cost-item-icon{font-size:1rem;width:24px;text-align:center}.cost-item-name{flex:1;font-size:.85rem;color:#c8d4c0}.cost-item-values{font-family:Courier New,monospace;font-size:.85rem;font-weight:600}.owned-value{color:#9fdf93}.owned-value.not-enough{color:#ff6b6b}.separator{color:#666;margin:0 4px}.required-value{color:#888}.buy-order-inline{display:flex;align-items:center;gap:4px;margin-left:auto}.buy-order-price-input{width:60px;padding:2px 5px;background:#141e14cc;border:1px solid #3a5a3a;border-radius:3px;color:#d4e8c8;font-size:.75rem;text-align:right}.buy-order-price-input:focus{outline:none;border-color:#6aaa58}.buy-order-post-btn{padding:2px 8px;background:#2a5a3cb3;border:1px solid #4a7a50;border-radius:3px;color:#a8e0b0;font-size:.72rem;cursor:pointer;white-space:nowrap;transition:background .15s}.buy-order-post-btn:hover:not(:disabled){background:#3c7850cc}.buy-order-post-btn:disabled{opacity:.6;cursor:default}.buy-order-result{flex-basis:100%;font-size:.72rem;padding:2px 4px}.buy-order-result.ok{color:#7ed88c}.buy-order-result.err{color:#ff8080}.labor-section{background:#d4af370d;border:1px solid rgba(212,175,55,.2)}.labor-cost{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#283c284d;border-radius:4px}.labor-cost.affordable{border-left:3px solid #D4AF37}.labor-cost.insufficient{border-left:3px solid #b34040;background:#b340401a}.pec-icon{font-size:1.2rem}.labor-values{flex:1;font-family:Courier New,monospace;font-size:.9rem;font-weight:600}.pec-label{font-size:.75rem;color:#d4af37;font-weight:500}.time-info{display:flex;align-items:center;gap:8px;font-size:.85rem}.time-icon{font-size:1rem}.time-label{color:#7a8a7a}.time-value{font-weight:600;color:#c8d4c0;font-family:Courier New,monospace}.build-error{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#b3404026;border:1px solid rgba(179,64,64,.4);border-radius:6px}.error-icon{font-size:1rem}.error-text{font-size:.85rem;color:#ff6b6b}.insufficient-warning{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:#b340401a;border-radius:4px}.warning-item{font-size:.75rem;color:#ff6b6b}.warning-item:before{content:"• "}.build-actions{margin-top:auto;padding-top:8px}.btn-build{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;background:linear-gradient(135deg,#4a7c43,#3a6235);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 12px #4a7c434d}.btn-build:hover:not(:disabled):not(.disabled){background:linear-gradient(135deg,#5a8c53,#4a7245);transform:translateY(-1px);box-shadow:0 4px 16px #4a7c4366}.btn-build:active:not(:disabled):not(.disabled){transform:translateY(0)}.btn-build.disabled,.btn-build:disabled{background:#444;color:#888;cursor:not-allowed;box-shadow:none;transform:none}.btn-icon{font-size:1.1rem}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;padding:40px 20px;text-align:center}.no-selection-icon{font-size:2.5rem;opacity:.5}.no-selection p{margin:0;font-size:.9rem;color:#666}.build-menu-left::-webkit-scrollbar,.build-menu-right::-webkit-scrollbar{width:6px}.build-menu-left::-webkit-scrollbar-track,.build-menu-right::-webkit-scrollbar-track{background:transparent}.build-menu-left::-webkit-scrollbar-thumb,.build-menu-right::-webkit-scrollbar-thumb{background:#6478644d;border-radius:3px}.build-menu-left::-webkit-scrollbar-thumb:hover,.build-menu-right::-webkit-scrollbar-thumb:hover{background:#64786480}@media (max-width: 700px){.build-menu-modal{max-height:90vh}.build-menu-body{flex-direction:column}.build-menu-left{width:100%;max-height:40vh;border-right:none;border-bottom:1px solid rgba(100,120,100,.2)}.building-options{grid-template-columns:repeat(4,1fr)}}.settlement-view{width:100vw;height:100vh;display:flex;flex-direction:column;background:#121a12;overflow:hidden}.settlement-view.loading{align-items:center;justify-content:center;color:#888}.settlement-view.loading .loading-spinner{width:48px;height:48px;border:3px solid rgba(100,120,100,.3);border-top-color:#4a7c43;border-radius:50%;animation:spin 1s linear infinite}.settlement-header{display:flex;align-items:center;gap:24px;padding:12px 20px;background:linear-gradient(180deg,#1e2a1e,#162016);border-bottom:1px solid rgba(100,120,100,.3);z-index:100}.back-btn{padding:8px 16px;border:none;border-radius:6px;background:#3c503c80;color:#c8d4c0;font-size:14px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.back-btn:hover{background:#50645099}.settlement-info{display:flex;align-items:center;gap:12px;flex:1}.settlement-info h1{margin:0;font-size:22px;font-weight:600;color:#c8d4c0}.mock-badge{padding:4px 8px;background:#ffa50033;border:1px solid rgba(255,165,0,.4);border-radius:4px;font-size:11px;font-weight:600;color:orange;text-transform:uppercase;letter-spacing:.5px}.settlement-stats{display:flex;gap:24px}.stat{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#283c2880;border-radius:6px;border:1px solid rgba(100,120,100,.2)}.stat-icon{font-size:16px}.stat-value{font-size:14px;font-weight:600;color:#c8d4c0}.stat-label{font-size:11px;color:#666;text-transform:uppercase;letter-spacing:.3px}.quest-board-header-btn{width:36px;height:36px;border:none;border-radius:8px;background:#b48c5033;color:#d4c4a4;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border:1px solid rgba(180,140,80,.3)}.quest-board-header-btn:hover{background:#b48c5059;border-color:#b48c5080}.quest-board-header-btn.road-builder-active{background:#4ade8038;border-color:#4ade8099;box-shadow:0 0 8px #4ade804d}.settlement-content{flex:1;display:flex;overflow:hidden}.map-area{flex:1;position:relative;overflow:hidden}@media (max-width: 1200px){.settlement-stats{display:none}}@media (max-width: 900px){.settlement-header{flex-wrap:wrap;gap:12px}.settlement-info{order:-1;flex-basis:100%}}.maint-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:flex;align-items:center;justify-content:center;animation:maint-fade-in .3s ease}.maint-overlay.warning{background:#000000a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.maint-overlay.critical{background:#000000d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes maint-fade-in{0%{opacity:0}to{opacity:1}}.maint-card{position:relative;max-width:480px;width:90%;padding:2.5rem 2rem 2rem;border-radius:12px;text-align:center;animation:maint-slide-up .35s cubic-bezier(.34,1.56,.64,1);box-shadow:0 24px 64px #0009}@keyframes maint-slide-up{0%{transform:translateY(30px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.maint-card.warning{background:linear-gradient(160deg,#2a1f0a,#1e1608);border:1px solid rgba(220,160,40,.5);box-shadow:0 24px 64px #0009,0 0 40px #dc821426}.maint-card.critical{background:linear-gradient(160deg,#2a0a0a,#1e0808);border:1px solid rgba(220,60,40,.6);box-shadow:0 24px 64px #000000b3,0 0 60px #dc281440}.maint-close-x{position:absolute;top:.75rem;right:.75rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8rem;cursor:pointer;background:transparent;border:1px solid rgba(255,255,255,.15);color:#fff6;transition:background .15s,color .15s}.maint-close-x:hover{background:#ffffff1a;color:#ffffffb3}.maint-icon{font-size:2.8rem;margin-bottom:.75rem;line-height:1;animation:maint-pulse 1.5s ease-in-out infinite}@keyframes maint-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}.maint-heading{font-size:1.3rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1rem}.maint-card.warning .maint-heading{color:#e8b840;text-shadow:0 0 20px rgba(230,160,30,.4)}.maint-card.critical .maint-heading{color:#f05040;text-shadow:0 0 20px rgba(240,60,30,.5)}.maint-message{font-size:.92rem;line-height:1.6;color:#dcc8a0d9;margin:0 0 1.5rem}.maint-card.critical .maint-message{color:#dcb4a0d9}.maint-dismiss{display:inline-block;padding:.6rem 2rem;border-radius:6px;font-size:.88rem;font-weight:600;letter-spacing:.05em;cursor:pointer;border:1px solid rgba(220,160,40,.5);background:#dca0281f;color:#e8b840;transition:background .15s,border-color .15s}.maint-dismiss:hover{background:#dca02838;border-color:#dca028b3}.maint-card.critical .maint-dismiss{border-color:#dc3c2880;background:#dc3c281f;color:#f05040}.maint-card.critical .maint-dismiss:hover{background:#dc3c2838;border-color:#dc3c28b3}.maint-countdown-label{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#f0503cb3;animation:maint-blink 1.2s step-start infinite;margin-bottom:1.25rem}@keyframes maint-blink{0%,to{opacity:1}50%{opacity:.3}}.toast-container{position:fixed;bottom:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:9999;pointer-events:none;width:min(420px,92vw)}.toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.08);font-size:.88rem;font-weight:500;line-height:1.3;pointer-events:all;box-shadow:0 4px 16px #00000073;animation:toast-in .22s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.toast--success{background:#1a3320;border-color:#2d6e48;color:#7ee8a2}.toast--success .toast__icon{color:#4cde80;font-weight:700}.toast--error{background:#2d1010;border-color:#7a2020;color:#f4a0a0}.toast--error .toast__icon{color:#f06060;font-weight:700}.toast--info{background:#1a2030;border-color:#2a4a70;color:#90c0e8}.toast--info .toast__icon{color:#60a8e0}.toast--warning{background:#2a2010;border-color:#7a5a10;color:#e8c880}.toast--warning .toast__icon{color:#d4a830}.toast__icon{font-size:1rem;flex-shrink:0;width:18px;text-align:center}.toast__msg{flex:1;min-width:0}.toast__close{background:none;border:none;color:inherit;opacity:.55;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 2px;flex-shrink:0;transition:opacity .15s}.toast__close:hover{opacity:.9}@media (min-width: 768px){.toast-container{bottom:24px;right:24px;left:auto;transform:none}}:root{--parchment: #F4E4BC;--parchment-dark: #E6D5A8;--parchment-light: #FAF3E3;--leather: #8B4513;--leather-light: #A0522D;--leather-dark: #6B3410;--ink: #2C1810;--ink-faded: #5C4033;--forest: #2D5A27;--forest-light: #4A7C43;--water: #3D7EA6;--water-light: #5BA3C6;--water-dark: #2A5A7A;--sand: #D4B896;--mountain: #6B6B6B;--mountain-light: #8B8B8B;--gold: #D4AF37;--gold-light: #F4CF67;--gold-dark: #A48B2A;--copper: #B87333;--silver: #C0C0C0;--success: #4A7C43;--warning: #D4AF37;--danger: #8B3A3A;--info: #3D7EA6;--panel-bg: rgba(244, 228, 188, .95);--panel-border: #8B4513;--overlay: rgba(44, 24, 16, .7);--font-heading: "Crimson Text", Georgia, serif;--font-body: "Open Sans", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 2px 2px 4px rgba(0, 0, 0, .2);--shadow-md: 4px 4px 8px rgba(0, 0, 0, .3);--shadow-lg: 6px 6px 12px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--parchment-dark);color:var(--ink);line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;color:var(--leather-dark)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}a{color:var(--leather);text-decoration:none}a:hover{color:var(--gold)}button{font-family:var(--font-body);cursor:pointer}.app{height:100%;width:100%;display:flex;flex-direction:column}.auth-container{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--parchment) 0%,var(--parchment-dark) 100%);padding:var(--space-xl)}.auth-header{text-align:center;margin-bottom:var(--space-xl)}.auth-header h1{font-size:3rem;color:var(--leather-dark);margin-bottom:var(--space-sm);text-shadow:2px 2px 4px rgba(0,0,0,.2)}.auth-header p{font-size:1.25rem;color:var(--ink-faded)}.loading-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--parchment);gap:var(--space-lg)}.loading-spinner{width:48px;height:48px;border:4px solid var(--leather);border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner-sm{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .75s linear infinite;vertical-align:middle;margin-right:6px;opacity:.8}.skeleton{background:linear-gradient(90deg,#8b45131f 25%,#8b451338,#8b45131f 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.panel{background:var(--panel-bg);border:3px solid var(--leather);border-radius:var(--radius-md);box-shadow:inset 0 0 20px #8b45131a,var(--shadow-md);padding:var(--space-md);position:relative}.panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;border-radius:var(--radius-md)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-sm);margin-bottom:var(--space-md);border-bottom:2px solid var(--leather)}.panel-title{font-family:var(--font-heading);font-size:1.25rem;color:var(--leather-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:.875rem;font-weight:500;border-radius:var(--radius-sm);border:2px solid var(--ink);transition:all .2s ease}.btn-primary{background:linear-gradient(180deg,var(--leather-light),var(--leather));color:var(--parchment);text-shadow:1px 1px 2px rgba(0,0,0,.5);box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:linear-gradient(180deg,var(--leather),var(--leather-dark))}.btn-primary:active{transform:translateY(1px);box-shadow:1px 1px 2px #0003}.btn-secondary{background:var(--parchment);color:var(--leather-dark);border-color:var(--leather)}.btn-secondary:hover{background:var(--parchment-dark)}.btn-gold{background:linear-gradient(180deg,var(--gold-light),var(--gold));color:var(--ink);border-color:var(--gold-dark)}.btn-gold:hover{background:linear-gradient(180deg,var(--gold),var(--gold-dark))}.btn-danger{background:linear-gradient(180deg,#A04040,var(--danger));color:var(--parchment);border-color:#6b2a2a}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.resource-bar{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--parchment);border:2px solid var(--leather);border-radius:var(--radius-sm)}.resource-item{display:flex;align-items:center;gap:var(--space-xs);font-size:.875rem;font-weight:500}.resource-icon{font-size:1.25rem}.resource-value{color:var(--ink)}.card{background:var(--parchment-light);border:2px solid var(--leather);border-radius:var(--radius-md);padding:var(--space-md);transition:all .2s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-selected{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-light)}.input{width:100%;padding:var(--space-sm) var(--space-md);font-size:1rem;border:2px solid var(--leather);border-radius:var(--radius-sm);background:var(--parchment-light);color:var(--ink);transition:border-color .2s ease}.input:focus{outline:none;border-color:var(--gold)}.input::placeholder{color:var(--ink-faded)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--parchment-dark)}::-webkit-scrollbar-thumb{background:var(--leather);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--leather-dark)}.tooltip{position:absolute;padding:var(--space-sm) var(--space-md);background:var(--ink);color:var(--parchment);font-size:.75rem;border-radius:var(--radius-sm);pointer-events:none;z-index:1000;white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:2px var(--space-sm);font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase}.badge-success{background:var(--success);color:#fff}.badge-warning{background:var(--warning);color:var(--ink)}.badge-danger{background:var(--danger);color:#fff}.badge-info{background:var(--info);color:#fff}@media (max-width: 767px){.game-layout,.settlement-view{height:100dvh}.game-header,.settlement-header{padding-top:max(12px,env(safe-area-inset-top))}.desktop-only{display:none!important}.settlement-header{flex-wrap:nowrap;padding:max(12px,env(safe-area-inset-top)) 8px 8px;gap:6px}.settlement-info h1{font-size:1rem}.stat-label,.stat-tier{display:none}.game-title h1{font-size:1rem}.game-content{touch-action:none}.admin-panel,.ticket-modal{height:100dvh!important;max-height:100dvh!important;border-radius:0!important}.onboarding{align-items:flex-start;padding:max(24px,env(safe-area-inset-top)) 16px 24px}.onboarding-container{width:100%}.onboarding-step h1{font-size:1.8rem}.onboarding-step h2{font-size:1.4rem}.intro-features{gap:16px;flex-wrap:wrap;justify-content:center}.step-actions{flex-direction:column;align-items:stretch}.step-actions .btn,.btn-large{width:100%;min-height:48px;font-size:1rem}.name-input-group{max-width:100%}.general-store,.townhall,.questboard,.warroom,.skillscreen,.achievements,.build-menu-modal{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;margin:0!important}.store-layout-wrapper{width:100vw!important;max-width:100vw!important;height:100dvh!important}.store-tabs,.townhall-tabs,.questboard-tabs,.warroom-tabs,.skillscreen-tabs,.achievements-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.store-tabs::-webkit-scrollbar,.townhall-tabs::-webkit-scrollbar,.questboard-tabs::-webkit-scrollbar,.warroom-tabs::-webkit-scrollbar,.skillscreen-tabs::-webkit-scrollbar,.achievements-tabs::-webkit-scrollbar{display:none}.store-tabs .tab,.townhall-tabs .tab,.questboard-tabs .tab,.warroom-tabs .tab,.skillscreen-tabs .tab,.achievements-tabs .tab{min-height:44px;flex-shrink:0;white-space:nowrap}.store-footer button,.townhall-footer button,.questboard-footer button,.skillscreen-footer button{min-height:48px}.store-header .close-btn,.townhall-header .close-btn,.questboard-header .close-btn,.warroom-header .close-btn,.skillscreen-header .close-btn,.achievements-header .close-btn,.build-menu-close{min-width:44px;min-height:44px}.army-stats-grid,.doctrine-grid,.resource-cost-grid{grid-template-columns:1fr 1fr!important}.warroom-body button[class*=btn],.warroom-body button[class*=action],.warroom-body button[class*=battle],.warroom-body button[class*=recruit],.warroom-body button[class*=attack],.warroom-body button[class*=challenge]{min-height:48px}.building-options{grid-template-columns:repeat(2,1fr)!important}}
