:root{--bg: #070912;--panel: #141a2b;--panel-2: #1e2740;--accent: #4ade80;--accent-2: #38bdf8;--danger: #f87171;--amber: #f59e0b;--text: #e6e9f2;--muted: #9aa3bd;--border: #2a3350;--bug: #86efac;--machine: #fb923c;--b-projectile: #cbd5e1;--b-energy: #67e8f9;--b-force: #c084fc;--b-bio: #86efac;--b-chem: #a3e635;--measure: 68ch;--radius: 14px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:118px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;background:radial-gradient(1100px 520px at 82% -8%,#14243f 0%,transparent 62%),radial-gradient(760px 420px at 8% 12%,#1a1436 0%,transparent 58%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.62;-webkit-text-size-adjust:100%}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(1px 1px at 12% 22%,#fff 50%,transparent 50%),radial-gradient(1px 1px at 68% 14%,#cfe3ff 50%,transparent 50%),radial-gradient(1px 1px at 34% 68%,#fff 50%,transparent 50%),radial-gradient(1px 1px at 88% 54%,#bcd4ff 50%,transparent 50%),radial-gradient(1px 1px at 52% 88%,#fff 50%,transparent 50%),radial-gradient(1px 1px at 22% 46%,#dbe7ff 50%,transparent 50%);opacity:.34}.skip{position:absolute;left:-9999px;background:var(--accent);color:#04140a;padding:10px 16px;border-radius:8px;font-weight:700;z-index:100}.skip:focus{left:12px;top:12px}#masthead{position:sticky;top:0;z-index:20;background:#070912db;backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.mast-inner{max-width:1180px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.mast-title{display:flex;align-items:center;gap:14px;min-width:0}.mast-mark{font-size:30px;line-height:1}#masthead h1{margin:0;font-size:21px;letter-spacing:.06em;text-transform:uppercase}.mast-sub{margin:2px 0 0;font-size:12.5px;color:var(--muted);letter-spacing:.05em}.play-link{flex:none;background:linear-gradient(180deg,#34d399,#10b981);color:#04140a;font-weight:800;text-decoration:none;padding:9px 20px;border-radius:999px;border:1px solid #6ee7b7;letter-spacing:.04em;box-shadow:0 6px 20px #10b98147}.play-link:hover{filter:brightness(1.08)}.play-link.big{padding:14px 40px;font-size:17px}#toc{position:sticky;top:61px;z-index:19;background:#141a2beb;backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.toc-inner{max-width:1180px;margin:0 auto;padding:0 12px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.toc-inner::-webkit-scrollbar{display:none}#toc a{flex:none;color:var(--muted);text-decoration:none;padding:12px 14px;font-size:13.5px;font-weight:600;letter-spacing:.03em;white-space:nowrap;border-bottom:2px solid transparent}#toc a:hover{color:var(--text)}#toc a.on{color:var(--accent-2);border-bottom-color:var(--accent-2)}#manual{max-width:1180px;margin:0 auto;padding:8px 20px 40px;position:relative;z-index:1}.sheet{padding:40px 0 12px;border-bottom:1px solid var(--border)}.sheet:last-child{border-bottom:0}.sheet-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}.sheet-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--accent-2);letter-spacing:.18em;border:1px solid var(--accent-2);border-radius:6px;padding:2px 8px;opacity:.8}.sheet h2{margin:0;font-size:clamp(26px,4.6vw,36px);letter-spacing:.02em}.lede{max-width:var(--measure);font-size:17.5px;color:#cdd5ea}.sheet p{max-width:var(--measure)}h3.sub{margin:38px 0 6px;font-size:20px;padding-top:14px;border-top:1px dashed var(--border)}.lore{max-width:var(--measure);border-left:3px solid var(--accent-2);padding:4px 0 4px 20px;margin:22px 0;color:#c2cbe2}.lore.compact{margin:14px 0 22px}.lore p{margin:0 0 12px}.lore p:last-child{margin-bottom:0}.bug-text{color:var(--bug)}.mach-text{color:var(--machine)}.cap-text{color:var(--amber)}.callout{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(180deg,#f59e0b1a,#f59e0b0a);border:1px solid rgba(245,158,11,.38);border-radius:var(--radius);padding:16px 18px;margin:24px 0;max-width:var(--measure)}.callout.subtle{background:linear-gradient(180deg,#38bdf817,#38bdf808);border-color:#38bdf857}.callout-mark{font-size:20px;line-height:1.3;flex:none}.callout div{font-size:15px}.phase-grid{display:grid;gap:16px;margin:22px 0 8px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.phase{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.phase h3{margin:10px 0 8px;font-size:21px}.phase p{max-width:none;font-size:14.5px}.phase-tag{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:999px}.phase-tag.build{background:#38bdf829;color:#7dd3fc;border:1px solid rgba(56,189,248,.4)}.phase-tag.flare{background:#f59e0b29;color:#fcd34d;border:1px solid rgba(245,158,11,.4)}.phase-note{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border);color:var(--muted);font-size:13.5px}.anchor-grid{display:grid;gap:14px;margin-top:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.anchor-card{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:16px}.anchor-icon{font-size:26px}.anchor-card h4{margin:6px 0;font-size:16px}.anchor-card p{margin:0;font-size:13.5px;color:var(--muted);max-width:none}.anchor-count{margin-top:10px;font-size:12px;color:var(--accent-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.resource-grid{display:grid;gap:14px;margin:20px 0;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.res-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.res-card.banked{border-color:#a78bfa73}.res-icon{font-size:26px}.res-head{display:flex;align-items:baseline;gap:10px;margin:6px 0 8px;flex-wrap:wrap}.res-head h4{margin:0;font-size:16px}.res-scope{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:1px 7px;border-radius:999px}.res-card.banked .res-scope{color:#c4b5fd;border-color:#a78bfa80}.res-card p{margin:0;font-size:13.5px;color:var(--muted);max-width:none}.world-list{display:flex;flex-direction:column;gap:14px;margin-top:20px}.world{display:flex;gap:18px;align-items:flex-start;background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--world-tint, var(--accent-2));border-radius:12px;padding:18px 20px}.world-orb{flex:none}.world-index{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 34% 30%,var(--world-tint, #38bdf8),#0a0f1d 78%);border:1px solid var(--border);font-weight:800;font-size:15px;text-shadow:0 1px 3px #000}.world-body{min-width:0;flex:1}.world-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.world-head h3{margin:0;font-size:20px}.world-diff{font-size:12px;color:var(--amber);letter-spacing:.1em}.dim{opacity:.25}.world-blurb{margin:6px 0 10px;color:var(--muted);font-size:14.5px;max-width:none}.world-cond{font-size:14px;margin-bottom:8px}.cond-tag{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--danger);border:1px solid rgba(248,113,113,.42);padding:1px 7px;border-radius:999px;margin-right:8px}.world-aff{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.aff{font-size:12px;padding:2px 9px;border-radius:999px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.aff.up{background:#4ade8024;color:var(--accent);border:1px solid rgba(74,222,128,.35)}.aff.down{background:#f8717121;color:var(--danger);border:1px solid rgba(248,113,113,.32)}.world-levels{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.world-levels li{font-size:12.5px;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);padding:4px 10px;border-radius:8px;display:flex;align-items:center;gap:7px}.world-levels li.boss{border-color:#f8717173;color:#fca5a5}.lv-n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;opacity:.6}.boss-tag{color:var(--danger);font-weight:700}.path-tree{display:grid;gap:16px;margin-top:22px;grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}.path-col{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.path-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.path-icon{font-size:26px;line-height:1;flex:none}.path-head h3{margin:0;font-size:18px}.path-blurb{margin:2px 0 0;font-size:13px;color:var(--muted);max-width:none}.tier-rail{display:flex;flex-direction:column;gap:0}.tier{display:flex;gap:12px;align-items:flex-start;padding:12px 0 12px 4px;position:relative}.tier:not(:last-child):after{content:"";position:absolute;left:17px;top:34px;bottom:-4px;width:2px;background:linear-gradient(180deg,var(--border),rgba(42,51,80,.25))}.tier-num{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--border);font-size:11px;font-weight:800;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;position:relative;z-index:1}.tier.capstone .tier-num{background:#f59e0b2e;border-color:var(--amber);color:#fcd34d}.tier-body h4{margin:3px 0;font-size:14.5px}.tier-body p{margin:0;font-size:13px;color:var(--muted);max-width:none}.cap-badge{display:inline-block;margin-top:7px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:#f59e0b29;color:#fcd34d;border:1px solid rgba(245,158,11,.45);padding:2px 8px;border-radius:999px}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px}.chip{font:inherit;font-size:13px;font-weight:600;background:var(--panel-2);color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:6px 16px;cursor:pointer}.chip:hover{color:var(--text)}.chip.on{background:#38bdf829;color:#7dd3fc;border-color:var(--accent-2)}#weapon-groups[data-filter=projectile] .branch-group:not([data-branch=projectile]),#weapon-groups[data-filter=energy] .branch-group:not([data-branch=energy]),#weapon-groups[data-filter=force] .branch-group:not([data-branch=force]),#weapon-groups[data-filter=bio] .branch-group:not([data-branch=bio]),#weapon-groups[data-filter=chem] .branch-group:not([data-branch=chem]){display:none}.branch-group{margin:26px 0 8px}.branch-head{margin-bottom:14px}.branch-head h3{margin:0 0 4px;font-size:19px;display:flex;align-items:center;gap:10px}.branch-head h3:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--accent-2)}.branch-group.projectile .branch-head h3:before{background:var(--b-projectile)}.branch-group.energy .branch-head h3:before{background:var(--b-energy)}.branch-group.force .branch-head h3:before{background:var(--b-force)}.branch-group.bio .branch-head h3:before{background:var(--b-bio)}.branch-group.chem .branch-head h3:before{background:var(--b-chem)}.branch-head p{margin:0;color:var(--muted);font-size:14px}.card-grid{display:grid;gap:14px;margin-top:14px;grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column}.card.build.projectile{border-top:3px solid var(--b-projectile)}.card.build.energy{border-top:3px solid var(--b-energy)}.card.build.force{border-top:3px solid var(--b-force)}.card.build.bio{border-top:3px solid var(--b-bio)}.card.build.chem{border-top:3px solid var(--b-chem)}.card.enemy.bug{border-top:3px solid var(--bug)}.card.enemy.machine{border-top:3px solid var(--machine)}.card-art{display:grid;place-items:center;min-height:96px;margin-bottom:10px;background:radial-gradient(120px 60px at 50% 60%,rgba(56,189,248,.1),transparent 70%);border-radius:10px}canvas.sprite{image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 3px 8px rgba(0,0,0,.55));max-width:100%;height:auto}.card-head h4{margin:0 0 3px;font-size:15.5px}.card-tier{font-size:11.5px;color:var(--muted);letter-spacing:.04em;margin-bottom:9px}.card-desc{margin:0 0 12px;font-size:13px;color:var(--muted);max-width:none}.stats{margin-top:auto;display:flex;flex-direction:column;gap:3px}.stat-row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:3px 0;border-bottom:1px dashed rgba(42,51,80,.6)}.stat-row:last-child{border-bottom:0}.stat-k{color:var(--muted)}.stat-v{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text)}.tag{margin-top:8px;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:8px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted)}.tag.effect{color:#c4b5fd;border-color:#a78bfa66}.tag.vs.good{color:var(--accent);border-color:#4ade8066}.tag.vs.bad{color:var(--danger);border-color:#f8717157}.tag.behav{color:#7dd3fc;border-color:#38bdf866}.tag.special{color:#fcd34d;border-color:#f59e0b73}.anchors{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.anchor-pill{font-size:10.5px;color:var(--muted);background:#1e2740b3;border:1px solid var(--border);padding:2px 8px;border-radius:999px}.faction-intro{margin:30px 0 4px;padding:18px 20px;border-radius:var(--radius);border:1px solid var(--border)}.faction-intro.bug{background:linear-gradient(180deg,rgba(134,239,172,.09),transparent);border-color:#86efac4d}.faction-intro.machine{background:linear-gradient(180deg,rgba(251,146,60,.09),transparent);border-color:#fb923c4d}.faction-intro h3{margin:0 0 8px;font-size:22px;display:flex;align-items:center;gap:10px}.fac-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.fac-dot.bug{background:var(--bug);box-shadow:0 0 12px var(--bug)}.fac-dot.machine{background:var(--machine);box-shadow:0 0 12px var(--machine)}.faction-intro p{margin:0 0 8px;font-size:14.5px}.fac-note{color:var(--muted);font-size:13.5px!important;margin-bottom:0!important}.bars{display:flex;flex-direction:column;gap:5px;margin-bottom:4px}.bar-row{display:flex;align-items:center;gap:8px;font-size:11.5px}.bar-k{color:var(--muted);width:46px;flex:none}.bar-track{flex:1;height:6px;border-radius:999px;background:#0a0f1de6;border:1px solid var(--border);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:999px}.bar-fill.hp{background:linear-gradient(90deg,#34d399,#10b981)}.bar-fill.spd{background:linear-gradient(90deg,#38bdf8,#0ea5e9)}.bar-fill.dmg{background:linear-gradient(90deg,#fb923c,#ef4444)}.bar-v{width:30px;text-align:right;flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}.drop{margin-top:10px;padding-top:9px;border-top:1px dashed var(--border);font-size:12px;color:var(--muted)}.behaviour-grid{display:grid;gap:14px;margin-top:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.behav-card{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:16px}.behav-card.special{border-color:#f59e0b57}.behav-icon{font-size:24px}.behav-card h4{margin:6px 0;font-size:15px}.behav-card p{margin:0;font-size:13.5px;color:var(--muted);max-width:none}ol.doctrine{counter-reset:d;list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}ol.doctrine li{counter-increment:d;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 18px 16px 54px;position:relative;font-size:14px;color:var(--muted)}ol.doctrine li:before{content:counter(d,decimal-leading-zero);position:absolute;left:16px;top:15px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:800;color:var(--accent-2);opacity:.75}ol.doctrine strong{color:var(--text);display:block;margin-bottom:2px}.endplate{margin:38px 0 10px;text-align:center;padding:30px 20px;border:1px dashed var(--border);border-radius:var(--radius)}.endplate p{margin:0 auto 18px;max-width:none;font-size:19px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}#colophon{max-width:1180px;margin:0 auto;padding:22px 20px 46px;border-top:1px solid var(--border);position:relative;z-index:1}#colophon p{margin:0;font-size:12.5px;color:var(--muted);max-width:var(--measure)}@media (max-width: 640px){html{scroll-padding-top:104px}.mast-inner{padding:10px 14px}#masthead h1{font-size:17px}.mast-sub{display:none}.mast-mark{font-size:24px}.play-link{padding:8px 16px;font-size:14px}#toc{top:53px}#manual{padding:4px 14px 30px}.sheet{padding:30px 0 10px}.lede{font-size:16px}.world{flex-direction:column;gap:12px;padding:16px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.card{padding:13px}.card-art{min-height:78px}ol.doctrine{grid-template-columns:1fr}#colophon{padding:18px 14px 40px}}
