: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;--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;--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}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(3,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{flex:1}}.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}
