:root{--bg:#101116;--panel:#1a1c24;--panel-2:#22242e;--panel-3:#2a2d38;--border:#2c2f3a;--text:#e7e9ee;--muted:#9aa0ad;--faint:#6b7180;--accent:#7c5cff;--accent-weak:#2a2350;--danger:#e5484d;--rec:#ff5c5c;--success:#4caf7d;--warn:#d98a5c;--kind-pc:#7c5cff;--kind-npc:#ffcf5c;--kind-item:#5cc6ff;--kind-scene:#8fd98a;--kind-thread:#d98add;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-8:3rem;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:14px;--r-pill:999px;--fs-xs:.72rem;--fs-sm:.85rem;--fs-md:.95rem;--fs-lg:1.1rem;--fs-xl:1.4rem;--fs-2xl:1.9rem;--sh-1:0 1px 2px #0006;--sh-2:0 4px 16px #00000080;--sh-3:0 12px 40px #0009;--z-nav:50;--z-drawer:80;--z-modal:100;--z-toast:120;--dur-fast:.12s;--dur-med:.2s;--ease:cubic-bezier(.2, .6, .2, 1);--pane-w:340px;--header-h:60px;--bottom-nav-h:58px;--nav-w:240px;--nav-w-mini:64px;--content-max:1080px;--brand-fallback:"Papyrus", "Segoe Script", cursive}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,select{font:inherit;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:8px;padding:.45rem .8rem}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}a.primary{border:1px solid var(--accent);cursor:pointer;color:#fff;border-radius:8px;justify-content:center;align-items:center;padding:.45rem .8rem;display:inline-flex}button.danger{border-color:var(--danger);color:var(--danger);background:0 0}.session{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.session-embedded{height:100%}.app-content:has(>.session-embedded){padding:0;overflow:hidden}.session-controls{padding:var(--sp-2) var(--sp-4);background:var(--panel);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:1rem;display:flex}.session-controls>.header-controls{margin-left:auto}.session-header{height:var(--header-h);background:var(--panel);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:0 1rem;display:flex}.brand{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.brand-home{color:inherit;border-radius:8px;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.brand-home:hover{opacity:.85}.navigation-link{color:inherit;text-decoration:none}.brand-home:focus-visible{outline:2px solid var(--accent,#7c5cff);outline-offset:2px}.brand .app-name{font-size:2.2rem;line-height:1}.crumb-sep{color:var(--muted);opacity:.55;font-size:1.1rem;line-height:1}.crumb{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:20rem;font-size:.95rem;font-weight:600;overflow:hidden}.crumb-current{color:var(--text)}.crumb-link{background:0 0;border:none;border-radius:0;padding:0}.crumb-link:hover{color:var(--text)}button.crumb-current{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:0;padding:0}.crumbs{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.crumb-node{align-items:center;gap:var(--sp-2);min-width:0;display:inline-flex}.crumbs>.crumb-node{flex:0 auto;min-width:0}.crumb{min-width:0}.crumbs.expanded{flex-wrap:wrap}.crumbs.expanded .crumb{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;max-width:none;overflow:visible}.topbar-crumbs:has(.crumbs.expanded){overflow:visible}.app-topbar:has(.crumbs.expanded){height:auto;min-height:var(--header-h);padding-top:var(--sp-2);padding-bottom:var(--sp-2);align-items:flex-start}.crumb-link{cursor:pointer}.crumb-sep-wrap{align-items:center;display:inline-flex;position:relative}button.crumb-sep-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0 2px}button.crumb-sep-btn:hover,button.crumb-sep-btn.open{color:var(--text);opacity:1}.crumb-menu{background:var(--panel-3);border:1px solid var(--border);border-radius:var(--r-lg);min-width:11rem;max-height:60vh;box-shadow:var(--sh-2);z-index:var(--z-drawer);padding:var(--sp-1);position:absolute;top:calc(100% + 4px);left:50%;overflow-y:auto;transform:translate(-50%)}.crumb-menu-item{text-align:left;width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-sm);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;display:block;overflow:hidden}.crumb-menu-item:hover{background:var(--panel-2)}.crumb-menu-item.on{color:var(--accent);font-weight:600}.crumb-menu-note{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);display:block}.brand-mark{color:var(--accent);align-items:center;font-size:1.6rem;display:inline-flex}.app-logo{background-color:currentColor;flex:none;width:40px;height:40px;display:inline-block;-webkit-mask:url(/bardic-alt.png) 50%/contain no-repeat;mask:url(/bardic-alt.png) 50%/contain no-repeat}.app-logo-lg{width:72px;height:72px}.brand h1{margin:0;font-size:1.05rem;line-height:1.1}.app-name{font-family:"Jim Nightshade", var(--brand-fallback);letter-spacing:.02em;font-weight:400}h1.app-name{font-size:1.7rem;line-height:1}.landing h1.app-name{font-size:3.2rem}.brand-sub{color:var(--muted);font-size:.75rem}.header-controls{align-items:center;gap:.75rem;display:flex}.authbar{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.landing .authbar{justify-content:center}.authbar input[type=email]{border:1px solid var(--border,#33384a);color:inherit;font:inherit;background:0 0;border-radius:6px;width:12rem;min-width:0;max-width:100%;padding:.3rem .5rem}.authbar-user{text-overflow:ellipsis;white-space:nowrap;opacity:.9;max-width:12rem;overflow:hidden}.authbar-muted{opacity:.6}.persona{position:relative}.persona-pill{align-items:center;gap:var(--sp-2,.5rem);border:1px solid var(--border,#33384a);background:var(--panel-2,transparent);color:inherit;font:inherit;cursor:pointer;border-radius:999px;max-width:14rem;padding:3px 10px 3px 3px;display:inline-flex}.persona-pill:hover{background:var(--panel-3,var(--panel-2))}.persona-avatar{background:var(--accent,#6ea8fe);width:26px;height:26px;color:var(--accent-contrast,#fff);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.persona-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.persona-menu{background:var(--panel-3,#1c2030);border:1px solid var(--border,#33384a);border-radius:var(--r-lg,10px);min-width:12rem;box-shadow:var(--sh-2,0 8px 24px #0000004d);z-index:var(--z-drawer,40);padding:var(--sp-1,.25rem);position:absolute;top:calc(100% + 4px);right:0}.persona-email{padding:var(--sp-2,.5rem) var(--sp-3,.75rem);font-size:var(--fs-xs,.75rem);border-bottom:1px solid var(--border,#33384a);margin-bottom:var(--sp-1,.25rem);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.persona-signout{text-align:left;width:100%;padding:var(--sp-2,.5rem) var(--sp-3,.75rem);color:inherit;font:inherit;border-radius:var(--r-sm,6px);cursor:pointer;background:0 0;border:none;display:block}.persona-signout:hover{background:var(--panel-2,#ffffff0f)}.persona-menu-link{text-align:left;width:100%;padding:var(--sp-2,.5rem) var(--sp-3,.75rem);color:inherit;border-radius:var(--r-sm,6px);cursor:pointer;text-decoration:none;display:block}.persona-menu-link:hover{background:var(--panel-2,#ffffff0f)}.authbar-err{color:var(--danger,#e5534b)}.model-loader,.rec-controls{align-items:center;gap:.5rem;display:flex}.model-menu{display:inline-flex;position:relative}.model-menu-btn{justify-content:center;align-items:center;display:inline-flex}.model-menu-panel{z-index:40;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:.5rem;min-width:220px;padding:.7rem;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000059}.model-menu-label{color:var(--muted);font-size:.78rem}.model-menu-ok{color:var(--success);font-size:.78rem}.rec-indicator{color:var(--rec);letter-spacing:.05em;font-weight:700;animation:1.4s ease-in-out infinite blink}.paused-indicator{color:var(--muted);font-weight:600}@keyframes blink{50%{opacity:.3}}.mini-meter{background:var(--panel-2);border-radius:4px;width:70px;height:8px;overflow:hidden}.mini-meter-fill{background:linear-gradient(90deg, #3ecf8e, #e5c04b, var(--rec));height:100%;transition:width 80ms linear}.vad{align-items:center;gap:.5rem;display:flex}.vad-label{color:var(--muted);font-variant-numeric:tabular-nums;min-width:6.5rem;font-size:.75rem}.vad-label.on{color:#3ecf8e;font-weight:600}.error{border-bottom:1px solid var(--danger);color:#ffb4b4;background:#3a1d1f;padding:.6rem 1rem;font-size:.9rem}.session-body{flex:auto;min-height:0;display:flex;overflow:hidden}.stage-wrap{flex:auto;min-width:0;padding:1rem;display:flex}.stage{background:var(--panel);border:1px solid var(--border);border-radius:16px;flex-direction:row;flex:1;align-items:stretch;display:flex;position:relative;overflow:hidden}.stage-viewport{flex-direction:column;flex:auto;min-width:0;display:flex;position:relative;overflow:hidden}.stage-empty{text-align:center;justify-content:center;align-items:center}.stage-empty-inner{max-width:380px;color:var(--muted)}.stage-empty-icon{color:var(--accent);opacity:.85;margin-bottom:.5rem;font-size:3rem}.stage-empty h2{color:var(--text);margin:0 0 .5rem}.slide{background:#0b0b0f;flex:1;align-items:flex-end;display:flex;position:relative;overflow:hidden}.slide-bg{z-index:0;background-position:50%;background-size:cover;position:absolute;inset:0}.slide-bg-blur{filter:blur(28px)brightness(.5);transform:scale(1.12)}.slide-img{object-fit:contain;z-index:1;max-width:100%;max-height:100%;margin:auto;position:absolute;inset:0}.slide-generating{z-index:2;color:#fff;background:#00000080;border-radius:999px;padding:.3rem .7rem;font-size:.75rem;position:absolute;top:1rem;right:1rem}.slide-failed{background:#b42828b8}.slide-regen{z-index:3;color:#fff;cursor:pointer;background:#00000080;border:1px solid #ffffff40;border-radius:999px;padding:.3rem .7rem;font-size:.75rem;transition:background .15s;position:absolute;bottom:1rem;right:1rem}.slide-regen:hover{background:#000000b8}.session-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.session-row{cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.7rem .9rem;transition:background .15s,border-color .15s;display:flex}.session-row:hover{background:#ffffff0f;border-color:#ffffff2e}.session-row-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.session-row-title{font-weight:600}.session-row-date{opacity:.6;font-size:.8rem}.session-badge{text-transform:uppercase;letter-spacing:.04em;background:#ffffff1a;border-radius:999px;flex:none;padding:.2rem .55rem;font-size:.7rem}.session-badge.session-live{color:#3ecf8e;background:#3ecf8e38}.session-badge.session-ended{opacity:.75;background:#ffffff1a}.live-pill{z-index:2;letter-spacing:.02em;color:#fff;background:#0000008c;border:none;border-radius:999px;padding:.35rem .8rem;font-size:.78rem;font-weight:700;position:absolute;top:1rem;left:1rem}.live-pill.live-on{background:var(--rec);color:#fff}.live-pill.live-on:disabled{opacity:1;cursor:default}.slide-meta{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.slide-counter{font-variant-numeric:tabular-nums;color:#d8d8e2;font-size:.75rem}.slide-overlay{z-index:2;color:#fff;background:linear-gradient(#0000,#000000bf);width:100%;padding:2rem 1.5rem 1.5rem;position:relative}.slide-ts{font-variant-numeric:tabular-nums;background:#00000073;border-radius:6px;margin-bottom:.4rem;padding:.15rem .5rem;font-size:.8rem;display:inline-block}.slide-title{margin:0 0 .3rem;font-size:1.6rem}.slide-caption{color:#e9e9f0;max-width:60ch;margin:0;font-size:.95rem;line-height:1.4}.slide-cat{cursor:default;background:#00000073;border-radius:8px;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-size:1rem;line-height:1;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff1f}.slide-lead{color:#fff;font-size:1.15rem;font-weight:600;line-height:1.35}.stage-nav{width:46px;color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-self:stretch;align-items:center;font-size:1.9rem;line-height:1;transition:color .15s,background .15s;display:flex}.stage-nav:hover{color:var(--text);background:var(--panel-2)}.stage-nav:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.slide-dots{gap:.4rem;display:flex;position:absolute;bottom:.6rem;left:50%;transform:translate(-50%)}.slide-dots .dot{background:#fff6;border:none;border-radius:50%;width:8px;height:8px;padding:0}.slide-dots .dot.active{background:#fff}.sidepane{flex:0 0 var(--pane-w);width:var(--pane-w);border-left:1px solid var(--border);background:var(--panel);flex-direction:row;min-height:0;display:flex}.sidepane-main{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.sidepane-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.sidepane-head h2{margin:0;font-size:1rem}.sidepane-actions{gap:.35rem;display:flex}.icon-btn{background:var(--panel-2);padding:.25rem .5rem}.sidepane-toolbar{border-bottom:1px solid var(--border);flex-direction:column;gap:.5rem;padding:.6rem 1rem;display:flex}.sidepane-toolbar .transcript-search{width:100%;min-width:0}.mark-btn{border-color:var(--accent);width:100%;color:var(--accent);background:0 0;font-weight:600}.sidepane .empty{color:var(--muted);padding:1rem;font-size:.9rem}.sidepane-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;margin:0;padding:.5rem 1rem 1rem;list-style:none;overflow-y:auto}.sidepane-list::-webkit-scrollbar{width:10px}.sidepane-list::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--panel);border-radius:6px}.sidepane-list::-webkit-scrollbar-thumb:hover{background:#3a3e4b}.sidepane-list li{border-bottom:1px solid var(--border);gap:.6rem;padding:.4rem 0;display:flex}.sidepane-list li.pending .text{color:var(--muted);font-style:italic}.sidepane-list .ts{color:var(--accent);font-variant-numeric:tabular-nums;min-width:2.6rem;padding-top:.15rem;font-size:.75rem}.sidepane-list .text{font-size:.9rem;line-height:1.5}.pane-reopen{border:none;border-left:1px solid var(--border);background:var(--panel);color:var(--muted);writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.05em;border-radius:0;flex:none;align-self:stretch;padding:1rem .4rem;font-size:.85rem}.pane-reopen:hover{color:var(--text)}@media (width<=640px){:root{--pane-w:100%}.session-body{flex-direction:column}.sidepane{border-left:none;border-top:1px solid var(--border);max-height:45%}}.screen{flex-direction:column;min-height:100%;display:flex}.screen.center{justify-content:center;align-items:center}.field{margin:0 0 .9rem}.field label{color:var(--muted);margin:0 0 .3rem;font-size:.85rem;display:block}.field input[type=text],.field input[type=number],.field input[type=email],.field textarea{background:var(--panel-2);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;resize:vertical;border-radius:8px;padding:.5rem .65rem}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .9rem;display:grid}@media (width<=520px){.field-grid{grid-template-columns:1fr}}.field-grid.attr-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 .6rem}.field-grid.main-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:0 .9rem}.field-grid.attr-grid .field input{text-align:center}.stat-pills{flex-wrap:wrap;place-content:flex-start center;gap:.3rem;min-height:1.9rem;display:flex}.stat-pills .chip-btn{text-align:center;min-width:2.2rem;padding:.2rem .5rem}.stat-pills-empty{align-self:center}@media (width<=520px){.field-grid.attr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-array-picker{margin:.1rem 0 .5rem}.stat-array-picker>.field-hint{margin-bottom:.4rem}.stat-array-options{flex-wrap:wrap;gap:.5rem;display:flex}.stat-array-btn{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:8px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.4rem .7rem;display:flex}.stat-array-btn:hover{border-color:var(--accent)}.stat-array-ref{cursor:default;opacity:.72}.stat-array-ref:hover{border-color:var(--border)}.stat-array-ref.active{opacity:1;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.stat-array-name{font-size:.85rem;font-weight:600}.stat-array-vals{font-variant-numeric:tabular-nums;font-size:.78rem}.stat-array-status{margin:.45rem 0 0;font-size:.8rem}.stat-array-status.ok{color:var(--ok,#3fae6b)}.stat-array-status.warn{color:var(--warn,#c9922e)}.stat-clear{margin-top:.15rem;font-size:.78rem}.char-danger-row{justify-content:flex-start;align-items:center;gap:.75rem;margin-top:.5rem}.name-row{flex-wrap:wrap;align-items:flex-start;gap:.75rem;display:flex}.name-row .name-field{flex:16rem;min-width:12rem}.name-row .pronouns-field{flex:0 11rem;min-width:8rem}.name-row .pronouns-field label{font-size:.82rem}.name-row .pronouns-field input,.name-row .pronouns-field select{font-size:.85rem}@media (width<=520px){.name-row{flex-direction:column}.name-row .name-field,.name-row .pronouns-field{flex:auto;width:100%}}.creation-level-field select{max-width:12rem}.creation-levels{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.creation-levels-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.creation-level{border:1px solid var(--border,#33384a);background:var(--surface-2,#ffffff05);border-radius:8px;padding:.65rem .8rem}.creation-level-head{margin-bottom:.4rem;font-size:.9rem;font-weight:600}.codex-chip{cursor:pointer}.stat-bump-plus,.stat-bump-total{color:var(--muted,#8a90a2);align-self:center;font-size:.8rem}.stat-bump-total strong{color:var(--ok,#3fae6b)}.stat-pills .chip.stat-bump-pill{text-align:center;border-color:var(--ok,#3fae6b);min-width:2.2rem;color:var(--ok,#3fae6b);background:color-mix(in srgb, var(--ok,#3fae6b) 14%, transparent);font-variant-numeric:tabular-nums;padding:.2rem .5rem}.field-hint{margin:.15rem 0 0;font-size:.78rem}.codex-options+.codex-options{margin-top:1rem}.codex-options h3{margin:0 0 .5rem}.codex-options .entry-row:disabled{cursor:default;opacity:1}.help-hint{vertical-align:middle;margin-left:.4rem;display:inline-flex;position:relative}.help-hint-trigger{border:1px solid var(--border);background:var(--panel-3);width:1.05rem;height:1.05rem;color:var(--muted);cursor:help;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.help-hint-trigger:hover,.help-hint-trigger:focus-visible{color:var(--text);border-color:var(--accent);background:var(--accent-weak)}.help-hint-popover{z-index:1000;border:1px solid var(--border);background:var(--panel-2);width:max-content;max-width:260px;color:var(--text);text-align:left;white-space:normal;pointer-events:none;border-radius:8px;padding:.55rem .7rem;font-size:.8rem;font-weight:400;line-height:1.35;position:fixed;transform:translate(-50%,-100%);box-shadow:0 8px 24px #00000073}.help-hint-popover.interactive{pointer-events:auto}.help-hint-link{color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:0;margin-top:.5rem;padding:0;font-size:.8rem;font-weight:600;display:block}.help-hint-link:hover{text-decoration:underline}.help-hint-popover:after{content:"";border:6px solid #0000;border-top-color:var(--border);position:absolute;top:100%;left:50%;transform:translate(-50%)}.settings-danger{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.9rem}.style-presets{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.style-chip{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:999px;padding:.25rem .55rem;font-size:.78rem}.style-chip:hover{border-color:var(--accent);color:var(--text)}.test-image{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.9rem}.test-image-result{margin-top:.7rem}.test-image-img{aspect-ratio:1;object-fit:cover;border:1px solid var(--border);border-radius:10px;width:100%;max-width:420px;margin-bottom:.6rem;display:block}.session-view{height:100dvh;min-height:0;overflow:hidden}.screen-header{height:var(--header-h);border-bottom:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:center;padding:0 1rem;display:flex}.screen-body{flex-direction:column;flex:1;gap:1.25rem;width:100%;max-width:780px;margin:0 auto;padding:1.5rem 1rem;display:flex}.landing{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.brand-mark.big{font-size:3rem}.back-btn{margin-right:.5rem;padding:.2rem .6rem;font-size:1.1rem;line-height:1}.title-edit{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:6px;padding:.2rem .4rem;font-size:1.2rem;font-weight:600}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.tab-bar{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:.25rem;display:flex;overflow-x:auto}.tab-btn{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.55rem .9rem;font-weight:600}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--text);border-bottom-color:var(--accent)}.card h2{margin:0 0 .75rem;font-size:1.05rem}.card .row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.card input[type=text],.card input[type=email]{border:1px solid var(--border);background:var(--panel-2);min-width:12rem;color:var(--text);font:inherit;border-radius:8px;flex:1;padding:.45rem .6rem}.muted{color:var(--muted)}.campaign-list,.member-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.campaign-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.campaign-card:hover{border-color:var(--accent)}.campaign-card .campaign-row{background:0 0;border:none;border-radius:0}.campaign-card .campaign-row:hover{border:none}.campaign-links{flex-wrap:wrap;gap:.4rem;padding:0 .9rem .7rem 3.2rem;display:flex}.campaign-link{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.25rem .6rem;font-size:.8rem}.campaign-link:hover{border-color:var(--accent);color:var(--text)}.campaign-link.accent{color:var(--text);border-color:var(--accent)}.campaign-row{background:var(--panel-2);border:1px solid var(--border);text-align:left;border-radius:10px;align-items:center;gap:.7rem;width:100%;padding:.7rem .9rem;display:flex}.campaign-row:hover{border-color:var(--accent)}.campaign-thumb{object-fit:cover;border:1px solid var(--border);border-radius:8px;flex:none;width:40px;height:40px}.campaign-thumb-empty{background:var(--panel);justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.campaign-name{flex:1;font-weight:600}.name-edit-row{align-items:center;gap:.6rem}.campaign-name-lg{flex:1;font-size:1.3rem;font-weight:600}.name-edit-row .title-edit{flex:1}.member-row{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .7rem;display:flex}.member-name{align-items:center;gap:.5rem;display:flex}.member-controls{align-items:center;gap:.4rem;display:flex}.invite-row{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.role-badge{text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.15rem .5rem;font-size:.72rem}.role-badge.role-owner{color:#ffcf5c;border-color:#6b5a2a}.role-badge.role-player{color:#7c5cff;border-color:#443a7a}.pending-badge{color:var(--muted);border:1px dashed var(--border);border-radius:999px;padding:.1rem .45rem;font-size:.7rem}.scene-indicator{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:10px;max-width:520px;padding:4px 10px;font-size:12px;display:flex;overflow:hidden}.scene-mode{color:var(--text);text-transform:capitalize;align-items:center;gap:4px;font-weight:600;display:inline-flex}.scene-mode-icon{font-size:13px}.scene-loc{white-space:nowrap}.scene-tension{gap:3px;display:inline-flex}.tdot{background:var(--border);border-radius:50%;width:6px;height:6px}.tdot.on{background:var(--rec)}.scene-beat{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-style:italic;overflow:hidden}.recap-overlay{z-index:50;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.recap{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:min(680px,100%);max-height:84vh;padding:20px 24px;overflow-y:auto}.recap-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.recap-header h2{margin:0;font-size:18px}.recap-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:18px}.recap-loading{color:var(--muted)}.recap-summary{margin:0 0 16px;line-height:1.5}.recap-sections{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.recap-section{gap:10px;display:flex}.recap-kind{font-size:15px;line-height:1.4}.recap-section-body{flex:1}.recap-section-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.recap-section-title{font-weight:600}.recap-section-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.recap-synopsis{color:var(--muted);margin:2px 0 0;font-size:14px;line-height:1.45}.recap-outcomes{flex-direction:column;gap:2px;margin:6px 0 0;padding-left:18px;display:flex}.recap-outcomes li{color:var(--muted);font-size:13px;line-height:1.4}.session-item{align-items:stretch;gap:.4rem;display:flex}.session-item .session-row{flex:1;min-width:0}.session-del{flex:none;align-self:stretch;padding:0 .7rem}.session-resume{white-space:nowrap;flex:none;align-self:stretch}.resume-note{color:#cdeede;background:#3ecf8e1f;border:1px solid #3ecf8e59;border-radius:8px;margin:.5rem 1rem 0;padding:.55rem .85rem;font-size:.9rem}.resume-hint{color:var(--text);white-space:nowrap;align-items:center;gap:5px;font-size:.85rem;display:inline-flex}.resume-hint-icon{color:var(--accent);flex:none}.modal-overlay{z-index:50;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.model-modal{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:10px;min-width:220px;padding:24px 32px;display:flex}.model-modal-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite model-modal-spin}@keyframes model-modal-spin{to{transform:rotate(360deg)}}.model-modal-title{font-weight:600}.model-modal-sub{color:var(--muted);font-size:.8rem}.transcript-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(820px,100%);max-height:86vh;display:flex;overflow:hidden}.transcript-modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.transcript-modal-head h2{margin:0;font-size:18px}.transcript-modal-head .row{align-items:center;gap:.4rem}.transcript-search{border:1px solid var(--border);min-width:220px;color:inherit;background:#ffffff0a;border-radius:8px;padding:.4rem .6rem}.transcript-modal-body{flex-direction:column;gap:10px;padding:16px 20px;display:flex;overflow-y:auto}.transcript-line{gap:12px;margin:0;line-height:1.5;display:flex}.transcript-line .ts{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;padding-top:1px;font-size:13px}.transcript-line .text{flex:1}.scene-highlights{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:.85rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.scene-hl-empty{flex-direction:column;align-items:flex-start;gap:.6rem;display:flex}.scene-hl-empty p{margin:0}.scene-hl{scroll-snap-align:start;border:1px solid var(--border);background:var(--panel,#ffffff05);border-radius:10px;flex:0 0 240px;margin:0;overflow:hidden}.scene-hl-art{aspect-ratio:16/10;background-position:50%;background-size:cover;position:relative}.scene-hl-status{color:#fff;background:#0009;border-radius:6px;margin:.4rem;padding:.1rem .4rem;font-size:12px;position:absolute;bottom:0;left:0}.scene-hl-cap{flex-direction:column;gap:.2rem;padding:.5rem .6rem;display:flex}.scene-hl-meta{font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;font-size:13px;display:flex}.scene-hl-text-wrap{flex-direction:column;align-items:flex-start;gap:.1rem;display:flex}.scene-hl-text{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.scene-hl-more{color:var(--accent,#8ab4f8);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px;font-weight:600}.scene-hl-more:hover{text-decoration:underline}.hl-inline{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.scene-hl-expand{color:#fff;cursor:pointer;opacity:0;background:#0000008c;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;transition:opacity .12s,background .12s;display:flex;position:absolute;top:.4rem;right:.4rem}.scene-hl:hover .scene-hl-expand,.scene-hl-expand:focus-visible{opacity:1}.scene-hl-expand:hover{background:#000c}.hl-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(720px,100%);max-height:90vh;display:flex;position:relative;overflow:hidden}.hl-modal-art{aspect-ratio:16/10;background-position:50%;background-size:cover;background-color:var(--panel-2);width:100%;position:relative}.hl-modal-cap{flex-direction:column;gap:.5rem;padding:14px 18px 18px;display:flex;overflow-y:auto}.hl-modal-meta{align-items:center;gap:.45rem;font-size:14px;display:flex}.hl-modal-type{font-weight:600}.hl-modal-text{margin:0;line-height:1.5}.hl-modal-actions{gap:.5rem;margin-top:.25rem;display:flex}.hl-modal-close{z-index:1;color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:flex;position:absolute;top:.5rem;right:.5rem}.hl-modal-close:hover{background:#000c}.edit-form{flex-direction:column;gap:.7rem;width:100%;display:flex}.edit-field{flex-direction:column;flex:1;gap:.25rem;display:flex}.edit-label{font-size:var(--fs-sm)}.edit-input{border:1px solid var(--border);background:var(--panel-2);color:var(--text);font:inherit;border-radius:8px;width:100%;padding:.45rem .6rem}.edit-input:focus{border-color:var(--accent);outline:none}textarea.edit-input{resize:vertical;min-height:3rem;line-height:1.5}.edit-row{flex-wrap:wrap;gap:.7rem;display:flex}.edit-check{align-items:center;gap:.5rem;font-size:14px;display:flex}.edit-actions{gap:.5rem;margin-top:.15rem}.char-edit .char-hero-main{width:100%}.edit-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(560px,100%);max-height:90vh;padding:1.1rem 1.3rem 1.3rem;display:flex;position:relative;overflow-y:auto}.edit-modal-head{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.edit-modal-head h3{margin:0}.edit-modal .edit-modal-head .hl-modal-close{position:static}.scene-transcript{flex-direction:column;gap:.5rem;display:flex}.scene-transcript-search{width:100%;margin-bottom:.75rem;display:block}.timeline{flex-direction:column;gap:.9rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.timeline-session-group{flex-direction:column;gap:.9rem;display:flex}.timeline-scenes{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.timeline-session{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;margin:0;list-style:none;display:flex}.timeline-session::-webkit-details-marker{display:none}.timeline-caret{color:var(--muted);transition:transform var(--dur-fast,.12s) ease;flex:none;font-size:.7rem}.timeline-session-group[open]>.timeline-session .timeline-caret{transform:rotate(90deg)}.timeline-session-dot{background:var(--accent);width:.7rem;height:.7rem;box-shadow:0 0 0 4px var(--bg);border-radius:50%;flex:none;margin-left:.75rem}.timeline-session-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem;font-weight:600}.timeline-session-count{color:var(--muted);margin-left:auto;font-size:.7rem}.timeline-item{grid-template-columns:2.25rem 1fr;gap:.75rem;display:grid;position:relative}.timeline-item:before{content:"";background:var(--border);width:2px;position:absolute;top:-.9rem;bottom:-.9rem;left:1.05rem}.timeline-node{z-index:1;background:var(--panel-2);border:2px solid var(--border);border-radius:50%;justify-content:center;align-self:start;align-items:center;width:2.25rem;height:2.25rem;margin-top:.35rem;font-size:1.1rem;display:flex;position:relative}.timeline-card{text-align:left;background:var(--panel-2);border:1px solid var(--border);cursor:pointer;width:100%;color:inherit;transition:border-color var(--dur-fast,.12s) ease, transform var(--dur-fast,.12s) ease;border-radius:12px;gap:0;padding:0;display:flex;overflow:hidden}.timeline-card:hover{border-color:var(--accent);transform:translateY(-1px)}.tl-art{background-position:50%;background-size:cover;flex:0 0 150px;align-self:stretch;min-height:118px;position:relative}.tl-art-ph{justify-content:center;align-items:center;display:flex}.tl-art-icon{filter:drop-shadow(0 1px 3px #0000008c);font-size:2.2rem}.tl-body{flex-direction:column;flex:1;gap:.3rem;min-width:0;padding:.7rem .9rem;display:flex}.tl-head{align-items:center;gap:.5rem;display:flex}.tl-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.tl-title{font-size:1rem;font-weight:600;line-height:1.25}.tl-summary{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.4;display:-webkit-box;overflow:hidden}.tl-chips{flex-wrap:wrap;gap:.3rem;margin-top:.15rem;display:flex}.tl-chip-place{color:var(--kind-item,#5cc6ff)}.appearance-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin:0;padding:0 0 0 1.5rem;list-style:none;display:grid}.atile{min-width:0}.atile-card{text-align:left;width:100%;color:inherit;background:var(--panel-2);border:1px solid var(--border);cursor:pointer;transition:border-color var(--dur-fast,.12s) ease, transform var(--dur-fast,.12s) ease;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.atile-card:hover{border-color:var(--accent);transform:translateY(-1px)}.atile-card.static{cursor:default}.atile-art{aspect-ratio:16/9;background-position:50%;background-size:cover}.atile-art-ph{justify-content:center;align-items:center;display:flex}.atile-art-icon{filter:drop-shadow(0 1px 3px #0000008c);font-size:1.6rem}.atile-body{flex-direction:column;gap:.3rem;min-width:0;padding:.45rem .55rem;display:flex}.atile-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.atile-badges{flex-wrap:wrap;gap:.25rem;display:flex}.filter-date{background:var(--panel-2);border:1px solid var(--border);color:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;padding:.4rem .5rem}.view-switch{gap:.25rem;display:inline-flex}@media (width<=560px){.timeline-card{flex-direction:column}.tl-art{aspect-ratio:16/9;flex-basis:auto;width:100%;min-height:0}}.library-nav{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;display:grid}.library-nav-btn{background:var(--panel-2);border:1px solid var(--border);text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.8rem .9rem;display:flex}.library-nav-btn:hover{border-color:var(--accent)}.library-nav-icon{font-size:1.4rem}.library-nav-label{font-weight:600}.library-nav-sub{font-size:.75rem}.library-tabs{border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap;justify-content:center;gap:.4rem;padding:.6rem 1rem 0;display:flex}.library-tab{color:var(--muted);background:0 0;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;padding:.5rem .9rem}.library-tab.on{color:var(--text);background:var(--panel-2);border-color:var(--border);font-weight:600}.browser{flex-direction:column;gap:.75rem;display:flex}.filter-bar{z-index:1;flex-wrap:wrap;align-items:center;gap:.5rem;padding-bottom:.25rem;display:flex;position:sticky;top:0}.filter-search{border:1px solid var(--border);background:var(--panel-2);min-width:10rem;color:var(--text);font:inherit;border-radius:8px;flex:12rem;padding:.45rem .6rem}.filter-bar select{max-width:12rem}.filter-sort{align-items:center;gap:.4rem;display:inline-flex}.filter-sort-label{font-size:var(--fs-sm);white-space:nowrap}.sort-arrow{opacity:.85;margin-left:.3rem;font-size:.85em}.filters-inline{display:contents}.filters-compact{display:none}.filter-menu,.filter-select{display:inline-flex;position:relative}.filter-select-btn{border:1px solid var(--border);background:var(--panel-2);max-width:12rem;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:.4rem;padding:.4rem .6rem;display:inline-flex}.filter-select-btn:disabled{opacity:.5;cursor:default}.filter-select-btn.open{border-color:var(--accent)}.filter-select-cur{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;display:inline-flex;overflow:hidden}.filter-select-caret{opacity:.7;flex:none;font-size:.8em}.filter-select-pop{z-index:30;background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.1rem;min-width:12rem;max-height:60vh;padding:.3rem;display:flex;position:absolute;top:calc(100% + .3rem);left:0;overflow-y:auto;box-shadow:0 8px 24px #00000059}.filter-select-pop .filter-menu-opt{justify-content:flex-start}.filter-opt-label{align-items:center;gap:.4rem;display:inline-flex}.filter-menu-btn{border:1px solid var(--border);background:var(--panel-2);color:var(--text);font:inherit;border-radius:8px;align-items:center;gap:.35rem;padding:.4rem .7rem;display:inline-flex}.filter-menu-btn.open{border-color:var(--accent)}.filter-menu-badge{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:1.15rem;padding:0 .3rem;font-size:.72rem;font-weight:600}.filter-menu-pop{z-index:30;background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.1rem;min-width:12rem;max-height:60vh;padding:.3rem;display:flex;position:absolute;top:calc(100% + .3rem);left:0;overflow-y:auto;box-shadow:0 8px 24px #00000059}.filter-menu-row,.filter-menu-opt,.filter-menu-back{width:100%;color:var(--text);font:inherit;text-align:left;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.filter-menu-row:hover,.filter-menu-opt:hover,.filter-menu-back:hover{background:var(--panel-2)}.filter-menu-row:disabled{opacity:.4}.filter-menu-opt.on{color:var(--accent);font-weight:600}.filter-menu-back{color:var(--muted);border-bottom:1px solid var(--border);border-radius:0;margin-bottom:.15rem}.filter-menu-cur{color:var(--muted);align-items:center;gap:.3rem;font-size:.82rem;display:inline-flex}.filter-menu-date{align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.filter-chip{border:1px solid var(--accent);background:var(--panel-2);color:var(--text);font:inherit;border-radius:999px;align-items:center;gap:.3rem;padding:.35rem .55rem;font-size:.82rem;display:inline-flex}.filter-chip-label{color:var(--muted)}.filter-chip-x{color:var(--muted);font-size:.75rem}@media (width<=639px){.filters-inline{display:none}.filters-compact{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}}.toggle.on{border-color:var(--accent);color:var(--text)}.link-btn{color:var(--accent);background:0 0;border:none;padding:.3rem .4rem}.link-btn:hover{text-decoration:underline}.seg{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.seg-btn{background:var(--panel-2);color:var(--muted);border:none;border-radius:0}.seg-btn.on{background:var(--accent);color:#fff;font-weight:600}.result-count{margin:0;font-size:.78rem}.codex-pills{flex-wrap:wrap;gap:.4rem;margin:0 0 .6rem;display:flex}.codex-pill{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.8rem;display:inline-flex}.codex-pill:hover{border-color:var(--accent);color:var(--text)}.codex-pill.on{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.codex-pill-count{opacity:.7;font-size:.72rem}.codex-pill.on .codex-pill-count{opacity:.85}.codex-facets{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .7rem;padding-left:.1rem;display:flex}.codex-facet-label{color:var(--muted);margin-right:.15rem;font-size:.75rem;font-weight:600}.codex-pill.sm{padding:.2rem .55rem;font-size:.75rem}.entry-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.entry{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.entry-row{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:0;align-items:center;gap:.7rem;padding:.6rem .8rem;display:flex}.entry-row.static{cursor:default}.entry-row:hover{background:var(--panel-2)}.entry-icon{flex:none;font-size:1.25rem}.entry-main{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.entry-title{flex-wrap:wrap;align-items:center;gap:.4rem;font-weight:600;display:flex}.entry-sub{flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.78rem;display:flex}.entry-note{font-size:.78rem;font-style:italic}.entry-chevron{color:var(--muted);flex:none}.entry-detail{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding:.2rem .8rem .8rem 2.75rem;display:flex}.entry-detail p{margin:.5rem 0 0}.ruleset-detail{border-top:1px solid var(--border);flex-direction:column;gap:.4rem;padding:.2rem .8rem .8rem 2.75rem;display:flex}.ruleset-raw{background:var(--panel-2);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;color:var(--text);border-radius:8px;max-height:26rem;margin:.3rem 0 0;padding:.6rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.45;overflow:auto}.ruleset-source{opacity:.75}.codex-detail>.codex-section{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.6rem;padding:1rem 1.1rem;display:flex}.codex-section h3{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.72rem;font-weight:600}.codex-prose{margin:0;line-height:1.55}.codex-aliases{margin:0}.codex-stats{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.75rem;padding:.75rem .9rem;display:grid}.codex-stat{flex-direction:column;gap:.15rem;display:flex}.codex-stat-label{text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.codex-stat-value{font-weight:600}.codex-defs{flex-direction:column;gap:.55rem;margin:0;display:flex}.codex-def{flex-direction:column;gap:.1rem;display:flex}.codex-def dt{font-weight:600}.codex-def dd{color:var(--text);margin:0;line-height:1.5}.codex-levels{flex-direction:column;gap:.9rem;display:flex}.codex-level{flex-direction:column;gap:.4rem;display:flex}.codex-level-head{color:var(--muted);border-bottom:1px solid var(--border);margin:0;padding-bottom:.2rem;font-size:.8rem;font-weight:600}.codex-source{margin-top:.2rem}.codex-source>summary{cursor:pointer;color:var(--muted);font-size:.8rem}.md{line-height:1.55}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .6rem}.md ul,.md ol{margin:0 0 .6rem;padding-left:1.3rem}.md li{margin:.15rem 0}.md h1,.md h2,.md h3,.md h4{margin:.8rem 0 .4rem;line-height:1.25}.md h1{font-size:1.15rem}.md h2{font-size:1.05rem}.md h3,.md h4{font-size:.95rem}.md a{color:var(--accent)}.md code{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:.05rem .3rem;font-size:.85em}.md pre{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:.6rem .8rem;overflow-x:auto}.md pre code{background:0 0;border:0;padding:0}.md blockquote{border-left:3px solid var(--border);color:var(--muted);margin:0 0 .6rem;padding:.2rem .9rem}.md table{border-collapse:collapse;width:100%;margin:0 0 .6rem;font-size:.9rem}.md th,.md td{border:1px solid var(--border);text-align:left;padding:.35rem .55rem}.md th{background:var(--panel-2);font-weight:600}.codex-options-search{margin-bottom:.6rem}.mini-badge{text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.1rem .4rem;font-size:.65rem}.mini-badge.kind-pc{color:#7c5cff;border-color:#443a7a}.mini-badge.kind-npc{color:#ffcf5c;border-color:#6b5a2a}.mini-badge.kind-stub{color:var(--muted);border-color:var(--border);font-style:italic}.mini-badge.as-btn{cursor:pointer;font:inherit;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:0 0;font-size:.65rem}.mini-badge.as-btn:hover{color:var(--text);border-color:var(--accent,#7c5cff);background:var(--panel-2)}.mini-badge.kind-unlinked{color:#d98a5c;text-transform:none;border-style:dashed;border-color:#6b4a2a}button.mini-badge.kind-unlinked.as-btn{cursor:pointer;font:inherit;text-transform:none;background:0 0;font-size:.68rem}button.mini-badge.kind-unlinked.as-btn:hover{color:#f0a878;background:#d98a5c1f;border-style:solid;border-color:#a56a3a}button.mini-badge.kind-unlinked.as-btn.open{color:#f0a878;background:#d98a5c2e;border-style:solid;border-color:#a56a3a}.cast-resolver{border:1px solid var(--border);background:var(--panel-2);border-left:3px solid #a56a3a;border-radius:8px;flex-direction:column;gap:.7rem;margin:.4rem 0 .2rem;padding:.7rem .8rem;display:flex}.cast-resolver-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.cast-resolver-section{flex-direction:column;gap:.4rem;display:flex}.cast-resolver-label{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.cast-resolver-empty{margin:0;font-size:.85rem}.cast-resolver-list{flex-direction:column;gap:.25rem;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.cast-resolver-target{border:1px solid var(--border);background:var(--panel);cursor:pointer;text-align:left;border-radius:6px;align-items:center;gap:.5rem;width:100%;padding:.35rem .5rem;display:flex}.cast-resolver-target:hover{border-color:var(--accent,#b08968);background:#b089681a}.cast-resolver-target .entry-title{flex:1}.cast-resolver-create{align-self:flex-start}.char-detail{flex-direction:column;gap:1rem;display:flex}.detail-body{grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:start;gap:1.5rem;display:grid}.detail-body.has-tabs{row-gap:0}.detail-tabs{grid-column:1/-1;min-width:0}.detail-main{flex-direction:column;gap:1rem;min-width:0;display:flex}.detail-main>.char-section,.char-detail>.char-section{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;gap:.6rem;padding:1rem 1.1rem}.detail-aside{flex-direction:column;gap:1rem;display:flex}.detail-aside>.char-section,.detail-aside>.char-stats{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem}.detail-aside .entry-list{gap:0}.detail-aside .entry{background:0 0;border:none;border-radius:0;overflow:visible}.detail-aside .entry+.entry{border-top:1px solid var(--border)}.detail-aside .entry-row{border-radius:6px;gap:.5rem;padding:.4rem .35rem}.detail-aside .entry-row:hover{background:var(--panel-3)}.detail-aside .entry-icon{font-size:.95rem}.detail-aside .entry-title{font-size:.88rem;font-weight:500}.detail-aside .entry-sub{font-size:.72rem}.detail-aside .entry-chevron{font-size:.75rem}.aside-section>.aside-section-head{cursor:pointer;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;list-style:none;display:flex}.aside-section>.aside-section-head::-webkit-details-marker{display:none}.aside-section>.aside-section-head:before{content:"▸";color:var(--muted);font-size:.7em;transition:transform .15s}.aside-section[open]>.aside-section-head:before{transform:rotate(90deg)}.aside-section>.aside-section-head .aside-section-title{color:var(--text)}.aside-section[open]>.aside-section-head{margin-bottom:.6rem}@media (width<=820px){.detail-body{grid-template-columns:1fr}}.char-detail-head{display:flex}.char-hero{border-bottom:1px solid var(--border);align-items:center;gap:.8rem;padding-bottom:.9rem;display:flex}.char-hero-icon{flex:none;font-size:2.2rem;line-height:1}.char-hero-portrait{border:1px solid var(--border);border-radius:10px;width:3.2rem;height:3.2rem;overflow:hidden}.char-hero-add{border:1px dashed var(--border);width:3.2rem;height:3.2rem;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;font-size:1.5rem;display:inline-flex}.avatar-btn{cursor:pointer;color:inherit;background:0 0;padding:0;transition:opacity .15s,border-color .15s}.avatar-btn.char-hero-portrait{border:1px solid var(--border)}.avatar-btn:hover{opacity:.85;border-color:var(--accent,var(--border))}.avatar-btn:focus-visible{outline:2px solid var(--accent,#888);outline-offset:2px}.char-portrait-img{object-fit:cover;width:100%;height:100%;display:block}.char-portrait-panel{margin-top:.6rem}.portrait-link{align-self:flex-start;font-size:.85rem}.portrait-generating{border:1px dashed var(--border);border-radius:10px;align-items:center;gap:.7rem;max-width:420px;margin-top:.7rem;padding:.9rem;display:flex}.portrait-generating-title{font-weight:600}.portrait-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:24px;height:24px;animation:.8s linear infinite model-modal-spin}.char-hero-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.char-hero-name{letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:1.5rem;font-weight:700;display:flex}.char-stats{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;padding:.75rem .9rem;display:grid}.char-stat{flex-direction:column;gap:.15rem;display:flex}.char-stat-label{text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.char-stat-value{font-weight:600}.char-skills{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.1rem;padding:.5rem .9rem;display:flex}.char-skill{grid-template-columns:1fr 2.6rem auto 2.5rem;align-items:center;gap:.5rem;padding:.2rem 0;display:grid}.char-skill+.char-skill{border-top:1px solid var(--border)}.char-skill-name{font-weight:500}.char-skill-save-cell{justify-content:center;align-items:center;gap:.025rem;display:inline-flex}.char-skill-save{font-size:1rem;font-weight:700;line-height:1}.char-skill-save.adv{color:var(--ok,#3fae6b)}.char-skill-save.dis{color:var(--danger,#d1584f)}.char-skill-save-cell .help-hint{align-items:center;margin-left:.2rem;display:inline-flex}.char-skill-save-cell .help-hint-trigger{width:auto;height:auto;color:var(--muted);vertical-align:super;background:0 0;border:none;border-radius:0;font-size:.62rem}.char-skill-attr{letter-spacing:.04em;font-size:.65rem}.char-skill-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.char-skill-note{margin:.4rem 0 0;font-size:.72rem}.char-sheet-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.char-sheet-title h2{margin:0}.char-sheet-lineage{margin:.15rem 0 .2rem}.char-sheet-level{border:1px solid var(--border);background:var(--panel-2);border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.char-sheet-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.char-sheet-gear{font-size:1.1rem}.char-sheet-section{margin-top:1.1rem}.char-sheet-tabs{margin-top:1rem}.inventory-head{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.inventory-head .filter-search{flex:auto}.inventory-count{font-size:var(--fs-sm);margin:0 0 .6rem}.inventory-list .inventory-item.equipped .entry-icon{color:var(--accent)}.inventory-item .entry-row{align-items:center}.equipped-badge{border-color:var(--accent);color:var(--accent)}.equipped-gear>h3{align-items:center;gap:.4rem;display:flex}.gear-rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gear-row{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.28rem 0;display:flex}.gear-row:last-child{border-bottom:none}.gear-row-icon{color:var(--muted);flex:none;font-size:1.05em}.gear-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.gear-row-effect{flex:none;align-items:center;gap:.4rem;margin-left:auto;display:inline-flex}.weapon-formula{font-variant-numeric:tabular-nums;color:var(--accent);align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.weapon-type{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);color:var(--text-2,inherit);border-radius:6px;padding:.05rem .35rem;font-size:.68rem}.armor-total{font-variant-numeric:tabular-nums;color:var(--accent);align-items:center;gap:.3rem;font-size:1rem;font-weight:700;display:inline-flex}.armor-total-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2,inherit);font-size:.68rem;font-weight:600}.weapon-unmet{border-color:var(--danger,#d9534f);color:var(--danger,#d9534f);align-items:center;gap:.2rem;display:inline-flex}.weapon-unmet .material-symbols-outlined{font-size:1em}.inventory-actions{flex:none;align-items:center;gap:.4rem;display:inline-flex}.inv-equip{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.inv-equip .material-symbols-outlined{font-size:1.05em}.inv-remove{color:var(--muted)}.inv-remove:hover{color:var(--danger,#e5484d)}.acquire-modal{flex-direction:column;width:min(640px,94vw);max-height:88vh;display:flex}.acquire-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.acquire-toolbar .filter-search{flex:12rem}.acquire-cats{flex-wrap:wrap}.acquire-list{min-height:0;overflow-y:auto}.acquire-row{align-items:center}.acquire-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.acquire-btn{flex:none;padding:.35rem .8rem}.acquire-owned{color:var(--muted);flex:none}.char-sheet-tracker .combat-panel--embedded{flex:initial;gap:.75rem;min-height:0;padding:0;overflow:visible}.char-sheet-tracker .combat-body>.combat-section:first-child{border-top:none;padding-top:0}.char-sheet-section>h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 .5rem;font-size:.8rem}.char-sheet-cols{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start;gap:1.1rem;margin-top:1.1rem;display:grid}.char-sheet-cols .char-sheet-section{margin-top:0}@media (width<=640px){.char-sheet-cols{grid-template-columns:1fr}}.char-attr-row{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.char-attr{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:center;gap:.1rem;padding:.5rem;display:flex}.char-attr-label{letter-spacing:.05em;font-size:.7rem}.char-attr-value{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.char-ability-group+.char-ability-group{margin-top:.9rem}.char-ability-source{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .4rem;font-size:.75rem}.char-ability-list{flex-direction:column;gap:.5rem;display:flex}.char-ability{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:.5rem .7rem}.char-ability-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.char-ability-level{white-space:nowrap;font-size:.7rem}.char-ability-text{margin-top:.15rem;font-size:.9rem}.char-ability-text>:first-child{margin-top:0}.char-ability-text>:last-child{margin-bottom:0}.levelup-classref{align-self:flex-start}.levelup-opt-desc{margin-top:.3rem}.levelup-modal{max-width:34rem}.levelup-body{flex-direction:column;gap:1rem;max-height:60vh;display:flex;overflow-y:auto}.levelup-hp-row{align-items:center;gap:.5rem;margin-top:.3rem;display:flex}.levelup-hp-row .edit-input{max-width:8rem}.levelup-choices{flex-direction:column;gap:.75rem;display:flex}.levelup-choice{border:1px solid var(--border);border-radius:10px;padding:.5rem .7rem}.levelup-choice-head{align-items:baseline;gap:.5rem;display:flex}.levelup-req{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:.65rem}.levelup-opt{text-transform:uppercase;letter-spacing:.04em;font-size:.65rem}.levelup-options{flex-wrap:wrap;gap:.4rem;margin-top:.3rem;display:flex}.chip-btn.selected{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.levelup-feature-list{flex-direction:column;gap:.3rem;margin:.3rem 0 0;padding-left:1.1rem;font-size:.85rem;display:flex}.char-section{flex-direction:column;gap:.4rem;display:flex}.char-section h3{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.72rem;font-weight:600}.char-section>p{margin:0}.char-prose{white-space:pre-wrap;line-height:1.5}.outcome-list{flex-direction:column;gap:.3rem;margin:0;padding-left:1.1rem;line-height:1.45;display:flex}.outcome-list li::marker{color:var(--accent,#b08968)}.dir-badge{font-weight:600}.dir-badge.dir-acquired{color:#3ecf8e}.dir-badge.dir-lost{color:var(--danger)}.dir-badge.dir-consumed,.dir-badge.dir-spent{color:var(--muted)}.dir-badge.dir-owned{color:#7aa2f7}.dir-badge.dir-featured{color:#bb9af7}.item-holders{flex-wrap:wrap;gap:.35rem;margin-top:.15rem;display:flex}.chip-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.chip-label{color:var(--muted);font-size:.75rem}.chip{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:999px;padding:.15rem .55rem;font-size:.75rem}.chip:hover{border-color:var(--accent)}.chip.tag{color:var(--accent)}.chip-ghost{color:var(--muted);border-style:dashed}.chip-btn{cursor:pointer;font:inherit}.chip-btn:hover{border-color:var(--accent);color:var(--accent)}.scene-hl-cap .chip-row{margin-top:.35rem}.app-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-topbar{height:var(--header-h);align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);background:var(--panel);border-bottom:1px solid var(--border);z-index:var(--z-nav);flex:none;display:flex}.topbar-spacer{flex:auto}.topbar-record{align-items:center;gap:var(--sp-2);box-sizing:border-box;height:34px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.topbar-record:hover{background:var(--accent-weak);border-color:var(--accent)}.topbar-record:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=640px){.topbar-record-label{display:none}.topbar-record{padding:var(--sp-1);border-radius:50%}}.topbar-crumbs{align-items:center;gap:var(--sp-2);min-width:0;display:flex;overflow:hidden}.topbar-switcher{display:none}.topbar-switcher.sidenav-switcher{flex:0 auto;min-width:0;max-width:55vw;padding:0}@media (width<=639px){.topbar-crumbs{display:none}.topbar-switcher{display:block}}.drawer-toggle{color:var(--text);padding:var(--sp-1);background:0 0;border:none;align-items:center;display:inline-flex}@media (width>=640px){.app-shell.nav-hidden .app-sidebar{display:none}}.app-main{flex:auto;min-height:0;display:flex}.app-sidebar{flex:0 0 var(--nav-w);width:var(--nav-w);background:var(--panel);border-right:1px solid var(--border);overflow:hidden auto}.app-content{min-width:0;padding:var(--sp-5) var(--sp-4);flex:auto;overflow-y:auto}.app-content>.browser,.app-content>.content-col{max-width:var(--content-max);margin:0 auto}.sidenav{gap:var(--sp-2);padding:var(--sp-3) var(--sp-2);flex-direction:column;display:flex}.sidenav-switcher{padding:0 var(--sp-1) var(--sp-2);position:relative}.switcher-btn{align-items:center;gap:var(--sp-2);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);width:100%;padding:var(--sp-2) var(--sp-3);color:var(--text);font-weight:600;display:flex}.switcher-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.switcher-caret{color:var(--muted);flex:none}.switcher-menu{top:calc(100% + 4px);left:var(--sp-1);right:var(--sp-1);background:var(--panel-3);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-2);z-index:var(--z-drawer);padding:var(--sp-1);max-height:60vh;position:absolute;overflow-y:auto}.switcher-all,.switcher-item{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;display:block;overflow:hidden}.switcher-all{color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:var(--sp-1);border-radius:0}.switcher-item:hover,.switcher-all:hover{background:var(--panel-2)}.switcher-item.on{color:var(--accent);font-weight:600}button.switcher-item{text-align:left;cursor:pointer;width:100%;font:inherit;font-size:var(--fs-sm);background:0 0;border:none}.switcher-loading{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);display:block}.switcher-new{text-align:left;width:100%;padding:var(--sp-2) var(--sp-3);margin-top:var(--sp-1);border-top:1px solid var(--border);color:var(--accent);font-size:var(--fs-sm);cursor:pointer;background:0 0;font-weight:600;display:block}.switcher-new:hover{background:var(--panel-2)}.switcher-create{gap:var(--sp-1);padding:var(--sp-2);margin-top:var(--sp-1);border-top:1px solid var(--border);display:flex}.switcher-create-input{min-width:0;padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sm);flex:1}.switcher-create-go{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sm);background:var(--accent);color:var(--accent-contrast,#fff);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap}.switcher-create-go:disabled{opacity:.5;cursor:default}.switcher-error{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs,12px);color:var(--danger,#e5484d);display:block}.sidenav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.navlink{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--muted);font-weight:600;font-size:var(--fs-md);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-left:3px solid #0000;text-decoration:none;display:flex}.navlink:hover{background:var(--panel-2);color:var(--text)}.navlink.is-active{background:var(--accent-weak);color:var(--text);border-left-color:var(--accent)}.navlink svg,.navlink .material-icons{flex:none}@media (width<=1023px){.app-sidebar{flex-basis:var(--nav-w-mini);width:var(--nav-w-mini)}.navlink-label,.switcher-name,.switcher-caret{display:none}.navlink{padding:var(--sp-2);justify-content:center;gap:0}.switcher-btn{padding:var(--sp-2);justify-content:center}.sidenav-switcher{padding-bottom:var(--sp-2)}}.bottom-nav{display:none}.bottom-nav-link{padding:var(--sp-1) 2px;color:var(--muted);min-width:0;transition:color var(--dur-fast) var(--ease);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.bottom-nav-link.is-active{color:var(--accent)}.bottom-nav-label{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.62rem;line-height:1.1;overflow:hidden}@media (width<=639px){.bottom-nav{z-index:var(--z-nav);background:var(--panel);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0);display:flex;position:fixed;bottom:0;left:0;right:0}.app-content{padding-bottom:calc(var(--bottom-nav-h) + var(--sp-4))}.drawer-toggle{display:inline-flex}.app-sidebar{top:var(--header-h);bottom:var(--bottom-nav-h);flex-basis:var(--nav-w);width:var(--nav-w);transition:transform var(--dur-med) var(--ease);z-index:var(--z-drawer);position:fixed;left:0;transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.app-sidebar.open .navlink-label,.app-sidebar.open .switcher-name,.app-sidebar.open .switcher-caret{display:inline}.app-sidebar.open .navlink{justify-content:flex-start;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3)}.app-sidebar.open .switcher-btn{padding:var(--sp-2) var(--sp-3);justify-content:space-between}.drawer-scrim{top:var(--header-h);inset:var(--header-h) 0 var(--bottom-nav-h) 0;z-index:var(--z-nav);background:#0000008c;position:fixed}}.voice-enroll{gap:var(--sp-1);flex-direction:column;align-items:flex-start;display:flex}.voice-enroll.compact{width:100%;margin-top:4px}.voice-enroll-head{margin:0;font-size:.9rem}.voice-sample-list{flex-direction:column;gap:2px;width:100%;margin:0;padding:0;list-style:none;display:flex}.voice-sample-row{align-items:center;gap:var(--sp-1);justify-content:space-between;display:flex}button.link{color:var(--accent);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:0}button.small{padding:2px 8px;font-size:.8rem}button.danger.small{padding:0 6px;line-height:1.4}.voice-preview{width:100%;max-width:320px;margin-top:var(--sp-1)}.voice-recorder{gap:var(--sp-1);flex-direction:column;align-items:flex-start;display:flex}.voice-timer{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:600}.voice-timer.recording{color:var(--danger,#e5484d)}.voice-sample-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.85rem;overflow:hidden}.combat-fab{z-index:40;border:1px solid var(--border);background:var(--panel);width:3rem;height:3rem;color:inherit;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 2px 10px #00000059}.combat-fab:hover{border-color:var(--ok)}.sidepane-rail{border-right:1px solid var(--border);background:var(--panel-2);flex-direction:column;flex:none;justify-content:center;gap:.25rem;padding:.5rem 0;display:flex}.rail-toggle{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.1rem;line-height:1}.rail-toggle:hover{color:var(--text)}.sidepane-collapsed{flex:none;width:auto}.sidepane-tab{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.02em;color:var(--muted);cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;border-radius:0;padding:.6rem .4rem;font-size:.9rem;font-weight:600}.sidepane-tab:hover{color:inherit}.sidepane-tab.active{color:inherit;border-left-color:var(--accent);background:var(--panel)}@media (width<=640px){.sidepane{flex-direction:column}.sidepane-rail{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;padding:0 .5rem}.sidepane-tab{writing-mode:horizontal-tb;text-orientation:initial;border-bottom:2px solid #0000;border-left:none;padding:.4rem .6rem}.sidepane-tab.active{border-left-color:#0000;border-bottom-color:var(--accent);background:0 0}}.combat-panel{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding:.75rem 1rem 1.25rem;display:flex;overflow-y:auto}.combat-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.combat-title{flex-direction:column;gap:.15rem;display:flex}.combat-sub{font-size:.8rem}.combat-empty{text-align:center;padding:2rem 0}.combat-body{flex-direction:column;gap:.75rem;display:flex}.combat-section{border-top:1px solid var(--border);padding-top:.6rem}.combat-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .4rem;font-size:.8rem}.combat-row-head{justify-content:space-between;align-items:baseline;display:flex}.heroic-subhead{margin-top:.6rem}.heroic-subhead h5{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .4rem;font-size:.72rem;font-weight:600}.combat-hp{flex-wrap:wrap;align-items:center;gap:1.75rem;display:flex}.vital-stepper{align-items:center;gap:.4rem;display:flex}.vital-adjust{align-items:center;gap:.25rem;display:flex}.vital-btn{border:1px solid var(--border);background:var(--surface-2,#ffffff0a);width:1.5rem;height:1.5rem;color:inherit;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:.95rem;line-height:1;display:flex}.vital-btn:hover:not(:disabled){border-color:var(--accent)}.vital-btn:disabled{opacity:.4;cursor:default}.vital-value{text-align:center;min-width:1.6rem;font-size:1.2rem;font-weight:600}.vital-label{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.vital-stepper-icon{font-size:1.1rem;line-height:1}.vital-icon{line-height:1}.hp-icon{color:#ff5a5f}.temp-icon{color:#8fd3ff}.mana-icon{color:#4aa3ff}.hp-value{font-size:1.5rem}.combat-hp-main.bloodied .hp-value{color:var(--danger)}.combat-bloodied{color:var(--danger);font-size:.75rem;font-weight:600}.mp-value{color:var(--accent)}.combat-fury{align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.combat-fury-label{font-size:.72rem}.dice-size{opacity:.8;font-size:.68rem}.fury-pips{align-items:center;gap:.15rem;display:flex}.fury-pip{color:var(--border);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.1rem;line-height:1;display:flex}.fury-pip:hover{color:var(--muted)}.fury-pip.filled{color:#ff6b4a}.fury-inline{vertical-align:-.15em;margin-left:.05rem}.hp-btn{border:1px solid var(--border);width:1.9rem;height:1.9rem;color:inherit;cursor:pointer;background:0 0;border-radius:.4rem;font-size:1.1rem;line-height:1}.hp-btn:hover{border-color:var(--ok)}.combat-temp-main{opacity:.55}.combat-temp-main.active{opacity:1}.combat-temp-icon{filter:grayscale()}.combat-temp-main.active .combat-temp-icon{filter:none}.temp-value{color:#8fd3ff}.combat-wounds{align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.combat-wounds-label{font-size:.72rem}.wound-pips{align-items:center;gap:.15rem;display:flex}.wound-pip{color:var(--border);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.1rem;line-height:1;display:flex}.wound-pip:hover{color:var(--muted)}.wound-pip.filled{color:var(--danger)}.action-dots{align-items:center;gap:.4rem;display:flex}.action-dot{border:1px solid var(--border);width:2rem;height:2rem;color:var(--muted);cursor:pointer;opacity:.55;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1rem;display:inline-flex}.action-dot.spent{color:var(--ok);border-color:var(--ok);opacity:1}.action-count{margin-left:.3rem;font-size:.75rem}.stat-btn-row{flex-wrap:wrap;gap:.35rem;display:flex}.stat-btn{border:1px solid var(--border);color:inherit;cursor:pointer;background:0 0;border-radius:.4rem;padding:.3rem .5rem;font-size:.82rem}.stat-btn:hover{border-color:var(--ok)}.stat-btn:disabled{opacity:.4;cursor:not-allowed}.stat-btn:disabled:hover{border-color:var(--border)}.stat-btn.ability-btn{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;max-width:14rem;padding:.45rem .7rem;font-size:.92rem;display:inline-flex;overflow:hidden}.ability-effect{color:var(--ok);border:1px solid var(--border);white-space:nowrap;border-radius:.3rem;padding:.05rem .35rem;font-size:.78rem;font-weight:600}.spell-meta{font-size:.72rem}.mana-pips{vertical-align:baseline;gap:1px;display:inline-flex}.mana-pip{color:#4aa3ff;font-size:.95em;line-height:1}.stat-mod{font-weight:600}.stat-mod.adv{color:var(--ok)}.stat-mod.dis{color:var(--danger)}.ability-free{color:var(--muted);font-size:.72rem}.action-cell{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.action-mods{flex-wrap:wrap;gap:.2rem;max-width:12rem;display:flex}.action-mod{color:var(--muted);border:1px dashed var(--border,#ffffff26);cursor:help;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;align-items:center;gap:.15rem;max-width:100%;padding:.05rem .3rem;font-size:.68rem;line-height:1.3;display:inline-flex;overflow:hidden}.action-mod .material-symbols-outlined{color:var(--warn,#e0a33e);flex-shrink:0}.passive-affects{cursor:help;font-size:.68rem}.resource-group{flex-direction:column;align-items:stretch;gap:.6rem;display:flex}.pool-line-icon{vertical-align:-.2em;opacity:.85;margin-right:.15rem}.concept-card{border:1px solid var(--border,#ffffff26);border-radius:8px;flex-direction:column;gap:.3rem;min-width:12rem;max-width:18rem;padding:.4rem .55rem;display:flex}.concept-head{justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.concept-name{font-weight:600}.concept-pips{align-items:center;gap:.15rem;display:flex}.concept-pip{color:var(--border);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.1rem;line-height:1;display:flex}.concept-pip:hover{color:var(--muted)}.concept-pip.filled{color:#ff6b4a}.concept-mods{flex-wrap:wrap;gap:.2rem;display:flex}.concept-members{flex-wrap:wrap;gap:.25rem;display:flex}.concept-member{border:1px solid var(--border,#ffffff26);cursor:help;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;align-items:center;gap:.2rem;max-width:100%;padding:.1rem .4rem;font-size:.72rem;line-height:1.3;display:inline-flex;overflow:hidden}.concept-member.is-action{border-color:var(--ok)}.concept-tag{text-transform:uppercase;letter-spacing:.03em;font-size:.62rem}.concept-actions{margin-top:.15rem}.passive-list{flex-wrap:wrap;gap:.4rem;display:flex}.passive-item{border:1px dashed var(--border,#ffffff26);cursor:default;background:0 0;border-radius:6px;align-items:baseline;gap:.35rem;max-width:14rem;padding:.25rem .55rem;display:inline-flex}.passive-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.passive-level{flex-shrink:0;font-size:.68rem}.charge-list{flex-wrap:wrap;gap:.3rem .4rem;margin-bottom:.5rem;display:flex}.charge-item{border:1px solid var(--border,#ffffff26);background:0 0;border-radius:6px;align-items:center;gap:.3rem;padding:.1rem .4rem;display:inline-flex}.charge-name{text-overflow:ellipsis;white-space:nowrap;max-width:11rem;font-weight:600;overflow:hidden}.charge-per{flex-shrink:0;font-size:.68rem}.charge-pips{align-items:center;gap:.15rem;display:inline-flex}.charge-add{color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:baseline;gap:.35rem;padding:0;display:inline-flex}.charge-add:disabled{cursor:default;opacity:.6}.charge-add:hover:not(:disabled) .charge-name{color:var(--ok)}.charge-pip{color:var(--border);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.charge-pip:hover{color:var(--muted)}.charge-pip.spent{color:var(--ok)}.ability-charge{font-size:.72rem}.ability-pool-cost{color:#ff6b4a;align-items:center;gap:.1rem;font-size:.72rem;font-weight:700;display:inline-flex}.pool-cost-icon{vertical-align:middle}.stat-btn-adv{color:var(--ok);font-weight:700}.stat-btn-dis{color:var(--danger);font-weight:700}.resource-list{flex-direction:column;gap:.35rem;display:flex}.resource{align-items:center;gap:.4rem;display:flex}.resource-name{flex:1;font-size:.85rem}.resource-value{text-align:center;min-width:1.5rem;font-weight:600}.resource-del{color:var(--muted)}.resource-end{color:var(--danger);white-space:nowrap;font-size:.75rem}.resource-end:disabled{opacity:.4;cursor:not-allowed}.condition-row{flex-wrap:wrap;gap:.3rem;display:flex}.cond-chip{cursor:pointer}.combat-hint{margin:0;font-size:.8rem}.action-log{flex-direction:column;gap:.25rem;max-height:12rem;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex;overflow-y:auto}.action-log li{gap:.5rem;display:flex}.action-log-t{font-variant-numeric:tabular-nums;font-size:.72rem}.delta-alert{margin:var(--sp-3) var(--sp-4) 0;border:1px solid var(--warn);border-radius:var(--r-md);background:color-mix(in srgb, var(--warn) 12%, var(--panel));flex:none;overflow:hidden}.delta-alert-head{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;font-weight:600;display:flex}.delta-alert-icon{font-size:1.1em}.delta-alert-label{text-align:left;flex:1}.delta-alert-chevron{color:var(--muted)}.delta-alert-error{padding:var(--sp-1) var(--sp-3);color:var(--danger);font-size:.85em}.delta-list,.combatant-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.combatant-row{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);display:flex}.combatant-row:first-child{border-top:none}.combatant-count-ctl{align-items:center;gap:var(--sp-1);flex:none;display:inline-flex}.combatant-step{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);width:1.4rem;height:1.4rem;color:var(--text);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.combatant-step:disabled{opacity:.4;cursor:default}.combatant-count{text-align:center;font-variant-numeric:tabular-nums;min-width:1.4ch;font-weight:600}.combatant-count-static{color:var(--muted)}.combatant-name{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.combatant-name-link{color:var(--accent);text-decoration:none}.combatant-name-link:hover{text-decoration:underline}.combatant-remove{border-radius:var(--r-sm);color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:2px;display:inline-flex}.combatant-remove:hover:not(:disabled){color:var(--danger)}.combatant-remove:disabled{opacity:.4;cursor:default}.delta-card{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border);display:flex}.delta-card:first-child{border-top:none}.delta-card-failed{background:color-mix(in srgb, var(--danger) 10%, transparent)}.delta-card-main{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.delta-op{padding:1px var(--sp-2);border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.03em;flex:none;font-size:.72em;font-weight:700}.delta-op-add{background:color-mix(in srgb, var(--success) 25%, transparent);color:var(--success)}.delta-op-modify{background:color-mix(in srgb, var(--kind-item) 22%, transparent);color:var(--kind-item)}.delta-text{align-items:baseline;gap:var(--sp-2);min-width:0;display:flex;overflow:hidden}.delta-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.92em;overflow:hidden}.delta-target{color:var(--muted)}.delta-meta{gap:var(--sp-2);flex-wrap:nowrap;flex:none;margin-top:0;font-size:.76em;display:flex}.delta-conf{padding:0 var(--sp-1);border-radius:var(--r-sm);color:var(--muted);background:var(--panel-3)}.delta-conf-exact,.delta-conf-high{color:var(--success)}.delta-conf-low{color:var(--warn)}.delta-conf-ambiguous{color:var(--danger)}.delta-codex{color:var(--kind-npc)}.delta-fail{color:var(--danger)}.delta-cands{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-top:0;font-size:.78em;font-style:italic;overflow:hidden}.delta-actions{gap:var(--sp-2);flex:none;display:flex}.delta-btn-inline{margin-left:var(--sp-1);flex:none}.delta-btn{padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);color:var(--text);cursor:pointer;justify-content:center;align-items:center;font-size:.82em;display:inline-flex}.delta-btn:hover:not(:disabled){background:var(--panel-3)}.delta-btn:disabled{opacity:.5;cursor:default}.delta-btn-accept{border-color:var(--success);color:var(--success)}.delta-btn-accept:hover:not(:disabled){background:color-mix(in srgb, var(--success) 18%, transparent)}.delta-btn-reject{border-color:var(--danger);color:var(--danger)}.delta-btn-reject:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 18%, transparent)}.encounter-review{margin:var(--sp-4) 0 0;padding:0 var(--sp-4) var(--sp-4)}.encounter-review-title{margin:0 0 var(--sp-2);font-size:1rem}.encounter-scene{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);margin-bottom:var(--sp-3);overflow:hidden}.encounter-scene-head{align-items:baseline;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--panel-2);border-bottom:1px solid var(--border);display:flex}.encounter-scene-name{font-weight:600}.encounter-scene-kind{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.72em}.encounter-block{padding:var(--sp-2) 0;border-top:1px solid var(--border)}.encounter-block:first-child{border-top:none}.encounter-block-head{align-items:baseline;gap:var(--sp-2);padding:0 var(--sp-3) var(--sp-1);display:flex}.encounter-block-title{font-weight:600}.encounter-block-count{color:var(--muted);font-size:.8em}.encounter-block-status{text-transform:uppercase;letter-spacing:.03em;padding:1px var(--sp-2);border-radius:var(--r-sm);color:var(--muted);background:var(--panel-3);margin-left:auto;font-size:.72em}.encounter-block-status-active{color:var(--warn)}.encounter-block-status-resolved{color:var(--success)}.encounter-block-empty{padding:0 var(--sp-3);margin:0;font-size:.85em}.combatant-status{text-transform:uppercase;letter-spacing:.02em;color:var(--muted);flex:none;font-size:.74em}.combatant-status-bloodied{color:var(--warn)}.combatant-status-down{color:var(--danger)}.combatant-status-fled{color:var(--muted);font-style:italic}.encounter-pending{padding:var(--sp-1) var(--sp-3) 0}.encounter-pending-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:2px;font-size:.72em}.delta-card-static{padding:var(--sp-1) 0}.encounter-scene-link{color:var(--text);text-decoration:none}.encounter-scene-link:hover{color:var(--accent);text-decoration:underline}.encounter-add-toggle{margin:var(--sp-1) var(--sp-3) 0;padding:2px var(--sp-2);color:var(--muted);border:1px dashed var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0;font-size:.8em}.encounter-add-toggle:hover{color:var(--accent);border-color:var(--accent)}.encounter-add-form{gap:var(--sp-1);margin:var(--sp-1) var(--sp-3) 0;padding:var(--sp-2);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);flex-direction:column;display:flex}.encounter-add-row{gap:var(--sp-1);flex-wrap:wrap;align-items:center;display:flex}.encounter-add-form select,.encounter-add-form input{padding:2px var(--sp-1);color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);font-size:.85em}.encounter-add-name{flex:1;min-width:8rem}.encounter-add-count{width:4.5rem}.encounter-add-actions{gap:var(--sp-1);margin-left:auto;display:flex}.btn-mini{padding:2px var(--sp-2);color:var(--text);background:var(--panel-3);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;font-size:.85em}.btn-mini:hover:not(:disabled){border-color:var(--accent)}.btn-mini:disabled{opacity:.5;cursor:default}.btn-mini-primary{color:var(--success);border-color:var(--success)}.btn-mini-primary:hover:not(:disabled){background:color-mix(in srgb, var(--success) 15%, transparent)}.encounter-roster-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:0 var(--sp-3);margin-bottom:2px;font-size:.72em}.combatant-edit{padding:1px var(--sp-1);color:var(--muted);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0;flex:none;font-size:.74em}.combatant-edit:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.combatant-edit:disabled{opacity:.5;cursor:default}.combatant-row-editing .combatant-edit-count,.combatant-row-editing .combatant-edit-status{padding:1px var(--sp-1);color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);font-size:.85em}.combatant-edit-count{flex:none;width:3.4rem}.combatant-edit-status{flex:none}.account-tabs{gap:var(--sp-1,.25rem);margin-bottom:var(--sp-3,.75rem);border-bottom:1px solid var(--border);padding-bottom:var(--sp-2,.5rem);flex-wrap:wrap;display:flex}.account-tab{border-radius:var(--r-md,8px);color:var(--muted);align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.account-tab:hover{background:var(--panel-2,#ffffff0f);color:var(--text)}.account-tab.active{background:var(--panel-3,#1c2030);color:var(--text)}.account-char-grid{gap:var(--sp-2,.5rem);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));margin:.75rem 0 0;padding:0;list-style:none;display:grid}.account-char-card{border:1px solid var(--border);border-radius:var(--r-lg,10px);background:var(--panel);color:inherit;align-items:center;gap:.65rem;height:100%;padding:.6rem .7rem;text-decoration:none;display:flex}.account-char-card:hover{border-color:var(--accent,#6ea8fe);background:var(--panel-2,#ffffff0a)}.account-char-thumb{border-radius:var(--r-md,8px);background:var(--panel-3,#1c2030);width:2.4rem;height:2.4rem;color:var(--muted);flex:none;place-items:center;display:grid;overflow:hidden}.account-char-thumb img{object-fit:cover;width:100%;height:100%}.account-char-main{flex-direction:column;gap:.1rem;min-width:0;display:flex}.account-char-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.account-char-sub{color:var(--muted);font-size:.8rem}.account-char-campaign{color:var(--muted);opacity:.85;font-size:.75rem}.share-picker{margin-top:.6rem}.share-pick-all{color:var(--muted);align-items:center;gap:.4rem;margin-bottom:.35rem;font-size:.85rem;display:inline-flex}.share-campaign-list{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.25rem .75rem;margin:0;padding:0;list-style:none;display:grid}.share-campaign-opt{cursor:pointer;align-items:center;gap:.45rem;padding:.25rem 0;display:flex}.share-people{flex-direction:column;gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.share-person{border:1px solid var(--border);border-radius:var(--r-lg,10px);background:var(--panel);padding:.6rem .75rem}.share-person-head{align-items:center;gap:.55rem;margin-bottom:.45rem;display:flex}.share-person-id{flex-direction:column;min-width:0;display:flex}.share-person-name{font-weight:600}.share-person-email{font-size:.78rem}.share-person-campaigns{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.share-membership{flex-wrap:wrap;align-items:center;gap:.5rem;padding-left:2.15rem;display:flex}.share-camp-name{color:inherit;font-weight:500;text-decoration:none}.share-camp-name:hover{text-decoration:underline}.share-role-select{padding:.15rem .35rem;font-size:.82rem}.person-add-toggle{margin:.35rem 0 0 2.15rem;font-size:.82rem}.person-add{border:1px dashed var(--border);border-radius:var(--r-md,8px);background:var(--panel-2,#ffffff08);margin:.45rem 0 0 2.15rem;padding:.55rem .65rem}.person-add-actions{align-items:center;gap:.5rem;margin-top:.5rem}.profile-identity{align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.profile-avatar{width:2.8rem;height:2.8rem;font-size:1.2rem}.profile-email{flex-direction:column;gap:.1rem;font-size:.9rem;display:flex}
