.fl-scroll::-webkit-scrollbar{width:6px}.fl-scroll::-webkit-scrollbar-track{background:#4646464d}.fl-scroll::-webkit-scrollbar-thumb{background:#4a4a4a}.fl-scroll::-webkit-scrollbar-thumb:hover{background:#6a6866}.fl-scroll{scrollbar-width:thin;scrollbar-color:#4a4a4a rgba(70,70,70,.3)}input.fl-rent{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:#4a4a4a;outline:none;cursor:pointer}input.fl-rent::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#d4a035;border:2px solid #E8B84A;cursor:pointer}input.fl-rent::-moz-range-thumb{width:16px;height:16px;background:#d4a035;border:2px solid #E8B84A;cursor:pointer;border-radius:0}@keyframes fl-drift1{0%{transform:translate(-30%)}to{transform:translate(110vw)}}@keyframes fl-drift2{0%{transform:translate(110vw)}to{transform:translate(-30%)}}@keyframes fl-drift3{0%{transform:translate(-20%)}to{transform:translate(110vw)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Share Tech Mono,monospace;background:#282828;color:#e6e2dc;min-height:100vh;overflow-x:hidden}.app{min-height:100vh}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#2b2b2b;border-bottom:2px solid #4a4a4a}.top-bar-left{display:flex;align-items:center;gap:20px}.top-bar h1{color:#d4a035;font-size:1.4rem;margin:0}.nav-buttons{display:flex;gap:8px}.nav-buttons button{background:#3a3a3a;border:none;color:#e6e2dc;padding:6px 14px;cursor:pointer;font-size:.85rem;transition:background .2s}.nav-buttons button:hover{background:#1a3a5c}.nav-buttons button.active{background:#d4a035}.top-bar-stats{display:flex;gap:30px}.top-stat{display:flex;flex-direction:column;align-items:flex-end}.top-stat-label{font-size:.75rem;color:#6a6866}.top-stat-value{font-size:1.1rem;font-weight:700}.top-stat-value.positive{color:#8cc4a0}.top-stat-value.negative{color:#c47e7e}.top-stat.clock .top-stat-value{font-family:Courier New,monospace;font-size:1.2rem;color:#fff;letter-spacing:1px}.dashboard-layout{display:flex;height:calc(100vh - 58px);overflow:hidden}.dashboard-layout .main-content{flex:1;overflow-y:auto;transition:flex .3s ease}.weekly-sidebar{width:340px;flex-shrink:0;background:#282828;border-right:1px solid #4a4a4a;display:flex;flex-direction:column;overflow:hidden;order:-1}.sidebar-content{padding:16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:6px}.sidebar-ticker{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#d4a035;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.main-content{padding:20px}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.content-grid>.wide{grid-column:1 / -1}.card{background:#2b2b2b;padding:16px}.card h2{color:#d4a035;margin-bottom:12px;font-size:1rem}.stat{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #4a4a4a}.stat:last-child{border-bottom:none}.stat.highlight{background:#3a3a3a;margin:8px -8px -8px;padding:10px 8px}.stat-label{color:#9c9894;font-size:.9rem}.stat-value{font-weight:700;font-size:.9rem}.stat-value.positive{color:#8cc4a0}.stat-value.negative{color:#c47e7e}.stat.has-tooltip{position:relative;cursor:pointer}.projection-tooltip{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#303030;border:1px solid #D4A035;padding:12px;min-width:200px;z-index:100;margin-bottom:8px;box-shadow:0 4px 12px #0006}.stat.has-tooltip:hover .projection-tooltip{display:block}.projection-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#d4a035}.tooltip-title{font-weight:700;color:#e6e2dc;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #4a4a4a;font-size:.85rem}.tooltip-row{display:flex;justify-content:space-between;padding:4px 0;font-size:.8rem;color:#9c9894}.tooltip-row.total{border-top:1px solid #4a4a4a;margin-top:4px;padding-top:8px;font-weight:700;color:#e6e2dc}.tooltip-row .positive{color:#8cc4a0}.tooltip-row .negative{color:#c47e7e}.controls{margin-top:12px}.controls button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:700;font-size:.85rem}.btn-reset{background:#c47e7e;color:#282828;padding:8px 16px;border:none;cursor:pointer;font-weight:700;font-size:.85rem;margin-top:8px}.btn-reset:hover{opacity:.9}.status-message{padding:12px;border-radius:4px;text-align:center;font-weight:500}.status-message.paused{background:#d4a035;color:#282828}.status-message.running{background:#3a3a3a;color:#8cc4a0}.week-summary{background:#3a3a3a;padding:12px;margin-top:12px}.week-summary h3{color:#d4a035;margin-bottom:8px;font-size:.85rem}.floating-panel{position:fixed;width:360px;background:#303030;box-shadow:0 8px 32px #0009,0 0 0 1px #d4a0354d;z-index:100;border:2px solid #D4A035}.floating-panel.minimized{width:auto;min-width:200px}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:linear-gradient(135deg,#d4a035,#b8892d);cursor:move;-webkit-user-select:none;user-select:none}.minimized .panel-header{border-radius:8px}.panel-title{font-weight:700;font-size:1rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.panel-controls{display:flex;gap:6px}.panel-btn{width:20px;height:20px;border-radius:50%;border:none;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}.panel-btn.minimize{background:#d4a035;color:#282828}.panel-btn:hover{opacity:.8}.panel-content{padding:14px;background:#303030}.panel-section{margin-bottom:8px}.panel-section label{display:block;color:#888;font-size:.8rem;margin-bottom:6px}.rent-row{display:flex;align-items:center;gap:12px}.rent-row input[type=range]{flex:1}.rent-display{font-size:1.1rem;font-weight:600;color:#fff;min-width:60px;text-align:right}.rent-info{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.rent-tier{color:#aaa;font-size:.85rem;font-style:italic}.rent-ceiling-value{color:#718096;font-size:.8rem}.panel-error{color:#c47e7e;font-size:.75rem;margin-top:4px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.action-grid-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 8px;background:#2b2b2b;border:1px solid #4a4a4a;color:#e6e2dc;cursor:pointer;transition:all .15s ease;position:relative}.action-notify{position:absolute;top:6px;right:6px;width:8px;height:8px;background:#d4a035;border-radius:50%;border:1px solid #2b2b2b;animation:pulse-notify 2s ease-in-out infinite}@keyframes pulse-notify{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.action-grid-btn:hover:not(:disabled){background:#3a3a3a;border-color:#d4a03540;color:#e6e2dc}.action-grid-btn:disabled{opacity:.5;cursor:not-allowed}.action-icon{line-height:1;color:#d4a035;display:flex;align-items:center;justify-content:center}.action-label{font-size:.75rem;font-weight:500}.panel-action{width:100%;padding:8px;background:#2b2b2b;border:1px solid #4a4a4a;color:#e6e2dc;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .15s ease}.panel-action:hover:not(:disabled){background:#3a3a3a;border-color:#d4a03540;color:#e6e2dc}.panel-action:disabled{opacity:.5;cursor:not-allowed}.panel-note{font-size:.75rem;margin-top:4px}.panel-note.positive{color:#8cc4a0}.panel-projection{background:#2b2b2b;padding:12px;margin-bottom:12px;border:1px solid #4a4a4a}.proj-row{display:flex;justify-content:space-between;font-size:.85rem;padding:3px 0}.proj-row span:first-child{color:#888}.proj-row.total{border-top:1px solid #4a4a4a;padding-top:6px;margin-top:4px;font-weight:700}.proj-row .positive{color:#8cc4a0}.proj-row .negative{color:#c47e7e}.panel-confirm{width:100%;padding:10px;background:#8cc4a0;color:#282828;border:none;font-size:.9rem;font-weight:700;cursor:pointer}.panel-confirm:hover{opacity:.9}.game-over{position:fixed;inset:0;background:#000000e6;display:flex;justify-content:center;align-items:center;flex-direction:column;z-index:1000}.game-over h2{font-size:3rem;color:#d4a035;margin-bottom:20px}.game-over p{font-size:1.2rem;color:#aaa;margin-bottom:30px}.game-over button{padding:15px 30px;font-size:1.2rem}.dev-tools{background:#303030;padding:15px;margin:20px;border:1px solid #4a4a4a}.dev-tools-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dev-tools-header h2{color:#d4a035;margin:0;font-size:12px;font-family:"Press Start 2P",monospace;letter-spacing:.5px}.dev-tools-buttons{display:flex;gap:10px}.dev-tools-header .apply-button,.dev-tools-header .save-defaults-button{width:auto;margin:0;padding:10px 20px}.save-defaults-button{background:#3a3a3a;color:#e6e2dc;border:1px solid #4a4a4a;cursor:pointer;font-family:"Press Start 2P",monospace;font-size:8px;transition:all .2s}.save-defaults-button:hover{background:#444}.dev-tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:stretch;margin-bottom:16px}.dev-tools-grid.three-col{grid-template-columns:repeat(3,1fr)}.dev-tools-grid+.dev-tools-grid{margin-top:16px}.config-section{padding:12px;background:#2b2b2b;border:1px solid #4a4a4a;height:100%;box-sizing:border-box}.config-section h3{color:#d4a035;margin-bottom:10px;font-size:8px;font-family:"Press Start 2P",monospace;border-bottom:1px solid #4a4a4a;padding-bottom:6px}.config-field{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.config-field:last-child{margin-bottom:0}.config-field label{color:#9c9894;font-size:.8rem}.config-field label[title]{cursor:help}.config-field input{width:70px;padding:5px;border:1px solid #4a4a4a;background:#3a3a3a;color:#e6e2dc;text-align:right;font-size:.85rem}.config-table-input{width:55px;padding:4px 5px;border:1px solid #4a4a4a;background:#3a3a3a;color:#e6e2dc;text-align:right;font-size:.8rem}.tier-thresholds-display{display:flex;flex-direction:column;gap:4px}.tier-threshold-row{display:flex;justify-content:space-between;font-size:.8rem}.tier-threshold-row .tier-name{color:#e6e2dc}.tier-threshold-row .tier-churn{color:#6a6866}.apply-button{padding:12px 20px;background:#d4a035;color:#282828;border:none;font-family:"Press Start 2P",monospace;font-size:8px;cursor:pointer;transition:background .2s}.apply-button:hover{background:#e8b84a}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:200;overflow-y:auto;overscroll-behavior:contain}.modal{background:#303030;padding:20px;border:1px solid #4a4a4a;max-width:400px;width:calc(100% - 40px);max-height:90vh;overflow-y:auto;overscroll-behavior:contain}.modal h2{color:#d4a035;margin-bottom:15px;font-size:1.1rem}.confirm-modal{text-align:center;max-width:300px}.confirm-modal h2{color:#fff;font-size:1.2rem;margin-bottom:20px}.confirm-buttons{display:flex;gap:12px;justify-content:center}.confirm-btn{padding:10px 24px;border:none;font-size:1rem;cursor:pointer;font-weight:600}.confirm-btn.confirm{background:#10b981;color:#fff}.confirm-btn.confirm:hover{background:#059669}.confirm-btn.cancel{background:#4b5563;color:#fff}.confirm-btn.cancel:hover{background:#374151}.building-card{background:#3a3a3a;padding:12px;margin-bottom:12px}.building-card h3{color:#d4a035;margin-bottom:8px;font-size:.95rem}.building-stats{color:#9c9894;font-size:.85rem;margin-bottom:10px}.policy-list{max-height:400px;overflow-y:auto}.policy-card{background:#3a3a3a;padding:12px;margin-bottom:10px;border:2px solid transparent;transition:border-color .2s}.policy-card.active{border-color:#8cc4a0}.policy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.policy-header h3{color:#d4a035;font-size:.95rem;margin:0}.policy-primitive{color:#9c9894;font-size:.75rem;text-transform:capitalize;background:#282828;padding:2px 8px}.policy-desc{color:#9c9894;font-size:.8rem;margin-bottom:8px}.policy-toggle{width:100%;padding:8px;background:#282828;border:2px solid #585858;color:#9c9894;cursor:pointer;font-weight:700;font-size:.85rem;transition:all .2s}.policy-toggle:hover{border-color:#8cc4a0;color:#8cc4a0}.policy-toggle.active{background:#8cc4a0;border-color:#8cc4a0;color:#282828}.policy-toggle.active:hover{background:#c47e7e;border-color:#c47e7e}.action-button{width:100%;padding:10px;background:#3a3a3a;border:2px solid #D4A035;color:#d4a035;cursor:pointer;font-weight:700;font-size:.9rem}.action-button:hover:not(:disabled){background:#d4a035;color:#282828}.action-button:disabled{opacity:.5;cursor:not-allowed}.modal-close{width:100%;padding:10px;background:#282828;border:1px solid #4a4a4a;color:#9c9894;cursor:pointer;font-size:.9rem}.modal-close:hover{background:#3a3a3a}.residents-section{margin-top:20px}.card.full-width{grid-column:1 / -1}.residents-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.resident-chip{position:relative;background:#3a3a3a;color:#e6e2dc;padding:6px 12px;font-size:.85rem;cursor:pointer;transition:background .2s}.resident-chip:hover{background:#d4a035}.resident-chip.churned{background:#3a3030;color:#6a6866;text-decoration:line-through;text-decoration-color:#c47e7e;text-decoration-thickness:2px}.resident-chip.churned:hover{background:#5a4040}.resident-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:280px;background:#303030;border:2px solid #D4A035;padding:12px;z-index:200;margin-bottom:8px;box-shadow:0 4px 20px #00000080}.tooltip-header{color:#d4a035;margin-bottom:8px}.tooltip-bio{font-size:.8rem;color:#ccc;margin-bottom:10px;line-height:1.4}.tooltip-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:.75rem}.tooltip-stats div{display:flex;justify-content:space-between}.tooltip-stats span{color:#888}.no-residents{color:#666;font-style:italic}.recruit-modal{max-width:900px;width:90%}.recruit-intro{color:#ccc;margin-bottom:16px}.no-candidates{color:#888;text-align:center;padding:20px}.candidate-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:16px}.candidate-card{background:#2b2b2b;border:1px solid #4a4a4a;padding:14px;display:flex;flex-direction:column}.candidate-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.candidate-header h3{color:#d4a035;margin:0;font-size:1.1rem}.candidate-age{color:#6a6866;font-size:.85rem}.candidate-bio{font-size:.8rem;color:#e6e2dc;line-height:1.4;margin-bottom:12px;min-height:60px}.candidate-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:.75rem;margin-bottom:12px}.stat-row{display:flex;justify-content:space-between;padding:2px 0}.stat-row span:first-child{color:#6a6866}.invite-button{width:100%;padding:10px;background:#8cc4a0;color:#282828;border:none;margin-top:auto;cursor:pointer;font-weight:700;transition:background .2s}.invite-button:hover{background:#6cb88a}.llama-pool-section{margin-top:20px;padding:16px;background:#2b2b2b}.llama-pool-section h3{color:#d4a035;margin-bottom:8px}.pool-info{color:#888;font-size:.85rem;margin-bottom:12px}.llama-pool-grid{display:flex;flex-wrap:wrap;gap:8px}.pool-llama{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;border-radius:4px;font-size:.8rem;min-width:120px}.pool-llama.in-commune{background:#3a3a3a;border:1px solid #8cc4a0}.pool-llama.pending{background:#3a3a3a;border:1px solid #b07cc8}.pool-name{color:#e6e2dc;font-weight:700}.pool-status{color:#6a6866;font-size:.7rem}.manage-llamas-btn{background:#3a3a3a;border:1px solid #4a4a4a;color:#d4a035;padding:6px 12px;cursor:pointer;font-family:"Press Start 2P",monospace;font-size:8px;transition:all .2s}.manage-llamas-btn:hover{background:#d4a03514;color:#e8b84a;border-color:#d4a03540}.aggregate-stats{display:flex;flex-direction:column;gap:6px;margin-top:16px;padding-top:16px;border-top:1px solid #4a4a4a}.agg-stat{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.agg-label{font-size:.75rem;color:#6a6866;text-transform:uppercase;letter-spacing:.5px;width:100px;flex-shrink:0}.agg-value{font-size:.9rem;font-weight:700;text-align:right}.agg-value.positive{color:#8cc4a0}.agg-value.negative{color:#c47e7e}.llama-pool-modal{max-width:95vw;width:1200px;max-height:85vh}.llama-pool-table-container{overflow-x:auto;overflow-y:auto;max-height:60vh;margin:16px 0}.llama-pool-table{width:100%;border-collapse:collapse;font-size:.85rem}.llama-pool-table th,.llama-pool-table td{padding:6px 4px;text-align:left;border-bottom:1px solid #4a4a4a}.llama-pool-table th{background:#2b2b2b;color:#d4a035;position:sticky;top:0;z-index:1;font-size:.75rem}.llama-pool-table tr.in-commune{background:#8cc4a01a}.llama-pool-table input,.llama-pool-table select{background:#3a3a3a;border:1px solid #4a4a4a;color:#e6e2dc;padding:4px 6px;width:100%;box-sizing:border-box}.llama-pool-table input[type=number]{width:45px}.llama-pool-table input[type=text]{min-width:60px}.llama-pool-table .bio-input{min-width:150px}.llama-pool-table select{width:50px}.llama-pool-actions{display:flex;gap:12px;justify-content:flex-end}.buildings-section{margin-bottom:20px}.buildings-compact{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 16px}.building-row{display:flex;justify-content:space-between;padding:4px 0}.building-name{color:#e6e2dc}.building-info{color:#6a6866;font-size:.9rem}.buildings-modal{max-width:900px;width:95vw}.buildings-table-container{overflow-x:auto;margin:16px 0}.buildings-table{width:100%;border-collapse:collapse}.buildings-table th,.buildings-table td{padding:10px 8px;text-align:left;border-bottom:1px solid #4a4a4a}.buildings-table th{background:#2b2b2b;color:#d4a035;font-size:.85rem}.buildings-table input{background:#3a3a3a;border:1px solid #4a4a4a;color:#e6e2dc;padding:6px 8px;width:80px}.buildings-table input[type=checkbox]{width:auto}.primitive-mult-cell{min-width:140px}.mult-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.mult-row:last-child{margin-bottom:0}.mult-row label{font-size:.75rem;color:#9c9894;min-width:50px}.mult-row input{width:60px!important}.buildings-actions{display:flex;gap:12px;justify-content:flex-end}.config-hint{font-size:.75rem;color:#6a6866;margin-top:8px;font-style:italic}.primitives-accordion{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.primitive-section{background:#2b2b2b;border:1px solid #4a4a4a;overflow:hidden}.primitive-section.expanded{border-color:#d4a03540}.primitive-header{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .2s}.primitive-header:hover{background:#d4a03514}.expand-icon{color:#d4a035;font-size:.75rem;width:12px}.primitive-name{font-weight:600;flex:1;font-family:"Press Start 2P",monospace;font-size:8px;color:#e6e2dc}.primitive-type{font-size:7px;font-family:"Press Start 2P",monospace;padding:2px 8px;text-transform:uppercase}.primitive-type.pressure,.primitive-type.instant,.primitive-type.stock,.primitive-type.coverage{background:#6a686633;color:#9c9894}.coverage-label{font-size:.65rem;font-weight:700;text-transform:uppercase;color:#9c9894;margin-left:auto}.coverage-stats{display:flex;gap:16px;padding:8px 12px;background:#8cc4a01a;margin-bottom:12px;font-size:.8rem;color:#9c9894}.coverage-stats span{display:flex;gap:4px}.tier-info{display:flex;justify-content:space-between;padding:8px 12px;background:linear-gradient(135deg,#d4a0351a,#8cc4a01a);margin-bottom:12px;font-weight:700;color:#d4a035}.tier-info span:last-child{color:#8cc4a0}.tier-grid{display:flex;flex-direction:column;gap:4px;margin-top:8px}.tier-row{display:grid;grid-template-columns:50px 70px 1fr 1fr;gap:8px;padding:6px 10px;background:#2a302e4d;font-size:.8rem;align-items:center}.tier-label{font-weight:700;color:#d4a035}.tier-pop{color:#6a6866;font-size:.75rem}.tier-mult{color:#8cc4a0;text-align:right}.vibes-tier-ladder{margin-top:12px}.vibes-tier-ladder>label{display:block;font-size:.85rem;color:#9c9894;margin-bottom:8px}.tier-ladder-list{display:flex;flex-direction:column;gap:2px}.tier-ladder-item{display:flex;align-items:center;gap:6px;padding:2px 6px;background:#ffffff08;font-size:.75rem}.tier-ladder-item.current{background:#8cc4a026;border:1px solid rgba(140,196,160,.4)}.tier-rank{color:#6a6866;min-width:18px}.tier-name{flex:1;color:#e6e2dc}.tier-ladder-item.current .tier-name{color:#8cc4a0;font-weight:700}.tier-range{font-family:monospace;font-size:.75rem;color:#6a6866}.primitive-value{font-family:monospace;font-size:.9rem;color:#9c9894;min-width:40px;text-align:right}.primitive-body{padding:16px;border-top:1px solid #4a4a4a;background:#303030}.formula-display{font-family:monospace;font-size:.85rem;color:#d4a035;background:#d4a03514;padding:8px 12px;margin-bottom:12px}.primitive-controls{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:12px}.primitive-controls .config-field{margin-bottom:0}.primitive-controls .config-field label{font-size:.7rem;color:#6a6866}.primitive-controls .config-field input{width:100%;padding:6px 8px;font-size:.85rem}.primitive-info,.linked-buildings{font-size:.8rem;color:#9c9894;margin-top:8px}.info-label{color:#6a6866;margin-right:4px}.penalty-toggle{margin:12px 0;padding:10px 12px;background:#2a302e80}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.85rem;color:#9c9894}.toggle-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.penalty-fields{display:flex;gap:16px;margin-top:10px;padding-top:10px;border-top:1px solid #4a4a4a}.penalty-fields .config-field{margin-bottom:0}.penalty-fields .config-field input{width:70px}.minimized-planner{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(135deg,#d4a035,#b8892d);cursor:pointer;font-size:.85rem;font-weight:500;color:#e6e2dc;box-shadow:0 2px 8px #0000004d;transition:transform .15s ease}.minimized-planner:hover{transform:scale(1.02)}.minimized-planner .panel-btn{background:#fff3;border:none;color:#fff;width:20px;height:20px;border-radius:4px;font-size:1rem;line-height:1;cursor:pointer}.alert-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#d4a035;color:#282828;font-size:.9rem;font-weight:700;animation:pulse-alert 1.5s ease-in-out infinite}@keyframes pulse-alert{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.85}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sidebar-divider{border-top:1px solid #4a4a4a;margin:12px 0}.btn-restart{width:100%;padding:8px;background:#d4a035;border:none;color:#282828;cursor:pointer;font-size:.85rem;font-weight:500;margin-top:8px;transition:all .15s ease}.btn-restart:hover{background:#e8b84a;color:#282828}.vibes-banner{position:relative;background:linear-gradient(135deg,#2b2b2b,#282828);border:1px solid #4a4a4a;padding:12px 20px;display:flex;flex-direction:column;gap:4px}.vibes-left{display:grid;grid-template-columns:auto auto;gap:2px 10px;align-items:baseline;justify-content:start}.vibes-field{display:contents}.vibes-label{color:#cbd5e0;font-weight:400;font-size:.9rem;text-align:left}.vibes-val{font-weight:400;font-size:.9rem}.vibes-val-vibe{color:#fff}.vibes-val-rep{color:#c4b5fd}.vibes-val-level{color:#d4a035}.health-banner{background:linear-gradient(135deg,#2b2b2b,#282828);border:1px solid #4a4a4a;padding:12px 20px;display:flex;flex-direction:column;gap:10px}.vibes-metrics{display:flex;flex-direction:column;gap:4px;flex:1}.vibes-metric-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.vibes-metric-label{font-size:.8rem;font-weight:500}.vibes-metric-value{font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums}.vibes-graph{display:flex;align-items:center;justify-content:center;background:#0f34604d;border-radius:6px;padding:6px;width:100%;min-height:60px}.vibes-graph svg{width:100%}.vibes-graph-empty{font-size:.7rem;color:#4a5568;font-style:italic}.primitives-section{display:grid;grid-template-columns:1fr 2fr 1fr;gap:16px;margin-bottom:16px;align-items:stretch}@media(max-width:900px){.primitives-section{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.primitives-section .instants-column{grid-column:1 / -1;order:-1}}@media(max-width:600px){.primitives-section{grid-template-columns:1fr}.primitives-section .instants-column{grid-column:auto}}.pressure-card .pressure-gauges{display:flex;gap:16px;justify-content:center;align-items:center}.stocks-card .stocks-tanks{display:flex;justify-content:center;gap:12px;align-items:center}.pressure-gauges{display:flex;gap:16px;justify-content:center;height:100%;align-items:center}.pressure-gauge{display:flex;flex-direction:column;align-items:center;flex:1;max-width:120px}.gauge-svg{width:100%;height:auto}.gauge-label{font-size:.85rem;font-weight:700;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.gauge-title{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:.7rem;color:#888;text-transform:uppercase}.gauge-icon{font-size:.9rem}.instants-card{display:flex;flex-direction:column;gap:4px}.section-header{margin-bottom:10px}.section-title{font-size:.7rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.primitive-item{display:flex;flex-direction:row;align-items:center;gap:8px;margin-bottom:6px}.primitive-item:last-child{margin-bottom:0}.prim-icon{font-size:.9rem;width:20px;text-align:center}.prim-label{font-size:.7rem;color:#888;text-transform:uppercase;min-width:85px;flex-shrink:0}.prim-bar-container{flex:1;height:8px;background:#282828;position:relative}.prim-bar{height:100%;border-radius:4px;transition:width .3s ease;position:relative;z-index:1}.bare-minimum-marker{position:absolute;top:-4px;width:2px;height:16px;background:#ffffff73;z-index:2;pointer-events:none}.prim-value{font-size:.8rem;color:#fff;font-weight:700;min-width:28px;text-align:right}.coverage-item{gap:10px}.coverage-tier{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;min-width:75px;text-align:right}.stocks-tanks{display:flex;justify-content:center;gap:12px;height:100%;align-items:center}.stock-tank{display:flex;flex-direction:column;align-items:center;flex:1}.tank-container{width:100%;height:80px;background:#282828;border:1px solid #4a4a4a;position:relative;overflow:hidden;display:flex;align-items:flex-end}.tank-fill{width:100%;transition:height .5s ease,background-color .3s ease;border-radius:0 0 5px 5px}.tank-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.9rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8)}.tank-label{display:flex;flex-direction:column;align-items:center;margin-top:6px;gap:2px}.tank-icon{font-size:1rem}.tank-label span:last-child{font-size:.65rem;color:#888;text-transform:uppercase}.residents-card{display:flex;flex-direction:column}.section-divider{color:#d4a035;margin:24px 0 12px;padding-bottom:8px;border-bottom:1px solid #4a4a4a;font-family:"Press Start 2P",monospace;font-size:9px}.section-divider-line{border-top:1px solid #4a4a4a;margin:12px 0 8px}.primitives-display{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;background:#2b2b2b;border:1px solid #4a4a4a;padding:16px;margin-bottom:20px}.prim-display-item{display:flex;align-items:center;gap:10px}.prim-display-label{width:90px;font-size:.85rem;color:#9c9894}.prim-display-bar-container{flex:1;height:10px;background:#282828;overflow:hidden}.prim-display-bar{height:100%;background:linear-gradient(90deg,#8cc4a0,#6cb88a)}.prim-display-value{width:30px;text-align:right;font-size:.85rem;font-weight:700;color:#e6e2dc}.info-icon{display:inline-block;cursor:pointer;color:#d4a035;font-size:1rem;margin-left:6px;opacity:.7;transition:opacity .2s,color .2s}.info-icon:hover{opacity:1;color:#e8b84a}.info-popup-modal{background:#282828;border:2px solid #4a4a4a;padding:24px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;position:relative}.info-popup-modal h2{color:#d4a035;margin:0 0 20px;font-size:1.4rem}.info-popup-modal .close-button{position:absolute;top:12px;right:12px;background:none;border:none;color:#9c9894;font-size:1.5rem;cursor:pointer;padding:4px 8px;line-height:1}.info-popup-modal .close-button:hover{color:#e6e2dc}.btn-tech-tree{background:#3a3a3a;color:#e6e2dc;border:1px solid #4a4a4a;padding:6px 14px;cursor:pointer;font-size:.8rem;transition:border-color .2s,color .2s}.btn-tech-tree:hover{border-color:#d4a03540;color:#e8b84a}.modal-close-x{background:none;border:none;color:#d4a035;font-size:1.4rem;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s}.modal-close-x:hover{color:#e8b84a}.formula-section{margin-bottom:16px;padding:12px;background:#2b2b2b;border-left:3px solid #7eaac4}.formula-section.effect{border-left-color:#8cc4a0;background:#8cc4a00d}.formula-section h4{color:#7eaac4;margin:0 0 8px;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.formula-section.effect h4{color:#8cc4a0}.formula-section code{display:block;background:#3a3a3a;padding:8px 12px;font-family:Monaco,Consolas,monospace;font-size:.85rem;color:#b07cc8;margin-bottom:8px;overflow-x:auto}.formula-section p{color:#9c9894;font-size:.9rem;margin:0;line-height:1.5}.formula-section ul{list-style:none;padding:0;margin:0}.formula-section li{color:#9c9894;font-size:.85rem;padding:4px 0;border-bottom:1px solid #4a4a4a}.formula-section li:last-child{border-bottom:none}.formula-section li strong{color:#e6e2dc}.budget-items{display:flex;flex-direction:column;gap:4px}.budget-row{display:flex;align-items:center;gap:4px;padding:3px 0}.budget-icon{font-size:.95rem;flex-shrink:0}.budget-label{flex:1;color:#e6e2dc;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.budget-stepper{display:flex;align-items:center;gap:3px;flex-shrink:0}.step-btn{width:24px;height:22px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#ccc;border-radius:4px;cursor:pointer;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s,border-color .15s}.step-btn:hover{background:#ffffff1f;border-color:#ffffff4d;color:#fff}.step-btn:active{background:#d4a0354d}.budget-input-wrap{display:flex;align-items:center;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:0 4px;height:22px}.budget-currency{color:#888;font-size:.8rem;margin-right:1px}.budget-input{width:42px;background:transparent;border:none;color:#d4a035;font-weight:700;font-size:.85rem;text-align:right;outline:none;-moz-appearance:textfield}.budget-input::-webkit-outer-spin-button,.budget-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.budget-input:focus{color:#fff}.budget-total{display:flex;justify-content:space-between;padding-top:4px;margin-top:2px;border-top:1px solid rgba(255,255,255,.1);font-weight:700;font-size:.85rem}
