:root{color-scheme:light;--ink:#172b36;--muted:#587083;--bg:#f3f7f8;--panel:#fff;--line:#d7e3e9;--teal:#086b72;--gold:#e8b64b;--radius:12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}a{color:var(--teal)}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:.55rem .85rem;border:1px solid var(--line);border-radius:6px;background:var(--white,#fff);color:var(--ink);font-weight:650;text-decoration:none;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.primary{color:var(--theme-on-accent,#fff);background:var(--teal);border-color:var(--teal)}button:hover:not(:disabled),.button:hover{filter:brightness(.96)}input,select,textarea{max-width:100%;width:100%;padding:.6rem;border:1px solid var(--line,#b8cbd6);border-radius:5px;background:var(--white,#fff);color:var(--ink)}input[type=checkbox]{width:auto;min-width:18px;min-height:18px}.field{display:grid;gap:.4rem;font-size:.9rem;font-weight:600}.check-field{display:flex;gap:.6rem;align-items:flex-start;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.full,.full-width{grid-column:1/-1}.full-width{width:100%}.actions,.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.panel{padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin:1rem 0}.panel-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:center}.panel h2{margin-top:0}.hint,.muted,.subtle,.row-meta{color:var(--muted);line-height:1.5;font-size:.85rem}.form-error{color:var(--status-error-ink,#a52d34);white-space:pre-wrap;line-height:1.5}.notice,.offline-card{padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white,#fff)}.eyebrow,.mini-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--teal)}h1,h2,h3,h4{font-family:Georgia,serif;line-height:1.2}h1{font-size:clamp(1.7rem,4vw,2.5rem)}h2{font-size:1.5rem}.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem}.page-head h1{margin:.4rem 0}.small{min-height:34px;padding:.35rem .6rem;font-size:.85rem}.section-line{border-top:1px solid var(--line);margin:1rem 0}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.auth-intro{padding:1rem 0;line-height:1.6}.auth-form form{display:grid;gap:1rem}.auth-divider{border-top:1px solid var(--line);margin-top:1rem;padding-top:.5rem}.auth-status{min-height:1.5rem}.credentials{display:flex;flex-wrap:wrap;gap:1rem}.anonymous-code{font-family:monospace}.auth-account-note{margin:1rem 0;padding:.9rem;border:1px solid var(--line);background:var(--white,#fff);border-radius:6px}.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem}.stat{border:1px solid var(--line);border-top:3px solid var(--teal);padding:.6rem;background:var(--white,#fff);text-align:center;border-radius:7px}.stat .value{display:block;font-size:1.3rem;font-weight:750}.stat .label{display:block;color:var(--muted);font-size:.75rem}.ability-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem}.score{font-size:1.25rem;font-weight:700}.sheet-body{font-size:.9rem}.sheet-meta{display:block;color:var(--muted);font-size:.8rem}.sheet-heading .portrait{float:right;max-width:100px;max-height:100px}.portrait img{max-width:100%;height:auto}.sheet-paper-control{display:inline-grid;gap:.2rem}.sheet-options{display:flex;flex-wrap:wrap;gap:.8rem;margin:1rem 0}.sheet-options label{display:flex;align-items:center;gap:.4rem}.shared-sheet-layout{max-width:1200px;margin:auto;padding:2rem 1rem}.shared-sheet-layout .sheet-heading h1{margin:.6rem 0}.detail-list{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0}.offline-page{max-width:1100px;margin:auto;padding:1rem}.offline-card{max-width:800px;margin:3rem auto}.noscript{padding:1rem}dialog{width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 40px);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;color:var(--ink);background:var(--white,#fff)}dialog::backdrop{background:var(--theme-backdrop,#10263599)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dialog-top h2{font-size:1.3rem;margin:.2rem 0 1rem}.icon-button{font-size:1.4rem;min-width:40px}summary{cursor:pointer}.skip-link{position:fixed;left:8px;top:-100px;padding:10px;background:var(--white,#fff);z-index:9999}.skip-link:focus{top:8px}:focus-visible{outline:3px solid var(--theme-ring,#c29425);outline-offset:3px}[hidden]{display:none!important}@media(max-width:700px){.auth-layout{grid-template-columns:1fr;gap:.5rem}.form-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.ability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-page main{padding:1rem}.shared-sheet-layout{padding:1rem}}@media print{.print-hide,.library-header,.site-footer,.library-footer,.skip-link{display:none!important}.shared-sheet-layout{padding:0}.sheet-options{display:none}}

.portrait-trigger{display:block;width:100%;height:100%;min-height:0;min-width:0;padding:0;border:0;border-radius:7px;background:transparent;box-shadow:none;cursor:zoom-in;line-height:0}
.portrait-trigger:hover{background:transparent;box-shadow:0 0 0 2px var(--teal)}
.portrait-preview{position:fixed;inset:auto;margin:0;z-index:1000;box-sizing:border-box;width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--white,white);color:var(--ink);box-shadow:0 16px 54px var(--theme-shadow-medium,#101b2440);overflow:auto}
.portrait-preview[hidden]{display:none!important}
.portrait-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.portrait-preview-heading h2{font-size:18px;line-height:1.3;margin:0;overflow-wrap:anywhere}
.portrait-preview-heading button{flex:none;min-width:36px;min-height:36px}
.portrait-preview>img{display:block;width:100%;height:auto;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);object-fit:contain;border-radius:6px}
@media print{.portrait-trigger,.portrait-trigger:hover{box-shadow:none;background:transparent;border:0}}

.check{display:flex;align-items:center;gap:.6rem;margin:.6rem 0}.page-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}.public-character main{max-width:1200px}@media print{.public-character main{max-width:none;padding:0}.portrait-preview{display:none!important}}

/* BEGIN GENERATED THEME COMPONENTS */
:root{--theme-hover:#156d70;--theme-nav-line:#8ebcbd;--theme-on-dark:#f9fbfb;--theme-dark-muted:#ecf3f3;--theme-dark-soft:#e2edee;--theme-strong:#134547;--theme-surface:#f4f8f8;--theme-accent-border:#9bc9ca;--theme-warm-surface:#f0f8f9;--theme-warm-ink:#276672;--theme-ring:#08797d;--theme-text:#192e2f;--theme-text-muted:#466c6d;--theme-primary:#08797d;--theme-control-bg:#fcfdfd;--theme-control-hover:#e9f0f1;--theme-control-active:#dce8ea;--theme-control-border:#539395;--theme-control-border-hover:#08797d;--theme-input-bg:#fefefe;--theme-on-accent:#fcfdfd;--theme-on-highlight:#142629;--theme-tooltip-bg:#162f32;--theme-tooltip-ink:#f9fafa;--theme-tooltip-line:#70a4a9;--theme-focus-glow:#08797d24;--theme-control-overlay:#08797d0d;--theme-selection-bg:#c9e1e4;--theme-selection-ink:#152828;--theme-shadow-soft:#0e1f2017;--theme-shadow-medium:#0e1f203b;--theme-shadow-strong:#0e1f206b;--theme-shadow-heavy:#0e1f2099;--theme-backdrop:#0e1f20b8;--theme-scrim:#0e1f20c2;--theme-on-dark-glow:#f9fafa1f;--theme-scrollbar-thumb:#539395;--theme-scrollbar-thumb-hover:#407e80;--theme-scrollbar-track:#f0f4f4;--theme-dark-canvas:#0c1818;--theme-dark-panel:#162b2c;--theme-dark-field:#1e3739;--theme-dark-hover:#2a5055;--theme-dark-line:#70a4a9;--theme-dark-soft-bg:#234043;--theme-dark-accent:#bbe3e7;--theme-dark-accent-hover:#a1d9e2;--theme-dark-highlight:#cde3e9;--theme-dark-ink:#0e1a1b;--theme-dark-scrollbar-thumb:#7cb1b6;--theme-secondary:#19506b;--theme-secondary-surface:#eff3f6;--theme-secondary-border:#9bbbca;--theme-secondary-dark:#172830;--theme-light-canvas:#f7f9f9;--theme-light-panel:#fdfdfd;--theme-light-field:#fefefe;--theme-light-hover:#e9f0f1;--theme-light-line:#539395;--theme-light-soft-bg:#e8f7f7;--theme-light-accent:#08797d;--theme-light-accent-hover:#156d70;--theme-light-highlight:#e2f5f8;--theme-light-ink:#192e2f;--theme-light-muted:#466c6d;--theme-light-on-accent:#fcfdfd;--theme-light-scrollbar-thumb:#539395}
/* Shared component colors. This build source is embedded into public-base.css
   and themes.css: no new runtime stylesheet request is introduced. */
:root{
 --focus:var(--theme-ring,var(--teal));
 --shadow:0 14px 40px var(--theme-shadow-soft);
 --status-error-ink:#a52d34;--status-error-border:#c8878e;--status-error-surface:#fff0f2;
 --status-error-dark-ink:#ffdce1;--status-error-dark-border:#ef9ca8;--status-error-dark-surface:#3b2028;
 --status-warning-ink:#684418;--status-warning-border:#c29425;--status-warning-surface:#fff7e4;
 --status-warning-dark-ink:#f4d49c;--status-warning-dark-border:#a4874d;--status-warning-dark-surface:#332d23;
 --status-success-ink:#176957;--status-success-border:#4d9886;--status-success-surface:#e7f4ed;
 --status-success-dark-ink:#a9e7cd;--status-success-dark-border:#4d9886;--status-success-dark-surface:#163b31;
}
@media screen{
 *{scrollbar-color:var(--theme-scrollbar-thumb) var(--theme-scrollbar-track)}
 ::selection{background:var(--theme-selection-bg);color:var(--theme-selection-ink)}
 input,select,textarea,progress{accent-color:var(--teal);caret-color:var(--teal)}
 input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
 :root[data-theme] :is(input,select,textarea):focus{border-color:var(--theme-control-border-hover)}
 :root[data-theme] :is(input,select,textarea)[aria-invalid=true]{border-color:var(--danger,var(--status-error-ink))}
 :is(input,select,textarea):disabled{background-color:var(--theme-control-hover);color:var(--muted)}
 input[type=file]::file-selector-button:hover{background:var(--theme-control-hover);border-color:var(--theme-control-border-hover)}
 :root :is(button,.button):is(:hover,:active):not(:disabled){filter:none}
 :where(button,.button):not(.primary,.danger):hover:not(:disabled){background:var(--theme-control-hover);color:var(--ink);border-color:var(--theme-control-border-hover)}
 :where(button,.button):not(.primary,.danger):active:not(:disabled){background:var(--theme-control-active);color:var(--ink);border-color:var(--theme-control-border-hover)}
 :is(.graph-page,.knowledge-page,.downtime-page,.projector-page){
  --paper:var(--theme-dark-canvas);--bg:var(--theme-dark-canvas);--white:var(--theme-dark-panel);--panel:var(--theme-dark-panel);
  --night:var(--theme-dark-canvas);--nav:var(--theme-dark-panel);--ink:var(--theme-on-dark);--muted:var(--theme-dark-muted);--line:var(--theme-dark-line);
  --teal:var(--theme-dark-accent);--teal-light:var(--theme-dark-soft-bg);--gold:var(--theme-dark-highlight);--danger:var(--status-error-dark-ink);
  --theme-control-bg:var(--theme-dark-field);--theme-control-hover:var(--theme-dark-hover);--theme-control-active:var(--theme-dark-soft-bg);--theme-control-border:var(--theme-dark-line);--theme-control-border-hover:var(--theme-dark-accent);--theme-input-bg:var(--theme-dark-field);--theme-on-accent:var(--theme-dark-ink);--theme-ring:var(--theme-dark-highlight);
  --theme-scrollbar-thumb:var(--theme-dark-scrollbar-thumb);--theme-scrollbar-thumb-hover:var(--theme-dark-accent);--theme-scrollbar-track:var(--theme-dark-panel);
 }
 :is(.site-header,.library-header,.campaign-site-header,.sidebar,.account-popover,.auth-intro,.member-card,.health-strip,.session-tools,.roll-result,.global-dice-dialog,.shared-dice-audience){
  --white:var(--theme-dark-panel);--panel:var(--theme-dark-panel);--ink:var(--theme-on-dark);--muted:var(--theme-dark-muted);--line:var(--theme-dark-line);--danger:var(--status-error-dark-ink);
  --theme-control-bg:var(--theme-dark-field);--theme-control-hover:var(--theme-dark-hover);--theme-control-active:var(--theme-dark-soft-bg);--theme-control-border:var(--theme-dark-line);--theme-control-border-hover:var(--theme-dark-accent);--theme-input-bg:var(--theme-dark-field);--theme-ring:var(--theme-dark-highlight);
  --theme-scrollbar-thumb:var(--theme-dark-scrollbar-thumb);--theme-scrollbar-thumb-hover:var(--theme-dark-accent);--theme-scrollbar-track:var(--theme-dark-panel);
 }
 :is(.global-dice-dialog,.shared-dice-audience,.library-header,.auth-intro,.member-card,.roll-result,.session-tools){--status-error-ink:var(--status-error-dark-ink);--status-error-surface:var(--status-error-dark-surface);--status-warning-ink:var(--status-warning-dark-ink);--status-warning-surface:var(--status-warning-dark-surface);--status-success-ink:var(--status-success-dark-ink);--status-success-surface:var(--status-success-dark-surface)}
 :is(.global-dice-dialog,.shared-dice-audience,.library-header,.auth-intro) :is(input,select,textarea){color-scheme:dark}
 :is(.graph-page,.knowledge-page,.downtime-page,.projector-page) :is(button,.button).primary:is(:hover,:active){background:var(--theme-dark-accent-hover);color:var(--theme-dark-ink);border-color:var(--theme-dark-accent)}
 :is(.control-tooltip,#map-feature-tooltip){background:var(--theme-tooltip-bg);color:var(--theme-tooltip-ink);border-color:var(--theme-tooltip-line);scrollbar-color:var(--theme-dark-scrollbar-thumb) var(--theme-tooltip-bg)}
 .site-header .save-state,.site-footer{color:var(--theme-dark-muted)}
 .site-footer a,#play-dock :is(a,button){color:var(--theme-dark-accent)}
 #toast{border-left-color:var(--teal)}
 #toast[data-tone=error]{border-left-color:var(--status-error-border)}
 :root[data-theme] .unread-count{color:var(--theme-on-highlight)}
 .global-dice-dialog .primary{color:var(--theme-on-highlight)}
 .global-dice-dialog :is(button,.button).primary:is(:hover,:active){background:var(--theme-dark-accent-hover);color:var(--theme-dark-ink);border-color:var(--theme-dark-accent)}
 .global-dice-dialog :is(.dice-formula-help,.dice-roll-settings)>summary{color:var(--theme-dark-accent)}
 .global-dice-dialog :is(.dice-formula-help,.dice-roll-settings)>summary:focus-visible{outline-color:var(--theme-dark-highlight)}
 .rehearsal-page{--sim:var(--theme-secondary);--sim-pale:var(--theme-secondary-surface);--sim-border:var(--theme-secondary-border)}
 @supports not (scrollbar-color:auto){
  ::-webkit-scrollbar{width:12px;height:12px}
  ::-webkit-scrollbar-track{background:var(--theme-scrollbar-track)}
  ::-webkit-scrollbar-thumb{background:var(--theme-scrollbar-thumb);border:3px solid var(--theme-scrollbar-track);border-radius:12px}
  ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb-hover)}
  ::-webkit-scrollbar-corner{background:var(--theme-scrollbar-track)}
 }
}
@media(forced-colors:active){*{scrollbar-color:auto!important}:focus-visible{outline-color:Highlight!important}}

@media screen{
 :root[data-color-mode=light]{color-scheme:light}
 :root[data-color-mode=dark]{color-scheme:dark}
 :root[data-color-mode=dark],:root[data-color-mode=system]{--danger:var(--status-error-dark-ink)}
 :root[data-color-mode=dark]{--status-error-ink:var(--status-error-dark-ink);--status-error-surface:var(--status-error-dark-surface);--status-warning-ink:var(--status-warning-dark-ink);--status-warning-surface:var(--status-warning-dark-surface);--status-success-ink:var(--status-success-dark-ink);--status-success-surface:var(--status-success-dark-surface)}
 :root[data-color-mode=dark] :is(input,select,textarea){color-scheme:dark}
 :root[data-color-mode=dark] :is(button,.button).primary{color:var(--theme-on-accent)}
 :root[data-color-mode=dark] :is(button,.button).primary:is(:hover,:active){background:var(--theme-dark-accent-hover);color:var(--theme-dark-ink)}
}
@media(prefers-color-scheme:light){:root[data-color-mode=system]{color-scheme:light;--danger:var(--status-error-ink)}}
@media(prefers-color-scheme:dark){:root[data-color-mode=system]{color-scheme:dark;--status-error-ink:var(--status-error-dark-ink);--status-error-surface:var(--status-error-dark-surface);--status-warning-ink:var(--status-warning-dark-ink);--status-warning-surface:var(--status-warning-dark-surface);--status-success-ink:var(--status-success-dark-ink);--status-success-surface:var(--status-success-dark-surface)}:root[data-color-mode=system] :is(input,select,textarea){color-scheme:dark}:root[data-color-mode=system] :is(button,.button).primary{color:var(--theme-on-accent)}:root[data-color-mode=system] :is(button,.button).primary:is(:hover,:active){background:var(--theme-dark-accent-hover);color:var(--theme-dark-ink)}}
@media print{
 :root[data-color-mode]{color-scheme:light;--ink:#172b36!important;--muted:#425563!important;--paper:#fff!important;--bg:#fff!important;--panel:#fff!important;--white:#fff!important;--line:#b4bec5!important;--teal:#076d70!important;--teal-light:#edf6f5!important;--gold:#f5e4c8!important;--theme-surface:#fff!important;--theme-text:#172b36!important;--theme-text-muted:#425563!important;--theme-control-bg:#fff!important;--theme-input-bg:#fff!important;--theme-on-accent:#fff!important;--theme-on-highlight:#172b36!important}
 .creator-contact{display:none!important}
}
.creator-contact{display:inline-block;font-size:.85rem;margin:.4rem .65rem}

@media screen{:root[data-color-mode=light] :is(.graph-page,.knowledge-page,.downtime-page,.projector-page){--theme-dark-canvas:var(--theme-light-canvas);--theme-dark-panel:var(--theme-light-panel);--theme-dark-field:var(--theme-light-field);--theme-dark-hover:var(--theme-light-hover);--theme-dark-line:var(--theme-light-line);--theme-dark-soft-bg:var(--theme-light-soft-bg);--theme-dark-accent:var(--theme-light-accent);--theme-dark-accent-hover:var(--theme-light-accent-hover);--theme-dark-highlight:var(--theme-light-highlight);--theme-dark-ink:var(--theme-light-on-accent);--theme-dark-muted:var(--theme-light-muted);--theme-dark-soft:var(--theme-light-muted);--theme-on-dark:var(--theme-light-ink);--theme-dark-scrollbar-thumb:var(--theme-light-scrollbar-thumb);--danger:var(--status-error-ink);}}
@media screen and (prefers-color-scheme:light){:root[data-color-mode=system] :is(.graph-page,.knowledge-page,.downtime-page,.projector-page){--theme-dark-canvas:var(--theme-light-canvas);--theme-dark-panel:var(--theme-light-panel);--theme-dark-field:var(--theme-light-field);--theme-dark-hover:var(--theme-light-hover);--theme-dark-line:var(--theme-light-line);--theme-dark-soft-bg:var(--theme-light-soft-bg);--theme-dark-accent:var(--theme-light-accent);--theme-dark-accent-hover:var(--theme-light-accent-hover);--theme-dark-highlight:var(--theme-light-highlight);--theme-dark-ink:var(--theme-light-on-accent);--theme-dark-muted:var(--theme-light-muted);--theme-dark-soft:var(--theme-light-muted);--theme-on-dark:var(--theme-light-ink);--theme-dark-scrollbar-thumb:var(--theme-light-scrollbar-thumb);--danger:var(--status-error-ink);}}

/* END GENERATED THEME COMPONENTS */
