@font-face{font-family:Oswald;src:url(/fonts/Oswald-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Roboto Mono;src:url(/fonts/RobotoMono-Regular.ttf) format("truetype");font-weight:400;font-display:swap}:root{--bg: #07080b;--bg-raise: #0c0e13;--surface: #11141a;--surface-2: #161a22;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--ink: #e9ecf3;--ink-soft: #aab3c2;--ink-dim: #6f7889;--brand: #33e5ff;--brand-deep: #0b6d84;--warn: #f2a94a;--danger: #e05a6b;--display: "Oswald", "Bebas Neue", "Franklin Gothic Medium", sans-serif;--mono: "Roboto Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius: 10px;--radius-sm: 6px;--shell: min(1500px, 94vw);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:radial-gradient(1200px 700px at 78% -8%,rgba(51,229,255,.09),transparent 62%),radial-gradient(900px 600px at 6% 12%,rgba(224,128,58,.06),transparent 58%),var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--display);font-weight:400;letter-spacing:.01em;line-height:1.08;margin:0;text-transform:uppercase}p{margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--mono);font-size:.82em}.skip{position:absolute;left:-9999px;top:0;padding:.6rem 1rem;background:var(--brand);color:#041016;z-index:100}.skip:focus{left:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.button{align-items:center;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;display:inline-flex;font-family:var(--display);font-size:.98rem;gap:.5rem;letter-spacing:.05em;padding:.68rem 1.15rem;text-transform:uppercase;transition:background .15s ease,border-color .15s ease,transform .1s ease;white-space:nowrap}.button:hover{background:#1d222c;border-color:var(--brand);text-decoration:none}.button:active{transform:translateY(1px)}.button--primary{background:linear-gradient(180deg,#3ee9ff,#17b9d8);border-color:transparent;color:#04161c;font-weight:500}.button--primary:hover{background:linear-gradient(180deg,#5cefff,#22cdec)}.button--discord{background:#5865f2;border-color:transparent;color:#fff}.button--discord:hover{background:#6975f6}.button__icon{font-size:1.05em;line-height:1}.chip{background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);cursor:pointer;font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;padding:.32rem .72rem;transition:color .15s ease,border-color .15s ease,background .15s ease}.chip:hover{border-color:var(--line-strong);color:var(--ink)}.chip[data-on=true]{background:color-mix(in oklab,var(--brand) 18%,transparent);border-color:var(--brand);color:var(--brand)}.chip--ghost{color:var(--ink-dim)}.swatch{block-size:1.35rem;border:2px solid transparent;border-radius:999px;cursor:pointer;inline-size:1.35rem;padding:0;transition:transform .12s ease,border-color .12s ease}.swatch:hover{transform:scale(1.12)}.swatch[data-on=true]{border-color:var(--ink)}.boot{align-items:center;color:var(--ink-dim);display:flex;font-family:var(--mono);font-size:.86rem;gap:.7rem;justify-content:center;min-block-size:60vh}.boot--failed{flex-direction:column;gap:.35rem;text-align:center}.boot__why{color:var(--ink-dim);font-size:.78rem}.boot__spark{animation:pulse 1s ease-in-out infinite;background:var(--brand);block-size:.5rem;border-radius:999px;inline-size:.5rem}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.page{margin:0 auto;max-inline-size:var(--shell);padding-block-end:5rem}.section__title{font-size:clamp(1.5rem,2.6vw,2.1rem)}.section__lede{color:var(--ink-soft);font-size:.95rem;margin-block-start:.5rem;max-inline-size:62ch}.top{align-items:center;backdrop-filter:blur(14px);background:color-mix(in oklab,var(--bg) 82%,transparent);border-block-end:1px solid var(--line);display:flex;justify-content:space-between;margin-block-end:3rem;position:sticky;padding-block:.85rem;inset-block-start:0;z-index:20}.brand{align-items:baseline;color:var(--ink);display:flex;font-family:var(--display);font-size:1.3rem;gap:.15rem;letter-spacing:.06em;text-transform:uppercase}.brand:hover{text-decoration:none}.brand__mark{color:var(--brand)}.top__nav{display:flex;gap:1.4rem}.top__nav a{color:var(--ink-soft);font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.top__nav a:hover{color:var(--brand);text-decoration:none}.hero{padding-block-end:4rem}.hero__eyebrow{color:var(--ink-dim);font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}.hero__title{font-size:clamp(2.4rem,6.4vw,4.6rem);margin-block-start:.9rem;max-inline-size:20ch}.hero__title span{display:block}.hero__title-dim{color:var(--ink-dim)}.hero__lede{color:var(--ink-soft);font-size:1.05rem;margin-block-start:1.4rem;max-inline-size:70ch}.hero__stats{display:flex;flex-wrap:wrap;gap:2.6rem;margin-block-start:2.4rem}.stat__value{color:var(--ink);display:block;font-family:var(--display);font-size:2rem;line-height:1}.stat__label{color:var(--ink-dim);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-block-start:2.4rem}.builder{padding-block-end:2rem}.builder__head{margin-block-end:1.4rem}.stage__caption{color:var(--ink-dim);font-size:.8rem;margin-block-start:.8rem;max-inline-size:60ch}.controls{display:flex;flex-wrap:wrap;gap:1.4rem;margin-block-start:1rem}.controls__group{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.controls__label{color:var(--ink-dim);font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;margin-inline-end:.2rem;text-transform:uppercase}.presets{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-block-end:1.4rem}.presets__label{color:var(--ink-dim);font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;margin-inline-end:.3rem;text-transform:uppercase}.picker__shelves{align-items:start;display:grid;gap:1.4rem 2.4rem;grid-template-columns:repeat(auto-fit,minmax(24rem,1fr))}.shelf__head{border-block-end:1px solid var(--line);padding-block-end:.5rem}.shelf__title{font-size:1.05rem;letter-spacing:.06em}.shelf__blurb{color:var(--ink-dim);font-size:.8rem}.shelf__rows{display:grid;margin-block-start:.35rem}.row{align-items:start;border-block-end:1px solid rgba(255,255,255,.04);cursor:pointer;display:grid;gap:.75rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.62rem .6rem;border-radius:var(--radius-sm);transition:background .12s ease}.row:hover,.row[data-spot=true]{background:#ffffff09}.row[data-on=true] .row__name{color:var(--ink)}.row__box{accent-color:var(--brand);block-size:1.05rem;inline-size:1.05rem;margin-block-start:.22rem}.row__box:disabled{opacity:.55}.row__text{display:grid;gap:.1rem;min-inline-size:0}.row__head{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem}.row__name{color:var(--ink-soft);font-family:var(--display);font-size:1rem;letter-spacing:.04em;text-transform:uppercase}.row__version{color:var(--ink-dim);font-family:var(--mono);font-size:.68rem}.row__tag{background:color-mix(in oklab,var(--brand) 16%,transparent);border-radius:999px;color:var(--brand);font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;padding:.05rem .45rem;text-transform:uppercase}.row__tag--quiet{background:#ffffff0f;color:var(--ink-dim)}.row__seen{color:var(--ink-dim);font-size:.82rem;line-height:1.45}.row__warn{color:var(--warn);font-family:var(--mono);font-size:.7rem}.row__size{color:var(--ink-dim);font-family:var(--mono);font-size:.72rem;margin-block-start:.18rem;white-space:nowrap}.summary{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent),var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);display:grid;gap:.9rem;margin-block-start:1.8rem;padding:1.1rem 1.2rem;position:sticky;inset-block-end:.8rem;z-index:5}.summary__count{display:block;font-family:var(--display);font-size:1.35rem;letter-spacing:.03em}.summary__detail{color:var(--ink-dim);font-family:var(--mono);font-size:.72rem}.summary__actions{display:flex;flex-wrap:wrap;gap:.6rem}.summary__notice{border-inline-start:2px solid var(--line-strong);color:var(--ink-soft);font-family:var(--mono);font-size:.72rem;line-height:1.5;padding-inline-start:.6rem;overflow-wrap:anywhere}.summary__notice[data-tone=ok]{border-color:var(--brand)}.summary__notice[data-tone=warn]{border-color:var(--warn);color:var(--warn)}.account{border:1px solid var(--line);border-radius:var(--radius);margin-block-start:1.6rem;padding:1.2rem}.account__head h3{font-size:1rem;letter-spacing:.06em}.account__blurb,.account__fine,.account__off{color:var(--ink-dim);font-size:.8rem;margin-block-start:.35rem}.account__body{margin-block-start:.9rem}.account__who{align-items:center;display:flex;gap:.65rem}.account__avatar{border-radius:999px;block-size:2rem;inline-size:2rem}.account__avatar--blank{align-items:center;background:var(--surface-2);display:inline-flex;font-family:var(--display);justify-content:center}.account__handle{font-family:var(--display);letter-spacing:.04em;text-transform:uppercase}.account__out{background:none;border:0;color:var(--ink-dim);cursor:pointer;font-family:var(--mono);font-size:.7rem;margin-inline-start:auto;text-decoration:underline}.account__save{display:flex;gap:.5rem;margin-block-start:.9rem}.account__name{background:var(--bg-raise);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);flex:1;font-family:var(--sans);min-inline-size:0;padding:.55rem .7rem}.account__list{display:grid;gap:.4rem;list-style:none;margin:1rem 0 0;padding:0}.saved{align-items:center;background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;gap:.5rem;padding:.5rem .6rem}.saved__open{background:none;border:0;color:inherit;cursor:pointer;display:grid;flex:1;gap:.1rem;min-inline-size:0;text-align:start}.saved__name{font-family:var(--display);letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.saved__meta{color:var(--ink-dim);font-family:var(--mono);font-size:.68rem}.saved__act{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-dim);cursor:pointer;font-family:var(--mono);font-size:.68rem;padding:.28rem .5rem}.saved__act:hover{border-color:var(--line-strong);color:var(--ink)}.saved__act--danger:hover{border-color:var(--danger);color:var(--danger)}.cat,.install{margin-block-start:5.5rem}.cat__shelf{margin-block-start:2.6rem}.cat__title{border-block-end:1px solid var(--line);font-size:1.05rem;letter-spacing:.08em;padding-block-end:.5rem}.cat__grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));margin-block-start:1.1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;gap:.6rem;padding:1rem;transition:border-color .15s ease,transform .15s ease}.card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.card__head{align-items:baseline;display:flex;gap:.6rem;justify-content:space-between}.card__name{font-size:1rem;letter-spacing:.05em}.card__version{color:var(--ink-dim);font-family:var(--mono);font-size:.68rem}.card__notes{color:var(--ink-soft);flex:1;font-size:.85rem}.card__foot{align-items:center;border-block-start:1px solid var(--line);display:flex;gap:.6rem;justify-content:space-between;padding-block-start:.6rem}.card__id{color:var(--brand);overflow:hidden;text-overflow:ellipsis}.card__size{color:var(--ink-dim);font-family:var(--mono);font-size:.68rem;white-space:nowrap}.steps{counter-reset:step;display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));list-style:none;margin:2rem 0 0;padding:0}.step{border-block-start:1px solid var(--line);display:flex;gap:.8rem;padding-block-start:.9rem}.step__n{color:var(--brand);font-family:var(--display);font-size:1.6rem;line-height:1}.step__title{font-size:.95rem;letter-spacing:.05em}.step__body{color:var(--ink-soft);font-size:.85rem;margin-block-start:.25rem}.install__note{color:var(--ink-dim);font-size:.85rem;margin-block-start:1.8rem;max-inline-size:78ch}.foot{border-block-start:1px solid var(--line);color:var(--ink-dim);font-size:.78rem;margin-block-start:5rem;padding-block-start:1.4rem}.foot__fine{margin-block-start:.5rem;max-inline-size:90ch}.cat__legend{display:flex;flex-direction:column;gap:.4rem;margin-block-start:1rem}.cat__legend-row{align-items:baseline;display:flex;gap:.6rem}.cat__legend-blurb{color:var(--ink-dim);font-size:.8rem}.top__nav-strong{color:var(--brand)}.row__more{align-self:center;color:var(--ink-dim);font-size:1.1rem;line-height:1;padding:0 .3rem;text-decoration:none}.row__more:hover{color:var(--brand);text-decoration:none}a.card{color:inherit;text-decoration:none}a.card:hover{text-decoration:none}.row__pages{color:var(--ink-dim);font-family:var(--mono);font-size:.68rem}.stage__wrap{border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;position:relative}.stage{--accent-class: #ff7d0a;aspect-ratio:16 / 9;background:#05060a;container-type:size;font-family:var(--mono);inline-size:100%;overflow:hidden;position:relative;transition:aspect-ratio .35s ease;user-select:none}.lyr{inset:0;position:absolute}.lyr--frame{inset:auto}.lyr[data-on=false]{display:none}.mock-at,.mock-row,.mock-col{display:flex}.mock-col{flex-direction:column}.mock-at{align-items:center}.stage[data-spotlit=true] .lyr{filter:saturate(.2) brightness(.5);opacity:.32;transition:opacity .18s ease,filter .18s ease}.stage[data-spotlit=true] .lyr[data-spot=true]{filter:none;opacity:1;z-index:40}.scene{inset:0;position:absolute}.scene__vault{background:radial-gradient(55% 40% at 50% 2%,rgba(120,150,190,.14),transparent 70%),linear-gradient(180deg,#0a0d14,#0d1018 48%,#070910);inset:0;position:absolute}.scene__floor{background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 6%),linear-gradient(180deg,#0c0f16,#05070c);inset:58% 0 0;position:absolute;transform:perspective(30cqh) rotateX(60deg);transform-origin:top center}.scene__torch{background:radial-gradient(circle,rgba(224,128,58,.34),transparent 70%);block-size:40cqh;filter:blur(2cqh);inline-size:40cqh;inset-block-start:4%;position:absolute}.scene__torch--left{inset-inline-start:-12cqh}.scene__torch--right{inset-inline-end:-12cqh}.scene__player{background:linear-gradient(180deg,#3a2c1c,#14100a);block-size:13cqh;border-radius:40% 40% 25% 25%;inline-size:6cqh;inset-block-start:46%;inset-inline-start:50%;position:absolute;transform:translate(-50%)}.scene__enemy{position:absolute}.scene__enemy-body{background:linear-gradient(180deg,#1d2430,#0c1016);block-size:12cqh;border-radius:45% 45% 30% 30%;box-shadow:inset 0 .5cqh 1.4cqh #ffffff12;inline-size:6cqh}.scene__enemy-glow{background:radial-gradient(ellipse,rgba(192,72,63,.3),transparent 68%);block-size:5cqh;inline-size:12cqh;inset-block-end:-2cqh;inset-inline-start:-3cqh;position:absolute}.scene__enemy--a{inset-block-start:30%;inset-inline-start:33%}.scene__enemy--b{inset-block-start:24%;inset-inline-start:44%;transform:scale(.84)}.scene__enemy--c{inset-block-start:33%;inset-inline-start:61%;transform:scale(.72)}.mock-panel{background:var(--sk-panel);border:1px solid var(--sk-stroke);border-radius:var(--sk-radius)}.mock-bar{background:var(--sk-track);border-radius:calc(var(--sk-radius) / 2);overflow:hidden;position:relative}.mock-bar__fill{block-size:100%;position:absolute;inset-block-start:0;inset-inline-start:0;transition:width .5s ease}.mock-bar__fill:after{background:linear-gradient(180deg,rgba(255,255,255,calc(var(--sk-sheen) * 2)),transparent 60%);content:"";inset:0;position:absolute}.mock-bar__label{color:#fff;inset-inline:.4cqh .4cqh;overflow:hidden;position:absolute;inset-block-start:50%;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.9);transform:translateY(-50%);white-space:nowrap}.mock-icon{align-items:center;background:linear-gradient(160deg,#2b3340,#151a22);border:1px solid var(--sk-stroke);border-radius:calc(var(--sk-radius) * .6);display:flex;flex:none;justify-content:center;overflow:hidden;position:relative}.mock-icon.is-hot{border-color:var(--accent);box-shadow:0 0 1cqh color-mix(in oklab,var(--accent) 55%,transparent)}.mock-icon__glyph{color:#ffffffb8;font-family:var(--display);line-height:1}.mock-icon__bind{color:#ffffffd9;inset-block-start:1px;inset-inline-end:2px;line-height:1;position:absolute;text-shadow:0 1px 2px #000}.mock-icon__cd{background:#0009;inset-block-end:0;inset-inline:0;position:absolute}.mock-topbar{align-items:center;border:0;clip-path:polygon(2cqh 0,calc(100% - 2cqh) 0,100% 100%,0 100%);display:flex;justify-content:space-between;padding-inline:3cqh}.mock-topbar__side{align-items:baseline;display:flex}.mock-readout{align-items:baseline;display:flex;gap:.5cqh;inset:auto;position:relative}.mock-readout__label{color:var(--sk-text-dim);letter-spacing:.08em}.mock-readout__value{color:#fff}.mock-topbar__clock{align-items:center;display:flex;flex-direction:column;line-height:1.05}.mock-clock__time{color:#fff;font-family:var(--display)}.mock-clock__date{color:var(--sk-text-dim);letter-spacing:.1em}.mock-bottombar{align-items:center;border-block-start:1px dashed color-mix(in oklab,var(--sk-stroke) 60%,transparent);color:var(--sk-text-dim);display:flex;inset-block-end:0;inset-inline:0;justify-content:center;opacity:.5;position:absolute}.mock-unit{display:flex;flex-direction:column;gap:1px;justify-content:center;padding:2px}.mock-unit__name{color:#fff;display:flex;justify-content:space-between;line-height:1.1}.mock-unit__lvl{color:var(--sk-text-dim)}.mock-unit.is-off{background:transparent;border-style:dashed;opacity:.34}.mock-hp{color:#fff;font-family:var(--display);line-height:1;text-shadow:0 2px 4px #000}.mock-points{display:flex}.mock-point{background:var(--sk-track);border:1px solid var(--sk-stroke);border-radius:calc(var(--sk-radius) / 2);flex:1}.mock-point.is-lit{background:var(--accent-class);box-shadow:0 0 .8cqh color-mix(in oklab,var(--accent-class) 60%,transparent)}.mock-cross{block-size:3cqh;inline-size:3cqh;position:relative}.mock-cross__arm{background:#ffffffe6;box-shadow:0 0 0 1px #000c;position:absolute}.mock-cross__arm.is-up,.mock-cross__arm.is-down{block-size:.93cqh;inline-size:.19cqh;inset-inline-start:50%;transform:translate(-50%)}.mock-cross__arm.is-up{inset-block-start:0}.mock-cross__arm.is-down{inset-block-end:0}.mock-cross__arm.is-left,.mock-cross__arm.is-right{block-size:.19cqh;inline-size:.93cqh;inset-block-start:50%;transform:translateY(-50%)}.mock-cross__arm.is-left{inset-inline-start:0}.mock-cross__arm.is-right{inset-inline-end:0}.mock-stats{block-size:100%;display:flex;flex-direction:column;inline-size:100%;justify-content:space-evenly;padding:.4cqh .7cqh}.mock-stat{display:flex;justify-content:space-between;line-height:1.15}.mock-stat__label{color:var(--sk-text-dim)}.mock-minimap{block-size:100%;display:flex;flex-direction:column;inline-size:100%;padding:.4cqh}.mock-minimap__disc{background:radial-gradient(circle at 42% 36%,#24302a,#101a14 64%),#0b120e;border:1px solid var(--sk-stroke);border-radius:calc(var(--sk-radius) * .6);flex:1;position:relative}.mock-minimap__arrow{border-block-end:1.2cqh solid var(--accent);border-inline:.65cqh solid transparent;inset-block-start:50%;inset-inline-start:50%;position:absolute;transform:translate(-50%,-50%)}.mock-minimap__foot{color:var(--sk-text-dim);display:flex;justify-content:space-between;padding-block-start:.3cqh}.mock-minimap__dock{display:flex;inset-block-start:calc(100% + .5cqh);inset-inline-end:0;position:absolute}.mock-minimap__button{background:#ffffff24;border:1px solid var(--sk-stroke);border-radius:999px}.mock-pins{inset:.4cqh;position:absolute}.mock-pins__route{block-size:100%;inline-size:100%;opacity:.85}.mock-pin{background:#c0483f;block-size:.65cqh;border-radius:999px;box-shadow:0 0 0 1px #000000b3;inline-size:.65cqh;position:absolute;transform:translate(-50%,-50%)}.mock-pin.is-pulled{background:var(--accent);box-shadow:0 0 .6cqh color-mix(in oklab,var(--accent) 70%,transparent)}.mock-timeline__row{align-items:center;display:flex}.mock-warning{color:#ff5f5f;font-family:var(--display);letter-spacing:.08em;line-height:1;text-shadow:0 3px 10px rgba(0,0,0,.9);white-space:nowrap}.stage[data-combat=true] .mock-warning{animation:cue-throb 1.1s ease-in-out infinite}@keyframes cue-throb{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}.mock-meter{display:flex;flex-direction:column;inline-size:100%;padding:.3cqh}.mock-meter__head{align-items:center;border-block-end:1px solid var(--sk-stroke);color:var(--sk-text-dim);display:flex;justify-content:space-between;margin-block-end:.3cqh;padding-inline:.3cqh}.mock-meter__row{background:var(--sk-track);border-radius:calc(var(--sk-radius) / 2);overflow:hidden;position:relative}.mock-meter__fill{block-size:100%;opacity:.75;position:absolute;transition:width .5s ease}.mock-meter__name,.mock-meter__dps{color:#fff;inset-block-start:50%;position:absolute;transform:translateY(-50%)}.mock-meter__name{inset-inline-start:.4cqh}.mock-meter__dps{inset-inline-end:.4cqh}.mock-keystone{display:flex;flex-direction:column;gap:.3cqh;inline-size:100%;padding:.5cqh .7cqh}.mock-keystone__head{align-items:baseline;color:#fff;display:flex;justify-content:space-between}.mock-keystone__clock{font-family:var(--display)}.mock-keystone__dim{color:var(--sk-text-dim)}.mock-markers{display:flex}.mock-marker{align-items:center;background:var(--sk-panel);border:1px solid var(--sk-stroke);border-radius:calc(var(--sk-radius) * .6);color:#fff;display:flex;flex:none;justify-content:center}.mock-marker--0{color:#f5d33c}.mock-marker--1{color:#f28f2e}.mock-marker--2{color:#9b6ef3}.mock-marker--3{color:#4bd07a}.mock-marker--4{color:#5aa9f0}.mock-marker--5{color:#e05a6b}.mock-marker--6{color:#d8d8d8}.mock-marker--7{color:#e8e8e8}.mock-marker--pull{color:var(--accent);inline-size:auto;letter-spacing:.08em;padding-inline:.6cqh}.mock-chat{block-size:100%;display:flex;flex-direction:column;gap:.3cqh;inline-size:100%;padding:.5cqh}.mock-chat__tabs{color:var(--sk-text-dim);display:flex;letter-spacing:.06em}.mock-chat__tabs .is-active{color:var(--accent)}.mock-chat__body{display:flex;flex:1;flex-direction:column;justify-content:flex-end}.mock-chat__line{line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mock-chat__line--guild{color:#3ecf8e}.mock-chat__line--party{color:#6aa9ff}.mock-chat__line--say{color:#e8eaf0}.mock-chat__line--sys{color:#f2c94c}.mock-chat__rail{color:var(--sk-text-dim);display:flex}.mock-nemesis{display:flex;flex-direction:column;gap:.3cqh;inline-size:100%;padding:.5cqh .7cqh}.mock-nemesis__title{color:#e0803a;font-family:var(--display);letter-spacing:.16em;text-align:center}.mock-nemesis__wave{align-items:center;color:#fff;display:flex;gap:.5cqh;justify-content:center;letter-spacing:.1em}.mock-nemesis__arrow{color:var(--accent);line-height:1;transform:rotate(-90deg)}.mock-ironfur{align-items:flex-end;display:flex}.mock-ironfur__pip{background:var(--sk-track);border:1px solid var(--sk-stroke);flex:none;position:relative}.mock-ironfur__fill{background:#8a6a3f;inset-block-end:0;inset-inline:0;position:absolute}.mock-grid{background-image:linear-gradient(to right,color-mix(in oklab,var(--accent) 20%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklab,var(--accent) 20%,transparent) 1px,transparent 1px);inset:0;position:absolute}.mock-grid:after{background:color-mix(in oklab,var(--accent) 50%,transparent);block-size:100%;content:"";inline-size:1px;inset-inline-start:50%;position:absolute}.stage[data-combat=true] .mock-unit--target .mock-bar__fill{animation:drain 6s ease-in-out infinite alternate}.stage[data-combat=true] .lyr--resources .mock-bar__fill{animation:spend 3.2s ease-in-out infinite alternate}.stage[data-combat=true] .mock-bar--cast .mock-bar__fill{animation:cast 2.4s linear infinite}@keyframes drain{0%{width:41%}to{width:14%}}@keyframes spend{0%{width:55%}to{width:88%}}@keyframes cast{0%{width:0%}to{width:100%}}.bag-window{block-size:100%;display:flex;flex-direction:column;inline-size:100%;overflow:hidden}.bag-header{align-items:center;border-block-end:1px solid var(--sk-stroke);display:flex;flex:none;justify-content:space-between}.bag-header__title{color:#fff;font-family:var(--display);letter-spacing:.04em}.bag-header__right{align-items:center;display:flex}.bag-search{align-items:center;background:#00000059;border:1px solid var(--sk-stroke);border-radius:calc(var(--sk-radius) / 2);color:var(--sk-text-dim);display:flex;justify-content:center}.bag-header__button{align-items:center;background:#ffffff0f;border:1px solid var(--sk-stroke);border-radius:calc(var(--sk-radius) / 2);color:var(--sk-text-dim);display:flex;justify-content:center}.bag-body{display:flex;flex:1;gap:0;min-block-size:0}.bag-rail{border-inline-end:1px solid color-mix(in oklab,var(--sk-stroke) 50%,transparent);display:flex;flex:none;flex-direction:column;padding-block-start:.4cqh}.bag-rail__row{align-items:center;color:var(--sk-text-dim);display:flex;gap:.5cqh}.bag-rail__row.is-group{color:#ffffffd1}.bag-rail__icon{background:linear-gradient(160deg,#3a4553,#1b212a);border-radius:2px;flex:none}.bag-rail__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bag-rail__count{color:var(--sk-text-dim)}.bag-scroll{flex:1;min-inline-size:0;overflow:hidden;padding-block-start:.4cqh;padding-inline-start:.6cqh}.bag-cat__head{align-items:baseline;display:flex}.bag-cat__name{color:#e8d9a8;font-family:var(--display);letter-spacing:.03em}.bag-cat__count{color:var(--sk-text-dim)}.bag-grid{display:flex;flex-wrap:wrap}.bag-slot{background:#0b0e13;border:1px solid;border-radius:calc(var(--sk-radius) * .4);flex:none;position:relative}.bag-slot__art{background:linear-gradient(150deg,#46536a,#26303f 45%,#161d27);inset:1px;position:absolute}.bag-slot__ilvl,.bag-slot__count{line-height:1;position:absolute;text-shadow:0 1px 2px #000}.bag-slot__ilvl{inset-block-start:1px;inset-inline-start:2px}.bag-slot__count{color:#fff;inset-block-end:1px;inset-inline-end:2px}.bag-footer{align-items:center;border-block-start:1px solid var(--sk-stroke);color:var(--sk-text-dim);display:flex;flex:none;justify-content:space-between}.bag-footer__money{align-items:center;color:#fff;display:flex;gap:.2cqh}.bag-coin{block-size:.85cqh;border-radius:999px;display:inline-block;inline-size:.85cqh;margin-inline-end:.4cqh}.bag-coin--g{background:#e8c34a}.bag-coin--s{background:#d2d2d2}.bag-coin--c{background:#c47a45}.stage[data-arranging=true] [data-movable]{cursor:grab;outline:1px dashed color-mix(in oklab,var(--accent) 75%,transparent);outline-offset:1px}.stage[data-arranging=true] [data-movable]:hover{outline-color:var(--accent);outline-style:solid}.stage[data-arranging=true] [data-movable][data-dragging=true]{cursor:grabbing;outline:1px solid var(--accent);z-index:60}.stage[data-arranging=true] [data-movable] *{pointer-events:none}.mover{background:#06080ceb;border:1px solid var(--accent);border-radius:4px;color:#fff;display:flex;font-family:var(--mono);font-size:1.3cqh;gap:1cqh;inset-block-start:1.5cqh;inset-inline-start:50%;padding:.5cqh 1cqh;pointer-events:none;position:absolute;transform:translate(-50%);white-space:nowrap;z-index:80}.mover__coords{color:var(--accent)}.scene__plate{block-size:100%;inline-size:100%;inset:0;object-fit:cover;object-position:center;position:absolute}.stage:not([data-scene=drawn]) .scene__vault,.stage:not([data-scene=drawn]) .scene__floor,.stage:not([data-scene=drawn]) .scene__torch,.stage:not([data-scene=drawn]) .scene__player,.stage:not([data-scene=drawn]) .scene__enemy{display:none}.stage:not([data-scene=plate]) .scene__plate{display:none}.stage[data-scene=plate]:before{background:linear-gradient(180deg,#04060a6b,#04060a2e 35%,#04060a80);content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.mock-plate{align-items:center;display:flex;flex-direction:column;position:absolute;transform:translate(-50%)}.mock-plate.is-dim{filter:brightness(.6)}.plate__name{color:#fff;line-height:1;margin-block-end:.37cqh;text-shadow:0 1px 2px rgba(0,0,0,.95);white-space:nowrap}.plate__bar{background:#000000b3;border:var(--np-border) solid #000;position:relative}.plate__fill{block-size:100%;inset-block-start:0;inset-inline-start:0;position:absolute;transition:width .4s ease}.plate__right{color:#fff;inset-block-start:50%;inset-inline-end:.2cqh;line-height:1;position:absolute;text-shadow:0 1px 2px rgba(0,0,0,.95);transform:translateY(-50%)}.mock-plate.is-target .plate__bar:after{background:#fff3;content:"";inset:0;pointer-events:none;position:absolute}.plate__cast{align-items:stretch;display:flex;gap:var(--np-border)}.plate__cast-icon{background:linear-gradient(150deg,#4a6ea8,#1d2a3f);border:var(--np-border) solid #000;flex:none}.plate__cast-bar{background:#000000b3;border:var(--np-border) solid #000;flex:1;min-inline-size:0;position:relative}.plate__cast-fill{block-size:100%;inset-block-start:0;inset-inline-start:0;position:absolute}.plate__cast-spark{background:#fff;block-size:100%;inline-size:var(--np-border);opacity:.85;position:absolute;inset-block-start:0}.plate__cast-name,.plate__cast-timer{color:#fff;inset-block-start:50%;line-height:1;position:absolute;text-shadow:0 1px 2px rgba(0,0,0,.95);transform:translateY(-50%);white-space:nowrap}.plate__cast-name{inset-inline-start:.2cqh}.plate__cast-timer{inset-inline-end:.2cqh}.stage[data-combat=true] .mock-plate[data-unit="0"] .plate__cast-fill{animation:cast 2.4s linear infinite}.ab-bar{align-items:flex-end}.ab-button{flex:none;overflow:hidden;position:relative}.ab-art{inset:0;position:absolute}.lyr--actionbars[data-skinned=false] .ab-button{border:var(--ab-edge) solid #000;box-shadow:inset 0 0 0 1px #ffffff47,inset 0 0 0 3px #786038d9}.lyr--actionbars[data-skinned=true] .ab-button{background:var(--ab-backdrop);border:var(--ab-edge) solid var(--ab-border)}.lyr--actionbars[data-skinned=true] .ab-art{transform:scale(var(--ab-zoom))}.ab-key{color:#ffffffeb;inset-inline-end:.19cqh;line-height:1;position:absolute;text-shadow:0 1px 2px #000}.lyr--actionbars[data-skinned=false] .ab-key{font-size:.9cqh}.ab-count{color:#fff;inset-block-end:.19cqh;inset-inline-end:.19cqh;line-height:1;position:absolute;text-shadow:0 1px 2px #000}.ab-cd{background:#0009;inset-block-end:0;inset-inline:0;position:absolute}.ab-art{background-position:center;background-size:cover}.stage[data-scene=neutral]{background:linear-gradient(180deg,#26292f,#1a1c21)}.stage[data-scene=plate]:before{content:""}.stage:not([data-scene=plate]):before{content:none}body[data-page=setup]{overflow:hidden}.setup{block-size:100dvh;display:flex;flex-direction:column;margin:0 auto;max-inline-size:2200px;padding-inline:1.2rem}.setup__top{align-items:center;border-block-end:1px solid var(--line);display:flex;flex:none;gap:1rem;padding-block:.7rem}.setup__here{color:var(--ink-dim);font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.setup__back{color:var(--ink-soft);font-family:var(--mono);font-size:.75rem;margin-inline-start:auto}.setup__body{display:grid;flex:1;gap:1.2rem;grid-template-columns:minmax(0,1fr) 22rem;min-block-size:0;padding-block:1rem}@media(max-width:1100px){body[data-page=setup]{overflow:auto}.setup{block-size:auto}.setup__body{grid-template-columns:minmax(0,1fr)}}.setup__main{display:flex;flex-direction:column;gap:.9rem;min-block-size:0}.setup__stage{inline-size:min(100%,calc((100dvh - 16rem) * var(--stage-ratio, 1.7778)));margin-inline:auto}.setup__stage .stage{border:1px solid var(--line-strong);border-radius:var(--radius)}.setup__controls{align-items:center;display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center}.setup__group{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.setup__label{color:var(--ink-dim);font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;margin-inline-end:.15rem;text-transform:uppercase}.setup__tally{color:var(--ink-dim);flex-basis:100%;font-size:.78rem;text-align:center}.setup__side{display:flex;flex-direction:column;gap:1rem;min-block-size:0;overflow-y:auto;padding-inline-end:.3rem}.frames,.legend{border:1px solid var(--line);border-radius:var(--radius);padding:.9rem}.frames{display:flex;flex-direction:column;min-block-size:0}.frames__title{font-family:var(--display);font-size:.95rem;font-weight:400;letter-spacing:.07em;margin:0;text-transform:uppercase}.frames__blurb,.frames__empty,.legend__note{color:var(--ink-dim);font-size:.75rem;line-height:1.5;margin-block-start:.35rem}.frames__list{display:flex;flex-direction:column;margin-block-start:.7rem;min-block-size:0}.frames__row{align-items:center;border-block-start:1px solid rgba(255,255,255,.05);display:flex;gap:.5rem;justify-content:space-between;padding-block:.32rem}.frames__row:hover{background:#ffffff08}.frames__name{display:flex;flex-direction:column;min-inline-size:0}.frames__name>span:first-child{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frames__anchor{color:var(--ink-dim);font-family:var(--mono);font-size:.62rem;letter-spacing:.08em}.frames__nums{display:flex;flex:none;gap:.25rem}.frames__num{background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--mono);font-size:.72rem;inline-size:4.2rem;padding:.2rem .35rem;text-align:end}.frames__num:focus-visible{border-color:var(--brand)}.stage [data-lit=true]{outline:2px solid var(--brand);outline-offset:2px;z-index:70}.legend__row{align-items:baseline;display:flex;gap:.6rem;margin-block-start:.55rem}.legend__blurb{color:var(--ink-soft);font-size:.75rem;line-height:1.45}.badge{border:1px solid;border-radius:999px;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;padding:.05rem .45rem;text-transform:uppercase;white-space:nowrap}.badge[data-status=alpha]{background:color-mix(in oklab,var(--danger) 16%,transparent);border-color:color-mix(in oklab,var(--danger) 55%,transparent);color:#ff9aa6}.badge[data-status=beta]{background:color-mix(in oklab,var(--warn) 16%,transparent);border-color:color-mix(in oklab,var(--warn) 55%,transparent);color:var(--warn)}.badge[data-status=stable]{background:#ffffff0d;border-color:var(--line-strong);color:var(--ink-dim)}.plugin{--pg-accent: rgb(51, 230, 255);--pg-card: rgb(23, 26, 31);--pg-edge: rgb(77, 82, 97);--pg-header: rgb(140, 148, 166);--pg-off: rgb(26, 28, 33);--pg-knob: rgb(115, 120, 133);--pg-dim: rgb(153, 158, 173);margin:0 auto;max-inline-size:1400px;padding:0 1.2rem 4rem}.plugin__head{padding-block:2rem 1.6rem}.plugin__title{align-items:baseline;display:flex;flex-wrap:wrap;gap:.7rem}.plugin__title h1{font-size:clamp(1.8rem,4vw,2.8rem)}.plugin__version{color:var(--ink-dim);font-family:var(--mono);font-size:.8rem}.plugin__notes{color:var(--ink-soft);font-size:1rem;margin-block-start:.8rem;max-inline-size:78ch}.plugin__facts{color:var(--ink-dim);display:flex;flex-wrap:wrap;font-family:var(--mono);font-size:.72rem;gap:1.2rem;margin-block-start:.9rem}.plugin__facts code{color:var(--brand)}.plugin__actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-block-start:1.4rem}.plugin__nospec{color:var(--ink-dim);font-size:.9rem;max-inline-size:70ch}.plugin__shot{margin-block-end:2rem}.plugin__shot .stage__wrap{overflow:hidden}.plugin__shot-caption{color:var(--ink-dim);font-size:.8rem;margin-block-start:.7rem;max-inline-size:74ch}.set-window{background:#080a0df5;border:1px solid var(--pg-edge);border-radius:var(--radius);color:#fff;padding:1.2rem 1.4rem 2rem}.set-title h2{font-family:var(--sans);font-size:1.15rem;font-weight:500;letter-spacing:0;text-transform:none}.set-subtitle{color:var(--pg-dim);font-size:.82rem;margin-block-start:.3rem}.set-rail{border-block-end:1px solid color-mix(in oklab,var(--pg-accent) 55%,transparent);display:flex;gap:.3rem;margin-block:.9rem 1.2rem}.set-tab{background:none;border:0;border-block-end:2px solid transparent;color:var(--pg-dim);cursor:pointer;font-family:var(--sans);font-size:.85rem;margin-block-end:-1px;padding:.35rem .8rem}.set-tab:hover{color:#fff}.set-tab[data-on=true]{border-block-end-color:var(--pg-accent);color:#fff}.set-body{display:grid;gap:.5rem .8rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.set-body{grid-template-columns:minmax(0,1fr)}}.set-header{align-items:center;color:var(--pg-header);display:flex;font-family:var(--sans);font-size:.7rem;font-weight:500;gap:.5rem;grid-column:1 / -1;letter-spacing:.08em;margin-block:.9rem .1rem;text-align:start;text-transform:uppercase}.set-header:after{background:#ffffff12;block-size:1px;content:"";flex:1}.set-header:first-child{margin-block-start:0}.set-note{color:var(--pg-dim);font-size:.78rem;grid-column:1 / -1;line-height:1.5;margin-block:.4rem;max-inline-size:88ch}.set-row{align-items:center;background:var(--pg-card);border:1px solid var(--pg-edge);border-radius:5px;display:flex;gap:.8rem;justify-content:space-between;padding:.55rem .8rem}.set-row--slider{grid-column:1 / -1}.set-label{display:flex;flex-direction:column;font-size:.85rem;gap:.1rem}.set-sublabel{color:var(--pg-dim);font-size:.7rem}.set-control{align-items:center;display:flex;flex:0 1 auto;gap:.6rem}.set-row--slider .set-control{flex:1}.set-value{color:#fff;font-family:var(--mono);font-size:.78rem;min-inline-size:2.5rem;text-align:end}.set-check{appearance:none;background:var(--pg-off);block-size:1.15rem;border:1px solid var(--pg-edge);border-radius:3px;cursor:pointer;inline-size:2.3rem;margin:0;position:relative;transition:background .15s ease}.set-check:after{background:var(--pg-knob);block-size:calc(100% - 4px);border-radius:2px;content:"";inline-size:45%;inset-block-start:2px;inset-inline-start:2px;position:absolute;transition:transform .15s ease,background .15s ease}.set-check:checked{background:#0f454d;border-color:color-mix(in oklab,var(--pg-accent) 60%,transparent)}.set-check:checked:after{background:var(--pg-accent);transform:translate(105%)}.set-slider{accent-color:var(--pg-accent);flex:1;min-inline-size:0}.set-colour{background:none;block-size:1.3rem;border:1px solid var(--pg-edge);border-radius:3px;cursor:pointer;inline-size:1.3rem;padding:0}.set-select{background:#0006;border:1px solid var(--pg-edge);border-radius:3px;color:#fff;font-family:var(--sans);font-size:.8rem;padding:.2rem .4rem}.set-runtime{color:var(--pg-dim);font-family:var(--mono);font-size:.68rem}.set-preview{align-items:center;background:radial-gradient(70% 120% at 50% 100%,rgba(51,69,84,.5),transparent 70%),linear-gradient(180deg,#0e131a,#25303c);border:1px solid var(--pg-edge);border-radius:5px;display:flex;flex-direction:column;justify-content:center;min-block-size:11rem;padding:1.4rem;position:relative}.set-preview__label{color:var(--pg-accent);font-family:var(--mono);font-size:.7rem;inset-block-start:.6rem;inset-inline-start:.9rem;position:absolute}.np-stage{align-items:center;display:flex;gap:3rem;justify-content:center;min-block-size:6rem}.np-off{color:var(--pg-dim);font-family:var(--mono);font-size:.8rem}.np-plate{align-items:center;display:flex;flex-direction:column}.np-name{line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.95);white-space:nowrap}.np-bar{box-sizing:content-box;position:relative}.np-fill{block-size:100%;inset-block-start:0;inset-inline-start:0;position:absolute}.np-slot{inset-block-start:50%;line-height:1;position:absolute;text-shadow:0 1px 2px rgba(0,0,0,.95);transform:translateY(-50%);white-space:nowrap}.np-slot--left{inset-inline-start:3px}.np-slot--right{inset-inline-end:3px}.np-slot--center{inset-inline-start:50%;transform:translate(-50%,-50%)}.np-cast{display:flex;gap:1px}.np-cast-icon{background:linear-gradient(150deg,#4a6ea8,#1d2a3f);border:1px solid #000;flex:none}.np-cast-bar{border:1px solid #000;flex:1;min-inline-size:0;position:relative}.np-cast-fill{block-size:100%;inset-block-start:0;inset-inline-start:0;position:absolute}.np-cast-spark{background:#fff;block-size:100%;inline-size:1px;opacity:.85;position:absolute;inset-block-start:0}.np-cast-name,.np-cast-timer{inset-block-start:50%;line-height:1;position:absolute;text-shadow:0 1px 2px rgba(0,0,0,.95);transform:translateY(-50%);white-space:nowrap}.np-cast-name{inset-inline-start:3px}.np-cast-timer{inset-inline-end:3px}.plugin__pages{color:var(--ink-soft);font-size:.85rem;margin-block-start:.7rem;max-inline-size:78ch}.plugin__pages strong{color:var(--pg-accent);font-weight:500}.plugin__spacer{display:contents}
