:root{color-scheme:light;--bg: #f5f7f8;--panel: #ffffff;--panel-soft: #edf3f1;--ink: #18201f;--muted: #65716f;--line: #d8e0dd;--accent: #26796f;--accent-strong: #1c5f57;--warn: #a94c50;--gold: #b8872f;--shadow: 0 16px 48px rgba(24, 32, 31, .1);--sidebar-width: 280px;--sidebar-collapsed-width: 84px}:root[data-view=randomizer] .content-grid{grid-template-columns:minmax(0,1fr)}:root[data-view=randomizer] .content-grid>.list-pane,:root[data-view=randomizer] .content-grid>.panel-resizer{display:none}:root[data-view=randomizer] .detail-pane{min-width:0;padding:0;overflow:hidden}.randomizer-view-shell,.randomizer-host,.randomizer-panel{min-width:0;min-height:0}.randomizer-view-shell{height:100%;overflow:auto}.randomizer-panel{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);min-height:100%}.randomizer-controls,.randomizer-results{padding:24px}.randomizer-controls{border-right:1px solid var(--line);background:var(--panel-soft)}.randomizer-controls>header,.randomizer-results>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.randomizer-results-toolbar{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}.randomizer-display-switch{display:inline-grid;grid-template-columns:repeat(2,auto);overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft)}.randomizer-display-switch button{min-height:34px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);padding:0 11px;font-size:.75rem;font-weight:720}.randomizer-display-switch button:last-child{border-right:0}.randomizer-display-switch button:hover,.randomizer-display-switch button.is-active{background:var(--panel);color:var(--accent-strong)}.randomizer-display-switch button.is-active{box-shadow:inset 0 -2px var(--accent)}.randomizer-controls h3,.randomizer-results h3,.randomizer-result h4{margin:0}.randomizer-controls header p,.randomizer-results header p,.randomizer-result p,.randomizer-empty p{margin:4px 0 0;color:var(--muted)}.randomizer-pool-count{flex:0 0 auto;padding:5px 8px;border:1px solid var(--line);border-radius:6px;color:var(--accent-strong);background:var(--panel);font-size:.78rem;font-weight:700}.randomizer-control-grid{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px}.randomizer-source-field{grid-column:1 / -1}.randomizer-binary-field{min-height:54px}.randomizer-binary-field span{display:grid;gap:2px}.randomizer-binary-field small{color:var(--muted);font-weight:400}.randomizer-object-filters{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.randomizer-object-filters[hidden]{display:none}.randomizer-price-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:8px}.randomizer-price-range>span,.randomizer-price-range>strong{padding-bottom:10px}.randomizer-actions{display:flex;align-items:center;gap:14px;margin-top:20px}.randomizer-actions p{margin:0;color:var(--muted);font-size:.82rem}.randomizer-result-list{display:grid;gap:10px}.randomizer-result-list[data-mode=expanded]{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));align-content:start}.randomizer-result{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:72px;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.randomizer-die{display:grid;place-items:center;width:50px;height:50px;border:1px solid color-mix(in srgb,var(--accent) 58%,var(--line));border-radius:50%;color:var(--muted);background:var(--panel-soft);font-size:.68rem;line-height:1}.randomizer-die strong{color:var(--accent-strong);font-size:1.15rem}.randomizer-result-copy{min-width:0}.randomizer-result-copy small{color:var(--accent-strong);font-size:.68rem;font-weight:700;text-transform:uppercase}.randomizer-result-copy h4,.randomizer-result-copy p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.randomizer-result-price{color:var(--gold);font-weight:700;white-space:nowrap}.randomizer-result.is-expanded{grid-template-columns:minmax(130px,168px) minmax(0,1fr) auto;align-items:start;min-height:190px;padding:14px}.randomizer-result-visual{position:relative;display:grid;width:100%;min-height:150px;aspect-ratio:4 / 3;overflow:hidden;place-items:center;border:1px solid var(--line);border-radius:5px;background:var(--panel-soft);color:color-mix(in srgb,var(--accent) 55%,var(--muted));font-size:2.5rem;font-weight:780}.randomizer-result-visual img{width:100%;height:100%;object-fit:contain}.randomizer-result-visual .randomizer-die{position:absolute;bottom:7px;left:7px;width:43px;height:43px;border-color:color-mix(in srgb,var(--accent) 62%,var(--line));background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:0 4px 12px color-mix(in srgb,var(--ink) 16%,transparent)}.randomizer-result.is-expanded .randomizer-result-copy h4,.randomizer-result.is-expanded .randomizer-result-copy p{overflow:visible;white-space:normal}.randomizer-result.is-expanded .randomizer-result-copy h4{margin-top:2px;font-size:1rem}.randomizer-result.is-expanded .randomizer-result-path{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.randomizer-result.is-expanded .randomizer-result-summary{margin-top:10px;color:var(--ink);font-size:.82rem;line-height:1.48}.randomizer-result.is-expanded dl{display:grid;gap:4px;margin:10px 0 0}.randomizer-result.is-expanded dl div{display:grid;grid-template-columns:minmax(72px,.34fr) minmax(0,1fr);gap:8px;padding-top:4px;border-top:1px solid var(--line);font-size:.74rem}.randomizer-result.is-expanded dt{color:var(--muted);font-weight:700}.randomizer-result.is-expanded dd{min-width:0;margin:0;overflow-wrap:anywhere}.randomizer-result-actions{display:grid;justify-items:end;gap:10px}.randomizer-empty{display:grid;place-items:center;min-height:220px;padding:28px;border:1px dashed var(--line);border-radius:6px;text-align:center}.session-randomizer-host{max-height:min(68vh,720px);overflow:auto}.randomizer-host.is-compact .randomizer-panel{grid-template-columns:minmax(280px,360px) minmax(360px,1fr)}.randomizer-host.is-compact .randomizer-controls,.randomizer-host.is-compact .randomizer-results{padding:18px}.randomizer-host.is-compact .randomizer-result-list[data-mode=expanded]{grid-template-columns:1fr}.randomizer-host.is-compact .randomizer-result.is-expanded{grid-template-columns:124px minmax(0,1fr) auto}@media(max-width:900px){.randomizer-panel,.randomizer-host.is-compact .randomizer-panel{grid-template-columns:1fr}.randomizer-controls{border-right:0;border-bottom:1px solid var(--line)}.randomizer-result.is-expanded,.randomizer-host.is-compact .randomizer-result.is-expanded{grid-template-columns:minmax(100px,132px) minmax(0,1fr)}.randomizer-result-actions{grid-column:2;grid-row:2;grid-auto-flow:column;align-items:center;justify-content:start;justify-items:start}}@media(max-width:560px){.randomizer-control-grid,.randomizer-price-range{grid-template-columns:1fr}.randomizer-price-range>span,.randomizer-price-range>strong{display:none}.randomizer-result{grid-template-columns:46px minmax(0,1fr)}.randomizer-result-price,.randomizer-result .secondary-action{grid-column:2;justify-self:start}}@media(max-width:760px){.session-tool-layout{grid-template-columns:1fr}.session-tool-list{max-height:180px;border-right:0;border-bottom:1px solid var(--line)}.session-tool-fields,.session-dice-controls{grid-template-columns:1fr}.session-tool-detail{padding:16px}}:root[data-theme=dark]{color-scheme:dark;--bg: #101817;--panel: #17211f;--panel-soft: #21312e;--ink: #edf6f3;--muted: #9bb0ab;--line: #2d403c;--accent: #54b8a8;--accent-strong: #80d4c6;--warn: #d06c70;--gold: #d9ad58;--shadow: 0 16px 52px rgba(0, 0, 0, .32)}*{box-sizing:border-box}html{height:100%}body{margin:0;height:100%;min-height:100vh;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.view-loading-state{display:flex;min-height:160px;align-items:center;justify-content:center;gap:7px;color:var(--accent)}.view-loading-state i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:view-loading-pulse .85s ease-in-out infinite alternate}.view-loading-state i:nth-child(2){animation-delay:.14s}.view-loading-state i:nth-child(3){animation-delay:.28s}[data-progressive-rendering=true]{cursor:progress}@keyframes view-loading-pulse{0%{opacity:.28;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.view-loading-state i{animation:none}}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);height:100vh;min-height:0;overflow:hidden;transition:grid-template-columns .18s ease}:root[data-sidebar=collapsed] .app-shell{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;gap:18px;min-height:0;overflow:auto;padding:22px;background:#172220;color:#f5fbf8;transition:padding .18s ease,gap .18s ease}:root[data-app-focus=true] .app-shell{grid-template-columns:minmax(0,1fr)}:root[data-app-focus=true] .sidebar{display:none}.workspace-modes{display:inline-flex;gap:4px}.workspace-mode-toggle{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);font-size:15px;line-height:1;cursor:pointer}.workspace-mode-toggle:hover{border-color:var(--accent);color:var(--accent)}.workspace-mode-toggle[aria-pressed=true]{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 16%,var(--panel));color:var(--accent)}:root[data-sidebar=collapsed] .sidebar{gap:14px;overflow-x:hidden;padding:16px 12px}.brand{display:block}.brand-logo{display:block;width:min(236px,100%);height:auto}.brand-logo-full{aspect-ratio:1246 / 538;overflow:hidden}.brand-logo-full svg{display:block;width:100%;height:100%}.brand-logo-compact{display:none}:root[data-sidebar=collapsed] .brand{display:grid;place-items:center}:root[data-sidebar=collapsed] .brand-logo-full{display:none}:root[data-sidebar=collapsed] .brand-logo-compact{display:block;width:54px;height:54px;object-fit:contain}.sidebar-options{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0a}:root[data-sidebar=collapsed] .sidebar-options{flex-direction:column;justify-content:center;padding:7px}.project-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0a}:root[data-sidebar=collapsed] .project-panel{display:none}.project-panel summary{display:flex;align-items:center;gap:8px;cursor:pointer;color:#f5fbf8e6;font-size:13px;font-weight:820;letter-spacing:.02em;list-style:none;-webkit-user-select:none;user-select:none}.project-panel summary::-webkit-details-marker{display:none}.project-panel summary:after{content:"";flex:none;margin-left:auto;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .14s ease;opacity:.7}.project-panel[open] summary:after{transform:rotate(45deg)}.project-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.project-actions .secondary-action{width:100%;min-height:34px;border-color:#ffffff24;background:#ffffff0f;color:#f5fbf8e6}.project-panel .status-pill,.toolbar h2,.toolbar p{margin:0}.toolbar p{color:var(--muted)}.primary-action{min-height:42px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:750}.primary-action:hover{background:var(--accent-strong)}.theme-toggle,.sidebar-toggle,.settings-toggle{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#ffffff0f;color:#f5fbf8e6;font-size:17px;line-height:1;transition:background .12s ease,border-color .12s ease,color .12s ease}.theme-toggle:hover,.sidebar-toggle:hover,.settings-toggle:hover{background:#ffffff1f;border-color:#ffffff47}.sidebar-toggle{font-size:12px;font-weight:850;letter-spacing:0}.settings-toggle{font-size:18px}.status-pill{position:relative;overflow:hidden;padding:9px 11px 9px 26px;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#f5fbf8c7;text-overflow:ellipsis;white-space:nowrap}.status-pill:before{position:absolute;top:50%;left:11px;width:7px;height:7px;border-radius:50%;background:#f5fbf86b;content:"";transform:translateY(-50%)}.status-pill[data-health=ready]:before{background:#43d6a0}.status-pill[data-health=incomplete]:before,.status-pill[data-health=invalid]:before,.status-pill[data-health=incompatible]:before{background:#ef7b72}.status-pill[data-health=migration]:before,.status-pill[data-health=bootstrapping]:before{background:#e4bd55}.section-tabs{display:flex;flex:1 0 auto;flex-direction:column;gap:7px}.tab[data-placement=bottom]{margin-top:0}.tab[data-placement=bottom].is-bottom-start{margin-top:auto}.nav-section-label{margin:8px 4px 0;color:#f5fbf87a;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}:root[data-sidebar=collapsed] .nav-section-label{width:32px;height:1px;margin:5px auto;overflow:hidden;background:#ffffff29;color:transparent}.tab[hidden],.nav-section-label[hidden]{display:none}.settings-dialog{display:none;grid-template-rows:auto minmax(0,1fr) auto;width:min(900px,calc(100vw - 36px));height:min(780px,calc(100vh - 36px));max-height:min(780px,calc(100vh - 36px));padding:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);box-shadow:0 28px 90px #00000052}.settings-dialog[open]{display:grid}.settings-dialog::backdrop{background:#080e0da8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.action-confirm-dialog{width:min(440px,calc(100vw - 32px));padding:0;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);box-shadow:0 24px 80px #0000006b}.action-confirm-dialog::backdrop{background:#080e0db3}.action-confirm-dialog form{display:grid;gap:18px;padding:20px}.action-confirm-dialog p{margin:0;line-height:1.55}.action-confirm-dialog form>div{display:flex;justify-content:flex-end;gap:8px}.action-prompt-dialog label{display:grid;gap:8px}.action-prompt-dialog label>span{font-weight:700}.settings-dialog-head,.settings-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.settings-dialog-head h2,.settings-dialog-head p{margin:0}.settings-title-line{display:flex;align-items:center;gap:10px}.settings-version{display:inline-flex;min-height:23px;align-items:center;padding:0 7px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--accent);font:750 10px/1 ui-monospace,monospace}.settings-dialog-head p{margin-top:3px;color:var(--muted);font-size:13px}.settings-dialog-head .icon-action{flex:0 0 auto;width:34px;height:34px}.settings-dialog-body{display:grid;gap:0;min-height:0;overflow:auto;padding:0;background:color-mix(in oklab,var(--panel-soft) 52%,var(--panel))}.settings-section{--settings-section-accent: var(--accent);display:grid;gap:14px;padding:20px;border-left:3px solid var(--settings-section-accent);border-bottom:1px solid var(--line);background:var(--panel)}.settings-section:nth-child(2){--settings-section-accent: var(--gold);background:color-mix(in oklab,var(--panel) 96%,var(--gold))}.settings-section:nth-child(3){--settings-section-accent: #4c91a8}.settings-section:nth-child(4){--settings-section-accent: #a37bb8;background:color-mix(in oklab,var(--panel) 96%,#a37bb8)}.settings-section:nth-child(5){--settings-section-accent: #b57965}.settings-section:last-child{border-bottom:0}.settings-section>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:11px;border-bottom:1px solid color-mix(in oklab,var(--settings-section-accent) 28%,var(--line))}.settings-section>header h3,.settings-section>header p{margin:0}.settings-section>header h3{color:color-mix(in oklab,var(--settings-section-accent) 74%,var(--ink));font-size:16px}.settings-section>header p{margin-top:3px;color:var(--muted);font-size:12px}.settings-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-project-grid select{min-height:40px}.project-rule-settings{display:grid;gap:12px;padding:0}.settings-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.module-rule-settings{display:grid;gap:16px}.project-rule-settings h4{margin:0;font-size:14px}.project-rule-settings>.field select{min-height:40px}.project-rule-settings>.field small{color:var(--muted);font-size:11px;line-height:1.4}.online-service-settings{display:grid;gap:12px}.online-service-toggle{margin:0}.online-service-body{display:grid;gap:12px;padding-top:4px}.online-service-body[hidden],.online-service-activation[hidden],.online-service-connected-actions[hidden]{display:none}.online-service-status{display:grid;gap:2px;border-left:3px solid var(--line);padding:8px 11px}.online-service-status.is-connected{border-left-color:var(--accent)}.online-service-status strong{font-size:12px}.online-service-status span,.online-service-feedback{color:var(--muted);font-size:11px}.online-service-activation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.online-service-activation>button{grid-column:1 / -1;justify-self:start}.online-service-connected-actions{display:flex;justify-content:flex-start}.online-service-feedback{min-height:1.2em;margin:0}.online-service-feedback.is-error{color:var(--warn)}.online-service-recovery{border-top:1px solid var(--line);padding-top:9px}.online-service-recovery summary{color:var(--muted);cursor:pointer;font-size:11px}.online-service-recovery .field{margin-top:9px}.discord-integration-settings{margin-top:8px;border-top:1px solid var(--line);padding-top:10px}.discord-integration-settings>summary{cursor:pointer;list-style:none}.discord-integration-settings>summary::-webkit-details-marker{display:none}.discord-integration-settings>summary strong,.discord-integration-settings>summary small{display:block}.discord-integration-settings>summary small{margin-top:3px;color:var(--muted);font-size:11px;font-weight:450}.discord-settings-body{display:grid;gap:12px;margin-top:12px}.discord-settings-body.is-disabled>:not(.online-service-toggle){opacity:.58}.person-discord-consent{align-self:end;min-height:72px}@media(max-width:720px){.online-service-activation{grid-template-columns:minmax(0,1fr)}}.project-rule-toggle{border-bottom:1px solid var(--line)}.project-food-bonus-toggle{justify-content:flex-start;gap:12px}.navigation-order-settings{display:grid}.navigation-order-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;border-top:1px solid var(--line);padding:7px 8px}.navigation-order-row:nth-child(2n){background:color-mix(in oklab,var(--panel-soft) 52%,transparent)}.navigation-order-row.is-hidden-view .navigation-order-copy{opacity:.5}.navigation-order-copy{display:flex;align-items:center;gap:9px;min-width:0}.navigation-order-copy strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.navigation-order-copy small{flex:0 0 auto;border:1px solid var(--line);border-radius:4px;color:var(--muted);padding:2px 5px;font-size:9px;font-weight:800;text-transform:uppercase}.navigation-order-index{width:24px;color:var(--muted);font:700 11px/1 ui-monospace,monospace;text-align:right}.navigation-order-actions{display:flex;gap:4px}.navigation-order-actions button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);padding:0}.navigation-order-actions button:hover:not(:disabled){background:var(--panel-soft)}.navigation-order-actions button:disabled{cursor:default;opacity:.28}.visibility-eye{position:relative;display:block;width:16px;height:11px;border:1.7px solid currentColor;border-radius:50%/60%}.visibility-eye:after{position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:currentColor;content:"";transform:translate(-50%,-50%)}.visibility-eye.is-closed:before{position:absolute;z-index:1;top:4px;left:-3px;width:20px;height:2px;border-radius:2px;background:var(--panel);box-shadow:0 0 0 1px currentColor;content:"";transform:rotate(-35deg)}.compact-action{min-height:32px;padding:0 10px;white-space:nowrap}.module-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.module-settings-group{min-width:0;padding-left:12px;border-left:2px solid color-mix(in oklab,var(--settings-section-accent) 42%,var(--line))}.module-settings-group h4{margin:0 0 8px;font-size:13px}#module-section[hidden],#module-rule-section[hidden]{display:none}.module-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:10px 0;border-top:1px solid var(--line);cursor:pointer}.module-toggle-copy{display:grid;gap:2px;min-width:0}.module-toggle-copy strong{font-size:13px}.module-toggle-copy small{color:var(--muted);line-height:1.35}.module-toggle-row input{flex:0 0 auto;width:18px;height:18px;accent-color:var(--accent)}.settings-dialog-actions{justify-content:space-between;border-top:1px solid var(--line);border-bottom:0}.settings-dialog-actions button{min-height:38px}.settings-save-status{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.settings-save-status i{display:block;width:8px;height:8px;border-radius:50%;background:#2c9b6f}.settings-save-status.is-dirty i{background:var(--gold)}.settings-save-status.is-saving i{background:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 18%,transparent)}.settings-save-status.is-error{color:var(--warn)}.settings-save-status.is-error i{background:var(--warn)}.tab{--nav-icon-frame: #020b1c;--nav-icon-main: #d9aa4b;--nav-icon-secondary: #206067;display:flex;align-items:center;gap:9px;min-height:38px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:transparent;color:#f5fbf8cc;text-align:left;padding:0 12px;transition:background .12s ease,border-color .12s ease,color .12s ease,min-height .18s ease}.tab-icon{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.32));opacity:.88;transition:filter .12s ease,opacity .12s ease}.tab-icon.is-loading{opacity:.35}.tab-icon svg{display:block;width:100%;height:100%;overflow:visible}.tab-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab:before{content:attr(data-icon);display:none;place-items:center;width:100%;height:100%;color:inherit;font-size:13px;font-weight:900;letter-spacing:0;line-height:1}.tab:hover{--nav-icon-frame: #80d4c6;--nav-icon-main: #1b150e;--nav-icon-secondary: #206067;border-color:#ffffff38;background:#ffffff0d}.tab:hover .tab-icon,.tab.is-active .tab-icon{filter:drop-shadow(0 1px 3px rgba(0,0,0,.4));opacity:1}.tab.is-active{--nav-icon-frame: #80d4c6;--nav-icon-main: #1b150e;--nav-icon-secondary: #206067;background:#243431;color:#fff;border-color:#fff3}:root[data-sidebar=collapsed] .section-tabs{gap:8px;justify-items:center}:root[data-sidebar=collapsed] .tab{justify-content:center;width:44px;min-height:44px;padding:0;overflow:hidden;text-align:center}:root[data-sidebar=collapsed] .tab:before{display:grid}:root[data-sidebar=collapsed] .tab.has-icon:before,:root[data-sidebar=collapsed] .tab-label{display:none}:root[data-sidebar=collapsed] .tab-icon{width:30px;height:30px;flex-basis:30px}:root[data-sidebar=collapsed] .tab[data-icon=PNJ]:before{font-size:10px}.panel-row{display:flex;justify-content:space-between;color:#f5fbf8c2}.panel-row strong{color:#fff}.workspace{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;min-width:0;min-height:0;overflow:hidden}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:22px 26px;border-bottom:1px solid var(--line);background:#ffffffb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}:root[data-theme=dark] .toolbar{background:#101817c7}.toolbar h2{font-size:24px;letter-spacing:0}.toolbar-actions{display:flex;gap:10px;align-items:center}.panel-controls{display:flex;gap:6px;align-items:center}.panel-control-pair{display:inline-flex;align-items:stretch}.panel-control-pair .panel-toggle{border-radius:6px 0 0 6px}.panel-pin{display:grid;width:27px;height:32px;place-items:center;border:1px solid var(--line);border-left:0;border-radius:0 6px 6px 0;background:var(--panel-soft);color:var(--muted);font-size:14px}.panel-pin:hover,.panel-pin:focus-visible{background:color-mix(in oklab,var(--accent) 14%,var(--panel));color:var(--accent)}.panel-toggle{height:32px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:0 9px;font-size:12px;font-weight:820}.panel-toggle:hover{border-color:color-mix(in oklab,var(--accent) 42%,var(--line));background:var(--panel-soft)}.panel-toggle.is-collapsed{color:var(--muted);opacity:.72}.toolbar-actions input,.toolbar-actions select{height:40px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}.toolbar-actions input{width:min(32vw,320px);padding:0 12px}.toolbar-actions select{padding:0 10px}.content-grid{display:grid;grid-template-columns:minmax(var(--list-pane-min, 320px),var(--list-pane-track, 1fr)) 8px minmax(var(--detail-pane-min, 360px),var(--detail-pane-size, var(--detail-pane-default, 480px)));gap:8px;height:100%;min-height:0;overflow:hidden;padding:18px}:root[data-list-pane=collapsed] .content-grid{grid-template-columns:0 8px minmax(0,1fr)}:root[data-detail-pane=collapsed] .content-grid{grid-template-columns:minmax(0,1fr) 8px 0}:root[data-panel-direction=vertical] .content-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(var(--list-pane-min, 220px),var(--list-pane-track, 1fr)) 8px minmax(var(--detail-pane-min, 220px),var(--detail-pane-size, var(--detail-pane-default, 360px)))}:root[data-panel-direction=vertical][data-list-pane=collapsed] .content-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:0 8px minmax(0,1fr)}:root[data-panel-direction=vertical][data-detail-pane=collapsed] .content-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 8px 0}:root[data-view=locations] .list-pane{overflow:hidden;padding:0}:root[data-view=sessions] .list-pane{overflow:auto;padding:14px}:root[data-view=locations] .detail-pane{min-height:0}:root[data-view=sessions] .detail-pane{max-height:none}:root[data-view=writing] .list-pane{overflow:auto;padding:12px}:root[data-view=writing] .detail-pane{overflow:hidden;padding:0}:root[data-view=locations] .card-list{display:block;height:100%;min-height:0}.list-pane,.detail-pane{min-width:0;min-height:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.relation-toolbar{position:sticky;top:0;z-index:3}.relation-empty{margin-top:10px}.relation-row{position:relative;display:grid;gap:7px;width:100%;min-height:76px;padding:13px 38px 13px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.relation-row:hover,.relation-row.is-selected{background:var(--panel-soft)}.relation-row.is-selected{box-shadow:inset 3px 0 0 var(--accent)}.relation-row-entities,.relation-row-meta{display:flex;align-items:center;min-width:0}.relation-row-entities{gap:7px}.relation-row-entities strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relation-row-entities>span{color:var(--accent)}.relation-row-meta{justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.relation-tone{position:absolute;top:50%;right:15px;width:10px;height:10px;border-radius:50%;background:var(--muted);transform:translateY(-50%)}.relation-tone.is-positive{background:#2caa75}.relation-tone.is-mixed{background:#d2a53f}.relation-tone.is-negative{background:#cf6267}.relation-form{padding-bottom:22px}.relation-form select,.relation-form input{min-width:0}.relation-form #relation-body{min-height:220px}.relation-timeline-shell{display:grid;gap:14px;padding-top:6px}.relation-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.relation-timeline-head h4,.relation-timeline-head p{margin:0}.relation-timeline-head h4{font-size:15px}.relation-timeline-head p{margin-top:3px;color:var(--muted);font-size:12px}.relation-timeline-preview{display:flex;gap:4px;min-height:74px;overflow-x:auto;padding:2px 0 8px}.relation-phase-preview{position:relative;display:grid;flex:1 0 150px;align-content:center;gap:2px;min-width:150px;max-width:240px;min-height:64px;padding:10px 12px 9px;border:1px solid var(--line);border-top:4px solid var(--muted);background:var(--panel-soft)}.relation-phase-preview:not(:last-child):after{position:absolute;top:27px;right:-7px;z-index:2;color:var(--muted);content:"›";font-size:18px}.relation-phase-preview.is-positive{border-top-color:#2caa75}.relation-phase-preview.is-mixed{border-top-color:#d2a53f}.relation-phase-preview.is-negative{border-top-color:#cf6267}.relation-phase-preview span,.relation-phase-preview small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.relation-phase-preview strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.relation-timeline-editor{display:grid;gap:12px}.relation-phase-card{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:6px;background:color-mix(in oklab,var(--panel-soft) 60%,var(--panel))}.relation-phase-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.relation-phase-head>div:first-child{display:grid;gap:2px;min-width:0}.relation-phase-head span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.relation-phase-head strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.relation-phase-actions{display:flex;gap:5px}.relation-phase-actions .icon-action{width:30px;height:30px;min-height:30px}.relation-phase-card textarea{min-height:76px}.relation-phase-history{display:grid;gap:8px}.relation-history-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.relation-history-links{display:flex;flex-wrap:wrap;gap:6px}.relation-history-chip{display:inline-flex;align-items:center;min-width:0;max-width:100%;border:1px solid color-mix(in oklab,var(--accent) 35%,var(--line));border-radius:999px;background:color-mix(in oklab,var(--accent) 8%,var(--panel));color:var(--ink);font-size:11px}.relation-history-chip>span{overflow:hidden;padding:5px 4px 5px 9px;text-overflow:ellipsis;white-space:nowrap}.relation-history-chip button{width:27px;height:27px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted)}.relation-history-chip button:hover{color:var(--warn)}.relation-history-empty{color:var(--muted);font-size:11px;font-style:italic}.session-relation-perceptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.session-relation-perceptions>div{display:grid;gap:4px;padding:10px 12px;border-left:3px solid var(--accent);background:var(--panel-soft)}.session-relation-perceptions span{color:var(--muted);font-size:10px;font-weight:750}.session-relation-perceptions strong{font-size:13px}.session-relation-summary{margin:0;padding:12px 0;line-height:1.55}.entity-relations-list{display:grid;gap:7px;padding-top:10px}.entity-relation-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);text-align:left}.entity-relation-link:hover{border-color:color-mix(in oklab,var(--accent) 45%,var(--line));background:var(--panel-soft)}.entity-relation-link>span:first-child{display:grid;gap:2px;min-width:0}.entity-relation-link small,.entity-relation-link>span:last-child{color:var(--muted);font-size:11px}:root[data-list-pane=collapsed] .list-pane,:root[data-detail-pane=collapsed] .detail-pane{visibility:hidden;min-width:0;min-height:0;padding:0;border:0;overflow:hidden;box-shadow:none}.panel-resizer{align-self:stretch;border:0;border-radius:999px;background:transparent;cursor:col-resize;position:relative}:root[data-panel-direction=vertical] .panel-resizer{cursor:row-resize}.panel-resizer:before{content:"";position:absolute;inset:12px 2px;border-radius:999px;background:color-mix(in oklab,var(--line) 70%,transparent)}.panel-resizer:hover:before,.panel-resizer:focus-visible:before,:root.is-resizing-panels .panel-resizer:before{background:var(--accent)}:root.is-resizing-panels,:root.is-resizing-panels *{cursor:col-resize;-webkit-user-select:none;user-select:none}:root.is-resizing-panels-vertical,:root.is-resizing-panels-vertical *{cursor:row-resize}.list-pane{overflow:auto;padding:12px}.card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.card-list.is-table-view{display:block}.card-list>*,.people-directory-list>*,.image-library-grid>*,.token-gallery .token-choice{content-visibility:auto;contain-intrinsic-size:auto 72px}.workspace-desk-layer{position:fixed;inset:0;z-index:500;pointer-events:none}.workspace-desk-window{position:absolute;display:grid;grid-template-rows:auto minmax(0,1fr);min-width:340px;min-height:260px;max-width:calc(100vw - 16px);max-height:calc(100vh - 56px);overflow:hidden;resize:both;border:1px solid color-mix(in oklab,var(--accent) 30%,var(--line));border-radius:8px;background:var(--panel);box-shadow:0 18px 48px #00000057;pointer-events:auto}.workspace-desk-window[hidden],.workspace-desk-window.is-minimized{display:none}.workspace-desk-window-head{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:color-mix(in oklab,var(--panel-soft) 88%,var(--accent));padding:5px 7px 5px 12px;cursor:move;-webkit-user-select:none;user-select:none;touch-action:none}.workspace-desk-window-head>span{display:grid;min-width:0}.workspace-desk-window-head strong,.workspace-desk-window-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-desk-window-head strong{font-size:13px}.workspace-desk-window-head small{color:var(--muted);font-size:10px}.workspace-desk-window-head>div{display:flex;gap:3px}.workspace-desk-window-head button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--ink);font-weight:800}.workspace-desk-window-head button:hover{background:var(--panel);color:var(--accent)}.workspace-desk-window-body{min-width:0;min-height:0;overflow:auto;padding:10px}.workspace-desk-live.detail-pane,.workspace-desk-live.card-list{display:block;width:auto;height:auto;min-width:0;max-width:none;overflow:visible;border:0;padding:0;background:transparent;box-shadow:none}.workspace-desk-live.card-list>*{margin-bottom:8px}.workspace-desk-shelf{position:fixed;right:12px;bottom:10px;left:calc(var(--sidebar-width) + 12px);z-index:550;display:flex;max-width:calc(100vw - var(--sidebar-width) - 24px);gap:6px;overflow-x:auto;pointer-events:auto}.workspace-desk-shelf[hidden]{display:none}:root[data-sidebar=collapsed] .workspace-desk-shelf{left:calc(var(--sidebar-collapsed-width) + 12px);max-width:calc(100vw - var(--sidebar-collapsed-width) - 24px)}.workspace-desk-tab{max-width:220px;min-height:32px;overflow:hidden;border:1px solid color-mix(in oklab,var(--accent) 28%,var(--line));border-radius:6px;background:var(--panel);color:var(--ink);padding:0 11px;box-shadow:0 6px 20px #0000003d;font-size:11px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.workspace-desk-tab.is-active{color:var(--accent)}.character-list-toolbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.character-list-toolbar.is-bottom{margin-top:2px}.character-list-toolbar span{color:var(--muted);font-size:13px;font-weight:760}.character-card{display:grid;grid-template-columns:56px minmax(0,1fr) 12px;align-items:center;gap:11px;width:100%;min-height:78px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);text-align:left}.character-card:hover,.character-card.is-selected{border-color:#26796f8c;background:var(--panel-soft)}.avatar{display:grid;width:56px;height:56px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:var(--panel-soft);color:var(--accent-strong);font-weight:800}.avatar img{width:100%;height:100%;object-fit:cover}.card-main{min-width:0}.card-title,.card-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-title{font-weight:800}.card-meta{margin-top:4px;color:var(--muted);font-size:13px}.visibility-dot{width:10px;height:10px;border-radius:50%;background:var(--warn)}.visibility-dot.is-visible{background:var(--accent)}.detail-pane{overflow:auto;padding:18px}.detail-empty,.empty-state{display:grid;min-height:220px;place-items:center;color:var(--muted);text-align:center}.empty-state.is-hidden{display:none}.empty-state.compact{min-height:120px}.detail-header{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;align-items:center;margin-bottom:18px}.detail-avatar{display:grid;width:84px;height:84px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:var(--panel-soft);color:var(--accent-strong);font-size:22px;font-weight:800}.detail-avatar img{width:100%;height:100%;object-fit:cover}.detail-title{min-width:0}.detail-title h3{margin:0;overflow-wrap:anywhere;font-size:22px}.detail-path{margin-top:5px;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.detail-path-actions{margin-top:10px}.player-path-actions{display:flex;margin-top:8px}.session-note-actions{margin-bottom:10px}.path-actions{display:flex;flex-wrap:wrap;gap:6px}.path-actions.is-compact{gap:5px}.path-action{min-width:34px;height:28px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--accent-strong);font-size:11px;font-weight:850;text-transform:uppercase}.path-action:hover{border-color:color-mix(in oklab,var(--accent) 46%,var(--line));background:var(--panel-soft)}.path-action:disabled{cursor:not-allowed;color:var(--muted);opacity:.5}.character-age-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:-4px 0 16px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.character-age-panel div{display:grid;gap:3px}.character-age-panel span,.character-age-panel p{margin:0;color:var(--muted);font-size:12px}.character-age-panel strong{color:var(--ink);font-size:18px}.frontmatter-panel{margin:-4px 0 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.frontmatter-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;cursor:pointer;padding:0 12px;color:var(--ink);font-size:13px;font-weight:800}.frontmatter-panel summary span{color:var(--muted);font-weight:760}.frontmatter-panel dl{display:grid;gap:7px;margin:0;padding:0 12px 12px}.frontmatter-panel dl div{display:grid;grid-template-columns:minmax(90px,.45fr) minmax(0,1fr);gap:10px;min-width:0}.frontmatter-panel dt{color:var(--muted);font-size:12px;font-weight:760}.frontmatter-panel dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:12px}.character-rename-panel,.npc-promotion-panel{display:grid;gap:10px;margin:-4px 0 16px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.character-rename-copy h4,.character-rename-copy p{margin:0}.character-rename-copy h4{font-size:14px}.character-rename-copy p{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.4}.character-rename-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr) auto;gap:8px;align-items:end}.character-date-row{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr)) auto;gap:8px;align-items:end}.npc-promotion-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.55fr) auto;gap:8px;align-items:end}.npc-promotion-visible{min-height:38px;padding:8px 10px}.roll20-panel{margin:-4px 0 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.roll20-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;cursor:pointer;padding:0 12px;color:var(--ink);font-size:13px;font-weight:800}.roll20-panel summary span{color:var(--muted);font-weight:760}.roll20-controls{display:grid;grid-template-columns:minmax(130px,.85fr) 92px 92px 92px minmax(180px,1.35fr);gap:10px;padding:0 12px 12px}.roll20-builder{display:grid;gap:10px;margin:0 12px 12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.roll20-builder-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end}.roll20-ability-meta{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,.55fr) minmax(180px,1fr);gap:10px}.roll20-format-toolbar{display:flex;flex-wrap:wrap;gap:7px}.roll20-format-toolbar .secondary-action{min-height:32px;padding:0 10px;font-size:12px}.roll20-builder textarea{width:100%;min-height:220px;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.roll20-builder-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.roll20-generated{margin:0 12px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.roll20-generated summary{min-height:38px}.roll20-global-actions{display:flex;justify-content:flex-end;padding:0 12px 12px}.roll20-blocks{display:grid;gap:10px;padding:0 12px 12px}.roll20-block{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.roll20-block header{display:flex;align-items:start;justify-content:space-between;gap:10px}.roll20-block h4,.roll20-block p{margin:0}.roll20-block h4{font-size:14px}.roll20-block p{margin-top:2px;color:var(--muted);font-size:12px}.roll20-block textarea{width:100%;min-height:118px;max-height:280px;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.form-stack{display:grid;gap:14px}.field{display:grid;gap:7px}.field label,.inline-field span{color:var(--ink);font-size:13px;font-weight:760}.inline-field{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.inline-field input{width:20px;height:20px;accent-color:var(--accent)}.wiki-link-input.is-wiki-named{color:var(--accent-strong);font-style:italic}.wiki-link-input:focus{color:inherit;font-style:normal;font-family:var(--mono, ui-monospace, monospace);font-size:.94em}.ruleset-source-cell{white-space:nowrap}.ruleset-source-cell>input{width:calc(100% - 46px)}.wiki-link-actions{display:inline-flex;gap:2px;margin-left:4px;vertical-align:middle}.wiki-link-action{border:1px solid color-mix(in oklab,var(--accent-strong) 30%,transparent);border-radius:4px;background:color-mix(in oklab,var(--accent) 8%,transparent);color:var(--accent-strong);cursor:pointer;font-size:11px;line-height:1;padding:3px 4px;opacity:.6;transition:opacity .12s ease,background .12s ease}.wiki-link-action:hover{opacity:1;background:color-mix(in oklab,var(--accent) 20%,transparent)}.session-rename-field{flex-wrap:wrap}.session-rename-field>small{flex:1 0 100%;order:3;color:var(--muted);font-size:11px}.token-drop{display:grid;min-height:116px;place-items:center;border:1px dashed #9db0ab;border-radius:8px;background:var(--panel);color:var(--muted);text-align:center}.token-drop.is-over{border-color:var(--accent);background:var(--panel-soft);color:var(--accent-strong)}.field textarea,.field input,.field select{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}.field input,.field select{height:38px;padding:0 10px}.field textarea{min-height:240px;resize:vertical;padding:10px;line-height:1.5}.field textarea.token-list-editor{min-height:92px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.linked-note-picker{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.linked-note-picker .secondary-action{min-height:38px;white-space:nowrap}.map-token-fields .linked-note-picker{grid-template-columns:minmax(0,1fr) auto}.detail-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;margin:16px -18px -18px;padding:14px 18px;border-top:1px solid var(--line);background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:root[data-theme=dark] .detail-actions{background:#17211ff0}.secondary-action,.save-action{min-height:38px;border-radius:8px;padding:0 14px;font-weight:740}.secondary-action{border:1px solid var(--line);background:var(--panel);color:var(--ink)}.save-action{border:0;background:var(--accent);color:#fff}.save-action:hover{background:var(--accent-strong)}.secondary-action:disabled,.save-action:disabled{cursor:not-allowed;opacity:.45}.toast{position:fixed;z-index:10000;right:18px;bottom:18px;max-width:min(420px,calc(100vw - 36px));padding:12px 14px;border-radius:8px;background:#18201f;color:#fff;box-shadow:var(--shadow)}dialog[open]>.toast{position:absolute}.image-library-toolbar,.image-library-grid,.image-library-empty{grid-column:1 / -1}.image-library-toolbar{position:sticky;top:0;z-index:4;display:grid;gap:9px;padding:10px;border:1px solid var(--line);border-radius:8px;background:color-mix(in oklab,var(--panel) 94%,transparent);box-shadow:0 8px 24px color-mix(in oklab,var(--ink) 8%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.image-library-toolbar-row,.image-library-controls,.image-library-controls label{display:flex;align-items:center}.image-library-toolbar-row{justify-content:space-between;gap:12px}.image-library-toolbar-row>strong{font-size:13px}.image-library-controls{flex-wrap:wrap;justify-content:flex-end;gap:8px}.image-library-controls label{gap:6px;color:var(--muted);font-size:11px;font-weight:760}.image-library-controls select{min-width:108px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--ink);padding:0 8px}.image-library-drop{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px dashed color-mix(in oklab,var(--accent) 54%,var(--line));border-radius:6px;background:color-mix(in oklab,var(--accent) 6%,var(--panel));color:var(--ink);transition:background .12s ease,border-color .12s ease}.image-library-drop span{color:var(--accent-strong);font-size:12px;font-weight:780}.image-library-drop.is-over{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 16%,var(--panel))}.image-library-drop.is-busy{cursor:progress;opacity:.68}.image-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.image-library-card{display:grid;grid-template-rows:minmax(118px,1fr) auto;min-width:0;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);text-align:left}.image-library-card:hover,.image-library-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 18%,transparent)}.image-library-thumb{position:relative;display:grid;width:100%;aspect-ratio:4 / 3;place-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:var(--panel-soft);color:var(--muted);font-size:11px;font-weight:820}.image-library-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.image-library-card-copy{display:grid;gap:3px;min-width:0;padding:9px 10px 10px}.image-library-card-copy strong,.image-library-card-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-library-card-copy strong{font-size:13px}.image-library-card-copy span{color:var(--muted);font-size:10px}.image-library-empty{display:grid;min-height:260px;place-content:center;gap:5px;color:var(--muted);text-align:center}.image-library-empty strong{color:var(--ink)}.image-library-detail{display:grid;align-content:start;gap:16px}.image-library-preview{position:relative;display:grid;min-height:260px;max-height:min(54vh,640px);margin:0;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--muted);font-size:14px;font-weight:820}.image-library-preview img{position:relative;z-index:1;display:block;width:100%;max-height:min(54vh,640px);object-fit:contain}.image-library-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.image-library-detail>header>div:first-child{min-width:0}.image-library-detail h3,.image-library-detail h4,.image-library-detail p{margin:0}.image-library-detail h3{overflow-wrap:anywhere;font-size:22px}.image-library-detail h4{margin-bottom:9px;font-size:13px}.image-library-detail>header p{margin-top:5px;overflow-wrap:anywhere;color:var(--muted);font-size:11px}.image-library-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.image-library-file-tools{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:8px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:12px 0}.image-library-file-tools .field{margin:0}.image-library-meta>div{display:grid;gap:3px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft)}.image-library-meta dt{color:var(--muted);font-size:10px;font-weight:760}.image-library-meta dd{margin:0;overflow:hidden;font-size:12px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.image-reference-list{display:flex;flex-wrap:wrap;gap:6px}.image-library-usage-list{display:grid;gap:6px}.image-library-usage-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft)}.image-library-usage-row>span{display:grid;gap:2px;min-width:0}.image-library-usage-row strong,.image-library-usage-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-library-usage-row strong{font-size:12px}.image-library-usage-row small,.image-library-usage-empty{color:var(--muted);font-size:10px}.token-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:9px;min-height:210px;max-height:min(70vh,720px);resize:vertical;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.token-gallery-heading{grid-column:1 / -1;color:var(--muted);font-size:12px;font-weight:780;text-transform:uppercase}.token-gallery-toolbar{grid-column:1 / -1;display:flex;position:sticky;top:0;z-index:2;align-items:center;justify-content:space-between;gap:8px;padding-bottom:2px;background:var(--panel)}.token-gallery-search{min-width:0;height:34px;flex:1 1 180px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--ink);font:inherit}.token-gallery-search:focus{outline:2px solid color-mix(in oklab,var(--accent) 28%,transparent);outline-offset:1px}.token-gallery-empty{grid-column:1 / -1;padding:18px 10px;color:var(--muted);text-align:center}.token-choice{display:grid;grid-template-rows:68px auto;gap:7px;min-width:0;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--ink)}.token-choice:hover,.token-choice.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 22%,transparent)}.token-choice img{width:68px;height:68px;justify-self:center;object-fit:cover;border-radius:50%;background:var(--panel)}.token-choice span{overflow:hidden;color:var(--muted);font-size:11px;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.location-row{display:grid;grid-template-columns:48px minmax(0,1fr) 42px;align-items:center;gap:10px;width:100%;min-width:250px;min-height:68px;margin-bottom:9px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);text-align:left}.location-row:hover,.location-row.is-selected{border-color:#26796f8c;background:var(--panel-soft)}.location-row-icon{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--accent-strong);font-size:11px;font-weight:850}.location-row-main{min-width:0}.location-row-main strong,.location-row-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-row-main span{margin-top:4px;color:var(--muted);font-size:12px}.location-row-count{justify-self:end;min-width:32px;padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--accent-strong);font-size:12px;font-weight:850;text-align:center}.map-editor{display:grid;gap:14px;min-height:100%}:root[data-view=locations] .map-editor{align-content:start}.location-place-desc{margin-top:4px;white-space:pre-wrap;line-height:1.55;color:var(--ink)}.location-place-actions{margin-top:8px}.map-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.map-actions .is-active{border-color:var(--accent);background:var(--accent);color:#fff}.locations-workspace{display:grid;grid-template-columns:clamp(140px,var(--location-tree-size, 200px),440px) 6px minmax(0,1fr);height:100%;min-height:0}.location-tree{min-height:0;overflow:auto;padding:10px 8px}.location-tree-toolbar{position:sticky;top:-10px;z-index:2;display:flex;margin:-4px -2px 8px;padding:6px 2px;background:var(--panel);border-bottom:1px solid var(--line)}.location-tree-toolbar button{width:100%}.location-tree-resizer{position:relative;cursor:col-resize;touch-action:none}.location-tree-resizer:before{content:"";position:absolute;inset:8px 2px;border-radius:999px;background:var(--line)}.location-tree-resizer:hover:before{background:var(--accent)}.location-tree-heading{margin:12px 6px 4px;color:var(--muted);font-size:11px;font-weight:820;text-transform:uppercase}.location-tree-heading-toggle{display:block;width:calc(100% - 4px);padding:4px 6px;border:0;border-radius:6px;background:transparent;text-align:left;cursor:pointer}.location-tree-heading-toggle:hover{background:var(--panel-soft);color:var(--ink)}.location-tree-node{display:flex;align-items:center;gap:6px;width:100%;padding:4px 6px;padding-left:calc(6px + var(--tree-depth, 0) * 14px);border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12.5px;text-align:left;cursor:pointer}.location-tree-node.is-map{color:var(--ink);font-weight:740}.location-tree-node:hover{background:var(--panel-soft)}.location-tree-node.is-selected{background:var(--panel-soft);color:var(--accent-strong)}.location-tree-glyph{flex:none;width:14px;color:var(--accent-strong);font-size:10px;text-align:center}.location-tree-glyph.is-toggle{cursor:pointer;border-radius:4px}.location-tree-glyph.is-toggle:hover{background:var(--panel);color:var(--accent)}.location-tree-node:not(.is-map) .location-tree-glyph{color:var(--muted)}.location-tree-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-tree-empty{padding:10px 6px;color:var(--muted);font-size:12px}.location-map-main{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;min-height:0;padding:12px}.map-main-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.location-map-main .map-actions{justify-content:flex-start}.location-map-main .map-stage-wrap{grid-template-rows:minmax(0,1fr) auto;min-height:0}:root[data-view=locations] .location-map-main .map-stage{max-height:none;height:100%}.map-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:2px}.map-breadcrumb-item{padding:3px 7px;border:0;border-radius:6px;background:transparent;color:var(--accent-strong);font:inherit;font-weight:720;cursor:pointer}.map-breadcrumb-item:hover{background:var(--panel-soft)}.map-breadcrumb-item.is-current{color:var(--ink);cursor:default}.map-breadcrumb-sep{color:var(--muted)}.map-note-body{width:100%;min-height:120px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:13px/1.5 inherit;resize:vertical}.map-note-editor .map-note-body,.map-note-editor .detail-actions{margin:8px 12px 0;width:calc(100% - 24px)}.location-editor-section>.app-section-content,.map-background-editor>.app-section-content,.map-geometry-editor>.app-section-content{padding:10px 12px 12px}.location-editor-section .map-note-body{min-height:112px}.location-visibility-field{justify-content:flex-start}.location-visibility-field input{width:16px;height:16px;accent-color:var(--accent)}.map-image-editor{display:grid;gap:9px}.map-image-warning{margin:0;border-left:3px solid var(--warn);background:color-mix(in oklab,var(--warn) 8%,var(--panel));color:var(--warn);padding:8px 10px;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.map-stage-missing{gap:6px;padding:28px;text-align:center}.map-stage-missing strong{color:var(--warn)}.map-stage-missing span,.map-stage-missing small{max-width:520px;overflow-wrap:anywhere}.map-token-card .form-grid.three-columns{gap:8px}.map-token-card .form-grid.three-columns .field span{font-size:11px}.map-token-card .form-grid.three-columns input{height:32px;padding:0 6px}.location-place-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.location-place-preview{display:grid;place-items:center;height:100%;padding:24px}.location-place-preview-inner{display:grid;gap:10px;max-width:440px;text-align:center}.location-place-preview-desc{color:var(--muted);white-space:pre-wrap}.map-layer-toggle{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-size:12px;font-weight:780}.map-layer-toggle input{width:14px;height:14px;accent-color:var(--accent)}.map-stage-wrap{display:grid;gap:8px;min-height:0}.map-stage{position:relative;width:100%;max-height:min(66vh,720px);align-self:start;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);touch-action:none}.map-stage-content{position:relative;min-width:min(100%,520px);margin:0 auto;transform-origin:top left}.map-stage.is-panning{cursor:grabbing}.map-base-image{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}:root[data-view=locations] .map-base-image{min-width:min(100%,760px)}.map-stage-empty{display:grid;min-height:240px;place-items:center;color:var(--muted)}.map-hint{margin:0}.map-overlay-layer{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}.map-overlay-shape{cursor:pointer;pointer-events:visiblePainted;stroke-width:.65;vector-effect:non-scaling-stroke}.map-overlay-shape.is-zone{fill-opacity:var(--overlay-opacity, .28);stroke-opacity:.88}.map-overlay-shape.is-front{fill:none;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:var(--overlay-opacity, .9);stroke-dasharray:2.4 1.6}.map-overlay-shape.is-selected{stroke:var(--accent-strong);stroke-width:1.35}.map-overlay-point{fill:#fff;stroke:var(--accent-strong);stroke-width:.35;pointer-events:none;vector-effect:non-scaling-stroke}.map-overlay-hitpoint{cursor:grab;fill:transparent;pointer-events:all}.map-overlay-hitpoint:active{cursor:grabbing}.map-context-menu{position:fixed;z-index:100;min-width:178px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.map-context-menu button{width:100%;min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--warn);font-weight:760;text-align:left}.map-context-menu button:hover{background:color-mix(in oklab,var(--warn) 12%,transparent)}.map-token{position:absolute;z-index:2;display:grid;width:var(--map-token-size, 30px);height:var(--map-token-size, 30px);place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;transform:translate(-50%,-50%);touch-action:none}.map-token img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.28));pointer-events:none}.map-token img[data-shape=hex]{clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%)}.map-token.is-selected{outline:2px solid var(--accent);outline-offset:3px}.map-token-dot{display:grid;width:22px;height:22px;place-items:center;border:2px solid white;border-radius:50%;background:var(--accent);font-size:10px;font-weight:850;box-shadow:0 5px 10px #00000047}.map-token-editor{min-width:0}.map-token-card{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.map-link-status{padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--muted);font-size:12px;font-weight:760;overflow-wrap:anywhere}.map-link-status.is-ok{border-color:color-mix(in oklab,var(--accent) 42%,var(--line));color:var(--accent-strong)}.map-link-status.is-note{border-color:color-mix(in oklab,var(--gold) 42%,var(--line));color:var(--gold)}.map-link-status.is-missing{border-color:color-mix(in oklab,var(--warn) 46%,var(--line));color:var(--warn)}.map-token-fields{display:grid;gap:10px}.map-token-fields .field{min-width:0}.map-token-actions{position:static;flex-wrap:wrap;margin:0;padding:0;border-top:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.danger-action{color:#a23b3b}.sessions-calendar-panel{display:grid;gap:14px}.session-timeline{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.session-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.session-timeline-head div{display:grid;gap:2px}.session-timeline-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.session-timeline-head strong{font-size:18px}.session-timeline-head span{color:var(--muted);font-size:12px}.session-date-filters{display:flex;flex-wrap:wrap;gap:8px}.session-date-filter{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--muted);font-size:12px;font-weight:780}.session-date-filter input{width:14px;height:14px;accent-color:var(--accent)}.session-date-filter:has(input:checked){border-color:color-mix(in oklab,var(--accent) 52%,var(--line));color:var(--ink)}.session-year-nav{display:grid;gap:10px}.session-year-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.session-year-field{width:120px}.session-year-rail{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.session-year-tick{display:grid;justify-items:center;gap:3px;min-width:56px;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--muted);padding:6px 8px;font-size:12px;font-weight:800}.session-year-tick.has-items{color:var(--ink)}.session-year-tick.is-selected{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 18%,var(--panel))}.session-year-tick strong{min-width:20px;border-radius:999px;background:var(--accent);color:var(--accent-ink);padding:1px 6px;font-size:10px}.session-timeline-track{position:relative;height:52px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.timeline-month{position:absolute;top:0;bottom:0;padding:8px 5px 0;border:0;border-right:1px solid color-mix(in oklab,var(--line) 76%,transparent);color:color-mix(in oklab,var(--ink) 72%,transparent);font-size:11px;font-weight:760;text-align:left}.timeline-marker{position:absolute;top:31px;width:10px;height:10px;border:2px solid white;border-radius:50%;background:var(--accent);box-shadow:0 2px 8px #0000003d;transform:translate(-50%)}.timeline-marker.status-planned{background:#6d6fb8}.timeline-marker.status-event{background:#b87536}.timeline-marker.status-quest{background:#4d7f52}.timeline-marker.status-birth{background:#2f8f73}.timeline-marker.status-birthday{background:#d38b3d}.timeline-marker.status-recurring{background:#7b68b3}.timeline-marker.status-relation{background:#8b6db5}.timeline-marker.status-death{background:#6e5b7f}.timeline-marker.status-start{background:#3387ad}.timeline-marker.status-end{background:#a35353}.timeline-marker.status-founded{background:#8c7c2f}.timeline-marker.status-custom{background:#58606f}.timeline-current{position:absolute;top:0;bottom:0;width:2px;background:#c73737;box-shadow:0 0 0 2px #c7373726}.faerun-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.faerun-month{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.faerun-month header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.faerun-month header span{color:var(--muted);font-size:12px}.faerun-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line)}.faerun-day{display:grid;grid-template-rows:auto minmax(34px,1fr);min-height:70px;padding:7px;border:0;background:var(--panel);color:var(--ink);text-align:left}.faerun-day:hover,.faerun-day.is-selected{outline:2px solid var(--accent);outline-offset:-2px}.faerun-day.is-current{box-shadow:inset 0 0 0 2px #c73737}.faerun-day.is-past{opacity:.76}.faerun-day.is-future{background:color-mix(in oklab,var(--panel) 84%,#eef2ff)}.day-number{font-size:12px;font-weight:850}.day-events{display:grid;align-content:start;gap:3px;min-width:0}.day-event,.day-more{overflow:hidden;border-radius:5px;padding:2px 4px;background:color-mix(in oklab,var(--accent) 18%,transparent);color:var(--ink);font-size:10px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.day-event.status-planned{background:#6d6fb82e}.day-event.status-event{background:#b8753633}.day-event.status-quest{background:#4d7f5233}.day-event.status-birth{background:#2f8f7333}.day-event.status-birthday{background:#d38b3d38}.day-event.status-recurring{background:#7b68b333}.day-event.status-relation{background:#8b6db533}.day-event.status-death{background:#6e5b7f33}.day-event.status-start{background:#3387ad33}.day-event.status-end{background:#a3535333}.day-event.status-founded{background:#8c7c2f33}.day-event.status-custom{background:#58606f2e}.day-more{color:var(--muted)}.season-hiver{background:color-mix(in oklab,var(--panel) 78%,#dbe9f6)}.season-renouveau,.season-printemps{background:color-mix(in oklab,var(--panel) 78%,#dff0df)}.season-ete{background:color-mix(in oklab,var(--panel) 80%,#f3e7bd)}.season-chute-des-feuilles,.season-automne{background:color-mix(in oklab,var(--panel) 80%,#ead8c2)}.session-day-panel{display:grid;gap:14px}.session-day-events{display:flex;flex-wrap:wrap;gap:8px}.session-event-pill{display:inline-flex;align-items:center;gap:8px;min-height:34px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--ink);padding:0 12px;font-weight:760}.session-event-pill span{color:var(--muted);font-size:11px;text-transform:uppercase}.session-event-pill.is-selected{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 18%,var(--panel))}.session-event-new span{color:var(--accent-strong);font-size:14px}.session-day-empty{flex:1 1 100%}.session-form{display:grid;gap:12px}.players-table-wrap,.npcs-table-wrap,.objects-table-wrap{overflow:auto;width:100%}.players-table,.npcs-table,.objects-table{width:100%;border-collapse:collapse;table-layout:fixed}.players-table{min-width:100%}.players-view-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 0 10px}.players-subview-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin-bottom:10px;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft);padding:3px}.players-subview-switch button{min-height:32px;border:0;border-radius:5px;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:780}.players-subview-switch button:hover{color:var(--ink)}.players-subview-switch button.is-active{background:var(--panel);color:var(--accent-strong);box-shadow:0 1px 3px color-mix(in oklab,var(--ink) 10%,transparent)}.people-private-hint{color:var(--muted);font-size:10px;line-height:1.4}.people-directory-list{display:grid;gap:5px}.person-directory-row{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;align-items:center;gap:9px;width:100%;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink);padding:7px;text-align:left}.person-directory-row:hover,.person-directory-row.is-selected{border-color:var(--line);background:var(--panel-soft)}.person-directory-row.is-inferred{border-style:dashed;border-color:color-mix(in oklab,var(--line) 70%,transparent)}.person-directory-row.is-inferred .person-directory-avatar{opacity:.6}.person-inferred-notice{margin:0 0 4px;border-left:3px solid var(--gold, var(--line));background:var(--panel-soft);padding:9px 12px;color:var(--muted);font-size:12px;line-height:1.5}.person-directory-avatar{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--accent-strong);font-size:10px;font-weight:850}.person-directory-copy{display:grid;min-width:0}.person-directory-copy strong,.person-directory-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-directory-copy strong{font-size:12px}.person-directory-copy small{color:var(--muted);font-size:10px}.person-character-count{color:var(--accent-strong);font-size:11px;font-weight:820;text-align:center}.private-data-badge{align-self:start;border:1px solid color-mix(in oklab,var(--warn) 45%,var(--line));border-radius:999px;color:var(--warn);padding:4px 8px;font-size:9px;font-weight:820;text-transform:uppercase}.person-character-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px}.person-character-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;background:var(--panel);padding:8px}.person-character-option input{width:15px;height:15px;accent-color:var(--accent)}.person-character-option span{display:grid;min-width:0}.person-character-option strong,.person-character-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-character-option strong{font-size:11px}.person-character-option small{color:var(--muted);font-size:9px}.person-editor-section>.app-section-content{padding:10px 12px 12px}.objects-table{min-width:860px}.history-table-wrap{overflow:auto;width:100%}.history-table{width:100%;min-width:640px;border-collapse:collapse;table-layout:auto}.history-table th,.history-table td{padding:10px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.history-table th{position:sticky;top:0;z-index:1;background:var(--panel);color:var(--muted);font-size:12px;font-weight:820;text-transform:uppercase}.history-table tbody tr{cursor:pointer}.history-table tbody tr:hover,.history-table tbody tr.is-selected{background:var(--panel-soft)}.history-table td.hist-title-cell{width:100%}.history-table td.hist-lieu-cell{max-width:240px;overflow:hidden;text-overflow:ellipsis}.history-table td.hist-thread-cell{max-width:220px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis}.history-table th.hist-visible-th,.history-table td.hist-visible-cell{width:44px;text-align:center}.history-table td.hist-visible-cell .visibility-dot{display:inline-block;vertical-align:middle}.history-header{display:flex;align-items:center;gap:12px}.history-toolbar-summary{display:flex;align-items:center;gap:10px;flex:0 0 auto}.history-toolbar{flex-wrap:wrap}.history-sort-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;flex:1 1 330px;min-width:min(330px,100%)}.history-sort-controls select{width:100%;min-width:0;min-height:34px}.history-toolbar.is-bottom .history-toolbar-summary{width:100%;justify-content:space-between}.writing-toolbar{flex-wrap:wrap}.writing-manuscript-switcher{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}.writing-manuscript-switcher select{width:min(280px,calc(100% - 42px));min-height:38px}.writing-manuscript-switcher .icon-action{flex:0 0 36px;width:36px;height:36px;font-size:20px}.writing-export-select{flex:0 0 142px;width:142px;min-height:36px}.writing-toolbar.is-bottom{justify-content:space-between}.writing-outline{display:grid;gap:4px}.writing-section-row{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:62px;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);text-align:left}.writing-section-row:hover,.writing-section-row.is-selected{border-color:var(--line);background:var(--panel-soft)}.writing-section-row.is-selected{border-left:4px solid var(--accent);padding-left:7px}.writing-section-order{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:12px;font-weight:820}.writing-section-copy{display:grid;gap:3px;min-width:0}.writing-section-copy strong,.writing-section-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.writing-section-copy small{color:var(--muted);font-size:11px}.writing-workspace{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;height:100%;min-height:0;background:var(--panel)}.writing-editor-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;padding:18px 22px 12px}.writing-header-actions{display:flex;align-items:center;gap:10px}.writing-focus-toggle{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);padding:0;font-size:17px;line-height:1}.writing-focus-toggle:hover,.writing-focus-toggle[aria-pressed=true]{background:var(--panel-soft);color:var(--accent-strong)}.writing-title-field{display:grid;gap:5px}.writing-title-field label,.writing-meta-row label{color:var(--muted);font-size:11px;font-weight:820;text-transform:uppercase}.writing-title-field input{width:100%;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--ink);padding:2px 0 6px;font-size:24px;font-weight:780}.writing-title-field input:hover,.writing-title-field input:focus{border-bottom-color:var(--line);outline:0}.writing-save-state{display:inline-flex;align-items:center;gap:7px;min-height:30px;color:var(--muted);font-size:11px;white-space:nowrap}.writing-save-state span{width:8px;height:8px;border-radius:50%;background:var(--muted)}.writing-save-state.is-dirty span,.writing-save-state.is-recovered span{background:var(--gold)}.writing-save-state.is-saving span{background:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 18%,transparent)}.writing-save-state.is-saved span{background:#2c9b6f}.writing-save-state.is-error{color:var(--warn)}.writing-save-state.is-error span{background:var(--warn)}.writing-meta-row{display:grid;grid-template-columns:minmax(150px,.6fr) 90px minmax(0,1fr);align-items:end;gap:10px;padding:0 22px 12px}.writing-meta-row label{display:grid;gap:5px}.writing-meta-row input,.writing-meta-row select{width:100%;height:34px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);padding:0 8px;text-transform:none}.writing-meta-row .detail-path-actions{justify-self:end}.writing-format-toolbar{display:flex;align-items:center;gap:5px;min-height:48px;padding:7px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-soft)}.writing-format-toolbar select{width:180px;height:32px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);padding:0 8px}.writing-format-toolbar button{display:grid;width:32px;height:32px;place-items:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink)}.writing-format-toolbar button:hover,.writing-format-toolbar button.is-active{border-color:var(--line);background:var(--panel)}.writing-format-toolbar button.is-active{color:var(--accent-strong)}.writing-history-link-tool span{display:block;width:4px;height:18px;border-radius:2px;background:#2f8177;box-shadow:5px 0 color-mix(in oklab,#2f8177 24%,transparent)}.writing-align-icon{display:grid;align-content:center;justify-items:start;gap:2px;width:16px;height:16px}.writing-align-icon i{display:block;width:16px;height:1px;background:currentColor}.writing-align-icon i:nth-child(2n){width:11px}.writing-align-icon.is-center{justify-items:center}.writing-align-icon.is-right{justify-items:end}.writing-align-icon.is-justify i{width:16px}.writing-toolbar-menu,.writing-more-actions{position:relative}.writing-toolbar-menu summary,.writing-more-actions summary{display:grid;width:32px;height:32px;place-items:center;border:1px solid transparent;border-radius:6px;color:var(--ink);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.writing-toolbar-menu summary::-webkit-details-marker,.writing-more-actions summary::-webkit-details-marker{display:none}.writing-toolbar-menu[open] summary,.writing-toolbar-menu summary:hover,.writing-more-actions[open] summary,.writing-more-actions summary:hover{border-color:var(--line);background:var(--panel)}.writing-toolbar-popover,.writing-more-popover{position:absolute;z-index:12;display:grid;gap:4px;min-width:210px;border:1px solid var(--line);border-radius:6px;background:var(--panel);padding:6px;box-shadow:var(--shadow)}.writing-toolbar-popover{top:calc(100% + 6px);left:0}.writing-toolbar-popover button,.writing-more-popover button{display:block;width:100%;height:auto;min-height:34px;padding:7px 9px;text-align:left}.writing-more-popover{top:calc(100% + 6px);right:0;min-width:240px}.writing-more-popover small{padding:2px 8px 6px;color:var(--muted);font-size:10px;line-height:1.35}.writing-more-popover .writing-delete-section{border:1px solid color-mix(in oklab,var(--warn) 42%,var(--line));background:color-mix(in oklab,var(--warn) 8%,var(--panel));color:var(--warn)}.writing-toolbar-divider{width:1px;height:24px;margin:0 3px;background:var(--line)}.writing-editor-surface{min-height:0;overflow:auto;background:color-mix(in oklab,var(--bg) 56%,var(--panel));padding:24px clamp(18px,5%,72px) 42px}.writing-prose{width:min(var(--writing-width, 760px),100%);min-height:100%;margin:0 auto;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);padding:52px clamp(28px,8%,76px) 72px;box-shadow:0 12px 34px color-mix(in oklab,var(--ink) 8%,transparent);font-family:Georgia,Times New Roman,serif;font-size:calc(17px * var(--writing-zoom, 1));line-height:1.72;outline:none}.writing-zoom{display:inline-flex;align-items:center;gap:2px}.writing-zoom [data-writing-zoom=reset]{min-width:46px;font-variant-numeric:tabular-nums}.writing-prose p{position:relative;margin:0 0 .92em}.writing-prose h1,.writing-prose h2,.writing-prose h3,.writing-prose blockquote{position:relative}.writing-entity-reference{border-bottom:1px dotted color-mix(in oklab,var(--accent-strong) 68%,transparent);background:color-mix(in oklab,var(--accent) 7%,transparent);cursor:help;transition:background .12s ease,border-color .12s ease}.writing-entity-reference:hover{border-bottom-color:var(--accent-strong);background:color-mix(in oklab,var(--accent) 15%,transparent)}.writing-wiki-link{color:var(--accent-strong);border-bottom:1px solid color-mix(in oklab,var(--accent-strong) 45%,transparent);cursor:text}.writing-wiki-syntax{display:none}.writing-wiki-link.is-editing{color:var(--muted);border-bottom-style:dashed;font-family:var(--mono, ui-monospace, monospace);font-size:.94em}.writing-wiki-actions{display:inline-flex;gap:2px;margin-left:3px;vertical-align:baseline;-webkit-user-select:none;user-select:none}.writing-wiki-action{border:1px solid color-mix(in oklab,var(--accent-strong) 30%,transparent);border-radius:4px;background:color-mix(in oklab,var(--accent) 8%,transparent);color:var(--accent-strong);cursor:pointer;font-size:10px;line-height:1;padding:1px 3px;opacity:.55;transition:opacity .12s ease,background .12s ease}.writing-wiki-action:hover{opacity:1;background:color-mix(in oklab,var(--accent) 20%,transparent)}.writing-history-reference{border-bottom:2px solid var(--writing-annotation-color, #2f8177);background:color-mix(in oklab,var(--writing-annotation-color, #2f8177) 9%,transparent);cursor:pointer}.writing-annotation-marker{position:absolute;left:-20px;top:.12em;width:4px;height:1.45em;border-radius:2px;background:var(--writing-annotation-color, #2f8177);box-shadow:0 0 0 4px color-mix(in oklab,var(--writing-annotation-color, #2f8177) 12%,transparent);cursor:pointer}.writing-reference-popover,.writing-context-menu{position:fixed;z-index:120;border:1px solid var(--line);border-radius:6px;background:var(--panel);box-shadow:var(--shadow)}.writing-reference-popover{display:grid;gap:10px;width:min(340px,calc(100vw - 24px));padding:13px}.writing-reference-header{display:flex;align-items:center;gap:10px;min-width:0}.writing-reference-header>div{display:grid;gap:2px;min-width:0}.writing-reference-header strong,.writing-reference-header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.writing-reference-header small,.writing-reference-popover p{color:var(--muted)}.writing-reference-avatar{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:var(--panel-soft);color:var(--muted);font-size:12px;font-weight:800}.writing-reference-avatar img{width:100%;height:100%;object-fit:cover}.writing-reference-color{width:5px;height:38px;flex:0 0 5px;border-radius:2px;background:var(--writing-annotation-color, #2f8177)}.writing-reference-popover p{margin:0;font-size:12px;line-height:1.5}.writing-reference-popover>button{justify-self:start;min-height:30px;border:1px solid var(--line);border-radius:5px;background:var(--panel-soft);color:var(--ink);padding:5px 9px}.writing-context-menu{display:grid;gap:3px;min-width:245px;padding:5px}.writing-context-menu button{min-height:34px;border:0;border-radius:4px;background:transparent;color:var(--ink);padding:7px 10px;text-align:left}.writing-context-menu button:hover:not(:disabled){background:var(--panel-soft)}.writing-context-menu button.is-danger{color:var(--warn)}.writing-picker-overlay{position:fixed;z-index:130;inset:0;display:grid;place-items:center;background:color-mix(in oklab,var(--bg) 64%,transparent);padding:18px}.writing-history-picker{display:grid;grid-template-rows:auto auto minmax(0,1fr);width:min(680px,100%);max-height:min(680px,calc(100vh - 36px));overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--panel);box-shadow:var(--shadow)}.writing-history-picker>header{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:16px 18px 12px}.writing-history-picker h3,.writing-history-picker p{margin:0}.writing-history-picker header p{margin-top:4px;color:var(--muted);font-family:Georgia,Times New Roman,serif;font-size:12px;line-height:1.4}.writing-history-picker [data-close]{width:30px;height:30px;flex:0 0 30px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ink)}.writing-picker-controls{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:8px;padding:0 18px 12px}.writing-picker-controls input[type=search],.writing-picker-controls select{width:100%;height:34px;border:1px solid var(--line);border-radius:5px;background:var(--panel-soft);color:var(--ink);padding:0 9px}.writing-picker-controls label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.writing-picker-controls input[type=color]{width:34px;height:34px;border:1px solid var(--line);border-radius:5px;background:var(--panel-soft);padding:3px}.writing-picker-results{min-height:160px;overflow:auto;border-top:1px solid var(--line);padding:6px}.writing-picker-row{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:5px;background:transparent;color:var(--ink);padding:7px 11px;text-align:left}.writing-picker-row:hover{background:var(--panel-soft)}.writing-picker-row span{display:grid;gap:3px}.writing-picker-row small,.writing-picker-empty{color:var(--muted);font-size:11px}.writing-picker-row i{width:6px;height:22px;border-radius:2px;background:#2f8177}.writing-picker-empty{padding:18px;text-align:center}.writing-prose h1,.writing-prose h2,.writing-prose h3{margin:1.55em 0 .55em;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:0;line-height:1.2}.writing-prose h1{font-size:30px}.writing-prose h2{font-size:24px}.writing-prose h3{font-size:19px}.writing-prose blockquote{margin:1.4em 0;border-left:4px solid var(--gold);background:var(--panel-soft);padding:12px 18px;color:color-mix(in oklab,var(--ink) 82%,var(--muted));font-style:italic}.writing-prose hr{width:42%;margin:2.4em auto;border:0;border-top:1px solid var(--gold)}.writing-prose p:first-child,.writing-prose h1:first-child,.writing-prose h2:first-child,.writing-prose h3:first-child{margin-top:0}.writing-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:0 22px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}:root[data-writing-focus=true] .app-shell{grid-template-columns:minmax(0,1fr)}:root[data-writing-focus=true] .sidebar,:root[data-writing-focus=true] .workspace>.toolbar,:root[data-writing-focus=true] .content-grid>.list-pane,:root[data-writing-focus=true] .content-grid>.panel-resizer,:root[data-writing-focus=true] .writing-meta-row{display:none}:root[data-writing-focus=true] .workspace{grid-template-rows:minmax(0,1fr)}:root[data-writing-focus=true] .content-grid{grid-template-columns:minmax(0,1fr);gap:0;padding:0}:root[data-writing-focus=true] .detail-pane{display:block;min-width:0;min-height:0;visibility:visible;border:0;border-radius:0;box-shadow:none}:root[data-writing-focus=true] .writing-workspace{grid-template-rows:auto auto minmax(0,1fr) auto}:root[data-writing-focus=true] .writing-editor-header{padding:10px 18px 8px}:root[data-writing-focus=true] .writing-title-field label{display:none}:root[data-writing-focus=true] .writing-title-field input{font-size:18px}:root[data-writing-focus=true] .writing-format-toolbar{min-height:42px;padding:5px 18px}:root[data-writing-focus=true] .writing-editor-surface{padding:18px clamp(16px,5vw,74px) 28px}:root[data-writing-focus=true] .writing-prose{width:min(var(--writing-width, 880px),100%);border-color:color-mix(in oklab,var(--line) 68%,transparent);padding-top:58px}:root[data-view=sessionWorkspace] .content-grid{grid-template-columns:minmax(0,1fr)!important}:root[data-view=sessionWorkspace] .content-grid>.list-pane,:root[data-view=sessionWorkspace] .content-grid>.panel-resizer{display:none}:root[data-view=sessionWorkspace] .detail-pane{display:block;min-width:0;min-height:0;visibility:visible;overflow:hidden;padding:0}:root[data-view=ichorography] .content-grid{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}:root[data-view=ichorography] .content-grid>.list-pane,:root[data-view=ichorography] .content-grid>.panel-resizer{display:none}:root[data-view=ichorography] .detail-pane{display:block;min-width:0;min-height:0;visibility:visible;overflow:hidden;padding:0}:root[data-view=ichorolude] .content-grid{grid-template-columns:minmax(0,1fr)}:root[data-view=ichorolude] .content-grid>.list-pane,:root[data-view=ichorolude] .content-grid>.panel-resizer{display:none}:root[data-view=ichorolude] .detail-pane{min-width:0;padding:0;overflow:auto}.ichorolude-workspace{display:grid;gap:22px;min-height:100%;padding:26px}.ichorolude-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.ichorolude-header span,.ichorolude-metrics span{color:var(--muted);font-size:.76rem}.ichorolude-header h3{margin:3px 0 0;font-size:1.35rem}.ichorolude-header-tools,.ichorolude-tabs{display:flex;align-items:center}.ichorolude-header-tools{gap:10px}.ichorolude-window-next-toggle{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;color:var(--muted);white-space:nowrap;cursor:pointer}.ichorolude-tabs{gap:3px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft)}.ichorolude-tabs button{min-width:82px;min-height:32px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer;font-weight:700}.ichorolude-tabs button:hover,.ichorolude-tabs button[aria-selected=true]{background:var(--panel);color:var(--accent-strong);box-shadow:0 1px 4px #0000001a}.ichorolude-tab-panel{display:grid;min-width:0;gap:18px}.ichorolude-tab-panel[hidden]{display:none}.ichorolude-tab-panel.is-ruleset-studio{height:calc(100vh - 146px);min-height:620px;overflow:hidden;padding:0}.ruleset-studio-shell{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#0b1218}.ruleset-studio-frame{display:block;width:100%;height:100%;border:0;background:#0b1218}.ruleset-studio-empty{display:grid;min-height:420px;place-content:center;justify-items:center;gap:10px;text-align:center}.ruleset-studio-empty :is(h3,p){margin:0}.ruleset-workspace,.ruleset-workspace form{display:grid;min-width:0;gap:16px}.ruleset-corpus{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 10px;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft);padding:8px 11px}.ruleset-corpus-label{color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.ruleset-corpus-parts{display:flex;flex-wrap:wrap;gap:5px}.ruleset-corpus-part{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;background:var(--panel);padding:2px 9px 2px 4px;font-size:12px}.ruleset-corpus-part i{display:grid;width:17px;height:17px;place-items:center;border-radius:50%;background:color-mix(in oklab,var(--accent) 18%,transparent);color:var(--accent);font-size:10px;font-style:normal;font-weight:800}.ruleset-corpus-part{cursor:pointer;color:var(--ink)}.ruleset-corpus-part:hover{border-color:var(--accent)}.ruleset-corpus-part.is-active{border-color:var(--gold);background:color-mix(in oklab,var(--gold) 14%,var(--panel));font-weight:700}.ruleset-corpus-part.is-active i{background:color-mix(in oklab,var(--gold) 26%,transparent);color:var(--gold)}.ruleset-corpus-add{border:1px dashed var(--line);border-radius:999px;background:none;padding:2px 10px;color:var(--muted);font-size:12px;cursor:pointer}.ruleset-corpus-add:hover{border-color:var(--gold);color:var(--gold)}.ruleset-corpus-hint{flex:1 1 100%;margin:0;color:var(--muted);font-size:11px}.ruleset-row-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.ruleset-row-owner{border-radius:999px;background:color-mix(in oklab,var(--accent) 12%,transparent);padding:1px 7px;color:var(--muted);font-size:10px}.ruleset-row-owner.is-new{background:color-mix(in oklab,var(--gold) 16%,transparent);color:var(--gold)}.ruleset-corpus-conflicts{flex:1 1 100%;font-size:12px}.ruleset-corpus-conflicts summary{color:var(--gold);cursor:pointer}.ruleset-corpus-conflicts ul{margin:6px 0 0;padding-left:18px;color:var(--muted)}.ruleset-corpus-conflicts code{color:var(--ink)}.ruleset-workspace-header{display:flex;align-items:end;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}.ruleset-workspace-header>label{display:grid;flex:1 1 340px;gap:5px}.ruleset-workspace-header>label>span,.ruleset-identity label>span{color:var(--muted);font-size:.72rem;font-weight:750}.ruleset-origin{align-self:center;border-left:3px solid var(--line);padding:4px 8px;color:var(--muted);font-size:.72rem;font-weight:750}.ruleset-origin.is-project{border-left-color:var(--accent);color:var(--accent-strong)}.ruleset-identity{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr);gap:12px}.ruleset-identity label{display:grid;min-width:0;gap:5px}.ruleset-identity .is-wide{grid-column:1 / -1}.ruleset-identity textarea{resize:vertical}.ruleset-editor-section{margin:0;border-inline:0;border-radius:0}.ruleset-table-wrap{min-width:0;overflow:auto}.ruleset-table-wrap table{width:100%;min-width:760px;border-collapse:collapse}.ruleset-table-wrap th{padding:4px 6px 8px;color:var(--muted);font-size:.68rem;text-align:left;white-space:nowrap}.ruleset-table-wrap td{min-width:112px;padding:5px 3px;border-top:1px solid var(--line-soft, var(--line))}.ruleset-table-wrap td:first-child{min-width:160px}.ruleset-table-wrap td:last-child{min-width:36px;width:36px}.ruleset-table-wrap input:not([type=checkbox]),.ruleset-table-wrap select{width:100%;min-width:0}.ruleset-checkbox-cell{min-width:58px!important;width:58px;text-align:center}.ruleset-editor-section .app-section-content{display:grid;gap:10px}.ruleset-editor-section .compact-action{justify-self:start}.ruleset-validation{border-left:3px solid var(--accent);padding:8px 11px;color:var(--muted);font-size:.78rem}.ruleset-validation.is-invalid{border-left-color:var(--danger);color:var(--danger)}.ruleset-validation.is-warning{border-left-color:var(--gold);color:var(--ink)}.ruleset-validation ul{margin:6px 0 0;padding-left:18px}.ruleset-editor-actions{display:flex;justify-content:flex-end}.ruleset-reference-menu{position:fixed;z-index:10050;display:grid;max-height:198px;overflow:auto;border:1px solid var(--line);border-radius:6px;background:var(--panel);box-shadow:0 12px 30px #0000003d;padding:4px}.ruleset-reference-menu[hidden]{display:none}.ruleset-reference-menu button{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:10px;min-height:34px;border:0;border-radius:4px;background:transparent;color:var(--ink);padding:5px 8px;text-align:left}.ruleset-reference-menu button:hover,.ruleset-reference-menu button[aria-selected=true]{background:var(--panel-soft);color:var(--accent-strong)}.ruleset-reference-menu code,.ruleset-reference-menu span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ruleset-reference-menu code{font-size:.74rem}.ruleset-reference-menu span{color:var(--muted);font-size:.7rem}.ruleset-reference-trigger{width:26px;height:26px;margin-left:4px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--accent-strong);font:750 .78rem/1 ui-monospace,monospace;cursor:pointer}.ruleset-reference-trigger:hover{border-color:var(--accent);background:var(--panel)}.ruleset-action-add,.dnd-action-modes{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.ruleset-action-add select{min-width:180px}.dnd-action-modes{padding:3px 0;color:var(--muted);font-size:.74rem}.dnd-action-modes>span{margin-right:4px;font-weight:760}.dnd-action-modes label{display:flex;align-items:center;gap:5px;color:var(--ink)}.generic-ruleset-properties,.generic-ruleset-actions,.generic-ruleset-action>span{display:grid;gap:8px}.generic-ruleset-properties{grid-template-columns:repeat(2,minmax(0,1fr))}.generic-rule-property code{margin-left:5px;color:var(--muted);font-size:.68rem}.generic-ruleset-unassigned{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted)}.generic-ruleset-toolbar{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) auto auto;align-items:end;gap:8px}.ruleset-document-kind,.ruleset-custom-actions-note{margin:0;color:var(--muted);font-size:.76rem}.generic-ruleset-property-sections{display:grid;gap:14px}.generic-ruleset-field-section{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.generic-ruleset-field-section:first-child{padding-top:0;border-top:0}.generic-ruleset-field-section h4{margin:0;font-size:.82rem}.generic-rule-records{grid-column:1 / -1}.ruleset-records-table{overflow-x:auto}.ruleset-records-table table{width:100%;border-collapse:collapse}.ruleset-records-table th,.ruleset-records-table td{padding:5px;border-bottom:1px solid var(--line);text-align:left}.ruleset-records-table th{color:var(--muted);font-size:.7rem}.ruleset-records-table input,.ruleset-records-table select{min-width:110px;width:100%}.player-progressions-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.player-progressions-heading h4{margin:0}.player-progressions-heading small{color:var(--muted)}.player-progressions-list{display:grid;gap:8px}.player-progression-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(76px,.35fr) auto;align-items:end;gap:8px}.generic-ruleset-action{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;padding:9px 0;border-top:1px solid var(--line)}.generic-ruleset-action:first-child{border-top:0}.generic-ruleset-action small{color:var(--muted)}.generic-ruleset-action code{overflow-wrap:anywhere;color:var(--accent-strong);font-size:.72rem}.ichorolude-ruleset-state{border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);padding:7px 10px;font-weight:720}.ichorolude-ruleset-state.is-enabled{border-color:color-mix(in oklab,var(--accent) 55%,var(--line));color:var(--accent-strong)}.ichorolude-relay-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px;border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:7px;background:var(--panel-soft)}.ichorolude-relay-card.is-online{border-left-color:var(--accent)}.ichorolude-relay-card.is-error{border-left-color:var(--danger)}.ichorolude-relay-copy{display:grid;gap:4px}.ichorolude-relay-copy>span,.ichorolude-relay-copy small,.ichorolude-relay-actions>span{color:var(--muted);font-size:.72rem}.ichorolude-relay-copy h4{display:flex;align-items:center;gap:8px;margin:0}.ichorolude-relay-copy h4 i{width:8px;height:8px;border-radius:50%;background:var(--muted)}.ichorolude-relay-card.is-online h4 i{background:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 16%,transparent)}.ichorolude-relay-card.is-error h4 i{background:var(--danger)}.ichorolude-relay-copy p{margin:0;overflow:hidden;color:var(--ink);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.ichorolude-relay-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.ichorolude-relay-reset{border-color:transparent;background:transparent;color:var(--muted);padding-inline:6px;font-size:.7rem}.ichorolude-relay-reset:hover,.ichorolude-relay-reset:focus-visible{border-color:color-mix(in oklab,var(--danger) 38%,var(--line));background:color-mix(in oklab,var(--danger) 7%,transparent);color:var(--danger)}.ichorolude-publication-status{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;border:1px solid color-mix(in oklab,var(--accent) 34%,var(--line));border-radius:6px;background:color-mix(in oklab,var(--accent) 7%,var(--panel));color:var(--ink);font-size:.78rem}.ichorolude-publication-status>i{width:12px;height:12px;border:2px solid color-mix(in oklab,var(--accent) 28%,transparent);border-top-color:var(--accent);border-radius:50%;animation:ichorolude-publication-spin .8s linear infinite}.ichorolude-publication-status.is-success{border-color:color-mix(in oklab,var(--accent) 58%,var(--line))}.ichorolude-publication-status.is-success>i{border:0;border-radius:50%;background:var(--accent);animation:none}.ichorolude-publication-status.is-error{border-color:color-mix(in oklab,var(--danger) 55%,var(--line));background:color-mix(in oklab,var(--danger) 7%,var(--panel))}.ichorolude-publication-status.is-error>i{border:0;border-radius:50%;background:var(--danger);animation:none}.ichorolude-publication-diagnostics{grid-column:1 / -1}.ichorolude-publication-diagnostics summary{cursor:pointer;color:var(--muted);font-weight:700}.ichorolude-publication-diagnostics ul{display:grid;gap:7px;margin:8px 0 0;padding:0;list-style:none}.ichorolude-publication-diagnostics li{display:grid;gap:3px;padding-top:7px;border-top:1px solid var(--line)}.ichorolude-publication-diagnostics code{overflow-wrap:anywhere;color:var(--danger);font-size:.7rem}.ichorolude-publication-diagnostics span{color:var(--muted);overflow-wrap:anywhere}@keyframes ichorolude-publication-spin{to{transform:rotate(360deg)}}.ichorolude-relay-card [hidden]{display:none!important}.ichorolude-scene-card{display:grid;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-soft);padding:14px}.ichorolude-scene-card>header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}.ichorolude-scene-card>header span{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.ichorolude-scene-card>header h4{margin:2px 0 0}.ichorolude-scene-select{display:grid;gap:4px;min-width:220px;font-size:12px;color:var(--muted)}.ichorolude-scene-picker{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr);gap:8px;min-width:min(100%,520px)}.ichorolude-scene-picker>label{display:grid;gap:4px}.ichorolude-scene-picker input,.ichorolude-scene-picker select{width:100%}.ichorolude-scene-picker option[hidden]{display:none}.ichorolude-scene-hint{margin:0;color:var(--muted);font-size:12px}.ichorolude-scene-empty,.ichorolude-scene-loading{margin:0;padding:18px;color:var(--muted);text-align:center}.ichorolude-scene-map{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel);-webkit-user-select:none;user-select:none;touch-action:none}.ichorolude-scene-map.is-drop-target{border-color:var(--accent);box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--accent) 42%,transparent)}.ichorolude-scene-map>img{display:block;width:100%;height:auto;pointer-events:none}.ichorolude-scene-token{position:absolute;display:grid;place-items:center;width:var(--ichorolude-token-width, 44px);height:var(--ichorolude-token-height, 44px);--ichorolude-token-private-opacity: 1;padding:0;border:0;background:transparent;color:#fff;transform:translate(-50%,-50%);cursor:grab;touch-action:none}.ichorolude-scene-token:active{cursor:grabbing}.ichorolude-scene-token.is-private{--ichorolude-token-private-opacity: .7}.ichorolude-scene-token.is-selected{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.ichorolude-scene-token.is-placement-pending{--ichorolude-token-private-opacity: .45;cursor:wait}.ichorolude-scene-token.is-placement-failed{--ichorolude-token-private-opacity: .55;cursor:not-allowed}.ichorolude-token-health{position:absolute;bottom:calc(100% + 5px);left:50%;width:max(34px,92%);height:5px;overflow:hidden;border:1px solid rgba(255,255,255,.85);border-radius:2px;background:#121418d1;box-shadow:0 2px 5px #00000059;transform:translate(-50%);pointer-events:none}.ichorolude-token-health.has-temporary{border-color:#80d4c6}.ichorolude-token-health>b{display:block;height:100%;background:#4ab56a;transition:width .16s ease-out}.ichorolude-scene-token>img{width:100%;height:100%;object-fit:contain;opacity:calc(var(--ichorolude-token-opacity, 1) * var(--ichorolude-token-private-opacity, 1));transform:rotate(var(--ichorolude-token-rotation, 0deg)) scale(var(--ichorolude-token-flip-x, 1),var(--ichorolude-token-flip-y, 1));filter:drop-shadow(0 5px 8px rgba(0,0,0,.28));pointer-events:none}.ichorolude-scene-token.has-custom-tint>img{visibility:hidden}.ichorolude-scene-token.has-custom-tint:before{position:absolute;inset:0;background:var(--ichorolude-token-tint, #fff);content:"";opacity:calc(var(--ichorolude-token-opacity, 1) * var(--ichorolude-token-private-opacity, 1));transform:rotate(var(--ichorolude-token-rotation, 0deg)) scale(var(--ichorolude-token-flip-x, 1),var(--ichorolude-token-flip-y, 1));transform-origin:center;-webkit-mask:var(--ichorolude-token-image) center / contain no-repeat;mask:var(--ichorolude-token-image) center / contain no-repeat;filter:drop-shadow(0 5px 8px rgba(0,0,0,.28));pointer-events:none}.ichorolude-scene-token>i{display:grid;width:26px;height:26px;place-items:center;border:2px solid white;border-radius:50%;background:var(--accent);opacity:calc(var(--ichorolude-token-opacity, 1) * var(--ichorolude-token-private-opacity, 1));transform:rotate(var(--ichorolude-token-rotation, 0deg)) scale(var(--ichorolude-token-flip-x, 1),var(--ichorolude-token-flip-y, 1));font-style:normal;font-size:10px;font-weight:850;box-shadow:0 5px 10px #00000047}.ichorolude-scene-token>.ichorolude-token-label{position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);max-width:120px;overflow:hidden;border-radius:4px;background:color-mix(in oklab,var(--panel) 80%,transparent);padding:0 4px;font-size:10px;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ichorolude-token-placement-status{position:absolute;z-index:8;bottom:calc(100% - 5px);left:calc(100% - 5px);display:grid;grid-template-columns:22px max-content;align-items:center;max-width:170px;overflow:hidden;border:1px solid color-mix(in oklab,var(--accent) 62%,white);border-radius:999px;background:color-mix(in oklab,var(--panel) 92%,transparent);color:var(--text);box-shadow:0 4px 14px #00000061;pointer-events:none}.ichorolude-token-placement-status>i{display:grid;width:22px;height:22px;place-items:center;background:color-mix(in oklab,var(--accent) 24%,transparent);font-style:normal;font-size:12px}.ichorolude-token-placement-status>em{overflow:hidden;padding:2px 8px 2px 5px;font-size:9px;font-style:normal;font-weight:750;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.ichorolude-scene-token.is-placement-failed .ichorolude-token-placement-status{border-color:var(--danger, #d97979)}.ichorolude-scene-portal{position:absolute;z-index:4;display:grid;place-items:center;width:32px;height:38px;padding:0;border:2px solid color-mix(in oklab,var(--accent) 76%,white);border-radius:15px 15px 4px 4px;background:color-mix(in oklab,#071213 82%,var(--accent));color:var(--accent);box-shadow:0 5px 14px #00000080,inset 0 0 0 3px #ffffff0d;transform:translate(-50%,-50%);cursor:pointer;touch-action:none}.ichorolude-scene-portal:hover,.ichorolude-scene-portal:focus-visible{outline:3px solid color-mix(in oklab,var(--accent) 55%,transparent);outline-offset:2px}.ichorolude-scene-portal.is-armed{outline:3px solid color-mix(in oklab,#f6c766 72%,transparent);outline-offset:3px;transform:translate(-50%,-50%) scale(1.08)}.ichorolude-scene-portal.is-exit{background:color-mix(in oklab,var(--panel) 72%,var(--accent));color:var(--ink)}.ichorolude-scene-portal.is-locked{border-color:#d4a77a;background:#3a2b22;color:#f2d8ba}.ichorolude-scene-portal>i{font-style:normal;font-size:18px;font-weight:700}.ichorolude-scene-portal>span{position:absolute;top:calc(100% + 3px);left:50%;max-width:150px;overflow:hidden;border-radius:3px;background:#081214db;padding:2px 5px;color:#fff;font-size:10px;text-overflow:ellipsis;white-space:nowrap;transform:translate(-50%);pointer-events:none;opacity:0;transition:opacity .12s ease-out}.ichorolude-scene-portal:is(:hover,:focus-visible,.is-armed)>span{opacity:1}.location-entry-exit-fields{display:grid;grid-template-columns:auto minmax(90px,1fr) minmax(90px,1fr);align-items:end;gap:8px}.location-entry-exit-fields>span{align-self:center;font-weight:700}.location-entry-exit-fields>small{grid-column:1 / -1;color:var(--muted)}.location-entry-exit-fields>.inline-actions{grid-column:1 / -1}.location-measurement-fields{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid color-mix(in oklab,var(--accent) 30%,var(--line));border-radius:7px;background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 8%,var(--panel-soft)),var(--panel))}.location-surface-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft)}.location-surface-fields>small{grid-column:1 / -1;color:var(--muted);font-size:11px;line-height:1.45}.location-measurement-fields>div{display:grid;gap:3px;min-width:0}.location-measurement-fields span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.location-measurement-fields strong{color:var(--ink);font-size:13px}.location-measurement-fields small{color:var(--muted);line-height:1.35}.map-vtt-entry-exit{position:absolute;z-index:9;display:grid;place-items:center;min-width:38px;height:24px;border:2px solid rgba(255,255,255,.92);border-radius:4px;background:#206067;color:#fff;font-size:8px;font-weight:900;box-shadow:0 4px 10px #0000005c;transform:translate(-50%,-50%);pointer-events:none}.ichorolude-context-menu{position:fixed;z-index:15000;display:grid;min-width:190px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--panel-strong, var(--panel));box-shadow:0 14px 36px #00000057;padding:5px}.ichorolude-context-menu>strong{overflow:hidden;padding:7px 9px 8px;color:var(--muted);font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.ichorolude-context-menu>button{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;border:0;border-radius:4px;background:transparent;padding:8px 9px;color:var(--ink);text-align:left}.ichorolude-context-menu>button:hover,.ichorolude-context-menu>button:focus-visible{background:color-mix(in oklab,var(--accent) 14%,transparent)}.ichorolude-context-menu>button.is-danger{color:var(--danger, #d66f6f)}.ichorolude-live-table{display:grid;gap:12px;padding:16px;border-left:3px solid var(--accent);background:var(--panel-soft)}.ichorolude-live-table>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ichorolude-live-table>header div{display:grid;gap:2px}.ichorolude-live-table>header span,.ichorolude-live-members small,.ichorolude-live-members>p{color:var(--muted);font-size:.72rem}.ichorolude-live-table h4,.ichorolude-live-members>p{margin:0}.ichorolude-live-table>header>strong{font-size:1.35rem}.ichorolude-live-members{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.ichorolude-live-members article{display:grid;grid-template-columns:9px minmax(0,1fr);align-items:center;gap:9px;min-height:44px;border:1px solid var(--line);padding:7px 9px}.ichorolude-live-members article>i{width:8px;height:8px;border-radius:50%;background:var(--accent)}.ichorolude-live-members article>i.is-gm{background:var(--gold, #c8b599)}.ichorolude-live-members article>div{display:grid;min-width:0;gap:2px}.ichorolude-live-members strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-entity-browser{display:grid;grid-template-columns:minmax(230px,.34fr) minmax(0,1fr);min-height:520px;border:1px solid var(--line);border-radius:7px;background:var(--panel);overflow:hidden}.ichorolude-placement-tray{position:absolute;top:12px;left:12px;z-index:8;display:grid;grid-template-columns:56px minmax(0,1fr) 34px;align-items:center;gap:12px;width:min(390px,calc(100% - 24px));border:1px solid var(--line);border-left:4px solid var(--line);border-radius:6px;padding:10px 12px;background:color-mix(in oklab,var(--panel-soft) 94%,transparent);box-shadow:0 9px 24px #00000038;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ichorolude-placement-tray.is-armed{border-left-color:var(--accent);cursor:grab}.ichorolude-placement-tray.is-armed:active{cursor:grabbing}.ichorolude-placement-tray>div:nth-child(2){display:grid;gap:2px;min-width:0}.ichorolude-placement-tray span,.ichorolude-placement-tray small{color:var(--muted);font-size:10px}.ichorolude-placement-tray strong,.ichorolude-placement-tray small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-placement-visual{display:grid;width:56px;height:56px;overflow:hidden;place-items:center;border:1px solid var(--line);border-radius:5px;background:var(--panel-strong)}.ichorolude-placement-visual img{width:100%;height:100%;object-fit:contain}.ichorolude-placement-visual i{color:var(--accent-strong);font-size:16px;font-style:normal;font-weight:800}.ichorolude-entity-browser>aside{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0;border-right:1px solid var(--line);background:var(--panel-soft)}.ichorolude-entity-browser>aside>header,.ichorolude-entity-sheet>header,.ichorolude-position-editor>header,.ichorolude-entity-actions>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ichorolude-entity-browser>aside>header{padding:14px}.ichorolude-entity-browser>aside>header div{display:grid;gap:2px}.ichorolude-entity-browser>aside>header span,.ichorolude-entity-sheet>header span,.ichorolude-position-editor>header span,.ichorolude-position-editor>header small,.ichorolude-entity-actions small{color:var(--muted);font-size:.72rem}.ichorolude-entity-browser h4,.ichorolude-entity-browser h5,.ichorolude-entity-browser p{margin:0}.ichorolude-entity-browser>aside>input{width:auto;margin:0 10px 10px}.ichorolude-entity-list{min-height:0;overflow:auto;border-top:1px solid var(--line)}.ichorolude-entity-list>button{display:grid;gap:3px;width:100%;min-height:50px;border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;background:transparent;color:var(--ink);padding:8px 11px;text-align:left;cursor:grab}.ichorolude-entity-list>button:active{cursor:grabbing}.ichorolude-entity-list>button[hidden]{display:none!important}body.ichorolude-companion{min-width:0;width:100vw;height:100vh;height:100dvh;margin:0;overflow:hidden;background:var(--bg);color:var(--text)}.ichorolude-companion-root{width:100%;height:100%;overflow:hidden}.ichorolude-table-shell{position:relative;width:100%;height:100%;overflow:hidden;background:#090b12}.ichorolude-table-stage{position:absolute;inset:0;overflow:hidden;background:#090b12;-webkit-user-select:none;user-select:none;touch-action:none}.ichorolude-table-stage.is-drop-target{box-shadow:inset 0 0 0 3px color-mix(in oklab,var(--accent) 72%,transparent)}.ichorolude-table-stage.is-panning{cursor:grabbing}.ichorolude-table-camera{position:absolute;inset:0;will-change:transform}.ichorolude-table-surface{position:absolute;top:50%;left:50%;min-width:1px;min-height:1px;transform-origin:center;will-change:width,height,transform}.ichorolude-table-surface>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.ichorolude-table-empty{display:grid;width:100%;height:100%;place-items:center;color:var(--muted)}.ichorolude-table-toolbar{position:absolute;top:12px;right:12px;z-index:20;display:grid;grid-template-columns:10px minmax(300px,1fr) auto;align-items:center;gap:9px;width:min(650px,calc(100% - 370px));min-height:48px;border:1px solid var(--line);border-radius:7px;background:color-mix(in oklab,var(--panel) 88%,transparent);padding:7px 8px;box-shadow:0 10px 30px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ichorolude-table-status{width:9px;height:9px;border-radius:50%;background:var(--muted)}.ichorolude-table-status.is-online{background:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 18%,transparent)}.ichorolude-table-status.is-syncing{background:#d4a84f;box-shadow:0 0 0 4px color-mix(in oklab,#d4a84f 22%,transparent)}.ichorolude-table-status.is-error{background:var(--danger)}.ichorolude-table-scene-fields{display:grid;grid-template-columns:minmax(130px,.72fr) minmax(190px,1.28fr);gap:7px;min-width:0}.ichorolude-table-scene-fields input,.ichorolude-table-scene-fields select{width:100%;min-width:0;height:32px}.ichorolude-table-scene-fields option[hidden]{display:none}.ichorolude-camera-controls{display:grid;grid-template-columns:30px 58px 30px;gap:3px}.ichorolude-camera-controls button{display:grid;min-width:0;height:30px;place-items:center;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--ink);padding:0}.ichorolude-camera-controls button:hover{border-color:var(--accent);color:var(--accent-strong)}.ichorolude-palette{position:absolute;top:12px;left:12px;z-index:22;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(330px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:visible;border:1px solid var(--line);border-radius:7px;background:color-mix(in oklab,var(--panel) 90%,transparent);box-shadow:0 12px 34px #00000057;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ichorolude-palette>header{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:5px;min-height:46px;padding:7px}.ichorolude-palette-toggle{display:flex;min-width:0;min-height:30px;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;color:var(--ink);text-align:left}.ichorolude-palette-toggle strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-palette-toggle span{color:var(--accent-strong);font-size:12px}.ichorolude-palette.is-collapsed{width:170px;grid-template-rows:auto}.ichorolude-palette.is-collapsed .ichorolude-palette-body{display:none}.ichorolude-palette-body{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border-top:1px solid var(--line);padding:8px}.ichorolude-palette-search{position:relative;z-index:2}.ichorolude-palette-search>input{width:100%;height:34px}.ichorolude-palette-suggestions{position:absolute;top:calc(100% + 4px);right:0;left:0;display:grid;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:5px;background:var(--panel-strong, var(--panel));box-shadow:0 12px 28px #00000057;padding:4px}.ichorolude-palette-suggestions[hidden]{display:none}.ichorolude-palette-suggestions button{display:grid;gap:2px;min-height:42px;border:0;border-radius:3px;background:transparent;color:var(--ink);padding:6px 8px;text-align:left}.ichorolude-palette-suggestions button:hover{background:color-mix(in oklab,var(--accent) 13%,transparent)}.ichorolude-palette-suggestions small{color:var(--muted)}.ichorolude-palette-list{display:grid;align-content:start;gap:5px;min-height:0;max-height:calc(100vh - 122px);max-height:calc(100dvh - 122px);overflow:auto;padding-top:8px}.ichorolude-palette-list>p{margin:8px;color:var(--muted);font-size:12px;text-align:center}.ichorolude-palette-entity{display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:8px;min-height:50px;border:1px solid var(--line);border-radius:5px;background:color-mix(in oklab,var(--panel-soft) 92%,transparent);padding:4px 5px;cursor:grab}.ichorolude-palette-entity:active{cursor:grabbing}.ichorolude-palette-entity:hover{border-color:color-mix(in oklab,var(--accent) 60%,var(--line))}.ichorolude-palette-entity>div:nth-child(2){display:grid;min-width:0;gap:2px}.ichorolude-palette-entity strong,.ichorolude-palette-entity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-palette-entity small{color:var(--muted);font-size:10px}.ichorolude-palette-visual{display:grid;width:42px;height:42px;overflow:hidden;place-items:center;border-radius:4px;background:var(--panel-strong)}.ichorolude-palette-visual img{width:100%;height:100%;object-fit:contain}.ichorolude-palette-visual i{color:var(--accent-strong);font-size:12px;font-style:normal;font-weight:800}.ichorolude-combat-director{position:absolute;top:12px;left:354px;z-index:23;width:min(390px,calc(100% - 730px));min-width:290px;max-height:calc(100% - 24px);overflow:auto;border:1px solid var(--line);border-radius:7px;background:color-mix(in oklab,var(--panel) 92%,transparent);box-shadow:0 12px 34px #00000057;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ichorolude-combat-director details>summary{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:10px;padding:7px 11px;cursor:pointer}.ichorolude-combat-director summary span{overflow:hidden;color:var(--accent-strong);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ichorolude-combat-body{display:grid;gap:9px;border-top:1px solid var(--line);padding:9px}.ichorolude-combat-body>label{display:grid;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:8px;color:var(--muted);font-size:11px}.ichorolude-combat-body select{width:100%;min-width:0;height:31px}.ichorolude-combat-draft{display:grid;max-height:210px;overflow:auto;border-block:1px solid var(--line)}.ichorolude-combat-draft>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:37px}.ichorolude-combat-draft>div+div{border-top:1px solid var(--line)}.ichorolude-combat-draft span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-combat-draft p{margin:8px;color:var(--muted);font-size:12px}.ichorolude-combat-clock{color:var(--accent-strong);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:28px;font-weight:800;line-height:1;text-align:center}.ichorolude-combat-clock.is-urgent{color:var(--danger)}.ichorolude-combat-order{display:grid;max-height:220px;overflow:auto;border-block:1px solid var(--line)}.ichorolude-combat-order article{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:42px;padding:4px 5px;border-left:3px solid transparent}.ichorolude-combat-order article+article{border-top:1px solid var(--line)}.ichorolude-combat-order article.is-active{border-left-color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,transparent)}.ichorolude-combat-order article b{color:var(--muted);font-size:11px;text-align:center}.ichorolude-combat-order article div{display:grid;min-width:0;gap:2px}.ichorolude-combat-order article strong,.ichorolude-combat-order article small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-combat-order article small{color:var(--muted);font-size:10px}.ichorolude-combat-order article>span{color:var(--accent-strong);font-weight:800}.ichorolude-combat-actor-actions{display:grid;gap:6px}.ichorolude-combat-actor-actions>strong{color:var(--muted);font-size:11px;text-transform:uppercase}.ichorolude-combat-actor-actions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.ichorolude-combat-actor-actions button{display:grid;min-width:0;min-height:42px;align-content:center;gap:2px;padding:5px 8px;text-align:left}.ichorolude-combat-actor-actions button span,.ichorolude-combat-actor-actions button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-combat-actor-actions button small{color:var(--muted);font-size:9px}.ichorolude-combat-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ichorolude-combat-actions button{min-width:0}.ichorolude-deterministic{display:grid;gap:5px;border-left:3px solid var(--danger);background:color-mix(in oklab,var(--danger) 8%,transparent);padding:8px 10px}.ichorolude-deterministic p,.ichorolude-deterministic small{margin:0}.ichorolude-deterministic small{color:var(--muted)}.ichorolude-deterministic div{display:flex;gap:6px;margin-top:3px}@media(max-width:900px){.ichorolude-table-toolbar{right:10px;left:10px;width:auto}.ichorolude-palette{top:auto;bottom:10px;left:10px;max-height:min(48vh,420px)}.ichorolude-palette-list{max-height:min(34vh,300px)}.ichorolude-combat-director{top:70px;right:10px;left:auto;width:min(370px,calc(100% - 20px))}}.ichorolude-companion-waiting{min-height:100vh;display:grid;place-content:center;gap:8px;color:var(--muted);text-align:center}.ichorolude-companion-error{max-width:42rem;color:var(--danger);text-align:center}.ichorolude-companion-waiting strong{color:var(--text);font-size:24px}.ichorolude-entity-list>button:hover,.ichorolude-entity-list>button[aria-pressed=true]{border-left-color:var(--accent);background:color-mix(in oklab,var(--accent) 7%,var(--panel))}.ichorolude-entity-list>button span,.ichorolude-entity-list>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-entity-list>button small{color:var(--muted);font-size:.7rem}.ichorolude-entity-detail{min-width:0;min-height:0;overflow:auto}.ichorolude-entity-sheet{display:grid;align-content:start;gap:16px;padding:18px}.ichorolude-entity-sheet>header{display:grid;grid-template-columns:72px minmax(0,1fr) auto}.ichorolude-entity-sheet>header img,.ichorolude-entity-image-empty{width:72px;height:72px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);object-fit:cover}.ichorolude-entity-image-empty{display:grid;color:var(--accent-strong);font-size:1.7rem;font-weight:800;place-items:center}.ichorolude-entity-sheet>header>div:nth-child(2){display:grid;align-content:center;min-width:0;gap:3px}.ichorolude-entity-sheet>header h4{font-size:1.3rem}.ichorolude-entity-sheet>header p{overflow:hidden;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.ichorolude-entity-visibility{width:fit-content;border-left:3px solid var(--line);padding:4px 8px;color:var(--muted);font-size:.72rem;font-weight:700}.ichorolude-entity-visibility.is-visible{border-left-color:var(--accent);color:var(--accent-strong)}.ichorolude-entity-summary{max-width:78ch;color:var(--ink);line-height:1.55}.ichorolude-entity-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));border-block:1px solid var(--line)}.ichorolude-entity-stats>div{display:grid;gap:4px;padding:11px;border-right:1px solid var(--line)}.ichorolude-entity-stats>div:last-child{border-right:0}.ichorolude-entity-stats span{color:var(--muted);font-size:.68rem;text-transform:uppercase}.ichorolude-entity-stats strong{font-size:1.1rem}.ichorolude-position-editor,.ichorolude-entity-actions{display:grid;gap:11px;border:1px solid var(--line);border-radius:6px;padding:13px;background:var(--panel-soft)}.ichorolude-position-editor>header>div{display:grid;gap:2px}.ichorolude-position-fields{display:grid;grid-template-columns:repeat(3,minmax(72px,1fr)) auto;align-items:end;gap:8px}.ichorolude-position-fields label{display:grid;gap:4px}.ichorolude-position-fields label span{color:var(--muted);font-size:.7rem;font-weight:800}.ichorolude-position-fields input{width:100%}.ichorolude-entity-actions>header span{color:var(--muted)}.ichorolude-entity-actions>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px}.ichorolude-entity-actions article{display:grid;gap:3px;border-left:2px solid var(--accent);padding:6px 8px;background:var(--panel)}.ichorolude-entity-actions>p,.ichorolude-entity-empty p{color:var(--muted)}.ichorolude-entity-empty{display:grid;align-content:center;min-height:360px;gap:6px;padding:24px;text-align:center}.ichorolude-panel>summary{min-height:54px}.ichorolude-panel[open]>summary{border-bottom:1px solid var(--line)}.ichorolude-panel>.ichorolude-relay-card,.ichorolude-panel>.ichorolude-scene-card,.ichorolude-panel>.ichorolude-live-table{border:none;border-radius:0}.ichorolude-journal{display:grid;gap:10px}.ichorolude-journal-actions{display:flex;gap:8px}.ichorolude-rules-review{display:grid;gap:8px;border:1px solid color-mix(in oklab,var(--accent) 32%,var(--line));border-radius:10px;background:color-mix(in oklab,var(--accent) 7%,var(--panel));padding:10px}.ichorolude-rules-review>label{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto);align-items:center;gap:8px}.ichorolude-rules-review>label span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ichorolude-rules-review>label select{min-width:0}.ichorolude-rules-review>small,.ichorolude-rules-review-empty{margin:0;color:var(--muted);font-size:11px}.ichorolude-rules-review.is-manual{border-color:color-mix(in oklab,var(--gold) 45%,var(--line))}.ichorolude-rules-review-list{display:grid;gap:7px}.ichorolude-rules-review-card{display:grid;gap:6px;border-left:3px solid var(--gold);border-radius:7px;background:color-mix(in oklab,var(--panel) 88%,transparent);padding:8px 9px}.ichorolude-rules-review-card header{display:flex;align-items:start;justify-content:space-between;gap:8px}.ichorolude-rules-review-card header div{display:grid;min-width:0}.ichorolude-rules-review-card header strong{overflow-wrap:anywhere}.ichorolude-rules-review-card header small,.ichorolude-rules-review-card header span,.ichorolude-rules-review-card p{margin:0;color:var(--muted);font-size:10px}.ichorolude-rules-review-card footer{display:flex;gap:6px}.ichorolude-rules-roll{font-variant-numeric:tabular-nums;white-space:nowrap}.ichorolude-rules-operations{display:grid;gap:2px;margin:0;padding:0;list-style:none}.ichorolude-rules-operations li{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.ichorolude-rules-rolls,.ichorolude-rules-results,.ichorolude-rules-operation-preview{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:8px}.ichorolude-rules-rolls>header,.ichorolude-rules-results>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ichorolude-rules-rolls>header>small,.ichorolude-rules-results>header>small{color:var(--muted);font-size:9px;text-align:right}.ichorolude-rules-rolls>div,.ichorolude-rules-results>div{display:grid;gap:6px}.ichorolude-rules-roll-editor{display:grid;gap:7px;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft);padding:8px}.ichorolude-rules-roll-editor.is-counter{border-color:color-mix(in oklab,var(--accent) 48%,var(--line));box-shadow:inset 3px 0 color-mix(in oklab,var(--accent) 72%,transparent)}.ichorolude-rules-roll-editor>header{display:flex;align-items:start;justify-content:space-between;gap:8px}.ichorolude-rules-roll-editor>header>div{display:grid;min-width:0;gap:1px}.ichorolude-rules-roll-editor>header strong{overflow-wrap:anywhere;font-size:11px}.ichorolude-rules-roll-editor>header small,.ichorolude-rules-roll-hint{color:var(--muted);font-size:9px;line-height:1.35}.ichorolude-rules-roll-editor code{max-width:55%;overflow:hidden;border-radius:4px;background:var(--panel);padding:3px 5px;color:var(--accent-strong);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.ichorolude-rules-dice-faces{display:flex;flex-wrap:wrap;gap:5px}.ichorolude-rules-dice-faces>label{display:grid;grid-template-columns:auto 54px;align-items:center;gap:5px;color:var(--muted);font-size:9px}.ichorolude-rules-dice-faces input{width:54px;min-height:32px;padding-inline:5px;color:var(--text);font-size:13px;font-variant-numeric:tabular-nums;font-weight:800;text-align:center}.ichorolude-rules-calculation{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;border-radius:5px;background:color-mix(in oklab,var(--gold) 9%,var(--panel));padding:6px 8px;font-size:11px;font-variant-numeric:tabular-nums}.ichorolude-rules-calculation strong{color:var(--gold);font-size:13px}.ichorolude-rules-calculation output{color:inherit}.ichorolude-rules-calculation small{color:var(--muted);font-size:9px}.ichorolude-rules-results>dl,.ichorolude-rules-results article{display:grid;gap:5px;margin:0;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);padding:7px}.ichorolude-rules-results dl{display:grid;gap:3px;margin:0}.ichorolude-rules-results dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.ichorolude-rules-results dt,.ichorolude-rules-results dd{margin:0;overflow-wrap:anywhere;font-size:10px}.ichorolude-rules-results dt{color:var(--muted)}.ichorolude-rules-results dd{color:var(--text);font-weight:700;text-align:right}.ichorolude-rules-operation-preview>strong{font-size:10px}.ichorolude-rules-review-context{display:grid;gap:5px;border-top:1px solid color-mix(in oklab,var(--gold) 34%,var(--line));padding-top:6px}.ichorolude-rules-review-context>header{display:grid;gap:1px}.ichorolude-rules-review-context>header strong{font-size:11px}.ichorolude-rules-review-context>header small{color:var(--muted);font-size:9px}.ichorolude-rules-review-context>ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.ichorolude-rules-review-item{display:grid;gap:3px;border-left:2px solid var(--gold);border-radius:4px;background:color-mix(in oklab,var(--panel) 76%,transparent);padding:5px 7px}.ichorolude-rules-review-item>small,.ichorolude-rules-draft-type{color:var(--gold);font-size:9px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.ichorolude-rules-review-item>p{color:var(--text);font-size:11px;line-height:1.35;white-space:pre-wrap}.ichorolude-rules-drafts{display:grid;gap:4px;border-top:1px solid var(--line);padding-top:6px}.ichorolude-rules-drafts>small{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ichorolude-rules-drafts>ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.ichorolude-rules-draft{display:grid;gap:3px}.ichorolude-rules-draft.is-narrative{border-left:2px solid var(--gold);padding-left:6px}.ichorolude-rules-draft.is-roll{border-left:2px solid var(--cyan);padding-left:6px}.ichorolude-rules-draft textarea{width:100%;min-height:2.4em;resize:vertical;font-size:11px}.ichorolude-rules-draft-actions{display:flex;flex-wrap:wrap;gap:4px 12px}.ichorolude-rules-draft-actions label{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;cursor:pointer}.ichorolude-rules-draft-actions input{accent-color:var(--gold)}.ichorolude-chat{display:grid;gap:8px;border:1px solid var(--line);border-radius:10px;background:color-mix(in oklab,var(--panel) 92%,transparent);padding:10px}.ichorolude-chat-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ichorolude-chat-empty{margin:0;color:var(--muted);font-size:11px}.ichorolude-chat-list{display:grid;gap:6px;max-height:320px;overflow-y:auto;margin:0;padding:0;list-style:none}.ichorolude-chat-entry{display:grid;gap:2px;border-left:3px solid var(--line);border-radius:6px;background:color-mix(in oklab,var(--panel) 80%,transparent);padding:5px 8px}.ichorolude-chat-entry.is-roll{border-left-color:var(--gold)}.ichorolude-chat-entry.is-system{border-left-color:color-mix(in oklab,var(--accent) 60%,var(--line))}.ichorolude-chat-entry.is-private{background:color-mix(in oklab,var(--accent) 10%,var(--panel))}.ichorolude-chat-entry.is-redacted{opacity:.65}.ichorolude-chat-entry-head{display:flex;align-items:baseline;gap:6px}.ichorolude-chat-entry-head strong{font-size:11px;overflow-wrap:anywhere}.ichorolude-chat-entry-head small{color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.ichorolude-chat-badge{border-radius:4px;background:color-mix(in oklab,var(--accent) 30%,transparent);padding:0 4px;color:var(--muted);font-size:9px;text-transform:uppercase}.ichorolude-chat-entry p{margin:0;font-size:12px;overflow-wrap:anywhere}.ichorolude-chat-redacted{color:var(--muted);font-size:11px}.ichorolude-chat-entry-actions{display:flex;gap:6px;visibility:hidden}.ichorolude-chat-entry:hover .ichorolude-chat-entry-actions,.ichorolude-chat-entry:focus-within .ichorolude-chat-entry-actions{visibility:visible}.ichorolude-chat-compose{display:grid;gap:4px}.ichorolude-chat-compose textarea{width:100%;resize:vertical;font-size:12px}.ichorolude-chat-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.ichorolude-chat-compose-actions label{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;cursor:pointer}.ichorolude-chat-compose-actions input{accent-color:var(--gold)}.ichorolude-chat-entry.is-announcement{border-left-color:var(--chat-announcement-color, var(--gold));background:color-mix(in oklab,var(--chat-announcement-color, var(--gold)) 12%,var(--panel))}.ichorolude-chat-entry.is-announcement>p{font-size:14px;font-weight:650;line-height:1.45}.ichorolude-chat-command-hint,.ichorolude-chat-feedback{min-height:13px;color:var(--muted);font-size:10px}.ichorolude-chat-feedback:empty{display:none}.ichorolude-chat-feedback.is-error{color:var(--danger, #d98276)}.ichorolude-announcement-compose{border-top:1px solid var(--line);padding-top:7px}.ichorolude-announcement-compose>summary{cursor:pointer;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ichorolude-announcement-compose>form{display:grid;gap:7px;padding-top:8px}.ichorolude-announcement-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ichorolude-announcement-fields label{display:grid;gap:3px;min-width:0;color:var(--muted);font-size:10px}.ichorolude-announcement-fields select,.ichorolude-announcement-fields input,.ichorolude-announcement-compose textarea{width:100%;min-width:0;font-size:11px}.ichorolude-announcement-fields input[type=color]{height:30px;padding:2px}.ichorolude-announcement-compose textarea{resize:vertical}.ichorolude-announcement-compose button[type=submit]{justify-self:end}@media(max-width:720px){.ichorolude-announcement-fields{grid-template-columns:1fr}}.ichorolude-journal-kinds{display:flex;flex-wrap:wrap;gap:4px 12px}.ichorolude-journal-kind{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;cursor:pointer}.ichorolude-journal-kind input{accent-color:var(--gold)}.ichorolude-journal-aside{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:12px;background:color-mix(in oklab,var(--panel) 92%,transparent);padding:8px;min-width:0}.ichorolude-journal-aside header{display:flex;align-items:center;gap:6px}.ichorolude-journal-aside.is-collapsed .ichorolude-journal-aside-body{display:none}.ichorolude-journal-aside-body{min-height:0;overflow:hidden}.ichorolude-journal-aside .ichorolude-journal-list{max-height:220px}.ichorolude-journal-list{display:grid;gap:2px;margin:0;padding:0;max-height:320px;overflow-y:auto;list-style:none}.ichorolude-journal-list li{display:grid;grid-template-columns:74px 1fr;gap:4px 10px;border-left:2px solid var(--line);padding:5px 10px;font-size:12px}.ichorolude-journal-list li.is-sheet{border-left-color:var(--accent)}.ichorolude-journal-list li.is-token{border-left-color:color-mix(in oklab,var(--accent) 45%,transparent)}.ichorolude-journal-list li.is-warn{border-left-color:var(--gold)}.ichorolude-journal-list time{color:var(--muted);font-variant-numeric:tabular-nums}.ichorolude-journal-list small{grid-column:2;color:var(--muted);font-family:ui-monospace,monospace;font-size:11px}.ichorolude-journal-empty{color:var(--muted)}.ichorolude-sync-list{display:grid;gap:6px;margin:0;padding:0;max-height:320px;overflow-y:auto;list-style:none}.ichorolude-sync-gap{display:grid;grid-template-columns:1fr auto;align-items:start;gap:6px 12px;border-left:2px solid var(--gold);padding:7px 10px;font-size:12px}.ichorolude-sync-gap strong{display:block}.ichorolude-sync-gap p{margin:2px 0 0;color:var(--muted)}.ichorolude-sync-gap>div>small{color:var(--muted);font-variant-numeric:tabular-nums}.ichorolude-sync-gap.is-pending,.ichorolude-sync-gap.is-retrying{border-left-color:var(--accent)}.ichorolude-sync-gap.is-accepted{border-left-color:color-mix(in oklab,var(--accent) 72%,#55d49b)}.ichorolude-sync-gap.is-rejected{border-left-color:var(--danger)}.ichorolude-sync-gap.is-conflict,.ichorolude-sync-gap.is-gap{border-left-color:var(--gold)}.ichorolude-sync-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ichorolude-sync-status{display:inline-flex;min-height:19px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:1px 7px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ichorolude-sync-status.is-pending,.ichorolude-sync-status.is-retrying,.ichorolude-sync-status.is-accepted{border-color:color-mix(in oklab,var(--accent) 48%,var(--line));color:var(--accent)}.ichorolude-sync-status.is-rejected{border-color:color-mix(in oklab,var(--danger) 48%,var(--line));color:var(--danger)}.ichorolude-sync-status.is-conflict,.ichorolude-sync-status.is-gap{border-color:color-mix(in oklab,var(--gold) 55%,var(--line));color:var(--gold)}.ichorolude-sync-actions{display:flex;gap:6px;flex-wrap:wrap}.ichorolude-sync-empty{color:var(--muted)}.ichorolude-preparation>summary{min-height:54px}.ichorolude-preparation-body{display:grid;gap:18px}.ichorolude-relay-settings>p{margin:-4px 0 12px;color:var(--muted);font-size:.76rem}.secret-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.ichorolude-access-card{display:grid;gap:12px;padding:16px 0;border-block:1px solid var(--line)}.ichorolude-access-card>header,.ichorolude-access-tools,.ichorolude-access-devices,.ichorolude-invitation{display:flex;align-items:center}.ichorolude-access-card>header{justify-content:space-between;gap:16px}.ichorolude-access-card>header div:first-child{display:grid;gap:2px}.ichorolude-access-card>header span,.ichorolude-access-card>p,.ichorolude-access-person small,.ichorolude-invitation small{color:var(--muted);font-size:.74rem}.ichorolude-access-card h4,.ichorolude-access-card p{margin:0}.ichorolude-access-tools{gap:7px}.ichorolude-access-list{display:grid;border-top:1px solid var(--line)}.ichorolude-access-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,auto) auto;align-items:center;gap:14px;min-height:58px;padding:9px 0;border-bottom:1px solid var(--line)}.ichorolude-access-person{display:grid;min-width:0;gap:3px}.ichorolude-access-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-access-devices{justify-content:flex-end;flex-wrap:wrap;gap:6px}.ichorolude-access-devices>span{margin-right:3px}.ichorolude-device{display:inline-flex;align-items:center;gap:6px;min-height:28px;border:1px solid var(--line);border-radius:5px;background:var(--panel-soft);color:var(--ink);padding:3px 7px;font-size:.72rem}.ichorolude-device:hover{border-color:var(--danger);color:var(--danger)}.ichorolude-device b{font-size:1rem;font-weight:400;line-height:1}.ichorolude-access-message{border-left:3px solid var(--accent);padding:6px 10px;color:var(--muted);font-size:.76rem}.ichorolude-access-message.is-error{border-left-color:var(--danger);color:var(--danger)}.ichorolude-invitation{justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid color-mix(in oklab,var(--accent) 45%,var(--line));background:color-mix(in oklab,var(--accent) 7%,var(--panel))}.ichorolude-invitation>div:first-child{display:grid;min-width:0;gap:3px}.ichorolude-invitation-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.ichorolude-invitation strong{overflow:hidden;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.ichorolude-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}.ichorolude-metrics>div{display:grid;gap:5px;padding:16px;border-right:1px solid var(--line)}.ichorolude-metrics>div:last-child{border-right:0}.ichorolude-metrics strong{font-size:1.4rem}.ichorolude-audit-table-wrap{min-width:0;overflow:auto;border:1px solid var(--line);border-radius:7px}.ichorolude-audit-table{width:100%;border-collapse:collapse;font-size:.82rem}.ichorolude-audit-table th,.ichorolude-audit-table td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.ichorolude-audit-table th{position:sticky;z-index:1;top:0;background:var(--panel-soft);color:var(--muted);font-size:.7rem;text-transform:uppercase}.ichorolude-audit-table tbody tr:last-child td{border-bottom:0}.ichorolude-audit-table td:first-child button{display:grid;gap:2px;width:100%;border:0;background:transparent;color:var(--ink);padding:0;text-align:left}.ichorolude-audit-table td:first-child button:hover strong{color:var(--accent-strong)}.ichorolude-audit-table td:first-child small{max-width:48ch;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.ichorolude-status{display:inline-block;min-width:66px;border:1px solid var(--line);border-radius:5px;padding:4px 7px;color:var(--muted);text-align:center}.ichorolude-status.is-canonical{border-color:color-mix(in oklab,var(--accent) 55%,var(--line));color:var(--accent-strong)}.ichorolude-status.is-legacy{border-color:color-mix(in oklab,var(--gold) 60%,var(--line));color:var(--gold)}.ichorolude-empty{color:var(--muted);text-align:center!important}.ichorography-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;background:var(--panel)}.ichorography-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--panel)}.ichorography-workspace-header h2{margin:2px 0 0;font-size:22px;letter-spacing:0}.ichorography-workspace-header p{margin:4px 0 0;color:var(--muted);font-size:12px}.ichorography-eyebrow{color:var(--gold);font-size:10px;font-weight:800;text-transform:uppercase}.ichorography-header-actions{display:flex;align-items:center;gap:8px}.ichorography-focus-toggle{width:42px;height:42px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);color:var(--muted);cursor:pointer}.ichorography-focus-toggle:hover,.ichorography-focus-toggle[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.ichorography-mode-switch,.ichorography-size-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft)}.ichorography-mode-switch button,.ichorography-size-switch button{min-height:34px;padding:0 12px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.ichorography-mode-switch button:hover,.ichorography-mode-switch button[aria-selected=true],.ichorography-size-switch button:hover,.ichorography-size-switch button[aria-pressed=true]{background:var(--panel);color:var(--accent);box-shadow:0 1px 5px #0000001a}.ichorography-workspace-body{min-width:0;min-height:0;overflow:hidden}.ichorography-workspace-body.is-preview{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}.ichorography-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--panel-soft)}.ichorography-preview-toolbar strong,.ichorography-preview-toolbar span{display:block}.ichorography-preview-toolbar span{margin-top:2px;color:var(--muted);font-size:11px}.ichorography-preview-stage{display:grid;height:100%;min-height:0;padding:10px;place-items:stretch;overflow:auto;background:color-mix(in oklab,var(--panel-soft) 74%,var(--bg))}.ichorography-preview-stage iframe{width:100%;height:100%;min-height:0;border:1px solid var(--line);border-radius:7px;background:#091311;box-shadow:var(--shadow)}.ichorography-preview-stage[data-size=mobile] iframe{width:min(430px,100%);margin:0 auto}.ichorography-publication-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:18px;height:100%;padding:18px;overflow:auto}.ichorography-publication-main,.ichorography-publication-aside>section{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.ichorography-publication-main{align-self:start;padding:20px}.ichorography-publication-aside{display:grid;align-content:start;gap:12px}.ichorography-publication-aside>section{padding:16px}.ichorography-publication-aside h3{margin:0 0 8px;font-size:15px}.ichorography-report-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.ichorography-report-heading h3{margin:0}.ichorography-report-heading button{width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:5px;background:var(--panel-soft);color:var(--accent);font-size:18px}.ichorography-publication-aside p,.ichorography-publication-aside small,.ichorography-publication-intro,.ichorography-last-export{color:var(--muted)}.ichorography-publication-aside p{overflow-wrap:anywhere}.ichorography-publication-aside ul{display:grid;gap:6px;margin:12px 0;padding-left:18px;color:var(--muted);font-size:12px}.ichorography-visibility-help{padding:9px 10px;border-left:2px solid var(--accent);background:var(--panel-soft);font-size:11px}.ichorography-warning-list{display:grid;gap:8px;margin:12px 0}.ichorography-warning-item{padding:10px;border:1px solid color-mix(in oklab,var(--warn) 36%,var(--line));border-radius:6px;background:color-mix(in oklab,var(--warn) 5%,var(--panel-soft))}.ichorography-warning-item strong,.ichorography-warning-item p,.ichorography-warning-item small{display:block}.ichorography-warning-item strong{overflow-wrap:anywhere;font-size:12px}.ichorography-warning-item p{margin:5px 0;font-size:11px}.ichorography-warning-item small{overflow-wrap:anywhere;color:var(--muted)}.ichorography-warning-item>div{display:flex;gap:6px;margin-top:8px}.ichorography-warning-item button{min-height:30px;padding:0 8px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--ink);cursor:pointer}.ichorography-show-warnings{width:100%;min-height:34px;border:1px solid var(--line);border-radius:5px;background:var(--panel-soft);color:var(--accent);cursor:pointer}.ichorography-markdown-dialog{width:min(1040px,calc(100vw - 36px));height:min(820px,calc(100vh - 36px));padding:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);box-shadow:0 28px 90px #00000085}.ichorography-markdown-dialog::backdrop{background:#040b0abd}.ichorography-markdown-dialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.ichorography-markdown-dialog>header,.ichorography-markdown-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--panel-soft)}.ichorography-markdown-dialog>header span{color:var(--gold);font-size:10px;font-weight:800;text-transform:uppercase}.ichorography-markdown-dialog>header h3,.ichorography-markdown-dialog>header p{margin:2px 0 0}.ichorography-markdown-dialog>header p,.ichorography-markdown-dialog>footer span,.ichorography-markdown-context small{color:var(--muted);font-size:11px}.ichorography-markdown-dialog>header>button{width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--muted)}.ichorography-markdown-context{display:grid;gap:4px;padding:10px 16px;border-bottom:1px solid var(--line);background:color-mix(in oklab,var(--warn) 5%,var(--panel))}.ichorography-markdown-dialog textarea{width:100%;min-height:0;padding:16px;resize:none;border:0;outline:0;background:color-mix(in oklab,var(--panel) 90%,var(--bg));color:var(--ink);font-family:Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.55;tab-size:2}.ichorography-markdown-dialog>footer{border-top:1px solid var(--line);border-bottom:0}.ichorography-markdown-dialog>footer>div{display:flex;gap:8px}.ichorography-markdown-dialog>footer button{min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:5px}.ichorography-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.ichorography-section-heading span{color:var(--gold);font-size:10px;font-weight:800;text-transform:uppercase}.ichorography-section-heading h3{margin:3px 0 0;font-size:20px}.ichorography-section-heading code{max-width:45%;overflow:hidden;padding:6px 8px;border:1px solid var(--line);border-radius:5px;color:var(--accent);text-overflow:ellipsis;white-space:nowrap}.ichorography-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}.ichorography-report-grid>div{min-width:0;padding:13px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft)}.ichorography-report-grid span,.ichorography-report-grid strong{display:block}.ichorography-report-grid span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.ichorography-report-grid strong{margin-top:5px;font-size:24px}.ichorography-safety-note{padding:13px 14px;border-left:3px solid var(--accent);background:var(--panel-soft)}.ichorography-safety-note p{margin:4px 0 0;color:var(--muted)}.ichorography-publication-actions,.ichorography-online-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.ichorography-publication-actions button,.ichorography-online-actions button{min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:5px;background:var(--panel-soft);color:var(--ink);cursor:pointer}.ichorography-publication-actions button:hover,.ichorography-online-actions button:hover{border-color:var(--accent)}.ichorography-publication-actions button.primary{border-color:var(--accent-strong);background:var(--accent-strong);color:#fff}.ichorography-publication-actions button:disabled{cursor:wait;opacity:.6}.ichorography-report-ok{margin-top:12px;padding:10px;border:1px solid color-mix(in oklab,var(--accent) 48%,var(--line));border-radius:6px;color:var(--accent);font-size:12px}.ichorography-empty{display:grid;height:100%;min-height:360px;padding:40px;place-content:center;text-align:center}.ichorography-empty h3{margin:0}.ichorography-empty p{color:var(--muted)}:root[data-ichorography-focus=true] .app-shell{grid-template-columns:minmax(0,1fr)}:root[data-ichorography-focus=true] .sidebar,:root[data-ichorography-focus=true] .workspace>.toolbar{display:none}:root[data-ichorography-focus=true] .workspace{height:100vh}:root[data-ichorography-focus=true] .content-grid{padding:0}:root[data-ichorography-focus=true] .detail-pane{border:0;border-radius:0;box-shadow:none}:root[data-ichorography-focus=true] .ichorography-workspace{position:fixed;inset:0;z-index:1000;width:100vw;height:100vh;max-width:none}.session-workspace-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;background:var(--panel)}.session-workflow-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:8px 14px;border-bottom:1px solid var(--line);background:color-mix(in oklab,var(--panel) 94%,var(--panel-soft))}.session-workflow-tabs{display:inline-grid;grid-template-columns:repeat(3,minmax(150px,auto));gap:3px;min-width:0;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.session-workflow-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border:0;border-radius:6px;background:transparent;color:var(--muted);padding:0 12px;font-size:12px;font-weight:780}.session-workflow-tabs button:hover:not(:disabled){color:var(--ink);background:color-mix(in oklab,var(--panel) 72%,transparent)}.session-workflow-tabs button.is-active{background:var(--panel);color:var(--ink);box-shadow:0 1px 4px #0c18151f}.session-workflow-tabs button:disabled{cursor:default;opacity:.5}.session-workflow-tabs small{overflow:hidden;max-width:116px;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.session-workflow-tabs i{width:7px;height:7px;border-radius:50%;background:var(--line)}.session-workflow-tabs i.is-live{background:#c75156;box-shadow:0 0 0 3px color-mix(in oklab,#c75156 16%,transparent)}.session-workflow-status,.session-live-actions,.session-capture-actions{display:flex;align-items:center;gap:8px}.session-workspace-save-state{color:var(--muted);font-size:11px;white-space:nowrap}.session-workspace-save-state.is-dirty{color:var(--gold)}.session-workspace-save-state.is-saving{color:var(--accent)}.session-workspace-save-state.is-error{color:var(--warn)}.session-workspace-focus-toggle{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);padding:0;font-size:17px}.session-workspace-focus-toggle:hover,.session-workspace-focus-toggle[aria-pressed=true]{background:var(--panel-soft);color:var(--accent-strong)}.session-workspace-main{min-width:0;min-height:0;overflow:auto}.session-planner,.session-live-workspace,.session-workspace-main>.session-space-heading,.session-workspace-main>.session-memory-list{width:min(1240px,100%);margin:0 auto}.session-planner,.session-live-workspace{padding:22px 26px 38px}.session-space-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding-bottom:16px;border-bottom:1px solid var(--line)}.session-space-heading h3,.session-space-heading p,.session-space-heading span{margin:0}.session-space-heading h3{margin-top:3px;font-size:22px}.session-space-heading p{margin-top:4px;color:var(--muted);font-size:12px}.session-space-kicker,.session-live-badge{color:var(--accent-strong);font-size:10px;font-weight:850;text-transform:uppercase}.session-live-badge{display:inline-flex;align-items:center;gap:6px}.session-live-badge:before{width:7px;height:7px;border-radius:50%;background:#c75156;content:""}.session-planner-basics{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(150px,.8fr));gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.session-workspace-form input,.session-workspace-form select,.session-workspace-form textarea,.session-note-composer textarea,.session-quick-dialog input,.session-quick-dialog textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink)}.session-workspace-form input,.session-workspace-form select,.session-quick-dialog input{min-height:38px;padding:0 10px}.session-workspace-form textarea,.session-note-composer textarea,.session-quick-dialog textarea{resize:vertical;padding:10px 11px;line-height:1.5}.session-planner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.session-work-block{min-width:0;margin:0;padding:20px 0;border:0;border-bottom:1px solid var(--line);border-radius:0}.session-work-block>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:11px}.session-participant-actions{display:flex;flex:0 0 auto;gap:6px}.session-work-block h4,.session-work-block p{margin:0}.session-work-block h4{font-size:14px}.session-work-block header p,.session-work-block summary small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:450}.session-wide-block,.session-notes-stream{grid-column:1 / -1}.session-participant-editor,.session-checklist-editor,.session-note-list,.session-scene-list,.session-current-participants{display:grid;gap:7px}.session-participant-row{display:grid;gap:8px;padding:10px 0 10px 12px;border-left:2px solid var(--line)}.session-participant-identity{display:grid;grid-template-columns:minmax(0,1fr) 132px 34px;align-items:end;gap:7px}.session-participant-identity label,.session-availability-slot label{display:grid;gap:4px;min-width:0}.session-participant-identity label>span,.session-availability-slot label>span{color:var(--muted);font-size:9px;font-weight:760;text-transform:uppercase}.session-character-editor{display:grid;gap:5px;margin-left:18px}.session-character-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:7px}.session-inline-command{justify-self:start;min-height:28px;border:0;background:transparent;color:var(--accent-strong);padding:2px 0;font-size:10px;font-weight:760}.session-participant-row>.session-inline-command{margin-left:18px}.session-inline-command:hover{color:var(--ink);text-decoration:underline}.session-availability-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);gap:28px}.session-discord-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:28px}.session-discord-compose,.session-discord-recipients{display:grid;align-content:start;gap:12px;min-width:0}.session-discord-target{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:start;overflow:hidden;border:1px solid var(--line);border-radius:6px}.session-discord-target button{cursor:pointer;display:grid;min-height:34px;place-items:center;padding:0 12px;border:0;border-radius:0;background:transparent;color:var(--muted);font-family:inherit;font-size:11px;font-weight:760}.session-discord-target button+button{border-left:1px solid var(--line)}.session-discord-target button[aria-pressed=true]{background:var(--accent);color:var(--panel)}.session-discord-target button:focus-visible{position:relative;z-index:1;outline:2px solid var(--accent);outline-offset:-2px}.session-discord-layout[data-target=dm] .discord-channel-field{display:none}.session-discord-persona-row{align-items:end}.session-discord-message-field{gap:0}.session-discord-template-tools{display:flex;flex-wrap:wrap;gap:5px;padding:6px;border:1px solid var(--line);border-bottom:0;border-radius:5px 5px 0 0;background:var(--panel-soft)}.session-discord-template-tools button{min-height:26px;padding:0 8px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--ink);cursor:pointer;font-size:10px}.session-discord-template-tools button:hover{border-color:var(--accent);color:var(--accent-strong)}.session-discord-message-field textarea{border-radius:0 0 5px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.session-discord-preview{display:grid;gap:9px;min-height:84px;border-left:3px solid var(--line);padding:10px 12px;background:color-mix(in srgb,var(--panel-soft) 86%,transparent);color:var(--muted);font-size:11px}.session-discord-preview-heading,.session-discord-preview-embed{display:flex;align-items:center;gap:10px}.session-discord-preview-heading{justify-content:space-between;border-bottom:1px solid var(--line-soft);padding-bottom:7px}.session-discord-preview-heading small{text-align:right}.session-discord-preview-message{display:grid;gap:3px;color:var(--text);font-size:12px;line-height:1.45}.session-discord-preview-message h1,.session-discord-preview-message h2,.session-discord-preview-message h3,.session-discord-preview-message p,.session-discord-preview-message blockquote{margin:0}.session-discord-preview-message h1{font-size:18px}.session-discord-preview-message h2{font-size:16px}.session-discord-preview-message h3{font-size:14px}.session-discord-preview-message blockquote{border-left:3px solid var(--muted);padding-left:8px;color:var(--muted)}.session-discord-preview-message code{border-radius:3px;padding:1px 4px;background:var(--panel-strong)}.discord-preview-link{color:var(--accent-strong);text-decoration:underline}.discord-preview-gap{min-height:5px}.session-discord-preview-embed{width:min(100%,440px);border-left:3px solid var(--accent);padding:8px;background:var(--panel-soft)}.session-discord-preview-embed.is-large{align-items:end;min-height:116px}.session-discord-preview-embed.is-large .avatar{width:104px;height:104px;min-width:104px;max-width:104px;max-height:104px}.session-discord-preview .avatar{flex:0 0 auto;width:48px;height:48px;min-width:48px;max-width:48px;max-height:48px}.session-discord-preview .avatar img{display:block;width:100%;height:100%;object-fit:cover}.session-discord-presentation-row{align-items:stretch}.commerce-subview-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft)}.commerce-subview-switch button{min-height:38px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:740}.commerce-subview-switch button:last-child{border-right:0}.commerce-subview-switch button[aria-pressed=true]{background:var(--accent);color:var(--panel)}.commerce-directory-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.commerce-journal{display:grid;gap:14px}.commerce-journal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px}.commerce-journal h3,.commerce-journal p{margin:0}.commerce-journal header p{margin-top:3px;color:var(--muted);font-size:11px}.commerce-journal-list{display:grid}.commerce-journal-list article{display:grid;gap:3px;border-bottom:1px solid var(--line-soft);padding:10px 2px}.commerce-journal-list article span,.commerce-journal-list article p{color:var(--muted);font-size:10px}.session-discord-preview>span{display:grid;gap:2px}.session-discord-preview strong{color:var(--text);font-size:12px}.session-discord-recipients{border-left:1px solid var(--line);padding-left:22px}.session-discord-recipients>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.session-discord-recipients h5,.session-discord-recipients p{margin:0}.session-discord-recipients h5{font-size:13px}.session-discord-recipients header p{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.45}.session-discord-recipient-list{display:grid;gap:5px}.session-discord-recipient{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;min-height:42px;border-bottom:1px solid var(--line-soft);padding:5px 2px}.session-discord-recipient>span{display:grid;gap:2px;min-width:0}.session-discord-recipient small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.session-discord-recipient em{justify-self:start;padding:2px 5px;border:1px solid color-mix(in srgb,var(--gold) 44%,var(--line));border-radius:4px;color:var(--gold);font-size:9px;font-style:normal;font-weight:720}.session-discord-select-unanswered{justify-self:stretch;text-align:center}.session-discord-recipient:has(input:disabled){opacity:.5}.session-discord-actions{display:flex;justify-content:flex-end;gap:8px}.session-discord-event-actions{display:flex;flex-wrap:wrap;gap:7px;padding-top:9px;border-top:1px solid var(--line)}.session-discord-last-sent{color:var(--muted);font-size:10px;text-align:right}.session-availability-slots{display:grid;gap:7px;margin-top:14px}.session-availability-calendar{display:grid;gap:8px;max-width:620px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:10px}.session-availability-calendar-heading{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px}.session-availability-calendar-heading strong{font-size:12px;text-align:center;text-transform:capitalize}.session-availability-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(32px,1fr));gap:4px}.session-availability-weekday{overflow:hidden;padding:3px 0;color:var(--muted);font-size:9px;font-weight:780;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.session-availability-day{position:relative;display:grid;min-width:0;min-height:34px;place-items:center;border:1px solid transparent;border-radius:6px;background:var(--panel);color:var(--muted);font-size:11px}.session-availability-day:not(.is-empty):hover{border-color:var(--accent);color:var(--ink)}.session-availability-day.is-selected{border-color:color-mix(in oklab,var(--accent) 58%,var(--line));background:color-mix(in oklab,var(--accent) 17%,var(--panel));color:var(--accent-strong);font-weight:820}.session-availability-day.is-empty{visibility:hidden}.session-availability-day i{position:absolute;top:2px;right:3px;font-size:8px;font-style:normal}.session-availability-calendar-hint{margin:0;color:var(--muted);font-size:9px;line-height:1.35}.session-availability-slot{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(140px,.8fr) 34px;align-items:end;gap:7px}.session-scheduling-state{color:var(--accent-strong);font-size:10px;font-weight:760}.session-scheduling-summary{min-width:0;border-left:1px solid var(--line);padding-left:22px}.session-scheduling-actions{display:flex;flex-wrap:wrap;gap:7px}.session-scheduling-privacy{margin:10px 0 14px;color:var(--muted);font-size:10px;line-height:1.45}.session-scheduling-ranking{display:grid}.session-scheduling-ranking h5{margin:3px 0 7px;font-size:11px}.session-scheduling-rank{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:47px;border-top:1px solid var(--line)}.session-scheduling-rank>span{color:var(--muted);font-size:10px;font-weight:800}.session-scheduling-rank>div{display:grid;min-width:0}.session-scheduling-rank strong,.session-scheduling-rank small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-scheduling-rank strong{font-size:11px}.session-scheduling-rank small{color:var(--muted);font-size:9px}.session-scheduling-rank b{color:var(--accent-strong);font-size:10px;white-space:nowrap}.session-scheduling-rank .secondary-action{min-height:28px;padding:0 8px;font-size:9px}.session-checklist-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px}.session-checklist-actions{display:inline-grid;grid-auto-flow:column;gap:4px}.session-checklist-actions .icon-action{width:28px;min-width:28px;height:30px;min-height:30px}.session-checklist-row>input[type=checkbox]{width:17px;height:17px;min-height:0;accent-color:var(--accent)}.session-checklist-row:has(input[type=checkbox]:checked) input[data-task-text]{color:var(--muted);text-decoration:line-through}.session-inline-add{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:7px;margin-top:9px}.session-editor-empty{margin:4px 0;color:var(--muted);font-size:12px}.session-deferred-tasks{margin-top:9px;border-top:1px solid var(--line);padding-top:8px}.session-deferred-tasks summary{color:var(--muted);cursor:pointer;font-size:11px}.session-deferred-tasks>div{display:grid;gap:5px;margin-top:7px}.session-deferred-tasks button{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;min-height:30px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--muted);cursor:pointer;text-align:left}.session-deferred-tasks button:hover{border-color:var(--accent);color:var(--ink)}.session-deferred-tasks button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-workspace-empty{display:grid;justify-items:center;width:min(520px,calc(100% - 32px));margin:clamp(60px,12vh,130px) auto;color:var(--muted);text-align:center}.session-workspace-empty strong{color:var(--ink);font-size:20px}.session-workspace-empty p{line-height:1.55}.session-live-heading{position:sticky;top:-22px;z-index:5;background:var(--panel)}.session-live-tools{display:flex;gap:6px;overflow-x:auto;padding:10px 0;border-bottom:1px solid var(--line)}.session-live-tools button{flex:0 0 auto;min-height:32px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);padding:0 10px;font-size:11px;font-weight:720}.session-live-tools button:hover{border-color:var(--accent);background:var(--panel-soft)}.session-capture{padding:18px 0;border-bottom:1px solid var(--line)}.session-note-composer{display:grid;gap:9px}.session-note-composer textarea{min-height:76px;resize:none;font-size:15px}.session-capture-actions{justify-content:space-between}.session-kind-control{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft)}.session-kind-control label{cursor:pointer}.session-kind-control input{position:absolute;opacity:0;pointer-events:none}.session-kind-control span{display:flex;align-items:center;min-height:30px;border-radius:5px;padding:0 10px;color:var(--muted);font-size:11px;font-weight:750}.session-kind-control input:checked+span{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px #0c18151f}.session-live-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);column-gap:28px}.session-live-grid .session-notes-stream{grid-row:span 3}.session-work-block>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.session-work-block>summary::-webkit-details-marker{display:none}.session-work-block>summary i{display:grid;min-width:24px;height:24px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:10px;font-style:normal}.session-work-block[open]>summary{margin-bottom:12px}.app-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:4px;cursor:pointer;list-style:none;outline:none}.app-section>summary::-webkit-details-marker{display:none}.app-section>summary small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:450}.app-section>summary:focus-visible{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 65%,transparent)}.app-section>summary:hover strong{color:var(--accent-strong)}.app-section-content{min-width:0}.app-section-content>textarea{width:100%}.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel{margin:0;padding:14px 0;border:0;border-bottom:1px solid var(--line)}.entity-purpose-section[open]>summary,.entity-ruleset-panel[open]>summary{margin-bottom:14px}.entity-purpose-section>.app-section-content{gap:14px}.entity-ruleset-panel{padding-inline:0}.entity-ruleset-panel>summary i{display:grid;min-width:25px;height:25px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:.68rem;font-style:normal}.ruleset-sheet-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) 34px 34px;align-items:end;gap:7px}.entity-ruleset-panel [hidden]{display:none!important}.ruleset-subheading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.dnd-actions-editor{display:grid;gap:10px}.dnd-actions-editor [data-dnd-action-list]{display:grid;gap:8px}.dnd-action-row{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft)}.dnd-action-row>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dnd-action-row textarea{min-height:68px}.ruleset-sheet-toolbar .compact-action{width:34px;min-height:34px;padding:0;font-size:1.05rem}.ruleset-subheading{margin:4px 0 0;color:var(--muted);font-size:.74rem;text-transform:uppercase}.entity-editor-section[open]>summary{margin-bottom:12px}.private-notes-section>summary strong{color:var(--gold)}.project-date-control{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.project-date-actions{display:flex;gap:5px}.project-date-actions .secondary-action{min-height:34px;padding:0 9px;font-size:11px}.project-date-popover{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:min(330px,calc(100vw - 32px));padding:10px;border:1px solid var(--line-strong);border-radius:6px;background:var(--panel);box-shadow:var(--shadow)}.project-date-popover[hidden]{display:none}.project-date-popover header{display:grid;grid-template-columns:32px minmax(0,1fr) 76px 32px;gap:6px;margin-bottom:8px}.project-date-popover header select,.project-date-popover header input{min-width:0;height:32px}.project-date-days{display:grid;grid-template-columns:repeat(7,minmax(28px,1fr));gap:3px}.project-date-days button{width:100%;height:30px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text)}.project-date-days button:hover,.project-date-days button.is-selected{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 18%,transparent);color:var(--accent-strong)}.wiki-link-suggestions{position:fixed;z-index:1000;display:grid;max-height:280px;overflow:auto;padding:5px;border:1px solid var(--line-strong);border-radius:6px;background:var(--panel);box-shadow:var(--shadow)}.wiki-link-suggestions button{display:grid;gap:2px;width:100%;min-width:0;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:var(--text);text-align:left}.wiki-link-suggestions button:hover,.wiki-link-suggestions button.is-active{background:var(--panel-soft)}.wiki-link-suggestions strong,.wiki-link-suggestions small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiki-link-suggestions small{color:var(--muted);font-size:10px}.session-note-entry{padding:11px 12px;border-left:3px solid var(--accent);background:var(--panel-soft)}.session-note-entry.is-followup{border-left-color:var(--gold)}.session-note-entry header,.session-note-entry footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.session-note-entry header{color:var(--muted);font-size:10px;font-weight:780;text-transform:uppercase}.session-note-entry p{margin:8px 0;line-height:1.45}.session-note-randomizer{display:grid;gap:8px;margin:12px -2px 10px;padding:10px 0 2px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.session-note-randomizer>header{min-height:34px;color:var(--ink);font-size:.72rem;text-transform:none}.session-note-randomizer .randomizer-display-switch button{min-height:28px;padding:0 8px;font-size:.67rem}.session-note-randomizer .randomizer-result-list[data-mode=expanded]{grid-template-columns:1fr}.session-note-randomizer .randomizer-result{border-width:1px 0 0;border-radius:0;background:transparent;padding-right:2px;padding-left:2px}.session-note-randomizer .randomizer-result:first-child{border-top:0}.session-note-randomizer .randomizer-result.is-expanded{grid-template-columns:112px minmax(0,1fr) auto;min-height:142px}.session-note-randomizer .randomizer-result-visual{min-height:104px}.session-note-entry footer{min-height:22px;color:var(--muted);font-size:10px}.session-note-entry footer button{border:0;background:transparent;color:var(--accent-strong);padding:0;font-size:10px;font-weight:750}.session-current-scene,.session-current-participant{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:5px 2px;text-align:left}.session-current-scene input{width:17px;height:17px;accent-color:var(--accent)}.session-current-scene span,.session-current-participant span{display:grid;min-width:0}.session-current-scene small,.session-current-participant small{color:var(--muted);font-size:10px}.session-current-participant{justify-content:space-between}.session-current-character-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.session-prep-reference{display:grid;gap:14px;color:var(--muted);font-size:12px}.session-prep-reference ul{margin:6px 0 0;padding-left:18px}.session-memory-list{padding:0 26px 38px}.session-workspace-main>.session-space-heading{padding:22px 26px 16px}.session-memory-session{padding:18px 0;border-bottom:1px solid var(--line)}.session-memory-session>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.session-memory-session h4,.session-memory-session p{margin:0}.session-memory-session header p{margin-top:3px;color:var(--muted);font-size:11px}.session-memory-notes{display:grid;gap:6px}.session-memory-note{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:7px 0 7px 10px;border-left:3px solid var(--accent)}.session-memory-note.is-followup{border-left-color:var(--gold)}.session-memory-note button{flex:0 0 auto;border:0;background:transparent;color:var(--muted);font-size:10px}.session-memory-session details{margin-top:12px;color:var(--muted);font-size:11px}.session-memory-body{margin-top:8px;padding:10px 12px;border-left:2px solid var(--line);color:var(--ink);line-height:1.5}.session-quick-dialog,.session-tool-dialog,.session-close-dialog{width:min(620px,calc(100vw - 34px));max-height:min(760px,calc(100vh - 34px));border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:0;box-shadow:0 24px 80px #00000057}.session-close-dialog{width:min(860px,calc(100vw - 34px))}.session-tool-dialog{display:none;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(980px,calc(100vw - 34px));height:min(720px,calc(100vh - 34px))}.session-tool-dialog[open]{display:grid}.session-quick-dialog::backdrop,.session-tool-dialog::backdrop,.session-close-dialog::backdrop{background:#080e0d9e}.session-quick-dialog>header,.session-tool-dialog>header,.session-quick-dialog form>header,.session-close-dialog form>header,.session-tool-dialog>footer,.session-quick-dialog form>footer,.session-close-dialog form>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line)}.session-quick-dialog h3,.session-quick-dialog p,.session-tool-dialog h3,.session-tool-dialog p,.session-close-dialog h3,.session-close-dialog p{margin:0}.session-quick-dialog header p,.session-tool-dialog header p,.session-close-dialog header p{margin-top:3px;color:var(--muted);font-size:11px}.session-quick-dialog form>.field{padding:18px}.session-quick-dialog form>footer,.session-tool-dialog>footer,.session-close-dialog form>footer{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}.session-tool-search{padding:12px 16px;border-bottom:1px solid var(--line)}.session-tool-search input{width:100%;min-height:38px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);padding:0 11px}.session-tool-layout{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.6fr);min-height:0}.session-tool-list{min-height:0;overflow:auto;border-right:1px solid var(--line)}.session-tool-list button{display:grid;gap:3px;width:100%;min-height:52px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 14px;text-align:left}.session-tool-list button:hover,.session-tool-list button.is-selected{background:var(--panel-soft)}.session-tool-list button.is-selected{box-shadow:inset 3px 0 var(--accent)}.session-tool-list small,.session-tool-detail header p{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.session-tool-detail{min-width:0;min-height:0;overflow:auto;padding:20px 22px}.session-tool-detail h4{margin:0;font-size:18px}.session-tool-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:18px 0}.session-tool-fields>div{display:grid;grid-template-columns:minmax(80px,.7fr) minmax(0,1fr);gap:10px;padding-bottom:6px;border-bottom:1px solid var(--line)}.session-tool-fields dt{color:var(--muted);font-size:10px}.session-tool-fields dd{overflow-wrap:anywhere;margin:0;font-size:11px}.session-tool-summary{line-height:1.6}.session-tool-empty{padding:22px;color:var(--muted);font-size:12px;text-align:center}.session-dice-panel{min-height:0;overflow:auto;padding:20px}.session-dice-presets{display:flex;flex-wrap:wrap;gap:7px}.session-dice-presets button{width:44px;min-height:38px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);color:var(--ink);font-weight:760}.session-dice-controls{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr)) auto;align-items:end;gap:10px;margin-top:18px}.session-dice-controls label{display:grid;gap:5px;color:var(--muted);font-size:10px}.session-dice-controls input{width:100%;min-height:38px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);padding:0 9px}.session-dice-result{display:grid;justify-items:center;gap:5px;margin-top:22px;padding:22px;border-block:1px solid var(--line)}.session-dice-result strong{font-size:38px}.session-dice-result span{color:var(--muted);font-size:11px}.session-dice-actions{display:flex;justify-content:center;padding:12px 0}.session-dice-history h4{margin:8px 0}.session-dice-history p{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}.session-dice-history span{color:var(--muted);font-size:10px}.session-dialog-scroll{max-height:min(600px,calc(100vh - 150px));overflow:auto;padding:0 18px 18px}.session-close-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-height:min(540px,calc(100vh - 190px));overflow:auto;padding:18px}.session-close-columns section{display:grid;align-content:start;gap:8px}.session-close-columns h4{margin:0 0 4px}.session-close-columns label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.4}:root[data-session-workspace-focus=true] .app-shell{grid-template-columns:minmax(0,1fr)}:root[data-session-workspace-focus=true] .sidebar,:root[data-session-workspace-focus=true] .workspace>.toolbar{display:none}:root[data-session-workspace-focus=true] .workspace{grid-template-rows:minmax(0,1fr)}:root[data-session-workspace-focus=true] .content-grid{grid-template-columns:minmax(0,1fr)!important;gap:0;padding:0}:root[data-session-workspace-focus=true] .detail-pane{display:block;visibility:visible;border:0;border-radius:0;box-shadow:none}:root[data-session-workspace-focus=true] .session-live-workspace{width:min(1360px,100%);padding-top:14px}:root[data-session-workspace-focus=true] .session-live-heading{top:-14px}.history-images-field .token-drop{min-height:82px;margin-bottom:10px}.history-relations-panel{display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.history-relations-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-relations-heading h4,.history-relations-heading p{margin:0}.history-relations-heading h4{font-size:14px}.history-relations-heading p{margin-top:2px;color:var(--muted);font-size:11px}.history-relations-heading>span{min-width:28px;padding:4px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;text-align:center}.history-relations-list{display:grid;gap:7px}.history-relation-link{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:58px;padding:8px 10px;border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:6px;background:var(--panel);color:var(--ink);text-align:left}.history-relation-link.is-positive{border-left-color:#2caa75}.history-relation-link.is-mixed{border-left-color:#d2a53f}.history-relation-link.is-negative{border-left-color:#cf6267}.history-relation-link:hover{background:var(--panel-soft)}.history-relation-order{color:var(--muted);font-size:12px;font-weight:800;text-align:center}.history-relation-copy{display:grid;gap:2px;min-width:0}.history-relation-copy strong,.history-relation-copy small,.history-relation-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-relation-copy strong{font-size:12px}.history-relation-copy small,.history-relation-copy>span,.history-relation-open{color:var(--muted);font-size:10px}.history-relation-open{padding:4px 6px;border:1px solid var(--line);border-radius:4px;font-weight:800}.history-type-badge{display:inline-block;padding:2px 9px;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:760;white-space:nowrap}.history-type-badge.is-event{color:var(--accent-strong);border-color:var(--accent)}.history-type-badge.is-quest{color:var(--gold);border-color:var(--gold)}.npcs-table{min-width:740px}.players-table th,.players-table td,.npcs-table th,.npcs-table td,.objects-table th,.objects-table td{padding:10px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.players-table th:nth-child(1),.players-table td:nth-child(1){width:16%}.players-table th:nth-child(2),.players-table td:nth-child(2){width:13%}.players-table th:nth-child(3),.players-table td:nth-child(3){width:20%}.players-table th:nth-child(4),.players-table td:nth-child(4),.players-table th:nth-child(5),.players-table td:nth-child(5){width:7%}.players-table th:nth-child(6),.players-table td:nth-child(6){width:20%}.players-table th:nth-child(7),.players-table td:nth-child(7){width:17%}.player-ability-summary{font-size:12px;letter-spacing:.01em}.objects-table th:nth-child(1),.objects-table td:nth-child(1){width:8%}.objects-table th:nth-child(2),.objects-table td:nth-child(2){width:27%}.objects-table th:nth-child(3),.objects-table td:nth-child(3){width:17%}.objects-table th:nth-child(4),.objects-table td:nth-child(4),.objects-table th:nth-child(6),.objects-table td:nth-child(6){width:10%}.objects-table th:nth-child(5),.objects-table td:nth-child(5){width:28%}.npcs-table th:nth-child(1),.npcs-table td:nth-child(1){width:31%}.npcs-table th:nth-child(2),.npcs-table td:nth-child(2){width:29%}.npcs-table th:nth-child(3),.npcs-table td:nth-child(3),.npcs-table th:nth-child(4),.npcs-table td:nth-child(4){width:12%}.npcs-table th:nth-child(5),.npcs-table td:nth-child(5){width:16%}.players-table td,.npcs-table td,.objects-table td{overflow:hidden;text-overflow:ellipsis}.players-table th,.npcs-table th,.objects-table th{position:sticky;top:0;z-index:1;background:var(--panel);color:var(--muted);font-size:12px;font-weight:820;text-transform:uppercase}.players-table tr,.npcs-table tr,.objects-table tr{cursor:pointer}.players-table tr:hover,.players-table tr.is-selected,.npcs-table tr:hover,.npcs-table tr.is-selected,.objects-table tr:hover,.objects-table tr.is-selected{background:var(--panel-soft)}.players-table .num,.npcs-table .num,.objects-table .num{text-align:right;white-space:nowrap}.players-table .strong,.npcs-table .strong,.objects-table .strong{color:var(--accent-strong);font-weight:850}.npc-name-cell{display:flex;align-items:center;gap:10px;min-width:0}.npc-avatar{flex:0 0 auto;width:40px;height:40px;font-size:12px}.npc-name-text{display:grid;min-width:0;gap:3px}.npc-name-text strong,.npc-name-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.npc-name-text span{color:var(--muted);font-size:12px}.player-name-cell{display:grid;align-items:start;gap:5px;min-width:0}.player-name-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-chip{width:max-content;padding:3px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;font-weight:760}.status-chip.is-active{border-color:color-mix(in oklab,var(--accent) 42%,var(--line));color:var(--accent-strong)}.economy-cell{display:grid;gap:2px;min-width:0}.economy-cell span,.economy-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.economy-cell span{color:var(--muted);font-size:12px}.economy-cell strong{font-size:12px;font-weight:760}.player-panel{display:grid;gap:16px}.object-toolbar,.merchant-toolbar{position:sticky;top:-12px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-12px -12px 10px;padding:12px;border-bottom:1px solid var(--line);background:color-mix(in oklab,var(--panel) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.object-toolbar.is-bottom,.line-add-footer{position:static;margin:10px 0 0;padding:12px 0 0;border-top:1px solid var(--line);border-bottom:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.line-add-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.detail-actions.inline-actions{position:static;flex-wrap:wrap;justify-content:flex-start;margin:12px 0 0;padding:0;border-top:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.object-toolbar span,.merchant-toolbar span,.line-add-footer span{color:var(--muted);font-size:13px;font-weight:760}.npc-toolbar{flex-wrap:wrap}.npc-token-visibility{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.npc-token-visibility input{inline-size:16px;block-size:16px}.object-panel-header h3,.object-panel-header p{margin:0}.object-panel-header h3{font-size:22px}.object-panel-header p{margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.form-grid{display:grid;gap:12px}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-columns{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.8fr)}.object-form #object-effect{min-height:116px}.object-form #object-body{min-height:180px}.merchant-form{min-width:0}.merchant-lines{display:grid;gap:8px}.merchant-line{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(220px,1.6fr) 76px 42px;gap:8px;align-items:center;min-width:0}.merchant-line-head{color:var(--muted);font-size:12px;font-weight:820;text-transform:uppercase}.merchant-line input,.merchant-line select{min-width:0;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:0 10px}.merchant-line input[type=number]{text-align:right}.icon-action{display:grid;width:38px;height:38px;min-height:38px;place-items:center;padding:0;font-size:20px;line-height:1}.merchant-summary{display:grid;gap:16px}.merchant-detail-list dt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-shop-form,.player-shop-summary{min-width:0}.shop-lines{display:grid;gap:8px}.shop-line{display:grid;grid-template-columns:minmax(220px,1.5fr) 72px 96px 82px 42px;gap:8px;align-items:center;min-width:0}.shop-line-head{color:var(--muted);font-size:12px;font-weight:820;text-transform:uppercase}.shop-line input{min-width:0;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:0 10px}.shop-line input[type=number]{text-align:right}.player-shop-editor-section{margin-top:12px}.shop-cost-line{display:grid;grid-template-columns:76px minmax(220px,1.5fr) 72px 110px 42px;gap:8px;align-items:center;min-width:0}.shop-cost-line>input{min-width:0;height:38px;border:1px solid var(--line);border-radius:6px;background:var(--field);color:var(--text);padding:0 10px}.shop-cost-line>input[type=number]{text-align:right}.shop-cost-active{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:12px;font-weight:760}.player-shop-purchase-offers{margin-top:14px}.shop-offers-heading,.shop-offer{display:flex;align-items:center;justify-content:space-between;gap:12px}.shop-offers-heading h5{margin:0;font-size:14px}.shop-offers-heading span{color:var(--muted);font-size:12px}.shop-offer-list{display:grid;gap:8px;margin-top:10px}.shop-offer{min-height:54px;padding:8px 10px;border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:6px;background:var(--field)}.shop-offer.is-accepted{border-left-color:var(--accent)}.shop-offer.is-declined{opacity:.72}.shop-offer>div:first-child{min-width:0;display:grid;gap:2px}.shop-offer small{color:var(--muted)}.shop-offer-actions{display:inline-flex;gap:6px}.shop-offer-actions .secondary-action{min-height:32px;padding:0 10px}.shop-offer-actions .is-selected{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--field))}.player-shop-summary{display:grid;gap:16px}.shop-log{display:grid;gap:8px}.shop-log-entry{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.shop-log-entry span{color:var(--muted);font-size:12px;line-height:1.35}.arena-form,.arena-summary{min-width:0}.arena-side-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.arena-side-card{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.arena-side-card h4{margin:0;font-size:15px}.arena-lines{display:grid;gap:8px}.arena-line{display:grid;grid-template-columns:minmax(130px,1fr) minmax(112px,.8fr) minmax(112px,.8fr) 82px 42px;gap:8px;align-items:center;min-width:0}.arena-line-head{color:var(--muted);font-size:12px;font-weight:820;text-transform:uppercase}.arena-line input,.arena-line select{min-width:0;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:0 10px}.arena-line input[type=number]{text-align:right}.arena-summary{display:grid;gap:16px}.arena-bet-detail dt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-panel-header{display:flex;align-items:start;justify-content:space-between;gap:14px}.player-panel h3,.player-panel h4,.player-panel p{margin:0}.player-panel h3{font-size:22px}.player-panel-header p,.rule-note{color:var(--muted);line-height:1.45}.level-control{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:760}.level-control input{width:76px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:0 10px}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.summary-grid div{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.summary-grid span{color:var(--muted);font-size:12px}.summary-grid strong{overflow:hidden;font-size:18px;text-overflow:ellipsis}.selected-player{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.selected-player dl{display:grid;gap:9px;margin:12px 0 0}.selected-player dl div{display:flex;justify-content:space-between;gap:12px}.selected-player dt{color:var(--muted)}.selected-player dd{margin:0;font-weight:820}.wallet-editor{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,.9fr) auto;gap:8px;align-items:end;margin-top:12px}.wallet-editor label{color:var(--muted);font-size:12px;font-weight:760}.wallet-editor input{width:100%;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:0 10px;text-align:right}.ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.ability-grid div{display:grid;gap:2px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);text-align:center}.ability-grid span{color:var(--muted);font-size:11px;font-weight:820}.ability-grid strong{font-size:18px}.ability-grid em{color:var(--accent-strong);font-style:normal;font-weight:760}.ability-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.ability-edit-grid .field{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.ability-edit-grid input{text-align:center}.ability-edit-cell{display:grid;gap:3px;text-align:center}.ability-edit-cell span{color:var(--muted);font-size:11px;font-weight:820}.ability-derived{color:var(--ink);font-size:15px;font-weight:850}.ability-mod{color:var(--accent-strong);font-style:normal;font-weight:760;font-size:12px}.player-derived-card>summary{cursor:pointer;font-weight:820}.player-derived-card>[data-player-derived-sources]{display:grid;gap:14px;margin-top:14px}.player-derived-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.player-derived-metrics>div{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.player-derived-metrics span,.player-derived-metrics small,.player-derived-list li span{color:var(--muted);font-size:11px}.player-derived-metrics strong{font-size:18px}.player-derived-list h5,.player-derived-issues h5{margin:0 0 7px;font-size:12px;text-transform:uppercase}.player-derived-list ul,.player-derived-issues ul{display:grid;gap:5px;margin:0;padding-left:18px}.player-derived-list li span{display:block}.player-derived-issues{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.player-derived-issues.has-issues{border-color:color-mix(in srgb,var(--gold) 52%,var(--line))}.ability-editor{margin:-4px 0 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.ability-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 12px;cursor:pointer;color:var(--ink);font-size:13px;font-weight:800}.ability-editor>summary span{color:var(--muted);font-weight:760}.ability-editor .ability-edit-grid{margin-top:0;padding:0 12px}.ability-editor .detail-actions{padding:12px}.player-editor-card .detail-actions{margin-top:12px}.player-roll-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.roll-card{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.roll-card span{color:var(--muted);font-size:12px;font-weight:780}.roll-card strong{min-height:22px;font-size:16px}.player-frontmatter-editor textarea{width:100%;min-height:180px;margin-top:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--ink);padding:12px;font:12px/1.45 JetBrains Mono,Cascadia Code,monospace;resize:vertical}@media(max-width:760px){body{overflow:auto}.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}:root[data-sidebar=collapsed] .app-shell{grid-template-columns:1fr}.sidebar{position:static;display:grid;grid-template-columns:1fr auto;align-items:center}.sidebar-options,.section-tabs{grid-column:1 / -1}.content-grid{grid-template-columns:1fr;height:auto;overflow:visible}:root[data-view=relations] .content-grid{grid-template-columns:1fr}.panel-controls,.panel-resizer{display:none}:root[data-list-pane=collapsed] .list-pane,:root[data-detail-pane=collapsed] .detail-pane{visibility:visible;min-width:0;border:1px solid var(--line);overflow:auto;box-shadow:var(--shadow)}:root[data-list-pane=collapsed] .list-pane{padding:12px}:root[data-detail-pane=collapsed] .detail-pane{padding:18px}.workspace{height:auto;overflow:visible}:root[data-view=sessionWorkspace] body,:root[data-session-workspace-focus=true] body{overflow:hidden}:root[data-view=sessionWorkspace] .app-shell,:root[data-view=sessionWorkspace] .workspace{height:100vh;min-height:0;overflow:hidden}.session-planner-basics,.session-planner-grid,.session-live-grid,.session-availability-layout,.session-discord-layout{grid-template-columns:1fr}.session-discord-recipients,.session-scheduling-summary{border-top:1px solid var(--line);border-left:0;padding-top:18px;padding-left:0}.session-live-grid .session-notes-stream{grid-row:auto}.session-workflow-tabs{grid-template-columns:repeat(3,minmax(110px,1fr))}}@media(max-width:640px){.session-workflow-bar{align-items:stretch;flex-direction:column}.session-workflow-tabs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.session-workflow-tabs button{min-width:0;padding:0 6px}.session-workflow-tabs small{display:none}.session-workflow-status{justify-content:flex-end}.session-planner,.session-live-workspace,.session-memory-list,.session-workspace-main>.session-space-heading{padding-right:14px;padding-left:14px}.session-space-heading,.session-live-actions,.session-capture-actions{align-items:stretch;flex-direction:column}.session-participant-identity,.session-availability-slot{grid-template-columns:1fr}.session-participant-identity>.icon-action,.session-availability-slot>.icon-action{justify-self:end}.session-close-columns{grid-template-columns:1fr}.toolbar,.toolbar-actions{align-items:stretch;flex-direction:column}.toolbar-actions input{width:100%}.content-grid{padding:10px}.form-grid.two-columns,.form-grid.three-columns,.character-rename-row,.character-date-row,.npc-promotion-row,.roll20-controls,.roll20-builder-head,.roll20-ability-meta{grid-template-columns:1fr}.history-toolbar{align-items:stretch;flex-direction:column}.history-sort-controls{grid-template-columns:1fr;min-width:0}.image-library-toolbar-row,.image-library-detail>header{align-items:stretch;flex-direction:column}.image-library-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.image-library-controls label{align-items:stretch;flex-direction:column}.image-library-controls .compact-action{align-self:end}.image-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-library-meta,.writing-editor-header,.writing-meta-row{grid-template-columns:1fr}.writing-save-state,.writing-meta-row .detail-path-actions{justify-self:start}.writing-format-toolbar{flex-wrap:wrap}.writing-format-toolbar select{flex:1 1 100%;width:100%}.writing-prose{padding:32px 24px 48px}.writing-picker-controls{grid-template-columns:1fr}.writing-picker-controls label{justify-content:space-between}.writing-annotation-marker{left:-13px}.module-settings,.settings-project-grid,.relation-history-add,.session-relation-perceptions{grid-template-columns:1fr}.settings-section>header{align-items:stretch;flex-direction:column}.settings-section>header .compact-action{align-self:flex-start}.relation-timeline-head,.relation-phase-head{align-items:stretch;flex-direction:column}.roll20-block header{align-items:stretch;flex-direction:column}.merchant-line{grid-template-columns:1fr 1fr 64px 38px}.shop-line{grid-template-columns:1fr 64px}.shop-cost-line{grid-template-columns:64px 1fr 64px}.shop-cost-line>input[data-field=priceOverride]{grid-column:2 / 3}.shop-offer{align-items:flex-start;flex-wrap:wrap}.shop-offer-actions{width:100%}.shop-line-head{display:none}.wallet-editor{grid-template-columns:1fr}.session-year-controls,.players-view-tools{align-items:stretch;flex-direction:column}.session-year-field{width:100%}.arena-side-grid{grid-template-columns:1fr}.arena-line{grid-template-columns:1fr 1fr}.arena-line-head{display:none}.card-list{grid-template-columns:1fr}.players-table th:nth-child(3),.players-table td:nth-child(3),.players-table th:nth-child(2),.players-table td:nth-child(2),.players-table th:nth-child(7),.players-table td:nth-child(7){display:none}.players-table th:nth-child(1),.players-table td:nth-child(1){width:38%}.players-table th:nth-child(4),.players-table td:nth-child(4),.players-table th:nth-child(5),.players-table td:nth-child(5){width:14%}.players-table th:nth-child(6),.players-table td:nth-child(6){width:34%}.player-roll-grid{grid-template-columns:1fr}.ability-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.ichorolude-entity-browser{grid-template-columns:minmax(0,1fr)}.ichorolude-entity-browser>aside{max-height:330px;border-right:0;border-bottom:1px solid var(--line)}.ichorolude-position-fields{grid-template-columns:repeat(3,minmax(64px,1fr))}.ichorolude-position-fields .save-action{grid-column:1 / -1}.ichorography-publication-grid{grid-template-columns:minmax(0,1fr)}.ichorography-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.ichorolude-header{align-items:stretch;flex-direction:column}.ichorolude-header-tools{align-items:stretch;flex-direction:column-reverse}.ichorolude-tabs{width:100%}.ichorolude-tabs button{flex:1}.ruleset-workspace-header{align-items:stretch;flex-direction:column}.ruleset-workspace-header>label{flex-basis:auto}.ruleset-origin{align-self:stretch}.ruleset-identity{grid-template-columns:minmax(0,1fr)}.ruleset-identity .is-wide{grid-column:auto}.generic-ruleset-properties{grid-template-columns:minmax(0,1fr)}.generic-ruleset-toolbar{grid-template-columns:minmax(0,1fr) auto auto}.generic-ruleset-toolbar .field:first-child{grid-column:1 / -1}.generic-ruleset-unassigned{align-items:stretch;flex-direction:column}.generic-ruleset-unassigned .secondary-action{align-self:flex-start}.player-progressions-heading{align-items:flex-start;flex-direction:column}.player-progression-row{grid-template-columns:minmax(0,1fr)}.ichorolude-entity-sheet>header{grid-template-columns:58px minmax(0,1fr)}.ichorolude-entity-sheet>header img,.ichorolude-entity-image-empty{width:58px;height:58px}.ichorolude-entity-sheet>header .secondary-action{grid-column:1 / -1;justify-self:start}.ichorolude-relay-card{grid-template-columns:minmax(0,1fr)}.ichorolude-relay-actions{justify-content:flex-start;flex-wrap:wrap}.ichorolude-access-row{grid-template-columns:minmax(0,1fr);align-items:start}.ichorolude-access-devices{justify-content:flex-start}.ichorolude-access-row>.secondary-action{justify-self:start}.ichorolude-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ichorolude-metrics>div:nth-child(2){border-right:0}.ichorolude-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.ichorography-workspace-header,.ichorography-preview-toolbar,.ichorography-section-heading{align-items:stretch;flex-direction:column}.ichorography-mode-switch,.ichorography-size-switch,.ichorography-header-actions{width:100%}.ichorography-mode-switch button,.ichorography-size-switch button{flex:1}.ichorography-section-heading code{max-width:100%}.ichorography-publication-grid{padding:10px}.ichorography-report-grid{grid-template-columns:minmax(0,1fr)}}:root{color-scheme:light;--bg: #eee3d3;--panel: #fbf5eb;--panel-strong: #fffaf2;--panel-soft: #f1e7d8;--ink: #33342c;--text: var(--ink);--muted: #6d746d;--line: #d5c7b4;--line-soft: #e7dccd;--accent: #4f7472;--accent-strong: #3f6667;--accent-ink: #f8f1e6;--warn: #a95f59;--danger: var(--warn);--gold: #a98249;--gold-soft: #dabe80;--cyan: #4e9ca7;--shadow: 0 1px 1px rgba(51, 52, 44, .035), 0 12px 34px rgba(60, 86, 90, .1);--shadow-raised: 0 2px 3px rgba(51, 52, 44, .05), 0 20px 52px rgba(60, 86, 90, .13);--focus-ring: 0 0 0 3px rgba(105, 198, 211, .24);--sidebar-bg: #e8d6bc;--sidebar-bg-deep: #dfccb1;--sidebar-panel: rgba(255, 250, 242, .46);--sidebar-panel-strong: rgba(255, 250, 242, .72);--sidebar-ink: #33342c;--sidebar-muted: #6d746d;--sidebar-line: rgba(60, 86, 90, .2);--sidebar-hover: rgba(88, 113, 113, .1);--sidebar-active: rgba(88, 113, 113, .16);--sidebar-active-line: rgba(88, 113, 113, .52);--sidebar-glow: rgba(218, 190, 128, .18);--icon-tile-bg: rgba(255, 250, 242, .5);--icon-tile-border: rgba(60, 86, 90, .2);--icon-tile-hover: rgba(105, 198, 211, .12);--icon-tile-active: rgba(88, 113, 113, .2)}:root[data-theme=dark]{color-scheme:dark;--bg: #0b141c;--panel: #121f29;--panel-strong: #182936;--panel-soft: #1b2d39;--ink: #e7edf0;--text: var(--ink);--muted: #9babb4;--line: #2d4350;--line-soft: #223541;--accent: #6f9ea4;--accent-strong: #a1cbd0;--accent-ink: #09141b;--warn: #d57b78;--danger: var(--warn);--gold: #c9ad78;--gold-soft: #dbc38f;--cyan: #69c6d3;--shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 15px 40px rgba(2, 9, 15, .36);--shadow-raised: 0 2px 4px rgba(0, 0, 0, .28), 0 26px 64px rgba(2, 9, 15, .48);--focus-ring: 0 0 0 3px rgba(105, 198, 211, .22);--sidebar-bg: #0d1b25;--sidebar-bg-deep: #08131b;--sidebar-panel: rgba(111, 158, 164, .055);--sidebar-panel-strong: rgba(111, 158, 164, .1);--sidebar-ink: #e8eef0;--sidebar-muted: #9aacb5;--sidebar-line: rgba(111, 158, 164, .22);--sidebar-hover: rgba(105, 198, 211, .075);--sidebar-active: rgba(88, 113, 132, .26);--sidebar-active-line: rgba(105, 198, 211, .48);--sidebar-glow: rgba(105, 198, 211, .095);--icon-tile-bg: rgba(111, 158, 164, .055);--icon-tile-border: rgba(141, 179, 187, .2);--icon-tile-hover: rgba(105, 198, 211, .12);--icon-tile-active: rgba(105, 198, 211, .18)}body{background:radial-gradient(circle at 8% 0%,color-mix(in oklab,var(--gold-soft) 12%,transparent),transparent 34rem),radial-gradient(circle at 92% 100%,color-mix(in oklab,var(--accent) 10%,transparent),transparent 42rem),var(--bg)}:root[data-theme=dark] body{background:radial-gradient(circle at 12% -8%,rgba(105,198,211,.105),transparent 34rem),radial-gradient(circle at 90% 108%,rgba(88,113,132,.18),transparent 46rem),linear-gradient(135deg,rgba(17,35,48,.34),transparent 54%),var(--bg)}::selection{background:color-mix(in oklab,var(--accent) 28%,transparent);color:var(--ink)}:where(button,input,select,textarea,summary,[tabindex]):focus-visible{outline:1px solid var(--cyan);outline-offset:2px;box-shadow:var(--focus-ring)}input::placeholder,textarea::placeholder{color:color-mix(in oklab,var(--muted) 78%,transparent)}*{scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--accent) 54%,var(--line)) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{min-height:36px;border:3px solid transparent;border-radius:999px;background:color-mix(in oklab,var(--accent) 52%,var(--line));background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:color-mix(in oklab,var(--accent) 72%,var(--line));background-clip:padding-box}.sidebar{position:relative;border-right:1px solid var(--sidebar-line);background:radial-gradient(circle at 18% 0%,var(--sidebar-glow),transparent 260px),linear-gradient(180deg,var(--sidebar-bg) 0%,var(--sidebar-bg-deep) 100%);color:var(--sidebar-ink);box-shadow:inset -1px 0 #ffffff06}.sidebar:after{position:sticky;bottom:-22px;display:block;flex:0 0 22px;height:22px;content:"";pointer-events:none}.sidebar-options,.project-panel{border-color:var(--sidebar-line);background:var(--sidebar-panel);box-shadow:inset 0 1px #ffffff12}.project-panel[open],.sidebar-options:hover{background:var(--sidebar-panel-strong)}.project-panel summary,.project-actions .secondary-action,.theme-toggle,.sidebar-toggle,.settings-toggle,.status-pill,.panel-row,.panel-row strong{color:var(--sidebar-ink)}.project-actions .secondary-action,.theme-toggle,.sidebar-toggle,.settings-toggle,.status-pill{border-color:var(--sidebar-line);background:var(--sidebar-panel)}.theme-toggle:hover,.sidebar-toggle:hover,.settings-toggle:hover,.project-actions .secondary-action:hover{border-color:color-mix(in oklab,var(--accent) 54%,var(--sidebar-line));background:var(--sidebar-hover);color:color-mix(in oklab,var(--sidebar-ink) 84%,var(--accent-strong))}.status-pill{color:var(--sidebar-muted)}.status-pill:before{background:color-mix(in oklab,var(--sidebar-muted) 52%,transparent);box-shadow:0 0 0 3px color-mix(in oklab,currentColor 8%,transparent)}.nav-section-label{color:color-mix(in oklab,var(--sidebar-muted) 78%,transparent)}:root[data-sidebar=collapsed] .nav-section-label{background:var(--sidebar-line)}.tab{--nav-icon-frame: var(--sidebar-muted);--nav-icon-main: var(--gold-soft);--nav-icon-secondary: var(--accent);min-height:42px;gap:10px;border-color:transparent;background:transparent;color:color-mix(in oklab,var(--sidebar-ink) 88%,var(--sidebar-muted));padding:3px 9px 3px 6px;font-weight:650;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease,min-height .18s ease}.tab-icon{width:31px;height:31px;flex-basis:31px;border:1px solid var(--icon-tile-border);border-radius:8px;background:var(--icon-tile-bg);box-shadow:inset 0 1px #ffffff14,0 1px 2px #0000000f;filter:none;opacity:.92;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease,transform .14s ease,filter .14s ease,opacity .14s ease}.tab-icon svg{width:20px;height:20px}.tab:hover{--nav-icon-frame: var(--accent-strong);--nav-icon-main: var(--gold-soft);--nav-icon-secondary: var(--accent);border-color:color-mix(in oklab,var(--accent) 20%,transparent);background:var(--sidebar-hover);color:var(--sidebar-ink);transform:translate(1px)}.tab:hover .tab-icon{border-color:color-mix(in oklab,var(--accent) 52%,var(--icon-tile-border));background:var(--icon-tile-hover);box-shadow:inset 0 1px #ffffff1a,0 4px 12px color-mix(in oklab,var(--accent) 12%,transparent);filter:none;opacity:1;transform:translateY(-1px)}.tab.is-active{--nav-icon-frame: var(--accent-strong);--nav-icon-main: var(--gold-soft);--nav-icon-secondary: var(--accent);border-color:var(--sidebar-active-line);background:linear-gradient(90deg,var(--sidebar-active),color-mix(in oklab,var(--sidebar-active) 38%,transparent));color:var(--sidebar-ink);box-shadow:inset 3px 0 var(--accent),0 5px 16px color-mix(in oklab,var(--sidebar-bg-deep) 16%,transparent)}.tab.is-active .tab-icon{border-color:color-mix(in oklab,var(--accent) 72%,var(--icon-tile-border));background:var(--icon-tile-active);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--gold-soft) 12%,transparent),0 5px 14px color-mix(in oklab,var(--accent) 16%,transparent);filter:none;opacity:1}:root[data-sidebar=collapsed] .tab{width:48px;min-height:48px;border-radius:10px;padding:0}:root[data-sidebar=collapsed] .tab-icon{width:36px;height:36px;flex-basis:36px}:root[data-sidebar=collapsed] .tab-icon svg{width:23px;height:23px}.toolbar{border-bottom-color:var(--line);background:color-mix(in oklab,var(--panel) 88%,transparent);box-shadow:0 1px #ffffff0a;-webkit-backdrop-filter:blur(16px) saturate(112%);backdrop-filter:blur(16px) saturate(112%)}:root[data-theme=dark] .toolbar{background:color-mix(in oklab,var(--panel) 86%,transparent)}.toolbar h2,.detail-title h3,.ichorolude-header h3,.ichorography-workspace-header h2{color:var(--ink);letter-spacing:-.018em}.content-grid{background:linear-gradient(color-mix(in oklab,var(--panel-soft) 34%,transparent),transparent 260px),transparent}.list-pane,.detail-pane,.settings-dialog,.action-confirm-dialog,.workspace-desk-window,.ichorography-publication-main,.ichorography-publication-aside>section{border-color:var(--line);background:var(--panel);box-shadow:var(--shadow)}.list-pane,.detail-pane,.workspace-desk-window,.settings-dialog,.action-confirm-dialog{border-radius:10px}.workspace-desk-window:focus-within,.list-pane:focus-within,.detail-pane:focus-within{border-color:color-mix(in oklab,var(--accent) 38%,var(--line))}:is(.character-card,.location-row,.entity-relation-link,.image-library-card,.token-choice,.map-token-card,.relation-phase-card,.person-character-option,.session-timeline,.faerun-month,.ichorolude-scene-card,.ichorolude-position-editor,.ichorolude-entity-actions){border-color:var(--line);background:var(--panel);box-shadow:0 1px 1px color-mix(in oklab,var(--ink) 3%,transparent)}:is(.character-card,.location-row,.entity-relation-link,.image-library-card,.token-choice,.person-directory-row,.writing-section-row,.relation-row):hover{border-color:color-mix(in oklab,var(--accent) 48%,var(--line));background:color-mix(in oklab,var(--accent) 7%,var(--panel))}:is(.character-card,.location-row,.entity-relation-link,.image-library-card,.token-choice,.person-directory-row,.writing-section-row,.relation-row).is-selected{border-color:color-mix(in oklab,var(--accent) 60%,var(--line));background:color-mix(in oklab,var(--accent) 11%,var(--panel));box-shadow:inset 3px 0 var(--accent)}:where(.field input,.field select,.field textarea,.toolbar-actions input,.toolbar-actions select,.writing-meta-row input,.writing-meta-row select,.writing-format-toolbar select,.map-note-body,.roll20-builder textarea,.roll20-block textarea,.token-gallery-search){border-color:var(--line);background:var(--panel-strong);color:var(--ink);box-shadow:inset 0 1px 2px color-mix(in oklab,var(--ink) 4%,transparent)}:where(.field input,.field select,.field textarea,.toolbar-actions input,.toolbar-actions select,.writing-meta-row input,.writing-meta-row select,.writing-format-toolbar select,.map-note-body,.roll20-builder textarea,.roll20-block textarea,.token-gallery-search):hover{border-color:color-mix(in oklab,var(--accent) 36%,var(--line))}:where(.field input,.field select,.field textarea,.toolbar-actions input,.toolbar-actions select,.writing-meta-row input,.writing-meta-row select,.writing-format-toolbar select,.map-note-body,.roll20-builder textarea,.roll20-block textarea,.token-gallery-search):focus{border-color:var(--accent);outline:0;box-shadow:var(--focus-ring),inset 0 1px 2px color-mix(in oklab,var(--ink) 4%,transparent)}.primary-action,.save-action,.ichorography-publication-actions button.primary{border:1px solid color-mix(in oklab,var(--accent-strong) 68%,var(--accent));background:linear-gradient(180deg,color-mix(in oklab,var(--accent) 90%,white),var(--accent-strong));color:var(--accent-ink);box-shadow:inset 0 1px #ffffff29,0 7px 16px color-mix(in oklab,var(--accent) 20%,transparent)}.primary-action:hover,.save-action:hover,.ichorography-publication-actions button.primary:hover{background:linear-gradient(180deg,color-mix(in oklab,var(--accent-strong) 88%,white),var(--accent-strong));box-shadow:inset 0 1px #ffffff2e,0 9px 20px color-mix(in oklab,var(--accent) 26%,transparent);transform:translateY(-1px)}.secondary-action,.panel-toggle,.panel-pin,.workspace-mode-toggle,.path-action,.icon-action,.writing-focus-toggle,.ichorography-focus-toggle{border-color:var(--line);background:var(--panel-strong);color:var(--ink)}.secondary-action:hover,.panel-toggle:hover,.panel-pin:hover,.workspace-mode-toggle:hover,.path-action:hover,.icon-action:hover,.writing-focus-toggle:hover,.ichorography-focus-toggle:hover{border-color:color-mix(in oklab,var(--accent) 48%,var(--line));background:color-mix(in oklab,var(--accent) 8%,var(--panel));color:var(--accent-strong)}.writing-editor-surface{background:radial-gradient(circle at 50% 0%,color-mix(in oklab,var(--gold-soft) 8%,transparent),transparent 30rem),color-mix(in oklab,var(--bg) 66%,var(--panel))}.writing-prose{border-color:color-mix(in oklab,var(--gold) 24%,var(--line));background:var(--panel-strong);box-shadow:var(--shadow-raised)}:root:not([data-theme=dark]) .writing-prose{color:#37372f}:root[data-theme=dark] .writing-prose{border-color:color-mix(in oklab,var(--gold) 18%,var(--line));background:#15232e;color:#e4e9eb;box-shadow:0 1px #ffffff06,0 18px 48px #01080e57}.detail-actions{background:color-mix(in oklab,var(--panel) 92%,transparent);box-shadow:0 -9px 24px color-mix(in oklab,var(--ink) 6%,transparent)}:root[data-theme=dark] .detail-actions{background:color-mix(in oklab,var(--panel) 94%,transparent)}.settings-dialog::backdrop,.action-confirm-dialog::backdrop,.ichorography-markdown-dialog::backdrop{background:color-mix(in oklab,var(--sidebar-bg-deep) 70%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.settings-dialog-body{background:color-mix(in oklab,var(--panel-soft) 72%,var(--bg))}.settings-section{background:var(--panel)}.badge,.status-pill,.randomizer-pool-count,.location-row-count,.private-data-badge,.ichorolude-status{font-variant-numeric:tabular-nums}.randomizer-die,.location-row-icon,.writing-section-order,.image-library-meta>div,.frontmatter-panel,.roll20-builder,.roll20-generated,.roll20-block,.map-link-status,.session-date-filter,.session-year-tick,.ichorolude-ruleset-state{border-color:var(--line);background:var(--panel-soft)}:where(.tab,.tab-icon,.primary-action,.save-action,.secondary-action,.panel-toggle,.panel-pin,.workspace-mode-toggle,.character-card,.location-row,.entity-relation-link,.image-library-card,.token-choice){transition:color .14s ease,background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}:root[data-theme=dark] .content-grid{background:linear-gradient(180deg,rgba(105,198,211,.035),transparent 250px),transparent}:root[data-theme=dark] :is(.settings-dialog-body,.writing-editor-surface,.ichorography-preview-stage){background-color:color-mix(in oklab,var(--bg) 72%,var(--panel))}:root[data-theme=dark] :is(.ichorolude-table-shell,.ichorolude-table-stage){background:#071018}:root[data-theme=dark] .sidebar{box-shadow:inset -1px 0 #69c6d30d,16px 0 42px #01080e29}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--collapsible-section-radius: 10px;--collapsible-section-gap: 10px;--collapsible-section-header-height: 46px}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation){--collapsible-section-accent: var(--accent);margin:0 0 var(--collapsible-section-gap);padding:0;overflow:hidden;border:1px solid color-mix(in oklab,var(--line) 88%,var(--collapsible-section-accent));border-radius:var(--collapsible-section-radius);background:color-mix(in oklab,var(--panel) 94%,var(--panel-soft));box-shadow:0 1px color-mix(in oklab,var(--panel-strong) 54%,transparent),0 5px 16px color-mix(in oklab,var(--ink) 4%,transparent);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation)>summary{position:relative;display:flex;min-height:var(--collapsible-section-header-height);align-items:center;justify-content:space-between;gap:12px;margin:0;padding:9px 12px 9px 46px;border-radius:calc(var(--collapsible-section-radius) - 1px);background:transparent;color:var(--ink);cursor:pointer;list-style:none;outline:none;transition:color .14s ease,background-color .14s ease}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation)>summary::-webkit-details-marker{display:none}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation)>summary:before{position:absolute;top:50%;left:12px;display:grid;width:22px;height:22px;place-items:center;border:1px solid color-mix(in oklab,var(--line) 82%,var(--collapsible-section-accent));border-radius:6px;background:var(--panel-soft);color:color-mix(in oklab,var(--collapsible-section-accent) 78%,var(--ink));content:"›";font-size:18px;font-weight:700;line-height:1;transform:translateY(-50%) rotate(0);transition:transform .16s ease,color .14s ease,background-color .14s ease,border-color .14s ease}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation)[open]>summary:before{transform:translateY(-50%) rotate(90deg)}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation)>summary:hover{background:color-mix(in oklab,var(--collapsible-section-accent) 7%,var(--panel))}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation)>summary:hover:before{border-color:color-mix(in oklab,var(--collapsible-section-accent) 56%,var(--line));background:color-mix(in oklab,var(--collapsible-section-accent) 12%,var(--panel-soft))}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation)>summary:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--collapsible-section-accent) 62%,transparent)}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation)[open]{border-color:color-mix(in oklab,var(--collapsible-section-accent) 38%,var(--line));background:var(--panel);box-shadow:inset 3px 0 color-mix(in oklab,var(--collapsible-section-accent) 62%,transparent),0 7px 20px color-mix(in oklab,var(--ink) 6%,transparent)}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation)[open]>summary{margin-bottom:0;border-radius:calc(var(--collapsible-section-radius) - 1px) calc(var(--collapsible-section-radius) - 1px) 0 0;background:color-mix(in oklab,var(--collapsible-section-accent) 8%,var(--panel))}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation)[open]>summary:before{border-color:color-mix(in oklab,var(--collapsible-section-accent) 62%,var(--line));background:color-mix(in oklab,var(--collapsible-section-accent) 16%,var(--panel))}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section)>.app-section-content{min-width:0;padding:13px 14px 15px;border-top:1px solid var(--line-soft);background:linear-gradient(180deg,color-mix(in oklab,var(--panel-soft) 38%,transparent),transparent 72px)}details.ruleset-editor-section>.app-section-content{display:grid;gap:10px}details.session-work-block[open]{padding-bottom:14px}details.session-work-block[open]>summary~*{margin-right:14px;margin-left:14px}details.ability-editor[open]>.ability-edit-grid{padding-top:13px;border-top:1px solid var(--line-soft)}details.ichorolude-preparation>.ichorolude-preparation-body{padding:13px 14px 15px;border-top:1px solid var(--line-soft)}details.private-notes-section{--collapsible-section-accent: var(--gold)}details.entity-ruleset-panel>summary i,details.session-work-block>summary i{flex:0 0 auto;margin-left:auto}details:is(.online-service-recovery,.discord-integration-settings,.session-deferred-tasks)>summary{position:relative;padding-left:18px;list-style:none}details:is(.online-service-recovery,.discord-integration-settings,.session-deferred-tasks)>summary::-webkit-details-marker{display:none}details:is(.online-service-recovery,.discord-integration-settings,.session-deferred-tasks)>summary:before{position:absolute;top:50%;left:1px;color:var(--accent-strong);content:"›";font-size:15px;line-height:1;transform:translateY(-50%) rotate(0);transition:transform .15s ease}details:is(.online-service-recovery,.discord-integration-settings,.session-deferred-tasks)[open]>summary:before{transform:translateY(-50%) rotate(90deg)}:root[data-theme=dark] details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation){background:color-mix(in oklab,var(--panel) 86%,var(--panel-soft));box-shadow:inset 0 1px #ffffff05,0 7px 22px #02080e29}:root[data-theme=dark] details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation)[open]{background:color-mix(in oklab,var(--panel) 92%,var(--panel-strong));box-shadow:inset 3px 0 color-mix(in oklab,var(--collapsible-section-accent) 54%,transparent),0 8px 24px #02080e38}@media(max-width:560px){details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section,.session-work-block,.ability-editor,.ichorolude-preparation)>summary{padding-right:10px;padding-left:43px}details:is(.app-section,.entity-editor-section,.entity-purpose-section,.entity-ruleset-panel,.location-editor-section,.map-background-editor,.map-geometry-editor,.person-editor-section,.ruleset-editor-section,.player-shop-editor-section)>.app-section-content{padding:12px}}.entity-ruleset-panel>.app-section-content,.ruleset-workspace form{min-width:0;container-type:inline-size;container-name:generic-ruleset-sheet}.generic-ruleset-property-sections{min-width:0;max-width:100%;container-type:inline-size;container-name:generic-ruleset-properties}.generic-ruleset-field-section,.generic-ruleset-properties,.generic-ruleset-properties>*,.generic-ruleset-actions,.generic-ruleset-actions>*,.generic-ruleset-action,.generic-ruleset-action>span,.generic-rule-property,.generic-rule-records,.player-progressions-list,.player-progression-row,.player-progression-row>*,.ruleset-action-add,.ruleset-action-add>*,.generic-ruleset-toolbar,.generic-ruleset-toolbar>*{min-width:0;max-width:100%}.generic-ruleset-properties :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.generic-ruleset-toolbar :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.player-progression-row :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.generic-rule-records :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;min-width:0;max-width:100%}.generic-ruleset-properties label,.generic-rule-property,.generic-rule-property code,.generic-ruleset-field-section h4,.generic-ruleset-action code,.ruleset-document-kind,.ruleset-custom-actions-note{min-width:0;overflow-wrap:anywhere}@container generic-ruleset-properties (max-width: 620px){.generic-ruleset-properties{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))!important}.generic-rule-property code{display:block;margin:2px 0 0;line-height:1.25}.generic-rule-records{grid-column:1 / -1}}@container generic-ruleset-properties (max-width: 350px){.generic-ruleset-properties{grid-template-columns:minmax(0,1fr)!important}}@container generic-ruleset-sheet (max-width: 620px){.generic-ruleset-toolbar{grid-template-columns:minmax(0,1fr) auto auto}.generic-ruleset-toolbar>.field:first-child{grid-column:1 / -1}.generic-ruleset-unassigned{align-items:stretch;flex-direction:column}.generic-ruleset-unassigned .secondary-action{align-self:flex-start}.player-progressions-heading{align-items:flex-start;flex-direction:column}.player-progression-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.ruleset-action-add select{flex:1 1 170px;min-width:0;max-width:100%}}@container generic-ruleset-sheet (max-width: 390px){.generic-ruleset-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.generic-ruleset-toolbar>.field{grid-column:1 / -1}.generic-ruleset-toolbar>button{width:100%;min-width:0}.player-progression-row{grid-template-columns:minmax(0,1fr)}.ruleset-action-add{align-items:stretch;flex-direction:column}.ruleset-action-add>*{width:100%}}@supports not (container-type: inline-size){.generic-ruleset-properties{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))!important}.player-progression-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}}.entity-ruleset-panel,.roll20-panel{min-width:0;max-width:100%;container-type:inline-size}.entity-ruleset-panel{container-name:entity-ruleset-panel}.roll20-panel{container-name:roll20-panel}.ruleset-sheet-toolbar,.ruleset-sheet-toolbar>*,.ruleset-sheet-toolbar .field,.ruleset-sheet-toolbar label{min-width:0;max-width:100%}.ruleset-sheet-toolbar :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;min-width:0;max-width:100%}.ruleset-sheet-toolbar{width:100%;grid-template-columns:repeat(2,minmax(0,1fr)) 34px 34px}@container entity-ruleset-panel (max-width: 560px){.ruleset-sheet-toolbar{grid-template-columns:repeat(2,minmax(0,1fr)) 34px 34px}.ruleset-sheet-toolbar .field{overflow:hidden}.ruleset-sheet-toolbar .field :is(label,span,small){overflow-wrap:anywhere}}@container entity-ruleset-panel (max-width: 410px){.ruleset-sheet-toolbar{display:flex;flex-wrap:wrap;align-items:end}.ruleset-sheet-toolbar>.field,.ruleset-sheet-toolbar>label{flex:1 1 100%}.ruleset-sheet-toolbar>.compact-action,.ruleset-sheet-toolbar>button{flex:0 0 34px}}.generic-ruleset-toolbar,.generic-ruleset-toolbar>*,.generic-ruleset-toolbar .field,.generic-ruleset-toolbar label{min-width:0;max-width:100%}.generic-ruleset-toolbar{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto}.generic-ruleset-toolbar :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;min-width:0;max-width:100%}@container entity-ruleset-panel (max-width: 620px){.generic-ruleset-toolbar{display:flex;flex-wrap:wrap;align-items:end}.generic-ruleset-toolbar>.field,.generic-ruleset-toolbar>label{flex:1 1 min(100%,210px)}.generic-ruleset-toolbar>button,.generic-ruleset-toolbar>.compact-action{flex:0 0 auto}}@container entity-ruleset-panel (max-width: 420px){.generic-ruleset-toolbar>.field,.generic-ruleset-toolbar>label{flex-basis:100%}.generic-ruleset-toolbar>button:not(.compact-action){flex:1 1 auto;min-width:0}}.roll20-panel,.roll20-panel>*,.roll20-controls,.roll20-controls>*,.roll20-builder,.roll20-builder>*,.roll20-builder-head,.roll20-builder-head>*,.roll20-ability-meta,.roll20-ability-meta>*,.roll20-format-toolbar,.roll20-format-toolbar>*,.roll20-builder-actions,.roll20-builder-actions>*,.roll20-global-actions,.roll20-global-actions>*,.roll20-blocks,.roll20-block,.roll20-block>*,.roll20-block header,.roll20-block header>*{min-width:0;max-width:100%}.roll20-controls :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.roll20-builder :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.roll20-ability-meta :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;min-width:0;max-width:100%}.roll20-format-toolbar,.roll20-builder-actions,.roll20-global-actions{flex-wrap:wrap}.roll20-format-toolbar .secondary-action,.roll20-builder-actions>*,.roll20-global-actions>*{max-width:100%;white-space:normal}.roll20-block header{flex-wrap:wrap}.roll20-block header>:first-child{flex:1 1 180px}@container roll20-panel (max-width: 760px){.roll20-controls{grid-template-columns:repeat(auto-fit,minmax(min(100%,132px),1fr))}.roll20-ability-meta{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}.roll20-builder-head{grid-template-columns:minmax(0,1fr) auto auto}}@container roll20-panel (max-width: 500px){.roll20-builder-head{display:flex;flex-wrap:wrap;align-items:end}.roll20-builder-head>.field,.roll20-builder-head>label,.roll20-builder-head>:first-child{flex:1 1 100%}.roll20-builder-head>button,.roll20-builder-head>.compact-action{flex:0 0 auto}.roll20-controls{grid-template-columns:repeat(auto-fit,minmax(min(100%,118px),1fr))}}@container roll20-panel (max-width: 340px){.roll20-controls,.roll20-ability-meta{grid-template-columns:minmax(0,1fr)}.roll20-format-toolbar,.roll20-builder-actions,.roll20-global-actions{align-items:stretch;flex-direction:column}.roll20-format-toolbar>*,.roll20-builder-actions>*,.roll20-global-actions>*{width:100%}}.entity-ruleset-panel>.app-section-content,.roll20-panel{overflow-x:clip}@supports not (container-type: inline-size){.ruleset-sheet-toolbar,.generic-ruleset-toolbar,.roll20-controls,.roll20-ability-meta{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}.roll20-builder-head{grid-template-columns:minmax(0,1fr)}}.entity-ruleset-panel,.entity-ruleset-panel>.app-section-content,.generic-ruleset-property-sections,.generic-ruleset-field-section,.generic-ruleset-properties,.generic-ruleset-properties>*,.generic-rule-property,.generic-rule-records,.ruleset-sheet-toolbar,.generic-ruleset-toolbar,.roll20-panel,.roll20-controls,.roll20-builder,.roll20-builder-head,.roll20-ability-meta,.roll20-blocks,.roll20-block{min-inline-size:0!important;max-inline-size:100%}.entity-ruleset-panel,.entity-ruleset-panel>.app-section-content,.generic-ruleset-property-sections,.generic-ruleset-field-section,.generic-ruleset-properties,.ruleset-sheet-toolbar,.generic-ruleset-toolbar,.roll20-panel,.roll20-controls,.roll20-builder,.roll20-ability-meta{inline-size:100%}.generic-ruleset-properties{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))!important;gap:8px}.generic-rule-property,.generic-rule-property.field,.generic-ruleset-properties>label,.generic-ruleset-properties>div{min-width:0!important;width:auto;max-width:100%}.generic-rule-property>span,.generic-rule-property>.module-toggle-copy,.generic-rule-property code{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.generic-rule-property code{display:block;margin:2px 0 0;white-space:normal;line-height:1.25}.generic-ruleset-properties :is(input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important}.generic-ruleset-properties input:is([type=checkbox],[type=radio]){width:18px!important;min-width:18px!important;max-width:18px!important}.ruleset-records-table table{width:max-content;min-width:100%;max-width:none;border-collapse:collapse;table-layout:auto}.ruleset-records-table th,.ruleset-records-table td{min-width:0}.ruleset-records-table input,.ruleset-records-table select{box-sizing:border-box;width:100%;min-width:7rem;max-width:none}.ruleset-records-table th:last-child,.ruleset-records-table td:last-child{width:36px;min-width:36px;padding-right:2px;padding-left:2px}.ruleset-sheet-toolbar,.generic-ruleset-toolbar{display:flex!important;flex-wrap:wrap;align-items:end;gap:8px;grid-template-columns:none!important}.ruleset-sheet-toolbar>.field,.ruleset-sheet-toolbar>label,.generic-ruleset-toolbar>.field,.generic-ruleset-toolbar>label{flex:1 1 11rem;min-width:min(100%,10rem)!important;max-width:100%}.ruleset-sheet-toolbar>button,.ruleset-sheet-toolbar>.compact-action,.generic-ruleset-toolbar>button,.generic-ruleset-toolbar>.compact-action{flex:0 0 auto;min-width:34px;max-width:100%}.ruleset-sheet-toolbar :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.generic-ruleset-toolbar :is(input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important}.roll20-controls,.roll20-ability-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr))!important;gap:10px}.roll20-controls>*,.roll20-ability-meta>*,.roll20-builder>*,.roll20-block>*{min-width:0!important;max-width:100%}.roll20-controls :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.roll20-ability-meta :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.roll20-builder :is(input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important}.roll20-builder-head{display:flex!important;flex-wrap:wrap;align-items:end;gap:8px;grid-template-columns:none!important}.roll20-builder-head>.field,.roll20-builder-head>label,.roll20-builder-head>:first-child:not(button){flex:1 1 12rem;min-width:min(100%,10rem)!important}.roll20-builder-head>button,.roll20-builder-head>.compact-action{flex:0 0 auto}.roll20-format-toolbar,.roll20-builder-actions,.roll20-global-actions,.roll20-block header{flex-wrap:wrap;min-width:0;max-width:100%}.roll20-format-toolbar>*,.roll20-builder-actions>*,.roll20-global-actions>*,.roll20-block header>*{min-width:0;max-width:100%}.entity-ruleset-panel,.roll20-panel{overflow-x:hidden}.detail-pane,.detail-pane>*,.detail-pane .form-stack,.entity-purpose-section,.entity-purpose-section>.app-section-content,.entity-ruleset-panel,.entity-ruleset-panel>.app-section-content,.generic-ruleset-property-sections,.generic-ruleset-field-section,.generic-ruleset-properties,.generic-ruleset-properties>*,.generic-rule-property,.generic-rule-records,.ruleset-sheet-toolbar,.generic-ruleset-toolbar,.roll20-panel,.roll20-panel>*,.roll20-controls,.roll20-builder,.roll20-builder-head,.roll20-ability-meta,.roll20-blocks,.roll20-block{min-width:0!important;max-width:100%}.detail-pane .form-stack,.entity-purpose-section>.app-section-content,.entity-ruleset-panel>.app-section-content,.generic-ruleset-property-sections,.generic-ruleset-field-section,.generic-ruleset-actions,.roll20-builder,.roll20-blocks,.roll20-block{grid-template-columns:minmax(0,1fr)!important}.entity-purpose-section,.entity-ruleset-panel,.roll20-panel{width:100%}.entity-ruleset-panel,.roll20-panel{container-type:inline-size}.detail-pane{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.app-section>summary>:first-child,.entity-ruleset-panel>summary>span,.roll20-panel>summary>:first-child{min-width:0;overflow-wrap:anywhere}.ruleset-sheet-toolbar.generic-ruleset-toolbar{display:grid!important;width:100%!important;min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr)) 34px 34px!important;align-items:end}.ruleset-sheet-toolbar>*,.generic-ruleset-toolbar>*,.ruleset-sheet-toolbar .field,.generic-ruleset-toolbar .field{min-width:0!important;max-width:100%}.ruleset-sheet-toolbar :is(input,select,textarea),.generic-ruleset-toolbar :is(input,select,textarea){width:100%!important;min-width:0!important;max-width:100%!important}@container (max-width: 480px){.ruleset-sheet-toolbar.generic-ruleset-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ruleset-sheet-toolbar.generic-ruleset-toolbar>.field{grid-column:1 / -1}.ruleset-sheet-toolbar.generic-ruleset-toolbar>button{width:100%}}.generic-ruleset-properties{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.generic-rule-records{grid-column:1 / -1!important}.generic-rule-property,.generic-rule-property>*,.generic-ruleset-properties :is(label,div,span,code){min-width:0!important;max-width:100%}.generic-rule-property code{white-space:normal;overflow-wrap:anywhere}.generic-ruleset-properties :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%!important;min-width:0!important;max-width:100%!important}@container (max-width: 360px){.generic-ruleset-properties{grid-template-columns:minmax(0,1fr)!important}}.ruleset-records-table{display:block;width:100%;min-width:0!important;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-gutter:stable}.ruleset-records-table table{width:100%!important;min-width:0;max-width:none;table-layout:fixed}.ruleset-records-table th,.ruleset-records-table td{min-width:0!important}.ruleset-records-table :is(input,select){box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important}.ruleset-records-table table:has(tbody td:nth-child(1) input[type=number]) :is(th,td):nth-child(1){width:76px}.ruleset-records-table table:has(tbody td:nth-child(2) input[type=number]) :is(th,td):nth-child(2){width:76px}.ruleset-records-table table:has(tbody td:nth-child(3) input[type=number]) :is(th,td):nth-child(3){width:76px}.ruleset-records-table table:has(tbody td:nth-child(4) input[type=number]) :is(th,td):nth-child(4){width:76px}.ruleset-records-table table:has(tbody td:nth-child(5) input[type=number]) :is(th,td):nth-child(5){width:76px}.ruleset-records-table table:has(tbody td:nth-child(6) input[type=number]) :is(th,td):nth-child(6){width:76px}.ruleset-records-table table:has(tbody td:nth-child(7) input[type=number]) :is(th,td):nth-child(7){width:76px}.ruleset-records-table table:has(tbody td:nth-child(8) input[type=number]) :is(th,td):nth-child(8){width:76px}.ruleset-records-table table:has(tbody td:nth-child(1) select) :is(th,td):nth-child(1){width:112px}.ruleset-records-table table:has(tbody td:nth-child(2) select) :is(th,td):nth-child(2){width:112px}.ruleset-records-table table:has(tbody td:nth-child(3) select) :is(th,td):nth-child(3){width:112px}.ruleset-records-table table:has(tbody td:nth-child(4) select) :is(th,td):nth-child(4){width:112px}.ruleset-records-table table:has(tbody td:nth-child(5) select) :is(th,td):nth-child(5){width:112px}.ruleset-records-table table:has(tbody td:nth-child(6) select) :is(th,td):nth-child(6){width:112px}.ruleset-records-table table:has(tbody td:nth-child(7) select) :is(th,td):nth-child(7){width:112px}.ruleset-records-table table:has(tbody td:nth-child(8) select) :is(th,td):nth-child(8){width:112px}.ruleset-records-table table:has(tbody td:nth-child(1) input[type=color]) :is(th,td):nth-child(1){width:76px}.ruleset-records-table table:has(tbody td:nth-child(2) input[type=color]) :is(th,td):nth-child(2){width:76px}.ruleset-records-table table:has(tbody td:nth-child(3) input[type=color]) :is(th,td):nth-child(3){width:76px}.ruleset-records-table table:has(tbody td:nth-child(4) input[type=color]) :is(th,td):nth-child(4){width:76px}.ruleset-records-table table:has(tbody td:nth-child(5) input[type=color]) :is(th,td):nth-child(5){width:76px}.ruleset-records-table table:has(tbody td:nth-child(6) input[type=color]) :is(th,td):nth-child(6){width:76px}.ruleset-records-table table:has(tbody td:nth-child(7) input[type=color]) :is(th,td):nth-child(7){width:76px}.ruleset-records-table table:has(tbody td:nth-child(8) input[type=color]) :is(th,td):nth-child(8){width:76px}.ruleset-records-table th:last-child,.ruleset-records-table td:last-child{width:38px}.ruleset-records-table:has(th:nth-child(6)) table{min-width:560px}.roll20-controls{width:100%;min-width:0!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))!important}.roll20-image-field{grid-column:1 / -1}.roll20-ability-meta{width:100%;min-width:0!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))!important}.roll20-controls>*,.roll20-ability-meta>*,.roll20-builder-head>*,.roll20-format-toolbar>*,.roll20-builder-actions>*,.roll20-global-actions>*{min-width:0!important;max-width:100%}.roll20-controls :is(input,select,textarea),.roll20-ability-meta :is(input,select,textarea),.roll20-builder :is(input,select,textarea){width:100%!important;min-width:0!important;max-width:100%!important}.roll20-builder-head{width:100%;min-width:0!important;grid-template-columns:minmax(0,1fr) auto auto!important}.roll20-format-toolbar,.roll20-builder-actions,.roll20-global-actions,.roll20-block header{flex-wrap:wrap}@container (max-width: 520px){.roll20-builder-head{grid-template-columns:repeat(2,minmax(0,1fr))!important}.roll20-builder-head>.field,.roll20-builder-head>label{grid-column:1 / -1}.roll20-builder-head>button{width:100%}.roll20-ability-meta>:last-child{grid-column:1 / -1}}.ichorolude-command-table{position:relative;width:100%;height:100%;min-width:0;overflow:hidden;isolation:isolate;background:#090b12;color:var(--ink)}.ichorolude-command-stage{position:absolute;inset:0;overflow:hidden;background:linear-gradient(rgba(128,212,198,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(128,212,198,.035) 1px,transparent 1px),#090b12;background-size:40px 40px;-webkit-user-select:none;user-select:none;touch-action:none}.ichorolude-command-stage.is-drop-target{box-shadow:inset 0 0 0 3px color-mix(in oklab,var(--accent) 72%,transparent)}.ichorolude-command-camera{position:absolute;inset:0;will-change:transform}.ichorolude-command-surface{position:absolute;top:50%;left:50%;min-width:1px;min-height:1px;transform-origin:center;will-change:width,height,transform}.ichorolude-command-surface>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.ichorolude-environment-overlay{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none}.ichorolude-drawing-overlay{position:absolute;inset:0;z-index:2;width:100%;height:100%;overflow:visible;pointer-events:none}.ichorolude-drawing-selection,.ichorolude-drawing-marquee{fill:color-mix(in srgb,#80d4c6 10%,transparent);stroke:#80d4c6;stroke-width:1.5px;stroke-dasharray:5 3}.ichorolude-drawing-marquee{fill:color-mix(in srgb,#80d4c6 16%,transparent);stroke-width:1px}.ichorolude-drawing-resize-handle{fill:#80d4c6;stroke:#071518;stroke-width:.7px}.ichorolude-drawing-cursor{position:absolute;z-index:5;box-sizing:border-box;border:1px solid;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.ichorolude-drawing-cursor.is-pencil{border-style:dotted}.ichorolude-drawing-cursor.is-chalk{border-style:dashed}.ichorolude-drawing-cursor.is-paint{box-shadow:inset 0 0 0 1px currentColor,0 0 3px currentColor}.ichorolude-drawing-cursor.is-charcoal{border-style:double;filter:blur(.15px)}.ichorolude-draw{display:grid;gap:10px}.ichorolude-draw-allow,.ichorolude-draw-width,.ichorolude-draw-opacity,.ichorolude-draw-fill{display:flex;align-items:center;justify-content:space-between;gap:10px}.ichorolude-draw-brushes,.ichorolude-draw-modes,.ichorolude-draw-swatches,.ichorolude-draw-actions,.ichorolude-draw-promote{display:flex;flex-wrap:wrap;gap:6px}.ichorolude-draw-brushes button,.ichorolude-draw-modes button,.ichorolude-draw-actions button,.ichorolude-draw-promote button{min-height:32px;padding:5px 9px}.ichorolude-draw-brushes button.is-active,.ichorolude-draw-modes button.is-active{color:#071414;border-color:#80d4c6;background:#80d4c6}.ichorolude-draw-width input[type=range],.ichorolude-draw-opacity input[type=range],.ichorolude-draw-fill input[type=range]{min-width:90px;flex:1}.ichorolude-draw-width input[type=number]{width:68px}.ichorolude-draw-swatches button,.ichorolude-draw-swatches input{width:28px;height:28px;padding:0;border:2px solid color-mix(in srgb,var(--border) 75%,transparent)}.ichorolude-draw-swatches button.is-active{border-color:#fff;box-shadow:0 0 0 2px #206067}.ichorolude-draw-promote select{min-width:130px;flex:1}.ichorolude-draw-selection{color:var(--muted);font-size:.82rem}.ichorolude-drawing-context{display:grid;gap:7px}.ichorolude-environment-lighting{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:multiply;pointer-events:none}.ichorolude-environment-light{fill:var(--light-color);fill-opacity:.06;stroke:color-mix(in srgb,var(--light-color) 68%,transparent);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;pointer-events:visibleFill;cursor:pointer}.ichorolude-environment-light.is-selected{stroke:#fff;stroke-width:2px}.ichorolude-environment-light.is-runtime,.ichorolude-environment-light.is-interaction-locked{pointer-events:none}.ichorolude-environment-light.is-interaction-locked:not(.is-selected){stroke-opacity:.42;cursor:default}.ichorolude-environment-wall,.ichorolude-environment-door{fill:none;stroke-linecap:round;pointer-events:visibleStroke;cursor:pointer}.ichorolude-environment-wall{stroke:#80d4c6;stroke-width:3px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}.ichorolude-environment-wall.light-only{stroke-dasharray:7 4}.ichorolude-environment-wall.movement-only{stroke:#d4a77a}.ichorolude-environment-wall.is-selected{stroke:#fff;stroke-width:5px}.ichorolude-environment-wall.is-draft{stroke:#f6c766;stroke-dasharray:5 4;pointer-events:none}.ichorolude-environment-door{stroke:#f6c766;stroke-width:7px}.ichorolude-environment-door.is-open{stroke-width:3px;stroke-dasharray:4 4;opacity:.72}.ichorolude-environment-door.is-locked{stroke:#d47a7a}.ichorolude-command-dock{position:absolute;top:12px;left:12px;z-index:30;display:grid;width:44px;gap:4px;border:1px solid color-mix(in oklab,var(--line) 86%,transparent);border-radius:7px;padding:5px;background:color-mix(in oklab,var(--panel) 86%,transparent);box-shadow:0 12px 32px #00000057;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ichorolude-command-dock>button{position:relative;display:grid;width:32px;height:32px;min-width:0;place-items:center;overflow:hidden;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink);padding:0;font-size:12px;font-weight:850}.ichorolude-command-dock>button:hover,.ichorolude-command-dock>button:focus-visible{border-color:color-mix(in oklab,var(--accent) 48%,var(--line));background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent-strong)}.ichorolude-command-dock>button.is-active{border-color:color-mix(in oklab,var(--accent) 65%,var(--line));background:color-mix(in oklab,var(--accent) 18%,var(--panel));color:var(--accent-strong)}.ichorolude-command-dock>button>span:not([data-vtt-zoom-value]){position:absolute;right:2px;bottom:1px;color:var(--accent-strong);font-size:8px;line-height:1}.ichorolude-command-dock>button>[data-vtt-zoom-value]{font-size:8px}.ichorolude-command-dock>hr{width:100%;height:1px;margin:2px 0;border:0;background:var(--line)}.ichorolude-command-dock>.ichorolude-table-status{justify-self:center;margin:5px 0 4px}.ichorolude-quick-calculator{position:absolute;right:12px;bottom:12px;z-index:31;display:grid;width:min(420px,calc(100% - 92px));gap:5px;border:1px solid color-mix(in oklab,var(--line) 88%,transparent);border-radius:9px;background:color-mix(in oklab,var(--panel) 90%,transparent);box-shadow:0 12px 32px #00000057;padding:6px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ichorolude-command-table:has(.ichorolude-table-selection-chip) .ichorolude-quick-calculator{bottom:72px}.ichorolude-quick-calculator>form{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:5px}.ichorolude-quick-calculator input{box-sizing:border-box;width:100%;min-width:0;height:38px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);color:var(--ink);padding:7px 10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.ichorolude-quick-calculator button{display:grid;width:40px;min-width:0;height:38px;place-items:center;border:1px solid color-mix(in oklab,var(--accent) 54%,var(--line));border-radius:6px;background:color-mix(in oklab,var(--accent) 14%,var(--panel));color:var(--accent-strong);padding:0;font-size:20px}.ichorolude-quick-calculator button:hover,.ichorolude-quick-calculator button:focus-visible{background:color-mix(in oklab,var(--accent) 24%,var(--panel))}.ichorolude-quick-calculator>output{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:3px 9px;border-radius:5px;background:color-mix(in oklab,var(--panel-soft) 82%,transparent);padding:5px 8px;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ichorolude-quick-calculator>output[hidden]{display:none}.ichorolude-quick-calculator>output small{color:var(--muted)}.ichorolude-quick-calculator>output .is-error{color:var(--danger)}.ichorolude-command-panel{position:absolute;top:12px;bottom:12px;left:64px;z-index:29;display:grid;grid-template-rows:42px minmax(0,1fr);width:min(340px,calc(100% - 80px));overflow:hidden;border:1px solid color-mix(in oklab,var(--line) 90%,transparent);border-radius:7px;background:color-mix(in oklab,var(--panel) 91%,transparent);box-shadow:0 18px 44px #00000061;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.ichorolude-command-panel.is-entity{width:min(430px,calc(100% - 80px))}.ichorolude-command-panel>header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:0 8px 0 13px}.ichorolude-command-panel>header>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-command-panel>header>button{display:grid;width:28px;height:28px;min-width:0;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--muted);padding:0}.ichorolude-command-panel>header>button:hover{background:color-mix(in oklab,var(--danger) 12%,transparent);color:var(--danger)}.ichorolude-command-panel>div{min-width:0;min-height:0;overflow:auto;scrollbar-gutter:stable;padding:12px}.ichorolude-command-panel :is(input,select,textarea){box-sizing:border-box;width:100%;min-width:0}.ichorolude-environment-panel{display:grid;gap:12px}.ichorolude-environment-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.ichorolude-environment-tools button{min-height:34px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--text)}.ichorolude-environment-tools button.is-active{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 17%,var(--panel-soft));color:var(--accent-strong)}.ichorolude-light-interaction-lock{display:flex;width:100%;min-height:36px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:5px;background:var(--panel-soft);color:var(--text)}.ichorolude-light-interaction-lock.is-active{border-color:color-mix(in oklab,var(--accent) 68%,var(--line));background:color-mix(in oklab,var(--accent) 15%,var(--panel-soft));color:var(--accent-strong)}.ichorolude-environment-panel>label,.ichorolude-environment-editor>label,.ichorolude-door-editor>label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.ichorolude-environment-panel>label>input[type=range],.ichorolude-environment-editor>label>input:not([type=checkbox]),.ichorolude-door-editor>label>input:not([type=checkbox]){grid-column:1 / -1}.ichorolude-environment-panel>label>output{color:var(--accent-strong);font-variant-numeric:tabular-nums}.ichorolude-environment-hint{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.ichorolude-environment-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ichorolude-environment-counts button{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:5px;background:var(--panel-soft);color:var(--text);padding:8px 10px}.ichorolude-environment-counts b{color:var(--accent-strong)}.ichorolude-combat-durations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:var(--panel-soft)}.ichorolude-combat-durations[hidden]{display:none}.ichorolude-combat-durations small{grid-column:1 / -1;color:var(--muted)}.ichorolude-combat-durations>.ichorolude-combat-fatiferous{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px;padding-top:7px;border-top:1px solid var(--line)}.ichorolude-combat-durations>.ichorolude-combat-fatiferous>small{grid-column:2}.ichorolude-combat-durations.is-single{grid-template-columns:minmax(0,1fr)}.ichorolude-combat-participant-count{color:var(--muted);font-size:11px}.ichorolude-combatant-toggle{display:flex;min-width:0;align-items:center;gap:7px;cursor:pointer}.ichorolude-combatant-toggle>input{flex:0 0 auto;width:auto;margin:0}.ichorolude-combatant-toggle>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-vtt-combat-participant].is-excluded{opacity:.46;background:transparent}.ichorolude-light-list{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto;margin:0;padding:0;list-style:none}.ichorolude-light-row{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 6px;border:1px solid transparent;border-radius:5px;cursor:pointer}.ichorolude-light-row:hover{background:var(--panel-soft)}.ichorolude-light-row.is-selected{border-color:var(--accent-strong);background:var(--panel-soft)}.ichorolude-light-row.is-off .ichorolude-light-name,.ichorolude-light-row.is-off .ichorolude-light-swatch{opacity:.45}.ichorolude-light-swatch{flex:0 0 auto;width:14px;height:14px;border-radius:50%;border:1px solid var(--line);background:var(--light-color, #f6c766)}.ichorolude-light-name{display:grid;flex:1 1 auto;min-width:0;gap:1px;font-size:12px}.ichorolude-light-name>:is(strong,small){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-light-name small{color:var(--muted);font-size:10px;font-weight:500}.ichorolude-light-row button{flex:0 0 auto;border:0;background:none;color:var(--muted);padding:0 4px;line-height:1;cursor:pointer}.ichorolude-light-row button:hover{color:var(--accent-strong)}.ichorolude-light-badge{flex:0 0 auto;padding:0 4px;color:var(--accent-strong);cursor:help}.ichorolude-light-row.is-runtime{cursor:default}.ichorolude-light-row.is-runtime .ichorolude-light-name{font-style:italic}.ichorolude-light-row.is-runtime>.danger-action{color:var(--danger)}.ichorolude-runtime-visuals{display:grid;gap:5px;padding:8px;border:1px solid color-mix(in oklab,var(--accent) 28%,var(--line));border-radius:6px;background:color-mix(in oklab,var(--accent) 6%,var(--panel-soft))}.ichorolude-runtime-visuals>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;color:var(--accent-strong);font-size:12px}.ichorolude-runtime-visual-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:7px;min-height:38px;padding:5px 6px;border:1px solid var(--line);border-radius:4px;background:var(--panel)}.ichorolude-runtime-visual-row>div{display:grid;min-width:0;gap:2px}.ichorolude-runtime-visual-row :is(strong,small){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-runtime-visual-row small{color:var(--muted);font-size:10px}.ichorolude-runtime-visual-row>button{display:grid;width:30px;height:30px;min-width:0;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--danger);padding:0}.ichorolude-runtime-visual-row>button:hover{background:color-mix(in oklab,var(--danger) 12%,transparent)}.ichorolude-environment-editor{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}.ichorolude-environment-editor>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.ichorolude-environment-editor>header>button{width:28px;min-height:28px;border:0;background:transparent;color:var(--danger)}.ichorolude-environment-openings{display:grid;gap:4px}.ichorolude-environment-openings>button{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--text);padding:7px 9px}.ichorolude-environment-openings>button.is-active{border-color:var(--accent)}.ichorolude-environment-openings small{color:var(--muted)}.ichorolude-door-editor{display:grid;gap:9px;border-left:2px solid var(--accent);padding-left:10px}.ichorolude-command-empty,.ichorolude-command-loading{display:grid;min-height:180px;align-content:center;justify-items:center;gap:8px;color:var(--muted);text-align:center}.ichorolude-command-empty p{max-width:26ch;margin:0}.ichorolude-command-loading>i{width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:ichorolude-command-spin .8s linear infinite}@keyframes ichorolude-command-spin{to{transform:rotate(360deg)}}.ichorolude-command-scene,.ichorolude-command-journal,.ichorolude-command-combat{display:grid;align-content:start;gap:12px}.ichorolude-command-clock{display:grid;gap:8px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel) 88%,transparent)}.ichorolude-command-clock.is-paused{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.ichorolude-command-clock>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.ichorolude-command-clock>header small{display:block;color:var(--muted);font-size:11px}.ichorolude-command-clock>header strong{font-size:22px;font-variant-numeric:tabular-nums}.ichorolude-command-clock>header b{color:var(--accent);font-size:11px;letter-spacing:.08em}.ichorolude-clock-controls{display:flex;gap:6px}.ichorolude-clock-controls input{flex:1 1 auto;min-width:0}.ichorolude-command-clock>small{color:var(--muted);font-size:11px;line-height:1.4}.ichorolude-command-scene>label,.ichorolude-command-combat>label{display:grid;gap:5px}.ichorolude-command-scene label>span,.ichorolude-command-combat label>span{color:var(--muted);font-size:11px}.ichorolude-scene-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ichorolude-scene-picker>.ichorolude-scene-quick-actions,.ichorolude-scene-picker>.ichorolude-scene-scale-state{grid-column:1 / -1}.ichorolude-scene-quick-actions>button{min-width:0;padding-inline:7px;white-space:normal}.ichorolude-scene-scale-state{display:block;color:var(--muted);font-size:10px;line-height:1.35}.scene-image-picker-dialog,.scene-measurement-dialog{width:min(920px,calc(100vw - 34px));max-height:min(820px,calc(100vh - 34px));padding:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);box-shadow:0 28px 90px #0000007a}.scene-image-picker-dialog[open],.scene-measurement-dialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.scene-image-picker-dialog::backdrop,.scene-measurement-dialog::backdrop{background:color-mix(in oklab,var(--sidebar-bg-deep) 72%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.scene-image-picker-dialog>header,.scene-measurement-dialog>header,.scene-image-picker-dialog>footer,.scene-measurement-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--panel-soft)}.scene-image-picker-dialog>footer,.scene-measurement-dialog>footer{border-top:1px solid var(--line);border-bottom:0}.scene-image-picker-dialog header h3,.scene-image-picker-dialog header p,.scene-measurement-dialog header h3,.scene-measurement-dialog header p{margin:0}.scene-image-picker-dialog header span,.scene-measurement-dialog header span{color:var(--gold);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.scene-image-picker-dialog header p,.scene-measurement-dialog header p,.scene-image-picker-dialog footer small{margin-top:3px;color:var(--muted);font-size:11px}.ichorolude-confirm-dialog{width:min(460px,calc(100vw - 34px));padding:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);box-shadow:0 28px 90px #0000007a}.ichorolude-confirm-dialog[open]{display:grid;grid-template-rows:auto auto auto}.ichorolude-confirm-dialog::backdrop{background:color-mix(in oklab,var(--sidebar-bg-deep) 72%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.ichorolude-confirm-dialog>header,.ichorolude-confirm-dialog>footer{display:flex;align-items:center;gap:9px;padding:13px 16px;background:var(--panel-soft)}.ichorolude-confirm-dialog>header{border-bottom:1px solid var(--line)}.ichorolude-confirm-dialog>footer{justify-content:flex-end;border-top:1px solid var(--line)}.ichorolude-confirm-dialog>p{margin:0;padding:18px 16px;color:var(--text);line-height:1.5}.scene-image-picker-tools,.scene-measurement-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.35fr);gap:9px;padding:11px 16px;border-bottom:1px solid var(--line)}.scene-image-picker-tools input,.scene-image-picker-tools select,.scene-measurement-controls input,.scene-measurement-controls select{width:100%;min-height:36px;border:1px solid var(--line);border-radius:6px;background:var(--panel-strong, var(--panel));color:var(--ink);padding:0 10px}.scene-image-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));align-content:start;gap:9px;min-height:250px;overflow:auto;padding:12px}.scene-image-picker-loading{grid-column:1 / -1;padding:30px;color:var(--muted);text-align:center}.scene-image-picker-item{display:grid;grid-template-rows:98px auto;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft);color:var(--ink);padding:0;text-align:left}.scene-image-picker-item:is(:hover,:focus-visible,.is-selected){border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 16%,transparent)}.scene-image-picker-item>img{width:100%;height:98px;object-fit:cover;background:var(--sidebar-bg-deep)}.scene-image-picker-item>span{display:grid;gap:2px;min-width:0;padding:7px 8px}.scene-image-picker-item strong,.scene-image-picker-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-image-picker-item small{color:var(--muted);font-size:9px}.scene-measurement-controls{grid-template-columns:minmax(160px,1fr) minmax(90px,.3fr) auto;align-items:end}.scene-measurement-controls>label{display:grid;gap:4px}.scene-measurement-controls>label>span{color:var(--muted);font-size:10px;font-weight:750}.scene-measurement-canvas{display:grid;place-items:center;min-height:280px;overflow:auto;padding:14px;background:linear-gradient(45deg,color-mix(in oklab,var(--line) 35%,transparent) 25%,transparent 25% 75%,color-mix(in oklab,var(--line) 35%,transparent) 75%),linear-gradient(45deg,color-mix(in oklab,var(--line) 35%,transparent) 25%,transparent 25% 75%,color-mix(in oklab,var(--line) 35%,transparent) 75%);background-position:0 0,8px 8px;background-size:16px 16px}.scene-measurement-frame{position:relative;display:inline-block;max-width:100%;cursor:crosshair;line-height:0;-webkit-user-select:none;user-select:none}.scene-measurement-frame>img{display:block;max-width:100%;max-height:min(56vh,580px);object-fit:contain}.scene-measurement-frame>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.scene-measurement-frame line{stroke:#69d6d1;stroke-width:.65;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(0,0,0,.85))}.scene-measurement-frame circle{fill:#f3c66d;stroke:#102829;stroke-width:.45;vector-effect:non-scaling-stroke}.scene-measurement-feedback{display:grid;gap:3px;padding:10px 16px;border-top:1px solid var(--line)}.scene-measurement-feedback small{color:var(--muted)}.scene-measurement-feedback output{min-height:1.3em;color:var(--accent);font-weight:750}.scene-measurement-dialog>footer>div{display:flex;gap:8px}@media(max-width:720px){.location-measurement-fields{align-items:stretch;flex-direction:column}.ichorolude-scene-quick-actions,.scene-image-picker-tools,.scene-measurement-controls{grid-template-columns:1fr}}.ichorolude-command-palette{display:grid;min-height:100%;grid-template-rows:auto minmax(0,1fr) auto;gap:9px}.ichorolude-command-palette-search{position:relative;z-index:2}.ichorolude-command-palette-search>div{position:absolute;top:calc(100% + 4px);right:0;left:0;display:grid;max-height:270px;overflow:auto;border:1px solid var(--line);border-radius:5px;background:var(--panel-strong, var(--panel));box-shadow:0 15px 32px #0000006b;padding:4px}.ichorolude-command-palette-search>div[hidden]{display:none}.ichorolude-command-palette-search>div>button{display:grid;gap:2px;min-height:42px;border:0;border-radius:3px;background:transparent;color:var(--ink);padding:6px 8px;text-align:left}.ichorolude-command-palette-search>div>button:hover{background:color-mix(in oklab,var(--accent) 13%,transparent)}.ichorolude-command-palette-search small{color:var(--muted)}.ichorolude-command-palette-list{display:grid;min-height:0;align-content:start;gap:6px;overflow:auto}.ichorolude-command-palette-list>p{margin:18px 8px;color:var(--muted);text-align:center}.ichorolude-command-palette-item{display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:7px;min-width:0;border:1px solid var(--line);border-radius:5px;background:color-mix(in oklab,var(--panel-soft) 92%,transparent);padding:4px;cursor:grab}.ichorolude-command-palette-item:hover{border-color:color-mix(in oklab,var(--accent) 55%,var(--line))}.ichorolude-command-palette-item>img,.ichorolude-command-palette-item>i{width:42px;height:42px;object-fit:contain}.ichorolude-command-palette-item>i{display:grid;place-items:center;border-radius:4px;background:color-mix(in oklab,var(--accent) 18%,var(--panel));color:var(--accent-strong);font-style:normal;font-weight:800}.ichorolude-command-palette-item>button:not(.icon-action){display:grid;min-width:0;gap:2px;border:0;background:transparent;color:var(--ink);padding:0;text-align:left}.ichorolude-command-palette-item strong,.ichorolude-command-palette-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-command-palette-item small{color:var(--muted)}.ichorolude-command-entity{display:grid;align-content:start;gap:13px}.ichorolude-command-entity>header{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:11px}.ichorolude-command-entity-actions{display:flex;gap:5px}.ichorolude-command-entity-actions>button{width:34px;height:34px;min-height:34px;padding:0}.ichorolude-command-entity>header>img,.ichorolude-command-entity>header>i{width:62px;height:62px;object-fit:contain}.ichorolude-command-entity>header>i{display:grid;place-items:center;border:1px solid var(--line);border-radius:5px;background:var(--panel-soft);color:var(--accent-strong);font-style:normal;font-weight:850}.ichorolude-command-entity>header>div{min-width:0}.ichorolude-command-entity h3,.ichorolude-command-entity p{margin:0}.ichorolude-command-entity h3{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.ichorolude-command-entity>header small,.ichorolude-command-summary{color:var(--muted)}.ichorolude-command-health{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.ichorolude-command-health .ichorolude-token-health.is-panel{position:relative;inset:auto;width:100%;height:8px;transform:none}.ichorolude-command-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}.ichorolude-command-stats>div{display:grid;gap:2px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);padding:7px 8px}.ichorolude-command-stats dt{color:var(--muted);font-size:10px}.ichorolude-command-stats dd{margin:0;font-weight:800}.ichorolude-command-actions{display:grid;gap:7px}.ichorolude-command-actions>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:6px}.ichorolude-command-actions>header>span{color:var(--accent-strong);font-size:11px}.ichorolude-command-actions>div{display:grid;gap:5px}.ichorolude-command-actions>div>button{display:grid;gap:3px;min-height:44px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--ink);padding:7px 9px;text-align:left}.ichorolude-command-actions>div>button:hover{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,var(--panel-soft))}.ichorolude-command-actions small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.ichorolude-command-inventory{display:grid;gap:7px}.ichorolude-command-inventory>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:6px}.ichorolude-command-inventory>header>span{color:var(--accent-strong);font-size:11px}.ichorolude-inventory-list{display:grid;gap:5px}.ichorolude-inventory-row{display:grid;grid-template-columns:minmax(0,1fr) 34px 34px;align-items:center;gap:5px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);padding:6px 7px}.ichorolude-inventory-row>div{display:grid;min-width:0;gap:2px}.ichorolude-inventory-row strong,.ichorolude-inventory-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-inventory-row small{color:var(--muted)}.ichorolude-inventory-row>button{min-height:30px;padding:3px}.ichorolude-inventory-assign{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr) 58px;gap:5px}.ichorolude-inventory-assign>button{grid-column:1 / -1}.ichorolude-table-selection-chip{position:absolute;bottom:12px;left:50%;z-index:25;display:flex;width:max-content;max-width:min(980px,calc(100% - 150px));align-items:center;gap:7px;border:1px solid color-mix(in oklab,var(--line) 88%,transparent);border-radius:7px;background:color-mix(in oklab,var(--panel) 88%,transparent);padding:5px;box-shadow:0 12px 32px #0000005c;transform:translate(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ichorolude-table-selection-chip>button{display:grid;min-width:0;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:7px;border:0;background:transparent;color:var(--ink);padding:0;text-align:left}.ichorolude-table-selection-chip>button>img,.ichorolude-table-selection-chip>button>i{width:36px;height:36px;object-fit:contain}.ichorolude-table-selection-chip>button>i{display:grid;place-items:center;border-radius:4px;background:var(--panel-soft);color:var(--accent-strong);font-style:normal;font-weight:800}.ichorolude-table-selection-chip>button>span{display:grid;min-width:90px;max-width:170px}.ichorolude-table-selection-chip strong,.ichorolude-table-selection-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-table-selection-chip small{color:var(--muted)}.ichorolude-mini-intent{display:flex;min-width:0;max-width:720px;align-items:stretch;gap:4px;padding-left:7px;border-left:1px solid var(--line)}.ichorolude-mini-intent-sequence{display:flex;min-width:112px;max-width:650px;align-items:stretch;gap:5px;overflow-x:auto;overflow-y:hidden;padding:1px 1px 3px;scrollbar-color:color-mix(in oklab,var(--accent) 48%,transparent) transparent;scrollbar-width:thin}.ichorolude-mini-intent-sequence::-webkit-scrollbar{height:4px}.ichorolude-mini-intent-sequence::-webkit-scrollbar-track{background:transparent}.ichorolude-mini-intent-sequence::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in oklab,var(--accent) 48%,transparent)}.ichorolude-mini-intent-empty{display:grid;place-items:center;min-width:108px;color:var(--muted);font-size:10px;white-space:nowrap}.ichorolude-mini-intent-card{flex:0 0 auto;display:grid;min-width:250px;height:42px;grid-template-columns:15px 22px minmax(84px,1fr) minmax(82px,.82fr) 22px;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:color-mix(in oklab,var(--panel-soft) 94%,transparent);color:var(--ink);transition:border-color .12s ease,opacity .12s ease,transform .12s ease}.ichorolude-mini-intent-card:hover,.ichorolude-mini-intent-card.is-drop-target{border-color:var(--accent)}.ichorolude-mini-intent-card.is-drop-target{transform:translateY(-2px)}.ichorolude-mini-intent-card.is-dragging{opacity:.42}.ichorolude-mini-intent-card.is-waiting{border-color:color-mix(in oklab,var(--line) 72%,transparent)}.ichorolude-mini-intent-order{display:grid;place-items:center;background:color-mix(in oklab,var(--accent) 12%,transparent);color:var(--accent-strong);font-size:9px;font-weight:850}.ichorolude-mini-intent-card button,.ichorolude-mini-intent-card select{min-width:0;border:0;border-radius:0;background:transparent;color:var(--ink);padding:3px 5px}.ichorolude-mini-intent-drag{cursor:grab;color:var(--muted)!important;padding:0!important}.ichorolude-mini-intent-drag:active{cursor:grabbing}.ichorolude-mini-intent-run{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:1px;border-left:1px solid color-mix(in oklab,var(--line) 60%,transparent)!important;text-align:left}.ichorolude-mini-intent-run>i{color:var(--accent-strong);font-size:9px;font-style:normal}.ichorolude-mini-intent-run>span{display:grid;min-width:0;align-content:center;gap:1px}.ichorolude-mini-intent-run:hover:not(:disabled){background:color-mix(in oklab,var(--accent) 12%,transparent);color:var(--accent-strong)}.ichorolude-mini-intent-run strong,.ichorolude-mini-intent-run small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-mini-intent-run small{color:var(--muted);font-size:9px;font-weight:500}.ichorolude-mini-intent-card select{border-left:1px solid color-mix(in oklab,var(--line) 60%,transparent);color:var(--muted);font-size:10px;text-overflow:ellipsis;cursor:pointer}.ichorolude-mini-intent-card select:focus{color:var(--ink);outline:1px solid var(--accent);outline-offset:-1px}.ichorolude-mini-intent-remove{color:var(--muted)!important;padding:0!important}.ichorolude-mini-intent-remove:hover{background:color-mix(in oklab,var(--danger) 15%,transparent)!important;color:var(--danger)!important}.ichorolude-mini-intent-picker{position:relative;flex:0 0 auto}.ichorolude-mini-intent-picker>button{display:grid;width:38px;height:42px;place-items:center;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--accent-strong);padding:0;font-size:20px}.ichorolude-mini-intent-picker>button:hover,.ichorolude-mini-intent-picker.is-open>button{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 12%,var(--panel-soft))}.ichorolude-mini-intent-picker>div{position:absolute;right:0;bottom:calc(100% + 8px);z-index:4;display:grid;width:min(340px,calc(100vw - 32px));max-height:min(390px,calc(100vh - 120px));gap:4px;overflow:auto;border:1px solid var(--accent);border-radius:6px;background:color-mix(in oklab,var(--panel) 97%,transparent);padding:6px;box-shadow:0 16px 38px #0000007a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scrollbar-color:color-mix(in oklab,var(--accent) 52%,transparent) transparent;scrollbar-width:thin}.ichorolude-mini-intent-picker>div[hidden]{display:none}.ichorolude-mini-intent-picker>div>header{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:3px 4px 6px}.ichorolude-mini-intent-picker>div>header small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.ichorolude-mini-intent-picker>div>button{display:grid;gap:2px;min-height:40px;border:1px solid transparent;border-radius:4px;background:var(--panel-soft);color:var(--ink);padding:6px 8px;text-align:left}.ichorolude-mini-intent-picker>div>button:hover{border-color:var(--accent);color:var(--accent-strong)}.ichorolude-mini-intent-picker>div>button small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.ichorolude-command-journal{min-height:100%;grid-template-rows:auto minmax(0,1fr) auto}.ichorolude-command-journal>ol{display:grid;min-height:0;align-content:start;gap:6px;overflow:auto;margin:0;padding:0;list-style:none}.ichorolude-command-journal>ol>li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 7px;border-left:2px solid var(--line);padding:6px 8px;background:var(--panel-soft)}.ichorolude-command-journal>ol>li.is-warn{border-left-color:var(--danger)}.ichorolude-command-journal time,.ichorolude-command-journal small{color:var(--muted);font-size:10px}.ichorolude-command-journal>ol>li>small{grid-column:2}.ichorolude-command-journal>footer,.ichorolude-command-combat>footer{display:flex;flex-wrap:wrap;gap:6px}.ichorolude-command-initiative{display:grid;gap:5px}.ichorolude-command-combatant{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft)}.ichorolude-initiative-override{display:grid;flex:0 0 auto;grid-template-columns:58px 30px;gap:4px}.ichorolude-initiative-override input,.ichorolude-initiative-override button{width:100%;min-width:0;height:28px}.ichorolude-initiative-override input{padding-inline:6px;text-align:center}.ichorolude-initiative-override button{display:grid;padding:0;place-items:center}.ichorolude-command-combat>.ichorolude-combat-fatiferous{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft)}.ichorolude-combat-body>.ichorolude-combat-fatiferous{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft)}.ichorolude-combat-fatiferous>input{width:auto;margin:0}.ichorolude-combat-fatiferous>small{grid-column:2;color:var(--muted);line-height:1.35}.ichorolude-initiative-status{display:flex!important;align-items:center;gap:9px}.ichorolude-initiative-status [data-vtt-combat-clock]{color:var(--accent-strong);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.ichorolude-command-combat>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.ichorolude-command-combat>header>div{display:grid}.ichorolude-command-combat>header small{color:var(--muted)}.ichorolude-command-combat>header>b{color:var(--accent-strong);font-size:20px}.ichorolude-command-combat>ol{display:grid;gap:4px;margin:0;padding:0;list-style:none}.ichorolude-command-combat>ol>li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);padding:6px 8px}.ichorolude-command-combat>ol>li.is-active{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 12%,var(--panel-soft))}.ichorolude-command-combat.is-initiative>ol>li.is-ready{border-color:var(--accent)}.ichorolude-command-combat.is-initiative>ol>li.is-pending>strong{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.ichorolude-command-context{position:fixed;z-index:20000;display:grid;min-width:190px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--panel-strong, var(--panel));box-shadow:0 16px 42px #00000073;padding:5px}.ichorolude-command-context>section,.ichorolude-command-context>label{display:grid;gap:5px;padding:6px 8px}.ichorolude-command-context>section>span,.ichorolude-command-context>label>span{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.ichorolude-command-context input,.ichorolude-command-context select{width:100%;min-height:30px}.ichorolude-context-stepper,.ichorolude-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.ichorolude-context-stepper{grid-template-columns:30px minmax(48px,1fr) 30px 40px}.ichorolude-context-stepper output{display:grid;place-items:center;color:var(--text);font-variant-numeric:tabular-nums}.ichorolude-command-context :is(.ichorolude-context-stepper,.ichorolude-context-grid) button{min-height:30px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--text)}.ichorolude-command-context :is(.ichorolude-context-stepper,.ichorolude-context-grid) button:is(:hover,.is-active){border-color:var(--accent);background:color-mix(in oklab,var(--accent) 15%,var(--panel-soft))}.ichorolude-context-audience{display:grid;max-height:min(360px,55vh);overflow:auto;gap:3px;padding:4px 8px 8px}.ichorolude-context-audience[hidden]{display:none}.ichorolude-context-audience>label{display:flex;align-items:center;gap:7px;min-height:26px}.ichorolude-context-audience input{width:14px;min-height:auto}.ichorolude-context-audience small{color:var(--muted);font-size:10px}.ichorolude-context-match{display:grid!important;align-items:initial!important;gap:4px!important;margin-top:5px}.ichorolude-context-match>span{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.ichorolude-context-filters{display:grid;gap:4px}.ichorolude-context-filters>div{display:grid;grid-template-columns:minmax(0,1fr) 26px;align-items:center;gap:5px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);padding:4px 5px 4px 7px}.ichorolude-context-filters span{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.ichorolude-context-filters button{width:24px;min-height:24px;border:0;background:transparent;color:var(--danger)}.ichorolude-context-filter-add{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:4px;margin-top:4px}.ichorolude-context-filter-add input,.ichorolude-context-filter-add button{min-height:30px}.ichorolude-context-filter-add input,.ichorolude-context-filter-add button{grid-column:1 / -1}.ichorolude-command-context>strong{overflow:hidden;padding:7px 8px;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.ichorolude-command-context>button.is-danger{border:0;border-radius:4px;background:transparent;color:var(--danger);padding:8px;text-align:left}.ichorolude-command-context>button.is-danger:hover{background:color-mix(in oklab,var(--danger) 12%,transparent)}.ichorolude-command-context{width:min(380px,calc(100vw - 16px));max-height:min(720px,calc(100vh - 16px));grid-template-rows:auto auto minmax(0,1fr) auto;padding:0;border-radius:10px;outline:none}.ichorolude-context-header{display:grid;grid-template-columns:50px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--line);background:color-mix(in oklab,var(--accent) 8%,var(--panel))}.ichorolude-context-header>:is(img,i){display:grid;width:50px;height:50px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--panel-soft);color:var(--accent-strong);font-style:normal;font-weight:800;object-fit:cover}.ichorolude-context-header>div{display:grid;min-width:0;gap:2px}.ichorolude-context-header :is(strong,small,span){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-context-header small{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.ichorolude-context-header strong{font-size:15px}.ichorolude-context-header span{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.ichorolude-context-header>button{width:30px;height:30px;min-height:30px;padding:0}.ichorolude-context-primary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 10px;border-bottom:1px solid var(--line)}.ichorolude-context-primary-actions>button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);color:var(--text)}.ichorolude-context-primary-actions>button:not(:disabled):hover{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 12%,var(--panel-soft))}.ichorolude-context-scroll{display:grid;align-content:start;gap:7px;min-height:0;overflow-y:auto;padding:9px 10px}.ichorolude-context-section{overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft)}.ichorolude-context-section>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:7px 9px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.ichorolude-context-section>summary::-webkit-details-marker{display:none}.ichorolude-context-section>summary:after{content:"▾";color:var(--muted);transition:transform .12s ease}.ichorolude-context-section:not([open])>summary:after{transform:rotate(-90deg)}.ichorolude-context-section>summary>span{min-width:0;font-size:12px;font-weight:750}.ichorolude-context-section>summary>small{margin-left:auto;color:var(--muted);font-size:10px;white-space:nowrap}.ichorolude-context-card{display:grid;gap:9px;padding:9px;border-top:1px solid var(--line);background:var(--panel)}.ichorolude-context-card>:is(section,label){display:grid;gap:5px}.ichorolude-context-card>:is(section,label)>span{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.ichorolude-context-danger{padding:8px 10px 10px;border-top:1px solid var(--line);background:var(--panel)}.ichorolude-context-danger>button{width:100%;min-height:36px;border:1px solid color-mix(in oklab,var(--danger) 45%,var(--line));border-radius:6px;background:color-mix(in oklab,var(--danger) 8%,transparent);color:var(--danger)}.ichorolude-context-danger>button:hover{background:color-mix(in oklab,var(--danger) 16%,transparent)}.ichorolude-command-dock{width:52px;gap:5px;padding:6px}.ichorolude-command-dock>button{width:38px;height:38px;font-size:18px}.ichorolude-command-dock>button>span:not([data-vtt-zoom-value]){right:1px;bottom:1px;min-width:13px;border-radius:999px;background:var(--panel);font-size:9px;text-align:center}.ichorolude-command-panel{left:76px;grid-template-rows:46px minmax(0,1fr);width:min(368px,calc(100% - 92px));min-width:280px;min-height:240px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);resize:both}.ichorolude-command-panel>header[data-vtt-panel-drag]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ichorolude-command-panel.is-moving>header[data-vtt-panel-drag]{cursor:grabbing}.ichorolude-command-panel>header>strong{margin-right:auto}.ichorolude-command-panel>header>button{flex:0 0 auto;cursor:pointer}.ichorolude-command-panel>header>[data-vtt-panel-reset]:hover{background:color-mix(in oklab,var(--accent) 12%,transparent);color:var(--accent-strong)}.ichorolude-command-panel.is-entity{width:min(480px,calc(100% - 92px))}.ichorolude-command-panel>header>button{width:34px;height:34px;font-size:18px}.ichorolude-environment-tools button{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:5px;min-height:42px;padding:5px 7px;text-align:left}.ichorolude-environment-tools button>span{font-size:18px;text-align:center}.ichorolude-light-select{display:grid;width:24px;height:24px;min-width:24px;place-items:center;border-radius:4px!important;padding:0!important;font-size:14px}.ichorolude-light-row.is-selected .ichorolude-light-select{background:color-mix(in oklab,var(--accent) 16%,var(--panel-soft))}.ichorolude-light-batch{padding:12px;border:1px solid color-mix(in oklab,var(--accent) 44%,var(--line));border-radius:6px;background:color-mix(in oklab,var(--accent) 7%,var(--panel-soft))}.ichorolude-light-batch>p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.ichorolude-light-batch-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ichorolude-light-batch-actions>button{min-height:36px;border:1px solid var(--line);border-radius:4px;background:var(--panel-soft);color:var(--ink);padding:6px 8px}.ichorolude-light-batch-actions>.danger-action{color:var(--danger)}.ichorolude-command-vitals,.ichorolude-command-effects{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft)}.ichorolude-command-vitals>header,.ichorolude-command-effects>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.ichorolude-command-vitals>header>span,.ichorolude-command-effects>header>span{color:var(--accent-strong);font-size:11px;font-variant-numeric:tabular-nums}.ichorolude-command-vitals .ichorolude-token-health.is-panel{position:relative;inset:auto;width:100%;height:9px;transform:none}.ichorolude-health-editor{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:end;gap:6px}.ichorolude-health-editor>label,.ichorolude-effect-add>label{display:grid;gap:4px;color:var(--muted);font-size:10px}.ichorolude-health-editor>button{min-height:38px}.ichorolude-health-editor>label.is-maximum,.ichorolude-health-editor>label.is-temporary{grid-column:1 / 3}.ichorolude-health-editor>.save-action{grid-column:3;padding-inline:6px}.ichorolude-health-editor.has-maximum.has-temporary>.save-action{grid-row:2 / 4}.ichorolude-health-editor>.save-action>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ichorolude-effect-list{display:grid;gap:5px;max-height:210px;overflow-y:auto}.ichorolude-effect-row{display:grid;grid-template-columns:24px minmax(0,1fr) 30px;align-items:center;gap:7px;min-height:42px;padding:5px 6px;border:1px solid var(--line);border-radius:4px;background:var(--panel)}.ichorolude-effect-row>div{display:grid;min-width:0;gap:2px}.ichorolude-effect-row strong,.ichorolude-effect-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichorolude-effect-row small,.ichorolude-effects-empty{color:var(--muted);font-size:10px}.ichorolude-effect-row>button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--danger);padding:0}.ichorolude-effect-row>button:hover{background:color-mix(in oklab,var(--danger) 12%,transparent)}.ichorolude-effects-empty{margin:2px 0}.ichorolude-effect-add{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,.7fr);gap:6px;padding-top:8px;border-top:1px solid var(--line)}.ichorolude-effect-add>:is([data-vtt-effect-template],[data-vtt-effect-name],button){grid-column:1 / -1}.ichorolude-effect-add>button{min-height:38px}.ichorolude-effect-duration-editor{display:grid;grid-column:1 / -1;grid-template-columns:minmax(88px,.65fr) minmax(0,1.35fr);gap:6px}.ichorolude-effect-duration-editor>label{display:grid;gap:4px;color:var(--muted);font-size:10px}.ichorolude-effect-duration-editor>label[hidden]{display:none}.ichorolude-effect-duration-editor>small{grid-column:1 / -1;color:var(--muted);font-size:10px;line-height:1.35}.ichorolude-effect-row [data-vtt-effect-deadline]{color:var(--accent-strong);font-variant-numeric:tabular-nums}.ichorolude-table-selection-chip{padding-bottom:10px}.ichorolude-table-selection-chip>.ichorolude-token-health.is-compact{bottom:3px;left:48px;width:112px;height:4px;transform:none}@media(max-width:700px){.ichorolude-command-dock{top:8px;left:8px}.ichorolude-command-panel{inset:8px 8px 64px 68px!important;width:auto!important;height:auto!important;min-width:0;min-height:0;max-width:none;max-height:none;resize:none}.ichorolude-command-panel.is-entity{width:auto}.ichorolude-quick-calculator{right:8px;bottom:8px;width:min(420px,calc(100% - 84px))}.ichorolude-command-table:has(.ichorolude-table-selection-chip) .ichorolude-quick-calculator{bottom:72px}.ichorolude-table-selection-chip{right:8px;bottom:8px;left:68px;width:auto;max-width:none;transform:none}.ichorolude-table-selection-chip>button>span{max-width:120px}.ichorolude-mini-intent,.ichorolude-mini-intent-sequence{flex:1 1 auto;max-width:none}}.ruleset-studio-nav{position:sticky;top:0;z-index:5;display:flex;gap:4px;overflow-x:auto;padding:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ruleset-studio-nav button{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid transparent;border-radius:4px;color:var(--muted);background:transparent}.ruleset-studio-nav button:hover,.ruleset-studio-nav button.is-active{border-color:var(--line);color:var(--text);background:var(--button-soft)}.ruleset-studio-nav button i{min-width:20px;padding:1px 5px;border-radius:8px;color:var(--accent);background:var(--input);font-size:11px;font-style:normal;text-align:center}.is-ruleset-studio>[hidden]{display:none!important}.ruleset-layout-toolbar,.ruleset-layout-meta{display:grid;grid-template-columns:minmax(180px,1fr) auto auto minmax(0,1fr);gap:8px;align-items:end;margin-bottom:10px}.ruleset-layout-toolbar>label,.ruleset-layout-meta>label,.ruleset-layout-fields>label{display:grid;gap:4px}.ruleset-layout-toolbar span,.ruleset-layout-meta span,.ruleset-layout-fields label>span{color:var(--muted);font-size:11px}.ruleset-layout-meta{grid-template-columns:repeat(6,minmax(110px,1fr));align-items:start}.ruleset-layout-meta .is-wide{grid-column:1 / -1}.ruleset-layout-meta .is-checkbox{display:flex;align-items:center;justify-content:space-between;min-height:58px}.ruleset-layout-editor{display:grid;grid-template-columns:minmax(140px,190px) minmax(360px,1fr) minmax(210px,280px);min-height:560px;border:1px solid var(--line);background:var(--bg);overflow:hidden}.ruleset-layout-palette,.ruleset-layout-inspector{min-width:0;padding:10px;background:var(--panel);overflow:auto}.ruleset-layout-palette{border-right:1px solid var(--line)}.ruleset-layout-inspector{border-left:1px solid var(--line)}.ruleset-layout-palette>header,.ruleset-layout-inspector>header,.ruleset-layout-canvas>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;margin-bottom:8px}.ruleset-layout-palette header,.ruleset-layout-inspector header>div{display:grid;gap:2px}.ruleset-layout-editor header small{color:var(--muted);font-size:10px}.ruleset-layout-palette section{display:grid;gap:4px;margin-bottom:12px}.ruleset-layout-palette h4{margin:0 0 2px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.ruleset-layout-palette section>button{display:flex;align-items:center;gap:8px;min-height:34px;padding:6px;border:1px solid var(--line);border-radius:4px;color:var(--text);background:var(--input);text-align:left}.ruleset-layout-palette section>button:hover{border-color:var(--accent)}.ruleset-layout-palette section>button i{display:grid;width:24px;height:24px;place-items:center;color:var(--accent);font-style:normal}.ruleset-layout-canvas{min-width:0;padding:10px;overflow:auto;background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px),var(--bg);background-size:24px 24px}.ruleset-layout-preview{width:min(100%,900px);min-height:480px;margin:0 auto;padding:12px;border:1px solid var(--line);background:var(--panel);box-shadow:0 10px 28px #00000029}.ruleset-layout-node{position:relative;min-width:0;border:1px solid transparent;transition:border-color .12s ease,background-color .12s ease}.ruleset-layout-node:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.ruleset-layout-node.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.ruleset-layout-node.is-drop-target{outline:2px solid var(--accent);outline-offset:2px}.ruleset-layout-node-handle{position:absolute;z-index:2;top:2px;right:2px;display:none;width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:3px;color:var(--accent);background:var(--panel)}.ruleset-layout-node:hover>.ruleset-layout-node-handle,.ruleset-layout-node.is-selected>.ruleset-layout-node-handle{display:grid;place-items:center}.ruleset-layout-node.is-page{min-height:440px;padding:12px}.ruleset-layout-node.is-section{margin:8px 0;padding:10px;border-color:var(--line);background:var(--input)}.ruleset-layout-node.is-section>header{display:grid;gap:2px;margin-bottom:8px}.ruleset-layout-node.is-section>header small,.ruleset-layout-empty,.ruleset-layout-node.is-effects-list p,.ruleset-layout-node.is-instances-list p{color:var(--muted);font-size:11px}.ruleset-layout-node.is-row>.ruleset-layout-children{display:flex;flex-wrap:wrap;gap:8px}.ruleset-layout-node.is-columns>.ruleset-layout-children{display:grid;grid-template-columns:repeat(var(--layout-columns),minmax(0,1fr));gap:8px}.ruleset-layout-node.is-property-field,.ruleset-layout-node.is-resource-bar,.ruleset-layout-node.is-property-group,.ruleset-layout-node.is-computed-text,.ruleset-layout-node.is-effects-list,.ruleset-layout-node.is-instances-list{padding:8px;border-color:var(--line);background:var(--panel)}.ruleset-layout-node label{display:grid;gap:4px}.ruleset-layout-node input:disabled{opacity:1}.ruleset-preview-portrait{display:grid;width:68px;aspect-ratio:1;place-items:center;margin:4px auto;border:1px solid var(--accent);color:var(--accent);background:var(--input)}.ruleset-preview-portrait.is-circle{border-radius:50%}.ruleset-preview-resource{height:10px;margin:5px 0;border:1px solid var(--line);background:var(--bg)}.ruleset-preview-resource i{display:block;width:62%;height:100%;background:var(--accent)}.ruleset-preview-property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:6px}.ruleset-preview-property-grid span{display:flex;justify-content:space-between;gap:6px;padding:4px;background:var(--input);font-size:11px}.ruleset-preview-actionbar{display:flex;flex-wrap:wrap;gap:5px}.ruleset-layout-tabbar{display:flex;gap:4px;padding:4px;border-bottom:1px solid var(--line)}.ruleset-layout-tabbar span{padding:5px 8px;color:var(--muted)}.ruleset-layout-tabbar span.is-active{color:var(--text);border-bottom:2px solid var(--accent)}.ruleset-layout-fields{display:grid;gap:9px}.ruleset-layout-fields .is-checkbox{display:flex;align-items:center;justify-content:space-between}.ruleset-layout-node-actions{display:flex;gap:4px}.ruleset-layout-node-actions button{width:28px;height:28px;padding:0}.ruleset-test-bench{padding:12px}.ruleset-test-bench>header{display:flex;justify-content:space-between;margin-bottom:10px}.ruleset-test-bench>header>div{display:grid;gap:2px}.ruleset-test-bench>header small{color:var(--muted)}.ruleset-test-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.ruleset-test-actions output{min-height:36px;padding:8px 10px;border:1px solid var(--line);color:var(--accent);background:var(--input);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}.ruleset-test-actions output.is-error{color:var(--danger)}@media(max-width:1050px){.ruleset-layout-editor{grid-template-columns:150px minmax(320px,1fr)}.ruleset-layout-inspector{grid-column:1 / -1;max-height:320px;border-top:1px solid var(--line);border-left:0}.ruleset-layout-meta{grid-template-columns:repeat(3,minmax(120px,1fr))}}.ruleset-active-badge{border:1px solid var(--gold);border-radius:999px;background:color-mix(in oklab,var(--gold) 14%,transparent);padding:2px 10px;color:var(--gold);font-size:11px;font-weight:700}.ruleset-authoring-section>summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ruleset-authoring-section>summary small{color:var(--muted);font-weight:500}.ruleset-authoring-reference,.ruleset-authoring-add-field,.ruleset-authoring-actions .inline-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.ruleset-authoring-reference>input,.ruleset-authoring-add-field>select,.ruleset-authoring-actions .inline-actions>select{flex:1 1 12rem;min-width:0}.ruleset-authoring-add-field{padding:10px;border:1px dashed color-mix(in srgb,var(--accent) 44%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--panel-soft) 76%,transparent)}.ruleset-template-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.ruleset-template-action>label{display:flex;align-items:flex-start;gap:9px;min-width:0}.ruleset-template-action>label>span{display:grid;min-width:0;gap:3px}.ruleset-custom-action-card{margin-top:10px;border-left:3px solid color-mix(in srgb,var(--accent) 62%,transparent);background:color-mix(in srgb,var(--panel) 90%,var(--panel-soft))}.ruleset-custom-action-card>summary{align-items:center}.ruleset-custom-action-card>summary>button{margin-left:auto}.ruleset-targeting-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}.ruleset-action-steps{display:grid;gap:8px}@container entity-ruleset-panel (max-width: 470px){.ruleset-template-action{grid-template-columns:minmax(0,1fr)}.ruleset-template-action>button{justify-self:start}}.ruleset-method-catalog{margin:8px 0 14px}.ruleset-method-catalog>.app-section-content{gap:10px}.ruleset-expression-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:8px}.ruleset-expression-method{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;min-width:0;padding:9px 10px;border:1px solid var(--border-color);border-radius:8px;background:color-mix(in srgb,var(--panel-bg) 88%,transparent)}.ruleset-expression-method code{min-width:0;overflow-wrap:anywhere}.ruleset-expression-method>span{align-self:start;padding:2px 6px;border-radius:999px;color:var(--muted-text);background:color-mix(in srgb,var(--accent-color) 10%,transparent);font-size:.72rem}.ruleset-expression-method.is-handler-required>span,.ruleset-expression-method.is-unavailable>span,.ruleset-method-picker [data-runtime-status=handler-required],.ruleset-method-picker [data-runtime-status=unavailable]{color:var(--warning-text, #d69245);background:color-mix(in srgb,#d69245 12%,transparent)}.ruleset-expression-method.is-partial>span{color:var(--warning-text, #d6b145);background:color-mix(in srgb,#d6b145 12%,transparent)}.ruleset-expression-method p{grid-column:1 / -1;margin:0;color:var(--muted-text);font-size:.8rem;line-height:1.35}.ruleset-method-picker{display:grid;gap:5px;padding:8px;border:1px dashed var(--border-color);border-radius:8px}.ruleset-method-picker select{flex:1 1 250px;min-width:0}.entity-floating-save{position:sticky;bottom:14px;margin-left:auto;margin-right:6px;display:block;z-index:12;box-shadow:0 6px 18px #00000047}.entity-floating-save[hidden]{display:none}.location-tree-node.is-drop-target{outline:2px dashed var(--accent, #2f8177);outline-offset:-2px}.location-tree-toolbar.is-drop-target{outline:2px dashed var(--accent, #2f8177);outline-offset:-2px;border-radius:8px}.location-tree-root-drop{font-size:.75rem;color:var(--muted-text)}.md-field-surface{border:1px solid var(--border-color);border-radius:8px;background:var(--input-background, var(--panel-background));padding:8px 12px;min-height:140px;max-height:460px;overflow-y:auto;cursor:text}.md-field-surface:focus-within{border-color:var(--accent, #2f8177)}.md-field-surface .writing-prose{outline:none;font-size:.95rem;line-height:1.55;min-height:120px}.md-field-surface .writing-prose>:first-child{margin-top:0}.md-field-surface .writing-prose>:last-child{margin-bottom:0}.md-field-surface .writing-prose h1{font-size:1.25rem}.md-field-surface .writing-prose h2{font-size:1.1rem}.md-field-surface .writing-prose h3{font-size:1rem}
