:root,:root[data-theme=ember-tavern]{--bg:#2b2019;--panel:#fff6df;--ink:#2b2119;--muted:#765f47;--line:#c8a46c;--accent:#b65f24;--accent-strong:#7b3415;--button-primary-bg:#7b3415;--danger:#a12b21;--topbar:#3a251b;--topbar-ink:#fff6df;--field-bg:#fffaf0;--soft-panel:#f7e8c2;--focus:#e19a3c;--menu-bg:#fff6df;--menu-shadow:#26170f57;--theme-bg-image:url(/themes/theme-ember-tavern.png);--page-overlay:radial-gradient(circle at 18% 0%, #ffa33642, transparent 34%), linear-gradient(180deg, #2b201942, #2b201985);--topbar-gradient:linear-gradient(90deg, #3a251bf5, #693418e6);--header-band:#3a251b66;--header-ink:#fff6df;--header-accent:#ffd08a;--panel-texture:linear-gradient(135deg, #ffffffa3, #ffe4a92e);--glow:#e19a3c73;--accent-glow:0 0 20px #e19a3c52;--heading-glow:0 0 18px #ffae4b5c}:root[data-theme=midnight-tome]{--bg:#111019;--panel:#211d2b;--ink:#f4eadc;--muted:#b6a999;--line:#4b3c5d;--accent:#c9994a;--accent-strong:#f0c46b;--button-primary-bg:#7a4f11;--danger:#f87171;--topbar:#0b0a12;--topbar-ink:#f9ead1;--field-bg:#171421;--soft-panel:#2c2638;--focus:#f0c46b;--menu-bg:#171421;--menu-shadow:#0000007a;--theme-bg-image:url(/themes/theme-midnight-tome.png);--page-overlay:radial-gradient(circle at 20% 0%, #f0c46b2e, transparent 32%), linear-gradient(180deg, #1110199e, #111019e6);--topbar-gradient:linear-gradient(90deg, #0b0a12fa, #332743e6);--header-band:#0b0a1266;--header-ink:#f9ead1;--header-accent:#f0c46b;--panel-texture:linear-gradient(135deg, #f0c46b1f, #211d2bd1);--glow:#f0c46b6b;--accent-glow:0 0 22px #f0c46b57;--heading-glow:0 0 20px #c9994a73}:root[data-theme=arcane-glass]{--bg:#e9f8ff;--panel:#ffffffd6;--ink:#10253f;--muted:#567089;--line:#a9d9ec;--accent:#0e8fc2;--accent-strong:#075a88;--button-primary-bg:#075a88;--danger:#b42318;--topbar:#0d3d62;--topbar-ink:#e9fbff;--field-bg:#f8fdff;--soft-panel:#d8f1fb;--focus:#22c7f2;--menu-bg:#f7fdfff5;--menu-shadow:#06365447;--theme-bg-image:url(/themes/theme-arcane-glass.png);--page-overlay:radial-gradient(circle at 20% 4%, #22c7f247, transparent 30%), linear-gradient(180deg, #e9f8ffa8, #e9f8ffe0);--topbar-gradient:linear-gradient(90deg, #0d3d62eb, #0e8fc2c7);--header-band:#0d3d6266;--header-ink:#e9fbff;--header-accent:#a8ecff;--panel-texture:linear-gradient(135deg, #ffffffc7, #22c7f221);--glow:#22c7f27a;--accent-glow:0 0 24px #22c7f266;--heading-glow:0 0 18px #22c7f252}:root[data-theme=iron-keep]{--bg:#e7e5df;--panel:#f9f8f4;--ink:#1d2528;--muted:#647075;--line:#9aa1a3;--accent:#41695f;--accent-strong:#263f3a;--button-primary-bg:#263f3a;--danger:#9f251f;--topbar:#273034;--topbar-ink:#f2f0ea;--field-bg:#fffefa;--soft-panel:#d9ddd9;--focus:#6f8d83;--menu-bg:#f3f2ed;--menu-shadow:#1f272a52;--theme-bg-image:url(/themes/theme-iron-keep.png);--page-overlay:radial-gradient(circle at 16% 0%, #6f8d8338, transparent 30%), linear-gradient(180deg, #e7e5dfb8, #e7e5dfe6);--topbar-gradient:linear-gradient(90deg, #273034f5, #41695fc7);--header-band:#27303466;--header-ink:#f2f0ea;--header-accent:#cfd8d3;--panel-texture:linear-gradient(135deg, #ffffffa8, #747c7c1f);--glow:#41695f61;--accent-glow:0 0 18px #41695f47;--heading-glow:0 0 15px #41695f3d}:root[data-theme=neon-runner]{--bg:#080b14;--panel:#111827;--ink:#e6faff;--muted:#8aa2b8;--line:#27364d;--accent:#22d3ee;--accent-strong:#f472d0;--button-primary-bg:#0f6170;--danger:#fb7185;--topbar:#050711;--topbar-ink:#e6faff;--field-bg:#0c1220;--soft-panel:#172033;--focus:#f472d0;--menu-bg:#0c1220;--menu-shadow:#0000008c;--theme-bg-image:url(/themes/theme-neon-runner.png);--page-overlay:radial-gradient(circle at 18% 0%, #22d3ee3b, transparent 28%), radial-gradient(circle at 86% 18%, #f472d033, transparent 26%), linear-gradient(180deg, #080b14a8, #080b14e6);--topbar-gradient:linear-gradient(90deg, #050711fa, #0d182df0, #380e42c7);--header-band:#05071166;--header-ink:#e6faff;--header-accent:#22d3ee;--panel-texture:linear-gradient(135deg, #22d3ee21, #f472d014);--glow:#22d3ee8c;--accent-glow:0 0 24px #22d3ee66, 0 0 36px #f472d03d;--heading-glow:0 0 18px #22d3ee7a, 0 0 28px #f472d038}:root[data-theme=dark-mode]{--bg:#0f1218;--panel:#181d26;--ink:#f1f5f9;--muted:#9aa7b5;--line:#2b3441;--accent:#60a5fa;--accent-strong:#93c5fd;--button-primary-bg:#1d4f91;--danger:#fb7185;--topbar:#0b0e14;--topbar-ink:#f8fafc;--field-bg:#111722;--soft-panel:#202836;--focus:#60a5fa;--menu-bg:#111722;--menu-shadow:#00000080;--theme-bg-image:url(/themes/theme-dark-mode.png);--page-overlay:radial-gradient(circle at 18% 0%, #60a5fa29, transparent 30%), linear-gradient(180deg, #0f1218ad, #0f1218eb);--topbar-gradient:linear-gradient(90deg, #0b0e14fa, #181f2bf2);--header-band:#0b0e1466;--header-ink:#f8fafc;--header-accent:#93c5fd;--panel-texture:linear-gradient(135deg, #60a5fa14, #ffffff05);--glow:#60a5fa5c;--accent-glow:0 0 20px #60a5fa47;--heading-glow:0 0 16px #60a5fa42}*{box-sizing:border-box}body{background:var(--page-overlay), var(--theme-bg-image) center top / cover fixed, var(--bg);color:var(--ink);min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:auto}body:has(.landing-page){background:#02070b;overflow-x:hidden}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1 0 auto}button,input,select,textarea{font:inherit}select{background:var(--field-bg);color:var(--ink)}select option,select optgroup{color:#111827;background-color:#fff}select option:checked{color:#111827;background-color:#f3e8cf}textarea{resize:vertical;min-width:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{background:var(--topbar-gradient), var(--theme-bg-image) center / cover;color:var(--topbar-ink);z-index:35;justify-content:space-between;align-items:center;min-width:1180px;height:64px;padding:0 28px;display:flex;position:sticky;top:0;box-shadow:0 8px 24px #0000002e}.brand{background:#02070b;border-radius:6px;width:272px;height:52px;display:block;overflow:hidden}.brand-image{background:url(/ttrpg-vault-titlebar-brand.png) 0/contain no-repeat;width:100%;height:100%;display:block}.nav{align-items:center;gap:12px;display:flex;position:relative}.landing-topbar-links{align-items:center;gap:44px;display:flex}.landing-topbar-links a{color:var(--topbar-ink);font-size:.96rem;font-weight:800;text-decoration:none}.landing-topbar-links a:hover,.landing-topbar-links a:focus-visible{color:#f6c66c}body:has(.landing-page) .topbar{box-shadow:none;background:linear-gradient(#02070bfa,#02070bf0);border-bottom:1px solid #d7a9546b}.topbar-search{box-sizing:border-box;color:var(--topbar-ink);background:#ffffff1f;border:1px solid #ffffff38;border-radius:6px;flex:0 0 176px;align-items:center;gap:8px;width:176px;height:38px;min-height:38px;padding:0 10px;display:flex;position:relative}.topbar-search:focus-within{border-color:color-mix(in srgb, var(--topbar-ink) 46%, transparent);background:#ffffff2e}.topbar-search input{color:var(--topbar-ink);background:0 0;border:0;width:100%;min-width:0;height:36px;min-height:36px;padding:0;font-size:.9rem;font-weight:800;line-height:1}.topbar-search input:focus{outline:none}.topbar-search input::placeholder{color:color-mix(in srgb, var(--topbar-ink) 76%, transparent)}.topbar-search-results{background:var(--panel-texture), var(--panel);border:1px solid var(--line);box-shadow:0 18px 40px color-mix(in srgb, var(--glow) 34%, transparent);color:var(--ink);z-index:42;border-radius:8px;gap:6px;min-width:320px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.topbar-search-results a,.topbar-search-results p{color:var(--ink);border:1px solid #0000;border-radius:6px;gap:2px;margin:0;padding:8px 10px;text-decoration:none;display:grid}.topbar-search-results a:hover{background:var(--field-bg);border-color:var(--accent)}.topbar-search-results span{color:var(--muted);font-size:.78rem;font-weight:800}.menu-trigger,.menu-close{color:var(--topbar-ink);cursor:pointer;background:#ffffff1f;border:1px solid #fff3;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.menu-trigger:hover,.menu-close:hover{background:#fff3}.menu-backdrop{cursor:pointer;z-index:40;background:#0e181b75;border:0;position:fixed;inset:0}.slide-menu{background:var(--panel-texture), var(--theme-bg-image) center / cover, var(--menu-bg);border-left:1px solid var(--line);box-shadow:-18px 0 40px var(--menu-shadow);color:var(--ink);z-index:50;flex-direction:column;gap:24px;width:360px;height:100vh;padding:24px;transition:transform .16s;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.slide-menu.open{transform:translate(0)}.slide-menu-heading{justify-content:space-between;align-items:start;display:flex}.slide-menu-brand{background:#02070b url(/ttrpg-vault-titlebar-brand.png) 0/contain no-repeat;border-radius:6px;width:272px;height:52px;display:block;overflow:hidden}.slide-menu .menu-close{background:var(--accent);border-color:var(--accent);color:#fff}.slide-menu-nav{gap:8px;display:grid}.slide-menu-nav a{background:color-mix(in srgb, var(--panel) 82%, transparent);border:1px solid var(--line);border-radius:8px;align-items:center;gap:12px;min-height:52px;padding:0 14px;display:flex}.slide-menu-parent,.slide-menu-subnav button{background:color-mix(in srgb, var(--panel) 82%, transparent);border:1px solid var(--line);color:inherit;cursor:pointer;font:inherit;text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:52px;padding:0 14px;display:flex}.slide-menu-parent svg:last-child{margin-left:auto;transition:transform .16s}.slide-menu-parent svg.open:last-child{transform:rotate(180deg)}.slide-menu-group{gap:8px;display:grid}.slide-menu-subnav{gap:8px;padding-left:18px;display:grid}.slide-menu-subnav a,.slide-menu-subnav button{min-height:44px}.slide-menu-nav a:hover,.slide-menu-parent:hover,.slide-menu-subnav button:hover{border-color:var(--accent);color:var(--accent-strong);box-shadow:var(--accent-glow)}.auth-shell{place-items:center;min-height:calc(100vh - 64px);padding:24px;display:grid}.landing-auth-shell{align-content:start;gap:22px;min-width:1180px;max-width:1180px;margin:0 auto;padding:16px 24px 36px}.auth-panel{background:var(--panel-texture), var(--panel);border:1px solid var(--line);box-shadow:0 18px 48px color-mix(in srgb, var(--glow) 32%, transparent);text-align:center;border-radius:8px;max-width:440px;padding:32px}.public-landing-hero{filter:drop-shadow(0 18px 26px #00000042);background:url(/ttrpg-vault-menu-brand.png) 50%/contain no-repeat;width:100%;height:280px}.public-landing-grid{grid-template-columns:minmax(0,1fr) minmax(330px,390px) minmax(0,1fr);align-items:stretch;gap:18px;width:100%;display:grid}.public-auth-panel{align-content:center;gap:14px;max-width:none;min-height:520px;padding:30px;display:grid;position:relative}.public-auth-panel:before{background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 46%), linear-gradient(180deg, color-mix(in srgb, var(--panel) 78%, transparent), transparent);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0}.public-auth-panel>*{position:relative}.public-auth-panel h1{font-size:30px}.public-feature-card{background:var(--panel-texture), color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--line);box-shadow:0 16px 40px color-mix(in srgb, var(--glow) 20%, transparent);border-radius:8px;grid-template-rows:210px 1fr;min-height:520px;display:grid;overflow:hidden}.public-feature-card:hover{border-color:var(--accent);box-shadow:var(--accent-glow), 0 18px 44px #0000002e;transform:translateY(-1px)}.public-feature-image{background-color:color-mix(in srgb, var(--topbar) 20%, transparent);border-bottom:1px solid var(--line)}.public-feature-copy{align-content:start;gap:12px;padding:20px;display:grid}.public-feature-copy h2{margin:0;font-size:26px;line-height:1.12}.public-feature-copy h3{color:var(--ink);margin:0;font-size:18px;line-height:1.22}.public-feature-copy ul{color:var(--muted);gap:10px;margin:0;padding:0;list-style:none;display:grid}.public-feature-copy li{grid-template-columns:18px 1fr;align-items:start;gap:8px;line-height:1.35;display:grid}.public-feature-copy li svg{color:var(--accent-strong);margin-top:2px}.landing-page{color:#fff4dd;background:radial-gradient(circle at 68% 18%,#20c9e721,#0000 30%),linear-gradient(#02070b 0%,#061018 58%,#02070b 100%);min-height:calc(100vh - 64px);overflow:hidden}.landing-hero{align-items:center;min-height:600px;padding:52px 68px 94px;display:grid;position:relative}.landing-hero-background{position:absolute;inset:0;overflow:hidden}.landing-hero-background:after{content:"";z-index:1;background:linear-gradient(90deg,#02070bfc 0%,#02070bf0 29%,#02070b59 49%,#02070b0a 100%),linear-gradient(#02070b38 0%,#0000 64%,#02070b 100%);position:absolute;inset:0}.landing-hero-background-image{object-fit:cover;object-position:center;z-index:0}.landing-hero-content{z-index:1;gap:28px;max-width:690px;display:grid;position:relative}.landing-hero-wordmark{filter:drop-shadow(0 20px 44px #00000094);mix-blend-mode:screen;width:min(100%,650px);max-width:650px;height:auto;display:block}.landing-hero-content p{color:#f2dfc6;text-shadow:0 14px 34px #000000d1;margin:0;font-family:Georgia,Times New Roman,serif;font-size:25px;line-height:1.38}.landing-hero-actions{align-items:center;gap:18px;display:flex}.landing-primary-cta,.landing-secondary-cta{box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;gap:10px;min-width:220px;height:56px;padding:0 24px;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:800;text-decoration:none;display:inline-flex}.landing-primary-cta{color:#fff8e9;cursor:pointer;background:linear-gradient(#e2ae58,#a86625);border:1px solid #f3c66e;box-shadow:0 18px 34px #00000057,inset 0 1px #ffefb973}.landing-secondary-cta{color:#fff0d4;background:#030a11b8;border:1px solid #c68a3e}.landing-primary-cta:hover,.landing-primary-cta:focus-visible,.landing-secondary-cta:hover,.landing-secondary-cta:focus-visible{transform:translateY(-1px);box-shadow:0 0 0 3px #f6c66c3b,0 18px 34px #00000061}.landing-trust-list{color:#f2dfc6b8;align-items:center;gap:32px;margin:0;padding:0;list-style:none;display:flex}.landing-trust-list li{white-space:nowrap;align-items:center;gap:9px;font-size:15px;display:flex}.landing-trust-list svg{color:#f6c66cc7}.landing-feature-band{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:2;background:linear-gradient(#09131ce6,#040b12ed);border:1px solid #d7a95461;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:min(1564px,100% - 108px);margin:-78px auto 0;padding:18px;display:grid;position:relative;box-shadow:0 24px 70px #00000073}.landing-feature-card{aspect-ratio:auto;background:linear-gradient(135deg,#072639db,#101821d1);border:1px solid #2ac4dc61;border-radius:8px;grid-template-columns:76px minmax(0,1fr);align-content:start;gap:14px;min-width:0;min-height:208px;padding:20px;display:grid;overflow:hidden}.landing-feature-band>.landing-feature-card{aspect-ratio:auto;min-height:208px}.landing-feature-card>div{min-width:0}.landing-feature-card img{object-fit:contain;align-self:start;width:76px;height:92px}.landing-feature-card h2{color:#fff0d4;overflow-wrap:anywhere;margin:0;font-family:Georgia,Times New Roman,serif;font-size:23px;line-height:1.1}.landing-feature-card p{color:#f2dfc6d4;overflow-wrap:anywhere;margin:9px 0 0;line-height:1.46}.landing-feature-card span{color:#66f1ff;overflow-wrap:anywhere;text-align:center;border:1px solid;border-radius:4px;grid-column:1/-1;align-self:end;min-width:0;padding:9px 10px;font-size:.88rem;font-weight:900;display:block}.landing-feature-slots{background:linear-gradient(135deg,#34172dd6,#121620db);border-color:#f469c56b}.landing-feature-slots svg,.landing-feature-slots span{color:#ff73ce}.landing-feature-sharing{background:linear-gradient(135deg,#3a2910d1,#141619db);border-color:#f6c66c6b}.landing-feature-sharing svg,.landing-feature-sharing span{color:#f6c66c}.landing-feature-pdf{background:linear-gradient(135deg,#0b362dd1,#101c1fdb);border-color:#41e0b06b}.landing-feature-pdf svg,.landing-feature-pdf span{color:#4be5b7}.landing-section-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:min(1564px,100% - 108px);margin:34px auto 0;padding-bottom:28px;display:grid}.landing-section-panel{background:#050e16c2;border:1px solid #d7a95447;border-radius:8px;gap:12px;min-height:190px;padding:22px;scroll-margin-top:88px;display:grid}.landing-section-panel>svg{color:#f6c66c}.landing-section-panel h2,.landing-section-panel h3{color:#fff0d4;letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif}.landing-section-panel h2{font-size:30px;line-height:1.08}.landing-section-panel p{color:#f2dfc6c7;margin:0;line-height:1.5}.landing-pricing-panel{grid-column:1/-1}.landing-pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:8px;display:grid}.landing-pricing-card{background:#fff4dd0f;border:1px solid #2ad0e742;border-radius:6px;padding:16px}.landing-pricing-card h3{font-size:21px}.public-seo-page{gap:28px;max-width:min(1280px,100% - 72px);margin:0 auto;padding:54px 0 42px;display:grid}.public-seo-hero{gap:18px;max-width:840px;display:grid}.public-seo-eyebrow{color:#66f1ff;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:900}.public-seo-hero h1{color:#fff0d4;letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,6vw,72px);line-height:.98}.public-seo-hero p{color:#f2dfc6d1;margin:0;font-family:Georgia,Times New Roman,serif;font-size:22px;line-height:1.42}.public-seo-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.public-seo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.public-seo-panel{background:#050e16c2;border:1px solid #d7a95447;border-radius:8px;gap:12px;min-height:230px;padding:22px;display:grid}.public-seo-panel svg{color:#f6c66c}.public-seo-panel h2,.public-seo-panel h3{color:#fff0d4;letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;line-height:1.08}.public-seo-panel p{color:#f2dfc6c7;margin:0;line-height:1.5}.public-seo-panel strong{color:#66f1ff;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;display:block}.public-seo-pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.public-seo-pricing-card{background:linear-gradient(135deg,#072639db,#101821d1);border:1px solid #2ac4dc61;border-radius:8px;align-content:start;gap:14px;min-height:260px;padding:22px;display:grid}.public-seo-pricing-card:nth-child(2){background:linear-gradient(135deg,#34172dd6,#121620db);border-color:#f469c56b}.public-seo-pricing-card:nth-child(3){background:linear-gradient(135deg,#3a2910d1,#141619db);border-color:#f6c66c6b}.public-seo-price{color:#66f1ff;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:900}.public-seo-page .landing-feature-band{max-width:none;margin:0}.mark{color:var(--accent);margin-bottom:16px}.auth-panel h1,.toolbar h1{letter-spacing:0;margin:0;font-size:32px;line-height:1.1}.auth-panel p,.subscription-panel p,.character-card p{color:var(--muted)}.workspace{max-width:1180px;margin:0 auto;padding:12px 24px 32px}.workspace:not(.narrow){min-width:1180px}.workspace.narrow{max-width:760px}.workspace.subscription-workspace{max-width:885px}.dashboard-landing{gap:18px;display:grid}.dashboard-command-shell{gap:12px;min-height:0;padding:16px 20px 22px}.dashboard-command-title h1{margin:0;font-size:28px;line-height:1.1}.dashboard-command-title p{color:var(--muted);margin:0;font-weight:800}.landing-brand-hero{background:url(/ttrpg-vault-menu-brand.png) 50%/contain no-repeat;border-radius:8px;height:280px}.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.landing-feature-card{aspect-ratio:16/9;border-radius:8px;min-height:260px}.dashboard-vault-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;display:grid}.dashboard-vault-shortcuts{grid-column:1}.dashboard-vault-card{color:var(--ink);grid-template-rows:auto minmax(96px,1fr);grid-template-columns:1fr;min-height:212px;text-decoration:none}.dashboard-vault-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent), var(--accent-glow);outline:none}.dashboard-vault-card .public-feature-image{aspect-ratio:16/9;border-bottom:1px solid var(--line);border-right:0;width:100%;min-height:150px}.dashboard-vault-card .public-feature-copy{align-content:center;justify-items:center;gap:9px;padding:14px 16px 16px}.dashboard-vault-card .public-feature-copy h2{font-size:23px}.dashboard-vault-card .public-feature-copy h3{font-size:16px}.dashboard-vault-card .public-feature-copy ul{gap:7px}.dashboard-vault-card-action{background:var(--accent);box-shadow:var(--accent-glow);color:#fff;border-radius:6px;justify-self:center;padding:8px 12px;font-size:.82rem;font-weight:800;display:inline-flex}.character-vault-feature{background:url(/ig_0be6c593197880760169f52581724c819a9243d31177ee9e50.png) 50%/contain no-repeat}.game-master-vault-feature{background:url(/game-masters-vault-feature.png) 50%/contain no-repeat}.gm-vault-heading{align-items:stretch}.gm-vault-hero{background:url(/game-masters-vault-feature.png) 0/contain no-repeat;border:0;border-radius:8px;flex:1;min-height:210px;text-decoration:none}.gm-vault-hero:hover{filter:brightness(1.08)}.gm-campaign-form{background:var(--panel-texture), color-mix(in srgb, var(--panel) 86%, transparent);border:1px solid var(--line);border-radius:8px;gap:10px;width:360px;min-width:320px;padding:14px;display:grid}.gm-tool-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;display:grid}.gm-tool-card{background:var(--panel-texture), var(--panel);border:1px solid var(--line);color:inherit;border-radius:8px;grid-column:span 2;align-content:start;gap:14px;min-height:180px;padding:20px;text-decoration:none;display:grid}.gm-tool-card-half{grid-column:span 3}.gm-tool-card-coming-soon{cursor:default}.gm-tool-card:hover{border-color:var(--accent);box-shadow:var(--accent-glow);transform:translateY(-1px)}.gm-tool-card h2{margin:0 0 8px}.gm-tool-card p{color:var(--muted);margin:0}.gm-tool-card-with-links:hover{transform:none}.campaign-card-link-list{gap:8px;display:grid}.campaign-card-link-list a,.campaign-membership-preview-button,.campaign-card-link-list span{background:color-mix(in srgb, var(--soft-panel) 74%, transparent);border:1px solid color-mix(in srgb, var(--line) 70%, transparent);color:var(--ink);overflow-wrap:anywhere;border-radius:4px;padding:8px 10px;font-size:13px;font-weight:800;text-decoration:none}.campaign-membership-preview-button{cursor:pointer;text-align:left;font-family:inherit}.campaign-card-link-list span{color:var(--muted)}.campaign-card-link-list a:hover,.campaign-membership-preview-button:hover{border-color:var(--accent);color:var(--accent-strong)}.campaign-membership-row{grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;gap:6px;display:grid}.campaign-membership-row a,.campaign-membership-preview-button{align-items:center;min-width:0;display:flex}.campaign-share-add{gap:10px;display:grid}.campaign-share-add>.compact-button{justify-self:start}.campaign-share-add-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.campaign-share-add-form label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:12px;font-weight:800;display:grid}.campaign-share-add-form input{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);font:inherit;text-transform:none;border-radius:6px;min-height:38px;padding:8px 10px}.campaign-share-add-form input:focus{border-color:var(--accent);box-shadow:var(--accent-glow);outline:none}.campaign-player-character-list{gap:14px;display:grid}.campaign-player-character-card{gap:14px}.campaign-player-character-card .sheet-header{align-items:start}.campaign-player-character-card textarea{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);font:inherit;resize:vertical;border-radius:6px;min-height:110px;padding:10px 12px}.campaign-player-character-card textarea:disabled{opacity:.72}.session-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.session-dashboard-wide{grid-column:1/-1}.session-dashboard-panel{align-content:start;gap:12px;display:grid}.session-dashboard-select-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.session-dashboard-roll-grid{grid-template-columns:minmax(0,3fr) repeat(3,minmax(70px,1fr))}.session-dashboard-roll-label-field{min-width:0}.session-dashboard-roll-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.session-dashboard-roll-actions .compact-button{justify-content:center;width:100%}.session-dashboard-select-grid label,.session-dashboard-reminder-input{color:var(--muted);text-transform:uppercase;gap:6px;font-size:12px;font-weight:800;display:grid}.session-dashboard-select-grid input,.session-dashboard-select-grid select,.session-dashboard-reminder-input input{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);font:inherit;text-transform:none;border-radius:6px;min-height:38px;padding:8px 10px}.session-dashboard-note-form{gap:10px;display:grid}.session-dashboard-table-actions{grid-template-columns:minmax(220px,1fr) minmax(120px,180px) auto;align-items:center;gap:8px;display:grid}.session-dashboard-table-actions input{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);font:inherit;text-transform:uppercase;border-radius:6px;padding:8px 10px}.session-dashboard-table-panel{border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;display:grid}.session-dashboard-table-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.session-dashboard-display-choice{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.session-dashboard-display-choice .inline-check{border:1px solid var(--line);color:var(--ink);text-transform:none;background:#0b111db8;border-radius:6px;align-items:center;gap:8px;min-height:34px;padding:6px 10px;font-size:13px;font-weight:800;display:inline-flex}.session-dashboard-display-choice input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;margin:0}.session-dashboard-note-form label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:12px;font-weight:800;display:grid}.session-dashboard-note-form input,.session-dashboard-note-form textarea{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);font:inherit;resize:vertical;text-transform:none;border-radius:6px;padding:8px 10px}.muted-text{color:var(--muted);margin:0}.field-group{color:var(--muted);text-transform:uppercase;gap:6px;font-size:12px;font-weight:800;display:grid}.field-group input,.field-group select,.field-group textarea{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);font:inherit;text-transform:none;border-radius:6px;padding:8px 10px}.library-checklist{border:1px solid var(--line);border-radius:8px;gap:8px;max-height:280px;margin:0;padding:12px;display:grid;overflow:auto}.library-selection-status{color:var(--muted);flex-direction:column;align-items:flex-end;gap:4px;font-size:13px;font-weight:800;display:flex}.library-checklist legend{color:var(--muted);text-transform:uppercase;padding:0 4px;font-size:12px;font-weight:800}.library-checklist label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.library-selected-list,.library-checklist-items{gap:8px;display:grid}.library-selected-list{border-bottom:1px solid var(--line);padding-bottom:10px}.library-selected-list strong{color:var(--ink);font-size:13px}.library-checklist-search{grid-template-columns:1fr!important;align-items:stretch!important;gap:6px!important;display:grid!important}.library-checklist-search input{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:6px;padding:8px 10px}:is(body:has(.table-display-screen) .topbar,body:has(.table-display-screen) .legal-disclaimer,body:has(.tableview-page) .topbar,body:has(.tableview-page) .legal-disclaimer){display:none}:is(body:has(.table-display-screen) .app-main,body:has(.tableview-page) .app-main){padding:0}.table-display-screen{color:var(--ink);background:#030712;width:100%;height:100vh;display:grid;position:relative;overflow:hidden}.table-display-overlay{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);z-index:3;background:#030712bd;position:absolute}.table-display-connection{color:var(--ink);border-radius:999px;padding:8px 12px;font-weight:800;top:24px;right:76px}.table-display-fullscreen-button,.tableview-fullscreen-button{color:var(--ink);place-items:center;width:40px;height:40px;padding:0;display:inline-grid}.table-display-fullscreen-button{border-radius:999px;top:24px;right:24px}.table-display-turn{border-radius:8px;gap:3px;max-width:min(280px,100vw - 32px);padding:8px 10px;display:grid;bottom:16px;left:16px}.table-display-turn .eyebrow{font-size:10px}.table-display-turn strong{font-size:clamp(18px,2vw,30px);line-height:1}.table-display-turn span{color:var(--muted);font-size:12px;font-weight:800}.table-display-stage{width:100%;height:100vh;display:grid;overflow:hidden}.table-display-map-svg{width:100%;height:100%}.table-display-handout{place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.table-display-handout img,.table-display-handout iframe{object-fit:contain;border:0;width:100%;max-width:100%;height:100%}.table-display-handout article,.table-display-empty{text-align:center;max-width:920px;padding:32px}.table-display-handout h1,.table-display-empty h1{margin:0;font-size:clamp(36px,6vw,88px);line-height:1}.table-display-handout p{white-space:pre-wrap;font-size:clamp(20px,3vw,42px)}.tableview-pairing-card{border:1px solid var(--line);background:#0e1420eb;border-radius:8px;gap:18px;display:grid}.tableview-page{align-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.tableview-fullscreen-button{border:1px solid var(--line);box-shadow:var(--shadow);background:#030712bd;border-radius:999px;position:absolute;top:24px;right:24px}.tableview-pairing-card{text-align:center;justify-self:center;gap:18px;width:min(100%,680px);max-width:680px;padding:24px;display:grid}.tableview-code{color:var(--accent);letter-spacing:0;font-size:clamp(44px,12vw,96px);font-weight:900}.tableview-qr{aspect-ratio:1;background:#fff;border:12px solid #fff;justify-self:center;width:min(64vw,320px);display:grid;position:relative}.tableview-qr-code{width:100%;height:100%;display:block}.tableview-qr-badge{pointer-events:none;width:24%;height:24%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width:900px){.session-dashboard-table-panel-header,.session-dashboard-table-actions{grid-template-columns:1fr}.session-dashboard-table-panel-header{align-items:stretch;display:grid}}@media (max-width:760px){.session-dashboard-roll-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.session-dashboard-roll-label-field{grid-column:1/-1}}.session-dashboard-stack,.session-dashboard-card-list{gap:8px;display:grid}.session-dashboard-row{background:color-mix(in srgb, var(--panel) 72%, transparent);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.session-dashboard-row a,.session-dashboard-row span{color:var(--ink);overflow-wrap:anywhere;min-width:0}.session-dashboard-row-complete span{color:var(--muted);text-decoration:line-through}.session-dashboard-roll-history{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.session-linked-map-card{grid-template-rows:auto minmax(220px,auto) auto}.session-map-control-surface{gap:12px;min-height:0;display:grid}.session-map-control-surface-floating{grid-template-rows:auto auto auto;height:100%}.session-map-control-surface-floating .session-map-preview-frame{min-height:0}.session-map-preview-frame{border:1px solid var(--line);background:#050712;border-radius:8px;overflow:hidden}.session-map-preview-svg{touch-action:none;width:100%;height:100%;min-height:0;display:block}.session-map-preview-objects{pointer-events:none}.session-map-share-panel,.session-map-fog-controls{background:color-mix(in srgb, var(--panel) 80%, transparent);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.session-map-share-panel>strong{display:block}.session-map-fog-controls{grid-template-columns:auto max-content max-content minmax(120px,1fr);align-items:center;gap:8px;display:grid}.session-map-fog-actions{grid-template-rows:repeat(3,minmax(0,auto));gap:6px;display:grid}.session-map-fog-toggle,.session-map-fog-controls .compact-button{white-space:nowrap;word-break:keep-all;min-width:max-content}.session-map-brush-size-label{align-items:center;gap:4px;display:grid}.session-map-fog-controls .active{border-color:var(--accent);color:var(--text)}.session-floating-map-window{background:var(--panel-strong);border:1px solid var(--line);resize:none;z-index:45;border-radius:10px;grid-template-rows:auto minmax(0,1fr);min-width:520px;max-width:calc(100vw - 16px);min-height:440px;max-height:calc(100vh - 16px);display:grid;position:fixed;overflow:hidden;box-shadow:0 24px 70px #00000073}.session-floating-map-header{background:color-mix(in srgb, var(--panel) 86%, #000 14%);border-bottom:1px solid var(--line);cursor:move;touch-action:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.session-floating-map-header h3,.session-floating-map-header p{margin:0}.session-floating-map-body{min-height:0;padding:12px;overflow:auto}.session-floating-map-resize{background:color-mix(in srgb, var(--accent) 72%, white 8%);cursor:nwse-resize;touch-action:none;border:0;border-radius:999px 0 8px;width:24px;height:24px;position:absolute;bottom:0;right:0}.session-floating-map-resize:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.encounter-tracker-panel{gap:1rem}.encounter-tracker-add-row,.encounter-tracker-log-tools{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;align-items:end;gap:.75rem;display:grid}.encounter-tracker-table{gap:.5rem;max-width:100%;display:grid;overflow-x:hidden}.encounter-tracker-row{background:var(--field-bg);border:1px solid var(--line);border-radius:8px;grid-template-columns:64px minmax(120px,.8fr) minmax(260px,1.15fr) minmax(260px,1.45fr) minmax(150px,.85fr) 40px;align-items:start;gap:.5rem;min-width:0;padding:.65rem;display:grid}.encounter-tracker-row>*{min-width:0}.encounter-tracker-header{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:800}.encounter-tracker-active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent)}.encounter-tracker-hp-actions,.encounter-tracker-condition-add,.encounter-tracker-condition-list{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.encounter-tracker-turn-controls{flex-direction:column;align-items:center;gap:.35rem;display:flex}.encounter-tracker-identity{gap:.4rem;display:grid}.encounter-tracker-initiative-field{gap:.2rem;font-size:.72rem;display:grid}.encounter-tracker-hp{grid-template-columns:repeat(3,minmax(64px,1fr));gap:.4rem;display:grid}.encounter-tracker-hp label{gap:.2rem;font-size:.72rem;display:grid}.encounter-tracker-hp-actions{grid-column:1/-1;grid-template-columns:repeat(3,minmax(64px,1fr));display:grid}.encounter-tracker-hp-actions input{grid-column:1/span 2;width:100%}.encounter-tracker-hp-action-buttons{grid-column:3;gap:.35rem;display:flex}.encounter-tracker-conditions{gap:.45rem;display:grid}.encounter-tracker-condition-add{grid-template-columns:minmax(0,2fr) minmax(0,1fr);display:grid}.encounter-tracker-condition-add>.compact-button{justify-content:center;width:100%}.encounter-tracker-condition-combobox{grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.encounter-tracker-condition-combobox input{border-top-right-radius:0;border-bottom-right-radius:0;min-width:0}.encounter-tracker-condition-combobox .icon-button{opacity:0;border-top-left-radius:0;border-bottom-left-radius:0;transition:opacity .16s,background-color .16s}.encounter-tracker-condition-combobox:hover .icon-button,.encounter-tracker-condition-combobox:focus-within .icon-button{opacity:1}.encounter-tracker-condition-menu{background:var(--panel);border:1px solid var(--line);z-index:20;border-radius:8px;max-height:220px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 18px 40px #0f172a47}.encounter-tracker-condition-menu button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;padding:9px 10px}.encounter-tracker-condition-menu button:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.encounter-tracker-condition-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.encounter-tracker-condition-chip{background:var(--field-bg);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:6px;min-width:0;padding:5px 7px 5px 9px;display:inline-flex}.encounter-tracker-condition-chip span{overflow-wrap:anywhere;white-space:nowrap;min-width:0}.encounter-tracker-condition-remove{appearance:none;color:var(--accent);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:18px;height:18px;padding:0;line-height:1;display:inline-flex}.encounter-tracker-condition-remove:hover{color:var(--accent-strong)}.encounter-tracker-condition-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.danger-icon-button{color:#ff647c}.encounter-tracker-log{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;display:grid}.joined-portal-workspace{gap:1rem}.joined-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.joined-portal-overview-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:1rem;display:grid}.joined-portal-panel{min-width:0}.joined-portal-panel h2,.joined-portal-panel h3{align-items:center;gap:.45rem;display:inline-flex}.joined-portal-list{gap:.55rem;display:grid}.joined-shared-resource{gap:.75rem;display:grid}.joined-shared-resource-viewport,.joined-floating-resource-body{border:1px solid var(--line);background:#050712;border-radius:8px;min-height:260px;overflow:auto}.joined-shared-resource-viewport-empty{min-height:260px}.joined-shared-map-svg{width:100%;height:min(52vh,520px);min-height:260px;display:block}.joined-shared-handout-preview{background:var(--panel);gap:12px;min-height:260px;padding:12px;display:grid}.joined-shared-handout-preview .shared-handout-image{justify-self:center;max-height:520px}.joined-shared-handout-pdf-actions{background:color-mix(in srgb, var(--field-bg) 86%, #000 14%);border:1px solid var(--line);border-radius:6px;align-content:center;justify-items:center;gap:12px;width:100%;min-height:460px;padding:20px;display:grid}.joined-shared-resource-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.joined-shared-resource-actions .compact-button{justify-content:center}.joined-floating-resource-window{background:var(--panel);border:1px solid var(--line-strong);z-index:80;border-radius:8px;gap:0;min-width:min(420px,100vw - 16px);max-width:calc(100vw - 16px);min-height:360px;max-height:calc(100vh - 16px);display:grid;position:fixed;overflow:hidden;box-shadow:0 24px 70px #00000073}.joined-floating-resource-header{background:color-mix(in srgb, var(--panel) 92%, var(--field-bg) 8%);border-bottom:1px solid var(--line);cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;display:grid}.joined-floating-resource-header h3,.joined-floating-resource-header p{margin:0}.joined-floating-resource-body{border:0;border-radius:0;min-height:0;overflow:auto}.joined-floating-resource-body .joined-shared-map-svg{height:100%;min-height:260px}.joined-floating-resource-resize{background:linear-gradient(135deg, transparent 45%, var(--accent) 46%, var(--accent) 54%, transparent 55%);cursor:nwse-resize;opacity:.85;touch-action:none;border:0;width:22px;height:22px;padding:0;position:absolute;bottom:4px;right:4px}.joined-floating-resource-resize:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.joined-portal-row{border:1px solid var(--border);background:var(--field-bg);width:100%;color:var(--text);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem;text-decoration:none;display:flex}.joined-portal-row:hover{border-color:var(--accent)}.joined-portal-row small{color:var(--muted)}.joined-portal-lock{border-color:var(--danger)}.joined-portal-panel label{color:var(--muted);gap:8px;font-size:13px;font-weight:700;display:grid}.joined-portal-panel input,.joined-portal-panel select,.joined-portal-panel textarea{background:var(--field-bg);border:1px solid var(--line);box-sizing:border-box;color:var(--ink);border-radius:6px;width:100%;max-width:100%;padding:10px 12px}.joined-portal-panel input:focus,.joined-portal-panel select:focus,.joined-portal-panel textarea:focus{border-color:var(--focus);outline:1px solid var(--focus)}.joined-linked-character-panel{grid-area:span 2/2;min-height:760px}.joined-linked-character-picker{margin-bottom:.75rem}.joined-linked-character-sheet-viewport{border:1px solid var(--line);border-radius:8px;max-height:720px;padding:10px 1px;overflow:hidden auto}.joined-linked-character-sheet-scale{--joined-sheet-scale:.5;--joined-sheet-width:1180px;max-width:none;width:var(--joined-sheet-width);zoom:var(--joined-sheet-scale)}.joined-linked-character-sheet-scale .sheet-panel{width:100%;margin:0}.joined-linked-character-sheet-readable{--joined-sheet-font-scale:1.2}.joined-linked-character-sheet-readable .sheet-value-card>span,.joined-linked-character-sheet-readable .session-sheet-edit-field>span,.joined-linked-character-sheet-readable .repeatable-display h3,.joined-linked-character-sheet-readable .repeatable-editor__header strong,.joined-linked-character-sheet-readable .repeatable-editor-heading strong,.joined-linked-character-sheet-readable .repeatable-editor__cell>span,.joined-linked-character-sheet-readable .repeatable-display__table th,.joined-linked-character-sheet-readable .repeatable-display .muted,.joined-linked-character-sheet-readable .repeatable-editor .muted,.joined-linked-character-sheet-readable .sheet-skill-row small,.joined-linked-character-sheet-readable .sheet-table-row span,.joined-linked-character-sheet-readable .sheet-table-head,.joined-linked-character-sheet-readable .sheet-panel label{font-size:calc(13px * var(--joined-sheet-font-scale))}.joined-linked-character-sheet-readable .sheet-value-card>strong{font-size:calc(18px * var(--joined-sheet-font-scale))}.joined-linked-character-sheet-readable .sheet-value-card--wide p,.joined-linked-character-sheet-readable .sheet-text-block p,.joined-linked-character-sheet-readable .repeatable-display__table td,.joined-linked-character-sheet-readable .sheet-panel input,.joined-linked-character-sheet-readable .sheet-panel select,.joined-linked-character-sheet-readable .sheet-panel textarea{font-size:calc(15px * var(--joined-sheet-font-scale))}.joined-linked-character-sheet-readable .repeatable-editor .compact-button{font-size:calc(12px * var(--joined-sheet-font-scale));min-height:calc(34px * var(--joined-sheet-font-scale))}.joined-linked-character-sheet-readable .dot-rating-input .dot{flex-basis:calc(15px * var(--joined-sheet-font-scale));height:calc(15px * var(--joined-sheet-font-scale));width:calc(15px * var(--joined-sheet-font-scale))}.joined-linked-character-sheet-readable .damage-track-input .damage-box{flex-basis:calc(26px * var(--joined-sheet-font-scale));font-size:calc(13px * var(--joined-sheet-font-scale));height:calc(26px * var(--joined-sheet-font-scale));width:calc(26px * var(--joined-sheet-font-scale))}@supports not (zoom:1){.joined-linked-character-sheet-scale{transform:scale(var(--joined-sheet-scale));transform-origin:0 0}.entity-preview-sheet-scale{transform:scale(var(--entity-preview-sheet-scale));transform-origin:0 0}}.joined-summary-form{grid-template-columns:7rem 10rem minmax(12rem,1fr);align-items:end;gap:.75rem;display:grid}.joined-summary-form .full-width{grid-column:1/-1}.joined-summary-form .full-width textarea{min-height:140px}.joined-summary-list{gap:.8rem;margin-top:1rem;display:grid}.joined-summary-card{color:var(--ink);cursor:pointer;text-align:left;border:1px solid var(--border);background:var(--field-bg);border-radius:8px;gap:.45rem;width:100%;padding:1rem;display:grid}.joined-summary-card:hover,.joined-summary-card:focus-visible{border-color:var(--accent);outline:none}.joined-summary-card strong{font-size:1rem}.joined-summary-card small{color:var(--muted)}.joined-summary-meta{color:var(--muted);text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.78rem;font-weight:800;display:flex}.joined-summary-modal{max-width:min(720px,100vw - 32px)}.joined-summary-modal-notes{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);border-radius:8px;max-height:46vh;margin:0;padding:14px;overflow:auto}.preserve-lines{white-space:pre-wrap}.save-status{color:var(--success)}.content-library-filter,.content-library-editor{gap:1rem;display:grid}.content-library-filter label,.content-library-editor label{color:var(--muted);gap:8px;font-size:13px;font-weight:700;display:grid}.content-library-editor .muted-copy{white-space:pre-line}.content-library-filter input,.content-library-filter select,.content-library-filter textarea,.content-library-editor input,.content-library-editor select,.content-library-editor textarea{background:var(--field-bg);border:1px solid var(--line);box-sizing:border-box;color:var(--ink);border-radius:6px;width:100%;max-width:100%;padding:10px 12px}.content-library-filter input:focus,.content-library-filter select:focus,.content-library-filter textarea:focus,.content-library-editor input:focus,.content-library-editor select:focus,.content-library-editor textarea:focus{border-color:var(--focus);outline:1px solid var(--focus)}.content-library-metadata-grid{align-items:end}.content-library-type-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.content-library-mode-tabs{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:.35rem;width:fit-content;margin-bottom:1rem;padding:.3rem;display:inline-flex}.content-library-mode-tabs button{min-height:2.35rem;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;padding:.45rem .8rem;font-size:.88rem;font-weight:850}.content-library-mode-tabs button.active,.content-library-mode-tabs button:hover,.content-library-mode-tabs button:focus-visible{background:var(--accent);color:var(--topbar-ink)}.content-library-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.content-library-card{border:1px solid var(--border);background:var(--field-bg);border-radius:8px;gap:.65rem;padding:1rem;display:grid}.content-library-card h3{margin:0}.content-library-loot-controls{grid-template-columns:minmax(96px,1fr) auto;align-items:end;gap:.65rem;display:grid}.content-library-loot-controls label{gap:.35rem;display:grid}.content-library-share-menu label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.content-library-share-dropdown{border:1px solid var(--border);border-radius:8px;padding:.55rem .65rem}.content-library-share-dropdown summary{cursor:pointer;font-weight:700}.content-library-share-menu{gap:.5rem;margin-top:.65rem;display:grid}.content-library-roll-lines{margin:0;padding-left:1.25rem}.content-library-builder{gap:.75rem;display:grid}.content-library-builder h3{margin:0}.content-library-field-builder{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;display:grid}.content-library-field-row{grid-template-columns:minmax(180px,.75fr) minmax(220px,1.25fr) auto;align-items:end;gap:.75rem;display:grid}.content-library-preset-field{min-width:0}.content-library-column-count{min-width:150px}.content-library-table-wrap{overflow-x:auto}.content-library-builder-table{border-collapse:collapse;min-width:100%}.content-library-builder-table th,.content-library-builder-table td{text-align:left;vertical-align:top;padding:.35rem}.content-library-builder-table th{min-width:150px}.muted-copy{color:var(--muted)}.themed-inline-link{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);text-underline-offset:3px;font-weight:800;text-decoration-thickness:2px}.themed-inline-link:hover,.themed-inline-link:focus-visible{color:var(--text);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.content-library-share-picker{flex-wrap:wrap;gap:.65rem;margin:.75rem 0;display:flex}.content-library-share-picker label{border:1px solid var(--border);background:var(--field-bg);border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .6rem;display:inline-flex}.active-encounter-loot-list{gap:.5rem;display:grid}.active-encounter-loot-row{grid-template-columns:minmax(0,1fr) minmax(82px,110px) auto;align-items:end;gap:.65rem;display:grid}.active-encounter-loot-row label{gap:.25rem;display:grid}@media (max-width:820px){.content-library-field-row,.session-dashboard-grid,.encounter-tracker-add-row,.encounter-tracker-log-tools,.joined-portal-grid,.joined-portal-overview-grid,.joined-summary-form{grid-template-columns:1fr}.joined-linked-character-panel{grid-area:auto;min-height:auto}.joined-shared-resource-actions,.joined-floating-resource-header{grid-template-columns:1fr}.joined-floating-resource-window{width:calc(100vw - 16px);max-height:calc(100vh - 16px);height:calc(100vh - 16px)!important;top:8px!important;left:8px!important}.session-floating-map-window{min-width:0;max-height:calc(100vh - 16px);width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;top:8px!important;left:8px!important}.session-floating-map-header,.session-map-fog-controls{grid-template-columns:1fr}.joined-floating-resource-body{max-height:calc(100vh - 154px)}}.compact-icon-button{border-radius:4px;min-width:34px;min-height:34px}.campaign-card-pagination{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.campaign-card-pagination .compact-button{min-width:38px;min-height:32px;padding:0 8px}.campaign-card-manage-link{justify-self:start}.npc-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.npc-card:hover{transform:none}.npc-card-actions{align-items:end;gap:8px;min-width:260px;display:grid}.npc-card-actions select{min-height:38px}.monster-filter-card{background:var(--panel-texture), color-mix(in srgb, var(--panel) 86%, transparent);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:10px 14px;min-width:min(100%,780px);padding:14px;display:grid}.monster-vault-heading{margin-bottom:12px;display:block}.monster-filter-card label{gap:7px;min-width:0;display:grid}.monster-filter-card select,.monster-filter-card input{width:100%;min-width:0;min-height:40px}.search-input-wrap{background:var(--field-bg);border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;min-width:0;padding:0 10px;display:flex}.search-input-wrap input{background:0 0;border:0;flex:1;padding:0}.monster-add-button{white-space:nowrap;min-height:40px}.vault-create-control{align-self:end;gap:6px;min-width:150px;display:grid}.vault-create-control .monster-add-button{width:100%}.vault-create-control small{color:var(--muted);max-width:190px;font-size:11px;font-weight:800;line-height:1.2}.monster-filter-message{grid-column:1/-1;margin:0}.vault-status-card{background:var(--panel-texture), color-mix(in srgb, var(--panel) 86%, transparent);border:1px solid var(--line);box-shadow:0 12px 28px color-mix(in srgb, var(--glow) 12%, transparent);border-radius:8px;gap:8px;margin-bottom:12px;padding:12px 14px;display:grid}.monster-vault-meta,.pagination-controls{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:0;font-weight:800;display:flex}.pagination-controls{justify-content:center;margin:18px 0 0}.monster-card:hover{transform:translateY(-1px)}.vault-picker-card{justify-content:space-between;align-items:center;gap:14px;display:flex}.vault-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.campaign-picker-filter-card{grid-template-columns:minmax(190px,1fr) minmax(220px,1fr) minmax(190px,auto)}.campaign-picker-system-card{background:color-mix(in srgb, var(--panel) 82%, transparent);border:1px solid var(--line);border-radius:6px;align-self:end;min-height:40px;padding:8px 12px}.campaign-picker-system-card span{color:var(--muted);font-size:.78rem;font-weight:800;display:block}.campaign-picker-system-card strong{margin-top:2px;display:block}.notes-editor-panel,.session-notes-panel,.session-note-card{max-width:1100px}.long-notes-editor{resize:vertical;width:100%;min-height:520px}.session-notes-controls,.session-note-card-header,.session-editor-grid{gap:12px;display:grid}.session-note-grid{gap:12px;max-width:1100px;display:grid}.session-notes-controls,.session-note-card-header{grid-template-columns:minmax(220px,1fr) auto;align-items:end}.session-editor-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.session-note-card-link{color:inherit;text-decoration:none;display:block}.session-note-card-link h2{margin-bottom:0}.encounter-sheet{gap:18px;display:grid}.encounter-item-grid{gap:12px;display:grid}.encounter-item-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.encounter-cap-status{color:var(--muted);margin:6px 0 0;font-size:13px;font-weight:800}.encounter-item-summary{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;gap:6px;padding:0;display:grid}.encounter-item-summary>span{background:color-mix(in srgb, var(--soft-panel) 76%, transparent);color:inherit;gap:4px;padding:10px 12px;display:grid}.character-card .encounter-item-summary>span{border-radius:4px}.encounter-item-summary p,.encounter-item-summary small{color:var(--muted);margin:0}.encounter-preview-modal{width:min(52.5vw,825px);max-width:825px;max-height:min(86vh,820px);overflow:auto}.entity-preview-sheet-viewport{border:1px solid var(--line);border-radius:8px;max-height:min(70vh,680px);padding:10px 1px;overflow:hidden auto}.entity-preview-sheet-scale{--entity-preview-sheet-scale:.5;--entity-preview-sheet-width:1180px;max-width:none;width:var(--entity-preview-sheet-width);zoom:var(--entity-preview-sheet-scale)}.entity-preview-sheet-scale .sheet-panel,.entity-preview-sheet-scale .encounter-preview-content{width:100%;margin:0}.encounter-preview-content,.encounter-preview-list{gap:12px;display:grid}.encounter-preview-section{border-top:1px solid var(--line);padding-top:12px}.encounter-preview-fields{gap:10px;margin:0;display:grid}.encounter-preview-fields>div{background:color-mix(in srgb, var(--panel) 78%, transparent);border:1px solid var(--line);border-radius:8px;gap:6px;padding:12px;display:grid}.encounter-preview-fields dt{color:var(--muted);font-size:12px;font-weight:800}.encounter-preview-fields dd{margin:0}.encounter-live-sheet-preview{gap:12px;display:grid}.encounter-live-sheet-preview .sheet-actions,.encounter-live-sheet-preview .autosave-status,.encounter-live-sheet-preview .section-title-row .secondary-button,.encounter-live-sheet-preview .inventory-editor-row .icon-button{display:none}.encounter-live-sheet-preview input,.encounter-live-sheet-preview select,.encounter-live-sheet-preview textarea,.encounter-live-sheet-preview .damage-box,.encounter-live-sheet-preview .dot-button{pointer-events:none}.encounter-live-sheet-preview .sheet-panel{box-shadow:none}.read-only-sheet-preview .editor-section{margin:0}.read-only-field-card{background:color-mix(in srgb, var(--panel) 78%, transparent);border:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere;border-radius:8px;gap:8px;min-width:0;padding:12px;display:grid}.read-only-field-card>span{color:var(--muted);font-size:12px;font-weight:800}.read-only-field-card strong{white-space:pre-wrap}.toolbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--header-band);border:1px solid color-mix(in srgb, var(--header-ink) 20%, transparent);box-shadow:0 14px 36px color-mix(in srgb, var(--glow) 18%, transparent);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:18px 20px;display:flex}.toolbar h1{color:var(--header-ink)}.toolbar .eyebrow{color:var(--header-accent)}.vault-heading{justify-content:space-between;align-items:start;margin-bottom:24px;display:flex}.vault-actions{align-items:start;gap:12px;display:flex}.vault-system-control{gap:7px;width:240px;display:grid}.vault-system-select{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.vault-system-select select{border:1px solid var(--line);color:var(--ink);border-radius:6px;width:100%;min-height:40px;padding:0 12px}.vault-system-hint{background:color-mix(in srgb, var(--panel) 86%, transparent);border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.25}.vault-system-hint:hover{border-color:var(--accent);color:var(--accent-strong)}.vault-template-button{background:color-mix(in srgb, var(--accent) 16%, var(--panel));border:1px solid color-mix(in srgb, var(--accent) 38%, var(--line));color:var(--accent-strong);cursor:pointer;font:inherit;text-align:center;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:8px 10px;font-size:12px;font-weight:800;line-height:1.2;display:flex}.vault-template-button:hover{border-color:var(--accent);box-shadow:var(--accent-glow)}.character-share-panel{margin-top:18px}.share-link-box{grid-template-columns:minmax(0,1fr) auto auto;gap:10px;display:grid}.share-link-box input{min-width:0}.coming-soon-tooltip-wrapper,.slide-menu-tooltip-wrapper{display:grid;position:relative}.coming-soon-tooltip-wrapper:hover .template-help-popover,.coming-soon-tooltip-wrapper:focus-within .template-help-popover,.coming-soon-tooltip-wrapper[data-open=true] .template-help-popover,.slide-menu-tooltip-wrapper:hover .template-help-popover,.slide-menu-tooltip-wrapper:focus-within .template-help-popover,.slide-menu-tooltip-wrapper[data-open=true] .template-help-popover{opacity:1;pointer-events:auto;visibility:visible;transform:translate(-50%)translateY(0)}.slide-menu-tooltip-wrapper .template-help-popover{left:auto;right:0;transform:translateY(-3px)}.slide-menu-tooltip-wrapper:hover .template-help-popover,.slide-menu-tooltip-wrapper:focus-within .template-help-popover,.slide-menu-tooltip-wrapper[data-open=true] .template-help-popover{transform:translateY(0)}.slide-menu-tooltip-wrapper .template-help-popover:before{left:auto;right:18px}.vault-actions>.icon-button,.vault-actions>.disabled-icon-button{margin-top:23px}.vault-hero{background:url(/ig_0be6c593197880760169f52581724c819a9243d31177ee9e50.png) 0/auto 100% no-repeat;border:0;border-radius:8px;width:min(100%,313px);height:176px;position:relative;overflow:hidden}.eyebrow{color:var(--accent);text-shadow:var(--heading-glow);text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:800}.toolbar h1,.editor-heading h2,.sheet-heading h2,.settings-panel-heading h2{text-shadow:var(--heading-glow)}.content-grid{grid-template-columns:360px minmax(748px,1fr);align-items:start;gap:24px;display:grid}.character-list{gap:12px;display:grid}.vault-list{grid-template-columns:1fr}.vault-access-notice{background:var(--panel-texture), color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--line);box-shadow:0 14px 36px color-mix(in srgb, var(--glow) 14%, transparent);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 16px;display:flex}.vault-access-notice p{color:var(--muted);margin:4px 0 0}.character-card,.editor-panel,.subscription-panel,.empty-state{background:var(--panel-texture), var(--panel);border:1px solid var(--line);box-shadow:0 14px 36px color-mix(in srgb, var(--glow) 18%, transparent);border-radius:8px}.character-card{justify-content:space-between;align-items:center;min-height:92px;padding:18px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.character-card:hover{border-color:var(--accent);box-shadow:var(--accent-glow);transform:translateY(-1px)}.locked-character-card{opacity:.86}.locked-character-card:hover{transform:none}.locked-character-card p{color:var(--muted);margin:6px 0 0}.locked-character-actions{place-items:end;gap:10px;display:grid}.locked-character-actions>span{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.character-card h2,.editor-panel h2,.subscription-panel h2{margin:0;font-size:18px}.character-card span{background:var(--soft-panel);color:var(--accent-strong);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.campaign-card{gap:14px}.campaign-card-link{color:inherit;flex:1;justify-content:space-between;align-items:center;min-width:0;text-decoration:none;display:flex}.empty-state{color:var(--muted);padding:32px}.empty-state-card{gap:.45rem;display:grid}.empty-state-card strong{color:var(--ink)}.empty-state-card p{margin:0}.empty-state-actions{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.campaign-invite-limit-card{text-align:left;gap:.85rem;display:grid}.campaign-invite-character-list{border:1px solid #60a5fa42;border-radius:8px;gap:.75rem;margin-top:.5rem;padding:1rem;display:grid}.campaign-invite-character-list p{margin:0}.campaign-invite-character-row{border-top:1px solid #94a3b82e;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.75rem;display:flex}.save-status-pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;min-height:1.65rem;padding:.35rem .6rem;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.save-status-saving,.save-status-dirty,.save-status-queued,.save-status-processing{background:var(--field-bg);color:var(--accent)}.save-status-saved,.save-status-ready{color:#1f6b49;background:#2b7f591f;border-color:#2b7f5959}.save-status-error,.save-status-offline{color:#972323;background:#9723231f;border-color:#97232359}.save-status-readonly,.save-status-locked{background:#6253441f}.launch-checklist-panel{margin-bottom:1rem}.launch-checklist-panel h1{margin:.2rem 0}.launch-checklist-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;display:grid}.launch-checklist-grid a{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);border-radius:8px;align-items:center;gap:.5rem;min-height:2.8rem;padding:.75rem .85rem;font-weight:800;text-decoration:none;display:inline-flex}.launch-checklist-grid a:hover{border-color:var(--accent)}.campaign-overview-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.campaign-tab-panel{margin-bottom:1rem}.campaign-grid-full{grid-column:1/-1}.campaign-grid-half{grid-column:span 3}.campaign-grid-third{grid-column:span 2}.campaign-prep-panel h2{margin:.2rem 0 0}.campaign-prep-grid{flex-wrap:wrap;gap:.55rem;display:flex}.prep-check-item{background:var(--field-bg);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.45rem .7rem;font-size:.84rem;font-weight:800;text-decoration:none;display:inline-flex}a.prep-check-item:hover{border-color:var(--accent);color:var(--ink)}.prep-check-item.complete{color:#1f6b49;background:#2b7f591f;border-color:#2b7f5959}.campaign-activity-list{gap:.55rem;display:grid}.campaign-activity-list a{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;min-height:3.2rem;padding:.7rem .85rem;text-decoration:none;display:flex}.campaign-activity-list a:hover{border-color:var(--accent)}.campaign-activity-list span{gap:.1rem;display:grid}.campaign-activity-list small,.campaign-activity-list time{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.admin-diagnostics{gap:1rem}.admin-page-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.admin-page-nav-card{background:color-mix(in srgb, var(--field-bg) 78%, transparent);border:1px solid var(--line);color:var(--text);border-radius:8px;gap:.3rem;padding:.85rem;text-decoration:none;display:grid}.admin-page-nav-card:hover,.admin-page-nav-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.admin-page-nav-card span{color:var(--muted);font-size:.82rem;font-weight:800;line-height:1.35}.admin-ticket-section{display:block}.admin-ticket-section summary{cursor:pointer;margin-bottom:.9rem;font-size:1.05rem;font-weight:900}.admin-ticket-section:not([open]) summary{margin-bottom:0}.admin-diagnostics-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.admin-diagnostics-heading h2{margin:.2rem 0 0}.admin-diagnostics-heading>p{color:var(--muted);font-size:.85rem;font-weight:800}.admin-diagnostics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.admin-status-checks{background:color-mix(in srgb, var(--field-bg) 72%, transparent);border:1px solid var(--line);border-radius:8px;gap:.75rem;padding:1rem;display:grid}.admin-status-checks summary{cursor:pointer;font-size:1.05rem;font-weight:900}.admin-status-checks .admin-diagnostics-grid{padding-top:.2rem}.admin-diagnostics-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.admin-metric-card{background:var(--field-bg);border:1px solid var(--line);border-radius:8px;gap:.35rem;padding:.9rem;display:grid}.admin-metric-card.ok{border-color:#2b7f5959}.admin-metric-card.warning{border-color:#c45c2b73}.admin-metric-card span,.admin-metric-card p,.admin-mini-list span,.admin-report-list span{color:var(--muted);font-size:.78rem;font-weight:800}.admin-metric-card strong{font-size:1.7rem}.admin-diagnostics-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.admin-diagnostics-split article,.admin-diagnostics>article,.admin-diagnostics-overview article,.admin-asset-browser,.admin-maintenance-actions{background:color-mix(in srgb, var(--field-bg) 72%, transparent);border:1px solid var(--line);border-radius:8px;gap:.75rem;padding:1rem;display:grid}.admin-attention-list{border-color:#c45c2b73}.admin-attention-list.ok{border-color:#2b7f5959}.admin-attention-list p{margin:0}.admin-report-summary .admin-stat-list,.admin-report-counter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-diagnostics h3{margin:0}.admin-stat-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin:0;display:grid}.admin-stat-list div{background:var(--field-bg);border:1px solid var(--line);border-radius:8px;gap:.15rem;padding:.55rem;display:grid}.admin-stat-list dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.admin-stat-list dd{margin:0;font-size:1.2rem;font-weight:900}.admin-mini-list,.admin-report-list,.admin-asset-list{gap:.55rem;display:grid}.admin-mini-list div,.admin-report-list div,.admin-asset-list>div{background:var(--field-bg);border:1px solid var(--line);border-radius:8px;gap:.2rem;padding:.7rem;display:grid}.admin-report-list p{margin:0}.admin-asset-browser{gap:.75rem;display:grid}.admin-asset-search{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;display:grid}.admin-asset-search label{gap:.45rem;min-width:0;display:grid}.admin-asset-search input{width:100%;min-width:0}.admin-asset-results{border:1px solid var(--line);border-radius:8px;gap:.75rem;padding:.85rem;display:grid}.admin-asset-results summary{cursor:pointer;font-weight:900}.admin-asset-results[open] summary{margin-bottom:.75rem}.admin-asset-list>div{grid-template-columns:minmax(0,1fr) auto;align-items:start}.admin-asset-list>div>div:first-child{gap:.2rem;min-width:0;display:grid}.admin-asset-list span{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem;font-weight:800}.admin-asset-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-asset-pagination>span{color:var(--muted);font-size:.85rem;font-weight:900}.admin-asset-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:.5rem;display:flex}.admin-maintenance-row{gap:1rem;display:grid}.admin-maintenance-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.admin-maintenance-command-grid .compact-button{justify-content:center;min-height:2.35rem}.admin-maintenance-lookup-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:.75rem;display:grid}.admin-maintenance-lookup-grid label{gap:.45rem;min-width:0;display:grid}.admin-maintenance-lookup-grid input,.admin-maintenance-lookup-grid select{width:100%;min-width:0}.admin-maintenance-button-group{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.admin-maintenance-button-group .compact-button{white-space:normal;justify-content:center;min-width:min(100%,10rem)}.admin-notification-form{gap:.8rem;display:grid}.admin-notification-form label{gap:.45rem;display:grid}.admin-notification-form input,.admin-notification-form select,.admin-notification-form textarea{width:100%;min-width:0}.admin-maintenance-wide-field{grid-column:span 1}.admin-entitlement-json{background:var(--field-bg);border:1px solid var(--line);white-space:pre-wrap;border-radius:8px;max-height:18rem;padding:.8rem;overflow:auto}.admin-access-report{background:color-mix(in srgb, var(--panel) 78%, var(--field-bg));border:1px solid var(--line);border-radius:8px;gap:.8rem;padding:1rem;display:grid}.admin-access-list{gap:.5rem;display:grid}.admin-access-list p{background:var(--field-bg);border:1px solid var(--line);border-radius:8px;gap:.15rem;margin:0;padding:.65rem;display:grid}.admin-diagnostic-card{background:var(--field-bg);border:1px solid var(--line);border-radius:8px;gap:.2rem;padding:.7rem;display:grid}.admin-diagnostic-card span,.admin-diagnostic-card small{color:var(--muted)}.admin-diagnostic-card strong{font-size:1.25rem}.dashboard-command-center{grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,1fr) minmax(260px,.32fr);gap:1rem;display:grid}.dashboard-search-panel{grid-column:1}.dashboard-notifications-panel{grid-area:1/2/span 2;align-self:stretch}.dashboard-recent-panel{grid-column:1/-1}.dashboard-command-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.dashboard-notifications-panel .dashboard-command-heading{grid-template-columns:minmax(0,1fr) auto;display:grid}.dashboard-notifications-panel .dashboard-command-heading h2{overflow-wrap:normal;word-break:normal}.dashboard-notifications-panel .dashboard-command-heading .compact-button{white-space:nowrap;justify-self:end}.global-search-box input{width:100%}.global-search-results,.notification-list{gap:.55rem;display:grid}.global-search-results a,.notification-list a,.notification-list div{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);border-radius:8px;gap:.2rem;padding:.7rem .85rem;text-decoration:none;display:grid}.global-search-results a:hover,.notification-list a:hover,.notification-list .unread{border-color:var(--accent)}.global-search-results span,.notification-list span{color:var(--muted);font-size:.82rem;font-weight:800}.campaign-timeline-list{gap:.8rem;display:grid}.campaign-timeline-list article{background:var(--field-bg);border:1px solid var(--line);border-radius:8px;gap:.35rem;padding:1rem;display:grid}.campaign-timeline-list span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.campaign-timeline-list h3,.campaign-timeline-list p{margin:0}.content-library-roll-result{background:var(--field-bg);border:1px solid var(--accent);border-radius:8px;margin:1rem 0 0;padding:.8rem;font-weight:800}.structured-data-preview{background:var(--field-bg);border:1px solid var(--line);color:var(--text);white-space:pre-wrap;border-radius:8px;max-height:260px;margin:0;padding:.85rem;font:.85rem/1.45 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;overflow:auto}.editor-panel{gap:18px;padding:24px 20px;display:grid}.editor-workspace{max-width:1180px}.sheet-panel{background:var(--panel-texture), var(--panel);border:1px solid var(--line);box-shadow:0 16px 44px color-mix(in srgb, var(--glow) 18%, transparent);border-radius:8px;gap:18px;padding:24px 20px;display:grid}.fantasy-editor{align-content:start}.editor-heading,.sheet-heading,.section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-heading h2,.sheet-heading h2,.editor-section h3{margin:0}.sheet-heading p:not(.eyebrow){color:var(--muted);margin:8px 0 0}.sheet-stat-grid,.sheet-ability-strip,.currency-grid{gap:12px;display:grid}.sheet-stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sheet-panel,.editor-panel,.sheet-panel *,.editor-panel *{min-width:0}.sheet-panel,.editor-panel{overflow-wrap:anywhere}.sheet-stat-grid div,.sheet-ability-strip div{border:1px solid var(--line);border-radius:8px;gap:4px;padding:14px;display:grid}.sheet-stat-grid span,.sheet-ability-strip span,.sheet-ability-strip small{color:var(--muted);overflow-wrap:anywhere}.sheet-stat-grid strong{overflow-wrap:anywhere;font-size:24px}.sheet-ability-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.sheet-ability-strip strong{font-size:20px}.currency-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.sheet-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.sheet-actions.session-dashboard-roll-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;display:grid}.sheet-actions.session-dashboard-roll-actions>.compact-button{justify-content:center;width:100%}.sheet-actions.session-dashboard-roll-actions>.secondary-button{background:color-mix(in srgb, var(--panel) 82%, var(--accent) 18%);border:1px solid var(--line);color:var(--accent)}.sheet-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.sheet-section{gap:10px;display:grid}.sheet-section h3{margin:0}.system-pill{color:#23613b;background:#edf7ed;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.legal-disclaimer{background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 90%, transparent), color-mix(in srgb, var(--soft-panel) 82%, transparent)), var(--panel-texture);border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent);color:color-mix(in srgb, var(--muted) 62%, var(--ink));min-width:1180px;max-width:1180px;text-shadow:0 1px 0 color-mix(in srgb, var(--panel) 70%, transparent);flex-wrap:wrap;flex-shrink:0;justify-content:center;align-self:center;gap:10px 12px;width:100%;padding:20px 28px 30px;font-size:12px;line-height:1.5;display:flex}body:has(.landing-page) .legal-disclaimer{color:#f2dfc69e;background:linear-gradient(#02070bf0 0%,#030910fa 100%),#02070b;border-top:1px solid #d7a9546b;align-self:stretch;width:100%;min-width:0;max-width:none;padding:22px max(28px,50vw - 562px) 30px}.legal-consent{color:color-mix(in srgb, var(--ink) 92%, var(--accent-strong));text-align:center;flex-basis:100%;margin:0;font-size:14px;font-weight:650}body:has(.landing-page) .legal-consent{color:#f2dfc6}.legal-consent .legal-inline-links button{color:var(--accent-strong)}body:has(.landing-page) .legal-consent .legal-inline-links button{color:#c96f32}.legal-footer-disclaimer{color:inherit;text-align:center;max-width:920px;display:block}.legal-inline-links{gap:6px;display:inline-flex}.legal-inline-links button{color:var(--accent-strong);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0 1px;font-weight:800;text-decoration:underline;transition:color .16s,text-decoration-color .16s,text-shadow .16s}.legal-inline-links button:hover,.legal-inline-links button:focus-visible{color:var(--accent);text-shadow:0 0 12px color-mix(in srgb, var(--glow) 72%, transparent);text-decoration-color:currentColor}.legal-inline-links button:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:3px}.auth-footnote{margin:0;font-size:12px;line-height:1.45}.legal-modal-backdrop{z-index:80;background:#00000094;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.legal-modal{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:8px;gap:18px;width:min(100%,920px);max-width:920px;max-height:min(88vh,920px);padding:22px;display:grid;overflow:auto;box-shadow:0 24px 80px #00000061}.legal-modal .eyebrow,.legal-modal .secondary-button{color:var(--accent-strong);text-shadow:none}.legal-modal .primary-button{background:var(--accent-strong);color:#fff;text-shadow:none}.legal-modal-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:18px;padding-bottom:14px;display:flex}.legal-modal-toolbar h2{margin:0}.legal-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.legal-document-content{gap:12px;line-height:1.55;display:grid}.legal-document-content h1,.legal-document-content h3,.legal-document-content h4,.legal-document-content p,.legal-document-content ul{margin:0}.legal-document-content h1{font-size:28px}.legal-document-content h3{border-top:1px solid var(--line);padding-top:14px;font-size:18px}.legal-document-content h4{color:var(--accent-strong);font-size:14px}.legal-document-content ul{padding-left:22px}.editor-section{border-top:1px solid var(--line);gap:14px;padding-top:18px;display:grid}.section-title-row span,.section-empty,.skill-row small,.ability-derived{color:var(--muted);overflow-wrap:anywhere}.field-grid,.ability-grid,.skill-grid{gap:12px;display:grid}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-label-editor{color:var(--muted-text);margin-bottom:.35rem;font-size:.78rem;font-weight:700;display:block}.field-label-editor input{margin-top:.2rem}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.full-span{grid-column:1/-1}.checkbox-field{border:1px solid var(--line);border-radius:8px;flex-direction:row;align-items:center;gap:10px;min-height:42px;padding:10px 12px;display:flex}.checkbox-field input{width:16px;height:16px;min-height:16px}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.campaign-packet-section-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.editor-panel .campaign-packet-section-option{background:color-mix(in srgb, var(--field-bg) 62%, transparent);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;min-height:68px;padding:12px;font-size:13px;display:grid}.editor-panel .campaign-packet-section-option input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:2px 0 0;padding:0}.campaign-packet-section-copy{gap:4px;line-height:1.35;display:grid}.campaign-packet-section-copy strong{color:var(--ink)}.campaign-packet-section-copy small{color:var(--muted);overflow-wrap:anywhere}.checkbox-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.checkbox-row label{border:1px solid var(--line);border-radius:8px;flex-direction:row;align-items:center;gap:8px;padding:10px;display:flex}.checkbox-row input{width:16px;height:16px;min-height:16px}.legacy-skill-table{gap:0;display:grid;overflow-x:visible}.legacy-skill-head,.legacy-skill-row{grid-template-columns:minmax(150px,1.4fr) 70px 92px 62px 72px 110px 110px;align-items:center;gap:10px;min-width:0;display:grid}.legacy-skill-head{color:var(--muted);padding:0 0 8px;font-size:12px;font-weight:800}.legacy-skill-row{border-bottom:1px solid var(--line);padding:8px 0}.legacy-skill-row>span,.legacy-skill-row strong{overflow-wrap:anywhere;min-width:0}.legacy-skill-row>span:first-child{font-weight:700}.legacy-skill-row>span:nth-child(2),.legacy-skill-row>span:nth-child(3){color:var(--muted);font-size:13px}.legacy-skill-check{justify-content:center;align-items:center;display:flex}.legacy-skill-check input{width:16px;height:16px;min-height:16px}.table-scroll{max-width:100%;overflow-x:auto}.legacy-skill-matrix{border-collapse:collapse;table-layout:fixed;width:100%;min-width:780px}.legacy-skill-matrix th,.legacy-skill-matrix td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:normal;word-break:normal;overflow-wrap:anywhere;padding:8px 10px}.legacy-skill-matrix thead th{color:var(--muted);font-size:12px;font-weight:800}.legacy-skill-matrix tbody th{font-weight:800}.legacy-skill-matrix th:first-child{width:24%}.legacy-skill-matrix th:nth-child(2),.legacy-skill-matrix td:nth-child(2){width:9%}.legacy-skill-matrix th:nth-child(3),.legacy-skill-matrix td:nth-child(3){width:13%}.legacy-skill-matrix th:nth-child(4),.legacy-skill-matrix td:nth-child(4),.legacy-skill-matrix th:nth-child(5),.legacy-skill-matrix td:nth-child(5),.legacy-skill-matrix th:nth-child(7),.legacy-skill-matrix td:nth-child(7){text-align:center;width:9%}.legacy-skill-matrix th:nth-child(6),.legacy-skill-matrix td:nth-child(6){text-align:center;width:12%}.legacy-skill-check-cell{text-align:center}.legacy-skill-check-cell input{width:16px;height:16px;min-height:16px}.legacy-skill-total{font-weight:900}.legacy-skill-matrix input[type=number]{width:100%;min-width:0}.modal-backdrop{z-index:50;background:#0f172a6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-backdrop-below-topbar{z-index:100;align-items:flex-start;padding-top:88px}.import-export-backdrop{align-items:flex-start;padding-top:96px}.confirm-modal{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:14px;width:min(100%,440px);max-width:440px;padding:22px;display:grid;box-shadow:0 24px 80px #0f172a47}.confirm-modal.import-export-modal{grid-template-rows:auto auto minmax(0,1fr) auto auto;width:min(780px,100vw - 40px);max-width:min(780px,100vw - 40px);max-height:min(720px,100vh - 128px);overflow:hidden}.import-export-modal__header{justify-content:space-between;align-items:start;display:flex}.import-export-tabs{width:100%}.import-export-panel{gap:14px;display:grid}.import-export-modal__body{min-height:0;padding-right:4px;display:grid;overflow:auto}.import-export-panel>label,.import-export-fieldset{color:var(--muted);text-transform:uppercase;gap:7px;font-size:12px;font-weight:800;display:grid}.import-export-fieldset{border:0;margin:0;padding:0}.import-export-family-grid,.import-export-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.import-export-family-toggle{gap:10px}.import-export-family-toggle.active{border-color:var(--accent)}.import-export-family-toggle button{color:inherit;cursor:pointer;font:inherit;text-align:left;text-transform:none;background:0 0;border:0;min-width:0;padding:0}.import-export-family-toggle button:disabled{cursor:default}.import-export-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-export-section-stack{gap:10px;display:grid}.import-export-section-group{gap:8px;display:grid}.import-export-section-toggle{border-color:color-mix(in srgb, var(--line) 60%, var(--accent) 40%)}.import-export-select-all{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--line) 50%, var(--accent) 50%)}.import-export-preview{border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;display:grid}.import-export-preview ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.import-export-preview li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:7px;display:flex}.confirm-modal.entity-preview-modal{width:66.666vw;max-width:calc(100vw - 40px);overflow:hidden}.confirm-modal.encounter-preview-modal:not(.entity-preview-modal){width:min(52.5vw,825px);max-width:min(52.5vw,825px)}.confirm-modal h3{margin:0}.confirm-modal p{color:var(--muted);margin:0;line-height:1.5}.confirm-modal-actions{justify-content:flex-end;gap:10px;display:flex}.checkbox-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.checkbox-grid label{border:1px solid var(--line);border-radius:8px;flex-direction:row;align-items:center;gap:8px;padding:10px;display:flex}.checkbox-grid input{width:16px;height:16px;min-height:16px}.ability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cyber-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.cyber-stat-strip{grid-template-columns:repeat(10,minmax(0,1fr))}.cyber-skill-grid{column-count:3;column-gap:12px;display:block}.cyber-skill-grid .dot-group{break-inside:avoid;page-break-inside:avoid;align-content:start;margin:0 0 12px}.cyber-skill-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 38px 62px;align-items:center;height:48px;padding:7px 0;gap:8px!important;display:grid!important}.cyber-skill-row span{overflow-wrap:anywhere;gap:2px;min-width:0;line-height:1.15;display:grid}.cyber-skill-row small{color:var(--muted);line-height:1.1}.cyber-skill-row strong{text-align:right}.class-level-list{gap:8px;display:grid}.class-level-head,.class-level-row{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 92px 40px;gap:8px;display:grid}.class-level-head{color:var(--muted);font-size:12px;font-weight:800}.ability-box{border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;display:grid}.ability-derived{gap:10px;font-size:12px;display:flex}.ability-bonus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dot-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dot-group{border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;display:grid}.dot-group h4{overflow-wrap:anywhere;margin:0}.dot-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.dot-rating,.dot-display{align-items:center;gap:5px;display:inline-flex}.dot-button,.dot-display-dot{border:1px solid var(--accent);background:0 0;border-radius:999px;width:15px;height:15px;padding:0;display:inline-block}.dot-button{cursor:pointer}.dot-button.selected,.dot-display-dot.selected{background:var(--accent)}.readonly-dot-group{background:#fbfaf7}.large-dot-rating{flex-wrap:wrap}.large-dot-rating .dot-button{width:18px;height:18px}.track-session-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.track-session-control,.damage-track,.template-rating-field{border:1px solid var(--line);color:var(--muted);border-radius:8px;gap:10px;padding:12px;font-size:13px;font-weight:800;display:grid}.damage-track>div:first-child{justify-content:space-between;align-items:center;display:flex}.damage-track span{color:var(--muted);font-size:12px}.template-rating-field>span{color:var(--muted);font-size:13px;font-weight:800}.damage-boxes{flex-wrap:wrap;gap:6px;display:flex}.damage-box{border:1px solid var(--accent);color:var(--accent-strong);cursor:pointer;background:#fff;border-radius:3px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-weight:900;line-height:1;display:inline-flex}.damage-box.major{background:#e5f0ef}.damage-box.severe,.damage-box.filled{background:var(--accent);border-color:var(--accent);color:#0000}.check-row{align-items:center;gap:8px!important;display:flex!important}.check-row input{width:16px;height:16px}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 44px 88px 72px;align-items:center;padding:8px 0;gap:10px!important;display:grid!important}.skill-row>span{overflow-wrap:anywhere;align-items:baseline;gap:8px;min-width:0;display:flex}.skill-row strong{text-align:right}.skill-control-field{white-space:nowrap;min-width:0;gap:4px!important;font-size:11px!important}.skill-control-field input,.skill-control-field select{box-sizing:border-box;width:100%;min-width:0;padding:8px 10px}.compact-button{gap:6px;min-height:34px;padding:0 10px}.row-editor{gap:8px;display:grid;overflow-x:visible}.row-editor-head,.row-editor-row{gap:8px;min-width:0;display:grid}.row-editor-head{color:var(--muted);font-size:12px;font-weight:800}.muted-icon-button{color:var(--muted);background:#eef1f3;width:38px;height:38px}.disabled-icon-button{cursor:not-allowed;opacity:.45}.spell-ability-picker{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.spell-ability-picker .check-row{white-space:nowrap;justify-content:flex-start;align-items:center;min-width:0;display:flex!important}.spell-ability-picker .check-row input{flex:none}.spell-stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.spell-stat-grid div{border:1px solid var(--line);border-radius:8px;gap:4px;padding:12px;display:grid}.spell-stat-grid span,.spell-stat-grid small{color:var(--muted)}.spell-row-editor-head,.spell-row-editor-row,.inventory-editor-row{grid-template-columns:minmax(0,1.4fr) 80px 110px minmax(0,1.2fr) 40px;gap:8px;min-width:0;display:grid}.spell-row-editor-head{color:var(--muted);font-size:12px;font-weight:800}.spellcasting-source-grid{gap:12px;display:grid}.spellcasting-source{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) 150px 92px 92px 92px minmax(110px,.75fr) 40px;align-items:end;gap:8px;padding:12px;display:grid}.spellcasting-source-total{color:var(--muted);gap:4px;font-size:12px;display:grid}.sheet-skill-grid,.sheet-table,.inventory-editor{gap:8px;display:grid}.sheet-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-skill-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.sheet-skill-row span{overflow-wrap:anywhere;gap:8px;min-width:0;display:flex}.sheet-skill-row small,.sheet-table-row span,.sheet-table-head,.inventory-editor-head{color:var(--muted)}.sheet-table-head,.sheet-table-row{grid-template-columns:minmax(0,1fr) repeat(3,minmax(0,.8fr));gap:8px;display:grid}.sheet-table-head>*,.sheet-table-row>*,.row-editor-head>*,.row-editor-row>*,.spell-row-editor-head>*,.spell-row-editor-row>*,.inventory-editor-head>*,.inventory-editor-row>*,.track-dot-row-head>*,.track-dot-row-editor>*,.track-advantage-head>*,.track-advantage-row>*,.track-two-column-head>*,.track-two-column-row>*,.track-one-column-row>*{overflow-wrap:anywhere;white-space:normal;min-width:0}.sheet-table-head{padding:0 12px;font-size:12px;font-weight:800}.sheet-table-head.three,.sheet-table-row.three{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.8fr)}.sheet-table-head.two,.sheet-table-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-table-head.one,.sheet-table-row.one{grid-template-columns:minmax(0,1fr)}.sheet-table-head.five,.sheet-table-row.five{grid-template-columns:minmax(0,1.2fr) minmax(0,.65fr) minmax(0,.75fr) minmax(0,.9fr) minmax(0,1.2fr)}.sheet-table-row{border:1px solid var(--line);border-radius:8px;padding:12px}.sheet-text-block{border:1px solid var(--line);border-radius:8px;gap:6px;padding:12px;display:grid}.sheet-text-block p{color:var(--muted);white-space:pre-wrap;margin:0}.inventory-editor{overflow-x:visible}.inventory-editor-head,.inventory-editor-row{grid-template-columns:minmax(0,1fr) 90px minmax(0,1.2fr) 40px;gap:8px;min-width:0;display:grid}.inventory-editor-head{font-size:12px;font-weight:800}.track-dot-row-head,.track-dot-row-editor,.track-advantage-head,.track-advantage-row,.track-two-column-head,.track-two-column-row,.track-one-column-row{gap:8px;min-width:0;display:grid}.track-dot-row-head,.track-dot-row-editor{grid-template-columns:minmax(0,1fr) 140px minmax(0,1.8fr) 40px}.track-advantage-head,.track-advantage-row{grid-template-columns:minmax(0,1fr) 140px 130px minmax(0,1.5fr) 40px}.track-two-column-head,.track-two-column-row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 40px}.track-one-column-row{grid-template-columns:minmax(0,1fr) 40px}.track-dot-row-head,.track-advantage-head,.track-two-column-head{color:var(--muted);font-size:12px;font-weight:800}.editor-panel label,.sheet-panel label{color:var(--muted);gap:8px;font-size:13px;font-weight:700;display:grid}.editor-panel input,.editor-panel select,.editor-panel textarea,.sheet-panel input,.sheet-panel select,.sheet-panel textarea{background:var(--field-bg);border:1px solid var(--line);box-sizing:border-box;color:var(--ink);border-radius:6px;width:100%;max-width:100%;padding:10px 12px}.editor-panel .check-row input[type=checkbox],.sheet-panel .check-row input[type=checkbox]{flex:0 0 16px;width:16px;max-width:16px;height:16px;min-height:16px;padding:0}.editor-panel input:focus,.editor-panel select:focus,.editor-panel textarea:focus,.sheet-panel input:focus,.sheet-panel select:focus,.sheet-panel textarea:focus{border-color:var(--focus);outline:1px solid var(--focus)}.primary-button,.icon-button,.secondary-button,.nav-button{cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.primary-button{background:var(--button-primary-bg,var(--accent));color:#fff;min-height:42px;box-shadow:var(--accent-glow);gap:8px;padding:0 16px}body:has(.landing-page) .primary-button{color:#fff;text-shadow:none;background:#8b3b10}.secondary-button,.nav-button{color:var(--accent);background:0 0;min-height:42px;padding:0 14px}.danger-button{color:var(--danger)}.class-level-list .compact-button{justify-self:center}.nav-button{color:var(--topbar-ink);min-height:36px}.primary-nav-button{background:var(--panel);color:var(--topbar)}.topbar-auth-button{min-height:36px}.primary-button:disabled{opacity:.7}.icon-button{background:var(--accent);color:#fff;width:40px;height:40px;box-shadow:var(--accent-glow)}.subscription-panel{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px;display:grid}.subscription-status-card{gap:8px}.subscription-status-card h2{margin:0}.subscription-status-card.warning-card{border-color:color-mix(in srgb, #c45b21 58%, var(--line))}.subscription-feature-list{color:var(--text);gap:6px;margin:12px 0;padding-left:18px;display:grid}.subscription-feature-list li{line-height:1.35}.subscription-interval-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.subscription-interval-option{background:var(--soft-panel);border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;align-items:start;gap:6px;min-height:112px;padding:14px;display:grid}.subscription-interval-option.selected{border-color:var(--accent);box-shadow:var(--accent-glow)}.subscription-interval-option span,.subscription-plan-detail{color:var(--muted);font-size:13px}.subscription-tier-badge{background:color-mix(in srgb, var(--accent) 14%, var(--panel));border:1px solid color-mix(in srgb, var(--accent) 42%, var(--line));color:var(--accent-strong);border-radius:8px;place-self:center end;padding:10px 16px;font-weight:800}.subscription-interval-option em{color:var(--accent-strong);white-space:pre-line;font-style:normal;font-weight:800}.compact-empty-state{min-height:auto;padding:14px 16px}.settings-panel{background:var(--panel-texture), var(--panel);border:1px solid var(--line);box-shadow:0 16px 44px color-mix(in srgb, var(--glow) 18%, transparent);border-radius:8px;gap:22px;padding:22px;display:grid}.settings-stack{gap:22px;display:grid}.settings-panel-heading{cursor:pointer;align-items:center;gap:14px;list-style:none;display:flex}.settings-panel-heading::-webkit-details-marker{display:none}.settings-panel-heading>div{flex:1}.settings-panel-chevron{color:var(--muted);flex:none;transition:transform .16s}.settings-panel[open] .settings-panel-chevron{transform:rotate(180deg)}.settings-panel-heading h2,.settings-panel-heading p,.settings-option h3,.settings-option p{margin:0}.settings-panel-heading p,.settings-option p{color:var(--muted)}.settings-option-list{gap:10px;display:grid}.settings-option{background:color-mix(in srgb, var(--panel) 86%, transparent);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;padding:16px;display:flex}.settings-option span{color:var(--accent);font-size:13px;font-weight:800}.system-label-form{gap:18px;display:grid}.system-label-grid{gap:10px;display:grid}.system-label-row{background:color-mix(in srgb, var(--panel) 86%, transparent);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(220px,280px) auto;align-items:end;gap:12px;padding:14px;display:grid}.system-label-row span{gap:4px;display:grid}.system-label-row small,.settings-form-actions span{color:var(--muted)}.settings-form-actions{justify-content:space-between;align-items:center;display:flex}.my-template-list{gap:10px;display:grid}.my-template-toolbar{justify-content:flex-end;display:flex}.my-template-row{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.my-template-row>div:first-child{gap:4px;display:grid}.my-template-row>div:first-child span{color:var(--muted);font-size:13px}.my-template-actions{flex:none;align-items:center;gap:8px;display:flex}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.theme-card{background:var(--panel-texture), var(--panel);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;border-radius:8px;gap:12px;padding:12px;display:grid}.theme-card:hover,.theme-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent), var(--accent-glow)}.theme-preview{border-radius:7px;grid-template-rows:28px 1fr;min-height:132px;display:grid;overflow:hidden}.theme-preview-top{display:block}.theme-preview-body{grid-template-columns:.72fr 1fr;gap:10px;padding:10px;display:grid}.theme-preview-list,.theme-preview-sheet{border-radius:6px;gap:8px;padding:10px;display:grid}.theme-preview-list span,.theme-preview-sheet span{border-radius:999px;height:10px;display:block}.theme-preview-sheet span:first-child{width:52%;height:24px}.theme-card-copy{gap:6px;display:grid}.theme-card-copy>span:last-child{color:var(--muted);font-size:13px;line-height:1.35}.theme-card-title{justify-content:space-between;align-items:center;font-weight:900;display:flex}.theme-preview-midnight-tome .theme-preview{background:url(/themes/theme-midnight-tome.png) 50%/cover}.theme-preview-midnight-tome .theme-preview-top{background:#0b0a12}.theme-preview-midnight-tome .theme-preview-list,.theme-preview-midnight-tome .theme-preview-sheet{background:#211d2b}.theme-preview-midnight-tome .theme-preview-list span,.theme-preview-midnight-tome .theme-preview-sheet span{background:#c9994a}.theme-preview-arcane-glass .theme-preview{background:url(/themes/theme-arcane-glass.png) 50%/cover}.theme-preview-arcane-glass .theme-preview-top{background:#0d3d62}.theme-preview-arcane-glass .theme-preview-list,.theme-preview-arcane-glass .theme-preview-sheet{background:#ffffffd6}.theme-preview-arcane-glass .theme-preview-list span,.theme-preview-arcane-glass .theme-preview-sheet span{background:#0e8fc2}.theme-preview-iron-keep .theme-preview{background:url(/themes/theme-iron-keep.png) 50%/cover}.theme-preview-iron-keep .theme-preview-top{background:#273034}.theme-preview-iron-keep .theme-preview-list,.theme-preview-iron-keep .theme-preview-sheet{background:#f9f8f4}.theme-preview-iron-keep .theme-preview-list span,.theme-preview-iron-keep .theme-preview-sheet span{background:#41695f}.theme-preview-ember-tavern .theme-preview{background:url(/themes/theme-ember-tavern.png) 50%/cover}.theme-preview-ember-tavern .theme-preview-top{background:#3a251b}.theme-preview-ember-tavern .theme-preview-list,.theme-preview-ember-tavern .theme-preview-sheet{background:#fff6df}.theme-preview-ember-tavern .theme-preview-list span,.theme-preview-ember-tavern .theme-preview-sheet span{background:#b65f24}.theme-preview-neon-runner .theme-preview{background:url(/themes/theme-neon-runner.png) 50%/cover}.theme-preview-neon-runner .theme-preview-top{background:#050711}.theme-preview-neon-runner .theme-preview-list,.theme-preview-neon-runner .theme-preview-sheet{background:#111827}.theme-preview-neon-runner .theme-preview-list span,.theme-preview-neon-runner .theme-preview-sheet span{background:#22d3ee}.theme-preview-dark-mode .theme-preview{background:url(/themes/theme-dark-mode.png) 50%/cover}.theme-preview-dark-mode .theme-preview-top{background:#0b0e14}.theme-preview-dark-mode .theme-preview-list,.theme-preview-dark-mode .theme-preview-sheet{background:#181d26}.theme-preview-dark-mode .theme-preview-list span,.theme-preview-dark-mode .theme-preview-sheet span{background:#60a5fa}.simple-form{gap:16px;display:grid}.simple-form label{color:var(--muted);gap:8px;font-size:13px;font-weight:800;display:grid}.simple-form input,.simple-form select,.simple-form textarea{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:10px 12px}.simple-form .primary-button{justify-self:start}.form-error{color:var(--danger);margin:0}.toast-region{z-index:1200;pointer-events:none;gap:.6rem;width:min(11rem,100vw - 2rem);display:grid;position:fixed;top:5rem;right:1rem}.toast-card{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--panel);color:var(--ink);pointer-events:auto;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem .9rem;display:flex;box-shadow:0 16px 35px #00000038}.toast-card strong{margin-bottom:.2rem;display:block}.toast-card p{color:var(--muted);margin:0;line-height:1.35}.toast-card button{color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:1.2rem;line-height:1}.toast-success{border-left-color:#2e7d32}.toast-error{border-left-color:var(--danger)}.toast-info{border-left-color:var(--accent)}.toast-warning{border-left-color:#b7631b}.unstyled-feature-gate{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0}.state-panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-soft);color:var(--ink);border-radius:8px;align-items:flex-start;gap:.9rem;padding:1rem;display:flex}.state-panel h2{margin:0 0 .25rem}.state-panel p{color:var(--muted);margin:0}.state-panel-action{margin-top:.8rem}.state-panel-error{border-color:var(--danger)}.state-panel-locked{border-color:var(--accent)}.inline-status{align-items:center;gap:.5rem;margin:0;display:flex}.inline-status span:last-child{color:var(--muted)}.inline-status-error span:last-child{color:var(--danger)}.field-label{color:var(--muted);margin-bottom:6px;font-size:.86rem;font-weight:800;display:block}.form-success{color:var(--accent-strong);margin:0}.admin-inbox{gap:16px;display:grid}.admin-inbox-filters{grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;display:grid}.admin-inbox-filters label,.admin-inbox-card label{color:var(--muted);gap:7px;font-size:13px;font-weight:800;display:grid}.admin-inbox-filters input,.admin-inbox-filters select,.admin-inbox-card select,.admin-inbox-card textarea{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:9px 10px}.admin-inbox-list{gap:12px;display:grid}.admin-inbox-card{background:var(--panel-texture), color-mix(in srgb, var(--panel) 92%, transparent);border:1px solid var(--line);border-radius:8px;gap:12px;padding:16px;display:grid}.admin-inbox-card header{justify-content:space-between;align-items:start;gap:14px;display:flex}.admin-inbox-card h2{margin:4px 0;font-size:18px}.admin-inbox-card p{color:var(--muted);margin:0}.admin-audit-card{gap:14px}.admin-audit-summary,.admin-audit-metadata{gap:8px 18px;margin:0;display:grid}.admin-audit-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:8px}.admin-audit-metadata{background:color-mix(in srgb, var(--field-bg) 72%, transparent);border:1px solid color-mix(in srgb, var(--line) 70%, transparent);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:12px}.admin-audit-summary div,.admin-audit-metadata div{gap:3px;min-width:0;display:grid}.admin-audit-summary dt,.admin-audit-metadata dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.admin-audit-summary dd,.admin-audit-metadata dd{color:var(--ink);overflow-wrap:anywhere;min-width:0;margin:0}.admin-audit-metadata:empty{display:none}.admin-inbox-message{white-space:pre-wrap;color:var(--ink)!important}.admin-inbox-kind{color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:900}.admin-inbox-actions{flex-wrap:wrap;gap:10px;display:flex}.autosave-status{color:var(--muted);min-height:18px;margin:0;font-size:13px}.upgrade-callout{background:var(--soft-panel);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.upgrade-callout h3,.upgrade-callout p{margin:0}.upgrade-callout h3{font-size:16px}.upgrade-callout p{color:var(--muted);margin-top:4px}.subscription-callout{justify-content:space-between;align-items:center;gap:18px;display:flex}.subscription-callout h3,.subscription-callout p{margin:0}.subscription-callout h3{font-size:16px}.subscription-callout p{color:var(--muted);margin-top:4px}.template-builder{gap:18px;display:grid}.template-warning-callout{background:color-mix(in srgb, var(--accent) 13%, var(--panel));border:1px solid color-mix(in srgb, var(--accent) 42%, var(--line));color:var(--ink);border-radius:8px;gap:6px;padding:14px 16px;display:grid}.template-warning-callout p{color:var(--muted);margin:0}.template-field-palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:360px;padding-right:4px;display:grid;overflow:auto}.compact-palette{max-height:260px}.template-field-palette-card{background:color-mix(in srgb, var(--panel) 80%, transparent);border:1px solid var(--line);color:var(--ink);text-align:left;border-radius:8px;align-items:center;gap:8px;padding:10px;display:grid}.template-field-palette-card:hover{border-color:var(--accent);box-shadow:var(--accent-glow)}.palette-field-title{gap:2px;display:grid}.palette-field-title span{font-weight:800}.template-field-palette-card label{color:var(--muted);gap:5px;font-size:12px;font-weight:800;display:grid}.template-field-palette-card select{min-height:34px}.template-field-palette-card button{justify-content:center}.template-field-palette small{color:var(--muted)}.template-builder-fields{gap:10px;display:grid}.template-builder-fields.custom-template-layout-grid{align-items:stretch}.custom-template-layout-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.custom-template-section-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;display:grid}.custom-template-section{align-content:start;min-width:0}.custom-template-section-full{grid-column:span 6}.custom-template-section-half{grid-column:span 3}.custom-template-section-third{grid-column:span 2}.custom-template-field{min-width:0}.custom-template-field-full{grid-column:span 6}.custom-template-field-half{grid-column:span 3}.custom-template-field-third{grid-column:span 2}.custom-template-field>.full-span,.custom-template-field .full-span{grid-column:auto;width:100%}.section-helper-text{color:var(--muted);margin:8px 0 0;font-size:13px;font-weight:700}.field-helper-text{color:var(--muted);font-size:12px;font-weight:700}.template-builder-field{border:1px solid var(--line);border-radius:8px;grid-template-columns:22px minmax(160px,1fr) minmax(130px,.6fr) minmax(120px,.5fr) minmax(150px,.7fr) auto auto;align-items:start;gap:10px;padding:12px;display:grid}.template-builder-fields .template-builder-field{grid-template-columns:22px minmax(0,1fr);height:100%}.template-builder-fields .template-builder-field>label,.template-builder-fields .template-builder-field>.template-options-field{grid-column:2}.template-builder-fields .template-order-controls,.template-builder-fields .template-builder-field>.icon-button{grid-column:2;justify-self:start}.template-builder-fields .custom-template-field-full .template-builder-field{grid-template-columns:22px minmax(160px,1fr) minmax(130px,.6fr) minmax(120px,.5fr) minmax(150px,.7fr) auto auto}.template-builder-fields .custom-template-field-full .template-builder-field>label,.template-builder-fields .custom-template-field-full .template-order-controls,.template-builder-fields .custom-template-field-full .template-builder-field>.icon-button{grid-column:auto}.template-builder-fields .custom-template-field-full .template-builder-field>.template-options-field{grid-column:2/-1}.template-builder-field>.icon-button{align-self:end}.template-drag-handle{color:var(--muted);cursor:grab;align-self:center;display:inline-flex}.template-preview-modal{width:min(1120px,100vw - 32px);max-width:min(1120px,100vw - 32px);max-height:min(86vh,920px)}.template-preview-modal__header{justify-content:space-between;align-items:start;gap:16px;display:flex}.template-preview-modal__header h3{margin:0}.template-preview-modal__body{gap:14px;max-height:min(62vh,680px);padding-right:4px;display:grid;overflow:auto}.template-section-actions,.template-order-controls{align-items:center;gap:6px;display:flex}.template-section-actions{justify-content:flex-end}.template-order-controls{align-self:end}.template-setting-label,.template-options-field>span,.section-title-row>span{align-items:center;gap:6px;display:inline-flex}.template-help{vertical-align:middle;z-index:4;display:inline-flex;position:relative}.template-help-button{background:color-mix(in srgb, var(--panel) 86%, transparent);border:1px solid color-mix(in srgb, var(--accent) 48%, var(--line));color:var(--accent);cursor:help;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;min-height:22px;padding:0;display:inline-flex}.template-help-button:hover,.template-help-button:focus-visible{background:color-mix(in srgb, var(--accent) 14%, var(--panel));box-shadow:var(--accent-glow);outline:none}.template-help-popover{background:var(--panel);border:1px solid color-mix(in srgb, var(--accent) 62%, var(--line));box-shadow:0 18px 42px color-mix(in srgb, var(--ink) 26%, transparent), 0 0 0 2px color-mix(in srgb, var(--field-bg) 78%, transparent);color:var(--ink);opacity:0;pointer-events:none;text-align:left;visibility:hidden;z-index:80;border-radius:8px;width:max-content;max-width:min(280px,100vw - 36px);padding:10px 12px;font-size:12px;font-weight:700;line-height:1.45;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-3px)}.template-help-popover:before{background:var(--panel);border-left:1px solid color-mix(in srgb, var(--accent) 62%, var(--line));border-top:1px solid color-mix(in srgb, var(--accent) 62%, var(--line));content:"";width:8px;height:8px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.template-help:hover .template-help-popover,.template-help:focus-within .template-help-popover,.template-help[data-open=true] .template-help-popover{opacity:1;pointer-events:auto;visibility:visible;transform:translate(-50%)translateY(0)}.template-options-field{gap:8px;display:grid}.template-options-field>span{color:var(--muted);font-size:13px;font-weight:800}.template-option-list{gap:6px;display:grid}.template-option-row{grid-template-columns:minmax(0,1fr) 42px;gap:6px;display:grid}.repeatable-column-control{gap:5px;display:grid}.template-option-row .icon-button{min-height:38px}.template-options-field .compact-button{justify-content:center;min-height:34px}.repeatable-editor,.repeatable-display{border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;display:grid}.repeatable-editor__header,.repeatable-editor-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.repeatable-editor__tools{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:8px;display:flex}.reusable-entry-search{gap:4px;min-width:min(220px,100%);display:grid;position:relative}.reusable-entry-search span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.reusable-fields-filter-card{gap:16px;display:grid}.reusable-inline-search{display:block;position:relative}.reusable-inline-search__results{background:var(--field-bg);border:1px solid var(--line-strong);z-index:35;border-radius:8px;min-width:min(280px,100%);max-height:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 14px 32px #00000047}.reusable-inline-search__results button{color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-weight:800}.reusable-inline-search__results button:hover,.reusable-inline-search__results button:focus-visible{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent-strong)}.reusable-fields-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:10px 0;display:flex}.reusable-fields-pagination span{color:var(--muted);font-size:13px;font-weight:800}.repeatable-editor__rows{gap:10px;display:grid}.repeatable-editor__row,.repeatable-row-editor{border:1px solid var(--line);border-radius:8px;gap:10px;padding:10px;display:grid}.repeatable-editor__cells{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.repeatable-editor__cell{gap:6px;display:grid}.repeatable-editor__remove{justify-self:start}.repeatable-editor__actions,.repeatable-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.repeatable-cell-editor{min-width:0}.repeatable-column-list{gap:8px;display:grid}.repeatable-column-row{grid-template-columns:minmax(120px,1fr) minmax(110px,.7fr) auto;align-items:end;gap:8px;display:grid}.sheet-value-card{border:1px solid var(--line);border-radius:8px;gap:8px;min-height:72px;padding:12px;display:grid}.sheet-value-card>span,.repeatable-display h3{color:var(--accent);text-transform:uppercase;margin:0;font-size:13px;font-weight:900}.sheet-value-card>strong{font-size:18px}:is(.sheet-value-card:has(.dot-rating-input),.session-sheet-edit-field:has(.dot-rating-input),.template-rating-field:has(.dot-rating),.template-rating-field:has(.dot-rating-input)){grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:center}:is(.sheet-value-card:has(.dot-rating-input)>span,.session-sheet-edit-field:has(.dot-rating-input)>span,.template-rating-field:has(.dot-rating)>span,.template-rating-field:has(.dot-rating-input)>span){align-self:center}.dot-rating-input,.damage-track-input{flex-wrap:wrap;align-items:center;gap:5px;min-height:26px;display:inline-flex}.dot-rating-input .dot{appearance:none;border:1px solid var(--accent);background:0 0;border-radius:999px;flex:0 0 15px;width:15px;height:15px;padding:0;display:inline-block}button.dot{cursor:pointer}.dot-rating-input--readonly .dot{cursor:default}.dot-rating-input .dot.filled{background:var(--accent)}.damage-track-input .damage-box{flex:0 0 26px}.sheet-value-card--wide p{white-space:pre-wrap;margin:0}.numeric-skills-table-wrap{border:1px solid var(--line);border-radius:8px;margin-bottom:14px;overflow-x:auto}.numeric-skills-table{border-collapse:collapse;width:100%;font-size:15px}.numeric-skills-table th,.numeric-skills-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:9px 12px}.numeric-skills-table th{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent-strong);text-transform:uppercase;font-size:12px;font-weight:900}.numeric-skills-table td:not(:first-child),.numeric-skills-table th:not(:first-child){text-align:right;white-space:nowrap}.numeric-skills-table tr:last-child td{border-bottom:0}.session-sheet-edit-field{border:1px solid var(--line);border-radius:8px;gap:8px;min-height:72px;padding:12px;display:grid}.session-sheet-edit-field>span{color:var(--accent);text-transform:uppercase;font-size:13px;font-weight:900}.score-bonus-field{border:1px solid var(--line);border-radius:8px;gap:8px;padding:12px;display:grid}.score-bonus-field>span{color:var(--accent);text-transform:uppercase;font-size:13px;font-weight:900}.score-bonus-input{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.score-bonus-input--total{grid-template-columns:repeat(3,minmax(0,1fr))}.score-bonus-display{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));align-items:stretch;gap:8px;display:grid}.score-bonus-display span{gap:3px;display:grid}.score-bonus-display small{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.score-bonus-display strong{color:var(--text);font-size:18px}.score-bonus-display b{color:var(--text);font-size:14px}.repeatable-display__table-wrap{overflow-x:auto}.repeatable-display__table{border-collapse:collapse;width:100%}.repeatable-display__table th,.repeatable-display__table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:pre-wrap;word-break:break-word;padding:8px}.repeatable-display__table th{color:var(--muted);text-transform:uppercase;font-size:12px}@media screen and (max-width:860px){.template-field-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.template-builder-field{grid-template-columns:22px minmax(0,1fr)}.template-builder-field>label,.template-builder-field>.template-options-field{grid-column:2}.template-order-controls,.template-builder-field>.icon-button{grid-column:2;justify-self:start}}@media screen and (max-width:700px){.campaign-overview-grid{grid-template-columns:1fr}.campaign-grid-full,.campaign-grid-half,.campaign-grid-third{grid-column:1/-1}.admin-diagnostics-heading,.admin-diagnostics-overview,.admin-diagnostics-split{grid-template-columns:1fr}.admin-diagnostics-heading{display:grid}.admin-diagnostics-grid,.admin-stat-list,.admin-page-nav,.admin-asset-search,.admin-asset-list>div,.dashboard-command-center,.admin-maintenance-row,.admin-maintenance-command-grid,.admin-maintenance-lookup-grid,.gm-tool-grid{grid-template-columns:1fr}.gm-tool-card,.gm-tool-card-half{grid-column:auto}.share-link-box{grid-template-columns:1fr}.custom-template-section-full,.custom-template-section-half,.custom-template-section-third,.custom-template-field-full,.custom-template-field-half,.custom-template-field-third{grid-column:span 6}.template-field-palette{grid-template-columns:1fr}}.monster-editor{gap:18px}.monster-textarea-field{gap:8px;display:grid}.monster-textarea-field textarea{min-height:180px}.monster-sheet{gap:18px;display:grid}.monster-sheet-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.monster-sheet-field{gap:6px;display:grid}.monster-sheet-field>span{color:var(--muted);font-size:12px;font-weight:800}.monster-sheet-text{background:color-mix(in srgb, var(--panel) 78%, transparent);border:1px solid var(--line);color:var(--ink);white-space:pre-wrap;border-radius:8px;min-height:90px;margin:0;padding:14px}.monster-sheet-field:not(.full-span) .monster-sheet-text{min-height:48px}.pdf-export-workspace{gap:18px;display:grid}.pdf-export-page{box-sizing:border-box;color:var(--pdf-ink);flex-direction:column;width:100%;height:calc(100dvh - 108px);min-height:0;max-height:calc(100dvh - 108px);padding:0;display:flex;position:relative;overflow:hidden}.pdf-theme-gilded{--pdf-bg:#241914;--pdf-font:Georgia, "Times New Roman", serif;--pdf-heading-font:Georgia, "Times New Roman", serif;--pdf-panel:#fff;--pdf-ink:#2a1b11;--pdf-muted:#765332;--pdf-line:#b98742;--pdf-accent:#c97628}.pdf-theme-noir{--pdf-bg:#121019;--pdf-font:"Courier New", Courier, monospace;--pdf-heading-font:"Courier New", Courier, monospace;--pdf-panel:#fff;--pdf-ink:#201923;--pdf-muted:#675a72;--pdf-line:#8c6f9d;--pdf-accent:#7b5aa6}.pdf-theme-neon{--pdf-bg:#07111d;--pdf-font:"Trebuchet MS", Arial, sans-serif;--pdf-heading-font:"Trebuchet MS", Arial, sans-serif;--pdf-panel:#fff;--pdf-ink:#0b1f2f;--pdf-muted:#45657c;--pdf-line:#2ab6d1;--pdf-accent:#cf4eb7}.pdf-theme-arcane{--pdf-bg:#0d3145;--pdf-font:"Palatino Linotype", Palatino, Georgia, serif;--pdf-heading-font:"Palatino Linotype", Palatino, Georgia, serif;--pdf-panel:#fff;--pdf-ink:#10283a;--pdf-muted:#466f82;--pdf-line:#38a5c2;--pdf-accent:#1d87b0}.pdf-export-toolbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--header-band);border:1px solid color-mix(in srgb, var(--header-ink) 20%, transparent);box-shadow:0 14px 36px color-mix(in srgb, var(--glow) 18%, transparent);z-index:5;border-radius:8px;flex:none;justify-content:space-between;align-items:center;width:100%;max-width:none;margin:0 0 18px;padding:18px 20px;display:flex;position:relative}.pdf-export-toolbar h1{color:var(--header-ink);margin:0}.pdf-export-toolbar .eyebrow{color:var(--header-accent)}.pdf-export-toolbar .pdf-theme-selector{color:var(--header-ink)}.pdf-export-toolbar .pdf-theme-selector select{background:var(--field-bg);border-color:var(--line);color:var(--ink)}.pdf-export-toolbar .pdf-desktop-only-note{color:var(--muted)}.pdf-app-sheet{--field-bg:color-mix(in srgb, var(--pdf-panel) 92%, #fff 8%);--focus:var(--pdf-accent);--glow:var(--pdf-accent);--ink:var(--pdf-ink);--line:var(--pdf-line);--muted:var(--pdf-muted);--panel:var(--pdf-panel);--panel-texture:linear-gradient(135deg, color-mix(in srgb, var(--pdf-accent) 10%, transparent), transparent 42%);color:var(--ink);font-family:var(--pdf-font);width:100%;max-width:7.8in;margin:0 auto}.pdf-app-sheet,.pdf-app-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pdf-app-sheet .sheet-panel{border:2px solid var(--line);background:#fff;box-shadow:0 18px 50px #00000047}.pdf-app-sheet h1,.pdf-app-sheet h2,.pdf-app-sheet h3,.pdf-app-sheet h4{font-family:var(--pdf-heading-font)}.pdf-app-sheet .sheet-heading .sheet-actions,.pdf-app-sheet .autosave-status,.pdf-app-sheet .section-title-row .compact-button,.pdf-app-sheet .row-editor .icon-button,.pdf-app-sheet .modal-backdrop{display:none!important}.pdf-app-sheet .sheet-heading{border-bottom:3px double var(--line);padding-bottom:12px}.pdf-app-sheet input,.pdf-app-sheet select,.pdf-app-sheet textarea{box-shadow:none}.printable-page-stack{--field-bg:color-mix(in srgb, var(--pdf-panel) 92%, #fff 8%);--focus:var(--pdf-accent);--glow:var(--pdf-accent);--ink:var(--pdf-ink);--line:var(--pdf-line);--muted:var(--pdf-muted);--panel:var(--pdf-panel);--panel-texture:linear-gradient(135deg, color-mix(in srgb, var(--pdf-accent) 10%, transparent), transparent 42%);color:var(--ink);font-family:var(--pdf-font);justify-content:center;gap:28px;display:grid}.printable-page-stack.preview-flow .print-page{height:auto;min-height:0;max-height:none;overflow:visible}.printable-page-stack.preview-flow .print-page-footer{margin-top:8px}.print-page{border:2px solid var(--line);box-sizing:border-box;background:#fff;border-radius:8px;flex-direction:column;gap:12px;width:8.5in;height:11in;min-height:11in;max-height:11in;padding:.35in;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 50px #00000047}.print-page *,.print-page :before,.print-page :after{box-sizing:border-box}.print-sheet-header{border-bottom:3px double var(--line);z-index:2;flex:none;grid-template-columns:1fr;gap:10px;padding-bottom:12px;display:grid;position:relative}.print-sheet-header h1,.print-sheet-header p{margin:0}.print-sheet-header h1{color:var(--ink);font-family:var(--pdf-heading-font);overflow-wrap:anywhere;font-size:26px;line-height:1.08}.print-header-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.print-header-meta span,.print-field-card{border:1px solid color-mix(in srgb, var(--line) 54%, transparent);background:#fff;border-radius:6px;gap:3px;min-width:0;padding:7px 8px;display:grid}.print-header-meta small,.print-field-card span,.print-sheet-row small,.print-table-head{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:8.5px;font-weight:900}.print-header-meta strong,.print-field-card strong,.print-sheet-row strong,.print-table-cell{color:var(--ink);overflow-wrap:anywhere}.print-section{border:1px solid color-mix(in srgb, var(--line) 58%, transparent);z-index:1;background:#fff;border-radius:8px;flex:none;gap:8px;padding:10px;display:grid;position:relative}.print-section h2{border-bottom:1px solid color-mix(in srgb, var(--line) 54%, transparent);color:var(--pdf-accent);font-family:var(--pdf-heading-font);margin:0;padding-bottom:6px;font-size:13px}.print-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.print-field-card.wide{grid-column:1/-1}.print-field-card.half{grid-column:span 2}.print-field-card.third{grid-column:span 1}.print-row-grid{gap:0 16px;display:grid}.print-row-grid.columns-1{grid-template-columns:1fr}.print-row-grid.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.print-row-grid.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.print-row-grid.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.print-row-grid.columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}.print-sheet-row{border-bottom:1px solid color-mix(in srgb, var(--line) 48%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:24px;padding:4px 0;display:grid}.print-sheet-row span{overflow-wrap:anywhere;align-items:baseline;gap:6px;min-width:0;display:flex}.print-table{gap:0;display:grid;overflow:visible}.print-table-head,.print-table-cell{border-bottom:1px solid color-mix(in srgb, var(--line) 44%, transparent);overflow-wrap:anywhere;white-space:normal;min-width:0;padding:5px 6px;line-height:1.25}.print-table-head{background:color-mix(in srgb, var(--line) 14%, transparent)}.print-dot-display,.print-damage-display{flex-wrap:wrap;align-items:center;gap:3px;display:inline-flex}.print-dot-display i{border:1px solid var(--pdf-accent);border-radius:999px;width:10px;height:10px;display:inline-block}.print-dot-display i.filled{background:var(--pdf-accent)}.print-damage-display i{border:1px solid var(--pdf-accent);border-radius:3px;justify-content:center;align-items:center;width:13px;height:13px;font-size:9px;font-style:normal;font-weight:900;line-height:1;display:inline-flex}.print-damage-display i.filled{background:var(--pdf-accent);color:#0000}.print-text-block{color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;line-height:1.4}.print-page-footer{border-top:1px solid color-mix(in srgb, var(--line) 52%, transparent);color:var(--muted);flex:none;justify-content:space-between;margin-top:auto;padding-top:8px;font-size:10px;font-weight:800;display:flex}.pdf-theme-selector{color:#fff;text-align:left;align-items:start;gap:6px;font-size:12px;font-weight:800;display:grid}.pdf-theme-selector select{background:var(--pdf-panel);border:1px solid var(--pdf-line);color:var(--pdf-ink);border-radius:6px;min-width:220px;min-height:38px;padding:0 10px}.pdf-desktop-only-note{color:#fff;max-width:220px;margin:0;font-size:12px;font-weight:800}.pdf-generation-status{color:#fff;font-size:12px;font-weight:800}.react-pdf-preview-shell{background:radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--pdf-accent) 20%, transparent), transparent 28%), linear-gradient(180deg, var(--pdf-bg), color-mix(in srgb, var(--pdf-bg) 88%, #000 12%));border:1px solid color-mix(in srgb, var(--pdf-line) 38%, transparent);border-radius:8px;flex:auto;justify-content:center;min-height:0;padding:clamp(12px,2vw,28px);display:grid;overflow:hidden}.react-pdf-preview-frame{border:2px solid var(--pdf-line);background:#fff;border-radius:8px;width:min(96vw,1120px);height:100%;min-height:0;box-shadow:0 18px 50px #00000047}.react-pdf-preview-message{background:var(--pdf-panel);border:1px solid var(--pdf-line);color:var(--pdf-ink);border-radius:8px;align-self:start;width:min(96vw,760px);margin-top:24px;padding:22px 26px;font-weight:800;box-shadow:0 18px 50px #00000038}.pdf-layout-designer{background:color-mix(in srgb, var(--pdf-panel) 96%, transparent);border:1px solid color-mix(in srgb, var(--pdf-line) 70%, transparent);color:var(--pdf-ink);border-radius:8px;flex:none;gap:14px;width:min(100%,1180px);max-height:min(72dvh,920px);margin:0 auto 18px;padding:14px;display:grid;overflow:hidden;box-shadow:0 18px 50px #00000042}.pdf-layout-designer-toolbar{border-bottom:1px solid color-mix(in srgb, var(--pdf-line) 42%, transparent);justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.pdf-layout-designer-toolbar h2,.pdf-layout-designer-toolbar p{margin:0}.pdf-layout-designer-body{grid-template-columns:240px minmax(0,1fr);gap:16px;min-height:0;display:grid;overflow:hidden}.pdf-layout-side-panel{background:color-mix(in srgb, var(--pdf-line) 8%, #fff 92%);border:1px solid color-mix(in srgb, var(--pdf-line) 42%, transparent);border-radius:8px;align-content:start;gap:12px;padding:12px;display:grid;overflow:auto}.pdf-layout-side-panel h3,.pdf-layout-side-panel p{margin:0}.pdf-layout-selected-card{border:1px solid color-mix(in srgb, var(--pdf-line) 50%, transparent);border-radius:8px;gap:8px;padding:10px;display:grid}.pdf-layout-selected-card span{color:var(--pdf-muted);font-size:12px;font-weight:800}.pdf-layout-available-panel{border-top:1px solid color-mix(in srgb, var(--pdf-line) 38%, transparent);gap:8px;padding-top:10px;display:grid}.pdf-layout-available-list{gap:6px;max-height:260px;padding-right:3px;display:grid;overflow:auto}.pdf-layout-field-add-button{background:color-mix(in srgb, var(--pdf-panel) 80%, #fff 20%);border:1px solid color-mix(in srgb, var(--pdf-line) 42%, transparent);color:var(--pdf-ink);cursor:pointer;text-align:left;border-radius:6px;justify-content:flex-start;align-items:center;gap:7px;min-height:34px;padding:7px 9px;font-weight:800;display:flex}.pdf-layout-field-add-button:hover{border-color:var(--pdf-accent)}.pdf-layout-page-stack{place-items:start center;gap:24px;min-height:0;padding:10px 10px 30px;display:grid;overflow:auto}.pdf-layout-page{background:#fff;background-image:linear-gradient(color-mix(in srgb, var(--pdf-accent) 16%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--pdf-accent) 16%, transparent) 1px, transparent 1px);border:2px solid var(--pdf-line);transform-origin:top;background-position:36px 36px;background-size:6px 6px;border-radius:8px;position:relative;box-shadow:0 18px 40px #0000003d}.pdf-layout-page:after{border:1px dashed color-mix(in srgb, var(--pdf-line) 42%, transparent);content:"";pointer-events:none;z-index:1;position:absolute;inset:36px}.pdf-layout-page.selected-page{box-shadow:0 18px 40px #0000003d, 0 0 0 4px color-mix(in srgb, var(--pdf-accent) 18%, transparent)}.pdf-layout-page-number{background:var(--pdf-line);color:#fff;z-index:2;border-radius:0 0 6px;padding:4px 8px;font-size:11px;font-weight:900;position:absolute;top:0;left:0}.pdf-layout-item{background:color-mix(in srgb, var(--pdf-line) 8%, #fff 92%);border:1px solid color-mix(in srgb, var(--pdf-line) 64%, transparent);color:var(--pdf-ink);cursor:grab;text-align:left;z-index:2;border-radius:6px;gap:3px;padding:7px;display:grid;position:absolute;overflow:hidden}.pdf-layout-item:active{cursor:grabbing}.pdf-layout-item.selected{border-color:var(--pdf-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--pdf-accent) 22%, transparent)}.pdf-layout-item.heading-item{background:color-mix(in srgb, var(--pdf-accent) 10%, #fff 90%);border-color:var(--pdf-accent);align-items:center}.pdf-layout-item.heading-item strong{color:var(--pdf-accent);font-weight:900}.pdf-layout-item span{color:var(--pdf-muted);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:900;overflow:hidden}.pdf-layout-item strong{color:var(--pdf-ink);font-size:inherit;overflow-wrap:anywhere;line-height:1.2}.pdf-layout-item.dot-item{flex-flow:wrap;justify-content:space-between;align-items:center;gap:4px;display:flex}.pdf-layout-item.dot-item span{flex:58px;min-width:0;margin-right:4px}.pdf-layout-item.dot-item strong{letter-spacing:1px;overflow-wrap:normal;white-space:nowrap;flex:none;margin-left:auto}.pdf-layout-item i{border-bottom:2px solid var(--pdf-accent);border-right:2px solid var(--pdf-accent);cursor:nwse-resize;width:12px;height:12px;position:absolute;bottom:4px;right:4px}.pdf-page-stack{gap:28px;display:grid}.pdf-sheet{border:2px solid var(--pdf-line);font-family:var(--pdf-font);background:#fff;border-radius:8px;flex-direction:column;width:8.5in;max-width:100%;height:11in;margin:0 auto;padding:.4in;display:flex;overflow:visible;box-shadow:0 18px 50px #00000047}.pdf-sheet h1,.pdf-sheet h2,.pdf-sheet h3,.pdf-sheet h4,.pdf-sheet-header{font-family:var(--pdf-heading-font)}.pdf-sheet-header{border-bottom:3px double var(--pdf-line);justify-content:space-between;align-items:start;gap:20px;padding-bottom:12px;display:flex}.pdf-sheet-header p,.pdf-sheet-header h1,.pdf-sheet-header span{margin:0}.pdf-sheet-header p,.pdf-sheet-header aside span,.pdf-field-table th,.pdf-empty-value,.pdf-sheet-footer{color:var(--pdf-muted)}.pdf-sheet-header h1{color:var(--pdf-ink);margin:4px 0;font-size:30px;line-height:1}.pdf-sheet-header aside{text-align:right;gap:6px;display:grid}.pdf-sheet-header.compact{padding-bottom:12px}.pdf-sheet-header.compact h1{font-size:24px}.pdf-section-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;padding-top:12px;display:grid;overflow:visible}.pdf-section.full-width{grid-column:1/-1}.pdf-section-column{gap:9px;display:grid}.pdf-section{border:1px solid color-mix(in srgb, var(--pdf-line) 72%, transparent);break-inside:avoid;page-break-inside:avoid;border-radius:8px;width:100%;margin:0;padding:9px;display:block}.pdf-section h2{border-bottom:1px solid color-mix(in srgb, var(--pdf-line) 64%, transparent);color:var(--pdf-accent);margin:0 0 6px;padding-bottom:5px;font-size:13px}.pdf-skills-section{padding:7px}.pdf-skills-section h2{margin-bottom:4px}.pdf-field-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.pdf-field-card{background:color-mix(in srgb, var(--pdf-panel) 74%, #fff 26%);border:1px solid color-mix(in srgb, var(--pdf-line) 42%, transparent);border-radius:6px;gap:4px;min-height:42px;padding:7px 8px;display:grid}.pdf-field-card.wide{grid-column:1/-1}.pdf-field-card>span,.pdf-stat-tile>span,.pdf-sheet-row>span small{color:var(--pdf-muted);letter-spacing:.03em;text-transform:uppercase;font-size:8.5px;font-weight:800}.pdf-field-card>span small{letter-spacing:0;text-transform:none;margin-top:2px;display:block}.pdf-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.pdf-stat-tile{background:color-mix(in srgb, var(--pdf-line) 11%, transparent);border:1px solid color-mix(in srgb, var(--pdf-line) 42%, transparent);text-align:center;border-radius:6px;align-items:center;gap:3px;min-height:42px;padding:6px 7px;display:grid}.pdf-stat-tile strong{color:var(--pdf-ink);font-size:15px}.pdf-mini-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.pdf-mini-stat{background:color-mix(in srgb, var(--pdf-line) 10%, transparent);border:1px solid color-mix(in srgb, var(--pdf-line) 34%, transparent);text-align:center;border-radius:5px;gap:2px;min-height:36px;padding:5px 6px;display:grid}.pdf-mini-stat span{color:var(--pdf-muted);font-size:8px;font-weight:900}.pdf-mini-stat strong{color:var(--pdf-ink);font-size:13px}.pdf-sheet-row-list{gap:0;display:grid}.pdf-sheet-row-list.nested{border:1px solid color-mix(in srgb, var(--pdf-line) 30%, transparent);border-radius:5px;overflow:hidden}.pdf-sheet-row{border-bottom:1px solid color-mix(in srgb, var(--pdf-line) 48%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:24px;padding:3px 0;display:grid}.pdf-sheet-row-list.nested .pdf-sheet-row{padding:3px 5px}.pdf-sheet-row:last-child{border-bottom:0}.pdf-sheet-row>span{color:var(--pdf-ink);min-width:0;font-size:10.5px;line-height:1.2}.pdf-sheet-row>span small{letter-spacing:0;text-transform:none;margin-left:5px;display:inline-block}.pdf-sheet-row>strong{color:var(--pdf-ink);text-align:right;min-width:24px;font-size:12px;line-height:1}.pdf-skill-card{padding:9px 10px}.pdf-skill-card h2{color:var(--pdf-ink);font-size:12px}.pdf-grouped-skill-grid{column-count:3;column-gap:12px;display:block}.pdf-skill-columns-1 .pdf-grouped-skill-grid{column-count:1}.pdf-skill-columns-2 .pdf-grouped-skill-grid{column-count:2}.pdf-skill-columns-3 .pdf-grouped-skill-grid{column-count:3}.pdf-skill-group{border:1px solid color-mix(in srgb, var(--pdf-line) 56%, transparent);break-inside:avoid;page-break-inside:avoid;border-radius:8px;gap:6px;margin:0 0 10px;padding:8px 10px;display:grid}.pdf-skill-group h3{color:var(--pdf-ink);margin:0;font-size:11.5px}.pdf-skill-card.pdf-skill-columns-2:not(.pdf-skill-grid-card)>.pdf-sheet-row-list{column-count:2;column-gap:18px;display:block}.pdf-skill-card.pdf-skill-columns-2:not(.pdf-skill-grid-card) .pdf-sheet-row{break-inside:avoid;page-break-inside:avoid}.pdf-field-table,.pdf-nested-table{border-collapse:collapse;width:100%}.pdf-field-table{font-size:10.5px}.pdf-field-table>tbody>tr>th,.pdf-field-table>tbody>tr>td{border-bottom:1px solid color-mix(in srgb, var(--pdf-line) 32%, transparent);vertical-align:top;padding:4px 5px}.pdf-skills-section .pdf-field-table>tbody>tr>th,.pdf-skills-section .pdf-field-table>tbody>tr>td{padding:2px 4px}.pdf-field-table>tbody>tr:last-child>th,.pdf-field-table>tbody>tr:last-child>td{border-bottom:0}.pdf-field-table>tbody>tr>th{letter-spacing:.03em;text-align:left;text-transform:uppercase;width:30%;font-size:8.5px}.pdf-field-table>tbody>tr>td,.pdf-text-value{color:var(--pdf-ink);white-space:pre-wrap;font-weight:700;line-height:1.35}.pdf-nested-table{border:1px solid color-mix(in srgb, var(--pdf-line) 36%, transparent);background:#ffffff3d;border-radius:4px;overflow:hidden}.pdf-nested-table th,.pdf-nested-table td{border-bottom:1px solid color-mix(in srgb, var(--pdf-line) 26%, transparent);text-align:left;vertical-align:top;padding:3px 4px}.pdf-nested-table tr:last-child th,.pdf-nested-table tr:last-child td{border-bottom:0}.pdf-nested-table thead th,.pdf-nested-table.compact th{background:color-mix(in srgb, var(--pdf-line) 18%, transparent);color:var(--pdf-muted);text-transform:uppercase;font-size:8.5px}.pdf-nested-table.compact th{width:34%}.pdf-list-value{gap:2px;margin:0;padding-left:17px;display:grid}.pdf-empty-value{font-style:italic;font-weight:700}.pdf-dot-row,.pdf-box-row{gap:5px;display:flex}.pdf-dot-row i{border:1px solid var(--pdf-line);border-radius:999px;width:13px;height:13px}.pdf-dot-row i.filled{background:var(--pdf-accent)}.pdf-box-row i{border:1px solid var(--pdf-line);justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;font-style:normal;font-weight:900;line-height:1;display:inline-flex}.pdf-box-row i.slash,.pdf-box-row i.cross{color:var(--pdf-ink)}.pdf-sheet-footer{border-top:1px solid var(--pdf-line);justify-content:space-between;margin-top:10px;padding-top:8px;font-size:11px;display:flex}.auth-actions{justify-content:center;gap:12px;display:flex}.auth-actions button{background:var(--accent);border:1px solid var(--accent);box-shadow:0 12px 26px color-mix(in srgb, var(--glow) 36%, transparent);color:#fff;cursor:pointer;border-radius:8px;min-height:44px;padding:0 18px;font-weight:800}.auth-actions button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}@media print{@page{margin:.35in;size:letter}html,body{width:auto;height:auto;background:#fff!important}.topbar,.legal-disclaimer,.no-print{display:none!important}.app-main{display:block}.pdf-export-workspace{width:auto;min-width:0;max-width:none;padding:0}.pdf-export-page{height:auto;min-height:auto;max-height:none;padding:0;overflow:visible;background:#fff!important}.printable-page-stack{display:block}.print-page{box-shadow:none;break-after:page;page-break-after:always;border:0;border-radius:0;width:8.5in;height:11in;min-height:11in;margin:0}.print-page:last-child{break-after:auto;page-break-after:auto}.pdf-app-sheet{width:auto;max-width:none;margin:0}.pdf-app-sheet .sheet-panel{box-shadow:none;border-radius:0;gap:18px;padding:24px 20px}.pdf-app-sheet .editor-section{break-before:auto;break-inside:avoid-page;page-break-before:auto;page-break-inside:avoid}.pdf-app-sheet .editor-section>h3,.pdf-app-sheet .section-title-row{break-after:avoid-page;page-break-after:avoid}.pdf-app-sheet .editor-section>h3+*,.pdf-app-sheet .section-title-row+*{break-before:avoid-page;page-break-before:avoid}:is(.pdf-app-sheet .editor-section:has(.cyber-skill-grid),.pdf-app-sheet .editor-section:has(.dot-group-grid),.pdf-app-sheet .editor-section:has(.sheet-skill-grid),.pdf-app-sheet .editor-section:has(.skill-grid),.pdf-app-sheet .editor-section:has(.legacy-skill-table),.pdf-app-sheet .editor-section:has(.row-editor),.pdf-app-sheet .editor-section:has(.sheet-table)){break-inside:auto;page-break-inside:auto}.pdf-app-sheet .sheet-stat-grid>div,.pdf-app-sheet .sheet-ability-strip>div,.pdf-app-sheet .field-grid>label,.pdf-app-sheet .dot-group,.pdf-app-sheet .sheet-table-row,.pdf-app-sheet .sheet-text-block,.pdf-app-sheet .row-editor-row,.pdf-app-sheet .damage-box,.pdf-app-sheet .legacy-skill-row{break-inside:avoid;page-break-inside:avoid}.pdf-app-sheet .cyber-skill-grid,.pdf-app-sheet .dot-group-grid{column-count:initial;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pdf-app-sheet .sheet-skill-grid,.pdf-app-sheet .skill-grid,.pdf-app-sheet .field-grid.two,.pdf-app-sheet .track-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdf-app-sheet .field-grid.three,.pdf-app-sheet .field-grid.four,.pdf-app-sheet .currency-grid,.pdf-app-sheet .ability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pdf-app-sheet .sheet-stat-grid,.pdf-app-sheet .spell-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pdf-app-sheet .sheet-ability-strip,.pdf-app-sheet .cyber-stat-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.pdf-app-sheet .legacy-skill-head,.pdf-app-sheet .legacy-skill-row,.pdf-app-sheet .row-editor-head,.pdf-app-sheet .row-editor-row,.pdf-app-sheet .spell-row-editor-head,.pdf-app-sheet .spell-row-editor-row,.pdf-app-sheet .inventory-editor-head,.pdf-app-sheet .inventory-editor-row,.pdf-app-sheet .track-dot-row-head,.pdf-app-sheet .track-dot-row-editor,.pdf-app-sheet .track-advantage-head,.pdf-app-sheet .track-advantage-row,.pdf-app-sheet .track-two-column-head,.pdf-app-sheet .track-two-column-row,.pdf-app-sheet .track-one-column-row{min-width:0}.pdf-app-sheet .sheet-table-head,.pdf-app-sheet .sheet-table-row,.pdf-app-sheet .row-editor-head,.pdf-app-sheet .row-editor-row{gap:6px}.pdf-app-sheet textarea{min-height:72px}.pdf-page-stack{display:block}.pdf-sheet{border-color:var(--pdf-line);box-shadow:none;page-break-after:always;border-radius:0;width:8.5in;max-width:none;height:11in;margin:0;padding:.4in}.pdf-sheet:last-child{page-break-after:auto}body:has(.legal-modal) .app-shell{display:none!important}body:has(.legal-modal) .legal-modal-backdrop{padding:0;display:block;position:static;background:#fff!important}body:has(.legal-modal) .legal-modal{box-shadow:none;color:#111;border:0;border-radius:0;width:auto;max-width:none;max-height:none;padding:0;display:block;overflow:visible}body:has(.legal-modal) .legal-document-content{font-size:11pt;line-height:1.45;display:block}body:has(.legal-modal) .legal-document-content h1{margin:0 0 14pt;font-size:20pt}body:has(.legal-modal) .legal-document-content h3{break-after:avoid;color:#111;border-top:1px solid #aaa;margin:14pt 0 7pt;padding-top:8pt;font-size:14pt}body:has(.legal-modal) .legal-document-content h4{color:#111;margin:10pt 0 4pt;font-size:11pt}:is(body:has(.legal-modal) .legal-document-content p,body:has(.legal-modal) .legal-document-content ul){margin:0 0 8pt}}@media screen and (max-width:1179px){html{overflow-x:hidden}body{transform-origin:0 0;zoom:var(--mobile-page-zoom,.7);width:1180px;min-width:1180px;overflow-x:hidden}.topbar,.workspace:not(.narrow),.landing-auth-shell,.legal-disclaimer{min-width:1180px}body:has(.landing-page){zoom:1;width:100%;min-width:0;overflow-x:hidden}body:has(.landing-page) .app-shell{width:100%;min-height:100dvh;transform:none}:is(body:has(.landing-page) .topbar,body:has(.landing-page) .legal-disclaimer){width:100%;min-width:0}.slide-menu{width:360px}.confirm-modal{width:440px;max-width:440px}.confirm-modal.entity-preview-modal{width:786.659px;max-width:calc(100vw - 40px)}.confirm-modal.encounter-preview-modal:not(.entity-preview-modal){width:825px;max-width:825px}@supports not (zoom:1){body{width:100%;min-width:0}.app-shell{min-height:calc(100dvh / var(--mobile-page-zoom,.7));transform:scale(var(--mobile-page-zoom,.7));transform-origin:0 0;width:1180px}}}@media screen and (max-width:1100px){body{--mobile-page-zoom:.932}}@media screen and (max-width:1000px){body{--mobile-page-zoom:.847}}@media screen and (max-width:900px){body{--mobile-page-zoom:.763}}@media screen and (max-width:820px){body{--mobile-page-zoom:.695}}@media screen and (max-width:760px){body{--mobile-page-zoom:.644}}@media screen and (max-width:700px){body{--mobile-page-zoom:.593}}@media screen and (max-width:640px){body{--mobile-page-zoom:.542}}@media screen and (max-width:580px){body{--mobile-page-zoom:.492}}@media screen and (max-width:520px){body{--mobile-page-zoom:.441}}@media screen and (max-width:460px){body{--mobile-page-zoom:.389}}@media screen and (max-width:430px){body{--mobile-page-zoom:.364}}@media screen and (max-width:400px){body{--mobile-page-zoom:.339}}@media screen and (max-width:375px){body{--mobile-page-zoom:.318}}body[data-mobile-web=true]{zoom:1;width:100%;min-width:0;overflow-x:hidden}body[data-mobile-web=true] .app-shell{width:100%;min-height:100dvh;transform:none}body[data-mobile-web=true] .topbar{z-index:35;width:100%;min-width:0;height:74px;padding:10px 14px;position:fixed;top:0;left:0;right:0}body[data-mobile-web=true] .brand{width:178px;max-width:178px;height:54px}body[data-mobile-web=true] .brand-image{background-size:auto 100%}body[data-mobile-web=true] .nav{flex-shrink:0;gap:8px}body[data-mobile-web=true] .landing-topbar-links{display:none}body[data-mobile-web=true] .topbar-search{flex-basis:min(31vw,112px);width:min(31vw,112px)}body[data-mobile-web=true] .topbar-search-results{min-width:min(82vw,320px);right:-52px}body[data-mobile-web=true] .nav-button,body[data-mobile-web=true] .topbar-auth-button{min-height:42px;padding:0 12px}body[data-mobile-web=true] .menu-trigger,body[data-mobile-web=true] .menu-close{border-radius:7px;width:42px;height:42px}body[data-mobile-web=true] .slide-menu{border-left:1px solid var(--line);gap:16px;width:86vw;max-width:360px;padding:16px}body[data-mobile-web=true] .slide-menu-brand{width:178px;height:54px}body[data-mobile-web=true] .slide-menu-nav{gap:14px}body[data-mobile-web=true] .slide-menu-subnav{padding-left:0}body[data-mobile-web=true] .app-main{width:100%;padding-top:74px}body[data-mobile-web=true] .workspace,body[data-mobile-web=true] .workspace:not(.narrow),body[data-mobile-web=true] .landing-auth-shell,body[data-mobile-web=true] .legal-disclaimer{width:100%;min-width:0;max-width:none;padding-left:14px;padding-right:14px}body[data-mobile-web=true] .workspace{padding-top:14px;padding-bottom:28px}body[data-mobile-web=true] .landing-auth-shell{padding-bottom:28px}body[data-mobile-web=true] .landing-page{overflow:hidden}body:has(.landing-page) .app-main{padding-top:0}@media screen and (max-width:900px){body:has(.landing-page) .topbar{height:74px;padding:10px 14px}body:has(.landing-page) .brand{width:178px;max-width:178px;height:54px}body:has(.landing-page) .landing-topbar-links{display:none}body:has(.landing-page) .nav{flex-shrink:0;gap:8px}:is(body:has(.landing-page) .nav-button,body:has(.landing-page) .topbar-auth-button){min-height:42px;padding:0 12px}body:has(.landing-page) .landing-hero{min-height:620px;padding:28px 18px 96px}body:has(.landing-page) .landing-hero-background{background:0 0}body:has(.landing-page) .landing-hero-background:after{background:linear-gradient(#02070bf0 0%,#02070b9e 44%,#02070b 100%)}body:has(.landing-page) .landing-hero-background-image{object-position:62% center}body:has(.landing-page) .landing-hero-content{gap:22px;max-width:360px}body:has(.landing-page) .landing-hero-wordmark{max-width:360px}body:has(.landing-page) .landing-hero-content p{font-size:20px}:is(body:has(.landing-page) .landing-hero-actions,body:has(.landing-page) .landing-trust-list){flex-direction:column;align-items:stretch}body:has(.landing-page) .landing-trust-list{gap:10px}:is(body:has(.landing-page) .landing-primary-cta,body:has(.landing-page) .landing-secondary-cta){width:100%;min-width:0}:is(body:has(.landing-page) .landing-feature-band,body:has(.landing-page) .landing-section-grid){grid-template-columns:1fr;max-width:none;margin-left:14px;margin-right:14px}body:has(.landing-page) .landing-feature-band{margin-top:-54px}body:has(.landing-page) .landing-pricing-grid{grid-template-columns:1fr}body:has(.landing-page) .public-seo-page{max-width:none;padding:34px 18px 28px}:is(body:has(.landing-page) .public-seo-grid,body:has(.landing-page) .public-seo-pricing-grid){grid-template-columns:1fr}body:has(.landing-page) .legal-disclaimer{padding:20px 18px 28px}}body[data-mobile-web=true] .landing-hero{min-height:620px;padding:28px 18px 96px}body[data-mobile-web=true] .landing-hero-background{background:0 0}body[data-mobile-web=true] .landing-hero-background:after{background:linear-gradient(#02070bf0 0%,#02070b9e 44%,#02070b 100%)}body[data-mobile-web=true] .landing-hero-background-image{object-position:62% center}body[data-mobile-web=true] .landing-hero-content{gap:22px;max-width:360px}body[data-mobile-web=true] .landing-hero-content h1{white-space:normal;font-size:52px}body[data-mobile-web=true] .landing-hero-wordmark{max-width:360px}body[data-mobile-web=true] .landing-hero-content p{font-size:20px}body[data-mobile-web=true] .landing-hero-actions,body[data-mobile-web=true] .landing-trust-list{flex-direction:column;align-items:stretch}body[data-mobile-web=true] .landing-trust-list{gap:10px}body[data-mobile-web=true] .landing-primary-cta,body[data-mobile-web=true] .landing-secondary-cta{width:100%;min-width:0}body[data-mobile-web=true] .landing-feature-band,body[data-mobile-web=true] .landing-section-grid{grid-template-columns:1fr;margin-left:14px;margin-right:14px}body[data-mobile-web=true] .landing-feature-band{margin-top:-54px}body[data-mobile-web=true] .landing-pricing-grid{grid-template-columns:1fr}body[data-mobile-web=true]:has(.landing-page) .legal-disclaimer{padding:20px 18px 28px}body[data-mobile-web=true] .public-landing-hero{height:160px}body[data-mobile-web=true] .public-landing-grid,body[data-mobile-web=true] .landing-feature-grid,body[data-mobile-web=true] .dashboard-vault-grid,body[data-mobile-web=true] .dashboard-command-center,body[data-mobile-web=true] .gm-tool-grid,body[data-mobile-web=true] .content-grid,body[data-mobile-web=true] .custom-template-layout-grid,body[data-mobile-web=true] .custom-template-section-grid,body[data-mobile-web=true] .session-editor-grid,body[data-mobile-web=true] .session-notes-controls,body[data-mobile-web=true] .session-note-card-header,body[data-mobile-web=true] .monster-filter-card,body[data-mobile-web=true] .campaign-picker-filter-card,body[data-mobile-web=true] .sheet-stat-grid,body[data-mobile-web=true] .sheet-ability-strip,body[data-mobile-web=true] .currency-grid{grid-template-columns:1fr}body[data-mobile-web=true] .dashboard-command-shell{min-height:0}body[data-mobile-web=true] .dashboard-search-panel,body[data-mobile-web=true] .dashboard-vault-shortcuts,body[data-mobile-web=true] .dashboard-notifications-panel,body[data-mobile-web=true] .dashboard-recent-panel{grid-area:auto/1}body[data-mobile-web=true] .public-auth-panel,body[data-mobile-web=true] .public-feature-card,body[data-mobile-web=true] .dashboard-vault-card{min-height:0}body[data-mobile-web=true] .public-feature-card,body[data-mobile-web=true] .dashboard-vault-card{grid-template-rows:auto 1fr;grid-template-columns:1fr}body[data-mobile-web=true] .public-feature-card{grid-template-rows:180px 1fr}body[data-mobile-web=true] .dashboard-vault-card .public-feature-image{border-bottom:1px solid var(--line);border-right:0}body[data-mobile-web=true] .dashboard-vault-card .public-feature-copy,body[data-mobile-web=true] .public-feature-copy{align-content:start;padding:18px}body[data-mobile-web=true] .dashboard-vault-card .public-feature-copy h2,body[data-mobile-web=true] .public-feature-copy h2,body[data-mobile-web=true] .toolbar h1,body[data-mobile-web=true] .auth-panel h1{font-size:26px}body[data-mobile-web=true] .dashboard-vault-card .public-feature-copy h3,body[data-mobile-web=true] .public-feature-copy h3{font-size:18px}body[data-mobile-web=true] .gm-vault-heading,body[data-mobile-web=true] .vault-heading,body[data-mobile-web=true] .vault-actions,body[data-mobile-web=true] .vault-picker-card,body[data-mobile-web=true] .vault-access-notice,body[data-mobile-web=true] .character-card,body[data-mobile-web=true] .campaign-card-link,body[data-mobile-web=true] .npc-card,body[data-mobile-web=true] .encounter-item-card,body[data-mobile-web=true] .sheet-heading,body[data-mobile-web=true] .editor-heading,body[data-mobile-web=true] .section-title-row{flex-direction:column;align-items:stretch}body[data-mobile-web=true] .vault-actions,body[data-mobile-web=true] .vault-card-actions,body[data-mobile-web=true] .sheet-actions,body[data-mobile-web=true] .confirm-modal-actions,body[data-mobile-web=true] .auth-actions{justify-content:stretch}body[data-mobile-web=true] .vault-actions>*,body[data-mobile-web=true] .vault-card-actions>*,body[data-mobile-web=true] .sheet-actions>*,body[data-mobile-web=true] .confirm-modal-actions>*,body[data-mobile-web=true] .auth-actions>*{width:100%}body[data-mobile-web=true] .vault-actions>.icon-button,body[data-mobile-web=true] .vault-actions>.disabled-icon-button{margin-top:0}body[data-mobile-web=true] .vault-system-control,body[data-mobile-web=true] .gm-campaign-form,body[data-mobile-web=true] .npc-card-actions,body[data-mobile-web=true] .monster-filter-card,body[data-mobile-web=true] .campaign-picker-system-card{width:100%;min-width:0}body[data-mobile-web=true] .vault-hero,body[data-mobile-web=true] .gm-vault-hero{background-position:50%;width:100%;height:180px;min-height:180px}body[data-mobile-web=true] .character-card,body[data-mobile-web=true] .editor-panel,body[data-mobile-web=true] .subscription-panel,body[data-mobile-web=true] .sheet-panel,body[data-mobile-web=true] .vault-status-card,body[data-mobile-web=true] .vault-access-notice,body[data-mobile-web=true] .monster-filter-card,body[data-mobile-web=true] .gm-campaign-form,body[data-mobile-web=true] .gm-tool-card{box-shadow:0 10px 26px color-mix(in srgb, var(--glow) 14%, transparent);border-radius:8px;grid-column:auto}body[data-mobile-web=true] .sheet-panel,body[data-mobile-web=true] .editor-panel{gap:14px;padding:16px 14px}body[data-mobile-web=true] .editor-section{padding:14px 10px}body[data-mobile-web=true] .custom-template-field,body[data-mobile-web=true] .custom-template-section,body[data-mobile-web=true] .custom-template-section-full,body[data-mobile-web=true] .custom-template-section-half,body[data-mobile-web=true] .custom-template-section-third,body[data-mobile-web=true] .custom-template-field-full,body[data-mobile-web=true] .custom-template-field-half,body[data-mobile-web=true] .custom-template-field-third{grid-column:1/-1}body[data-mobile-web=true] .sheet-value-card,body[data-mobile-web=true] .repeatable-display,body[data-mobile-web=true] .repeatable-editor,body[data-mobile-web=true] .template-builder-field{width:100%;min-width:0}body[data-mobile-web=true] .template-builder-field{grid-template-columns:1fr}body[data-mobile-web=true] .template-section-actions,body[data-mobile-web=true] .template-order-controls{flex-wrap:wrap}body[data-mobile-web=true] .repeatable-display__table-wrap,body[data-mobile-web=true] .numeric-skills-table-wrap,body[data-mobile-web=true] .pdf-layout-page-stack{overflow-x:auto}body[data-mobile-web=true] .pdf-layout-designer-body,body[data-mobile-web=true] .pdf-layout-designer-toolbar{grid-template-columns:1fr}body[data-mobile-web=true] .pdf-layout-side-panel{position:static}body[data-mobile-web=true] .pdf-layout-page{transform-origin:0 0}body[data-mobile-web=true] .modal-backdrop,body[data-mobile-web=true] .modal-backdrop-below-topbar{align-items:flex-end;padding:14px}body[data-mobile-web=true] .confirm-modal,body[data-mobile-web=true] .confirm-modal.encounter-preview-modal,body[data-mobile-web=true] .legal-modal{border-radius:8px;width:100%;max-width:none;max-height:88dvh}body[data-mobile-web=true] .legal-disclaimer{text-align:left;gap:10px;min-height:0;padding-top:16px;padding-bottom:16px;line-height:1.35;display:grid}body[data-mobile-web=true] .legal-disclaimer>span:first-child{max-width:none}.campaign-map-dashboard{gap:18px;display:grid}.campaign-map-create-panel,.campaign-handout-form{gap:12px;display:grid}.campaign-handout-panel label{color:var(--muted);gap:8px;font-size:13px;font-weight:700;display:grid}.campaign-handout-panel input,.campaign-handout-panel textarea{background:var(--field-bg);border:1px solid var(--line);box-sizing:border-box;color:var(--ink);border-radius:6px;width:100%;max-width:100%;padding:10px 12px}.campaign-handout-panel input:focus,.campaign-handout-panel textarea:focus{border-color:var(--focus);outline:1px solid var(--focus)}.campaign-handout-form{grid-template-columns:minmax(0,1fr) minmax(220px,.45fr)}.campaign-handout-file-input{opacity:0;height:1px;position:absolute;overflow:hidden;width:1px!important;padding:0!important}.campaign-handout-file-row{background:var(--field-bg);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;padding:6px 6px 6px 12px;display:grid}.campaign-handout-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.campaign-handout-selected-file{background:color-mix(in srgb, var(--panel) 92%, var(--accent) 8%);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.campaign-handout-selected-file span{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.campaign-handout-image-editor{background:color-mix(in srgb, var(--panel) 90%, transparent);border:1px solid var(--line);border-radius:8px;gap:12px;padding:14px;display:grid}.campaign-handout-image-editor p{color:var(--muted);margin:0}.campaign-handout-image-frame{background:linear-gradient(45deg, color-mix(in srgb, var(--ink) 7%, transparent) 25%, transparent 25%), linear-gradient(-45deg, color-mix(in srgb, var(--ink) 7%, transparent) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, color-mix(in srgb, var(--ink) 7%, transparent) 75%), linear-gradient(-45deg, transparent 75%, color-mix(in srgb, var(--ink) 7%, transparent) 75%), color-mix(in srgb, var(--field-bg) 80%, #000 20%);border:1px solid var(--line);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;border-radius:8px;place-items:center;min-height:260px;padding:14px;display:grid;position:relative;overflow:hidden}.campaign-handout-image-frame img{object-fit:contain;z-index:1;max-width:100%;max-height:240px;transition:transform .16s;display:block}.campaign-handout-image-frame.drawing{cursor:crosshair}.campaign-handout-crop-box{border:2px dashed var(--accent);pointer-events:auto;z-index:2;position:absolute;box-shadow:0 0 0 999px #03071257}.campaign-handout-draw-layer{pointer-events:none;z-index:3;position:absolute;inset:14px}.campaign-handout-text-overlay{border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);color:var(--text);overflow-wrap:anywhere;pointer-events:none;text-align:center;z-index:4;background:#030712a8;border-radius:6px;max-width:min(80%,520px);padding:8px 12px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.campaign-handout-image-tool-grid,.campaign-handout-crop-controls{align-items:end;gap:10px;display:grid}.campaign-handout-image-tool-grid{grid-template-columns:auto auto minmax(0,1fr)}.campaign-handout-crop-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.campaign-handout-image-actions{justify-content:flex-start}.campaign-handout-image-editor-modal{width:min(1120px,100vw - 32px);max-width:min(1120px,100vw - 32px);max-height:min(92vh,980px);overflow:auto}.campaign-handout-image-editor-header,.campaign-handout-image-editor-layout{gap:16px;display:grid}.campaign-handout-image-editor-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.campaign-handout-image-editor-layout{grid-template-columns:minmax(0,1fr) 320px}.campaign-handout-image-canvas{aspect-ratio:4/3;background:linear-gradient(45deg, color-mix(in srgb, var(--ink) 7%, transparent) 25%, transparent 25%), linear-gradient(-45deg, color-mix(in srgb, var(--ink) 7%, transparent) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, color-mix(in srgb, var(--ink) 7%, transparent) 75%), linear-gradient(-45deg, transparent 75%, color-mix(in srgb, var(--ink) 7%, transparent) 75%), color-mix(in srgb, var(--field-bg) 80%, #000 20%);border:1px solid var(--line);cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;border-radius:8px;place-items:center;min-height:360px;display:grid;position:relative;overflow:hidden}.campaign-handout-image-canvas.drawing{cursor:crosshair}.campaign-handout-image-stage{touch-action:none;max-width:100%;max-height:100%;display:inline-grid;position:relative}.campaign-handout-image-stage>img{-webkit-user-drag:none;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;grid-area:1/1;max-width:100%;max-height:100%;transition:transform .16s;display:block}.campaign-handout-image-stage .campaign-handout-draw-layer{grid-area:1/1;width:100%;height:100%;display:block;inset:0}.campaign-handout-crop-resize,.campaign-handout-text-resize{background:var(--accent);border:2px solid var(--panel);cursor:nwse-resize;border-radius:999px;width:16px;height:16px;padding:0;position:absolute;bottom:-8px;right:-8px}.campaign-handout-editor-text-box{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);cursor:grab;overflow-wrap:anywhere;text-shadow:0 2px 8px #000c;touch-action:none;-webkit-user-select:none;user-select:none;white-space:pre-wrap;z-index:4;background:#0307128f;border-radius:6px;align-items:center;min-width:96px;min-height:38px;padding:6px 8px;font-weight:900;line-height:1.15;display:flex;position:absolute;overflow:hidden}.campaign-handout-editor-text-box.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 28%, transparent)}.campaign-handout-image-tool-panel{align-content:start;gap:14px;display:grid}.campaign-handout-edit-card{gap:12px;display:grid}.campaign-handout-card-body{color:var(--muted);white-space:pre-wrap;max-height:5.2em;overflow:hidden}@media (max-width:760px){.campaign-handout-form,.campaign-handout-file-row,.campaign-handout-image-actions,.campaign-handout-image-tool-grid,.campaign-handout-crop-controls{grid-template-columns:1fr}.campaign-handout-image-actions{display:grid}.campaign-handout-selected-file{flex-direction:column;align-items:stretch}}.campaign-map-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.campaign-map-card{background:color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--border);color:inherit;border-radius:8px;gap:12px;padding:16px;text-decoration:none;display:grid}.campaign-map-card h2,.campaign-map-card h3{margin:0}.campaign-share-controls,.campaign-share-character-grid{gap:8px;display:grid}.campaign-share-character-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start}.campaign-share-controls .inline-check,.campaign-share-character-grid .inline-check{grid-template-columns:18px minmax(0,1fr);justify-content:start;align-items:start;gap:8px;display:grid}.map-editor-workspace{max-width:1600px}.map-editor-shell{grid-template-columns:280px minmax(0,1fr) 320px;gap:14px;min-height:72vh;display:grid}.map-tool-panel,.map-pin-panel,.map-canvas-card{background:color-mix(in srgb, var(--panel) 90%, transparent);border:1px solid var(--border);border-radius:8px;padding:14px}.map-tool-panel,.map-pin-panel{align-content:start;gap:12px;max-height:82vh;display:grid;overflow:auto}.map-panel-section{border-top:1px solid var(--border);gap:10px;padding-top:12px;display:grid}.map-panel-section:first-child{border-top:0;padding-top:0}.map-panel-section h2,.map-panel-section h3{margin:0}.map-tool-grid{gap:6px;display:grid}.map-tool-grid button,.map-upload-button{background:var(--field-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;justify-content:flex-start;align-items:center;gap:8px;padding:8px 10px;display:flex}.map-tool-grid kbd{background:color-mix(in srgb, var(--panel) 70%, #000 18%);border:1px solid var(--border);color:var(--muted);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:.68rem}.map-quick-actions{flex-wrap:wrap;gap:8px;display:flex}.map-tool-grid button.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent)}.map-canvas-card{padding:0;overflow:hidden}.map-canvas-toolbar{background:color-mix(in srgb, var(--panel) 94%, transparent);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px;font-weight:800;display:flex}.map-editor-svg,.map-player-svg{touch-action:none;background:#050712;width:100%;height:min(78vh,900px);display:block}.map-player-view{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px;overflow:hidden}.map-player-layout{grid-template-columns:minmax(0,1fr) 260px;gap:14px;display:grid}.map-pin circle{stroke:#fff8d7;stroke-width:2px}.map-pin.player-visible circle{fill:var(--accent)}.map-pin.selected circle{filter:drop-shadow(0 0 8px #ff4fd8);stroke:#ff4fd8;stroke-width:4px}.map-draft-preview{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 65%, transparent));pointer-events:none}.map-object-resize-outline{stroke:#ff4fd8;stroke-dasharray:10 7;stroke-width:2px}.map-object-resize-handle{cursor:nwse-resize;fill:#fff8d7;stroke:#ff4fd8;stroke-width:2px}.map-object-resize-handle[data-handle=n],.map-object-resize-handle[data-handle=s]{cursor:ns-resize}.map-object-resize-handle[data-handle=e],.map-object-resize-handle[data-handle=w]{cursor:ew-resize}.map-object-resize-handle[data-handle=ne],.map-object-resize-handle[data-handle=sw]{cursor:nesw-resize}.map-fog-preview,.map-fog-brush-preview{filter:drop-shadow(0 0 8px #fff8d7ad);pointer-events:none}.campaign-subnav{background:color-mix(in srgb, var(--panel) 94%, transparent);border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;padding:8px;display:flex;overflow-x:auto}.campaign-subnav a,.campaign-subnav button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;padding:7px 10px;font-size:.86rem;font-weight:800;text-decoration:none}.campaign-subnav a:hover,.campaign-subnav a.active,.campaign-subnav button:hover,.campaign-subnav button.active{background:var(--field-bg);border-color:var(--accent);color:var(--text)}.map-pin text{fill:#fff8d7;paint-order:stroke;pointer-events:none;stroke:#050712;stroke-width:5px;text-anchor:middle;font-size:28px;font-weight:800}.map-property-panel{gap:10px;display:grid}.map-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.map-layer-list,.map-asset-list{gap:8px;display:grid}.map-layer-row,.map-asset-row{background:var(--field-bg);border:1px solid var(--border);border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.map-layer-visibility-button{align-items:center;gap:6px;min-width:70px;display:inline-flex}.map-layer-row.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent)}.map-layer-row>button:not(.icon-button){color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;min-width:0;font-weight:800}.map-asset-row strong,.map-asset-row span{display:block}.map-asset-actions{justify-items:stretch;gap:6px;display:grid}.map-asset-row strong{overflow-wrap:anywhere}.map-asset-row span{color:var(--muted);font-size:.82rem}.map-grid-lines{pointer-events:none}.map-player-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.map-player-toolbar h2{margin:0}.map-player-pin-list{background:color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--border);border-radius:8px;gap:10px;padding:12px;display:grid}.map-player-pin-list article{background:var(--field-bg);border:1px solid var(--border);border-radius:6px;gap:2px;padding:10px;display:grid}.map-player-pin-list span{color:var(--muted);text-transform:capitalize;font-size:.82rem}.shared-handout-panel{gap:16px;display:grid}.shared-handout-body{white-space:pre-wrap}.shared-handout-image{border:1px solid var(--border);object-fit:contain;border-radius:8px;max-width:100%;max-height:78vh}.handout-asset-viewer-modal{width:min(1120px,100vw - 32px);max-width:min(1120px,100vw - 32px);max-height:min(92vh,980px);overflow:auto}.handout-asset-viewer-body{background:color-mix(in srgb, var(--field-bg) 80%, #000 20%);border:1px solid var(--line);border-radius:8px;place-items:center;min-height:min(64vh,640px);display:grid;overflow:hidden}.handout-asset-viewer-frame,.handout-asset-viewer-image{border:0;width:100%;max-width:100%;max-height:72vh;display:block}.handout-asset-viewer-frame{min-height:min(72vh,760px)}.handout-asset-viewer-fallback{align-content:center;justify-items:center;gap:12px;padding:20px;display:grid}.handout-asset-viewer-image{object-fit:contain;height:auto}@media (max-width:1100px){.map-editor-shell,.map-player-layout{grid-template-columns:1fr}.map-tool-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}