*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}body,html{width:100%;height:100%;overflow:hidden;font-family:Outfit,sans-serif;background-color:#0f1115;color:#f1f3f5}#canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}#loader{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0c0e12;z-index:9999;display:flex;justify-content:center;align-items:center;transition:opacity .8s ease,visibility .8s ease}#loader.fade-out{opacity:0;visibility:hidden}.loader-content{text-align:center}.loader-content h1{font-size:3rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,#4ade80,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.05em}.loader-content p{color:#8e9aab;font-size:1.1rem;margin-bottom:2rem}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.05);border-left-color:#4ade80;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.glass{background:#12161ea6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:16px;box-shadow:0 8px 32px #0000005e;transition:all .3s cubic-bezier(.4,0,.2,1)}#hud-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;display:grid;grid-template-columns:280px 1fr 320px;grid-template-rows:80px 1fr 100px;padding:1.5rem;gap:1.5rem}#hud-layer *{pointer-events:auto}.hud-header{grid-column:1 / 4;grid-row:1;display:flex;justify-content:space-between;align-items:center;padding:0 2rem;height:100%;position:relative;z-index:95}.hud-brand{display:flex;align-items:center;gap:.75rem}.hud-brand h1{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#a7f3d0,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.03em}.hud-status-badge{font-size:.7rem;text-transform:uppercase;background:#60a5fa26;color:#93c5fd;padding:.25rem .6rem;border-radius:20px;border:1px solid rgba(147,197,253,.2);font-weight:600}.hud-stats{display:flex;align-items:center;gap:2rem}.stat-item{display:flex;align-items:center;gap:.5rem;background:#ffffff08;padding:.5rem 1rem;border-radius:12px;border:1px solid rgba(255,255,255,.03)}.stat-icon{width:22px;height:22px;object-fit:contain}.btn-icon{width:18px;height:18px;object-fit:contain;transition:transform .2s ease}.speed-btn:hover .btn-icon,.control-btn:hover .btn-icon{transform:scale(1.1)}.stat-value{font-weight:600;font-size:1.1rem;color:#f8f9fa}.stat-trend{font-size:.8rem;font-weight:700;color:#8e9aab}.stat-trend.positive{color:#4ade80}.stat-trend.negative{color:#f87171}.stat-detail{font-size:.8rem;color:#8e9aab;margin-left:.25rem}.hud-controls{display:flex;align-items:center;gap:.5rem}.speed-btn,.control-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.05);color:#f1f3f5;width:38px;height:38px;border-radius:10px;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .2s ease;font-size:1rem}.speed-btn:hover,.control-btn:hover{background:#ffffff1a;transform:translateY(-2px)}.speed-btn.active{background:#3b82f6;border-color:#60a5fa;box-shadow:0 0 12px #3b82f666}.control-btn.active{background:#4ade8026;border-color:#4ade80;color:#4ade80}.hud-left{grid-column:1;grid-row:2;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;height:fit-content;max-height:100%}.hud-left h2{font-size:1.1rem;font-weight:600;color:#c8d3e2;letter-spacing:-.01em}.demand-container{display:flex;flex-direction:column;gap:1rem}.demand-bar-group{display:flex;flex-direction:column;gap:.4rem}.demand-bar-group label{font-size:.8rem;color:#8e9aab;font-weight:500}.demand-track{width:100%;height:8px;background:#ffffff0d;border-radius:4px;overflow:hidden}.demand-fill{height:100%;border-radius:4px;transition:width .5s ease}.demand-fill.residential{background:linear-gradient(90deg,#10b981,#34d399)}.demand-fill.commercial{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.demand-fill.industrial{background:linear-gradient(90deg,#eab308,#fde047)}.panel-divider{border:0;height:1px;background:#ffffff0f}.status-grid{display:flex;flex-direction:column;gap:.8rem}.status-card{display:flex;justify-content:space-between;align-items:center;background:#ffffff05;padding:.75rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.02)}.status-label{font-size:.85rem;color:#8e9aab}.status-value{font-size:.9rem;font-weight:600}.tax-control{display:flex;align-items:center;gap:.5rem;background:#ffffff0d;padding:.2rem .5rem;border-radius:8px}.small-btn{background:transparent;border:none;color:#f1f3f5;cursor:pointer;font-weight:700;width:20px;height:20px;display:flex;justify-content:center;align-items:center;border-radius:4px;transition:background .2s}.small-btn:hover{background:#ffffff1a}#stat-tax-rate{font-size:.85rem;font-weight:600;min-width:32px;text-align:center}.hud-right-bottom{grid-column:3;grid-row:2;align-self:end;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;width:100%}.hud-right-bottom.hidden{display:none}.panel-header{display:flex;justify-content:space-between;align-items:center}.panel-header h2{font-size:1.1rem;font-weight:600;color:#c8d3e2}.close-btn{background:transparent;border:none;color:#8e9aab;font-size:1.5rem;cursor:pointer;line-height:1}.close-btn:hover{color:#f1f3f5}.inspect-body{display:flex;flex-direction:column;gap:.6rem;font-size:.9rem}.inspect-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.03);padding-bottom:.4rem}.inspect-label{color:#8e9aab}.inspect-value{font-weight:500}.inspect-badge{font-size:.75rem;padding:.15rem .4rem;border-radius:6px;font-weight:600}.inspect-badge.success{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.2)}.inspect-badge.danger{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.2)}.hud-footer{grid-column:1 / 4;grid-row:3;justify-self:center;align-self:center;padding:.6rem;max-width:90%}.toolbar{display:flex;align-items:center;gap:.4rem}.tool-btn{background:transparent;border:1px solid transparent;color:#8e9aab;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;width:76px;height:72px;border-radius:12px;transition:all .2s cubic-bezier(.4,0,.2,1);gap:.3rem}.tool-btn:hover{background:#ffffff0a;color:#f1f3f5;transform:translateY(-4px)}.tool-btn.active{background:#ffffff14;border-color:#ffffff26;color:#f1f3f5;box-shadow:inset 0 0 10px #ffffff0d}.tool-btn.active:after{content:"";display:block;width:6px;height:6px;background:#3b82f6;border-radius:50%;margin-top:-2px;box-shadow:0 0 8px #3b82f6}#tool-select.active:after{background:#94a3b8;box-shadow:0 0 8px #94a3b8}#tool-road.active:after{background:#fbbf24;box-shadow:0 0 8px #fbbf24}#tool-residential.active:after{background:#34d399;box-shadow:0 0 8px #34d399}#tool-commercial.active:after{background:#60a5fa;box-shadow:0 0 8px #60a5fa}#tool-industrial.active:after{background:#fbbf24;box-shadow:0 0 8px #fbbf24}#tool-power.active:after{background:#f472b6;box-shadow:0 0 8px #f472b6}#tool-water.active:after{background:#38bdf8;box-shadow:0 0 8px #38bdf8}#tool-water-body.active:after{background:#0284c7;box-shadow:0 0 8px #0284c7}#tool-park.active:after{background:#4ade80;box-shadow:0 0 8px #4ade80}#tool-bulldoze.active:after{background:#f87171;box-shadow:0 0 8px #f87171}.tool-icon,.tool-svg-icon{width:32px;height:32px;border-radius:8px;object-fit:cover;box-shadow:0 2px 6px #0000004d;border:1px solid rgba(255,255,255,.1);transition:transform .2s cubic-bezier(.4,0,.2,1),border-color .2s,box-shadow .2s}.tool-svg-icon{background:linear-gradient(135deg,#1e3a8a,#0284c7);padding:4px}.tool-btn:hover .tool-icon,.tool-btn:hover .tool-svg-icon{transform:scale(1.08);border-color:#ffffff40;box-shadow:0 4px 10px #0006}.tool-btn.active .tool-icon,.tool-btn.active .tool-svg-icon{border-color:#ffffff80;box-shadow:0 0 12px #fff3,0 4px 12px #00000080}.tool-btn:hover .tool-icon{transform:scale(1.08);border-color:#ffffff40;box-shadow:0 4px 10px #0006}.tool-btn.active .tool-icon{border-color:#ffffff80;box-shadow:0 0 12px #fff3,0 4px 12px #00000080}.tool-name{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.tool-btn.danger:hover{background:#ef44441a;color:#f87171}.tool-btn.danger.active{background:#ef444426;border-color:#ef444440;color:#f87171}#toast-container{position:fixed;top:96px;right:1.5rem;display:flex;flex-direction:column;gap:.6rem;z-index:100;max-width:320px;pointer-events:none}.toast{pointer-events:auto;background:#12161ed9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-left:4px solid #3b82f6;border-top:1px solid rgba(255,255,255,.05);border-right:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);border-radius:0 10px 10px 0;color:#e2e8f0;padding:.85rem 1.25rem;box-shadow:0 4px 12px #0003;display:flex;align-items:center;gap:.75rem;font-size:.85rem;animation:slideIn .3s cubic-bezier(.4,0,.2,1),fadeOut .4s ease 4.6s forwards}.toast.success{border-left-color:#10b981}.toast.warning{border-left-color:#f59e0b}.toast.danger{border-left-color:#ef4444}.toast.info{border-left-color:#3b82f6}@keyframes slideIn{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px);visibility:hidden}}.switch input:checked+.slider-round{background-color:#fbbf24;border-color:#fbbf24!important}.switch input:checked+.slider-round:before{transform:translate(20px)}.slider-round{transition:background-color .2s,border-color .2s}.slider-round:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:transform .2s;border-radius:50%;box-shadow:0 1px 3px #0006}#btn-dev-toggle:hover svg{color:#93c5fd!important;transform:rotate(15deg)}.dropdown-item:hover{background:#ffffff14!important;color:#60a5fa!important}.dropdown-item:active{background:#ffffff1f!important}.dropdown-item.active{background:#60a5fa1f!important;color:#60a5fa!important}.dropdown-item.active .active-check{opacity:1!important}.hidden{display:none!important}
