:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius-s:8px;--radius-m:12px;--radius-l:18px;--tap:44px;--font-heading:var(--font);--bg:#f4f5f8;--surface:#fff;--surface-2:#eef0f4;--line:#dde1e8;--text:#171a21;--text-2:#5a6272;--danger:#c0352b;--danger-bg:#fdecea;--ok:#1d7a46;--ok-bg:#e6f4ec;--warn:#8a5300;--warn-bg:#fff3dc;--focus:#2b6cdf;--shadow:0 1px 2px #1018280f, 0 4px 16px #1018280f;--player:#0d7a6f;--player-soft:#e1f3f0;--dm:#6a3fd1;--dm-soft:#eee8fc;--accent:#334155;--accent-soft:#e8ebf0;--on-accent:#fff}:root[data-mode=player]{--accent:var(--player);--accent-soft:var(--player-soft)}:root[data-mode=dm]{--accent:var(--dm);--accent-soft:var(--dm-soft)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111318;--surface:#1a1d24;--surface-2:#232731;--line:#2f3440;--text:#eceef3;--text-2:#a1a8b6;--danger:#ff7a6e;--danger-bg:#3a1d1b;--ok:#5fd08f;--ok-bg:#16301f;--warn:#f2b94b;--warn-bg:#33270f;--focus:#7aa7ff;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000040;--player:#36b3a3;--player-soft:#17302d;--dm:#a083f0;--dm-soft:#282040;--accent:#94a3b8;--accent-soft:#252a33;--on-accent:#0f1115}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.45}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}body.no-scroll{overflow:hidden}h1,h2,p{margin:0}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.icon{flex:none}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-weight:700;display:inline-flex}.brand--normal .brand__name{font-size:18px}.brand--large .brand__name{font-size:26px}.btn{min-height:var(--tap);border-radius:var(--radius-m);border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.6;cursor:default}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn--primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.btn--danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--line))}.btn--danger[type=submit]{background:var(--danger);border-color:var(--danger);color:#fff}.btn--ghost{background:0 0;border-color:#0000}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--radius-m);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.spinner{border:2.5px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}.spinner--large{width:36px;height:36px;color:var(--text-2);border-width:3.5px}@keyframes spin{to{transform:rotate(360deg)}}.segmented{background:var(--surface-2);border-radius:var(--radius-m);gap:4px;padding:4px;display:inline-flex}.segmented__opt{min-height:40px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:15px;font-weight:600;display:inline-flex}.segmented__opt.is-on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.segmented__opt:disabled{cursor:default}.mode-switch .segmented__opt[data-value=dm].is-on,.default-mode .segmented__opt[data-value=dm].is-on{background:var(--dm);color:var(--on-accent)}.mode-switch .segmented__opt[data-value=player].is-on,.default-mode .segmented__opt[data-value=player].is-on{background:var(--player);color:var(--on-accent)}.mode-switch--compact .segmented__opt{min-height:38px;padding:0 11px;font-size:14px}.field{gap:6px;display:grid}.field__top{align-items:center;gap:4px;min-height:24px;display:flex}.field label{font-size:14px;font-weight:600}.field__box{display:flex;position:relative}.field input{border:1.5px solid var(--line);border-radius:var(--radius-m);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:inherit;padding:0 14px;font-size:16px}.field input:focus{border-color:var(--focus);outline:none}.field__reveal{width:var(--tap);height:var(--tap);color:var(--text-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:2px;right:2px}.field__box:has(.field__reveal) input{padding-right:50px}.field__msg{color:var(--text-2);font-size:13px}.field--error input{border-color:var(--danger)}.field__msg--error{color:var(--danger);font-weight:500}.info-tip{width:32px;height:32px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin:-4px 0;display:inline-grid}.info-tip:hover{background:var(--surface-2)}.form-error,.notice,.danger-note{border-radius:var(--radius-m);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.form-error,.danger-note{background:var(--danger-bg);color:var(--danger)}.danger-note p{color:var(--text)}.notice{background:var(--surface-2)}.notice--ok{background:var(--ok-bg);color:var(--ok)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);gap:12px;padding:20px;display:grid}.card h2{align-items:center;gap:10px;font-size:17px;display:flex}.card h2 .icon{color:var(--accent)}.empty{color:var(--text-2);font-size:14px}.auth-form{gap:16px;display:grid}.auth-tabs{display:flex}.auth-tabs .segmented__opt{min-height:var(--tap);flex:1}.auth-form__actions{justify-content:flex-end;margin-top:4px;display:flex}.auth--phone{min-height:100dvh;padding:28px 16px calc(24px + env(safe-area-inset-bottom));align-content:start;gap:24px;display:grid}.auth--phone .auth__head{gap:6px;padding-top:12px;display:grid}.auth__tagline{color:var(--text-2)}.auth--phone .auth-form__actions .btn{width:100%;min-height:52px}.auth--desktop{grid-template-columns:minmax(0,1fr) minmax(420px,480px);align-items:center;gap:64px;max-width:1120px;min-height:100vh;margin:0 auto;padding:48px;display:grid}.auth__intro{gap:28px;display:grid}.auth__intro h1{letter-spacing:-.02em;max-width:14em;font-size:40px;line-height:1.12}.auth__systems{color:var(--text-2)}.feature-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.feature-list li{align-items:center;gap:14px;display:flex}.feature-list li>span:last-child{display:grid}.feature-list li>span:last-child>span{color:var(--text-2);font-size:15px}.feature-list__icon{border-radius:var(--radius-m);background:var(--surface);border:1px solid var(--line);place-items:center;width:44px;height:44px;display:grid}.auth__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow);padding:28px}.mode-pick{align-content:center;gap:24px;min-height:100dvh;display:grid}.mode-pick__head{gap:10px;display:grid}.mode-pick__head p{color:var(--text-2)}.mode-pick--desktop{text-align:center;max-width:920px;margin:0 auto;padding:48px}.mode-pick--desktop .mode-pick__head{justify-items:center}.mode-pick--desktop h1{letter-spacing:-.02em;font-size:34px}.mode-pick--phone{padding:32px 16px calc(24px + env(safe-area-inset-bottom));align-content:start}.mode-pick--phone h1{font-size:26px;line-height:1.2}.mode-pick__tiles{gap:16px;display:grid}.mode-pick--desktop .mode-pick__tiles{grid-template-columns:1fr 1fr;gap:24px}.mode-tile{--tile:var(--player);--tile-soft:var(--player-soft);text-align:left;border:2px solid var(--line);border-radius:var(--radius-l);background:var(--surface);cursor:pointer;align-items:flex-start;gap:16px;padding:20px;transition:border-color .15s,transform .15s;display:flex;position:relative}.mode-tile[data-mode=dm]{--tile:var(--dm);--tile-soft:var(--dm-soft)}@media (hover:hover){.mode-tile:hover:not(:disabled){border-color:var(--tile)}}.mode-tile:active:not(:disabled){transform:scale(.99)}.mode-tile:disabled{cursor:default}.mode-tile[aria-busy=true]{border-color:var(--tile)}.mode-pick--desktop .mode-tile{flex-direction:column;min-height:300px;padding:32px}.mode-tile__icon{border-radius:var(--radius-m);background:var(--tile-soft);width:56px;height:56px;color:var(--tile);flex:none;place-items:center;display:grid}.mode-pick--desktop .mode-tile__icon{border-radius:var(--radius-l);width:76px;height:76px}.mode-tile__text{gap:6px;display:grid}.mode-tile__name{font-size:20px;font-weight:700}.mode-pick--desktop .mode-tile__name{font-size:24px}.mode-tile__blurb{color:var(--text-2)}.mode-tile__points{gap:4px;margin:6px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.mode-tile__points li{align-items:center;gap:6px;display:flex}.mode-tile__points .icon{color:var(--tile)}.mode-tile__spinner{color:var(--tile);position:absolute;top:18px;right:18px}.shell__main{width:100%}.topbar{z-index:10;background:var(--surface);border-bottom:1px solid var(--line);height:64px;box-shadow:inset 0 -3px 0 var(--accent);align-items:center;gap:32px;padding:0 24px;display:flex;position:sticky;top:0}.topbar__brand{text-decoration:none}.topbar__nav{flex:1;gap:4px;display:flex}.topbar__nav a,.profile-btn{min-height:var(--tap);border-radius:var(--radius-m);color:var(--text-2);align-items:center;gap:8px;padding:0 14px;font-weight:600;text-decoration:none;display:inline-flex}.topbar__nav a:hover,.profile-btn:hover{background:var(--surface-2)}.topbar__nav a[aria-current=page],.profile-btn[aria-current=page]{color:var(--text);background:var(--accent-soft)}.topbar__end{align-items:center;gap:12px;display:flex}.avatar{background:var(--accent);width:32px;height:32px;color:var(--on-accent);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid}.shell--desktop .shell__main{max-width:1120px;margin:0 auto;padding:32px 24px 64px}.phonebar{z-index:10;min-height:60px;padding:env(safe-area-inset-top) 12px 0 16px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:inset 0 -3px 0 var(--accent);justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.shell--phone .shell__main{padding:16px 16px calc(88px + env(safe-area-inset-bottom))}.tabbar{z-index:10;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:60px;color:var(--text-2);justify-items:center;gap:2px;padding:8px 0 10px;font-size:12px;font-weight:600;text-decoration:none;display:grid}.tabbar a[aria-current=page]{color:var(--accent)}.page-head{gap:4px;margin-bottom:20px;display:grid}.page-head h1{letter-spacing:-.01em;font-size:28px}.page-head p{color:var(--text-2)}.page-head__mode{background:var(--accent-soft);color:var(--accent);border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.shell--phone .page-head h1{font-size:24px}.home__grid{gap:16px;display:grid}.shell--desktop .home__grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.shell--desktop .home-card{align-content:start;min-height:150px}.shell--phone .card{padding:16px}.settings{gap:16px;display:grid}.shell--desktop .settings{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}.shell--desktop .settings>.page-head,.shell--desktop .settings>.notice{grid-column:1/-1}.settings .page-head{margin-bottom:4px}.row{align-items:center;gap:14px;min-height:52px;padding:6px 0;display:flex}.row+.row{border-top:1px solid var(--line);padding-top:12px}.row__icon{color:var(--text-2);display:grid}.row__text{flex:1;min-width:0;display:grid}.row__label{align-items:center;gap:4px;font-weight:600;display:flex}.row__value{color:var(--text-2);overflow-wrap:anywhere;font-size:14px}.row__value--truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings__signout{border-top:1px solid var(--line);justify-content:flex-end;padding-top:14px;display:flex}.shell--phone .row{flex-wrap:wrap}.shell--phone .row .default-mode{width:100%}.shell--phone .row .default-mode .segmented__opt{flex:1}.shell--phone .settings__signout .btn{width:100%}.modal-backdrop{z-index:100;background:#0a0c1273;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-l);width:min(520px,100%);max-height:calc(100dvh - 48px);box-shadow:var(--shadow);outline:none;flex-direction:column;display:flex}.modal--small{width:min(420px,100%)}.modal__head{justify-content:space-between;align-items:center;gap:12px;padding:14px 12px 6px 22px;display:flex}.modal__head h2{font-size:19px}.modal__body{align-content:start;gap:14px;padding:8px 22px 18px;display:grid;overflow:auto}.modal__body form{gap:14px;display:grid}.modal__foot{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:14px 22px 20px;display:flex}.prose{color:var(--text-2);gap:8px;display:grid}@media (width<=767px){.modal-backdrop{place-items:stretch stretch;padding:0}.modal,.modal--small{border-radius:0;width:100%;height:100dvh;max-height:none}.modal__head{padding-top:calc(10px + env(safe-area-inset-top));border-bottom:1px solid var(--line);position:sticky;top:0}.modal__body{flex:1;padding:16px}.modal__foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.modal__foot .btn{white-space:normal;text-align:center;flex:1;min-width:0;line-height:1.2}.modal__foot .btn--ghost{flex:none}}.status-screen{text-align:center;place-content:center;justify-items:center;gap:24px;min-height:100dvh;padding:24px;display:grid}.status-screen__text{max-width:28em;color:var(--text-2);gap:10px;display:flex}.muted{color:var(--text-2)}.small{font-size:13px}.badge{background:var(--surface-2);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.badge--link:hover{color:var(--accent)}.badge--good{background:var(--ok-bg);color:var(--ok)}.badge--bad{background:var(--danger-bg);color:var(--danger)}.chip{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.chip:hover:not(:disabled){border-color:var(--accent)}.chip.is-on,.chip--accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip:disabled{opacity:.5}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.load-state{color:var(--text-2);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:48px 16px;display:flex}.home-books{gap:8px;list-style:none;display:grid}.home-books a{border:1px solid var(--line);border-radius:var(--radius-m);min-height:56px;color:var(--text);align-items:center;gap:12px;padding:8px 12px;text-decoration:none;display:flex}.home-books a:hover{border-color:var(--accent)}.home-books a>span:nth-child(2){flex:1;display:grid}.family-tree{gap:20px;display:grid}.shell--desktop .family-tree{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.family{gap:12px;display:grid}.family__head{align-items:center;gap:12px;display:flex}.family__head h2{font-size:18px}.family__head p{color:var(--text-2);font-size:14px}.family__die{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:14px;flex:none;place-items:center;font-size:15px;font-weight:800;display:grid}.family__die--small{border-radius:10px;width:36px;height:36px;font-size:13px}.family__systems{gap:8px;list-style:none;display:grid}.system-row{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);width:100%;min-height:72px;color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;display:flex}.system-row:hover{border-color:var(--accent)}.system-row>.icon:first-child{color:var(--accent)}.system-row__text{flex:1;gap:4px;min-width:0;display:grid}.system-row__name{font-size:16px;font-weight:700}.system-row__tag{color:var(--text-2);font-size:14px}.system-row__meta{flex-wrap:wrap;gap:6px;display:flex}.system-row--locked{background:var(--surface-2)}.system-row--locked>.icon:first-child,.system-row--locked .system-row__name{color:var(--text-2)}.rulebook{color:var(--text);background:var(--bg)}.rulebook h1,.rulebook h2,.rulebook h3,.rulebook h4{font-family:var(--font-heading)}.rulebook--desktop{grid-template-columns:264px minmax(0,1fr);gap:32px;min-height:calc(100vh - 64px);margin:-32px -24px -64px;padding:32px 24px 64px;display:grid}.rulebook--phone{min-height:calc(100vh - 60px);margin:-16px -16px 0;padding:16px 16px 24px}.rulebook__side{align-self:start;gap:14px;max-height:calc(100vh - 120px);display:grid;position:sticky;top:96px;overflow:auto}.rulebook__title{font-family:var(--font-heading);color:var(--text);font-size:19px;font-weight:700;text-decoration:none}.rulebook__main{grid-template-columns:minmax(0,1fr);align-content:start;gap:20px;min-width:0;display:grid}.type-nav{gap:2px;display:grid}.type-nav a{border-radius:var(--radius-s);min-height:40px;color:var(--text);align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.type-nav a .icon{color:var(--text-2)}.type-nav a:hover{background:var(--surface-2)}.type-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:700}.type-nav a[aria-current=page] .icon{color:var(--accent)}.type-nav span:nth-child(2){flex:1}.type-nav__count{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px}.rb-head{gap:6px;display:grid}.rb-head h1{align-items:center;gap:10px;font-size:30px;line-height:1.15;display:flex}.rb-head h1 .icon{color:var(--accent);flex:none}.rulebook--phone .rb-head h1{font-size:24px}.rb-head__sub{color:var(--text-2)}.rb-head__meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.rb-head__crumb{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700;text-decoration:none}.rb-head__back{min-height:44px;color:var(--accent);align-items:center;gap:4px;margin-left:-6px;font-weight:600;text-decoration:none;display:inline-flex}.section-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:15px}.search{position:relative}.search__box{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);min-height:48px;color:var(--text-2);align-items:center;gap:8px;padding:0 14px;display:flex}.search__box:focus-within{border-color:var(--accent);outline:2px solid var(--accent-soft)}.search__box input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:16px}.search__hits{z-index:20;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);max-height:min(60vh,440px);box-shadow:var(--shadow);padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.search__hits a{border-radius:var(--radius-s);color:var(--text);gap:2px;padding:8px 10px;text-decoration:none;display:grid}.search__hits [aria-selected=true] a,.search__hits a:hover{background:var(--accent-soft)}.search__name{font-weight:600}.search__type{color:var(--text-2);font-size:13px}.search__none{color:var(--text-2);padding:10px}.type-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;list-style:none;display:grid}.rulebook--phone .type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.type-tile{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);height:100%;min-height:64px;color:var(--text);grid-template-columns:auto 1fr auto;align-items:center;gap:4px 10px;padding:12px 14px;text-decoration:none;display:grid}.type-tile:hover{border-color:var(--accent)}.type-tile .icon{color:var(--accent)}.type-tile__name{font-weight:700}.type-tile__count{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:13px}.type-tile__desc{color:var(--text-2);grid-column:1/-1;font-size:13px}.rulebook--phone .type-tile{grid-template-columns:auto 1fr}.rulebook--phone .type-tile__count{grid-column:2}.rulebook--phone .type-tile__desc{display:none}.char-rules h3{margin-top:6px;font-size:15px}.stat-chips{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;list-style:none;display:grid}.stat-chip{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface-2);width:100%;color:var(--text);font:inherit;cursor:pointer;justify-items:center;gap:2px;padding:10px 6px;display:grid}.stat-chip:hover{border-color:var(--accent)}.stat-chip__abbr{color:var(--accent);font-size:12px;font-weight:800}.stat-chip__val{font-size:22px;font-weight:700}.stat-chip__name{color:var(--text-2);font-size:12px}.skill-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;list-style:none;display:grid}.skill-row{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:8px;padding:0 12px;font-size:14px;display:flex}.skill-row:hover{border-color:var(--accent)}.skill-row .icon{color:var(--accent)}.skill-row span:nth-child(2){flex:1}.skill-row__attr{color:var(--text-2);font-size:12px;font-weight:700}.derived{gap:6px;display:grid}.derived>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.derived dd{text-align:right;align-items:baseline;gap:10px;display:flex}.derived__val{font-weight:700}.derived code{color:var(--text-2);font-size:12px}.action-list{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.filters{gap:10px;display:grid}.facet{gap:4px;display:grid}.facet__label{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.facet__chips{flex-wrap:wrap;gap:6px;display:flex}.rulebook--phone .facet__chips{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:2px 16px 4px;overflow-x:auto}.list-count{color:var(--text-2);font-size:13px}.entry-rows{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);list-style:none;display:grid;overflow:hidden}.entry-rows li+li{border-top:1px solid var(--line)}.entry-row{min-height:56px;color:var(--text);align-items:center;gap:12px;padding:8px 14px;text-decoration:none;display:flex}.entry-row:hover{background:var(--accent-soft)}.entry-row__text{flex:1;min-width:0;display:grid}.entry-row__name{font-weight:600}.entry-row__sub{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.entry-row__chips{gap:4px;display:flex}.rulebook--phone .entry-row__chips{display:none}.entry-page{gap:18px;max-width:780px;display:grid}.facts{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--line);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;display:grid;overflow:hidden}.facts>div{background:var(--surface);padding:10px 14px}.facts dt{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.rich{overflow-wrap:anywhere;gap:12px;line-height:1.6;display:grid}.rich h2,.rich h3,.rich h4{border-bottom:1px solid var(--line);color:var(--accent);margin-top:8px;padding-bottom:4px}.rich h2{font-size:21px}.rich h3{font-size:18px}.rich h4{font-size:16px}.rich ul{gap:4px;padding-left:22px;display:grid}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-s);overflow-x:auto}.rich table{border-collapse:collapse;background:var(--surface);width:100%;font-size:14px}.rich th,.rich td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:6px 10px}.rich th{background:var(--surface-2);font-weight:700}.rich tr:last-child td{border-bottom:0}.entry-link{color:var(--accent);text-underline-offset:3px;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.roll-chip{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:3px;margin:0 1px;padding:0 7px;font-weight:700;line-height:1.5;display:inline-flex}.roll-chip:hover{background:var(--accent);color:var(--on-accent)}.rulebook--phone .roll-chip{padding:2px 8px}.backlinks{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.backlinks h2{font-size:17px}.backlinks__group{gap:4px;display:grid}.backlinks__type{color:var(--text-2);text-transform:uppercase;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.backlinks__items{flex-wrap:wrap;gap:4px 14px;display:flex}.entry-source{color:var(--text-2);font-size:13px}.entry-source a{color:inherit}.entry-card{gap:8px;display:grid}.entry-card--hover{z-index:50;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);width:330px;color:var(--text);box-shadow:var(--shadow);pointer-events:none;padding:14px;position:fixed}.entry-card__head{align-items:flex-start;gap:10px;display:flex}.entry-card__head .icon{color:var(--accent);margin-top:2px}.entry-card__head>span{display:grid}.entry-card__sub{color:var(--text-2);font-size:13px}.entry-card__summary{font-size:14px;line-height:1.5}.about-counts{color:var(--text-2);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;font-size:14px;list-style:none;display:grid}.about-counts li{align-items:center;gap:8px;display:flex}.roll-tray{z-index:40;border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);width:340px;color:var(--text);box-shadow:var(--shadow);gap:8px;padding:12px 14px 14px;display:grid;position:fixed;bottom:24px;right:24px}.shell--phone~.roll-tray{width:auto;left:10px;right:10px;bottom:calc(70px + env(safe-area-inset-bottom))}.roll-tray__head{align-items:center;gap:6px;display:flex}.roll-tray__head>.icon{color:var(--accent)}.roll-tray__label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:700;overflow:hidden}.roll-tray__head .icon-btn{width:36px;height:36px}.roll-tray__body{align-items:center;gap:14px;display:flex}.roll-tray__body.is-busy{opacity:.5}.roll-tray__total{min-width:64px;color:var(--accent);text-align:center;font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1}.roll-tray__detail{gap:4px;min-width:0;display:grid}.roll-tray__badges{flex-wrap:wrap;gap:4px;display:flex}.roll-tray__badges:empty{display:none}.breakdown{color:var(--text-2);word-break:break-word;font-size:13px}.breakdown s{opacity:.6}.roll-tray__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.roll-tray__error{color:var(--danger)}.roll-list{list-style:none;display:grid}.roll-list li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.roll-list__total{min-width:44px;color:var(--accent);text-align:center;font-size:22px;font-weight:800}.roll-list__text{flex:1;min-width:0;display:grid}.roll-list__label{font-weight:600}.roll-list time{color:var(--text-2);font-size:12px}.system-row__meta .badge{white-space:normal}.family__systems,.entry-rows,.type-grid,.stat-chips,.skill-list,.action-list,.home-books,.roll-list,.about-counts,.search__hits{margin:0;padding:0}.facts dd,.derived dd{margin:0}.rulebook--phone .facts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.rulebook__side{padding:2px}.search__box input{width:100%}.facts{background:var(--surface);gap:0}.facts>div{box-shadow:1px 0 0 var(--line), 0 1px 0 var(--line)}.type-nav a{min-height:36px}.rb-head+section,.rb-head+.search{margin-top:4px}.notices .rich{color:var(--text-2);font-size:13px;line-height:1.5}.rich table{overflow-wrap:normal}.rulebook--phone .rich th,.rulebook--phone .rich td{white-space:nowrap;padding:6px 2px;font-size:13px}.rulebook--phone .rich td .roll-chip{gap:2px;padding:0 3px}.rulebook--phone .rich td .roll-chip svg{display:none}.app-banner{background:var(--accent-soft);color:var(--text);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 16px;font-size:14px;line-height:1.35;display:flex}.app-banner>.icon{flex:none}.app-banner>span{flex:1;min-width:0}.app-banner--offline{background:var(--warn-bg);color:var(--text)}.app-banner--offline>.icon{color:var(--warn)}.app-banner__action{border-radius:var(--radius-s);background:var(--accent);min-height:36px;color:var(--on-accent);font:inherit;cursor:pointer;border:0;flex:none;padding:0 14px;font-weight:600}.shell--desktop .app-banner{justify-content:center}.shell--desktop .app-banner>span{flex:0 auto}.privacy{max-width:880px;margin:0 auto}.privacy--standalone{padding:24px 16px 40px}.privacy__brand{margin-bottom:16px}.privacy__lead{color:var(--text-2);margin:4px 0 20px}.privacy__parts{gap:16px;display:grid}.shell--desktop .privacy__parts,.privacy--standalone .privacy__parts{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.privacy__part{align-self:start}.privacy__part h2{align-items:center;gap:8px;margin:0 0 8px;font-size:17px;display:flex}.privacy__part h2 .icon{color:var(--accent)}.privacy__part ul{gap:6px;margin:0;padding-left:20px;line-height:1.45;display:grid}.privacy__note{color:var(--text-2);align-items:flex-start;gap:8px;margin:20px 0 12px;font-size:14px;display:flex}.privacy__note .icon{flex:none;margin-top:2px}.privacy__back{justify-content:flex-start;display:flex}.auth__privacy{text-align:center;margin:16px 0 0;font-size:14px}.auth__privacy a{color:var(--text-2);padding:10px 4px;display:inline-block}.stepper{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:4px;padding:2px;display:inline-flex}.stepper__btn{background:var(--surface-2);width:40px;height:40px;color:var(--text);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.stepper__btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.stepper__btn:disabled{opacity:.35;cursor:default}.stepper__val{font-variant-numeric:tabular-nums;justify-items:center;min-width:48px;line-height:1.1;display:grid}.stepper__hint{color:var(--text-2);font-size:11px}.stepper--small .stepper__btn{width:34px;height:34px}.stepper--small .stepper__val{min-width:38px;font-size:14px}.chip--small{min-height:32px;padding:0 10px;font-size:13px}.chip--static{cursor:default;background:var(--surface-2)}.chip--static:hover{border-color:var(--line)}.chip__cost{background:var(--surface-2);color:var(--text-2);border-radius:999px;padding:0 6px;font-size:12px}.chip--accent .chip__cost{color:inherit;background:#ffffff38}.notice--action{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));background:var(--accent-soft);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;font-weight:600}.notice--action .icon:first-child{color:var(--accent)}.notice--action .icon:last-child{margin-left:auto}.block-actions{flex-wrap:wrap;gap:4px;display:flex}.block-actions .btn{min-height:40px;color:var(--accent);padding:0 10px}.row-btn{border-radius:var(--radius-m);width:100%;min-height:52px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0 12px;font-weight:600;display:flex}.row-btn:hover:not(:disabled){background:var(--surface-2)}.row-btn:disabled{opacity:.55;cursor:default}.row-btn>span{flex:1}.row-btn>.icon:first-child{color:var(--accent)}.row-btn--danger,.row-btn--danger>.icon:first-child{color:var(--danger)}.budget{background:var(--surface-2);border-radius:999px;justify-self:start;padding:8px 14px;font-size:15px}.budget strong{font-variant-numeric:tabular-nums;font-size:18px}.budget--done{background:var(--ok-bg);color:var(--ok)}.budget--over{background:var(--danger-bg);color:var(--danger)}.portrait-pick{justify-items:center;gap:8px;display:grid}.portrait-pick__frame{aspect-ratio:1;border:2px dashed var(--line);border-radius:var(--radius-l);background:var(--surface-2);width:160px;color:var(--text-2);cursor:pointer;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.portrait-pick__frame:hover{border-color:var(--accent)}.portrait-pick__frame img{object-fit:cover;width:100%;height:100%}.portrait-pick__frame:has(img){border-style:solid}.portrait-pick__frame .spinner{position:absolute}.portrait-pick__empty{justify-items:center;gap:6px;font-size:14px;font-weight:600;display:grid}.picker{gap:10px;display:grid}.picker__chips{flex-wrap:wrap;gap:6px;display:flex}.picker__list{margin:0;padding:0;list-style:none;display:grid}.picker__row{border-bottom:1px solid var(--line);align-items:center;gap:4px;display:flex}.picker__info{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;min-height:52px;padding:6px 4px;display:flex}.picker__info .icon{color:var(--accent)}.picker__text{min-width:0;display:grid}.picker__text .small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.picker__add{color:var(--accent)}.picker__add.is-on{background:var(--accent-soft)}.picker__count{font-weight:800}.choice-list{gap:12px;display:grid}.choice-card{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);gap:10px;padding:14px;display:grid}.choice-card:not(.is-done){border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.choice-card__head{align-items:center;gap:10px;display:flex}.choice-card__state{background:var(--accent-soft);min-width:34px;height:28px;color:var(--accent);border-radius:999px;place-items:center;padding:0 6px;font-size:13px;font-weight:800;display:grid}.choice-card__state.is-done{background:var(--ok-bg);color:var(--ok)}.choice-card__title{flex:1;min-width:0;display:grid}.choice-card__opts{flex-wrap:wrap;gap:6px;display:flex}.choice-card__opts--list{display:grid}.choice-card__opts--list .choice-opt__btn{border-radius:var(--radius-m);white-space:normal;text-align:left;width:100%;min-height:44px;padding:8px 14px}.choice-opt{align-items:center;display:inline-flex}.choice-card__opts--list .choice-opt{display:flex}.choice-opt__btn.is-known{color:var(--text-2);border-style:dashed}.choice-opt__times{font-weight:800}.choice-opt__note{text-transform:uppercase;color:var(--text-2);font-size:11px;font-weight:700}.choice-opt__info{width:34px;height:34px;color:var(--text-2)}.page-head--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head--row>span{gap:4px;display:grid}.char-rows{gap:10px;margin:0;padding:0;list-style:none;display:grid}.shell--desktop .characters .char-rows{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.char-row{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);align-items:center;gap:4px;padding-right:4px;display:flex}.char-row:hover{border-color:var(--accent)}.char-row__main{flex:1;align-items:center;gap:12px;min-width:0;padding:12px 8px 12px 12px;text-decoration:none;display:flex}.char-row__text{flex:1;min-width:0;display:grid}.char-row__text strong,.char-row__text .small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.char-rows--home{gap:6px}.char-rows--home .char-row__main{padding:8px 8px 8px 10px}.char-avatar{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:800;display:grid;overflow:hidden}.char-avatar img{object-fit:cover;width:100%;height:100%}.char-avatar--small{width:36px;height:36px;font-size:15px}.characters__empty{text-align:center;justify-items:center;padding:40px 20px}.characters__empty>.icon{color:var(--accent)}.characters__left{margin-top:14px}.home-card__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.system-cards{gap:12px;margin:0;padding:0;list-style:none;display:grid}.shell--desktop .system-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.system-card{align-items:center;gap:14px;text-decoration:none;display:flex}.system-card:hover{border-color:var(--accent)}.system-card__text{flex:1;gap:2px;display:grid}.builder{color:var(--text);background:var(--bg);align-content:start;gap:16px;display:grid}.builder h1,.builder h2,.builder h3{font-family:var(--font-heading)}.builder--desktop{max-width:920px;min-height:calc(100vh - 64px);margin:-32px auto -64px;padding:24px 24px 120px}.builder--phone{min-height:calc(100vh - 60px);margin:-16px -16px 0;padding:8px 16px 150px}.builder__head{align-items:center;gap:8px;display:flex}.builder__title{min-width:0;display:grid}.builder__title h1{font-size:26px;line-height:1.15}.builder--phone .builder__title h1{font-size:22px}.builder__steps{scrollbar-width:none;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.builder__dot{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--text-2);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 6px;font-size:14px;font-weight:600;display:flex}.builder__dot:disabled{opacity:.5;cursor:default}.builder__dot-n{background:var(--surface-2);border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:grid}.builder__dot.is-on{border-color:var(--accent);color:var(--text)}.builder__dot.is-on .builder__dot-n{background:var(--accent);color:var(--on-accent)}.builder__dot.is-done .builder__dot-n{background:var(--accent-soft);color:var(--accent)}.builder--phone .builder__dot:not(.is-on) .builder__dot-label{display:none}.builder--phone .builder__dot:not(.is-on){padding:0 6px}.builder__desc{color:var(--text-2)}.builder__body{gap:14px;display:grid}.builder__count{margin-bottom:-4px}.builder__foot{z-index:20;padding:12px 24px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 94%, transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);gap:6px;display:grid;position:fixed;bottom:0;left:0;right:0}.builder--phone .builder__foot{bottom:calc(64px + env(safe-area-inset-bottom));padding:10px 16px}.builder__buttons{justify-content:space-between;gap:10px;width:100%;max-width:872px;margin:0 auto;display:flex}.builder--phone .builder__buttons .btn--primary{flex:1}.builder__foot>p{width:100%;max-width:872px;margin:0 auto}.builder__methods{flex-wrap:wrap;justify-self:start}.builder__roll{justify-items:start;gap:8px;display:grid}.pick-grid{gap:10px;margin:0;padding:0;list-style:none;display:grid}.builder--desktop .pick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pick-card{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);align-items:flex-start;display:flex}.pick-card.is-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pick-card__main{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:flex-start;gap:12px;min-width:0;padding:14px 4px 14px 14px;display:flex}.pick-card__main:disabled{opacity:.5;cursor:default}.pick-card__icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.pick-card.is-on .pick-card__icon{background:var(--accent);color:var(--on-accent)}.pick-card__text{gap:2px;min-width:0;display:grid}.pick-card__sub{color:var(--accent);font-size:13px;font-weight:600}.pick-card__summary{color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.pick-card__info{color:var(--text-2);margin:6px 4px 0 0}.attr-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.attr-row{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);grid-template-columns:110px minmax(0,1fr) 96px;align-items:center;gap:12px;padding:10px 14px;display:grid}.builder--phone .attr-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name final""control control";row-gap:8px}.builder--phone .attr-row__name{grid-area:name}.builder--phone .attr-row__control{grid-area:control}.builder--phone .attr-row__final{grid-area:final}.attr-row__name{display:grid}.attr-row__name strong{color:var(--accent);font-size:18px}.attr-row__control{min-width:0;display:flex}.attr-row__final{justify-items:end;line-height:1.15;display:grid}.attr-row__final strong{font-size:22px}.attr-row__bonus{color:var(--ok);font-size:12px;font-weight:700}.pool-chips{flex-wrap:wrap;gap:6px;display:flex}.pool-chip{font-variant-numeric:tabular-nums;justify-content:center;min-width:44px}.pool-chip.is-taken{opacity:.45;border-style:dashed}.skill-groups{gap:12px;display:grid}.builder--desktop .skill-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-group{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);padding:12px 14px}.skill-group h3{margin:0 0 6px;font-size:16px}.skill-group ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.skill-pick{justify-content:space-between;align-items:center;gap:8px;display:flex}.skill-pick__name{font-size:14px;font-weight:600;display:grid}.perk-buy{gap:8px;display:grid}.perk-buy h3{margin:0}.gear-list{gap:8px;display:grid}.gear-list h3{margin:0;font-size:16px}.gear-list ul{margin:0;padding:0;list-style:none;display:grid}.gear-list li{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:48px;padding:4px 0;display:flex}.gear-list li>.icon{color:var(--accent)}.gear-list__name{flex:1;min-width:0}.gear-list>.btn{justify-self:start}.details-step{gap:20px;display:grid}.builder--desktop .details-step{grid-template-columns:180px minmax(0,1fr);align-items:start}.details-step__fields{gap:14px;display:grid}.sheet{color:var(--text);background:var(--bg);align-content:start;gap:12px;display:grid}.sheet h1,.sheet h2,.sheet h3{font-family:var(--font-heading)}.shell--desktop .shell__main:has(>.sheet){max-width:1440px}.sheet--desktop{min-height:calc(100vh - 64px);margin:-32px -24px -64px;padding:0 24px 96px}.sheet--phone{min-height:calc(100vh - 60px);margin:-16px -16px 0;padding:0 10px 24px}.sheet-bar{z-index:9;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);align-items:center;gap:4px;margin:0 -24px;padding:8px 20px;display:flex;position:sticky;top:64px}.sheet--phone .sheet-bar{margin:0 -10px;padding:4px 6px;top:60px}.sheet-bar__title{flex:1;min-width:0;line-height:1.2;display:grid}.sheet-bar__title strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.save-badge{color:var(--text-2);font:inherit;background:0 0;border:0;justify-self:start;align-items:center;gap:4px;padding:0;font-size:12px;display:inline-flex}.save-badge .spinner{border-width:2px;width:11px;height:11px}.save-badge--saved .icon{color:var(--ok)}.save-badge--offline{color:var(--warn);font-weight:600}.save-badge--error{color:var(--danger);cursor:pointer;font-weight:700}.sheet-bar__choices{background:var(--accent);min-height:36px;color:var(--on-accent);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:4px;padding:0 10px;font-weight:800;display:inline-flex}.sheet-bar__toggle.is-on{background:var(--accent);color:var(--on-accent)}.sheet-notice{align-items:center;font-size:14px}.sheet-missing{justify-items:center;gap:12px;display:grid}.sheet-grid{grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.sheet-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sheet-stack>.sheet-block{grid-column:span 2}.sheet-stack>.sheet-block--half{grid-column:span 1}.sheet-block{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex}.sheet-block__title{color:var(--text-2);letter-spacing:.06em;text-transform:uppercase;flex:none;margin:0;padding:10px 14px 4px;font-size:12px;font-weight:800}.sheet-block__body{flex:1;align-content:start;gap:10px;min-height:0;padding:4px 14px 12px;display:grid}.sheet-grid .sheet-block__body{scrollbar-width:thin;overflow:auto}.sheet-block--header .sheet-block__body{padding-top:12px}.sheet-block--portrait .sheet-block__body{align-content:center}.sheet-empty{grid-column:1/-1;align-items:center;gap:8px;padding:24px;display:flex}.sheet-head{align-items:flex-start;gap:12px;display:flex}.sheet-head__avatar{background:var(--accent-soft);width:64px;height:64px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:26px;font-weight:800;display:grid;overflow:hidden}.sheet-head__avatar img{object-fit:cover;width:100%;height:100%}.sheet-head__main{flex:1;gap:8px;min-width:0;display:grid}.sheet-head__name{overflow-wrap:anywhere;font-size:28px;line-height:1.1}.sheet--phone .sheet-head__name{font-size:24px}.sheet-head__name-input,.sheet-head__text input{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font:inherit;padding:0 12px}.sheet-head__name-input{font-size:22px;font-weight:700}.sheet-head__chips{flex-wrap:wrap;gap:6px;display:flex}.sheet-head__value{align-items:center;gap:6px;display:inline-flex}.sheet-head__text{gap:4px;display:grid}.portrait-block{justify-items:center;gap:8px;display:grid}.attr-tiles{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.sheet--phone .attr-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.attr-tiles--skills{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:start}.sheet--phone .attr-tiles--skills{grid-template-columns:repeat(2,minmax(0,1fr))}.attr-tile-wrap{gap:4px;min-width:0;display:grid}.attr-tile{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface-2);width:100%;color:var(--text);font:inherit;cursor:pointer;justify-items:center;gap:0;padding:8px 4px;display:grid}button.attr-tile:hover{border-color:var(--accent)}button.attr-tile:active{transform:scale(.98)}.attr-tile__abbr{color:var(--accent);letter-spacing:.04em;font-size:12px;font-weight:800}.attr-tile__big{font-variant-numeric:tabular-nums;font-size:26px;line-height:1.15}.attr-tile__score{background:var(--surface);min-width:34px;color:var(--text-2);text-align:center;border-radius:999px;padding:0 8px;font-size:13px;font-weight:700}.attr-tile--edit{cursor:default;gap:4px}.sheet-skills{margin:0;padding:0;list-style:none;display:grid}.sheet-skills--under{gap:0}.sheet-skill{border-bottom:1px solid var(--line)}.sheet-skill:last-child{border-bottom:0}.sheet-skill__btn{border-radius:var(--radius-s);width:100%;min-height:40px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 4px;font-size:14px;display:flex}.sheet-skill__btn:hover{background:var(--surface-2)}.sheet-skill--compact .sheet-skill__btn{min-height:36px;font-size:13px}.sheet-skill__name{flex:1;min-width:0}.sheet-skill__attr{color:var(--text-2);font-size:11px;font-weight:700}.sheet-skill__val{background:var(--accent-soft);min-width:46px;color:var(--accent);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-size:14px}.sheet-skill--edit{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:6px 0;display:flex}.sheet-skill--edit .sheet-skill__name{font-size:14px;font-weight:600}.step-chips{flex-wrap:wrap;gap:4px;display:flex}.prof{border:2px solid var(--accent);border-radius:50%;flex:none;width:12px;height:12px}.prof--0{border-color:var(--line)}.prof--1{background:linear-gradient(90deg, var(--accent) 50%, transparent 50%)}.prof--2{background:var(--accent)}.prof--3{background:var(--accent);box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.number-tiles{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:0;display:grid}.number-tile{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface-2);text-align:center;align-content:center;justify-items:center;gap:2px;padding:8px 4px;display:grid}.number-tile dt{color:var(--text-2);align-items:center;gap:2px;font-size:12px;font-weight:700;display:flex}.number-tile dd{justify-items:center;gap:4px;margin:0;display:grid}.number-tile dd>strong{font-variant-numeric:tabular-nums;font-size:24px;line-height:1.15}.trackers{gap:10px;display:grid}.tracker{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.tracker__name{align-items:center;gap:2px;font-size:14px;font-weight:600;display:inline-flex}.tracker__ctl{align-items:center;gap:4px;display:inline-flex}.tracker__value{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);min-width:64px;min-height:40px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;justify-content:center;align-items:baseline;gap:4px;padding:0 8px;display:inline-flex}.tracker__value:hover{border-color:var(--accent)}.tracker--big{border-radius:var(--radius-m);background:var(--surface-2);padding:10px 12px}.tracker--big .tracker__name{font-size:15px}.tracker--big .tracker__value strong{font-size:28px}.tracker__bar{background:var(--line);border-radius:999px;flex-basis:100%;height:6px;overflow:hidden}.tracker__bar>span{border-radius:inherit;background:var(--accent);height:100%;transition:width .2s;display:block}.pips{flex-wrap:wrap;gap:4px;display:inline-flex}.pip{border:2px solid var(--accent);cursor:pointer;background:0 0;border-radius:50%;width:28px;height:28px;padding:0}.pip.is-on{background:var(--accent)}.trackers__slots{border-top:1px solid var(--line);gap:6px;padding-top:8px;display:grid}.trackers__slots h3,.feature-group h3,.spell-group h3{color:var(--text-2);align-items:center;gap:6px;margin:0;font-size:13px;font-weight:700;display:flex}.trackers__rests{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding-top:8px;display:flex}.rest-list{color:var(--text-2);margin:0;padding-left:20px}.tracker-dialog__now{font-size:18px}.tracker-dialog__now strong{font-size:32px}.tracker-dialog__amount{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tracker-dialog__quick{gap:6px;display:flex}.action-rows{margin:0;padding:0;list-style:none;display:grid}.action-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:52px;padding:6px 0;display:flex}.action-row:last-child{border-bottom:0}.action-row__icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.action-row__text{flex:1;min-width:0;line-height:1.3;display:grid}.action-row__rolls{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.roll-btn{border:1px solid var(--accent);background:var(--accent);min-height:40px;color:var(--on-accent);font:inherit;white-space:nowrap;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:0 12px;font-size:14px;font-weight:700;display:inline-flex}.roll-btn:hover{filter:brightness(1.08)}.roll-btn--damage{background:var(--surface);color:var(--accent)}.features{gap:10px;display:grid}.feature-group{gap:6px;display:grid}.feature-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.feature-chips .chip{min-height:34px;font-size:13px}.inventory,.spells,.macros,.notes{gap:10px;display:grid}.coins{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 12px;padding-bottom:8px;display:grid}.item-rows{margin:0;padding:0;list-style:none;display:grid}.item-row{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:46px;display:flex}.item-row:last-child{border-bottom:0}.item-row__icon{width:36px;color:var(--text-2);place-items:center;display:grid}.item-row__name{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:4px 0;font-size:14px;font-weight:600;display:grid}.item-row__name:disabled{cursor:default}.item-row__name .small{font-weight:400}.item-row__qty{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:14px}.equip{border:1px dashed var(--line);width:36px;height:36px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;display:grid}.equip.is-on{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent)}.spell-group{gap:2px;display:grid}.notes__field{gap:4px;display:grid}.notes__label{color:var(--text-2);font-size:13px;font-weight:700}.notes textarea{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);width:100%;min-height:72px;color:var(--text);font:inherit;resize:vertical;padding:10px 12px;font-size:14px}.roll-list--sheet li{padding:6px 0}.roll-list--sheet .roll-list__total{font-size:18px}.roll-list--sheet .roll-list__label{font-size:14px}.macro-part{border:1px solid var(--line);border-radius:var(--radius-m);gap:6px;margin:0;padding:10px 12px 12px;display:grid}.macro-part legend{color:var(--text-2);padding:0 4px;font-size:13px;font-weight:700}.macro-part__row{gap:6px;display:flex}.macro-part input{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font:inherit;padding:0 12px}.macro-part__formula{font-family:ui-monospace,SF Mono,Menlo,monospace}.macro-vars summary{cursor:pointer;min-height:36px;font-weight:600}.macro-vars__chips{flex-wrap:wrap;gap:4px;max-height:240px;margin-top:6px;display:flex;overflow:auto}.macro-vars__chips .chip{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:500}.sheet-menu{gap:16px;display:grid}.sheet-menu__label{color:var(--text-2);margin:0 0 6px;font-size:13px}.sheet-menu .segmented{flex-wrap:wrap}.sheet-menu__list{margin:0;padding:0;list-style:none;display:grid}.arranger{gap:12px;display:grid}.arranger__bar{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));border-radius:var(--radius-l);background:var(--accent-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;display:flex}.arranger__help{align-items:center;gap:6px;font-size:14px;display:flex}.arranger__hidden{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.arranger__end{gap:8px;margin-left:auto;display:flex}.sheet-grid--arrange{background-image:linear-gradient(to right, var(--line) 1px, transparent 1px);border-radius:var(--radius-m);background-size:calc(8.33333% + 1px) 100%}.sheet-block.is-arranged{border-style:dashed;border-color:var(--accent);position:relative;overflow:hidden}.sheet-block.is-dragging{z-index:5;box-shadow:var(--shadow);opacity:.92}.arrange-head{background:var(--accent-soft);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:2px;display:flex}.arrange-head__drag{min-width:0;min-height:40px;color:var(--text);font:inherit;cursor:grab;touch-action:none;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:700;display:flex}.is-dragging .arrange-head__drag{cursor:grabbing}.arrange-head__drag>span:nth-child(2){white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;overflow:hidden}.arrange-head__size{color:var(--text-2);font-size:12px;font-weight:600}.arrange-head .icon-btn{width:40px;height:40px}.arrange-body{opacity:.55;pointer-events:none;flex:1;min-height:0;overflow:hidden}.arrange-body>.sheet-block__title{display:none}.arrange-resize{border-top-left-radius:var(--radius-m);background:var(--accent);width:36px;height:36px;color:var(--on-accent);cursor:nwse-resize;touch-action:none;border:0;place-items:center;display:grid;position:absolute;bottom:0;right:0}.arrange-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.arrange-row{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);align-items:center;gap:2px;padding:4px 4px 4px 14px;display:flex}.arrange-row.is-hidden{background:var(--surface-2)}.arrange-row.is-hidden .arrange-row__name{color:var(--text-2);text-decoration:line-through}.arrange-row__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.arrange-row__eye{color:var(--text-2)}.arrange-row__eye.is-on{color:var(--accent)}.arranger__foot{background:var(--bg);justify-content:space-between;gap:10px;padding:10px 0;display:flex}.arranger__foot .btn--primary{flex:1}.roll-tray__more{border-top:1px solid var(--line);gap:8px;margin:0;padding:8px 0 0;list-style:none;display:grid}.roll-tray__more li{align-items:center;gap:14px;display:flex}.roll-tray__more li.is-busy{opacity:.5}.roll-tray__more-total{min-width:64px;color:var(--accent);text-align:center;font-variant-numeric:tabular-nums;font-size:28px;font-weight:800;line-height:1}.roll-tray__more-label{font-size:13px;font-weight:700}.entry-dialog{gap:12px;display:grid}.builder--desktop .builder__steps{flex-wrap:wrap}.number-tiles{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}.number-tile{min-width:0;padding:4px}.number-tile dt{text-align:center;max-width:100%;font-size:11px;line-height:1.2}.number-tile dd>strong{font-size:20px}.is-editing .number-tile dd>strong{font-size:16px}.coins{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.coins .tracker{justify-items:center;gap:2px;display:grid}.coins .tracker__name{color:var(--text-2);font-size:12px}.coins .tracker__ctl .stepper__btn{display:none}.coins .tracker__value{min-width:56px}.portrait-block{width:100%}.portrait-block .portrait-pick__frame{width:min(220px,100%)}.sheet,.builder,.arranger{grid-template-columns:minmax(0,1fr)}.characters__empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.import-help{overflow-wrap:anywhere;gap:8px;margin-top:14px;display:grid}.import-help p{margin:0}.import-systems{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.import-report{gap:12px;margin-top:16px;display:grid}.import-report__who{gap:2px;margin:0;display:grid}.import-report__rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.import-report__rows li{align-items:flex-start;gap:8px;display:flex}.import-report__rows .icon{color:var(--ok);flex:none;margin-top:2px}.import-report__rows .is-part .icon{color:var(--warn)}.import-report__rows .is-off .icon{color:var(--danger)}.import-report__notes{gap:4px;margin:0;padding-left:18px;display:grid}.trackers__max{border-top:1px solid var(--line);gap:8px;padding-top:8px;display:grid}.trackers__max-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.pick-chips{flex-wrap:wrap;gap:8px;display:flex}.pick-chips--scroll{max-height:232px;padding:2px;overflow-y:auto}.pick-chip{min-height:var(--tap);border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:15px;display:inline-flex}.pick-chip:hover{border-color:var(--accent)}.pick-chip.is-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.pick-chip.is-on .muted{color:inherit;opacity:.8}.pick-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pick-row{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);width:100%;min-height:56px;color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:12px;padding:8px 12px;display:flex}.pick-row>.icon:last-child{visibility:hidden;color:var(--accent)}.pick-row.is-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pick-row.is-on>.icon:last-child{visibility:visible}.pick-row:disabled{opacity:.55;cursor:not-allowed}.toggle-row{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);width:100%;min-height:56px;color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:12px;padding:8px 12px;display:flex}.toggle-row>span:nth-child(2){flex:1;display:grid}.toggle-row__knob{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;flex:none;width:44px;height:26px;position:relative}.toggle-row__knob:after{content:"";background:var(--text-2);border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle-row.is-on .toggle-row__knob{background:var(--accent);border-color:var(--accent)}.toggle-row.is-on .toggle-row__knob:after{background:var(--on-accent);transform:translate(18px)}.field textarea{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);width:100%;min-height:84px;color:var(--text);font:inherit;resize:vertical;padding:10px 12px}.field textarea:focus{outline:2px solid var(--focus);outline-offset:1px}.dialog-sub{letter-spacing:.02em;text-transform:uppercase;color:var(--text-2);margin:16px 0 8px;font-size:13px;font-weight:600}.bad-text{color:var(--danger)}.link-btn{color:inherit;font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0}.badge--secret{background:var(--dm-soft);color:var(--dm);align-items:center;gap:4px;display:inline-flex}.badge--open{background:var(--accent-soft);color:var(--accent)}.campaign-form,.dm-form{gap:16px;display:grid}.campaign-form fieldset,.dm-form__group{border:0;gap:8px;margin:0;padding:0;display:grid}.campaign-form legend,.dm-form__group legend{margin-bottom:8px;font-size:14px;font-weight:600}.dm-form__row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dm-form__pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.segmented--wrap{flex-wrap:wrap}.page-head--row>.page-head__actions{flex-wrap:wrap;gap:8px;display:flex}.campaigns__group{gap:12px;margin-top:24px;display:grid}.campaigns__group h2{align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.camp-avatar{color:var(--on-accent)}.camp-avatar--dm{background:var(--dm)}.camp-avatar--player{background:var(--player)}.join__about{white-space:pre-wrap;margin:0 0 16px}.join__pick{gap:12px;display:grid}.join__pick h2{margin:0}.invite{align-items:center;gap:12px;margin:12px 0;display:flex}.invite__code{letter-spacing:.08em;font-variant-numeric:tabular-nums;flex:1;font-size:28px;font-weight:700}.invite__qr{text-align:center;justify-items:center;gap:8px;margin:12px 0 4px;display:grid}.invite__qr .qr{border-radius:var(--radius-s);border:1px solid var(--line)}.invite__link{overflow-wrap:anywhere;min-width:0;color:var(--text-2);flex:1;font-size:14px}.table-screen{flex-direction:column;gap:12px;display:flex}.table-screen--desktop{height:calc(100dvh - 120px)}.table-screen--phone{height:calc(100dvh - 60px - 16px - 88px - env(safe-area-inset-bottom));gap:8px}.table-bar{align-items:center;gap:4px;display:flex}.table-bar__title{flex:1;min-width:0;line-height:1.25;display:grid}.table-bar__title>.muted{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.table-bar__title strong{white-space:nowrap;text-overflow:ellipsis;font-size:20px;overflow:hidden}.table-screen--phone .table-bar__title strong{font-size:17px}.table-bar .icon-btn.is-on{background:var(--accent);color:var(--on-accent)}.table-bar__discord{color:#5865f2}.table-notice{align-items:center;gap:8px;margin:0;display:flex}.table-notice .chip,.table-notice .icon-btn{margin-left:auto}.table-notice--preview{background:var(--dm-soft);color:var(--dm)}.table-tabs{flex:none}.table-grid{flex:1;grid-template-columns:290px minmax(0,1fr) 290px;gap:16px;min-height:0;display:grid}.table-side{flex-direction:column;gap:12px;min-height:0;display:flex;overflow-y:auto}.table-side h2{margin:0}.table-about{white-space:pre-wrap;margin:0}.table-chat{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.table-party{flex:1;overflow-y:auto}.table-tools{grid-template-columns:1fr 1fr;gap:8px;display:grid}.table-side .table-tools{grid-template-columns:1fr}.table-pending{flex:none;max-height:45%;overflow-y:auto}.feed{overscroll-behavior:contain;flex:1;min-height:0;padding:4px 2px;overflow-y:auto}.feed__older{margin:0 auto 8px;display:flex}.feed__empty{text-align:center;justify-items:center;gap:8px;max-width:320px;margin:48px auto;display:grid}.feed__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.msg{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);padding:10px 12px}.msg.is-secret{border-style:dashed;border-color:var(--dm)}.msg--system{text-align:center;color:var(--text-2);background:0 0;border:0;padding:2px 8px;font-size:13px}.msg__by{align-items:center;gap:8px;min-width:0;display:flex}.msg__by strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.msg__by time{flex:none;margin-left:auto}.msg__avatar{background:var(--player-soft);width:26px;height:26px;color:var(--player);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.msg__avatar.is-dm{background:var(--dm-soft);color:var(--dm)}.msg__body{gap:6px;margin-top:6px;padding-left:34px;display:grid}.msg__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.msg__label{flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-weight:600;display:flex}.msg__reveal{justify-self:start}.msg-rolls{gap:6px;display:grid}.msg-roll{align-items:center;gap:12px;display:flex}.msg-roll__total{border-radius:var(--radius-m);background:var(--accent-soft);min-width:52px;height:52px;color:var(--accent);font-variant-numeric:tabular-nums;flex:none;place-items:center;padding:0 8px;font-size:26px;font-weight:800;display:grid}.msg-roll__detail{gap:2px;min-width:0;font-size:14px;display:grid}.msg-roll__label{font-weight:600}.msg-roll__badges:empty{display:none}.msg-roll__badges{flex-wrap:wrap;gap:4px;display:flex}.msg-roll .breakdown{color:var(--text-2);overflow-wrap:anywhere}.msg-request,.msg-enemy,.msg-reaction{gap:8px;display:grid}.msg-request.is-mine{border-radius:var(--radius-m);background:var(--accent-soft);margin:-4px;padding:10px}.msg-request__head,.msg-enemy__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.msg-request__head>span:nth-child(2){flex-wrap:wrap;flex:1;align-items:baseline;gap:8px;display:flex}.msg-request__dc{color:var(--accent);font-weight:700}.msg-request__who{gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.msg-request__who li{align-items:center;gap:8px;display:flex}.msg-request__who li>span:first-child{flex:1}.msg-request__who li.is-done>span:first-child{font-weight:600}.msg-request__go{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.msg-request__roll{min-width:140px}.msg-enemy__to,.msg-enemy__reacted{align-items:center;gap:4px;margin:0;display:flex}.msg-reaction__effect{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.msg-reaction__effect.is-open{display:block}.msg--pinned{background:0 0;border:0;padding:0}.msg--pinned .msg-request.is-mine{margin:0}.msg--pinned .msg-request__go{justify-content:stretch}.msg--pinned .msg-request__go>*{flex:auto}.msg--pinned .msg-request__roll{white-space:normal;flex-basis:100%;min-width:0;line-height:1.2}.composer{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);flex:none;align-items:center;gap:6px;padding:6px;display:flex;position:relative}.composer__input{min-width:0;min-height:var(--tap);color:var(--text);font:inherit;background:0 0;border:0;flex:1;padding:0 8px}.composer__input:focus{outline:none}.composer:focus-within{border-color:var(--accent)}.composer__dice{color:var(--accent)}.composer__send:not(:disabled){background:var(--accent);color:var(--on-accent)}.composer__error{border-radius:var(--radius-s);background:var(--danger-bg);color:var(--danger);margin:0;padding:6px 10px;font-size:14px;position:absolute;bottom:calc(100% + 6px);left:8px;right:8px}.party{align-content:start;gap:4px;margin:0;padding:0;list-style:none;display:grid}.party__row{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:52px;padding:6px 4px;display:flex}.party__row:last-child{border-bottom:0}.party__dm{background:var(--dm-soft);color:var(--dm)}.party__text{flex:1;gap:2px;min-width:0;line-height:1.25;display:grid}.party__text>.muted{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.party__stats{border-radius:var(--radius-s);background:var(--surface-2);grid-template-columns:minmax(0,1fr);gap:2px;margin:6px 0 0;padding:6px 8px;font-size:13px;display:grid}.party__stat{align-items:baseline;gap:8px;display:flex}.party__stat dt{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text-2);flex:1;overflow:hidden}.party__stat dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.party__stat dd .muted{font-weight:400}.party__empty{padding:8px 4px}.presence{background:var(--line);border-radius:50%;flex:none;width:10px;height:10px}.presence.is-on{background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg)}.at-table{border:1px solid var(--accent);border-radius:var(--radius-m);background:var(--accent-soft);gap:8px;margin:12px 0;padding:10px 12px;display:grid}.at-table__back{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:0;display:flex}.at-table__req{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.at-table__req>span{flex:1;min-width:160px}.at-table__done{align-items:center;gap:6px;margin:0;display:flex}.join__actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.table-grid--map{grid-template-columns:minmax(0,1fr) 360px}.table-side--rail{gap:10px}.table-side--rail>.table-chat{flex:1}.map-pane{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.map-pane--loading{place-items:center;display:grid}.map-head{align-items:center;gap:6px;min-width:0;display:flex}.map-head__name{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.map-head__name--plain{cursor:default;background:0 0;border-color:#0000;padding-left:2px}.map-head__name strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.map-head__spacer{flex:1}.map-notice{align-items:center;gap:8px;margin:0;display:flex}.map-notice .chip,.map-notice .icon-btn{margin-left:auto}.map-stage{border-radius:var(--radius-l);color:#eceef3;background:#111318;flex:1;min-height:0;position:relative;overflow:hidden}.map-host{position:absolute;inset:0}.map-canvas{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.map-empty{text-align:center;place-content:center;justify-items:center;gap:8px;padding:24px;display:grid;position:absolute;inset:0}.map-empty h2,.map-empty p{max-width:420px;margin:0}.map-empty .muted{color:#a1a8b6}.map-empty__actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.map-zoom{border-radius:var(--radius-m);background:#111318b3;gap:4px;padding:4px;display:grid;position:absolute;top:8px;right:8px}.map-zoom .icon-btn{color:#eceef3;width:40px;height:40px}.map-zoom .icon-btn:hover{background:#ffffff1f}.map-token-card{max-width:min(420px,100% - 16px);color:var(--text);gap:6px;padding:10px 12px;display:grid;position:absolute;bottom:8px;left:8px}.map-token-card p{margin:0}.map-token-card__head{align-items:center;gap:8px;min-width:0;display:flex}.map-token-card__head strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.map-token-card__head .icon-btn{width:36px;height:36px;margin-left:auto}.map-token-card__dot{border:2px solid var(--surface);width:18px;height:18px;box-shadow:0 0 0 1px var(--line);border-radius:50%;flex:none}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.map-tools{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);scrollbar-width:none;flex:none;gap:4px;padding:4px;display:flex;overflow-x:auto}.map-tool{border-radius:var(--radius-m);min-width:56px;min-height:48px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;flex:1 0 auto;align-content:center;justify-items:center;gap:2px;padding:4px 8px;font-size:12px;font-weight:600;display:grid}.map-tool:hover{background:var(--surface-2);color:var(--text)}.map-tool.is-on{background:var(--accent);color:var(--on-accent)}.map-options{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.map-options__hint{flex:200px}.map-pane--phone .map-options{gap:6px}.map-pane--phone .map-options .segmented__opt{padding-inline:10px}.map-pane--phone .map-tool span{font-size:11px}.map-pane--phone .map-tools{gap:0;padding:3px}.map-pane--phone .map-tool{flex:1 1 0;min-width:0;padding:4px 0}.map-pane .table-pending{max-height:30%}.color-chips{flex-wrap:wrap;gap:6px;display:flex}.map-pane--phone .color-chips{flex-wrap:nowrap}.color-chip{border:2px solid var(--surface);width:32px;height:32px;box-shadow:0 0 0 1px var(--line);cursor:pointer;border-radius:50%}.color-chip.is-on{box-shadow:0 0 0 3px var(--accent)}.maps-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.maps-item{border:1px solid var(--line);border-radius:var(--radius-m);grid-template-columns:120px minmax(0,1fr);gap:12px;padding:10px;display:grid}.maps-item.is-on{border-color:var(--accent)}.maps-item__thumb{object-fit:cover;border-radius:var(--radius-s);background:#111318;width:120px;height:90px}.maps-item__text{gap:4px;min-width:0;display:grid}.maps-item__text strong{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.maps-item__actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.maps-empty{text-align:center;justify-items:center;gap:4px;padding:16px 0;display:grid}.maps-empty p{margin:0}.map-drop{border:2px dashed var(--line);border-radius:var(--radius-l);background:var(--surface-2);width:100%;color:var(--text);font:inherit;text-align:center;cursor:pointer;justify-items:center;gap:4px;padding:24px 16px;display:grid}.map-drop:hover:not(:disabled){border-color:var(--accent)}.map-drop--small{padding:14px 12px}.map-align{align-items:center;gap:8px;display:flex}.map-grid-fields{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;gap:12px;display:grid}.stepper-field{gap:4px;display:grid}@media (width<=480px){.maps-item{grid-template-columns:84px minmax(0,1fr)}.maps-item__thumb{width:84px;height:64px}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.maps-item__head{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.maps-item__head .icon-btn{margin:-6px -4px 0 0}.map-empty .btn--secondary{color:var(--text)}.chip--bad{color:var(--danger)}.chip--bad.is-on{background:var(--danger);border-color:var(--danger);color:var(--on-accent)}.chip--good{color:var(--ok)}.modal--large{width:min(820px,100%)}.empty-block{text-align:center;color:var(--text-2);justify-items:center;gap:8px;padding:18px 8px;display:grid}.empty-block p{max-width:44ch;margin:0}.hp-line{flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:14px;display:flex}.hp-line.is-down{color:var(--danger)}.hp-line__bar{background:var(--surface-2);border-radius:3px;flex:80px;min-width:60px;height:6px;display:block;overflow:hidden}.hp-line__bar>span{background:var(--ok);height:100%;display:block}.hp-edit{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hp-edit__amount input,.fight-row__set input,.stat-cell input{border:1.5px solid var(--line);border-radius:var(--radius-s);background:var(--surface);width:76px;min-height:36px;color:var(--text);font:inherit;padding:0 10px;font-size:15px}.hp-edit__amount input{width:64px;min-height:32px}.hp-edit__amount input:focus,.fight-row__set input:focus,.stat-cell input:focus{border-color:var(--focus);outline:none}.hp-steps,.cond-chips{flex-wrap:wrap;gap:6px;display:flex}.badge--cond{font:inherit;color:#8a5a00;cursor:pointer;background:#fff4d6;border:0;font-size:12px;font-weight:600}.badge--cond:disabled{cursor:default}@media (prefers-color-scheme:dark){.badge--cond{color:#ffcf6b;background:#3a2e12}}.map-token-card{max-height:calc(100% - 16px);overflow-y:auto}.fight{align-content:start;gap:10px;display:grid}.fight--none{text-align:center;color:var(--text-2);justify-items:center;padding:16px 8px}.fight--none p{max-width:40ch;margin:0}.fight__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fight__round{flex:160px;min-width:0;display:grid}.fight__round strong{font-size:17px}.fight__dm{align-items:center;gap:6px;display:flex}.fight__call{border-radius:var(--radius-m);background:var(--accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.fight__call--turn{background:var(--ok-bg)}.fight__acts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fight__act{gap:2px;display:inline-flex}.fight__list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.fight-row{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface)}.fight-row.is-current{border-color:#30a46c;box-shadow:0 0 0 2px #30a46c59}.fight-row.is-down .fight-row__main{opacity:.55}.fight-row.is-hidden{border-style:dashed}.fight-row__main{width:100%;min-height:52px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:6px 10px;display:flex}.fight-row__main:disabled{cursor:default}.fight-row__init{text-align:center;font-variant-numeric:tabular-nums;flex:none;width:34px;font-size:18px;font-weight:700}.fight-row__avatar,.entity-avatar{color:#fff;border:2px solid var(--surface);width:34px;height:34px;box-shadow:0 0 0 1px var(--line);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid;overflow:hidden}.fight-row__avatar img,.entity-avatar img{object-fit:cover;width:100%;height:100%}.fight-row__text{flex:1;gap:2px;min-width:0;display:grid}.fight-row__text strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fight-row__meta{color:var(--text-2);flex-wrap:wrap;gap:2px 8px;display:flex}.fight-row__cond{color:#8a5a00}@media (prefers-color-scheme:dark){.fight-row__cond{color:#ffcf6b}}.fight-row .hp-line__bar{max-width:160px;height:4px}.fight-row__more{padding:0 10px 10px 54px}.fight-row__set{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fight__foot{justify-content:space-between}.turn-banner{z-index:2;color:#eceef3;max-width:calc(100% - 16px);box-shadow:var(--shadow);background:#111318d9;border-radius:999px;align-items:center;gap:8px;padding:4px 6px 4px 4px;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.turn-banner.is-mine{background:#1d7a46}.turn-banner__text{min-width:0;min-height:36px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 8px;display:flex}.turn-banner__text>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.turn-banner .muted{color:#eceef3bf}.table-screen>.turn-banner{align-self:center;margin:0 auto;position:static;transform:none}.entity-top{grid-template-columns:auto 1fr;align-items:start;gap:16px;display:grid}.entity-top .portrait-pick__frame{width:112px;height:112px}.entity-top__fields{gap:10px;min-width:0;display:grid}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.stat-cell{justify-items:start;gap:2px;display:grid}.stat-cell__abbr{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.stat-cell input{width:100%}.stat-cell__shown{text-transform:none;color:var(--accent);font-weight:600}.entity-actions{gap:6px;margin:0;padding:0;list-style:none;display:grid}.entity-action{border:1px solid var(--line);border-radius:var(--radius-m);align-items:center;gap:4px;padding:2px 4px 2px 0;display:flex}.entity-action--edit{gap:10px;padding:12px;display:grid}.entity-action__roll{min-width:0;min-height:48px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:4px 10px;display:flex}.entity-action__roll:hover{color:var(--accent)}.entity-danger{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:10px;display:flex}.entity-chips{max-height:180px;overflow-y:auto}.entity-chips .entity-avatar{border-width:1px;width:22px;height:22px;font-size:11px}.scenario{gap:14px;display:grid}.scenario__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scenario__head .dialog-sub{flex:1;margin:0}.scenario-group{border:1px solid var(--line);box-shadow:none;gap:10px;padding:12px;display:grid}.scenario-group__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scenario-group__head .icon-btn{margin-left:auto}.scenario-entries{gap:6px;margin:0;padding:0;list-style:none;display:grid}.scenario-entry{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scenario-entry__name{white-space:nowrap;text-overflow:ellipsis;flex:120px;min-width:0;overflow:hidden}.scenario-new{grid-template-columns:1fr auto;align-items:start;gap:8px;display:grid}.scenario-new .btn{margin-top:30px}.chip-select{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text);font:inherit;border-radius:999px;padding:0 10px;font-size:14px}.handout-thumb{border-radius:var(--radius-s);object-fit:cover;width:36px;height:36px}.msg-handout{border-radius:var(--radius-m);background:var(--surface-2);align-items:start;gap:12px;padding:10px 12px;display:flex}.msg-handout__img{border-radius:var(--radius-m);object-fit:cover;flex:none;width:88px;height:88px}.msg-handout__text{justify-items:start;gap:6px;min-width:0;display:grid}@media (width<=767px){.entity-top{grid-template-columns:1fr;justify-items:center}.entity-top__fields{justify-items:start;width:100%}.entity-top__fields>*{width:100%}.entity-top__fields>.link-btn{width:auto}.modal--large{width:100%}.scenario-new{grid-template-columns:1fr}.scenario-new .btn{margin-top:0}.msg-handout__img{width:64px;height:64px}}.map-pane--phone .turn-banner__more{display:none}.map-pane--phone .map-token-card{max-height:55%}.map-pane--phone .turn-banner{max-width:calc(100% - 64px);left:8px;transform:none}.turn-banner.is-mine .chip--accent{color:#1d7a46;background:#fff;border-color:#fff}.world-screen{flex-direction:column;gap:12px;display:flex}.world-screen--desktop{height:calc(100dvh - 120px)}.world-screen--phone{gap:8px}.world-bar__new{margin-left:6px}.world-grid{flex:1;grid-template-columns:340px minmax(0,1fr);gap:16px;min-height:0;display:grid}.world-side,.world-main{min-height:0;overflow-y:auto}.world-page{flex-direction:column;gap:8px;display:flex}.world-back{align-self:flex-start}.world-list{flex-direction:column;gap:10px;display:flex}.world-search .field__box{color:var(--text-2);align-items:center;gap:8px;padding-left:12px;display:flex}.world-search input{min-width:0;color:var(--text);font:inherit;min-height:var(--tap);background:0 0;border:0;outline:none;flex:1}.world-filter{gap:6px}.world-filter .pick-chip{min-height:36px;padding:0 12px;font-size:14px}.world-list__items{gap:2px;margin:0;padding:0;list-style:none;display:grid}.world-list__empty{padding:8px 4px}.article-row{border-radius:var(--radius-m);width:100%;min-height:56px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:8px 10px;display:flex}.article-row:hover{background:var(--surface-2)}.article-row.is-on{background:var(--accent-soft)}.article-row__icon,.article-row__img{border-radius:var(--radius-s);flex:none;width:40px;height:40px}.article-row__icon{background:var(--surface-2);color:var(--accent);place-items:center;display:grid}.article-row__img{object-fit:cover}.article-row__text{flex:1;gap:2px;min-width:0;display:grid}.article-row__text>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.article-row__when{color:var(--accent);margin-right:8px;font-weight:600}.vis-badge{background:var(--surface-2);color:var(--text-2);white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.vis-badge--dm{background:var(--dm-soft);color:var(--dm)}.vis-badge--some{background:var(--player-soft);color:var(--player)}.vis-chip{white-space:nowrap;min-height:36px;font-size:14px}.vis-chip--dm{border-color:var(--dm);color:var(--dm)}.vis-chip--some{border-color:var(--player);color:var(--player)}.article{flex-direction:column;gap:16px;max-width:860px;display:flex}.article__head{align-items:flex-start;gap:18px;display:flex}.article__img{border-radius:var(--radius-m);object-fit:cover;flex:none;width:168px;height:168px}.article__titles{justify-items:start;gap:6px;min-width:0;display:grid}.article__titles h1{font-family:var(--font-heading);overflow-wrap:anywhere;margin:0;font-size:30px;line-height:1.15}.article__type{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.article__summary{color:var(--text-2);margin:0;font-size:17px}.article__tools{flex-wrap:wrap;gap:8px;display:flex}.article__facts{border-radius:var(--radius-m);background:var(--surface-2);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:0;padding:12px;display:grid}.fact dt{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.fact dd{overflow-wrap:anywhere;margin:2px 0 0}.article__section h2{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;font-size:20px;display:flex}.article__section--dm,.article__section--some{border-left:4px solid var(--dm);border-radius:var(--radius-s);background:var(--dm-soft);padding:12px 14px}.article__section--some{border-left-color:var(--player);background:var(--player-soft)}.article__section .rich>:first-child{margin-top:0}.article__backlinks,.article__missing{border-top:1px solid var(--line);padding-top:12px}.backlinks{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.backlink{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:10px;padding:6px 10px;display:flex}.backlink:hover{border-color:var(--accent)}.backlink>.icon{color:var(--accent);flex:none}.wiki-link{color:var(--accent);text-underline-offset:3px;font-weight:600;text-decoration:underline}.wiki-link--missing{font:inherit;color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;text-decoration-style:dashed}.world-welcome,.world-gone{text-align:center;align-items:center;margin:0 auto;padding:40px 24px}.world-welcome>.icon,.world-gone>.icon{color:var(--accent)}.world-welcome h2,.world-gone h2{margin:0}.world-welcome p{max-width:460px;margin:0}.article-edit__head{align-items:flex-start;gap:16px;display:flex}.article-edit__title{flex:1;gap:8px;min-width:0;display:grid}.article-edit__vis{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.article-edit__when{grid-template-columns:1fr 1fr;gap:12px;display:grid}.article-edit__block{gap:8px;display:grid}.article-edit__block .dialog-sub{margin:0}.article-edit__actions{background:var(--surface);border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:10px 0 2px;display:flex;position:sticky;bottom:0}.fact-edit{gap:6px;margin:0;padding:0;list-style:none;display:grid}.fact-edit__row{grid-template-columns:150px minmax(0,1fr) auto auto;align-items:center;gap:6px;display:grid}.fact-edit__label,.section-edit__title{min-width:0;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);color:var(--text);font:inherit;padding:0 10px}.fact-edit__label{font-size:14px;font-weight:600}.fact-edit__value .field{margin:0}.section-edit{border:1px solid var(--line);border-radius:var(--radius-m);gap:6px;padding:10px;display:grid}.section-edit--dm{border-left:4px solid var(--dm);background:var(--dm-soft)}.section-edit--some{border-left:4px solid var(--player);background:var(--player-soft)}.section-edit__top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.section-edit__title{flex:180px;font-weight:700}.section-edit__tools{margin-left:auto;display:inline-flex}.link-field{position:relative}.link-field textarea{resize:vertical;width:100%}.link-field__one{resize:none;white-space:nowrap;overflow:hidden}.mention-list{z-index:20;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--shadow);margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0}.mention-list__row{width:100%;min-height:var(--tap);border-radius:var(--radius-s);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 10px;display:flex}.mention-list__row.is-on,.mention-list__row:hover{background:var(--accent-soft)}.type-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.type-card{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;justify-items:start;gap:2px;padding:10px 12px;display:grid}.type-card>.icon{color:var(--accent)}.type-card.is-on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}@media (width<768px){.article{gap:12px}.article__head{flex-direction:column;gap:12px}.article__img{width:100%;height:auto;max-height:240px}.article__titles h1{font-size:24px}.article__facts{grid-template-columns:1fr 1fr}.article-edit__head{flex-direction:column}.article-edit__title{width:100%}.article-edit__when{grid-template-columns:1fr}.fact-edit__row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;padding-bottom:6px}.fact-edit__value{grid-area:2/1/auto/-1}.type-cards{grid-template-columns:1fr 1fr}.section-edit__title{flex-basis:100%}.article__tools .btn{flex:auto}}.books .family__head{flex-wrap:wrap}.books .family__head>span:nth-child(2){flex:1;min-width:180px}.family__die--book{background:var(--dm-soft);color:var(--dm)}.books__empty{padding:4px 2px}.badge--accent{background:var(--accent-soft);color:var(--accent)}.progress{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.progress>span{background:var(--accent);border-radius:inherit;height:100%;transition:width .3s;display:block}.progress--row{height:4px;margin:-6px 16px 4px}.book-upload{gap:14px;display:grid}.book-drop{border:2px dashed var(--line);border-radius:var(--radius-l);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;text-align:center;justify-items:center;gap:6px;padding:24px 16px;display:grid}.book-drop:hover,.book-drop.has-file{border-color:var(--accent)}.book-drop .icon{color:var(--accent)}.book-drop__name{word-break:break-word;font-weight:700}.book-drop__meta{color:var(--text-2);font-size:13px}.check-row{min-height:var(--tap);cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.check-row input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin-top:1px}.book-screen{gap:16px;max-width:920px;padding-bottom:88px;display:grid}.book-back{color:var(--text-2);align-items:center;gap:4px;min-height:32px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.book-back:hover{color:var(--accent)}.book-head__row{justify-content:space-between;align-items:center;gap:8px;display:flex}.book-head__row h1{word-break:break-word}.book-head__meta{flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:14px;display:flex}.book-progress h2,.book-failed h2{align-items:center;gap:8px;font-size:18px;display:flex}.book-failed h2 .icon{color:var(--danger)}.book-row-actions,.book-bulk{flex-wrap:wrap;gap:8px;display:flex}.book-summary{gap:6px;display:grid}.book-stats{flex-wrap:wrap;gap:8px 20px;font-size:15px;display:flex}.book-stats strong{margin-right:4px;font-size:22px}.book-tools{gap:10px;display:grid}.book-tools .segmented{overflow-x:auto}.book-chips{flex-wrap:wrap;gap:8px;display:flex}.book-entries{gap:6px;margin:0;padding:0;list-style:none;display:grid}.book-entry{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);width:100%;min-height:60px;color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:12px;padding:10px 14px;display:flex}.book-entry:hover{border-color:var(--accent)}.book-entry.is-dropped{opacity:.55}.book-entry.is-dropped .book-entry__name{text-decoration:line-through}.book-entry__icon{color:var(--accent);flex:none;display:grid}.book-entry__text{flex:1;gap:3px;min-width:0;display:grid}.book-entry__name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.book-entry__sub{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.book-entry__flags{flex-wrap:wrap;gap:4px;display:flex}.book-entry__sure{text-align:right;min-width:44px;color:var(--danger);flex:none;font-size:13px;font-weight:700}.book-entry__sure.is-sure{color:var(--ok)}.book-actions{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);width:fit-content;box-shadow:var(--shadow);justify-content:flex-end;gap:10px;margin-left:auto;padding:10px;display:flex;position:sticky;bottom:12px}.book-bulk .btn{min-height:40px;font-size:14px}.chip-select.is-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.book-menu{gap:6px;display:grid}.book-menu__item{min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:8px 12px;font-weight:600;display:flex}.book-menu__item:hover:not(:disabled){border-color:var(--accent)}.book-menu__item:disabled{opacity:.5}.book-menu__item .muted{flex-basis:100%;padding-left:34px;font-weight:400}.book-menu__item input{width:20px;height:20px;accent-color:var(--accent)}.book-menu__item--danger{color:var(--danger)}.book-editor{gap:14px;display:grid}.book-editor__flags{border-radius:var(--radius-m);background:var(--danger-bg);color:var(--danger);gap:4px;margin:0;padding:10px 12px;font-size:14px;list-style:none;display:grid}.book-editor__flags li{align-items:center;gap:8px;display:flex}.book-facts{border:0;gap:8px;margin:0;padding:0;display:grid}.book-facts legend{margin-bottom:4px;font-size:14px;font-weight:700}.book-fact{grid-template-columns:minmax(90px,1fr) 2fr auto;align-items:center;gap:6px;display:grid}.book-fact input{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);min-width:0;min-height:40px;color:var(--text);font:inherit;padding:0 10px}.book-facts>.chip{justify-self:start}.book-preview{gap:10px;display:grid}.book-source{white-space:pre-wrap;word-break:break-word;border-radius:var(--radius-m);background:var(--surface-2);max-height:50vh;margin:0;padding:12px;font-size:13px;line-height:1.45;overflow:auto}.book-stats-line{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.book-show{margin:12px 0}@media (width<=767px){.book-actions{width:auto;bottom:76px}.book-actions .btn{flex:1}.book-fact{grid-template-columns:1fr auto}.book-fact input:nth-child(2){grid-column:1}.book-fact .icon-btn{grid-area:1/2/span 2}}.shell--phone .book-actions{bottom:calc(61px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;width:auto;margin:0 -16px;padding:10px 16px;box-shadow:0 -4px 12px #10182814}.shell--phone .book-actions .btn:last-child{flex:1}
