@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(./montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(./montserrat-latin-500-normal-Dok2oTci.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(./montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(./montserrat-latin-700-normal-BWkrl476.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(./montserrat-latin-900-normal-B0TD3Qnu.woff2) format("woff2"),url(./montserrat-latin-900-normal-BDWDmVut.woff) format("woff")}@font-face{font-family:Questrial;font-style:normal;font-display:swap;font-weight:400;src:url(./questrial-latin-400-normal-DNhQdR1R.woff2) format("woff2"),url(./questrial-latin-400-normal-BcF-iMQl.woff) format("woff")}:root{color-scheme:dark;--black: #000;--bg: #121212;--g0: #0a0a0a;--g1: #141414;--g2: #1c1c1c;--g3: #333;--g4: #555;--gc: #ccc;--gm: #9a9a9a;--white: #fff;--red: #a53244;--red-d: #8b2b34;--red-t: #3a141b;--accent: #e63033;--err: #ff6b6e;--panel: rgba(0, 0, 0, .75);--panel-s: rgba(0, 0, 0, .5);--line: #333;--head: "Montserrat", "Segoe UI", Arial, sans-serif;--body: "Questrial", "Noto Sans", "Segoe UI", Arial, sans-serif;--track: .14em;--side-w: clamp(480px, 36vw, 600px);--rail-w: 80px;--safe-b: env(safe-area-inset-bottom, 0px);--ease: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--fast: .12s;--base: .2s}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--white);font:400 15px/1.45 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;-webkit-tap-highlight-color:transparent}h1,h2,h3,p,ul{margin:0;padding:0}ul{list-style:none}button,input,select{font:inherit;color:inherit;border-radius:0}button{cursor:pointer;touch-action:manipulation}button:disabled,select:disabled,input:disabled{cursor:not-allowed}::selection{background:var(--red);color:var(--white)}::placeholder{color:var(--gm);opacity:1}input,select{accent-color:var(--red);caret-color:var(--accent)}:focus-visible{outline:2px solid var(--white);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--g4) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--g4)}::-webkit-scrollbar-thumb:hover{background:var(--gc)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.startup-error{margin:48px auto;max-width:560px;padding:0 20px;color:var(--gc)}kbd{display:inline-block;padding:0 6px;border:1px solid #666;font:700 12px/18px var(--head);color:var(--white)}.ic{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter}img.ic-native{object-fit:contain;stroke:none;filter:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ic.flip{transform:scaleX(-1)}.gi{display:inline-flex;align-items:center;justify-content:center;flex:none}.gi img{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.gi.is-fallback .ic{width:70%;height:70%}.btn,.icon-btn,.link-btn,.act,.pose-stop,.pose-play,.cast-mode,.filters-toggle,.more{display:inline-flex;align-items:center;justify-content:center;gap:10px;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease),border-color var(--fast) var(--ease),transform var(--fast) var(--ease)}.btn,.act,.pose-stop,.filters-toggle,.more{min-height:44px;padding:0 18px;background:var(--g2);border:1px solid var(--line);color:var(--white);font:700 13px/1 var(--head);letter-spacing:.1em;text-transform:uppercase}.btn:hover:not(:disabled),.act:hover:not(:disabled),.pose-stop:hover:not(:disabled),.filters-toggle:hover,.more:hover{background:var(--g3);border-color:var(--g4)}.btn:active:not(:disabled),.act:active:not(:disabled),.pose-stop:active:not(:disabled),.pose-play:active:not(:disabled),.filters-toggle:active,.more:active,.cast-mode:active,.link-btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.act:disabled,.pose-stop:disabled{opacity:.4}.btn-primary{background:var(--red);border-color:var(--red)}.btn-primary:hover:not(:disabled){background:var(--red-d);border-color:var(--red-d)}.icon-btn{width:44px;height:44px;padding:0;flex:none;background:transparent;border:1px solid transparent;color:var(--gc)}.icon-btn:hover{color:var(--white);background:var(--g3)}.link-btn{min-height:44px;padding:0 10px;gap:6px;border:1px solid transparent;background:transparent;font:700 12px/1 var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--gc)}.link-btn:hover:not(:disabled){color:var(--white);background:var(--g3)}.link-btn:disabled{opacity:.35}.link-btn.is-confirm{background:var(--red);color:var(--white)}.app{position:relative;min-height:100dvh}.nav{position:sticky;top:0;z-index:20;display:flex;align-items:stretch;height:48px;background:var(--black);border-bottom:1px solid var(--line)}.wordmark{display:none;align-items:baseline;gap:10px;align-self:center;padding:0 32px 0 22px;font:900 15px/1 var(--head);letter-spacing:.3em;text-transform:uppercase;color:var(--white);white-space:nowrap}.wordmark span{font-weight:700;font-size:12px;letter-spacing:.26em;color:var(--gm)}.menu{display:flex;flex:1;min-width:0}.menu-btn{position:relative;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:0 6px;height:100%;background:transparent;border:0;font:700 12px/1 var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--gc);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.menu-btn:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform:scaleX(0);transition:transform var(--base) var(--ease-out)}.menu-btn:hover,.menu-btn[aria-current=page]{color:var(--white);background:#0d0d0d}.menu-btn[aria-current=page]:after{transform:scaleX(1)}.menu-btn:focus-visible{outline-offset:-3px}.menu-n{min-width:22px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:var(--g3);color:var(--white);font:700 12px/1 var(--head);letter-spacing:0;font-variant-numeric:tabular-nums}.sysbar{position:absolute;top:56px;right:8px;z-index:15;display:flex;gap:4px}.sys-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:var(--panel-s);border:1px solid var(--line);color:var(--white);transition:background-color var(--fast) var(--ease)}.sys-btn:hover,.sys-btn[aria-expanded=true]{background:var(--g3)}.sys-btn .gi{width:26px;height:26px;transition:transform var(--base) var(--ease-out)}.sys-btn[aria-expanded=true] .gi{transform:scale(.9)}.pop{position:fixed;top:56px;left:8px;right:8px;z-index:30;max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;background:var(--black);border:1px solid var(--line);border-top:3px solid var(--accent);padding:4px 0 8px;transform-origin:top right}.pop:not([hidden]){animation:pop-in .16s var(--ease-out)}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}}.pop h2{padding:16px 20px 12px;font:900 13px/1 var(--head);letter-spacing:.18em;text-transform:uppercase}.pop ul{padding:0 20px 8px 38px;list-style:square;color:var(--gc)}.pop li{margin:0 0 9px;padding-left:4px;font-size:14px;line-height:1.5}.pop li::marker{color:var(--red)}.pop-item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 20px;background:transparent;border:0;text-align:left;color:var(--gc);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.pop-item:hover:not(:disabled){background:var(--g2);color:var(--white)}.pop-item:focus-visible{outline-offset:-3px}.pop-item:disabled{opacity:.4}.pop-lbl{flex:1;font:700 13px/1.2 var(--head);letter-spacing:.08em;text-transform:uppercase}.pop-state{width:14px;height:14px;border:2px solid #777;flex:none;transition:background-color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.pop-item[aria-pressed=true]{color:var(--white)}.pop-item[aria-pressed=true] .pop-state{background:var(--red);border-color:var(--red)}.pop-field{display:grid;gap:6px;padding:14px 20px 8px;margin-top:4px;border-top:1px solid var(--line)}.stage{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--g0)}.stage-body{display:contents}.stage-view{order:0;position:relative;min-width:0}.scene{position:relative;overflow:hidden;height:clamp(280px,52dvh,520px);background:var(--g0)}.viewer-mount{position:absolute;inset:0;overflow:hidden}.viewer-mount canvas{display:block;outline-offset:-2px}.status{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);z-index:2;padding:6px 12px;background:var(--panel-s);color:var(--gc);font-size:14px;pointer-events:none}.alert{position:absolute;inset:0;margin:auto;z-index:4;width:min(460px,calc(100% - 24px));height:fit-content;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;background:#000000e0;border:1px solid var(--line);border-top:3px solid var(--accent)}.alert:not([hidden]){animation:fade-up .22s var(--ease-out)}.alert>.ic{color:var(--accent);width:22px;height:22px}.alert-text{flex:1;min-width:180px;font-size:15px;color:var(--white)}.overlay{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:#00000059;pointer-events:none}.overlay:not([hidden]){animation:fade .16s var(--ease) both}.overlay-box{display:grid;gap:12px;width:min(300px,calc(100% - 32px));padding:16px 20px;background:var(--panel);border:1px solid var(--line)}.overlay-text{font:700 12px/1.3 var(--head);letter-spacing:var(--track);text-transform:uppercase;text-align:center}.overlay-bar{position:relative;height:3px;background:var(--g3);overflow:hidden}.overlay-bar:after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:var(--accent);animation:sweep 1.1s var(--ease) infinite}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}.overlay.is-quiet{place-items:start center;background:none;animation-delay:.14s}.overlay.is-quiet .overlay-box{width:auto;min-width:190px;margin-top:14px;padding:9px 14px 10px;gap:8px;background:#000000b8}.overlay.is-quiet .overlay-text{font-size:11px;color:var(--gc)}.detail{position:absolute;left:0;right:0;bottom:0;z-index:3;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"info info info" "back . equip";align-items:center;gap:10px 12px;padding:12px;background:var(--panel);border-top:3px solid var(--accent)}.detail:not([hidden]){animation:rise .24s var(--ease-out)}.detail-back{grid-area:back}.detail-equip{grid-area:equip;min-width:136px}.detail-info{grid-area:info;min-width:0;display:grid;gap:4px}.detail-name{font:900 18px/1.2 var(--head);letter-spacing:.08em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;min-width:0;font-size:14px;color:var(--gc)}.detail-meta .card-meta{display:contents}.meta-slot{font:700 12px/1.3 var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--gm)}.hud{display:grid;gap:12px;padding:16px 12px 4px;background:var(--black);min-width:0}.stage[data-detail] .hud{display:none}.char-head{min-width:0}.char-head h2{font:900 26px/1.1 var(--head);letter-spacing:.1em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.char-head p{margin-top:4px;font-size:14px;color:var(--gc);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-actions{display:flex;gap:6px;min-width:0}.act{flex:1 0 auto;gap:6px;padding:0 10px;min-width:44px;font-size:11px;letter-spacing:.06em}.act[data-ref=reset]{flex:0 0 auto}.act .ic{color:var(--gc);transition:transform var(--base) var(--ease-out)}.act:hover:not(:disabled) .ic{color:var(--white)}.act-lbl{white-space:nowrap}.act[data-ref=randomize]:active:not(:disabled) .ic{transform:rotate(-90deg)}.worn{order:2;display:block;padding:0 16px;background:var(--black);border-top:1px solid var(--line)}.worn-summary{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;list-style:none;font:700 12px/1 var(--head);letter-spacing:.1em;text-transform:uppercase;-webkit-user-select:none;user-select:none}.worn-summary::-webkit-details-marker{display:none}.worn-summary:focus-visible{outline-offset:-2px}.worn-summary>.ic:first-child{color:var(--gc)}.worn-chevron{width:16px;margin-left:auto;transition:transform var(--base) var(--ease-out)}.worn[open] .worn-chevron{transform:rotate(180deg)}.worn-summary:hover{color:var(--gc)}.worn[open] .worn-rows{animation:fade-up .2s var(--ease-out)}.worn-rows{display:grid;gap:4px;padding-bottom:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.worn-row{display:flex;align-items:stretch;min-width:0;min-height:52px;background:var(--g1);transition:background-color var(--fast) var(--ease),opacity var(--base) var(--ease)}.worn-row:hover{background:var(--g2)}.worn-row.is-dim{opacity:.45}.worn-row.is-fresh{animation:row-flash .65s var(--ease) both}@keyframes row-flash{0%{background-color:#a532448c}}.worn-gi{width:36px;height:36px;align-self:center;margin:0 4px 0 10px}.worn-row.is-empty .worn-gi{opacity:.45}.worn-pick{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:6px 8px;background:transparent;border:0;text-align:left;color:var(--white)}.worn-pick:focus-visible{outline-offset:-2px}.worn-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 11px/1.1 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--gm)}.worn-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 13px/1.25 var(--head);letter-spacing:.04em;text-transform:uppercase}.worn-row.is-empty .worn-name{color:var(--gm)}.worn-tag{margin-left:8px;font:400 13px/1 var(--body);letter-spacing:0;text-transform:none;color:var(--gm)}.worn-x{width:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-left:1px solid rgba(255,255,255,.08);color:var(--gc);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.worn-x:hover{background:var(--red);color:var(--white)}.worn-x:focus-visible{outline-offset:-2px}.notes{display:grid;gap:4px;margin-bottom:12px}.note{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;background:var(--g1);border:1px solid var(--line);font-size:14px;color:var(--gc)}.note-ic{color:var(--accent);display:inline-flex;margin-top:2px}.foot{order:1;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;padding:12px;background:var(--black)}.cast-row{display:grid;gap:6px;min-width:0}.cast{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0}.cast[data-n="5"]{grid-template-columns:repeat(6,minmax(0,1fr))}.cast[data-n="5"]>:nth-child(-n+3){grid-column:span 2}.cast[data-n="5"]>:nth-child(n+4){grid-column:span 3}.cast-btn{position:relative;display:block;height:68px;min-width:0;padding:0;overflow:hidden;background:var(--g2);border:0;color:var(--white);text-align:left;transition:transform var(--fast) var(--ease)}.cast-btn:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--fast) var(--ease)}.cast-btn:hover:after{box-shadow:inset 0 0 0 1px var(--gc)}.cast-btn[aria-pressed=true]:after{box-shadow:inset 0 0 0 2px var(--red)}.cast-btn:active{transform:translateY(1px)}.cast-btn:focus-visible{outline-offset:-4px}.cast-pic{position:absolute;inset:0;overflow:hidden;--band-top: .08;--band-h: .2}.cast-btn[data-family] .cast-pic{--band-top: .07;--band-h: .22}.cast-pic img{position:absolute;left:50%;top:calc(-100% * var(--band-top) / var(--band-h));display:block;height:calc(100% / var(--band-h));width:auto;max-width:none;aspect-ratio:1 / 1;transform:translate(-50%);transform-origin:50% 22%;opacity:.62;transition:transform .26s var(--ease-out),opacity var(--base) var(--ease)}.cast-btn:hover .cast-pic img{opacity:.92;transform:translate(-50%) scale(1.06)}.cast-btn[aria-pressed=true] .cast-pic img{opacity:1}.cast-name{position:absolute;left:0;right:0;bottom:0;padding:12px 6px 6px;background:linear-gradient(to top,#000000e6 45%,#0000);font:700 11px/1 var(--head);letter-spacing:.12em;text-transform:uppercase;text-align:center;color:var(--gc);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--fast) var(--ease),background-color var(--fast) var(--ease)}.cast-btn:hover .cast-name{color:var(--white)}.cast-btn[aria-pressed=true] .cast-name{padding-top:6px;background:var(--red);color:var(--white)}.cast-btn.no-pic .cast-name{top:0;display:flex;align-items:center;justify-content:center;padding:0 6px;background:none;font-size:12px}.cast-btn.no-pic[aria-pressed=true]{background:var(--red)}.cast-skel{height:68px;background:var(--g1);box-shadow:inset 0 0 0 1px var(--line);animation:pulse 1.4s ease-in-out infinite}.cast-note{grid-column:1 / -1;color:var(--gm);font-size:14px}.cast-mode{min-height:44px;padding:0 14px;gap:10px;background:var(--g0);border:1px solid var(--line);color:var(--gc);font:700 12px/1 var(--head);letter-spacing:.12em;text-transform:uppercase}.cast-mode:hover{background:var(--g3);color:var(--white);border-color:var(--g4)}.cast-mode-gi{width:26px;height:26px;transition:transform var(--base) var(--ease-out)}.cast-mode:hover .cast-mode-gi{transform:scale(1.08)}.pose-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.pose-play{flex:none;width:44px;height:44px;padding:0;background:var(--g2);border:1px solid var(--line);color:var(--white)}.pose-play:hover:not(:disabled){background:var(--red);border-color:var(--red)}.pose-play:disabled{opacity:.4}.pose-pick{flex:1 1 150px;display:flex;align-items:center;gap:10px;min-width:0;height:44px;padding:0 12px;background:var(--black);border:1px solid var(--line);text-align:left;color:var(--white);transition:border-color var(--fast) var(--ease)}.pose-pick:hover:not(:disabled){border-color:var(--gc)}.pose-pick:hover:not(:disabled) .pose-chev{transform:translate(3px)}.pose-pick:disabled{color:var(--gc);cursor:default;border-color:transparent}.pose-pick-k{flex:none;font:700 12px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--gm)}.pose-pick-v{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 12px/1 var(--head);letter-spacing:.1em;text-transform:uppercase}.pose-pick.is-posing{border-color:var(--red)}.pose-chev{flex:none;color:var(--gc);transition:transform var(--base) var(--ease-out)}.pose-stop{flex:none;gap:8px;padding:0 14px;font-size:12px}.pose-stop:not([hidden]){animation:fade-in .18s var(--ease-out)}.pose-stop .ic{color:var(--accent)}.pose-range{flex:1 1 100%}.pose-info{flex:1 1 100%;display:flex;align-items:center;gap:8px;min-width:0;min-height:20px}.pose-meta{font-size:14px;color:var(--gc);font-variant-numeric:tabular-nums}.pose-meta.is-error{color:var(--err)}.phase{padding:3px 8px;background:var(--red);color:var(--white);font:700 12px/1.2 var(--head);letter-spacing:.12em;text-transform:uppercase}.pose-range{appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:44px;margin:0;padding:0;background:transparent;cursor:pointer}.pose-range:disabled{cursor:not-allowed}.pose-range::-webkit-slider-runnable-track{height:4px;background:var(--g3)}.pose-range::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:24px;margin-top:-10px;background:var(--white);border:0;border-radius:0}.pose-range::-moz-range-track{height:4px;background:var(--g3);border:0}.pose-range::-moz-range-progress{height:4px;background:var(--red)}.pose-range::-moz-range-thumb{width:10px;height:24px;background:var(--white);border:0;border-radius:0}.pose-range:disabled::-webkit-slider-thumb{background:var(--g4)}.pose-range:disabled::-moz-range-thumb{background:var(--g4)}.side{min-width:0;background:var(--panel);border-top:1px solid var(--line)}.inv{display:grid;grid-template-columns:minmax(0,1fr);scroll-margin-top:48px}.rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--black);border-bottom:1px solid var(--line)}.tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:76px;padding:8px 4px;background:transparent;border:0;color:var(--gc);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.tab:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform:scaleX(0);transition:transform var(--base) var(--ease-out)}.tab:hover{background:var(--g2);color:var(--white)}.tab[aria-selected=true]{background:var(--g1);color:var(--white)}.tab[aria-selected=true]:after{transform:none}.tab:focus-visible{outline-offset:-3px}.tab-ic{width:32px;height:32px;opacity:.7;transition:opacity var(--fast) var(--ease),transform var(--base) var(--ease-out)}.tab:hover .tab-ic{opacity:1;transform:translateY(-2px)}.tab[aria-selected=true] .tab-ic{opacity:1}.tab:active .tab-ic{transform:scale(.92)}.tab-lbl{max-width:100%;text-align:center;overflow-wrap:anywhere;font:700 11px/1.15 var(--head);letter-spacing:.06em;text-transform:uppercase}.tab-n{display:none}.inv-main{display:flex;flex-direction:column;min-width:0;padding:18px 12px 0}.menu-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}.menu-title h2{font:900 20px/1 var(--head);letter-spacing:var(--track);text-transform:uppercase}.menu-title h2:after{content:"";display:block;width:32px;height:3px;margin-top:10px;background:var(--accent)}.scope{font:700 12px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--gm);padding-bottom:2px}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.search{position:relative;display:flex;align-items:center;min-width:0}.search>.ic{position:absolute;left:14px;color:var(--gm);pointer-events:none}.search input{width:100%;height:44px;padding:0 48px 0 42px;background:var(--black);border:1px solid var(--line);font:400 16px/1 var(--body);appearance:none;-webkit-appearance:none;transition:border-color var(--fast) var(--ease)}.search input::-webkit-search-cancel-button{display:none}.search input:hover{border-color:#666}.search input:focus{border-color:var(--gc)}.search .icon-btn{position:absolute;right:0}.filters-toggle{gap:8px;padding:0 14px;font-size:12px;background:var(--black)}.filters-toggle .ic{color:var(--gc)}.filters-toggle[aria-expanded=true]{border-color:var(--gc)}.filters-toggle.is-active{background:var(--red);border-color:var(--red)}.filters-toggle.is-active .ic{color:var(--white)}.filters-toggle.is-active:hover{background:var(--red-d);border-color:var(--red-d)}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.filters:not([hidden]){animation:fade-up .18s var(--ease-out)}.fsel{display:grid;gap:6px;min-width:0}.fsel-lbl{font:700 12px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--gm)}.fsel-box{position:relative;min-width:0}.fsel-box select{appearance:none;-webkit-appearance:none;width:100%;height:44px;padding:0 38px 0 12px;background:var(--black);border:1px solid var(--line);text-overflow:ellipsis;font:400 15px/1 var(--body);cursor:pointer}.fsel-box.has-ev select{padding-left:42px}.fsel-box select.is-rar{color:var(--white);border-bottom-color:var(--rar);border-bottom-width:2px}.fsel-box select:hover:not(:disabled){border-color:#666}.fsel-box select:focus{border-color:var(--gc)}.fsel-box option{background:var(--black);color:var(--white)}.fsel-chev{position:absolute;right:12px;top:50%;margin-top:-.625em;pointer-events:none;color:var(--gc)}.fsel-ev{position:absolute;left:10px;top:50%;width:26px;height:24px;margin-top:-12px;display:none;align-items:center;justify-content:center;pointer-events:none}.fsel-box.has-ev .fsel-ev{display:flex}.fsel-ev .ev-ic{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.count-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 12px;min-height:44px}.result-count{font-size:14px;color:var(--gm);min-height:20px;font-variant-numeric:tabular-nums}.count-row .link-btn{flex:none}.list-wrap{position:relative;overflow-y:auto;max-height:min(72dvh,680px);padding:0 4px 16px 0;overscroll-behavior:contain}.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.list>li{min-width:0}.cell{position:relative;display:flex;flex-direction:column;height:100%;background:var(--g1);color:var(--white)}.cell:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 0 1px transparent;transition:box-shadow var(--fast) var(--ease)}.cell:hover:after{box-shadow:inset 0 0 0 1px var(--gc)}.cell.is-on:after{box-shadow:inset 0 0 0 2px var(--red)}.cell.is-view:after{box-shadow:inset 0 0 0 2px var(--gc)}.card{display:flex;flex-direction:column;flex:1;width:100%;padding:0;text-align:left;background:transparent;border:0;color:var(--white)}.card:focus-visible,.card-inspect:focus-visible{outline-offset:-3px}.thumb{position:relative;display:flex;align-items:center;justify-content:center;width:100%;flex:none;aspect-ratio:1 / 1;background:#202020;overflow:hidden}.thumb>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .26s var(--ease-out)}.card:hover .thumb>img{transform:scale(1.05)}.card:active .thumb>img{transform:scale(1.01);transition-duration:80ms}.thumb.has-rar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--rar)}.thumb-gi{width:44%;height:44%;opacity:.5}.thumb.is-none{flex-direction:column;gap:8px;color:var(--gc);background:var(--g2)}.none-ic .ic{width:36px;height:36px}.none-lbl{font:700 12px/1 var(--head);letter-spacing:.14em;text-transform:uppercase}.card-mark{position:absolute;top:0;right:0;z-index:1;width:30px;height:30px;display:none;align-items:center;justify-content:center;background:var(--red);color:var(--white)}.card-mark .ic{width:18px;height:18px}.cell.is-on .card-mark{display:inline-flex}.card-body{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0;padding:9px 10px 11px;background:var(--g1);transition:background-color var(--base) var(--ease)}.card:hover .card-body{background:var(--g2)}.card-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:1.3em;font:700 12px/1.3 var(--head);letter-spacing:.06em;text-transform:uppercase;overflow-wrap:anywhere}.card-meta{display:flex;flex-wrap:wrap;gap:3px 10px;font:400 13px/1.3 var(--body);color:var(--gc)}.card-meta>span{min-width:0;overflow-wrap:anywhere}.meta-rar{color:var(--white);font-weight:700;text-decoration:underline;text-decoration-color:var(--rar, var(--gm));text-decoration-thickness:2px;text-underline-offset:3px}.meta-evt{display:inline-flex;align-items:center;gap:6px;max-width:100%}.meta-evt-t{min-width:0;overflow-wrap:anywhere}.ev-ic{flex:none;width:auto;height:20px;max-width:24px;object-fit:contain;display:block;-webkit-user-select:none;user-select:none}.cell.is-on .card-body,.cell.is-on .card:hover .card-body{background:var(--red-t)}.cell.is-on .card-meta{color:var(--white)}.card-inspect{position:absolute;top:6px;left:6px;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:var(--panel);border:1px solid var(--line);color:var(--gc);transition:background-color var(--fast) var(--ease),opacity var(--fast) var(--ease),transform var(--fast) var(--ease)}.card-inspect>span:not(.gi){display:none}.card-inspect:hover{background:var(--g3);color:var(--white)}.card-inspect:active{transform:translateY(1px)}.inspect-gi{width:24px;height:24px}@media(hover:hover)and (pointer:fine){.card-inspect{opacity:0}.cell:hover .card-inspect,.cell:focus-within .card-inspect{opacity:1}}.skel{aspect-ratio:1 / 1.3;background:var(--g1);box-shadow:inset 0 0 0 1px var(--line);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.empty{display:grid;justify-items:start;gap:10px;padding:20px 18px;background:var(--g1);border:1px solid var(--line);color:var(--gc);font-size:15px}.empty strong{color:var(--white);font:700 13px/1.3 var(--head);letter-spacing:.08em;text-transform:uppercase}.more{width:100%;margin-top:12px;gap:8px;font-size:12px;letter-spacing:.12em}.comp-body{padding:18px 12px 24px}.comp h3{font:700 13px/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--gc)}.save-form{display:grid;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--line)}.cur{font-size:15px;color:var(--gc);overflow-wrap:anywhere}.field-label{font:700 12px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--gm);margin-top:6px}.field-row{display:flex;gap:8px}.field-row input{flex:1;min-width:0;height:44px;padding:0 14px;background:var(--black);border:1px solid var(--line);font:400 16px/1 var(--body);transition:border-color var(--fast) var(--ease)}.field-row input:hover{border-color:#666}.field-row input:focus{border-color:var(--gc)}.field-row input[aria-invalid=true]{border-color:var(--accent)}.field-error{font-size:14px;color:var(--err)}.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:18px 0;border-bottom:1px solid var(--line)}.btn-copy{grid-column:1 / -1}.saved{padding-top:18px}.saved h3{display:flex;align-items:center;gap:10px;margin-bottom:12px}.saved h3:focus{outline:none}.saved h3:focus-visible{outline:2px solid var(--white);outline-offset:4px}.hist{margin-top:18px;border-top:1px solid var(--line)}.hist-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.hist-head h3{margin-bottom:0}.count{min-width:22px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:var(--g3);color:var(--white);font:700 12px/1 var(--head);letter-spacing:0;font-variant-numeric:tabular-nums}.saved-list{display:grid;gap:4px}.saved-item{display:flex;background:var(--black);border:1px solid var(--line);transition:background-color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.saved-item:hover{background:var(--g1)}.saved-item.is-current{background:var(--g1);border-color:var(--red)}.saved-load{flex:1;min-width:0;min-height:56px;display:flex;align-items:center;gap:12px;padding:8px 12px;background:transparent;border:0;text-align:left}.saved-load:focus-visible{outline-offset:-2px}.saved-text{flex:1;min-width:0;display:grid;gap:3px}.saved-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 13px/1.25 var(--head);letter-spacing:.06em;text-transform:uppercase}.saved-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--gm)}.saved-tag{flex:none;padding:3px 7px;background:var(--red);font:700 11px/1.2 var(--head);letter-spacing:.1em;text-transform:uppercase}.saved-arrow{width:18px;height:18px;color:var(--gc);transition:transform var(--base) var(--ease-out)}.saved-load:hover .saved-arrow{transform:translate(3px)}.saved-del{min-width:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-left:1px solid var(--line);color:var(--gc);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.saved-del:hover{background:var(--red);color:var(--white)}.saved-del:focus-visible{outline-offset:-2px}.saved-del.is-confirm{padding:0 12px;background:var(--red);color:var(--white);font:700 12px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.saved-empty{padding:14px 12px;background:var(--g1);border:1px solid var(--line);color:var(--gc);font-size:15px}.toasts{position:fixed;z-index:100;left:12px;right:12px;bottom:calc(12px + var(--safe-b));display:flex;flex-direction:column;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:4px 4px 4px 14px;min-height:52px;background:var(--black);border:1px solid var(--line);border-top:2px solid var(--gc);font-size:15px;animation:rise .24s var(--ease-out)}.toast-error{border-top-color:var(--accent)}.toast-ok{border-top-color:var(--red)}.toast-ic{display:inline-flex;color:var(--gc)}.toast-error .toast-ic{color:var(--accent)}.toast-text{flex:1;min-width:0;padding:8px 0;overflow-wrap:anywhere}.toast-action{min-height:44px;padding:0 14px;background:var(--red);border:0;color:var(--white);font:700 12px/1 var(--head);letter-spacing:.1em;text-transform:uppercase}.toast-action:hover{background:var(--red-d)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(-4px)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade{0%{opacity:0}}.cell.is-fresh .card-mark{animation:mark-in .32s var(--ease-out)}.cell.is-fresh:after{animation:ring-in .42s var(--ease-out)}@keyframes mark-in{0%{opacity:0;transform:scale(.4)}}@keyframes ring-in{0%{box-shadow:inset 0 0 0 6px var(--red)}}@media(min-width:560px){.hud{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:18px 20px 4px}.act{flex:0 0 auto;gap:8px;padding:0 16px;font-size:12px;letter-spacing:.1em}.worn{padding:0 20px}.foot{padding:16px 20px 20px;gap:14px}.inv-main,.comp-body{padding-left:20px;padding-right:20px}.rail{grid-template-columns:repeat(8,minmax(0,1fr))}.tab:after{left:0;right:0}.list{grid-template-columns:repeat(auto-fill,minmax(156px,1fr))}.menu-btn{font-size:13px;letter-spacing:.12em}.cast-row{display:flex;align-items:flex-start;gap:8px}.cast{flex:1;grid-template-columns:repeat(var(--n, 6),minmax(0,1fr))}.cast[data-n="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}.cast[data-n="5"]>:nth-child(-n+3),.cast[data-n="5"]>:nth-child(n+4){grid-column:auto}.cast-btn,.cast-skel{height:60px}.cast-mode{flex:none;flex-direction:column;justify-content:center;gap:6px;width:104px;height:60px;min-height:0;padding:0 8px;font-size:11px}.pose-range{flex:1 1 160px}.pose-info{flex:0 0 auto}.detail{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"back info equip";padding:12px 20px}}@media(max-width:374px){.act{padding:0 8px}.act[data-ref=reset]{width:44px;padding:0}.act[data-ref=reset] .act-lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}@media(max-width:359px){.menu-btn{font-size:11px;letter-spacing:.03em}.menu-n{display:none}.detail-equip{min-width:0;padding:0 12px}.pose-stop span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pose-stop{width:44px;padding:0}}@media(min-width:1100px)and (min-height:620px){body{overflow:hidden}.app{display:grid;height:100dvh;min-height:0;overflow:hidden;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:52px minmax(0,1fr)}.nav{grid-column:1 / -1;grid-row:1;position:static;height:52px}.wordmark{display:flex}.menu{flex:none}.menu-btn{flex:none;padding:0 26px;font-size:13px;letter-spacing:.16em}.sysbar{grid-column:2;grid-row:1;position:relative;top:auto;right:auto;z-index:25;align-self:center;margin-right:12px}.sys-btn{background:transparent;border-color:transparent}.sys-btn:hover,.sys-btn[aria-expanded=true]{background:var(--g3)}.pop{position:absolute;top:calc(100% + 8px);right:0;left:auto;width:400px;max-height:calc(100dvh - 80px)}.main{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) var(--side-w);min-height:0}.stage{border-right:1px solid var(--line)}.stage-body{display:block;position:relative;flex:1;min-height:0}.stage-view{position:absolute;inset:0;container:stage / inline-size}.scene{position:absolute;inset:0;height:auto}.hud{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:64px 28px 22px;background:linear-gradient(to top,#000c,#00000073 50%,#0000);pointer-events:none}.char-head h2{font-size:34px;letter-spacing:.08em;text-shadow:0 1px 2px rgba(0,0,0,.6)}.char-head p{margin-top:6px;font-size:15px}.character-actions{display:flex;gap:6px;flex:none;pointer-events:auto}.act{background:#0000009e;padding:0 16px}.act:hover:not(:disabled){background:#333333eb}.worn{position:absolute;left:20px;top:20px;z-index:5;width:clamp(230px,28%,280px);max-height:calc(100% - 150px);display:flex;flex-direction:column;padding:0;background:var(--panel-s);border:0}.worn-summary{flex:none;padding:0 14px}.worn[open]{background:var(--panel)}.worn-rows{display:flex;flex-direction:column;gap:3px;padding:0 0 3px;overflow-y:auto;min-height:0}.worn-row{background:var(--panel-s);flex:none}.worn-row:hover{background:var(--g2)}.notes{margin:0 3px 3px}.foot{padding:14px 28px 16px;gap:12px;border-top:1px solid var(--line)}.cast-btn,.cast-skel{height:56px}.cast-mode{width:112px;height:56px}.pose-bar{flex-wrap:nowrap;gap:10px}.pose-pick{flex:0 1 280px}.pose-range{flex:1 1 120px}.pose-info{justify-content:flex-end;text-align:right}.detail{padding:14px 24px}.side{min-height:0;border-top:0;display:flex;flex-direction:column;overflow:hidden}.inv{flex:1;min-height:0;grid-template-columns:var(--rail-w) minmax(0,1fr)}.rail{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;border-bottom:0;border-right:1px solid var(--line)}.tab{flex:1 0 68px;min-height:68px;max-height:112px;border-bottom:1px solid var(--g2)}.tab:after{inset:0 auto 0 0;width:3px;height:auto;transform:scaleY(0)}.tab[aria-selected=true]:after{transform:none}.tab-ic{width:34px;height:34px}.inv-main{min-height:0;padding:24px 12px 0 16px}.list-wrap{flex:1;min-height:0;max-height:none}.list{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px}.comp{flex:1;min-height:0;overflow-y:auto}.comp-body{padding:24px 20px 28px}.toasts{top:68px;bottom:auto;left:calc((100vw - var(--side-w)) / 2);right:auto;width:min(460px,calc(100vw - var(--side-w) - 40px));transform:translate(-50%)}}@container stage (max-width: 760px){.act{padding:0;width:44px}.act-lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.char-head h2{font-size:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-property:color,background-color,border-color,opacity,box-shadow!important;transition-duration:.12s!important;scroll-behavior:auto!important}.pop:not([hidden]),.detail:not([hidden]),.toast,.alert:not([hidden]),.filters:not([hidden]),.worn[open] .worn-rows,.pose-stop:not([hidden]),.cell.is-fresh .card-mark{animation:fade-in .16s linear}.cell.is-fresh:after,.cast-skel,.skel{animation:none}.overlay-bar:after{animation:none;width:100%;opacity:.6}.card:hover .thumb>img,.card:active .thumb>img{transform:none}.cast-btn:hover .cast-pic img{transform:translate(-50%)}.tab:hover .tab-ic,.tab:active .tab-ic,.act[data-ref=randomize]:active:not(:disabled) .ic,.pose-pick:hover:not(:disabled) .pose-chev,.saved-load:hover .saved-arrow,.cast-mode:hover .cast-mode-gi{transform:none}}
