:root{color-scheme:dark;font-family:Courier New,monospace}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:#000}canvas{display:block}.swatch{width:10px;height:10px;box-shadow:0 0 7px currentColor}button{font:inherit;color:#9ff;border:1px solid #0aa;background:#00191d;padding:5px 8px;cursor:pointer;box-shadow:0 0 7px #0ff2}button:hover,button.active{color:#fff;background:#07505a;box-shadow:0 0 9px #0ff7}.signal{position:fixed;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);color:#ff485f;border:1px solid #f35;background:#160005dd;padding:14px 20px;font:700 16px Courier New,monospace;letter-spacing:2px;box-shadow:0 0 20px #f24;text-shadow:0 0 8px #f24}.hidden{display:none!important}.rain{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:.58;mix-blend-mode:screen}.terminal-panel{position:fixed;z-index:8;color:#9ff;background:#000b0eee;border:1px solid #0cc;box-shadow:0 0 25px #0ff6,inset 0 0 30px #0ff1;font:12px/1.45 Courier New,monospace;text-shadow:0 0 5px #0ff9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.terminal-panel>header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:8px 12px;color:#fff;background:#002027f5;border-bottom:1px solid #0cc8;letter-spacing:2px}.terminal-panel>header button{font-size:20px;padding:0 7px}.archive-panel{top:8vh;right:7vw;bottom:8vh;left:7vw;overflow:auto}.archive-panel>div{padding:10px}table{width:100%;border-collapse:collapse}th,td{padding:6px 8px;text-align:left;border-bottom:1px solid #0aa4}th{color:#fff;position:sticky;top:42px;background:#00181d}tr[tabindex]{cursor:pointer}tr[tabindex]:hover{background:#0ff2;color:#fff}.innovations-panel{top:5vh;right:5vw;bottom:5vh;left:5vw;overflow-y:auto}.innovations-panel>div{padding:12px}.inspector-panel>div{padding:12px}.inspector-panel.derezzed>div>:not(.derez-status){opacity:.42}.derez-status{color:#ff4d68;font-weight:700;letter-spacing:2px;margin-bottom:8px}.inspect-title{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:17px;color:#fff}.inspect-title button{font-size:11px}.inspect-title button:first-of-type{margin-left:auto}.inspect-facts{display:grid;gap:5px;margin-top:8px}.energy-readout{position:relative;border:1px solid #0aa8;padding:3px 5px;overflow:hidden}.energy-readout i{position:absolute;inset:0 auto 0 0;background:#0f84;box-shadow:0 0 8px #0f8;z-index:-1}.energy-readout span{position:relative}.genome-code{max-height:120px;overflow:auto;overflow-wrap:anywhere;color:#18a83c;line-height:1.6;text-shadow:0 0 5px currentColor}.genome-code span{cursor:crosshair}.decoding .genome-code{animation:decoding .8s ease-out}@keyframes decoding{0%{filter:blur(3px);opacity:.2}to{filter:none;opacity:1}}.gene-row{display:grid;grid-template-columns:62px 1fr 70px;gap:7px;align-items:center;padding:5px;border-left:2px solid transparent;transition:.12s}.gene-row.highlight{background:#0ff2;border-left-color:#fff}.gene-row small{display:block;opacity:.66}.skill-chip{grid-column:3;font-style:normal;font-weight:700;font-size:9px}.activation{display:block;height:6px;background:#123}.activation i{display:block;height:100%;box-shadow:0 0 5px currentColor}.drives label{display:grid;grid-template-columns:80px 1fr 40px;gap:8px;align-items:center;margin-top:5px}.skill-profile{border-left:3px solid;padding:5px 7px;margin:5px 0;background:#0123}.skill-profile.profitable{background:#07391f55;box-shadow:inset 0 0 8px #1f53}.skill-legend{display:flex;gap:9px;flex-wrap:wrap}.dossier-panel>div{padding:12px}.dossier-title{display:flex;align-items:center;gap:6px;color:#fff;font-size:18px}.dossier-title button{margin-left:auto}.readout{white-space:pre-wrap;margin:7px 0}.terminal-panel section{margin-top:14px;border-top:1px solid #0aa5;padding-top:7px}.terminal-panel h3{margin:0 0 7px;font-size:11px;color:#fff;letter-spacing:1px}.terminal-panel h3 .help-link,.help-link{margin-left:6px;padding:0 5px;border-radius:50%}.chromosome-strand,.zygosity-markers{display:grid;grid-template-columns:16px repeat(var(--loci, 1),minmax(12px,1fr));gap:3px;align-items:center;margin:5px 0}.chromosome-segment,.chromosome-gap{height:17px;opacity:.45;border:1px solid #9ff5}.chromosome-segment.expressed{opacity:1;box-shadow:0 0 8px currentColor,inset 0 0 3px #fff}.chromosome-gap{border-style:dashed;opacity:.18}.zygosity-markers span{width:8px;height:8px;justify-self:center;border:1px solid #aff;border-radius:50%}.zygosity-homozygous{background:#9ff}.zygosity-heterozygous{background:linear-gradient(90deg,#9ff 50%,#f4c 50%)}.zygosity-hemizygous{border-radius:0!important;border-width:0 0 2px!important}.inheritance-badges{display:flex;gap:3px;flex-wrap:wrap}.gene-badge{padding:1px 3px;border:1px solid #0aa8;color:#bff}.routine-block{margin:8px 0 14px;border:1px solid #0aa5;background:#0008}.routine-block h4,.code-compare h4{margin:0;padding:4px 7px;color:#cff;background:#06313a88}.routine-block h4{display:flex;gap:7px;align-items:center}.routine-state{min-width:25px;padding:1px 3px;color:#789;border:1px solid #456;text-align:center;text-shadow:none}.routine-state.on{color:#00120a;border-color:#5f9;background:#63ffa0;box-shadow:0 0 7px #4f8}.routine-switch{padding:5px 7px;color:#ffd879;border-bottom:1px solid #0aa4;background:#24190088;font-weight:700}.code-cycles{position:sticky;top:41px;z-index:1;padding:4px;color:#fff;background:#00181de8}.code-line{display:grid;grid-template-columns:38px 1fr auto;min-height:21px;padding:2px 6px;border-left:2px solid transparent;text-shadow:none}.code-line.executed{border-left-color:#7fffff;background:#0ff1;box-shadow:inset 5px 0 8px #0ff2}.code-line.added{background:#24ff7630;border-left-color:#59ff91}.code-pc{color:#497b83;-webkit-user-select:none;user-select:none}.code-line code{color:#9cb6b8;white-space:pre-wrap}.opcode-data{color:#68aeb9}.opcode-sense{color:#ffc34d}.opcode-memory{color:#c58cff}.opcode-action{color:#dffff2;text-shadow:0 0 6px #5f8}.learned-tag{color:#ff73d1;border:1px solid #ff4fc888;padding:0 3px}.value-grid-wrap{margin:8px 0}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:4px}.value-grid>span{min-width:0;padding:4px;border:1px solid #0aa5;background:#00242a88}.value-grid small{display:block;color:#6fa;font-size:8px}.value-grid strong{display:block;overflow:hidden;color:#fff;font-size:10px;text-overflow:ellipsis}.mind-facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0}.hormones{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:8px 0}.innovation-item{padding:10px;border-bottom:1px solid #0aa5}.innovation-item summary{cursor:pointer;color:#fff}.innovation-item summary small{display:block;margin:4px 0 0 78px;color:#9cc}.innovation-kind{padding:2px 4px;color:#050900;background:#fff5a0;text-shadow:none}.innovation-kind.sense{background:#ffc34d}.code-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.code-compare>div{min-width:0;border:1px solid #0aa4}.reward-sparkline{height:45px!important;margin:4px 0 8px;border-bottom:1px solid #0ff5}.income-crystal{color:#cc6dff}.income-free{color:#ffd36a}.field-guide{top:5vh;right:7vw;bottom:5vh;left:7vw;overflow:hidden}.field-guide>div{display:grid;grid-template-columns:240px 1fr;height:calc(100% - 42px)}.field-guide nav{padding:18px 12px;border-right:1px solid #0aa6;overflow-y:auto}.guide-toc-link{display:block;width:100%;margin-bottom:6px;text-align:left;border:0}.field-guide article{overflow-y:auto;padding:24px 42px 80px;font:16px/1.7 Courier New,monospace}.field-guide article>*{max-width:76ch}.field-guide article h1{font-size:28px;color:#fff}.field-guide article h2{margin-top:2.2em;color:#7fffff;scroll-margin-top:18px}.field-guide article h3{font-size:17px}.field-guide article p{margin:.8em 0;color:#c7f6f4;text-shadow:none}.insights{color:#bff;border:1px solid #0ff8!important;padding:9px!important;background:#00323a66;box-shadow:inset 0 0 15px #0ff2}.insights ul{margin:3px 0;padding-left:20px}.text-link{border:0;background:none;padding:1px 2px;text-decoration:underline}.metric{display:grid;grid-template-columns:84px 1fr 155px;align-items:center;gap:7px;margin:4px 0;font-size:10px}.metric-bars{display:grid;gap:2px}.metric-bars i{display:block;height:4px;min-width:1px;background:#0ef;box-shadow:0 0 5px #0ff}.metric-bars i+i{background:#29f;opacity:.55}.terminal-panel svg{width:100%;height:90px;overflow:visible}.terminal-panel svg polygon{fill:#0ff2}.terminal-panel svg polyline{fill:none;stroke:#5ff;stroke-width:.8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #0ff)}:root{--dock-left: clamp(232px, 22vw, 300px);--dock-right: clamp(262px, 26vw, 360px);--side-w: clamp(340px, 38vw, 500px);--hud-top: 52px;--hud-ink: #8ff;--hud-line: #0aa8;--hud-bg: #001012c4}.hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;gap:8px;padding:8px;grid-template-columns:var(--dock-left) minmax(0,1fr) var(--dock-right);grid-template-rows:auto minmax(0,1fr);color:var(--hud-ink);pointer-events:none;text-shadow:0 0 6px #0ff8;font-size:12px;line-height:1.35}.toolbar{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:5px 8px;border:1px solid var(--hud-line);background:var(--hud-bg);box-shadow:0 0 12px #0ff3;pointer-events:auto}.toolbar .brand{color:#fff;font-weight:700;letter-spacing:3px}.toolbar .brief{color:#bff;white-space:nowrap}.toolbar .season{color:#7dd}.toolbar-group{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.toolbar-group.sim{margin-left:auto}.toolbar button{padding:3px 7px;font-size:11px}.panel-toggle{opacity:.55}.panel-toggle:after{content:attr(data-key);margin-left:5px;font-size:9px;color:#6cc}.panel-toggle.active{opacity:1}.toolbar .speed{min-width:34px;text-align:center;color:#fff}.toolbar .view-only{padding:2px 6px;font-size:10px;letter-spacing:.08em;color:#fc6;border:1px solid #fc68;border-radius:3px}.dock{display:flex;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#0aa8 transparent}.dock-left{grid-column:1;grid-row:2}.dock-right{grid-column:3;grid-row:2}.panel{flex:none;padding:7px 9px 8px;border:1px solid var(--hud-line);background:var(--hud-bg);box-shadow:0 0 12px #0ff3,inset 0 0 12px #0ff1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto}.panel>header{display:flex;align-items:center;gap:6px;margin-bottom:5px;color:#fff;letter-spacing:1px}.panel>header b{flex:1;font-size:11px}.panel>header kbd,.legend kbd{font:9px Courier New,monospace;color:#6cc;border:1px solid #0aa6;padding:0 3px}.panel-close{padding:0 5px;font-size:13px;line-height:1.1}.panel-log{flex:1 1 auto;min-height:160px;display:flex;flex-direction:column}.panel-log .panel-body{flex:1;min-height:0;display:flex}.event-list{flex:1;overflow-y:auto;min-height:0;padding-right:3px;scrollbar-width:thin;scrollbar-color:#0aa8 transparent}.event{margin-top:3px;opacity:.92;font-size:11px;line-height:1.3;overflow-wrap:anywhere}.event small{color:#5aa;margin-right:2px}.event-derezz,.event-consume{color:#ff7040;text-shadow:0 0 6px #f40}.event-lineage,.event-spawn{color:#6ff}.event-extinction{color:#ff4cff;text-shadow:0 0 6px #f0f}.event-system{color:#5f7;text-shadow:0 0 6px #0f4}.event-milestone{color:#ffd85a;text-shadow:0 0 7px #fa0}.event-capability{color:#eaffff;font-weight:700;text-shadow:0 0 8px #3ff}.event-novelty{color:#fff8c2;font-weight:700;text-shadow:0 0 9px #ffd700}.kv{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin:0;font-size:11px}.kv dt{color:#5cc;white-space:nowrap;font-size:10px}.kv dd{margin:0;color:#dff;text-align:right;overflow-wrap:anywhere}.kv.compact{margin-top:7px;padding-top:5px;border-top:1px solid #0aa5;font-size:10px}.note{margin-top:5px;font-size:10px;color:#ffe9a0;overflow-wrap:anywhere}.meter{margin-top:6px;font-size:10px}.meter i{display:block;height:4px;margin-top:2px;box-shadow:0 0 6px currentColor}.capability-row{display:grid;grid-template-columns:46px 1fr 74px;gap:6px;align-items:center;margin-top:4px;font-size:10px}.capability-row>i{height:5px;background:linear-gradient(90deg,var(--skill) var(--value),#123 var(--value));box-shadow:0 0 4px var(--skill)}.capability-row>span:last-child{text-align:right}.ring-swatch{display:inline-block;flex:none;width:11px;height:11px;border-radius:50%;border:2px solid var(--c);box-shadow:0 0 6px var(--c),inset 0 0 3px var(--c);vertical-align:-1px}.swatch{display:inline-block;width:10px;height:10px;box-shadow:0 0 7px currentColor}.lineage-list{display:flex;flex-direction:column}.lineage{display:grid;grid-template-columns:12px 64px 1fr 34px 16px;gap:6px;align-items:center;padding:3px;cursor:pointer;border-left:2px solid transparent;font-size:11px}.lineage-list.compact .lineage{grid-template-columns:12px 1fr auto;padding:2px 3px}.lineage-list.compact{display:grid;grid-template-columns:1fr 1fr;column-gap:6px}.lineage:hover{color:#fff;background:#0ff2}.lineage.focused{background:#0ff3;border-left-color:#fff;color:#fff}.lineage-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lineage-track{height:5px;background:#0a2a30}.lineage-track i{display:block;height:100%;box-shadow:0 0 5px #0ff5}.lineage-count{text-align:right}.dossier-link{padding:0 4px;font-size:12px;line-height:1.1}.lineage-list .text-link{margin-top:5px;align-self:flex-start;font-size:10px}.epi-head{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin-bottom:6px}.epi-head strong{display:block;font-size:22px;color:#b8ff7a;text-shadow:0 0 9px #7f3}.epi-head strong.warm{color:#e4ff5a}.epi-head strong.hot{color:#ff6a4d;text-shadow:0 0 10px #f42}.epi-head span{display:block;font-size:10px;color:#7cc}.epi-spark{width:100%;height:34px;overflow:visible;border-bottom:1px solid #0aa5}.epi-spark polygon{fill:#a6ff3a22}.epi-spark polyline{fill:none;stroke:#a6ff3a;stroke-width:1.2;vector-effect:non-scaling-stroke}.legend details{margin-top:5px}.legend details:first-child{margin-top:0}.legend summary{cursor:pointer;color:#fff;font-size:10px;letter-spacing:1px;margin-bottom:3px}.legend-grid{display:grid;grid-template-columns:1fr;gap:2px 8px}.legend-item{display:grid;grid-template-columns:14px 1fr;gap:6px;align-items:center;font-size:10px;line-height:1.25}.legend-item small{color:#5aa}.mark{display:inline-block;width:11px;height:11px;justify-self:center;background:var(--c)}.mark-dot{border-radius:50%;box-shadow:0 0 5px var(--c)}.mark-ring{background:none;border:2px solid var(--c);border-radius:50%;box-shadow:0 0 5px var(--c)}.mark-diamond{width:8px;height:8px;transform:rotate(45deg);box-shadow:0 0 5px #fff4}.mark-speck{width:6px;height:6px;transform:rotate(45deg);box-shadow:0 0 6px var(--c)}.mark-fleck{background:radial-gradient(circle at 30% 30%,var(--c) 18%,transparent 22%),radial-gradient(circle at 70% 65%,var(--c) 18%,transparent 22%)}.mark-bar{width:6px;height:13px}.mark-block{opacity:.85}.mark-gradient{width:12px}.legend-keys{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin:0;font-size:10px}.legend-keys dt{text-align:right}.legend-keys dd{margin:0;color:#bdd}.map-tooltip{position:fixed;z-index:6;pointer-events:none;display:grid;gap:1px;padding:5px 8px;max-width:220px;font:11px Courier New,monospace;color:#cff;background:#000c10e8;border:1px solid #0cc;box-shadow:0 0 10px #0ff5}.map-tooltip b{color:#fff}.map-tooltip small{color:#5aa}.hint{position:fixed;z-index:7;left:50%;bottom:18px;transform:translate(-50%);padding:6px 12px;color:#fff;font:12px Courier New,monospace;background:#001a1ee8;border:1px solid #0cc;box-shadow:0 0 12px #0ff5;pointer-events:none}.dossier-panel,.inspector-panel{top:var(--hud-top);right:8px;bottom:8px;width:min(var(--side-w),calc(100vw - 16px));overflow-y:auto}body.side-open .dock-right{visibility:hidden}@media(min-width:1500px){body.side-open .dock-right{visibility:visible}body.side-open .hud{padding-right:calc(var(--side-w) + 16px)}body.side-open .toolbar{margin-right:calc(-1 * (var(--side-w) + 8px))}}.profile-kv{font-size:11px}.profile-kv dd{text-align:left}.chips{display:inline-flex;flex-wrap:wrap;gap:3px}.chips b{padding:0 4px;border:1px solid;font-size:10px;font-weight:400}.diet-bar{display:flex;height:6px;margin:3px 0 2px;background:#0a2a30}.diet-bar i{display:block;min-width:2px}.infected{color:#b8ff5a;font-weight:700;text-shadow:0 0 6px #7f3}.clean{color:#7cc}@media(max-width:720px){.hud{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) minmax(0,1fr)}.dock-left{grid-column:1;grid-row:2}.dock-right{grid-column:1;grid-row:3}.toolbar-group.sim{margin-left:0}.field-guide{top:12px;right:12px;bottom:12px;left:12px}.field-guide>div{display:block}.field-guide nav{display:none}.field-guide article{padding:18px}}
