:root{--bg: #0e1312;--surface: #141b1a;--raised: #1a2322;--fg: #e8ece8;--muted: #9fb0a9;--line: #2a3532;--accent: #e0a85f;--accent-soft: rgba(224, 168, 95, .14);--on-accent: #1a1208;--stage-top: #2b3a36;--stage-bottom: #0b100f;--stage-fg: #e8ece8;--stage-muted: #9fb0a9;--stage-accent: #e0a85f;--display: "Marcellus", "Palatino Linotype", Palatino, Georgia, serif;--body: "Figtree", "Segoe UI", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, Consolas, monospace;--s--1: .8125rem;--s0: 1rem;--s1: 1.1875rem;--s2: 1.5rem;--s3: clamp(1.5rem, 2.6vw, 1.75rem);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:var(--s0);line-height:1.5;-webkit-font-smoothing:antialiased}.wrap{max-width:1520px;margin:0 auto;padding-inline:clamp(16px,2.4vw,32px);padding-block:calc(env(safe-area-inset-top,0px) + 16px) calc(env(safe-area-inset-bottom,0px) + 32px);display:grid;gap:20px}header{display:grid;gap:6px}.eyebrow{font-family:var(--mono);font-size:.75rem;color:var(--muted);letter-spacing:.02em}h1{font-family:var(--display);font-weight:400;font-size:var(--s3);line-height:1.1;margin:0;letter-spacing:.01em;text-wrap:balance}.lede{margin:0;color:var(--muted);max-width:66ch}.notice{margin:0;color:var(--muted);padding:24px 0}.top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand filters langs" "tabs tabs tabs";gap:14px 24px;align-items:center;border-bottom:1px solid var(--line)}.brand{grid-area:brand;display:flex;align-items:center;gap:14px}.brand .logo{color:var(--accent);flex:none}.top .langs{grid-area:langs}.toolbar{display:contents}.filters{grid-area:filters;display:flex;gap:8px;align-items:center;justify-content:flex-end;min-width:0}.filters>.btn,.filters>.seg{flex:0 0 auto;white-space:nowrap}.filters>.seg{flex-wrap:nowrap}.filters>.search{flex:1 1 200px;min-width:160px;max-width:560px;margin-right:auto}.clsfilter{width:auto;flex:0 1 auto;min-width:0}.tabs{grid-area:tabs;display:flex;gap:4px;flex-wrap:wrap}.tab{all:unset;box-sizing:border-box;cursor:pointer;padding:10px 16px 12px;font-weight:500;color:var(--muted);display:inline-flex;gap:8px;align-items:baseline;border-bottom:2px solid transparent;margin-bottom:-1px}.tab .n{font-family:var(--mono);font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--muted)}.tab:hover{color:var(--fg)}.tab[aria-selected=true]{color:var(--accent);font-weight:600;border-bottom-color:var(--accent)}.tab[aria-selected=true] .n{color:var(--accent)}.tab:focus-visible,.row:focus-visible,.search:focus-visible,.vbtn:focus-visible,.btn:focus-visible,select:focus-visible,.seg button:focus-visible,.sw:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.search{font:inherit;color:var(--fg);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239fb0a9' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 14px 50%;border:1px solid var(--line);border-radius:12px;height:44px;padding:0 14px 0 42px;width:min(100%,340px)}.search::placeholder{color:var(--muted)}.classes{font-size:.75rem;color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr) minmax(280px,340px);gap:24px;align-items:start}.leftcol{min-width:0;display:grid;gap:16px}.sidecol{min-width:0;display:grid;gap:20px;align-content:start}.list{list-style:none;margin:0;padding:0;max-height:calc(100vh - 210px);min-height:320px;overflow-y:auto;display:grid;gap:4px;align-content:start}.row{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:1fr auto;gap:1px 10px;padding:10px 12px;border-radius:12px;border:1px solid transparent}.row:hover{background:var(--raised)}.row[aria-current=true]{background:var(--accent-soft);border-color:var(--accent)}.row[aria-current=true] .nm{color:var(--accent);font-weight:600}.row .nm{font-weight:500;line-height:1.3;min-width:0;overflow-wrap:anywhere}.row .sub{grid-column:1;color:var(--muted);font-size:var(--s--1)}.row .cnt{grid-row:1 / span 2;grid-column:2;align-self:center;font-family:var(--mono);font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.empty{color:var(--muted);padding:16px 10px}.ico{display:block;flex:none;border-radius:10px;background-repeat:no-repeat;background-color:var(--surface);box-shadow:0 0 0 1px var(--line)}.row.hasico{grid-template-columns:auto minmax(0,1fr) auto;column-gap:12px}.row.hasico .ico{grid-row:1 / span 2;grid-column:1;align-self:center}.row.hasico .nm,.row.hasico .sub{grid-column:2}.row.hasico .cnt{grid-column:3}.details .hd{display:flex;align-items:center;gap:14px}.form{display:grid;gap:14px}.field{display:grid;gap:6px}.field label,.label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}select{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;width:100%;min-width:0}.seg{display:inline-flex;flex-wrap:wrap;gap:4px}.seg button{all:unset;box-sizing:border-box;cursor:pointer;font-size:var(--s--1);padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.seg button:hover{color:var(--fg)}.seg button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:500}.btn{all:unset;box-sizing:border-box;cursor:pointer;font-size:var(--s--1);font-weight:500;padding:10px 16px;border-radius:12px;border:1px solid var(--line);color:var(--fg);background:var(--surface)}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn[disabled]{opacity:.45;cursor:default}.btn[disabled]:hover{border-color:var(--line);color:var(--fg)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.primary:hover{color:var(--on-accent);filter:brightness(1.08)}.btnrow{display:flex;flex-wrap:wrap;gap:8px}.viewcol{display:grid;gap:14px;min-width:0;position:sticky;top:calc(env(safe-area-inset-top,0px) + 12px)}.stages{display:grid;gap:10px;min-width:0}.stages.two{grid-template-columns:1fr 1fr}.stages.two .stage{height:min(60vh,560px);min-height:300px}.stage.active{outline:2px solid var(--stage-accent);outline-offset:-2px}.sidetag{position:absolute;top:10px;left:12px;z-index:2;cursor:pointer;font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;padding:3px 10px;border-radius:999px;background:#0d1312a6;color:var(--stage-fg);border:1px solid rgba(223,230,225,.25)}.sidetag[aria-pressed=true]{background:var(--stage-accent);color:var(--stage-bottom);border-color:var(--stage-accent)}.stage{position:relative;height:min(76vh,720px);min-height:380px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(ellipse 70% 60% at 50% 42%,var(--stage-top) 0%,#16201e 55%,var(--stage-bottom) 100%)}.stage canvas{display:block;width:100%;height:100%;touch-action:none}.stage .msg{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--stage-muted);pointer-events:none}.stage .bar{position:absolute;left:12px;right:12px;bottom:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.vbtns{display:flex;flex-wrap:wrap;gap:4px}.vbtn{all:unset;box-sizing:border-box;cursor:pointer;font-size:var(--s--1);color:var(--stage-fg);border:1px solid rgba(223,230,225,.25);border-radius:999px;padding:4px 11px;background:#0d13128c}.vbtn[aria-pressed=true]{border-color:var(--stage-accent);color:var(--stage-accent)}.vbtn[disabled]{opacity:.4;cursor:default}.details{display:grid;gap:10px;min-width:0}.details h2{font-family:var(--display);font-weight:400;font-size:var(--s2);margin:0;line-height:1.15;text-wrap:balance}.details .desc{margin:0;color:var(--muted);max-width:70ch}.itemlist{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:var(--s--1)}.itemlist li{display:grid;gap:5px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}.itemlist .ithead{display:flex;gap:10px;align-items:baseline;font-weight:500}.itemlist code{font-family:var(--mono);font-size:.75rem;color:var(--muted);min-width:4.5em;font-variant-numeric:tabular-nums}.itemlist .itdesc{margin:0;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}.synlist{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:var(--s--1)}.synlist li{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:10px;align-items:baseline}.synlist b{font-family:var(--mono);font-size:.75rem;font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums}.stat{font-size:.75rem;border:1px solid var(--line);border-radius:999px;padding:1px 8px;color:var(--fg);font-variant-numeric:tabular-nums}.stat.good{border-color:var(--accent);color:var(--accent)}.model{font-family:var(--mono);font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:var(--s--1);border:1px solid var(--line);border-radius:999px;padding:2px 10px;color:var(--fg)}.chip b{font-weight:500;color:var(--muted);margin-right:4px}.racebar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.dyebox{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);min-width:0}.dyerow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.swatches{display:flex;flex-wrap:wrap;gap:6px}.sw{width:28px;height:28px;border-radius:10px;border:2px solid var(--line);cursor:pointer;padding:0}.sw:hover{border-color:var(--accent)}.sliders{display:grid;gap:6px}.sliders label{display:grid;grid-template-columns:5.5em minmax(0,1fr) 3.5em;gap:8px;align-items:center;font-size:var(--s--1);color:var(--muted)}.sliders input[type=range]{width:100%;min-width:0;accent-color:var(--accent)}.sliders span{font-family:var(--mono);font-size:.75rem;text-align:right;font-variant-numeric:tabular-nums}.dyenote{margin:0;font-size:.75rem;color:var(--muted)}.mapstage{position:relative;width:100%;aspect-ratio:1;max-height:min(78vh,760px);margin-inline:auto;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--stage-bottom)}.mapsvg{display:block;width:100%;height:100%;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.mapsvg:active{cursor:grabbing}.mapbg{fill:#0e1514}.mapgrid line{stroke:#dfe6e11a;stroke-width:1;vector-effect:non-scaling-stroke}.area{fill:#e0a85f38;stroke:#e0a85fbf;stroke-width:1;vector-effect:non-scaling-stroke;cursor:help}.area:hover{fill:#e0a85f80}.area.dim{fill:#e0a85f0a;stroke:#e0a85f2e;pointer-events:none}.area.hl{fill:#ff5c3c80;stroke:#ff8f6b;stroke-width:1.5}.npc{fill:#6fd3ff;stroke:#0b100f;stroke-width:1;vector-effect:non-scaling-stroke;cursor:help}.spawn{fill:#78e69647;stroke:#78e696;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:help}.portal{cursor:pointer}.portal .ring{fill:#7da0ff38;stroke:#9db4ff;stroke-width:1.5;vector-effect:non-scaling-stroke}.portal .core{fill:#c9d6ff}.portal text{fill:#e8ecff;paint-order:stroke;stroke:#0b100f;stroke-width:3px;stroke-linejoin:round;font-family:var(--mono);pointer-events:none}.portal.off{cursor:default;opacity:.55}.mapstage .msg{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--stage-muted);pointer-events:none}.mapstage .bar{position:absolute;left:12px;right:12px;bottom:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;pointer-events:none}.mapstage .bar>*{pointer-events:auto}.mapstage .vbtns{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.maphint{font-size:.75rem;color:var(--stage-muted);text-shadow:0 1px 3px #000}.mapcap{position:absolute;left:12px;top:12px;max-width:calc(100% - 24px);padding:4px 10px;border-radius:10px;background:#0d1312d9;border:1px solid rgba(223,230,225,.2);font-size:var(--s--1);color:var(--stage-fg);pointer-events:none}.hlpill{all:unset;box-sizing:border-box;cursor:pointer;position:absolute;right:12px;top:12px;max-width:calc(100% - 24px);padding:4px 12px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#ff5c3c33;border:1px solid #ff8f6b;color:#ffd6c9;font-size:var(--s--1)}.hlpill:hover{background:#ff5c3c59}.chip.link{all:unset;box-sizing:border-box;cursor:pointer;font-size:var(--s--1);border:1px solid var(--line);border-radius:999px;padding:2px 10px;color:var(--accent)}.chip.link:hover{border-color:var(--accent);background:var(--accent-soft)}.maplist{max-height:360px;overflow:auto;align-content:start}.maplist li{display:flex;align-items:stretch;gap:8px;padding:0}.maplist li.on{border-color:#ff8f6b;background:#ff5c3c1a}.rowbtn{all:unset;box-sizing:border-box;cursor:pointer;flex:1 1 auto;min-width:0;display:grid;gap:1px;padding:8px 12px}.rowbtn .nm{font-weight:500;overflow-wrap:anywhere}.rowbtn .sub{font-size:.75rem;color:var(--muted)}.rowbtn:focus-visible,.mini:focus-visible,.chip.link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.mini{all:unset;box-sizing:border-box;cursor:pointer;flex:none;width:40px;display:grid;place-items:center;color:var(--muted);border-left:1px solid var(--line)}.mini:hover{color:var(--accent);background:var(--accent-soft)}.foot{margin-top:12px;padding-top:14px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:6px 32px;color:var(--muted);font-size:.75rem;line-height:1.5}.foot p{margin:0;max-width:60ch}.foot a{color:inherit;text-decoration-color:var(--line)}.foot a:hover{color:var(--accent);text-decoration-color:currentColor}.sideseg{margin-left:4px}.cmphint{margin:0;color:var(--muted);font-size:var(--s--1)}.seo .crumbs{font-family:var(--mono);font-size:.75rem;color:var(--muted)}.seo a{color:var(--accent)}.seo h2{font-family:var(--display);font-weight:400;font-size:var(--s2);margin:0}.seo section{display:grid;gap:8px}.seo ul{margin:0;padding-left:1.2em}.seo .cols{columns:16rem;column-gap:24px}.seo .desc{margin:0;max-width:72ch;white-space:pre-line}@media (prefers-reduced-motion: reduce){*{transition:none!important}}@media (max-width: 1180px){.layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.leftcol{grid-row:1 / span 2}.sidecol{grid-column:2}.viewcol{position:static}}@media (max-width: 880px){.top{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand langs" "filters filters" "tabs tabs";gap:12px}.filters{flex-wrap:wrap;justify-content:stretch}.filters .clsfilter{flex:1 1 100%}.filters>.search{flex:1 1 160px;max-width:none;width:auto;margin-right:0}.tabs{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1*clamp(16px,2.4vw,32px));padding-inline:8px;scrollbar-width:none}.tab{white-space:nowrap;padding-inline:12px}.layout{grid-template-columns:minmax(0,1fr)}.leftcol{grid-row:auto;order:2}.viewcol{order:1}.sidecol{grid-column:1;order:3}.list{max-height:60vh}.stage{height:min(46vh,340px);min-height:260px}.stages.two{grid-template-columns:1fr}.stages.two .stage{height:44vh;min-height:260px}}@media (max-width: 520px){.brand .eyebrow,.maphint{display:none}}
