: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(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{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}.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--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)}
