:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#f8fafc;background:#0b0f0c}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}.world{position:fixed;inset:0;width:100vw;height:100vh;touch-action:none}.ui{position:fixed;inset:0;pointer-events:none}.panel,.timebar{pointer-events:auto}.panel{position:absolute;top:14px;left:14px;width:340px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0d140fe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel header,.drawer-body header{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.line-wrap,.hist-wrap{position:relative;width:100%}#line{width:100%;height:155px;display:block;border-radius:8px;cursor:crosshair}#hist{width:100%;height:90px;display:block;border-radius:8px;margin-top:8px;cursor:crosshair}.line-tooltips{position:absolute;inset:0;pointer-events:none;z-index:3}.point-tooltip,.hist-tooltip,.agent-tooltip{position:absolute;padding:6px 8px;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:#090d0af5;box-shadow:0 5px 18px #00000059;font-size:9px;pointer-events:none;z-index:20}.point-tooltip{display:flex;align-items:center;gap:6px;min-width:110px;border-left:3px solid var(--series-color);white-space:nowrap}.point-tooltip strong,.hist-tooltip strong,.agent-tooltip strong{color:#fff;font-variant-numeric:tabular-nums}.hist-tooltip{width:190px}.tooltip-time{color:#9ca3af;margin-bottom:5px}.tooltip-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:3px 0}.line-legend{display:grid;gap:4px;margin-top:7px;margin-bottom:2px;font-size:10px}.legend-item{display:grid;grid-template-columns:10px 1fr auto;gap:6px;align-items:center;min-width:0}.legend-line{width:9px;height:3px;border-radius:3px;background:var(--series-color)}.legend-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-stats{color:#9ca3af;font-variant-numeric:tabular-nums;white-space:nowrap}.choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:11px}.choices label{display:flex;align-items:center;gap:4px}.population-legend{position:absolute;right:16px;bottom:16px;z-index:8;min-width:180px;padding:9px 11px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#0d140fe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:11px;pointer-events:none}.population-job{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px;margin:4px 0}.job-dot{width:9px;height:9px;border-radius:50%;background:var(--job-color)}.agent-tooltip{width:250px;max-height:72vh;overflow-y:auto;min-width:220px;z-index:30}.agent-tooltip-title{font-size:11px;font-weight:800;margin-bottom:7px;color:#a7f3d0}.agent-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin:4px 0}.github-link{position:fixed;top:10px;right:56px;width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#0d140fe0;color:#fff;pointer-events:auto;z-index:25}.github-link svg{width:21px;height:21px;fill:currentColor}.github-link:hover{background:#314133}.agent-section{margin-top:9px;padding-top:7px;border-top:1px solid rgba(255,255,255,.1)}.agent-section-title{margin-bottom:5px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#a7f3d0}.agent-stock-list{max-height:160px;overflow:auto}.physiology-gauges{margin-top:7px}.physiology-gauges.full-profile{margin-top:9px;padding-top:7px;border-top:1px solid rgba(255,255,255,.1)}.phys-section-title{margin:8px 0 5px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#a7f3d0}.phys-gauge{margin:5px 0}.phys-gauge-head{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:baseline;font-size:9px}.phys-gauge-head span{color:#d1d5db;min-width:0}.phys-gauge-head strong{white-space:nowrap;font-size:8px}.phys-gauge-track{height:5px;margin-top:3px;overflow:hidden;border-radius:999px;background:#ffffff1a}.phys-gauge-fill{height:100%;border-radius:inherit;background:#7dd3a8;transition:width .12s linear}.drawer{position:absolute;top:0;right:0;bottom:0;width:0;pointer-events:none;background:transparent;border-left:0;transition:width .18s ease,background .18s ease;z-index:15}.drawer.open{width:320px;pointer-events:auto;background:#0d140ff0;border-left:1px solid rgba(255,255,255,.1)}#drawer-toggle{position:fixed;top:10px;right:10px;width:38px;height:38px;margin:0;border:0;border-radius:8px;background:#0d140fe0;color:#fff;cursor:pointer;pointer-events:auto;z-index:25}.drawer.open #drawer-toggle{position:absolute;right:8px;top:10px}.drawer-body{display:none;padding:62px 16px 16px}.drawer.open .drawer-body{display:block}.range{display:grid;grid-template-columns:1fr auto;gap:5px;margin:14px 0;font-size:12px}.range input{grid-column:1/-1;width:100%}.range output{color:#a7f3d0}.switch{display:flex;gap:7px;align-items:center;margin:16px 0;font-size:12px}#restart{width:100%;padding:10px;border:0;border-radius:8px;background:#67e27a;color:#08240d;font-weight:800;cursor:pointer}.timebar{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:6px;align-items:center;padding:7px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:#0d140fe6;z-index:10}.timebar button{width:42px;height:30px;border:0;border-radius:7px;background:#202b22;color:#fff;cursor:pointer;font-variant-numeric:tabular-nums}.timebar button:hover,#drawer-toggle:hover{background:#314133}#clock{min-width:190px;text-align:center;font-size:11px;color:#d1d5db}.price-choices{margin-top:8px;font-size:11px}.price-choices summary{cursor:pointer;color:#cbd5e1}.price-choices .choices{max-height:120px;overflow:auto;padding:5px 0}.population-legend{max-height:50vh;overflow-y:auto}.line-time-tooltip{position:absolute;top:2px;transform:translate(-50%);padding:4px 7px;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:#090d0af5;color:#e5e7eb;font-size:9px;line-height:1;white-space:nowrap;pointer-events:none;z-index:5}.agent-modal{position:fixed;inset:0;z-index:60;pointer-events:auto}.agent-modal[hidden]{display:none}.agent-modal-backdrop{position:absolute;inset:0;background:#0000007a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.agent-modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 32px));overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#0d140ffa;box-shadow:0 18px 60px #00000073}.agent-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;color:#a7f3d0}#agent-modal-close{width:28px;height:28px;border:0;border-radius:7px;background:#202b22;color:#fff;font-size:18px;cursor:pointer}.agent-modal-tabs{display:flex;gap:4px;padding:0 10px;border-bottom:1px solid rgba(255,255,255,.08)}.agent-modal-tabs button{padding:8px 12px;border:0;border-radius:7px 7px 0 0;background:transparent;color:#9ca3af;cursor:pointer}.agent-modal-tabs button.active{color:#fff;background:#202b22}.agent-modal-content{max-height:calc(min(780px,100vh - 32px) - 90px);overflow:auto;padding:12px 14px 16px}.agent-event{margin:0 0 8px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff06;font-size:11px;line-height:1.4}.agent-event.health-critical{border-left:3px solid #f7a66b}.agent-event-time{color:#9ca3af;font-size:9px;margin-bottom:4px}.empty-events{color:#9ca3af;padding:20px 4px;text-align:center}
