:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#101214;color:#eef0ed;font-synthesis:none;--muted:#919792;--line:#303531;--accent:#d6e8b9}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{min-height:44px;border:1px solid #3b423d;border-radius:7px;background:#242925;color:#e6eae3;cursor:pointer;font-size:13px;font-weight:550;transition:background .15s}button:hover{background:#343c32}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button[aria-pressed=true]{border-color:var(--accent);background:#35402d}h1,h2,h3,p{margin:0}h1{font-size:21px;letter-spacing:-.8px}h1 span{font-weight:400;color:#a4ada4}h2{font-size:34px;letter-spacing:-1.1px;font-weight:500}h3{font-size:13px;font-weight:600}.app{max-width:1136px;margin:auto;padding:0 36px}.masthead{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{font-size:34px;color:var(--accent)}.edition{margin-left:auto;letter-spacing:2px;font-size:10px;color:var(--muted)}.quiet{width:34px;background:transparent;border:0;color:#a6afa4;font-size:18px}.intro{display:flex;align-items:center;justify-content:space-between;padding:35px 0 30px}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:2px;margin-bottom:10px}.subtitle{color:var(--muted);font-size:13px;margin-top:10px}.world-label{font:10px/1.8 ui-monospace,monospace;color:var(--muted);text-align:right;letter-spacing:1px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:24px;align-items:start}.field-panel{background:#151917;border:1px solid var(--line);border-radius:10px;overflow:hidden}.field-header,.field-footer{display:flex;justify-content:space-between;align-items:center;padding:0 16px;height:45px;color:#aeb5ab;font-size:11px}.field-header i,.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:7px}.field-header #zoom-label,.field-footer{font:9px ui-monospace,monospace;letter-spacing:1px}.field-footer{height:35px}.muted{color:#6e786e}.canvas-wrap{position:relative;width:100%;height:min(68vh,720px);min-height:380px;background:#000}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.empty-hint{pointer-events:none;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;padding:15px}.empty-hint[hidden]{display:none}.empty-hint strong{font-size:19px;font-weight:450;color:#a6aea0}.empty-hint span:not(.seed-icon){font-size:12px;color:#727c70}.empty-hint small{font-size:10px;color:#535e50}.seed-icon{font-size:48px;color:#65775a;margin-bottom:10px}.sidebar{display:flex;flex-direction:column;gap:14px}.panel{border:1px solid var(--line);background:#191d1a;border-radius:9px;padding:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-number{font:10px monospace;color:#737e72}.live-dot{margin:0;width:5px;height:5px}.totals{display:grid;grid-template-columns:1fr 1fr;gap:16px}.label{display:block;font-size:11px;color:var(--muted)}.totals strong{display:block;font-weight:400;font-size:36px;letter-spacing:-1px;margin:3px 0 13px;font-variant-numeric:tabular-nums}.population-bar{height:3px;background:#353a33;display:flex;margin-bottom:14px}.population-bar span{transition:width .15s}#red-bar{background:#f00}#blue-bar{background:#00f}.lineage-stats{display:flex;justify-content:space-between;font-size:10px;color:#a6afa2}.lineage-stats b{margin-left:5px;color:#e6eae3}.swatch{display:inline-block;width:8px;height:8px;border-radius:2px;flex-shrink:0;margin-right:6px}.red{background:#f00}.blue{background:#00f}.dead-red{background:#900}.dead-blue{background:#009}.button-row{display:flex;gap:8px}.button-row button{flex:1}.primary{background:var(--accent);color:#21271c;border-color:var(--accent)}.primary:hover{background:#e4f4c9}.speed-label{display:flex;justify-content:space-between;font-size:11px;color:#a6afa2;margin:20px 0 7px}.speed-label output{color:#e0e7d8}input[type=range]{width:100%;margin:0;accent-color:var(--accent);height:26px;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:#727d71}.tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tool{text-align:left;padding:0 10px;font-size:12px}.hint{font-size:10px;color:#8d9888;line-height:1.6;margin-top:10px}.history{margin-top:14px}.history button{font-size:11px;min-height:44px;background:transparent}.divider{height:1px;background:var(--line);margin:16px 0}.view-controls{display:flex;gap:6px}.view-controls button{flex:1}.view-controls button:first-child{flex:1.8}.gesture-hint{text-align:center}.reset{width:100%;margin-top:14px;background:transparent;color:#a6afa2;border-color:#343c32;font-size:11px}.legend{padding:6px 4px}.legend h3{font-size:11px;color:#b6c0af}.legend p{font-size:11px;color:#818c7d;line-height:1.7;margin:8px 0 12px}.legend>div{display:flex;gap:22px;font-size:10px;color:#9ba594}.legend .swatch{margin-right:4px}.page-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;margin-top:32px;color:#677362;font-size:9px;letter-spacing:1.3px}dialog{max-width:480px;width:calc(100% - 32px);background:#1b211b;color:#d8dfd3;border:1px solid #4a5645;border-radius:14px;padding:28px}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}dialog h2{font-size:26px;margin-bottom:16px}dialog p{font-size:13px;line-height:1.7;margin-bottom:16px}.dialog-close{float:right;width:44px;background:transparent;border:0;font-size:24px}.danger{background:#642923;border-color:#98483f}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1200px){.canvas-wrap{height:720px}}
@media(max-width:700px){.app{padding:0 14px}.masthead{height:62px}.edition{display:none}.quiet{margin-left:auto}.intro{padding:22px 0}.intro h2{font-size:26px}.world-label{font-size:8px}.subtitle{font-size:11px}.workspace{display:flex;flex-direction:column;gap:14px}.field-panel{width:100%}.canvas-wrap{height:auto;aspect-ratio:2/3;min-height:0;max-height:66svh}.sidebar{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.panel{padding:14px}.population{grid-column:1/-1}.population .totals{float:left;width:48%}.population .section-heading{margin-bottom:10px}.population .population-bar{margin-top:28px;margin-left:52%}.population .lineage-stats{margin-left:52%;flex-direction:column;gap:10px}.population:after{content:'';display:block;clear:both}.totals strong{font-size:28px;margin-bottom:0}.transport,.editor,.legend{grid-column:1/-1}.transport .section-heading{margin-bottom:12px}.speed-label{margin-top:14px}.tools{grid-template-columns:repeat(4,1fr);gap:5px}.tool{padding:0 6px;font-size:10px}.tool .swatch{width:6px;height:6px;margin-right:3px}.editor .section-heading{margin-bottom:12px}.history{margin-top:8px}.divider{margin:12px 0}.legend{padding:12px 4px}.page-footer{margin-top:20px;font-size:8px;gap:15px;line-height:1.7}.field-header{height:38px;padding:0 12px}.field-footer{padding:0 12px;font-size:8px}}
.randomize-panel .section-heading{margin-bottom:0}.randomize-panel .speed-label{margin-top:14px}.randomize-button{width:100%;margin-top:16px}
@media(max-width:700px){.randomize-panel{grid-column:1/-1}}
