:root{--night-950: #070d13;--night-900: #0c1620;--night-850: #111d29;--night-700: #1d2e3e;--night-600: #2a3f52;--mist-100: #e8eef4;--mist-300: #b3c1ce;--mist-500: #8497a8;--mist-600: #62778a;--blue-400: #5b9bff;--blue-500: #3b82f6;--blue-600: #2f6fdb;--teal-400: #2dd4bf;--teal-500: #14b8a6;--green-400: #4ade80;--green-500: #16a34a;--green-600: #15803d;--red-400: #f87171;--red-500: #e5484d;--red-600: #c93a3f;--amber-400: #f2b35b;--gold-400: #e2c275;--violet-400:#a78bfa;--ddb-slate-900: var(--night-950);--ddb-slate-800: var(--night-900);--ddb-slate-700: var(--night-600);--ddb-slate-600: var(--mist-500);--ddb-slate-500: var(--mist-600);--ddb-slate-300: var(--mist-300);--ddb-parchment: var(--mist-100);--ddb-parchment-deep: var(--mist-300);--ddb-gold: var(--gold-400);--ddb-green: var(--teal-400);--ddb-orange: var(--amber-400);--ddb-blue: var(--blue-500);--ddb-purple: var(--violet-400);--paper: rgba(12, 22, 32, .95);--paper-2: #16263a;--paper-3: #091119;--rule: rgba(148, 178, 204, .14);--edge: rgba(148, 178, 204, .12);--control: rgba(148, 178, 204, .1);--control-hover:rgba(148, 178, 204, .18);--field: rgba(3, 8, 13, .55);--field-border: rgba(148, 178, 204, .1);--ink: var(--mist-100);--ink-2: var(--mist-300);--ink-3: var(--mist-500);--ink-4: var(--mist-600);--ink-on-red: #ffffff;--accent: var(--blue-500);--accent-strong:var(--blue-600);--accent-tint: rgba(59, 130, 246, .16);--hostile: var(--red-500);--health: var(--teal-400);--table: var(--night-950);--table-dot: rgba(148, 178, 204, .05);--line: 1px solid var(--rule);--shadow-raised: 0 12px 32px rgba(0, 0, 0, .45);--grain: none;--bg: var(--table);--surface: var(--paper);--surface-raised: var(--paper-2);--surface-sunken: var(--paper-3);--canvas: var(--table);--border: var(--rule);--border-strong: var(--edge);--text: var(--ink);--text-muted: var(--ink-3);--text-faint: var(--ink-4);--gold: var(--accent);--gold-bright: var(--blue-400);--gold-deep: var(--accent-strong);--gold-tint: var(--accent-tint);--gold-ink: var(--ink-on-red);--red: var(--red-500);--red-bright: var(--red-400);--red-deep: var(--red-600);--red-tint: rgba(229, 72, 77, .14);--success: var(--teal-400);--warning: var(--amber-400);--danger: var(--red-400);--whisper: var(--violet-400);--whisper-tint: rgba(167, 139, 250, .1);--font-display: "Roboto Flex", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-ui: "Roboto Flex", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-flavor: "Roboto Flex", Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 14px;--fs-md: 14px;--fs-lg: 15px;--fs-xl: 19px;--fs-2xl: 21px;--fs-3xl: 26px;--fs-display: 36px;--fs-stat: 40px;--fs-hero: 50px;--r-xs: 4px;--r-sm: 8px;--r-md: 10px;--r-lg: 16px;--r-pill: 999px;--shadow-pop: 0 8px 24px rgba(0, 0, 0, .4);--shadow-panel: 0 12px 32px rgba(0, 0, 0, .45);--shadow-modal: 0 24px 64px rgba(0, 0, 0, .6);--inset-top: 0 0 0 0 transparent;--ease-out: cubic-bezier(.2, .8, .2, 1);font-family:var(--font-ui)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;background:var(--bg);color:var(--text)}body{font-size:var(--fs-base);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:1ms!important;animation-duration:1ms!important}}button{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}input{font:inherit}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:radial-gradient(circle at 1px 1px,var(--table-dot) 1px,transparent 1.4px) 0 0 / 18px 18px,var(--bg);animation:loading-fade-in .2s ease both}.loading-card{display:flex;flex-direction:column;align-items:center;gap:16px;padding:28px 36px}.loading-card h1{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--fs-display);letter-spacing:.02em;color:var(--ddb-parchment)}.loading-card p{margin:0;color:var(--ddb-slate-300);font-size:var(--fs-base);letter-spacing:.04em}.loading-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--ddb-slate-700);border-top-color:var(--accent);animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-fade-in{0%{opacity:0}to{opacity:1}}.join-wrap{height:100%;display:grid;place-items:center;background:radial-gradient(circle at 1px 1px,var(--table-dot) 1px,transparent 1.4px) 0 0 / 18px 18px,var(--bg)}.join-card{width:min(420px,92vw);background:var(--grain),var(--paper);border:var(--line);border-radius:var(--r-lg);padding:28px 26px;box-shadow:var(--shadow-raised)}.join-card h1{margin:0 0 4px;font-family:var(--font-display);font-weight:600;font-weight:400;font-size:var(--fs-display);letter-spacing:.01em;color:var(--ink)}.join-card .sub{color:var(--text-muted);margin:0 0 22px;font-size:var(--fs-base)}.join-card label{display:block;font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:12px 0 6px}.join-card input{width:100%;padding:10px 12px;background:var(--paper-3);color:var(--ink);border:1px solid var(--edge);border-radius:var(--r-sm);outline:none}.join-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-tint)}.join-card .row{display:flex;gap:10px;margin-top:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:var(--r-md);border:1px solid var(--edge);background:var(--paper);color:var(--ink);cursor:pointer;font-weight:600;text-decoration:none;transition:background .12s var(--ease-out),transform .06s var(--ease-out),box-shadow .06s var(--ease-out);flex-shrink:0;box-shadow:none}.btn:hover{background:var(--paper-2)}.btn:active{transform:translate(2px,2px);box-shadow:none}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn:disabled:hover{background:var(--paper)}.btn-sm{padding:4px 10px;font-size:var(--fs-sm);border-width:1.5px}.btn-primary{background:var(--accent);color:var(--ink-on-red)}.btn-primary:hover{background:var(--blue-600)}.btn-primary:disabled:hover{background:var(--accent)}.btn-danger{background:transparent;border-color:transparent;color:var(--danger);box-shadow:none}.btn-danger:hover{background:var(--accent-tint);border-color:var(--danger)}.crash{display:grid;place-items:center;min-height:100vh;padding:24px}.crash-card{max-width:440px;display:grid;gap:14px;padding:28px;border-radius:var(--r-lg);background:var(--night-900, #11151c);box-shadow:var(--shadow-panel);color:var(--ink)}.crash-card h1{margin:0;font-size:var(--fs-xl)}.crash-card p{margin:0;color:var(--ink-3);line-height:1.5}.crash-actions{display:flex;gap:8px}.workspace{position:fixed;top:0;right:0;bottom:0;left:0}.canvas-area{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.canvas-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(circle at 1px 1px,var(--table-dot) 1px,transparent 1.4px) 0 0 / 18px 18px,var(--canvas)}.canvas-host canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;touch-action:none}.canvas-host canvas.weather-layer{width:100%;height:100%;pointer-events:none}.hud,.tool-dock .toolbar,.right-panel--inner,.zoom-indicator,.door-controls,.dock-edge{background:var(--grain),var(--paper);border:var(--line);box-shadow:var(--shadow-raised);color:var(--ink)}.workspace{--dock-w: 420px;--dock-shift: 0px;--dock-right: 72px;--toolbar-cx: calc(var(--zoom-w, 220px) + 12px + (100vw - var(--zoom-w, 220px) - 12px - var(--dock-right)) / 2)}.workspace.dock-open{--dock-shift: calc((var(--dock-w) + 16px) / -2);--dock-right: calc(var(--dock-w) + 36px)}.hud{position:fixed;z-index:8;display:flex;align-items:center;gap:8px;border-radius:var(--r-pill);padding:5px}.hud-brand{top:14px;left:14px;padding:4px;border-radius:var(--r-lg)}.scene-title{display:inline-flex;align-items:center;gap:8px;height:40px;max-width:320px;padding:0 10px 0 14px;border-radius:var(--r-md);font-size:var(--fs-md);font-weight:600;color:var(--ink);transition:background .12s var(--ease-out)}.scene-title svg{color:var(--ink-3)}button.scene-title:hover,.scene-title.open{background:var(--control-hover)}.scene-title.static{padding:0 14px}.scene-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.scene-preview{flex:none;padding:2px 7px;border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--amber-400);background:#f2b35b24}.hud-sep{width:1px;height:22px;margin:0 2px;background:var(--rule);flex:none}.hud-btn{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:var(--r-md);color:var(--ink-3)}.hud-btn:hover{color:var(--ink);background:var(--control-hover)}.hud-btn.on{color:var(--amber-400);background:#fbbf241f}.scene-tools{position:relative;display:inline-flex}.scene-tools-menu{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%);z-index:30;min-width:220px;padding:6px;border-radius:var(--r-md);display:grid;gap:1px;background-color:var(--night-900)}.scene-tools-menu button{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--ink-2);text-align:left}.scene-tools-menu button:hover{color:var(--ink);background:var(--control-hover)}.scene-tools-menu svg{width:18px;height:18px}.scene-tools-menu kbd{font:inherit;font-size:var(--fs-2xs);color:var(--ink-4);padding:1px 6px;border-radius:4px;box-shadow:inset 0 0 0 1px var(--rule)}.hud-brand .peer-avatars{padding:0 4px}.conn{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 2px var(--night-900);animation:conn-pulse 1.2s ease-in-out infinite}.conn.ok{background:var(--success);animation:none}@keyframes conn-pulse{50%{opacity:.35}}.tool-dock{position:fixed;z-index:8;left:var(--toolbar-cx);bottom:16px;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);transition:left .2s var(--ease-out)}.tool-dock .toolbar{display:flex;flex-direction:row;align-items:center;gap:2px;padding:6px;border-radius:var(--r-pill);overflow:visible}.toolbar .tool{position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;color:var(--ink-2);border:0;transition:background .12s var(--ease-out),color .12s var(--ease-out)}.toolbar .tool:hover{background:var(--control-hover);color:var(--ink)}.toolbar .tool.active{background:var(--accent);color:var(--ink-on-red)}.toolbar .tool.toggle.active{background:var(--accent-tint);color:var(--blue-400)}.toolbar .tool.enters:after{content:"";position:absolute;right:7px;bottom:7px;width:0;height:0;border-left:4px solid transparent;border-bottom:4px solid currentColor;opacity:.55}.toolbar .tool .tip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;font-size:var(--fs-xs);font-weight:600;color:var(--ink);background:var(--night-850);box-shadow:var(--shadow-pop);opacity:0;transition:opacity .12s}.toolbar .tool:hover .tip,.toolbar .tool:focus-visible .tip{opacity:1;transition-delay:.4s}.toolbar .tool .tip kbd{font:inherit;margin-left:6px;color:var(--ink-3)}.tool-q{font-size:var(--fs-md);font-weight:700;line-height:1}.shortcut-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:#03070c8c}.shortcut-card{width:min(780px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;padding:18px 20px 14px;border-radius:var(--r-lg);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-modal),0 0 0 1px var(--rule)}.shortcut-card h2{margin:0 0 10px;font-size:var(--fs-lg);font-weight:600}.shortcut-card ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));column-gap:32px}.shortcut-card li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0}.shortcut-card li{border-top:1px solid var(--rule)}.shortcut-card li>span:first-child{color:var(--ink-2)}.shortcut-card .keys{display:inline-flex;align-items:center;gap:4px;flex:none}.shortcut-card .keys i{font-style:normal;color:var(--ink-4)}.shortcut-card kbd{min-width:24px;height:24px;padding:0 7px;border-radius:6px;display:inline-grid;place-items:center;font:inherit;font-size:var(--fs-xs);font-weight:700;color:var(--ink);background:var(--control);box-shadow:inset 0 -1px #00000059}.toolbar .sep{width:1px;height:22px;background:var(--rule);margin:0 6px;flex:none}.tool-back{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 12px;flex:none;border-radius:var(--r-pill);font-weight:600;color:var(--ink);background:var(--control)}.tool-back:hover{background:var(--control-hover)}.tool-back svg{color:var(--ink-3)}.tool-hint{padding:0 10px 0 4px;font-size:var(--fs-sm);color:var(--ink-3);white-space:nowrap}.pen-colors,.pen-widths{display:flex;align-items:center;gap:4px}.pen-colors{padding:0 4px}.pen-swatch{position:relative;width:22px;height:22px;border-radius:50%;flex:none;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff2e}.pen-swatch[aria-checked=true],.pen-swatch.custom.on{box-shadow:0 0 0 2px var(--night-900),0 0 0 4px var(--blue-400)}.pen-swatch.custom{background:conic-gradient(#f87171,#facc15,#2dd4bf,#5b9bff,#a78bfa,#f87171)}.pen-swatch.custom input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.pen-width{width:32px;height:32px;border-radius:50%;display:grid;place-items:center}.text-size-field{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--ink-2)}.text-size-field input{width:56px;height:30px;padding:0 6px;text-align:center;background:var(--control);border:1px solid var(--rule);border-radius:var(--r-sm);color:var(--ink)}.pen-width i{display:block;border-radius:50%}.pen-width:hover{background:var(--control-hover)}.pen-width[aria-checked=true]{background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--blue-400)}.tool-options-toggle{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;margin-right:2px;white-space:nowrap;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);background:var(--control)}.tool-options-toggle:hover{background:var(--control-hover);color:var(--ink)}.tool-options-toggle.on{background:#a78bfa29;color:var(--violet-400)}.tool-options-toggle:disabled{opacity:.45;cursor:not-allowed}.tool-options-toggle:disabled:hover{background:var(--control);color:var(--ink-2)}.right-library{flex:1;min-height:0;overflow-y:auto}.library-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:14px 16px 16px}.lib-section{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.lib-empty{margin:4px 0;font-size:var(--fs-sm);line-height:1.45;color:var(--ink-3)}.lib-rows{list-style:none;margin:0;padding:0;display:grid}.lib-row{position:relative;display:flex;align-items:center;border-radius:var(--r-md)}.lib-row+.lib-row{border-top:1px solid var(--rule)}.lib-row:hover,.lib-row.armed{background:var(--control);border-top-color:transparent}.lib-row:hover+.lib-row,.lib-row.armed+.lib-row{border-top-color:transparent}.lib-row.armed{background:var(--accent-tint);box-shadow:inset 0 0 0 1px #5b9bff73}.lib-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:7px 6px;text-align:left;cursor:grab}.lib-portrait{width:38px;height:38px;border-radius:50%;flex:none;overflow:hidden;display:grid;place-items:center;background:var(--night-700);color:var(--ink-2);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;box-shadow:0 0 0 2px var(--night-900),0 0 0 3.5px var(--hostile)}.lib-portrait img{width:100%;height:100%;object-fit:cover;transform:scale(1.16)}.lib-row-text{min-width:0;display:grid}.lib-row-text b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-row-text small{font-size:var(--fs-xs);color:var(--ink-3)}.lib-row.armed .lib-row-text small{color:var(--blue-400)}.lib-row-remove{flex:none;width:28px;height:28px;margin-right:4px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3);opacity:0;transition:opacity .12s var(--ease-out)}.lib-row:hover .lib-row-remove,.lib-map:hover .lib-row-remove,.lib-row-remove:focus-visible{opacity:1}.lib-row-remove:hover{background:#e5484d29;color:var(--red-400)}.lib-maps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lib-map-main{width:100%;display:grid;gap:2px;text-align:left;cursor:grab}.lib-map-thumb{position:relative;display:block;aspect-ratio:4 / 3;margin-bottom:4px;overflow:hidden;border-radius:var(--r-md);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule);transition:box-shadow .12s var(--ease-out)}.lib-map-thumb img{width:100%;height:100%;display:block;object-fit:cover}.lib-map-main:hover .lib-map-thumb{box-shadow:0 0 0 2px var(--control-hover)}.lib-map.active .lib-map-thumb{box-shadow:0 0 0 2px var(--blue-400)}.lib-map-badge{position:absolute;left:6px;bottom:6px;padding:2px 8px;border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:var(--ink-on-red)}.lib-map-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-map-main small{font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.lib-map .lib-row-remove{position:absolute;top:6px;right:2px;background:#070d13cc;color:var(--ink-2)}.panel-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.panel-actions .btn{height:30px;padding:0 9px;font-size:var(--fs-sm);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.panel-actions .btn svg{width:15px;height:15px}.panel-modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:24px 16px;background:#03070ba6}.panel-modal{width:min(480px,100%);max-height:min(820px,100%);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-lg);background:var(--night-900);border:var(--line);box-shadow:0 24px 60px #0000008c;color:var(--ink)}.panel-modal.md{width:min(640px,100%)}.panel-modal.lg{width:min(880px,100%)}.panel-modal-head{display:flex;align-items:center;gap:8px;padding:14px 16px 12px 20px;border-bottom:var(--line)}.panel-modal-head h2{flex:1;min-width:0;margin:0;font-size:var(--fs-xl);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-modal-close{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--ink-3)}.panel-modal-close:hover{background:var(--control-hover);color:var(--ink)}.panel-modal-body{flex:1;min-height:0;overflow-y:auto;padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px}.panel-modal :where(input[type=text],input[type=number],input[type=search],input:not([type]),select,textarea){font:inherit;font-size:var(--fs-base);padding:6px 9px;color:var(--ink);background:var(--field);border:1px solid var(--field-border);border-radius:var(--r-sm);outline:none}.panel-modal :where(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.docs-sections-tabs{padding:4px 14px 0}.lib-row-icon{flex:none;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--night-850);color:var(--blue-400)}.lib-row-text small .docs-pill{margin-left:6px}.panel-modal .char-new{background:none;box-shadow:none;padding:0;border:0}.new-menu{position:relative}.new-menu-list{position:absolute;z-index:20;top:calc(100% + 6px);left:0;width:270px;padding:6px;border-radius:var(--r-md);display:flex;flex-direction:column;gap:2px}.new-menu-list.hud{position:absolute}.new-menu-list button{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:var(--r-sm);text-align:left}.new-menu-list button:hover,.new-menu-list button:focus-visible{background:var(--control-hover)}.new-menu-list b{display:block;font-size:var(--fs-base);font-weight:600;color:var(--ink)}.new-menu-list small{display:block;font-size:var(--fs-xs);color:var(--ink-3);line-height:1.35;margin-top:1px}.new-menu-ic{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--night-850);color:var(--blue-400)}.section-tabs{display:flex;gap:16px;border-bottom:1px solid var(--rule);flex:none}.section-tabs button{position:relative;height:34px;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-base);font-weight:600;color:var(--ink-3)}.section-tabs button:hover,.section-tabs button[aria-selected=true]{color:var(--ink)}.section-tabs button[aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--blue-400)}.section-tabs small{font-size:var(--fs-xs);font-weight:600;color:var(--ink-4)}.list-controls{display:grid;gap:8px}.list-controls-row{display:flex;gap:6px}.list-search{flex:1;min-width:0;display:flex;align-items:center;gap:6px;height:32px;padding:0 6px 0 10px;border-radius:var(--r-pill);background:var(--field);box-shadow:inset 0 0 0 1px var(--rule);color:var(--ink-3)}.list-search:focus-within{box-shadow:inset 0 0 0 1px var(--accent),0 0 0 3px var(--accent-tint)}.list-search input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--ink);font-size:var(--fs-base)}.list-search input::-webkit-search-cancel-button{display:none}.list-search button{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3)}.list-search button:hover{background:var(--control-hover);color:var(--ink)}.filter-menu{position:relative;flex:none}.filter-menu-btn{height:32px;padding:0 11px;display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);background:var(--control)}.filter-menu-btn:hover{background:var(--control-hover);color:var(--ink)}.filter-menu-btn.on{color:var(--blue-400);box-shadow:inset 0 0 0 1px var(--accent)}.filter-menu-count{min-width:16px;height:16px;padding:0 4px;border-radius:8px;display:grid;place-items:center;font-size:var(--fs-2xs);background:var(--accent);color:var(--ink-on-red)}.filter-menu-list{position:absolute;z-index:20;top:calc(100% + 6px);right:0;width:200px;padding:6px;border-radius:var(--r-md);display:flex;flex-direction:column;gap:1px}.filter-menu-scroll{display:flex;flex-direction:column;gap:1px;max-height:min(300px,50vh);overflow-y:auto;overscroll-behavior:contain}.filter-menu-scroll>*{flex-shrink:0}.filter-menu-list.hud{position:absolute}.filter-menu-h{padding:6px 8px 3px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}.filter-menu-list button{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-sm);text-align:left;font-size:var(--fs-base);color:var(--ink-2)}.filter-menu-list button:hover{background:var(--control-hover);color:var(--ink)}.filter-menu-list button:before{content:"";width:14px;flex:none;text-align:center}.filter-menu-list button[aria-checked=true]{color:var(--ink)}.filter-menu-list button[aria-checked=true]:before{content:"✓";color:var(--blue-400);font-weight:700}.list-chips{display:flex;flex-wrap:wrap;gap:4px}.filter-chip{height:26px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;background:var(--control);color:var(--ink-3)}.filter-chip:hover{background:var(--control-hover);color:var(--ink)}.filter-chip.on{background:var(--accent-tint);color:var(--blue-400)}.list-none{margin:8px 0;font-size:var(--fs-sm);color:var(--ink-3);text-align:center}.docs-share{display:grid;gap:8px;margin:0;padding:10px 12px;border-radius:var(--r-md);background:var(--night-850)}.docs-share-label{font-size:var(--fs-xs);font-weight:600;color:var(--ink-3)}.docs-share-mode{display:flex;padding:2px;border-radius:var(--r-pill);background:var(--field);box-shadow:inset 0 0 0 1px var(--rule)}.docs-share-mode button{flex:1;height:28px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3)}.docs-share-mode button:hover:not(:disabled){color:var(--ink)}.docs-share-mode button[aria-checked=true]{background:var(--control-hover);color:var(--ink)}.docs-share-mode button:disabled{opacity:.4;cursor:not-allowed}.char-tab-empty{flex:1;display:grid;place-items:center;padding:24px;text-align:center;font-size:var(--fs-base);color:var(--text-faint)}.docs-tab{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px 14px;gap:10px;overflow-y:auto}.docs-pill{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:var(--r-pill);border:1px solid var(--border)}.docs-pill.shared{color:var(--gold-ink);background:var(--gold);border-color:var(--gold-deep)}.docs-pill.private{color:var(--text-muted);background:var(--surface-sunken)}.modal:has(.shown-handout){width:min(720px,100%)}.shown-handout{max-height:min(70vh,720px);overflow:auto}.shown-handout-note{margin:0 0 10px;font-size:var(--fs-sm);color:var(--ink-3)}.shown-handout .docs-image{max-height:60vh;object-fit:contain}.docs-view,.docs-edit{display:flex;flex-direction:column;gap:8px}.docs-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--fs-xl);color:var(--gold)}.docs-title-input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--border);font-family:var(--font-display);font-weight:600;font-size:var(--fs-xl);color:var(--gold);padding:4px 0;outline:none}.docs-title-input:focus{border-bottom-color:var(--gold)}.docs-body-input{width:100%;min-height:240px;resize:vertical;background:var(--surface-sunken);color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;font-family:var(--font-mono);font-size:var(--fs-sm);outline:none}.docs-body-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-tint)}.docs-image{max-width:100%;height:auto;border-radius:var(--r-sm);border:1px solid var(--border);display:block}.docs-markdown{line-height:1.55;font-size:var(--fs-base);color:var(--text)}.docs-markdown h1,.docs-markdown h2,.docs-markdown h3{font-family:var(--font-display);font-weight:600;color:var(--gold);margin:14px 0 6px}.docs-markdown h2{font-size:var(--fs-lg)}.docs-markdown h3{font-size:var(--fs-md)}.docs-markdown h1:first-child,.docs-markdown h2:first-child,.docs-markdown h3:first-child{margin-top:0}.docs-markdown p{margin:6px 0}.docs-markdown ul{margin:6px 0;padding-left:20px}.docs-markdown li{margin:2px 0}.docs-markdown a{color:var(--gold-bright);text-decoration:underline}.docs-markdown code{background:var(--surface-sunken);padding:1px 4px;border-radius:var(--r-xs);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted)}.docs-markdown pre{background:var(--surface-sunken);padding:10px;border-radius:var(--r-sm);overflow-x:auto;margin:8px 0;border:1px solid var(--border)}.docs-markdown pre code{background:transparent;padding:0;font-size:var(--fs-sm);color:var(--text)}.docs-markdown blockquote{border-left:3px solid var(--gold-deep);margin:8px 0;padding:2px 10px;color:var(--text-muted);font-style:italic}.docs-markdown img{max-width:100%;height:auto;border-radius:var(--r-sm)}.docs-empty{color:var(--text-faint);font-style:italic}.turn-empty{margin:6px 2px;color:var(--ink-3)}.turn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.turn-row{display:flex;align-items:center;gap:6px;padding:3px 4px 3px 2px;border-radius:var(--r-sm);position:relative}.turn-row:hover{background:var(--paper-2)}.turn-row.now{background:var(--accent-tint)}.turn-row.waiting .turn-init-input{box-shadow:inset 0 0 0 1px var(--amber-400)}.turn-row.now:before{content:"";position:absolute;left:-6px;top:5px;bottom:5px;width:3px;border-radius:2px;background:var(--accent)}.turn-row.now .turn-name{font-weight:700;color:var(--ink)}.turn-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}.initiative-panel input{background:transparent;color:var(--ink-2);border:1px solid transparent;border-radius:var(--r-xs);padding:2px 4px;outline:none;font:inherit}.turn-row:hover input{border-color:var(--rule)}.initiative-panel input:focus{border-color:var(--accent);background:var(--paper-3);color:var(--ink)}.turn-init-input{width:34px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-3)!important}.turn-who{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.turn-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.turn-face{width:26px;height:26px;border-radius:50%;flex:none;overflow:hidden;display:grid;place-items:center;font-size:var(--fs-2xs);font-weight:700;color:var(--ink-2);background:var(--night-700)}.turn-face img{width:100%;height:100%;object-fit:cover;transform:scale(1.16)}.turn-remove{width:20px;height:20px;border-radius:50%;color:var(--ink-4);font-size:var(--fs-lg);line-height:1;opacity:0}.turn-row:hover .turn-remove,.turn-remove:focus-visible{opacity:1}.turn-remove:hover{color:var(--danger);background:var(--red-tint)}.right-panel{position:fixed;top:14px;right:14px;bottom:16px;width:var(--dock-w);z-index:7;display:flex;flex-direction:column;color:var(--ink);font-size:var(--fs-base)}.right-panel--inner{border-radius:var(--r-lg);display:flex;flex-direction:column;height:100%;overflow:hidden}.right-tab-bar{display:flex;flex:none;align-items:center;gap:4px;padding:8px;border-bottom:var(--line)}.right-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;min-width:30px;padding:0 8px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em;color:var(--ink-3);border:1.5px solid transparent}.right-tab:hover{color:var(--ink);background:var(--paper-2)}.right-tab.active{color:var(--ink-on-red);background:var(--accent);border-color:transparent;padding:0 12px}.right-close{margin-left:auto;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3)}.right-close:hover{color:var(--ink);background:var(--paper-2)}.right-settings-btn{position:relative;margin-left:9px}.right-settings-btn:before{content:"";position:absolute;left:-5px;top:-8px;bottom:-8px;width:1px;background:var(--rule)}.right-settings-btn+.right-close{margin-left:2px}.dock-edge{position:fixed;top:14px;right:14px;z-index:7;display:flex;flex-direction:column;gap:2px;padding:5px;border-radius:var(--r-pill)}.dock-edge-btn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2)}.dock-edge-btn:hover{background:var(--accent);color:var(--ink-on-red)}.dock-edge-sep{height:1px;margin:4px 8px;background:var(--rule)}.your-settings input[type=range]{accent-color:var(--accent)}.ys-now{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-md);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.ys-now-text{min-width:0;display:grid;line-height:1.25}.ys-now-text b{font-size:var(--fs-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ys-now-text small{font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.ys-sub{margin:14px 0 0;font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.ys-volume{display:flex;align-items:center;gap:8px;margin:8px 0 4px}.ys-volume input{flex:1;min-width:0}.ys-weather-ic{width:32px;height:32px;flex:none;display:grid;place-items:center;color:var(--ink-3)}.ys-pct{width:44px;text-align:right;font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.ys-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0;font-size:var(--fs-base);color:var(--ink-2)}.chat-log{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.chat-log>*{flex-shrink:0}.chat-empty{color:var(--ink-3);margin:0}.chat-help-wrap{position:relative}.chat-help-close{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3)}.chat-help-close:hover{color:var(--ink);background:var(--control-hover)}.chat-help{display:grid;gap:12px;margin:0;padding:12px 14px;border-radius:var(--r-md);background:var(--paper-3);border:1px solid var(--rule);font-size:var(--fs-sm)}.chat-help h4{margin:0 0 6px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.chat-help dl{margin:0;display:grid;gap:6px}.chat-help dl div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:baseline}.chat-help dt code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--gold-300, #f3d48a);white-space:nowrap}.chat-help dd{margin:0;color:var(--ink-2);line-height:1.35}.chat-help>p{margin:0;font-size:var(--fs-xs);color:var(--ink-3)}.chat-composer{position:relative;flex:none;margin:6px 10px 10px}.chat-input{display:flex;align-items:center;gap:4px;padding:4px 4px 4px 14px;border-radius:var(--r-pill);background:var(--field);box-shadow:inset 0 0 0 1px var(--rule);transition:box-shadow .12s var(--ease-out)}.chat-input:focus-within{box-shadow:inset 0 0 0 1px var(--accent),0 0 0 3px var(--accent-tint)}.chat-input textarea{flex:1;min-width:0;height:34px;padding:8px 0;background:transparent;border:none;outline:none;color:var(--ink);font-size:var(--fs-base);font-family:var(--font-ui);line-height:18px;resize:none}.chat-input textarea::placeholder{color:var(--ink-4)}.chat-input.locked textarea,.chat-input.locked .send{opacity:.5}.chat-input textarea:disabled{cursor:not-allowed}.chat-icon-btn:disabled{cursor:not-allowed}.chat-icon-btn.send:disabled:hover{background:var(--accent)}.chat-icon-btn{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--ink-3);transition:background .12s var(--ease-out),color .12s var(--ease-out)}.chat-icon-btn:hover{background:var(--control-hover);color:var(--ink)}.chat-icon-btn.on{background:var(--accent-tint);color:var(--blue-400)}.chat-icon-btn.send{background:var(--accent);color:var(--ink-on-red)}.chat-icon-btn.send:hover{background:var(--accent-strong)}.dice-picker{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:3;display:grid;gap:10px;padding:10px 12px 12px;border-radius:var(--r-lg);background:var(--night-850);box-shadow:var(--shadow-pop),0 0 0 1px var(--rule)}.dice-picker-head{display:flex;align-items:center;justify-content:space-between;margin:-2px -4px -4px 0}.dice-picker-head b{font-size:var(--fs-sm);font-weight:600;color:var(--ink-3)}.dice-picker-head{gap:8px}.dice-look{display:flex;align-items:center;gap:8px;margin-left:auto}.dice-look-swatches{display:flex;gap:3px}.dice-swatch{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px #fff3}.dice-swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--night-850),0 0 0 3.5px var(--blue-400)}.dice-look-toggle{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:600;color:var(--ink-3);cursor:pointer}.dice-look-toggle input{accent-color:var(--accent);margin:0}.dice-picker-dice{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.dice-opt{height:34px;border-radius:var(--r-sm);background:var(--control);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.dice-opt:hover{background:var(--control-hover);color:var(--ink)}.dice-opt[aria-pressed=true]{background:var(--accent);color:var(--ink-on-red)}.dice-picker-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stepper small{display:block;margin-bottom:4px;font-size:var(--fs-xs);color:var(--ink-3)}.stepper-ctl{display:flex;align-items:center;height:32px;padding:2px;border-radius:var(--r-pill);background:var(--field);box-shadow:inset 0 0 0 1px var(--rule)}.stepper-ctl button{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2)}.stepper-ctl button:hover:not(:disabled){background:var(--control-hover);color:var(--ink)}.stepper-ctl button:disabled{opacity:.35;cursor:default}.stepper-ctl b{flex:1;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.dice-mode{display:flex;padding:2px;border-radius:var(--r-pill);background:var(--field);box-shadow:inset 0 0 0 1px var(--rule)}.dice-mode button{flex:1;height:28px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3)}.dice-mode button[aria-checked=true]{background:var(--control-hover);color:var(--ink)}.dice-roll{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;border-radius:var(--r-pill);background:var(--accent);color:var(--ink-on-red);font-weight:600}.dice-roll:hover{background:var(--accent-strong)}.dice-roll.adv{background:var(--green-500)}.dice-roll.adv:hover{background:var(--green-600)}.dice-roll.dis{background:var(--red-500)}.dice-roll.dis:hover{background:var(--red-600)}.chat-row{padding:8px 10px;border-radius:var(--r-md);line-height:1.5}.chat-row.text{display:grid;gap:2px}.chat-row-head{display:flex;align-items:baseline;gap:6px}.chat-row-head time{margin-left:auto;font-size:var(--fs-xs);color:var(--ink-4);font-variant-numeric:tabular-nums}.chat-row.system{text-align:center;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.chat-author{font-weight:700}.chat-gm-badge{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;color:var(--ink-on-red);background:var(--accent);padding:0 5px;border-radius:var(--r-xs)}.chat-text{color:var(--ink)}.inline-roll{display:inline-block;min-width:22px;padding:0 6px;margin:0 1px;border-radius:4px;text-align:center;cursor:help;font-weight:700;font-variant-numeric:tabular-nums;color:var(--gold-300, #f3d48a);background:#e2c27524;box-shadow:inset 0 0 0 1px #e2c27566}.inline-roll.nat20{color:#1a1206;background:var(--gold-400)}.inline-roll.nat1{color:var(--red-400);background:#ef444424;box-shadow:inset 0 0 0 1px #ef444473}.chat-whisper-tag{font-size:var(--fs-xs);font-weight:600;color:var(--whisper)}.slash-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:12;padding:6px;display:flex;flex-direction:column;gap:1px;border-radius:var(--r-md);background:var(--night-900)}.slash-menu .slash-row{width:100%;height:auto;justify-content:start;justify-items:start}.slash-row{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 10px;padding:7px 10px;border-radius:var(--r-sm);text-align:left;background:none;color:var(--ink)}.slash-row b{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--fs-sm);color:var(--gold-400)}.slash-args{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--fs-xs);color:var(--ink-4)}.slash-row small{grid-column:1 / -1;font-size:var(--fs-xs);color:var(--ink-3)}.slash-row.on{background:var(--control-hover)}.slash-keys{margin:4px 10px 2px;font-size:var(--fs-2xs);color:var(--ink-4)}.pill{pointer-events:auto;background:var(--paper);border:var(--line);border-radius:var(--r-pill);padding:6px 12px;font-size:var(--fs-sm);color:var(--ink-2);box-shadow:none}.pill strong{color:var(--ink);font-weight:600}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;vertical-align:1px;margin-right:6px}.dot.ok{background:var(--success)}.dot.warn{background:var(--warning)}.dot.err{background:var(--danger)}.peer-avatars{display:inline-flex;align-items:center;gap:4px}.peer-avatar{position:relative;width:30px;height:30px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45);-webkit-user-select:none;user-select:none}.peer-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.peer-avatar.gm{box-shadow:0 0 0 2px var(--night-900),0 0 0 3.5px var(--gold-400)}.selection-remove{position:absolute;z-index:6;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:var(--r-pill);background:var(--paper);color:var(--ink-2);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;box-shadow:var(--shadow-pop),0 0 0 1px var(--rule)}.selection-remove:hover{color:var(--red-400);box-shadow:var(--shadow-pop),0 0 0 1px #f8717180}.template-bar{position:absolute;z-index:6;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 6px;border-radius:var(--r-pill);background:var(--paper);color:var(--ink-2);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;box-shadow:var(--shadow-pop),0 0 0 1px var(--rule)}.template-bar-name{width:150px;height:28px;padding:0 12px;border-radius:var(--r-pill);background:var(--field);border:1px solid var(--field-border);color:var(--ink);font:inherit;font-weight:500}.template-bar-name:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.template-bar-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font:inherit}.template-bar-toggle:hover{color:var(--ink)}.template-bar-seen{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--r-pill);color:var(--ink-2);background:var(--control);font:inherit}.template-bar-seen:hover{color:var(--ink);background:var(--control-hover)}.template-bar-seen.on{color:var(--violet-400);background:#a78bfa29}.template-bar-sep{width:1px;height:20px;background:var(--rule)}.template-bar-label{color:var(--ink);padding-left:8px}.template-bar-remove{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:var(--r-pill);color:var(--ink-3);font:inherit}.template-bar-remove:hover{color:var(--red-400);background:var(--control-hover)}.selection-remove kbd{font:inherit;font-size:var(--fs-2xs);color:var(--ink-4)}.attack-hint{position:absolute;left:var(--toolbar-cx);bottom:92px;transform:translate(-50%);z-index:6;display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 16px;pointer-events:none;border-radius:var(--r-pill);background:var(--paper);color:var(--ink);white-space:nowrap;box-shadow:var(--shadow-panel),0 0 0 1px #f8717173}.attack-hint b{color:var(--red-400);font-weight:600}.attack-hint span{font-size:var(--fs-xs);color:var(--ink-3)}.attack-hint.door-note{box-shadow:var(--shadow-panel),0 0 0 1px var(--rule);color:var(--ink-2)}.zoom-indicator{position:absolute;left:14px;bottom:16px;z-index:6;display:flex;align-items:center;gap:2px;padding:4px;border-radius:var(--r-pill);-webkit-user-select:none;user-select:none}.zoom-indicator .zoom-pct{min-width:54px;height:30px;border-radius:var(--r-pill);text-align:center;font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.zoom-indicator .zoom-pct:hover{background:var(--control-hover);color:var(--ink)}.zoom-sep{width:1px;height:20px;margin:0 2px;background:var(--rule)}.zoom-indicator .zoom-btn{width:30px;height:30px;padding:0;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--ink);cursor:pointer;font-size:var(--fs-lg);line-height:1}.zoom-indicator .zoom-btn:hover{background:var(--paper-2)}.door-controls{position:absolute;left:var(--toolbar-cx);bottom:92px;transform:translate(-50%);z-index:7;border-radius:var(--r-lg);padding:10px 12px;min-width:260px;display:flex;flex-direction:column;gap:8px;font-size:var(--fs-base)}.door-controls-head{display:flex;align-items:center;gap:8px}.door-controls-title{flex:1;font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);color:var(--ink)}.door-controls-pill{font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:var(--r-pill);border:1.5px solid currentColor}.door-controls-pill.open{color:var(--success)}.door-controls-pill.closed{color:var(--warning)}.door-controls-pill.locked{color:var(--danger)}.door-controls-del{background:transparent;border:1.5px solid var(--rule);color:var(--ink-3);padding:4px 6px;border-radius:var(--r-sm);cursor:pointer}.door-controls-del:hover{color:var(--danger);border-color:var(--danger);background:var(--accent-tint)}.door-controls-row{display:flex;gap:6px}.door-state-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border:1px solid var(--edge);border-radius:var(--r-pill);background:var(--paper);color:var(--ink-2);cursor:pointer;font:inherit;font-size:var(--fs-sm);font-weight:600}.door-state-btn:hover{background:var(--paper-2);color:var(--ink)}.door-state-btn.active{background:var(--accent);color:var(--ink-on-red)}.door-state-icon{display:inline-flex}.init-all-in{align-self:center;font-size:var(--fs-xs);color:var(--ink-3);padding:0 6px}.door-secret{display:inline-flex;align-items:center;gap:8px;padding:4px 2px;background:none;border:0;color:var(--ink-2);font:inherit;font-size:var(--fs-sm);cursor:pointer;text-align:left}.door-secret:hover{color:var(--ink)}.door-controls-note{margin:0;font-size:var(--fs-sm);color:var(--ink-3)}@media(max-width:900px){.workspace,.workspace.dock-open{--dock-shift: 0px;--toolbar-cx: 50vw}.right-panel{top:auto;left:8px;right:8px;bottom:8px;width:auto;height:55vh}.workspace.dock-open .tool-dock{display:none}.scene-title{max-width:200px}.zoom-indicator{display:none}}.turn-strip{top:14px;left:calc(var(--brand-w, 300px) + 12px + (100vw - var(--brand-w, 300px) - 12px - var(--dock-right)) / 2);transform:translate(-50%);gap:14px;padding:8px 8px 8px 14px;border-radius:var(--r-lg);max-width:calc(100vw - var(--brand-w, 300px) - 12px - var(--dock-right) - 12px);transition:left .2s var(--ease-out);--party: var(--teal-400);--hostile: var(--red-500)}.turn-strip.empty{padding:6px 6px 6px 14px;gap:10px}.ts-empty{color:var(--ink-3);font-weight:600;white-space:nowrap}.ts-round{display:grid;justify-items:center;line-height:1;gap:3px}.ts-round small{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mist-500)}.ts-round b{font-size:var(--fs-xl);font-weight:700;font-variant-numeric:tabular-nums}.ts-queue{display:flex;align-items:center;gap:8px;padding:9px 12px;min-width:0;flex:0 1 auto;overflow:hidden;border-radius:var(--r-pill);background:var(--field);box-shadow:inset 0 0 0 1px var(--rule)}.ts-queue.clipped{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent)}.turn-strip>:not(.ts-queue):not(.ts-label){flex:none}.turn-strip .ts-queue{flex:1 1 auto;min-width:190px}.turn-strip .ts-label{flex:0 1 auto;min-width:0;overflow:hidden}.turn-strip .ts-label b,.turn-strip .ts-label small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.medal{position:relative;width:34px;height:34px;flex:none;border-radius:50%;padding:3px;background:var(--ring);cursor:default;outline-offset:4px;transition:width .25s var(--ease-out),height .25s var(--ease-out),opacity .25s var(--ease-out)}.medal.party{--ring: var(--party)}.medal.hostile{--ring: var(--hostile)}.medal.neutral{--ring: var(--mist-600)}.medal .face{width:100%;height:100%;border-radius:50%;overflow:hidden;display:grid;place-items:center;font-size:var(--fs-xs);font-weight:700;color:var(--mist-100);background:var(--night-700);border:2px solid var(--night-900)}.medal .art{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;transform:scale(1.16);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.medal.now{box-shadow:0 0 10px 1px color-mix(in srgb,var(--ring) 70%,transparent)}.medal:hover,.medal:focus-visible{opacity:1!important}.ts-tip{position:absolute;top:calc(100% + 8px);transform:translate(-50%);z-index:2;display:grid;gap:1px;padding:7px 10px;border-radius:10px;white-space:nowrap;text-align:left;background:var(--night-850);box-shadow:var(--shadow-panel),0 0 0 1px var(--rule);pointer-events:none;animation:ts-tip-in .12s var(--ease-out) .15s both}.ts-tip:before{content:"";position:absolute;top:-5px;left:50%;width:10px;height:10px;background:var(--night-850);transform:translate(-50%) rotate(45deg);box-shadow:-1px -1px 0 0 var(--rule)}.ts-tip b{font-size:var(--fs-sm);font-weight:600;color:var(--mist-100)}.ts-tip small{font-size:var(--fs-xs);color:var(--mist-500);display:flex;align-items:center;gap:6px}.ts-tip small i{width:7px;height:7px;border-radius:50%;background:var(--ring)}@keyframes ts-tip-in{0%{opacity:0;translate:0 -4px}}.wrap-mark{display:grid;justify-items:center;gap:2px;padding:0 2px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;color:var(--mist-600)}.wrap-mark:before{content:"";width:1px;height:16px;background:var(--rule)}.ts-more{font-size:var(--fs-xs);font-weight:700;color:var(--mist-500);padding:0 2px}.ts-label{line-height:1.25}.ts-label b{display:block;font-size:var(--fs-md);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.ts-label small{color:var(--mist-500);font-size:var(--fs-sm);white-space:nowrap}.ts-label small span{color:var(--mist-300)}.ts-end{height:38px;padding:0 18px;white-space:nowrap;border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:8px;font-weight:600;background:var(--accent);color:#fff;transition:background .12s var(--ease-out)}.ts-end:hover{background:var(--blue-600)}.ts-end.secondary{background:var(--control);color:var(--ink)}.ts-stop{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;margin-left:-8px;color:var(--ink-3);background:var(--control);transition:background .12s var(--ease-out),color .12s var(--ease-out)}.ts-stop:hover{background:#e5484d29;color:var(--red-400)}.ts-end.secondary:hover{background:var(--control-hover)}.medal .init-badge{position:absolute;left:50%;bottom:-7px;transform:translate(-50%);min-width:18px;height:15px;padding:0 4px;border-radius:var(--r-pill);display:grid;place-items:center;font-size:var(--fs-2xs);font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--mist-100);background:var(--night-900);box-shadow:0 0 0 1.5px var(--ring)}.medal.pending{background:transparent;padding:1px;border:2px dashed var(--ring)}.medal.pending .face{filter:grayscale(.7) brightness(.65)}.medal.pending .init-badge{color:var(--amber-400);box-shadow:0 0 0 1.5px var(--amber-400)}@media(max-width:1100px){.turn-strip .ts-label{display:none}}@media(max-width:900px){.turn-strip{top:64px;left:50%}}.token-bar-anchor{position:absolute;z-index:6;transform:translateY(-50%)}.token-bar{display:flex;align-items:center;gap:2px;padding:4px;white-space:nowrap;border-radius:var(--r-pill);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-panel),0 0 0 1px var(--rule);cursor:default}.tb-hp{display:flex;align-items:center;gap:2px;padding:0 4px}.tb-hp b{min-width:52px;text-align:center;font-variant-numeric:tabular-nums;font-size:var(--fs-base);font-weight:600}.tb-hp b span{color:var(--mist-500);font-weight:500}.q-btn{height:30px;min-width:30px;padding:0 10px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;color:var(--mist-300);transition:background .12s var(--ease-out),color .12s var(--ease-out)}.q-btn svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.q-btn:hover:not(:disabled){background:var(--control-hover);color:var(--mist-100)}.q-btn:disabled{opacity:.4;cursor:not-allowed}.q-btn.icon{padding:0}.q-btn[aria-expanded=true]{background:var(--control-hover);color:var(--mist-100)}.q-btn .count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:var(--fs-xs);display:inline-grid;place-items:center;background:#a78bfa33;color:var(--violet-400)}.q-sep{width:1px;height:18px;background:var(--rule);margin:0 2px}.q-state{margin:0 4px}.q-conds{display:inline-flex;gap:4px;padding:0 6px 0 2px}.q-cond{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--cc);background:color-mix(in srgb,var(--cc) 14%,transparent)}.state-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;color:var(--sc, var(--mist-300));background:color-mix(in srgb,var(--sc, var(--mist-500)) 13%,transparent)}.state-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.cpicker{position:absolute;z-index:20;width:300px;padding:10px;border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-panel),0 0 0 1px var(--rule);cursor:default;white-space:normal}.cpicker h4{margin:2px 4px 8px;font-size:var(--fs-sm);font-weight:600;color:var(--mist-500);display:flex;justify-content:space-between;gap:8px}.cpicker h4 span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.copt{display:grid;justify-items:center;gap:4px;padding:8px 4px 6px;border-radius:10px;font-size:var(--fs-xs);font-weight:600;color:var(--mist-500);transition:background .12s var(--ease-out),color .12s var(--ease-out)}.copt .cond-icon{color:var(--cc);opacity:.75}.copt:hover{background:var(--control);color:var(--mist-100)}.copt[aria-pressed=true]{background:color-mix(in srgb,var(--cc) 16%,transparent);color:var(--mist-100);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cc) 50%,transparent)}.copt[aria-pressed=true] .cond-icon{opacity:1}.cpicker-bar{top:calc(100% + 8px);left:0}.cpicker-bar.flip{left:auto;right:0}.cpicker-bar.up{top:auto;bottom:calc(100% + 8px)}.cpicker-sheet{top:calc(100% + 8px);left:0}.limited-note{margin:12px 0 4px;padding:10px 12px;border-radius:var(--r-md);background:var(--night-850);color:var(--mist-500);font-size:var(--fs-sm)}.cond-chips{position:relative;display:flex;flex-wrap:wrap;gap:6px}.cchip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 7px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;background:color-mix(in srgb,var(--cc) 14%,transparent);color:var(--cc)}.cchip.none{--cc: var(--mist-500);padding:0 10px;background:var(--control)}.cchip.add{--cc: var(--mist-300);padding:0 10px 0 8px;background:var(--control)}.cchip.add:hover,.cchip.add[aria-expanded=true]{background:var(--control-hover);color:var(--mist-100)}.cchip .rule{position:absolute;left:0;width:240px;top:calc(100% + 8px);z-index:3;padding:8px 10px;border-radius:10px;background:var(--night-850);box-shadow:var(--shadow-panel),0 0 0 1px var(--rule);color:var(--mist-300);font-weight:500;line-height:1.4;white-space:normal;opacity:0;pointer-events:none;transition:opacity .12s}.cchip .rule b{display:block;color:var(--mist-100);margin-bottom:2px}.cchip:hover .rule,.cchip:focus-visible .rule{opacity:1}.cchip.menu-open .rule{opacity:0}.init-tab{flex:1;min-height:0;overflow-y:auto;padding:14px 16px}.init-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.init-round{display:grid;justify-items:center;line-height:1;gap:3px;min-width:40px}.init-round small{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mist-500)}.init-round b{font-size:var(--fs-xl);font-weight:700;font-variant-numeric:tabular-nums}.init-controls{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.init-visible{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:var(--ink-3);font-size:var(--fs-sm);cursor:pointer}.init-tab .turn-list{margin:0 0 0 6px}.dock-top{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.dock-top>*{flex:1 1 auto;min-height:0}.dock-chat{flex:0 0 auto;height:36%;min-height:200px;max-height:380px;display:flex;flex-direction:column;border-top:1px solid var(--edge);background:#070e15;box-shadow:0 -10px 24px #00000059}.dock-chat.collapsed{height:auto;min-height:0}.dock-chat{position:relative}.dock-chat.full{flex:1 1 auto;height:auto;min-height:0;max-height:none;border-top:0;box-shadow:none}.right-panel--inner:has(.dock-chat.full:not([hidden])) .dock-top{display:none}.dock-chat[hidden]{display:none}.right-tab-badge{position:absolute;top:6px;right:6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;display:grid;place-items:center;font-size:var(--fs-2xs);font-weight:700;line-height:1;color:#fff;background:var(--red-500)}.right-tab{position:relative}.chat-resize{position:absolute;left:0;right:0;top:-5px;height:10px;z-index:2;cursor:ns-resize;touch-action:none}.chat-resize:after{content:"";position:absolute;left:50%;top:3px;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--mist-600);opacity:0;transition:opacity .12s var(--ease-out)}.chat-resize:hover:after,body.resizing-chat .chat-resize:after{opacity:1}body.resizing-chat{cursor:ns-resize;-webkit-user-select:none;user-select:none}.chat-collapse+.chat-collapse{margin-left:0}.dock-chat-head{display:flex;align-items:center;gap:4px;padding:8px 10px 4px 12px}.chat-filters{display:flex;gap:4px}.chat-filter{height:28px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3)}.chat-filter:hover{color:var(--ink)}.chat-filter.active{background:var(--control);color:var(--ink)}.chat-collapse{margin-left:auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3)}.chat-collapse:hover{background:var(--control-hover);color:var(--ink)}.dock-chat .chat-log{padding:6px 12px 10px}.fx-chip{position:relative;padding-right:4px}.fx-chip .rule{white-space:normal}.fx-chip .rule em{display:block;margin-top:4px;font-style:normal;opacity:.7}.fx-chip:hover .rule,.fx-chip:focus-visible .rule{opacity:1}.fx-remove{display:inline-grid;place-items:center;width:20px;height:20px;margin-left:2px;border-radius:50%;color:inherit;opacity:.7;background:transparent}.fx-remove:hover,.fx-remove:focus-visible{opacity:1;background:color-mix(in srgb,var(--cc) 22%,transparent)}.fx-boosted{color:#f5c542}.fx-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.fx-preset{display:grid;gap:2px;text-align:left;padding:8px 10px;border-radius:var(--r-md);background:var(--control);color:var(--mist-300);border:1px solid transparent}.fx-preset b{color:var(--mist-100);font-size:var(--fs-sm)}.fx-preset small{font-size:var(--fs-xs);line-height:1.35;color:var(--mist-500)}.fx-preset:hover{background:var(--control-hover)}.fx-preset[aria-checked=true]{border-color:var(--accent);background:var(--accent-tint)}.fx-custom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-top:12px}.fx-field{display:grid;gap:3px;font-size:var(--fs-xs);color:var(--mist-500)}.fx-field input{width:100%}.fx-targets{display:flex;flex-wrap:wrap;gap:4px 14px;margin:14px 0 0;padding:0;border:0}.fx-targets legend{width:100%;margin-bottom:6px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mist-500)}.fx-target{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--mist-300)}.fx-conc{margin-top:12px}.fx-chip.fx-item{padding-right:10px;border:1px dashed color-mix(in srgb,var(--cc) 55%,transparent)}.char-panel{display:flex;flex-direction:column;overflow:hidden}.cp-head{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:flex-start;padding:16px 16px 12px}.cp-portrait{width:72px;height:72px;border-radius:50%;overflow:hidden;display:grid;place-items:center;font-size:var(--fs-2xl);font-weight:700;color:var(--ink);background:var(--night-700);box-shadow:0 0 0 3px var(--night-900),0 0 0 5px var(--ring, var(--teal-400))}.cp-portrait img{width:100%;height:100%;object-fit:cover;transform:scale(1.14)}.cp-ident{min-width:0}.cp-name-row{display:flex;align-items:center;gap:6px}.cp-name-row h2{margin:0;font-size:var(--fs-xl);font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-ident p{margin:2px 0 8px;color:var(--ink-2);font-size:var(--fs-sm)}.cp-icon-btn{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3);transition:background .12s var(--ease-out),color .12s var(--ease-out)}.cp-icon-btn:hover:not(:disabled){background:var(--control-hover);color:var(--ink)}.cp-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cp-hp{display:flex;align-items:center;gap:10px}.cp-hp b{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:var(--fs-base)}.cp-hp b span{color:var(--ink-3);font-weight:500}.cp-temp{font-style:normal;color:var(--blue-400);font-weight:600}.cp-bar{flex:1;height:8px;border-radius:4px;background:#94b2cc24;overflow:hidden}.cp-bar i{display:block;height:100%;border-radius:inherit;background:var(--teal-400);transition:width .2s var(--ease-out)}.cp-bar.low i{background:var(--amber-400)}.cp-bar.crit i{background:var(--red-500)}.cp-state{display:flex;align-items:center;gap:10px}.cp-state small{color:var(--ink-3)}.cp-muted{margin:4px 0;color:var(--ink-3);font-size:var(--fs-sm)}.cp-tabs{display:flex;justify-content:space-between;gap:8px;padding:0 16px;border-bottom:1px solid var(--rule);flex:none}.cp-tab{height:36px;position:relative;white-space:nowrap;color:var(--ink-3);font-weight:600;font-size:var(--fs-base)}.cp-tab:hover,.cp-tab.active{color:var(--ink)}.cp-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--blue-400)}.cp-body{flex:1;min-height:0;overflow-y:auto;padding:14px 16px 28px;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent);display:flex;flex-direction:column;gap:14px;scrollbar-width:thin}.char-panel.limited .cp-body{padding-top:4px}.cp-section{display:flex;flex-direction:column;gap:8px}.cp-section>.btn{align-self:flex-start}.cp-h{margin:0;font-size:var(--fs-base);font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:baseline;gap:8px}.cp-h small{font-size:var(--fs-xs);font-weight:500;color:var(--ink-4)}.cp-abilities{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.cp-ab{display:grid;justify-items:center;gap:1px;padding:8px 0 7px;border-radius:var(--r-md);background:var(--night-850);transition:background .12s var(--ease-out)}.cp-ab:hover{background:var(--paper-2)}.cp-ab small{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;color:var(--ink-3)}.cp-ab b{font-size:var(--fs-xl);font-weight:600;font-variant-numeric:tabular-nums}.cp-ab span{font-size:var(--fs-xs);font-weight:600;color:var(--ink-2);padding:0 6px;border-radius:6px;background:var(--control)}.cp-vitals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:var(--r-md);background:var(--night-850)}.cp-vital{display:flex;align-items:center;gap:10px;padding:10px 12px;text-align:left;color:var(--ink-2)}.cp-vital+.cp-vital{border-left:1px solid var(--rule)}button.cp-vital{border-radius:0;transition:background .12s var(--ease-out)}button.cp-vital:hover:not(:disabled){background:var(--paper-2)}.cp-vital small{display:block;font-size:var(--fs-xs);color:var(--ink-3)}.cp-vital b{font-size:var(--fs-xl);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.cp-vital b span{font-size:var(--fs-sm);color:var(--ink-3);font-weight:500}.cp-health{display:flex;align-items:center;gap:6px}.cp-health .cp-amount{width:76px;height:30px;padding:0 8px;border-radius:var(--r-sm);background:var(--field);border:1px solid var(--field-border);color:var(--ink)}.cp-health .cp-amount:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.cp-health .btn.cp-dmg{color:var(--red-400);background:#ef444424;border-color:transparent}.cp-health .btn.cp-dmg:hover{background:#ef44443d}.cp-health .btn.cp-heal{color:var(--success);background:#4ade801f;border-color:transparent}.cp-health .btn.cp-heal:hover{background:#4ade8033}.cp-head-health{padding:0 16px 12px;margin-top:-2px}.cp-head-actions{margin-left:auto;display:inline-flex;align-items:center;gap:2px}.cp-inspire{min-width:28px;height:28px;padding:0 6px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:3px;color:var(--ink-3);font-size:var(--fs-base)}.cp-inspire:hover{color:var(--ink);background:var(--control-hover)}.cp-inspire.on{color:#1a1206;background:var(--gold-400)}.cp-inspire b{font-size:var(--fs-xs);font-weight:700}.cp-rest{position:relative;display:inline-flex}.cp-rest-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:220px}.cp-rest-menu button:before{display:none}.cp-rest-menu button{flex-direction:column;align-items:flex-start;gap:1px;white-space:nowrap}.cp-rest-menu small{display:block;color:var(--ink-3);font-size:var(--fs-xs);font-weight:400}.cp-saves{display:grid;grid-template-columns:auto repeat(6,minmax(0,1fr));align-items:center;gap:4px;margin-top:-6px}.cp-saves>small{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-right:4px}.cp-save{height:24px;border-radius:6px;font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-2);background:var(--control);position:relative}.cp-save:hover{color:var(--ink);background:var(--control-hover)}.cp-save.prof{color:var(--ink);box-shadow:inset 0 0 0 1px var(--gold-400)}.cp-passives{margin:-4px 0 0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--fs-xs);color:var(--ink-3)}.cp-passives b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.cp-feature-text{display:block}.cp-feature.open .cp-feature-text{white-space:pre-wrap}.cp-uses{flex:none;display:inline-flex;align-items:center;gap:4px;margin-right:8px}.cp-uses>small{font-size:var(--fs-2xs);font-weight:700;color:var(--ink-3);margin-left:2px}.cp-uses b{font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}.cp-uses b span{color:var(--ink-3);font-weight:500}.cp-use{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink-3)}.cp-use.on{background:var(--gold-400);box-shadow:none}.cp-use:not(:disabled):hover{box-shadow:inset 0 0 0 1.5px var(--ink)}.cp-temp-field{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--ink-3)}.cp-temp-field input::placeholder,.cp-health .cp-amount::placeholder{color:var(--ink-4)}.cp-temp-field input{width:44px;height:30px;text-align:center;border-radius:var(--r-sm);background:var(--field);border:1px solid var(--field-border);color:var(--ink)}.cp-death{display:grid;gap:6px}.cp-death-row{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--ink-2)}.cp-death-row span{flex:1}.cp-pip{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor}.cp-pip.good{color:var(--teal-400)}.cp-pip.bad{color:var(--red-400)}.cp-pip.on{background:currentColor}.cp-actions{display:flex;flex-direction:column}.cp-action{display:flex;align-items:center;gap:4px;border-radius:var(--r-md)}.cp-action+.cp-action{border-top:1px solid var(--rule)}.cp-action:hover{background:var(--control)}.cp-action.armed{background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--accent)}.cp-action-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:8px 6px;text-align:left}.cp-action-ic{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--night-850);color:var(--ink)}.cp-action.armed .cp-action-ic{background:var(--accent);color:#fff}.cp-action-text{min-width:0}.cp-action-text b{display:block;font-weight:600}.cp-action-text small{color:var(--ink-3);font-size:var(--fs-sm)}.cp-action-text u{color:var(--ink-2);text-decoration-color:#94b2cc66;text-underline-offset:2px}.cp-action .cp-icon-btn{margin-right:4px}.cp-settings{border-radius:var(--r-md);background:var(--night-850);padding:0 12px}.cp-settings summary{cursor:pointer;padding:10px 0;font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);list-style:none}.cp-settings summary::-webkit-details-marker{display:none}.cp-settings summary:after{content:"▸";float:right;color:var(--ink-4)}.cp-settings[open] summary:after{content:"▾"}.cp-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-bottom:10px}.cp-num{display:grid;gap:3px;font-size:var(--fs-xs);color:var(--ink-3)}.cp-check{display:flex;align-items:center;gap:8px;align-self:end;height:34px;font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer}.cp-check input{accent-color:var(--accent)}.rests{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rests-gap{flex:1}.inspiration{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3);background:var(--control)}.inspiration:hover{color:var(--ink);background:var(--control-hover)}.inspiration.on{color:#1a1206;background:var(--gold-400)}.cp-aura{display:flex;align-items:end;gap:10px;margin-bottom:8px}.cp-aura .cp-num{width:90px}.cp-aura-colours{display:flex;gap:6px;padding-bottom:7px}.cp-aura-remove{margin-left:auto;margin-bottom:6px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3)}.cp-aura-remove:hover{color:var(--ink);background:var(--control-hover)}.cp-faces{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.cp-face{position:relative}.cp-face-pick{display:block;width:48px;height:48px;padding:0;border-radius:50%;overflow:hidden;background:var(--control);box-shadow:0 0 0 1px var(--field-border);cursor:pointer}.cp-face-pick img{width:100%;height:100%;object-fit:cover;display:block}.cp-face-pick[aria-checked=true]{box-shadow:0 0 0 2px var(--night-900),0 0 0 4px var(--gold-400)}.cp-face-remove{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--night-900);color:var(--ink-3);box-shadow:0 0 0 1px var(--field-border)}.cp-face-remove:hover{color:var(--ink)}.cp-faces-hint{margin:0 0 8px;font-size:var(--fs-xs)}.cp-xbars{display:grid;gap:4px;margin-top:6px}.cp-xbar-line{display:flex;align-items:center;gap:10px;font-size:var(--fs-xs)}.cp-xbar-track{flex:1;height:5px;border-radius:3px;background:#94b2cc24;overflow:hidden}.cp-xbar-track i{display:block;height:100%;border-radius:inherit}.cp-hp b,.cp-xbar-line b{min-width:96px;text-align:right}.cp-xbar-line b{white-space:nowrap;font-variant-numeric:tabular-nums;max-width:140px;overflow:hidden;text-overflow:ellipsis}.cp-xbar-line b span{color:var(--ink-3);font-weight:500}.cp-xbar{display:grid;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:var(--line)}.cp-xbar-row{display:flex;align-items:center;gap:6px}.cp-xbar-row .cp-aura-colours{padding-bottom:0}.cp-xbar-row .cp-aura-remove{margin-bottom:0}.cp-xbar-label,.cp-xbar-num{height:30px;padding:0 8px;border-radius:var(--r-sm);background:var(--field);border:1px solid var(--field-border);color:var(--ink);font:inherit;font-size:var(--fs-sm)}.cp-xbar-label{flex:1;min-width:0}.cp-xbar-num{width:48px;text-align:center;padding:0 4px}.cp-xbar-step{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);background:var(--control)}.cp-xbar-step:hover:not(:disabled){color:var(--ink);background:var(--control-hover)}.cp-xbar-step:disabled{opacity:.4}.cp-xbar-of{font-size:var(--fs-xs);color:var(--ink-3)}.cp-xbar-shown{height:auto;margin-left:8px;font-size:var(--fs-xs)}.cp-num input,.cp-owner select{height:30px;padding:0 8px;border-radius:var(--r-sm);background:var(--field);border:1px solid var(--field-border);color:var(--ink);font:inherit}.cp-owner{display:grid;gap:3px;font-size:var(--fs-xs);color:var(--ink-3);padding-bottom:12px}.cp-rows{display:flex;flex-direction:column}.cp-rows.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8px}.cp-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-sm);text-align:left;font-size:var(--fs-base);color:var(--ink-2)}button.cp-row:hover{background:var(--control);color:var(--ink)}.cp-row span{flex:1;min-width:0}.cp-row span small{font-size:var(--fs-2xs);color:var(--ink-4);margin-left:4px;letter-spacing:.04em}.cp-row b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.cp-note{color:var(--ink-4);font-size:var(--fs-xs);max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-spell span{display:grid}.cp-spell .cp-note{max-width:none;margin-left:0}.cp-cast{flex:none;height:26px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;background:var(--accent-tint);color:var(--blue-400);transition:background .12s var(--ease-out),color .12s var(--ease-out)}.cp-cast:hover:not(:disabled){background:var(--accent);color:var(--ink-on-red)}.cp-cast:disabled{background:var(--control);color:var(--ink-4);cursor:not-allowed}.cp-prof{flex:none;width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink-4)}.cp-prof.on{background:var(--blue-400);box-shadow:none}.cp-prof.expert{background:var(--gold-400);box-shadow:0 0 0 2px #e2c27540}.cp-spell-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cp-spell-meta>div{padding:8px 12px;border-radius:var(--r-md);background:var(--night-850)}.cp-spell-meta small{display:block;font-size:var(--fs-xs);color:var(--ink-3)}.cp-spell-meta b{font-size:var(--fs-xl);font-weight:600}.cp-slots{display:flex;flex-direction:column;gap:6px}.cp-slot-row{display:flex;align-items:center;gap:10px;font-size:var(--fs-sm);color:var(--ink-2)}.cp-slot-row>span{width:56px}.cp-slot-row b{margin-left:auto;font-variant-numeric:tabular-nums}.cp-slot-pips{display:flex;gap:6px}.cp-slot-pip{width:14px;height:14px;border-radius:50%;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--rule)}.cp-slot-pip.on{background:var(--blue-400);box-shadow:0 0 6px #5b9bff80}.cp-slot-pip:disabled{cursor:default}.cp-coins{display:flex;flex-wrap:wrap;gap:6px}.cp-coin{padding:4px 10px;border-radius:var(--r-pill);background:var(--night-850);font-size:var(--fs-sm);color:var(--ink-3);text-transform:uppercase}.cp-coin b{color:var(--ink);font-size:var(--fs-base)}.cp-coin.gp b{color:var(--gold-400)}.docs-image-btn{display:block;width:100%;padding:0;cursor:zoom-in;border-radius:var(--r-md)}.docs-markdown img{cursor:zoom-in}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:48px 32px 64px;background:#03070ce0;cursor:zoom-out}.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--r-md);box-shadow:var(--shadow-modal);cursor:default}.lightbox-caption{position:absolute;left:0;right:0;bottom:20px;margin:0;text-align:center;font-size:var(--fs-md);font-weight:600;color:var(--ink-2)}.lightbox-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--ink);background:var(--control)}.lightbox-close:hover{background:var(--control-hover)}.dice3d{position:fixed;top:0;left:0;bottom:0;right:var(--dock-right);z-index:6;pointer-events:none}.dice3d-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.dice3d-labels{position:absolute;top:0;right:0;bottom:0;left:0}.chat-rolling-die{display:inline-grid;color:var(--blue-400);animation:chat-die-spin 1s linear infinite}@keyframes chat-die-spin{to{transform:rotate(360deg)}}.canvas-text-edit{position:absolute;z-index:6;margin:0;padding:0 2px;box-sizing:content-box;font-family:var(--font-ui);font-weight:600;white-space:pre;overflow:hidden;resize:none;background:#07090b59;border:1px dashed var(--accent);border-radius:2px;outline:none;caret-color:var(--accent);text-shadow:0 0 2px rgba(0,0,0,.9),0 0 4px rgba(0,0,0,.6)}.canvas-text-edit::placeholder{color:var(--ink-3)}.marquee{position:absolute;z-index:5;pointer-events:none;border-radius:4px;border:1.5px dashed var(--blue-400);background:#3b82f61a}.ping{position:absolute;z-index:5;width:0;height:0;pointer-events:none;--ping: var(--blue-400)}.ping i{position:absolute;left:-10px;top:-10px;width:20px;height:20px;border-radius:50%;border:2.5px solid var(--ping);box-shadow:0 0 12px var(--ping);animation:ping-ripple 1.3s cubic-bezier(.2,.7,.3,1) both}.ping i:nth-child(2){animation-delay:.35s}.ping i:nth-child(3){animation-delay:.7s}.ping:before{content:"";position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--ping);box-shadow:0 0 0 2px var(--night-950);animation:ping-dot 2.6s ease both}.ping-name{position:absolute;left:14px;top:-30px;padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap;font-size:var(--fs-xs);font-weight:700;color:var(--ink);background:#070d13e0;box-shadow:inset 0 0 0 1.5px var(--ping);animation:ping-dot 2.6s ease both}@keyframes ping-ripple{0%{transform:scale(.4);opacity:1}to{transform:scale(4.2);opacity:0}}@keyframes ping-dot{0%,75%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.ping i{animation:none;opacity:.8;transform:scale(2)}}.attack-hint.group-hint{pointer-events:auto;padding-right:6px}.group-hint button{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);background:var(--control)}.group-hint button:hover{background:#e5484d29;color:var(--red-400)}.group-hint kbd{font:inherit;font-size:var(--fs-2xs);color:var(--ink-4)}.dice-roll-row{display:flex;align-items:center;gap:8px}.dice-roll-row .dice-roll{flex:1}.dice-hidden{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 10px;flex:none;cursor:pointer;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3);background:var(--control)}.dice-hidden:has(input:checked){color:var(--violet-400);background:#a78bfa29}.dice-hidden input{accent-color:var(--violet-400);margin:0}.chat-hidden-tag{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:700;color:var(--violet-400);background:#a78bfa24}.chat-row.hidden-roll{display:flex;align-items:center;gap:8px;color:var(--ink-3)}.chat-row.hidden-roll b{font-weight:700}.char-group{margin:4px 0 0;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.lib-portrait.pc{box-shadow:0 0 0 2px var(--night-900),0 0 0 3.5px var(--party)}.lib-row.placed .lib-row-text small{color:var(--teal-400)}.char-place{flex:none;display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 9px;margin-right:2px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;color:var(--ink-2);background:var(--control)}.char-place:hover{background:var(--accent-tint);color:var(--blue-400)}.char-new{display:flex;gap:10px;padding:10px;border-radius:var(--r-md);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.char-new-portrait{width:52px;height:52px;border-radius:50%;flex:none;overflow:hidden;display:grid;place-items:center;color:var(--ink-3);background:var(--field);box-shadow:inset 0 0 0 1px var(--rule)}.char-new-portrait:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--blue-400)}.char-new-portrait img{width:100%;height:100%;object-fit:cover}.char-new-fields{flex:1;min-width:0;display:grid;gap:6px}.char-new-fields input,.char-new-fields select{width:100%;height:32px;padding:0 10px;border-radius:var(--r-sm);outline:none;background:var(--field);color:var(--ink);border:1px solid var(--field-border);font-size:var(--fs-base)}.char-new-fields input:focus,.char-new-fields select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.char-open{flex:none;width:30px;height:30px;margin-right:4px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3)}.char-open:hover{background:var(--control-hover);color:var(--ink)}.chat-row.card{display:grid;gap:6px;padding:4px 2px}.msg-h{display:flex;align-items:baseline;gap:6px}.msg-h b{font-weight:700}.msg-h time{margin-left:auto;font-size:var(--fs-xs);color:var(--ink-4);font-variant-numeric:tabular-nums}.roll-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);background:var(--night-850)}.roll-card .die{width:38px;height:38px;display:grid;place-items:center;background:var(--paper-2);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}.roll-card .die b{font-size:var(--fs-md);font-weight:700;font-variant-numeric:tabular-nums}.roll-what{min-width:0;display:grid}.roll-what b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roll-what small{font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roll-card.nat20{box-shadow:inset 0 0 0 1px #4ade8059;background:linear-gradient(100deg,rgba(22,163,74,.16),var(--night-850) 60%)}.roll-card.nat20 .die{background:var(--green-500);color:#fff}.roll-card.nat1{box-shadow:inset 0 0 0 1px #f8717159;background:linear-gradient(100deg,rgba(229,72,77,.14),var(--night-850) 60%)}.roll-card.nat1 .die{background:var(--red-500);color:#fff}.verdict{padding:3px 8px;border-radius:6px;white-space:nowrap;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em}.verdict.hit{color:var(--teal-400);background:#2dd4bf24}.verdict.crit{color:var(--green-400);background:#16a34a2e}.verdict.miss{color:var(--ink-3);background:var(--control)}.applied{display:flex;align-items:center;gap:8px;padding:0 4px;font-size:var(--fs-sm);color:var(--ink-2)}.applied svg{flex:none;color:var(--red-400)}.applied b{color:var(--red-400);font-variant-numeric:tabular-nums}.applied small{color:var(--ink-4);font-size:var(--fs-xs)}.applied-temp{color:var(--amber-400)}.applied-hp,.applied-state{margin-left:auto;white-space:nowrap}.dmg-actions{display:flex;align-items:center;gap:4px;padding:0 4px}.dmg-actions-label{margin-right:auto;font-size:var(--fs-xs);color:var(--ink-4)}.dmg-actions button{height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;color:var(--ink-3);background:var(--control)}.dmg-actions button:hover:not(:disabled){color:var(--ink);background:var(--control-hover)}.dmg-actions button:disabled{opacity:.45;cursor:default}.table-card .roll-what small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-card .table-result{white-space:normal;font-weight:600;line-height:1.35}.table-nested{display:grid;gap:2px;margin-left:14px;padding:4px 0 4px 10px;border-left:2px solid var(--rule);font-size:var(--fs-sm)}.table-nested>span{color:var(--ink-3)}.table-nested small{color:var(--ink-4)}.docs-sections{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tables-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.tables-row{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 0;border-radius:var(--r-md)}.tables-row:hover{background:var(--control)}.tables-row-main{flex:1;min-width:0;display:grid;text-align:left;padding:6px 8px}.tables-row-main b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tables-row-main small{font-size:var(--fs-xs);color:var(--ink-3)}.tables-secret{color:var(--ink-4);display:grid}.tables-roll{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:#fff;background:var(--accent)}.tables-roll:hover:not(:disabled){background:var(--accent-strong)}.tables-roll:disabled{opacity:.4}.tables-editor{display:flex;flex-direction:column;gap:10px}.tables-field{display:grid;gap:6px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.tables-field textarea{width:100%;resize:vertical;padding:8px 10px;border-radius:var(--r-sm);background:var(--field);border:1px solid var(--field-border);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.55;text-transform:none;letter-spacing:0;font-weight:400}.tables-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.tables-hint{margin:-2px 0 0;font-size:var(--fs-xs);line-height:1.5;color:var(--ink-3)}.tables-hint code,.empty-state code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-2)}.tables-preview{border-radius:var(--r-md);background:var(--night-850);padding:10px 12px}.tables-preview-head{font-size:var(--fs-xs);color:var(--ink-3);margin-bottom:6px}.tables-preview-head b{color:var(--ink)}.tables-preview ol{list-style:none;margin:0;padding:0;display:grid;gap:3px;max-height:220px;overflow:auto}.tables-preview li{display:flex;gap:10px;font-size:var(--fs-sm)}.tables-preview .r{flex:none;min-width:44px;font-variant-numeric:tabular-nums;font-weight:600;color:var(--blue-400)}.tables-preview .t{color:var(--ink-2)}.tables-warn{margin:8px 0 0;font-size:var(--fs-xs);color:var(--amber-400)}.tables-opt{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.tables-opt input{margin-top:3px;accent-color:var(--accent)}.tables-opt span{display:grid;gap:2px}.tables-opt b{font-weight:600;font-size:var(--fs-base)}.tables-opt small{font-size:var(--fs-xs);color:var(--ink-3);line-height:1.4}.tables-reset{align-self:flex-start}.cp-h small{margin-left:8px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-4)}.cp-coin-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.cp-coin-cell{--metal: #c9ced6;display:grid;gap:6px;justify-items:center;padding:8px 6px 6px;border-radius:var(--r-md);background:linear-gradient(180deg,color-mix(in srgb,var(--metal) 10%,var(--night-850)),var(--night-850));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--metal) 22%,transparent)}.cp-coin-cell.cp{--metal: #c27a45}.cp-coin-cell.sp{--metal: #c9ced6}.cp-coin-cell.ep{--metal: #b9c48f}.cp-coin-cell.gp{--metal: #e8b64c}.cp-coin-cell.pp{--metal: #dfe9f2}.cp-coin-head{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.1em;color:color-mix(in srgb,var(--metal) 80%,var(--ink-3))}.cp-coin-disc{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--metal) 40%,white),var(--metal) 55%,color-mix(in srgb,var(--metal) 60%,black));box-shadow:0 0 0 1px color-mix(in srgb,var(--metal) 50%,black)}.cp-coin-cell input{width:100%;height:30px;padding:0 4px;border-radius:var(--r-sm);border:1px solid transparent;color:var(--ink);text-align:center;font-size:var(--fs-base);font-weight:600;font-variant-numeric:tabular-nums;background:transparent;border-color:transparent}.cp-coin-cell input:hover{border-color:var(--field-border)}.cp-coin-cell b{font-size:var(--fs-lg);font-variant-numeric:tabular-nums}.cp-worth{display:flex;align-items:baseline;gap:6px;margin:10px 2px 0}.cp-worth span{font-size:var(--fs-sm);color:var(--ink-3)}.cp-worth b{font-size:var(--fs-xl);font-weight:700;color:var(--gold-400);font-variant-numeric:tabular-nums}.cp-worth small{font-size:var(--fs-sm);color:var(--gold-400)}.cp-tag{height:24px;padding:0 8px;border-radius:var(--r-pill);font-size:var(--fs-xs);background:var(--control);color:var(--ink-3)}.cp-tag.on{background:color-mix(in srgb,var(--teal-400) 18%,transparent);color:var(--teal-400)}.cp-tag.violet.on{background:color-mix(in srgb,var(--violet-400, #a78bfa) 18%,transparent);color:var(--violet-400, #a78bfa)}.cp-tag:hover:not(:disabled):not(.on){color:var(--ink);background:var(--control-hover)}.cp-qty{display:inline-flex;align-items:center;gap:4px}.cp-qty button{width:22px;height:22px;border-radius:50%;background:var(--control);color:var(--ink-3)}.cp-qty button:disabled{opacity:.35}.cp-qty b{min-width:18px;text-align:center;font-variant-numeric:tabular-nums}.cp-coin-cell input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.cp-coin-cell input::placeholder{color:var(--ink-4)}.cp-tag{min-width:76px}.cp-load{position:relative;height:26px;margin-bottom:8px;border-radius:var(--r-sm);background:var(--night-850);overflow:hidden;display:flex;align-items:center;padding:0 10px;font-size:var(--fs-xs);color:var(--ink-3)}.cp-load span{position:relative;z-index:1}.cp-load b{color:var(--ink);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.cp-load i{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--teal-400) 22%,transparent)}.cp-load.over{color:var(--red-400)}.cp-load.over i{background:color-mix(in srgb,var(--red-400) 30%,transparent)}.cp-items{display:grid;gap:4px}.cp-item{border-radius:var(--r-md);background:var(--night-850);box-shadow:inset 0 0 0 1px transparent}.cp-item.open{box-shadow:inset 0 0 0 1px var(--rule)}.cp-item-row{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px}.cp-item-main{flex:1;min-width:0;display:grid;gap:1px;text-align:left;background:none;padding:2px 0;color:var(--ink);cursor:pointer}.cp-item-name{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:var(--fs-sm);font-weight:600}.cp-item-qty{font-weight:500;color:var(--ink-3);font-variant-numeric:tabular-nums}.cp-item-flag{font-size:var(--fs-2xs);font-weight:600;color:var(--violet-400, #a78bfa);opacity:.7}.cp-item-flag.on{opacity:1}.cp-item-line{font-size:var(--fs-xs);color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-item-tools{display:inline-flex;align-items:center;gap:4px;flex:none}.cp-tag.static{cursor:default}.cp-item-more{padding:0 12px 10px;display:grid;gap:8px}.cp-item-more p{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--ink-2, var(--ink));white-space:pre-wrap}.cp-item-more .cp-qty{justify-self:start;font-size:var(--fs-xs);color:var(--ink-3)}.cp-add-btn{margin-top:10px;display:inline-flex;align-items:center;gap:6px}.cp-item-remove{margin-left:10px;height:22px;padding:0 8px;border-radius:var(--r-pill);font-size:var(--fs-xs);background:none;color:var(--red-400)}.cp-item-remove:hover{background:color-mix(in srgb,var(--red-400) 14%,transparent)}.cp-item-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.cp-item-actions:empty{display:none}.cp-ab.raised b,.cp-ab.raised span{color:#f5c542}.treasure{display:grid;gap:18px;padding:4px 0 12px}.treasure-section{display:grid;gap:10px}.treasure-split-btn{justify-self:start}.treasure-split{display:grid;gap:10px;padding:12px;border-radius:var(--r-md);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.treasure-split-who{display:flex;flex-wrap:wrap;gap:6px 14px}.treasure-split-sum{margin:0;font-size:var(--fs-sm);color:var(--ink-3)}.treasure-split-sum b{color:var(--gold-400)}.treasure-split-actions{display:flex;justify-content:flex-end;gap:6px}.treasure-items{list-style:none;margin:0;padding:0;display:grid;gap:4px}.treasure-item{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:var(--r-md);background:var(--night-850)}.treasure-item-text{flex:1;min-width:0;display:grid;gap:1px}.treasure-item-text b{font-size:var(--fs-sm);font-weight:600}.treasure-item-text small{font-size:var(--fs-xs);color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treasure-give{height:28px;max-width:130px;padding:0 6px;font-size:var(--fs-xs);border-radius:var(--r-sm);color:var(--ink);background:var(--field);border:1px solid var(--field-border)}.treasure .treasure-section>.btn-sm:last-child{justify-self:start}.cp-treasure-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;margin-top:14px;padding:10px 12px;border-radius:var(--r-md);text-align:left;color:var(--ink);background:color-mix(in srgb,var(--gold-400) 8%,var(--night-850));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold-400) 25%,transparent)}.cp-treasure-link span{font-size:var(--fs-sm);font-weight:600;color:var(--gold-400)}.cp-treasure-link small{font-size:var(--fs-xs);color:var(--ink-3)}.cp-treasure-link svg{color:var(--ink-4)}.cp-treasure-link:hover{background:color-mix(in srgb,var(--gold-400) 14%,var(--night-850))}.panel-modal.item-lib{height:min(640px,100%)}.item-lib .panel-modal-body{padding:0}.item-lib-sub{margin:0;font-size:var(--fs-sm);line-height:1.45;color:var(--ink-3)}.item-lib-body{flex:1;min-height:0;display:grid;grid-template-columns:360px minmax(0,1fr)}.item-lib-list{display:flex;flex-direction:column;gap:10px;padding:14px;border-right:var(--line);min-height:0;overflow-y:auto}.item-lib-list ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.item-lib-search{display:flex;gap:6px}.item-lib-search input{flex:1;min-width:0}.item-lib-kinds{display:flex;flex-wrap:wrap;gap:4px}.item-lib-kinds button{height:26px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;color:var(--ink-3);background:var(--control)}.item-lib-kinds button[aria-checked=true]{color:#fff;background:var(--accent)}.item-lib-row{width:100%;display:grid;gap:1px;padding:7px 10px;border-radius:var(--r-sm);text-align:left}.item-lib-row:hover{background:var(--control)}.item-lib-row.on{background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--accent)}.item-lib-row b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-lib-row small{font-size:var(--fs-xs);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-lib-empty,.item-lib-hint{margin:6px 2px;font-size:var(--fs-sm);color:var(--ink-3);line-height:1.5}.item-lib-pane{min-height:0;overflow-y:auto;padding:16px 18px}.item-detail h3{margin:0;font-size:var(--fs-xl);font-weight:600}.item-detail-kind{margin:4px 0 10px;font-size:var(--fs-sm);color:var(--ink-2)}.item-detail-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0 0 12px;font-size:var(--fs-sm)}.item-detail-facts dt{color:var(--ink-3)}.item-detail-facts dd{margin:0}.item-detail-desc{margin:0 0 14px;font-size:var(--fs-base);line-height:1.55;color:var(--ink-2);white-space:pre-line}.item-detail-add{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--r-md);background:var(--night-850)}.item-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.item-field{display:grid;gap:4px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.item-field.wide{grid-column:1 / -1}.item-field :where(input,select,textarea){text-transform:none;letter-spacing:0;font-weight:400}.item-check{display:flex;align-items:center;gap:8px;align-self:end;height:32px;font-size:var(--fs-sm);color:var(--ink-2)}.item-lib :where(input[type=text],input[type=number],input:not([type]),select,textarea){font:inherit;font-size:var(--fs-base);padding:6px 9px;color:var(--ink);background:var(--field);border:1px solid var(--field-border);border-radius:var(--r-sm);outline:none}.item-lib :where(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.item-lib textarea{resize:vertical;line-height:1.5}.item-lib input[type=checkbox]{accent-color:var(--accent)}.item-info{grid-column:1 / -1;margin:0 0 6px;padding:8px 10px;border-radius:var(--r-sm);background:var(--night-850);font-size:var(--fs-sm);line-height:1.5;color:var(--ink-2);white-space:pre-line}.panel-actions .char-new{flex-basis:100%}.music-pill{position:fixed;left:14px;bottom:66px;z-index:7;display:flex;align-items:center;padding:4px;border-radius:var(--r-pill)}.music-pill-btn{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--ink-2)}.music-pill-btn:hover{background:var(--control-hover);color:var(--ink)}.music-note{width:30px;height:30px;flex:none;display:grid;place-items:center;color:var(--blue-400)}.music-note.paused{color:var(--ink-4)}.music-unblock{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--blue-400);background:var(--accent-tint)}.music-unblock:hover{background:var(--accent);color:var(--ink-on-red)}.music-tab input[type=range]{accent-color:var(--accent)}.music-now{display:grid;gap:10px;padding:12px;border-radius:var(--r-md);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.music-now-head{display:flex;align-items:center;gap:10px}.music-now-icon{width:38px;height:38px;border-radius:10px;flex:none;display:grid;place-items:center;color:var(--blue-400);background:var(--accent-tint)}.music-now-text{min-width:0;display:grid}.music-now-text b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-now-text small{font-size:var(--fs-xs);color:var(--ink-3)}.music-seek{display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.music-seek input{flex:1;min-width:0}.music-transport{display:flex;align-items:center;justify-content:center;gap:4px}.mt-btn{position:relative;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2)}.mt-btn:hover:not(:disabled){background:var(--control-hover);color:var(--ink)}.mt-btn:disabled{opacity:.35;cursor:default}.mt-btn.on{color:var(--blue-400);background:var(--accent-tint)}.mt-btn.main{width:42px;height:42px;background:var(--accent);color:var(--ink-on-red)}.mt-btn.main:hover:not(:disabled){background:var(--accent-strong);color:var(--ink-on-red)}.mt-one{position:absolute;right:3px;bottom:3px;font-style:normal;font-size:var(--fs-2xs);font-weight:800}.music-master{display:flex;align-items:center;gap:10px;font-size:var(--fs-xs);color:var(--ink-3)}.music-master input{flex:1}.music-master .mm-label{width:84px;flex:none}.music-tracks,.music-playlist-tracks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:2px}.music-track,.music-playlist-head{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:var(--r-sm)}.music-track:hover{background:var(--control)}.music-track.now,.music-playlist-tracks li.now{background:var(--accent-tint)}.music-track small,.music-playlist-head small,.music-playlist-tracks small{flex:none;font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.mt-play{width:26px;height:26px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--blue-400);background:var(--accent-tint)}.mt-play:hover:not(:disabled){background:var(--accent);color:var(--ink-on-red)}.mt-play:disabled{opacity:.35}.music-name{flex:1;min-width:0;width:0;height:28px;padding:0 6px;border-radius:var(--r-xs);border:1px solid transparent;background:transparent;color:var(--ink);font-size:var(--fs-base);outline:none}.music-name:hover{border-color:var(--rule)}.music-name:focus{border-color:var(--accent);background:var(--field)}.music-add-to{flex:none;height:26px;padding:0 6px;border-radius:var(--r-pill);border:0;cursor:pointer;font-size:var(--fs-xs);font-weight:600;color:var(--ink-2);background:var(--control)}.music-track:hover .lib-row-remove,.music-playlist-head:hover .lib-row-remove{opacity:1}.music-playlist{display:grid;gap:4px;padding:6px;border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--rule)}.music-playlist.now{box-shadow:inset 0 0 0 1px #5b9bff73}.music-playlist-tracks li{display:flex;align-items:center;gap:4px;padding:2px 4px 2px 36px;border-radius:var(--r-sm)}.mpl-name{flex:1;min-width:0;text-align:left;font-size:var(--fs-sm);color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mpl-name:hover{color:var(--ink)}.mpl-btn{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-xs);color:var(--ink-3)}.mpl-btn:hover:not(:disabled){background:var(--control-hover);color:var(--ink)}.mpl-btn:disabled{opacity:.3}.pin-editor{position:absolute;z-index:8;width:280px;padding:10px 12px 12px;border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:stretch;gap:10px;font-size:var(--fs-base);text-align:left}.pin-editor-head{display:flex;align-items:center;gap:6px}.pin-name{flex:1;min-width:0;height:32px;padding:0 10px;border-radius:var(--r-sm);font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);color:var(--ink);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.pin-name:focus{outline:none;box-shadow:inset 0 0 0 1px var(--accent),0 0 0 3px var(--accent-tint)}.pin-icon-btn{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--ink-3)}.pin-icon-btn:hover{background:var(--control-hover);color:var(--ink)}.pin-visible{display:flex;align-items:center;justify-content:flex-start;gap:8px;height:34px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3);background:var(--control)}.pin-visible.on{color:var(--blue-400);background:var(--accent-tint)}.pin-opens{display:flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--ink-3)}.pin-opens>span{margin-right:auto}.pin-opens button{height:28px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);background:var(--control)}.pin-opens button.on{color:var(--ink-on-red);background:var(--accent)}.pin-doc{height:32px;padding:0 8px;border-radius:var(--r-sm);color:var(--ink);font-size:var(--fs-sm);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.pin-warn{margin:0;font-size:var(--fs-xs);line-height:1.4;color:var(--amber-400)}.pin-warn button{margin-left:6px;font-weight:700;color:var(--blue-400);text-decoration:underline}.pin-image{display:flex;align-items:center;gap:10px}.pin-image img{width:64px;height:48px;object-fit:cover;border-radius:var(--r-sm);box-shadow:0 0 0 1px var(--rule)}.pin-editor-foot{display:flex;align-items:center;justify-content:space-between;padding-top:2px}.pin-delete{font-size:var(--fs-sm);font-weight:600;color:var(--ink-3)}.pin-delete:hover{color:var(--red-400)}.pin-viewer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:24px 16px;background:#03070b8c}.pin-viewer{position:relative;width:min(560px,100%);max-height:min(80vh,760px);overflow-y:auto;padding:20px 22px 22px;border-radius:var(--r-lg)}.pin-viewer-tools{position:absolute;right:10px;top:10px;z-index:4;display:flex;align-items:center;gap:6px}.export-card{position:absolute;left:14px;bottom:64px;z-index:8;width:250px;padding:10px 12px 12px;border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:stretch;gap:8px;font-size:var(--fs-base)}.export-card header{display:flex;align-items:center;justify-content:space-between}.export-card h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg)}.export-row{display:flex;align-items:center;gap:8px;color:var(--ink-2);cursor:pointer}.export-row input{accent-color:var(--accent);width:16px;height:16px}.export-note{margin:2px 0 0;font-size:var(--fs-xs);color:var(--ink-3)}.export-error{margin:0;font-size:var(--fs-xs);color:var(--red-400)}.export-go{justify-content:center;display:inline-flex;align-items:center;gap:6px}.zoom-indicator .zoom-btn.on{background:var(--accent-tint);color:var(--blue-400)}.item-details{display:grid;gap:12px}.item-details-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.item-details-lib{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.item-details :where(input[type=text],input:not([type]),input[type=number],select,textarea){width:100%;height:32px;padding:0 10px;border-radius:var(--r-sm);background:var(--field);border:1px solid var(--field-border);color:var(--ink);font:inherit;font-size:var(--fs-sm)}.item-details textarea{height:auto;padding:8px 10px;resize:vertical}.item-fx{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:4px 0 0;padding:10px 12px 12px;border:1px solid var(--rule);border-radius:var(--r-md)}.item-fx legend{padding:0 6px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mist-500)}.item-fx .wide{grid-column:1 / -1}.item-fx-resists{display:flex;flex-wrap:wrap;gap:4px}.item-fx-resists button{height:26px;padding:0 9px;border-radius:var(--r-pill);font-size:var(--fs-xs);text-transform:capitalize;background:var(--control);color:var(--mist-300)}.item-fx-resists button[aria-pressed=true]{background:var(--accent-tint);color:var(--mist-100);box-shadow:inset 0 0 0 1px var(--accent)}.item-fx-other,.item-fx-note{grid-column:1 / -1;margin:0;font-size:var(--fs-xs);color:var(--mist-500)}.item-fx-fold{grid-column:1 / -1}.item-fx-fold>summary{cursor:pointer;padding:6px 0;font-size:var(--fs-sm);color:var(--ink-3)}.item-fx-fold>summary:hover{color:var(--ink)}.item-fx-fold[open]>summary{margin-bottom:6px}.item-fx-ability>div{display:flex;align-items:center;gap:8px}.item-fx-ability select{flex:1}.item-fx-ability input{width:72px}.item-fx-ability small{font-weight:400;text-transform:none;letter-spacing:0;color:var(--mist-500)}.signin-card{text-align:left}.signin-discord{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:10px;height:44px;font-size:var(--fs-md);background:#5865f2}.signin-discord:hover:not(:disabled){background:#4752c4}.signin-discord:disabled{opacity:.5;cursor:not-allowed}.signin-note{margin:10px 0 0;font-size:var(--fs-sm);color:var(--ink-3)}.signin-error{margin:10px 0 0;font-size:var(--fs-sm);color:var(--red-400)}.signin-dev{margin-top:22px;padding-top:14px;border-top:1px solid var(--rule)}.signin-dev .row{display:flex;gap:8px}.signin-dev input{flex:1;min-width:0}.signin-who{display:flex;align-items:center;gap:8px}.signin-who img,.signin-dot{width:24px;height:24px;border-radius:50%;flex:none}.rooms-card{width:min(460px,calc(100vw - 32px))}.rooms-new{margin-top:6px}.rooms-new .row{display:flex;gap:8px}.rooms-new input{flex:1;min-width:0}.rooms-new .btn{display:inline-flex;align-items:center;gap:6px}.rooms-hint{margin:8px 0 0;font-size:var(--fs-sm);color:var(--ink-3)}.rooms-list{margin-top:22px}.rooms-list h2{margin:0 0 8px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.rooms-list ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.rooms-list a{display:grid;gap:2px;padding:10px 14px;border-radius:var(--r-md);text-decoration:none;color:var(--ink);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.rooms-list a:hover{box-shadow:inset 0 0 0 1px var(--accent)}.rooms-list b{font-weight:600;font-size:var(--fs-md)}.rooms-list small{font-size:var(--fs-xs);color:var(--ink-3)}.invite-line{margin:18px 0 2px;color:var(--ink-2)}.invite-room{margin:0 0 18px;font-family:var(--font-display);font-weight:600;font-size:var(--fs-2xl)}.invite-join{background:var(--accent)}.room-label{display:block;margin:10px 0 6px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.room-invite-row{display:flex;gap:6px}.room-invite-copy{width:100%;justify-content:center}.room-invite-note{margin:6px 0 0;font-size:var(--fs-xs);color:var(--ink-3)}.room-invite-row input{flex:1;min-width:0;height:30px;padding:0 8px;border-radius:var(--r-sm);font-size:var(--fs-xs);color:var(--ink-2);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.room-link-btn{margin-top:6px;font-size:var(--fs-xs);font-weight:600;color:var(--blue-400)}.room-members{list-style:none;margin:0;padding:0;display:grid;gap:4px}.room-members li{display:flex;align-items:center;gap:8px;min-height:30px;font-size:var(--fs-base)}.room-members img,.room-dot{width:22px;height:22px;border-radius:50%;flex:none}.room-member-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-member-name small{color:var(--ink-3)}.room-role{font-size:var(--fs-xs);color:var(--ink-3)}.room-remove{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3)}.room-remove:hover{color:var(--red-400);background:var(--control-hover)}.room-danger{font-size:var(--fs-sm);font-weight:600;color:var(--ink-3)}.room-danger:hover{color:var(--red-400)}.room-menu{position:relative;display:flex}.room-menu-btn{width:40px;height:40px;border-radius:var(--r-pill);display:grid;place-items:center;color:var(--ink-2)}.room-menu-btn:hover,.room-menu-btn.open{background:var(--control-hover);color:var(--ink)}.room-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9}.room-menu-card{position:absolute;top:calc(100% + 10px);left:-4px;z-index:10;width:300px;padding:12px 14px 10px;border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:left;background:var(--night-900)}.room-menu-name{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);color:var(--ink)}.room-menu-role{margin:0 0 4px;font-size:var(--fs-xs);color:var(--ink-3)}.room-menu-card .room-page-section.compact{margin:0}.room-menu-items{display:grid;margin-top:8px;padding-top:6px;border-top:1px solid var(--rule)}.room-menu-items button{display:flex;align-items:center;gap:10px;height:34px;padding:0 8px;border-radius:var(--r-sm);font-size:var(--fs-base);color:var(--ink-2);text-align:left}.room-menu-items button:hover{background:var(--control-hover);color:var(--ink)}.room-page{gap:0}.room-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;font-size:var(--fs-sm);font-weight:600;color:var(--blue-400)}.room-page-title{margin:0 0 12px}.room-page-name{width:100%;height:44px;padding:0 12px;margin-bottom:12px;border-radius:var(--r-md);font-family:var(--font-display);font-weight:600;font-size:var(--fs-2xl);color:var(--ink);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.room-open{width:100%;height:40px;justify-content:center}.room-page-section{margin-top:20px}.room-page-section h2{margin:0 0 8px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.room-page-danger{padding-top:14px;border-top:1px solid var(--rule)}.rooms-item{display:flex;align-items:stretch;gap:6px}.rooms-item a{flex:1;min-width:0}.rooms-manage{width:44px;flex:none;border-radius:var(--r-md);display:grid;place-items:center;color:var(--ink-3);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.rooms-manage:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}.table-setup{position:absolute;left:50%;top:50%;transform:translate(calc(-50% + var(--dock-shift)),-50%);z-index:5;width:min(460px,calc(100vw - 32px));padding:22px 24px 18px;border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:stretch;gap:0;text-align:left}.table-setup h2{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--fs-2xl);color:var(--ink)}.table-setup-sub{margin:6px 0 16px;font-size:var(--fs-base);line-height:1.45;color:var(--ink-3)}.table-setup-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}.table-setup-step{display:flex;gap:12px}.table-setup-n{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-sm);font-weight:700;color:var(--blue-400);background:var(--accent-tint)}.table-setup-step.done .table-setup-n{color:var(--night-900);background:var(--success)}.table-setup-body{flex:1;min-width:0}.table-setup-body b{font-weight:600;font-size:var(--fs-md);color:var(--ink)}.table-setup-step.done .table-setup-body b{color:var(--ink-2)}.table-setup-body p{margin:2px 0 8px;font-size:var(--fs-sm);line-height:1.4;color:var(--ink-3)}.table-setup-actions{display:flex;flex-wrap:wrap;gap:6px}.table-setup-actions .btn{display:inline-flex;align-items:center;gap:6px}.table-setup-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid var(--rule)}.table-setup-skip{margin-left:auto;font-size:var(--fs-sm);font-weight:600;color:var(--ink-3)}.table-setup-skip:hover{color:var(--ink)}.signin-invite{margin-bottom:18px}.signin-invite .invite-line{margin-top:10px}.signin-invite .invite-room{margin-bottom:6px}.signin-invite .sub{margin:0}.table-setup-head{display:flex;align-items:center;gap:8px}.table-setup-head h2{flex:1}.table-setup-count{font-size:var(--fs-xs);font-weight:600;color:var(--ink-3)}.table-setup-toggle{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3)}.table-setup-toggle:hover{background:var(--control-hover);color:var(--ink)}.table-setup-toggle[aria-expanded=false] svg{transform:rotate(180deg)}.table-setup.docked{left:14px;top:auto;bottom:64px;transform:none;width:300px;padding:12px 14px 10px;z-index:6}.table-setup.docked h2{font-size:var(--fs-lg)}.table-setup.docked .table-setup-steps{gap:10px;margin-top:10px}.table-setup.docked .table-setup-step.done .table-setup-actions{display:none}.table-setup.docked .table-setup-foot{margin-top:10px;padding-top:8px}.empty-state{display:grid;justify-items:center;gap:6px;padding:22px 12px 18px;text-align:center}.empty-state-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--blue-400);background:var(--accent-tint);margin-bottom:4px}.empty-state b{font-weight:600;font-size:var(--fs-md);color:var(--ink)}.empty-state p{margin:0;max-width:300px;font-size:var(--fs-sm);line-height:1.5;color:var(--ink-3)}.tool-tip{position:absolute;left:var(--toolbar-cx);bottom:92px;transform:translate(-50%);z-index:7;width:min(440px,calc(100vw - 32px));padding:12px 12px 12px 16px;border-radius:var(--r-lg);display:flex;align-items:center;gap:14px;text-align:left}.tool-tip-body{flex:1;min-width:0}.tool-tip-body b{font-weight:600;font-size:var(--fs-base);color:var(--ink)}.tool-tip-body p{margin:2px 0 0;font-size:var(--fs-sm);line-height:1.45;color:var(--ink-3)}.tool-tip .btn{flex:none}.rooms-demo{display:flex;align-items:center;gap:14px;margin-top:18px;padding:12px 14px;border-radius:var(--r-md);background:var(--accent-tint);box-shadow:inset 0 0 0 1px #5b9bff40}.rooms-demo b{font-weight:600;font-size:var(--fs-base);color:var(--ink)}.rooms-demo p{margin:2px 0 0;font-size:var(--fs-sm);line-height:1.4;color:var(--ink-3)}.rooms-demo .btn{flex:none}.char-kind{display:flex;padding:2px;border-radius:var(--r-pill);background:var(--field);box-shadow:inset 0 0 0 1px var(--field-border)}.char-kind button{flex:1;height:28px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3);white-space:nowrap}.char-kind button:hover:not(:disabled):not(.on){color:var(--ink)}.char-kind button.on{color:var(--ink-on-red);background:var(--accent)}.char-kind button:disabled{opacity:.4;cursor:not-allowed}.char-kind-hint{margin:0;font-size:var(--fs-xs);line-height:1.4;color:var(--ink-3)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px 16px;background:#03070b99}.modal{position:relative;width:min(420px,100%);padding:20px 22px 16px;border-radius:var(--r-lg);background:var(--night-900);display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:left}.modal-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--fs-xl);color:var(--ink)}.modal-body{font-size:var(--fs-base);line-height:1.5;color:var(--ink-2)}.modal-message{margin-bottom:10px}.modal-field{display:grid;gap:6px}.modal-field span{font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.modal-field input{height:36px;padding:0 12px;border-radius:var(--r-sm);outline:none;font-size:var(--fs-base);background:var(--field);color:var(--ink);border:1px solid var(--field-border)}.modal-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.modal .btn:disabled{opacity:.45;cursor:not-allowed}.account-menu{position:relative;display:flex}.account-trigger{display:inline-flex;align-items:center;gap:8px;padding:0;border-radius:var(--r-pill);color:inherit;font:inherit}.signin-who .account-trigger{padding:3px 10px 3px 3px;margin-left:-3px}.signin-who .account-trigger:hover,.signin-who .account-trigger.open{background:var(--control-hover)}.peer-avatars .account-trigger{cursor:pointer}.peer-avatars .account-trigger:hover .peer-avatar,.peer-avatars .account-trigger.open .peer-avatar{box-shadow:0 0 0 2px var(--blue-400)}.account-card{position:absolute;top:calc(100% + 10px);z-index:10;width:280px;padding:14px;border-radius:var(--r-lg);background:var(--night-900);display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:left}.account-card.left{left:-4px}.account-card.right{right:-4px}.account-head{display:flex;align-items:center;gap:10px}.account-head img,.account-dot{width:36px;height:36px;border-radius:50%;flex:none}.account-head b{display:block;font-weight:600;font-size:var(--fs-md);color:var(--ink)}.account-head small{font-size:var(--fs-xs);color:var(--ink-3)}.account-field{display:grid;gap:4px}.account-field span{font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.account-field input:not([type=color]){height:32px;padding:0 10px;border-radius:var(--r-sm);outline:none;font-size:var(--fs-base);background:var(--field);color:var(--ink);border:1px solid var(--field-border)}.account-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.account-field.account-color{display:flex;align-items:center;justify-content:space-between}.account-color input{width:32px;height:32px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}.account-color input::-webkit-color-swatch-wrapper{padding:0}.account-color input::-webkit-color-swatch{border:0;border-radius:50%}.account-color input::-moz-color-swatch{border:0;border-radius:50%}.account-note{margin:0;font-size:var(--fs-xs);color:var(--ink-3)}.account-foot{display:flex;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--rule)}.tool-darkness{display:inline-flex;align-items:center;gap:8px;padding:0 8px;font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap}.tool-darkness input{width:90px;accent-color:var(--accent)}.weather-kinds{display:inline-flex;gap:2px;padding:2px;border-radius:var(--r-pill);background:var(--control)}.weather-kinds button{height:28px;padding:0 8px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3);white-space:nowrap}.weather-kinds button:hover{color:var(--ink)}.weather-kinds button[aria-checked=true]{color:#1a1206;background:var(--gold-400)}.weather-anchor,.fog-fill{position:relative;display:inline-flex}.fog-fill-menu{position:absolute;top:auto;right:auto;bottom:calc(100% + 14px);left:50%;transform:translate(-50%);z-index:30;min-width:260px}.fog-fill-menu button{display:grid;grid-template-columns:16px 1fr;column-gap:10px;align-items:center}.fog-fill-menu button:before{display:none}.fog-fill-menu small{grid-column:2;font-size:var(--fs-xs);color:var(--ink-3);font-weight:400}.weather-slide{gap:6px;padding:0 4px;color:var(--ink-3)}.weather-slide input{width:56px}.weather-slide:has(input:disabled){opacity:.35}.weather-dir{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-base);color:var(--ink);background:var(--control)}.weather-dir:hover:not(:disabled){background:var(--control-hover)}.weather-dir:disabled{opacity:.4}.weather-rose{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%);z-index:30;display:grid;grid-template-columns:repeat(3,30px);gap:4px;padding:8px;border-radius:var(--r-md);background-color:var(--night-900)}.weather-rose button{width:30px;height:30px;border-radius:6px;font-size:var(--fs-sm);color:var(--ink-3);background:var(--control)}.weather-rose button:hover{color:var(--ink);background:var(--control-hover)}.weather-rose button[aria-checked=true]{color:#1a1206;background:var(--gold-400)}.tool-darkness b{min-width:36px;font-weight:600;font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.light-editor{width:300px}.light-title{flex:1;font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);color:var(--ink)}.light-on{height:26px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3);background:var(--control)}.light-on.on{color:#1a1206;background:var(--amber-400)}.light-radii{display:flex;gap:10px}.light-flicker{display:inline-flex;align-items:center;gap:6px;margin-right:auto;font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer}.light-flicker input{accent-color:var(--accent)}.light-radii label{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--ink-3)}.light-radii input{width:58px;height:30px;padding:0 8px;border-radius:var(--r-sm);outline:none;font-size:var(--fs-base);background:var(--field);color:var(--ink);border:1px solid var(--field-border);font-variant-numeric:tabular-nums}.light-radii small{font-size:var(--fs-xs);color:var(--ink-4)}.light-colours{display:flex;gap:6px}.light-swatch{width:22px;height:22px}.toolbar .tool-options-toggle.on{color:var(--blue-400);background:var(--accent-tint)}.preview-banner{position:absolute;left:50%;top:84px;transform:translate(calc(-50% + var(--dock-shift)));z-index:7;display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 6px 0 14px;border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--ink);background:var(--night-900);box-shadow:var(--shadow-panel),0 0 0 1.5px var(--blue-400)}.preview-banner svg{color:var(--blue-400)}.preview-banner button{height:28px;padding:0 12px;border-radius:var(--r-pill);font-weight:600;color:var(--ink-on-red);background:var(--accent)}.pause-banner{position:absolute;left:50%;top:96px;transform:translate(calc(-50% + var(--dock-shift)));z-index:8;display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 14px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink);background:var(--night-900);box-shadow:var(--shadow-panel),0 0 0 1.5px var(--amber-400)}.pause-banner svg{color:var(--amber-400)}.pause-banner button{height:28px;margin-right:-8px;padding:0 12px;border-radius:var(--r-pill);font-weight:600;color:#1a1206;background:var(--amber-400)}.pause-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:#03070c47}.player-card{width:240px;gap:6px}.player-card-name{font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);color:var(--ink)}.player-card-sub{margin-top:-6px;font-size:var(--fs-xs);color:var(--ink-3)}.player-card .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.player-card-hint{margin:0;font-size:var(--fs-xs);line-height:1.4;color:var(--ink-3)}.init-tab>.panel-actions{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--rule)}.right-panel :is(.right-library,.char-tab,.docs-tab,.right-settings,.init-tab,.cp-body,.chat-log){scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(214,190,140,.28) transparent}.list-controls-row .new-menu-list{left:auto;right:0}.list-controls-row .new-menu>.btn{height:32px;padding-top:0;padding-bottom:0}.section-tabs{position:relative}.section-tabs-measure{position:absolute;visibility:hidden;pointer-events:none;display:flex;gap:inherit;height:0;overflow:hidden;left:0;top:0}.section-more{position:relative;display:flex}.section-more>button{height:34px;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-base);font-weight:600;color:var(--ink-3);padding:0 6px}.section-more>button:hover{color:var(--ink)}.section-more .filter-menu-list{left:auto;right:0}.right-panel{--pane-pad: 16px;--pane-gap: 12px}.right-panel :is(.library-panel,.char-tab,.right-settings,.init-tab,.cp-body){padding:var(--pane-pad)}.right-panel .library-panel{gap:var(--pane-gap)}.right-panel .docs-sections-tabs{padding:var(--pane-pad) var(--pane-pad) 0}.right-panel .docs-tab{padding:var(--pane-pad);gap:var(--pane-gap)}.right-panel .docs-sections .docs-tab{padding-top:var(--pane-gap)}.right-panel .init-tab>.panel-actions{margin-bottom:var(--pane-gap);padding-bottom:var(--pane-gap)}.right-panel .dock-chat-head{margin:0 var(--pane-pad);padding:var(--pane-pad) 0 0}.right-panel .dock-chat .chat-log{padding:var(--pane-gap) var(--pane-pad) var(--pane-pad)}.right-panel .chat-composer{margin:0 var(--pane-pad) var(--pane-pad)}.right-panel .cp-head{padding:var(--pane-pad) var(--pane-pad) var(--pane-gap)}.right-panel .cp-tabs{padding:0 var(--pane-pad)}.right-panel .char-tab-empty{padding:var(--pane-pad)}.turn-strip .ts-queue{min-width:120px}.turn-strip .ts-label{max-width:170px}.turn-strip.compact .ts-label{display:none}.panel-modal-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:var(--line)}.panel-modal-foot[hidden]{display:none}.panel-modal-foot-start,.panel-modal-foot-end{display:flex;align-items:center;gap:8px}.btn.btn-danger-text{background:none;border-color:transparent;box-shadow:none;color:var(--red-400);padding-left:4px;padding-right:4px}.btn.btn-danger-text:hover{background:none;color:var(--red-500);text-decoration:underline}.panel-modal-foot.inline{padding:12px 0 0;border-top:0;grid-column:1 / -1}.beyond-import{display:grid;gap:12px}.beyond-how{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--ink-3)}.beyond-error{margin:0;font-size:var(--fs-sm);color:var(--red-400)}.panel-modal .item-field input,.panel-modal .item-field select{width:100%}.item-field small.char-kind-hint{text-transform:none;letter-spacing:0;font-weight:400;margin-top:2px}.lib-map{position:relative}.lib-map-menu{position:absolute;z-index:20;top:70%;left:8px;width:260px}.lib-map:nth-child(2n) .lib-map-menu{left:auto;right:8px}.map-layers{position:absolute;left:0;bottom:calc(100% + 12px);width:330px;padding:10px;border-radius:var(--r-md);display:flex;flex-direction:column;gap:8px}.map-layers.hud{position:absolute;align-items:stretch}.map-layers-h{display:grid;gap:2px;padding:0 4px}.map-layers-h b{font-size:var(--fs-sm);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.map-layers-h small{font-size:var(--fs-xs);color:var(--ink-4)}.map-layers ol{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:300px;overflow-y:auto}.map-layer{display:flex;align-items:center;gap:2px;padding:3px;border-radius:var(--r-sm)}.map-layer.on{background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--accent)}.map-layer.base{border-top:1px solid var(--rule);padding-top:7px;margin-top:2px}.map-layer-pick{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;padding:2px 4px}.map-layer-pick img{width:44px;height:32px;object-fit:cover;border-radius:2px;flex:none;box-shadow:0 0 0 1px var(--rule)}.map-layer.hidden .map-layer-pick img{opacity:.45}.map-layer-pick span{display:grid;min-width:0}.map-layer-pick b{font-size:var(--fs-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-layer-pick small{font-size:var(--fs-xs);color:var(--ink-3)}.map-layer.hidden .map-layer-pick small{color:var(--amber-400)}.map-layer-btn{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--ink-3);font-size:var(--fs-sm)}.map-layer-btn:hover:not(:disabled){background:var(--control-hover);color:var(--ink)}.map-layer-btn:disabled{opacity:.3}.tool-tip.raised-high{bottom:auto;top:90px}.player-select select{width:100%;height:34px;padding:0 9px;font:inherit;font-size:var(--fs-base);text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink);background:var(--field);border:1px solid var(--field-border);border-radius:var(--r-sm);outline:none}.player-select select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.toolbar .tool-options-toggle.danger{color:var(--red-400)}.toolbar.compact .tool-options-toggle:has(.tool-label),.toolbar.compact .tool-back{gap:0;padding:0 9px}.toolbar.compact .tool-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.toolbar .tool-options-toggle.tool-switch,.toolbar .tool-options-toggle.tool-switch.on{background:transparent;color:var(--ink-2)}.toolbar .tool-options-toggle.tool-switch:hover{background:var(--control-hover);color:var(--ink)}.toolbar .tool-options-toggle.tool-switch.on{color:var(--ink)}.tool-switch-track{position:relative;flex:none;width:26px;height:14px;border-radius:7px;background:var(--night-700);box-shadow:inset 0 0 0 1px var(--rule);transition:background .15s var(--ease-out)}.tool-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--ink-3);transition:transform .15s var(--ease-out),background .15s var(--ease-out)}.tool-switch.on .tool-switch-track{background:var(--gold);box-shadow:none}.tool-switch.on .tool-switch-track:after{transform:translate(12px);background:var(--night-900)}.map-layer-size{display:grid;gap:6px;padding:4px 4px 2px 58px}.map-layer-size .row{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--fs-sm);color:var(--ink-3)}.map-layer-size .row label{flex:1}.map-layer-size input[type=number]{width:70px;height:28px;padding:0 6px;color:var(--ink);background:var(--field);border:1px solid var(--field-border);border-radius:var(--r-sm)}.map-layer-lock{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--ink-3)}.lvl-head{display:flex;align-items:baseline;justify-content:center;gap:12px;font-size:var(--fs-lg);color:var(--ink-3)}.lvl-head b{font-size:var(--fs-2xl);font-weight:600;color:var(--ink)}.lvl-note{margin:0;padding:8px 10px;border-radius:var(--r-sm);background:var(--night-850);font-size:var(--fs-sm);line-height:1.5;color:var(--ink-2)}.lvl-group{display:grid;gap:10px;margin:0;padding:0;border:0}.lvl-group legend{padding:0 0 8px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.lvl-asi{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-left:26px}.lvl-feat{margin-left:26px}.lvl-changes{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;padding:12px;border-radius:var(--r-sm);background:var(--night-850);font-size:var(--fs-sm)}.lvl-changes dt{color:var(--ink-3)}.lvl-changes dd{margin:0;font-weight:600;color:var(--ink)}.lvl-todo{margin:0;padding-left:18px;display:grid;gap:4px;font-size:var(--fs-sm);line-height:1.45;color:var(--ink-3)}.lvl-ddb{display:grid;gap:8px;justify-items:start}.lvl-ddb p{margin:0}.docs-markdown ol{margin:6px 0;padding-left:22px}.docs-markdown hr{border:0;border-top:1px solid var(--rule);margin:14px 0}.rte{display:flex;flex-direction:column;border:1px solid var(--field-border);border-radius:var(--r-sm);background:var(--field)}.rte:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.rte-bar{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;border-bottom:1px solid var(--rule);background:var(--night-850);border-radius:var(--r-sm) var(--r-sm) 0 0}.rte-btn{min-width:30px;height:30px;padding:0 6px;display:inline-grid;place-items:center;border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-base)}.rte-btn:hover:not(:disabled){background:var(--control-hover);color:var(--ink)}.rte-btn.on{background:var(--accent-tint);color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent)}.rte-btn:disabled{opacity:.4;cursor:default}.rte-btn b,.rte-btn i{font-family:Georgia,serif;font-size:var(--fs-md)}.rte-mono{font-family:var(--font-mono);font-size:var(--fs-xs)}.rte-src{margin-left:auto;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;padding:0 10px}.rte-sep{width:1px;height:18px;margin:0 4px;background:var(--rule)}.panel-modal select.rte-block{height:30px;padding:0 26px 0 8px;font-size:var(--fs-sm);background-color:transparent;border-color:transparent}.panel-modal select.rte-block:hover{background-color:var(--control-hover)}.rte-body{position:relative}.rte-content{min-height:240px;padding:10px 12px;outline:none}.rte-content>:first-child{margin-top:0}.rte-body.is-empty:before{content:attr(data-placeholder);position:absolute;left:12px;top:10px;color:var(--ink-4);pointer-events:none}.rte-source{min-height:240px;border:0;border-radius:0 0 var(--r-sm) var(--r-sm);box-shadow:none!important}.rte-loading{min-height:282px}.macro-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);background:var(--night-850)}.panel-modal textarea.macro-lines{font-family:var(--font-mono);font-size:var(--fs-sm);resize:vertical;text-transform:none;letter-spacing:0;font-weight:400}.macro-help{margin:0;display:grid;gap:3px;font-size:var(--fs-xs);color:var(--ink-3)}.macro-help div{display:grid;grid-template-columns:170px 1fr;gap:8px}.macro-help dd{margin:0}.macro-help code{font-family:var(--font-mono);color:var(--ink-2)}.right-tabs{flex:1;min-width:0;display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;padding-bottom:5px;margin-bottom:-5px}.right-tabs::-webkit-scrollbar{display:none}.right-tabs .right-tab{flex:1 0 40px}.macro-row .lib-row-main{cursor:pointer}.macro-ic{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent-tint);color:var(--accent)}.macro-lines-preview{font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.macro-key{flex:none;margin-left:auto;padding:1px 6px;border-radius:var(--r-xs);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-4);box-shadow:inset 0 0 0 1px var(--rule)}.macro-row:hover .macro-key{color:var(--ink-2)}.lib-row .macro-edit{opacity:1}.lib-row .macro-edit:hover{background:var(--control-hover);color:var(--ink)}.btn.btn-link{background:none;border-color:transparent;box-shadow:none;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px;padding-left:4px;padding-right:4px}.btn.btn-link:hover{background:none;color:var(--ink)}.macro-steps{display:grid;gap:10px}.macro-step{display:grid;gap:10px;padding:12px;border-radius:var(--r-sm);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.macro-step-head{display:flex;align-items:center;justify-content:space-between;min-height:24px}.macro-step-head b{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.macro-roll{display:grid;gap:10px}.macro-field{display:grid;grid-template-columns:52px 1fr;align-items:start;gap:8px}.macro-field>span{padding-top:7px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.macro-dice,.macro-bonuses{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.macro-die{display:inline-flex;align-items:center;gap:4px}.macro-die i{font-style:normal;color:var(--ink-3);margin:0 2px}.panel-modal .macro-die input{width:52px;text-align:center}.panel-modal .macro-bonuses select{max-width:220px}.macro-x{width:22px;height:22px;border-radius:50%;color:var(--ink-3)}.macro-x:hover{background:var(--control-hover);color:var(--red-400)}.macro-chip{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 4px 0 10px;border-radius:var(--r-pill);background:var(--accent-tint);color:var(--ink);font-size:var(--fs-sm);box-shadow:inset 0 0 0 1px var(--accent)}.macro-chip button{width:20px;height:20px;border-radius:50%;color:var(--ink-3)}.macro-chip button:hover{color:var(--ink);background:var(--control-hover)}.macro-flat{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--ink-3)}.panel-modal .macro-flat input{width:64px;text-align:center}.macro-add{display:flex;gap:8px}.macro-preview{display:grid;gap:4px;padding:10px 12px;border-radius:var(--r-sm);background:var(--saga-sunk-35, var(--night-850))}.macro-preview small{font-size:var(--fs-xs);color:var(--ink-3)}.macro-preview code{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink);overflow-wrap:anywhere}.cp-macros{display:flex;flex-wrap:wrap;gap:6px}.cp-macro{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink);background:var(--control);box-shadow:inset 0 0 0 1px var(--rule)}.cp-macro svg{color:var(--accent)}.cp-macro:hover{background:var(--control-hover)}.lvl-feature{display:grid;gap:4px}.lvl-feature details{padding-left:26px}.lvl-feature summary{cursor:pointer;font-size:var(--fs-xs);color:var(--ink-3)}.lvl-feature details p{margin:6px 0 0;font-size:var(--fs-sm);line-height:1.5;color:var(--ink-2);white-space:pre-line;max-height:220px;overflow-y:auto}.lvl-already{margin:0;font-size:var(--fs-sm);line-height:1.45;color:var(--ink-3)}.lvl-already b{color:var(--ink-2);font-weight:600}.lvl-srd{margin:0;font-size:var(--fs-2xs);color:var(--ink-4)}.sh-source{flex:none;padding:1px 6px;border-radius:var(--r-xs);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.04em;color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--rule);cursor:help}.list-controls-row{min-width:0}.list-search{flex:1 1 0}.list-search input{flex:1 1 0;width:0}.list-search button{flex:none}.right-panel :is(.right-library,.char-tab,.docs-tab,.right-settings,.init-tab,.cp-body){overflow-x:hidden}.assistant-settings{display:grid;gap:10px}.assistant-settings h3{margin-bottom:0}.assistant-settings .hint{margin:0}.assistant-fresh{display:grid;gap:6px;padding:10px;border-radius:var(--r-sm);background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--accent);font-size:var(--fs-sm)}.assistant-copy{display:flex;align-items:flex-start;gap:6px}.assistant-copy code{flex:1;min-width:0;padding:6px 8px;border-radius:var(--r-xs);background:var(--field);font-family:var(--font-mono);font-size:var(--fs-xs);overflow-wrap:anywhere}.assistant-copy code.block{white-space:pre;overflow-x:auto;overflow-wrap:normal}.assistant-tokens{display:grid;gap:8px;justify-items:start}.assistant-tokens ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;width:100%}.assistant-tokens li{display:flex;align-items:center;justify-content:space-between;gap:8px}.assistant-tokens li span{display:grid}.assistant-tokens li b{font-size:var(--fs-sm);font-weight:600}.assistant-tokens li small{font-size:var(--fs-xs);color:var(--ink-3)}.assistant-how{display:grid;gap:6px;font-size:var(--fs-sm)}.assistant-how summary{cursor:pointer;color:var(--ink-2);font-weight:600}.assistant-how p{margin:8px 0 4px}.assistant-settings,.assistant-how,.assistant-fresh{grid-template-columns:minmax(0,1fr);min-width:0}.assistant-copy .btn{flex:none}.panel-modal.settings-window{height:min(680px,100%)}.settings-window .panel-modal-body{padding:0}.settings-body{flex:1;min-height:0;display:grid;grid-template-columns:200px minmax(0,1fr)}.settings-nav{display:flex;flex-direction:column;gap:14px;padding:16px 10px;border-right:var(--line);overflow-y:auto}.settings-group{display:grid;gap:2px}.settings-group h3{margin:0 0 4px 10px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}.settings-nav button{text-align:left;height:32px;padding:0 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--ink-2)}.settings-nav button:hover{background:var(--control-hover);color:var(--ink)}.settings-nav button.on{background:var(--accent-tint);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent)}.settings-pane{min-width:0;overflow-y:auto;padding:18px 24px 24px;display:flex;flex-direction:column;gap:12px}.settings-pane>h2{margin:0 0 4px;font-size:var(--fs-lg);font-weight:600;color:var(--ink)}.settings-pane .your-settings{display:grid;gap:10px}.settings-pane .your-settings h3{margin:12px 0 0;font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.settings-pane .hint{margin:0;font-size:var(--fs-xs);line-height:1.5;color:var(--ink-3)}.settings-profile{display:grid;gap:12px;max-width:420px}.settings-players{display:grid;gap:14px}.settings-players .room-page-section{margin:0}.settings-danger{display:grid;gap:10px}.settings-danger-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px #e5484d59}.settings-danger-row span{display:grid;gap:2px}.settings-danger-row b{font-size:var(--fs-sm);font-weight:600}.settings-danger-row small{font-size:var(--fs-xs);color:var(--ink-3)}.settings-danger-row .btn{flex:none}@media(max-width:700px){.settings-body{grid-template-columns:1fr}.settings-nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:var(--line)}}.settings-pane input[type=checkbox],.settings-pane input[type=radio]{accent-color:var(--accent)}.chat-row.concentration{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:2px;box-shadow:inset 3px 0 0 var(--violet-400),inset 0 0 0 1px rgba(var(--saga-hair, 214, 190, 140),.16);font-size:var(--fs-sm)}.chat-row.concentration .conc-text{flex:1;min-width:0;line-height:1.45;color:var(--ink-2)}.chat-row.concentration .conc-text b{color:var(--violet-400);font-weight:700;margin-right:4px}.chat-row.concentration .btn{flex:none}.conc-outcome{flex:none;font-size:var(--fs-xs);font-weight:700;color:var(--ink-3)}.chat-row.concentration.kept .conc-outcome{color:var(--teal-400)}.chat-row.concentration.lost .conc-outcome{color:var(--red-400)}.cchip-wrap{position:relative;display:inline-flex}.cchip.editable{cursor:pointer}.cchip-left{white-space:nowrap;font-size:var(--fs-2xs);opacity:.8;margin-left:2px}.cchip .rule em{display:block;margin-top:4px;font-style:normal;opacity:.7}.cduration{position:absolute;z-index:20;top:calc(100% + 6px);left:0;min-width:230px;padding:6px;display:flex;flex-direction:column}.cduration-custom{display:flex;gap:6px;padding:4px 6px}.cduration-custom input{width:80px}.cduration-note{margin:2px 8px 4px;font-size:var(--fs-2xs);color:var(--ink-4)}.cduration .cduration-remove{color:var(--red-400);border-top:1px solid var(--rule);margin-top:2px}.cduration,.filter-menu-list.hud{background-color:var(--night-900)}.workspace.display{cursor:none}.workspace.display .canvas-area{pointer-events:none}.workspace.display .zoom-indicator,.workspace.display .attack-hint,.workspace.display .token-bar-anchor{display:none}.settings-display-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.assistant-h{margin:8px 0 0;font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.cast-wrap{position:relative;display:inline-flex}.cast-menu{position:absolute;z-index:20;top:calc(100% + 6px);right:0;min-width:240px;padding:6px;display:flex;flex-direction:column}.cast-menu button{display:flex;justify-content:space-between;align-items:baseline;gap:12px;white-space:nowrap}.cast-menu small{color:var(--mist-500)}.your-turn{position:absolute;left:50%;top:96px;transform:translate(calc(-50% + var(--dock-shift)));z-index:9;display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 18px;border-radius:var(--r-pill);font-size:var(--fs-base);color:var(--ink);background:var(--night-900);box-shadow:var(--shadow-panel),0 0 0 1.5px var(--teal-400);animation:your-turn-in 4s ease both}.your-turn b{color:var(--teal-400);font-weight:700}.your-turn span:last-child{color:var(--ink-3)}.your-turn-dot{width:9px;height:9px;border-radius:50%;background:var(--teal-400);box-shadow:0 0 0 4px color-mix(in srgb,var(--teal-400) 25%,transparent)}@keyframes your-turn-in{0%{opacity:0;transform:translate(calc(-50% + var(--dock-shift)),-8px)}8%,85%{opacity:1;transform:translate(calc(-50% + var(--dock-shift)))}to{opacity:0}}@media(prefers-reduced-motion:reduce){.your-turn{animation:none}}.btn.btn-danger{color:#fff;background:var(--red-600);border-color:transparent;box-shadow:none}.btn.btn-danger:hover:not(:disabled){color:#fff;background:var(--red-500)}button.x-btn{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;padding:0;border:0;border-radius:50%;color:var(--ink-4);background:none;box-shadow:none;line-height:0}button.x-btn:hover,button.x-btn:focus-visible{color:var(--red-400);background:color-mix(in srgb,var(--red-400) 14%,transparent)}button.x-btn.sm{width:18px;height:18px}button.x-btn.cp-face-remove{width:18px;height:18px;background:var(--night-900);box-shadow:0 0 0 1px var(--rule)}.panel-modal.build-window{width:min(980px,100%);height:min(780px,100%)}.build-window .panel-modal-body{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;overflow:hidden}.build-steps{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.build-steps button{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 10px;border-radius:var(--r-sm);text-align:left;background:none;color:var(--ink-3);box-shadow:inset 0 -2px 0 var(--rule)}.build-steps button>span{display:grid;min-width:0;font-size:var(--fs-sm);font-weight:600;line-height:1.25}.build-steps button small{font-size:var(--fs-xs);font-weight:400;color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.build-steps button i{flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-style:normal;font-size:var(--fs-xs);font-weight:700;box-shadow:inset 0 0 0 1.5px currentColor}.build-steps button:hover:not(:disabled):not(.on){color:var(--ink-2)}.build-steps button.done{color:var(--ink-2);box-shadow:inset 0 -2px color-mix(in srgb,var(--accent) 45%,transparent)}.build-steps button.done i{color:var(--accent)}.build-steps button.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.build-steps button.on i{background:var(--accent);color:var(--ink-on-red);box-shadow:none}.build-steps button.on small{color:var(--ink-3)}.build-steps button.broken i{background:var(--amber-400);color:var(--night-900);box-shadow:none}.build-steps button:disabled{opacity:.4;cursor:not-allowed}.build-split{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;min-height:0}.build-list{display:grid;align-content:start;gap:2px;overflow-y:auto;padding-right:4px}.build-row{display:grid;gap:1px;padding:8px 12px;border-radius:var(--r-sm);text-align:left;background:none;box-shadow:inset 2px 0 0 transparent}.build-row b{font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.build-row small{font-size:var(--fs-xs);color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.build-row:hover{background:var(--field)}.build-row.on{background:var(--field);box-shadow:inset 2px 0 0 var(--accent)}.build-row.on b{color:var(--ink)}.build-row.on small{color:var(--ink-3)}.build-detail{display:grid;align-content:start;gap:20px;overflow-y:auto;padding:2px 6px 8px 2px}.build-empty{margin:0;padding:40px 0;text-align:center;color:var(--ink-3)}.build-choose{display:grid;align-content:start;gap:12px;min-height:0;overflow-y:auto;padding:2px}.build-choose>.build-hint{margin:0}.build-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.build-card{display:grid;align-content:start;gap:3px;padding:12px 14px;text-align:left;border:1px solid var(--rule);border-radius:var(--r-md);background:var(--control);transition:border-color .12s var(--ease-out),background .12s var(--ease-out)}.build-card:hover{border-color:var(--gold);background:var(--control-hover)}.build-card b{font-size:var(--fs-md);font-weight:600;color:var(--ink)}.build-card small{font-size:var(--fs-xs);color:var(--ink-3)}.build-card span{margin-top:4px;font-size:var(--fs-sm);line-height:1.4;color:var(--ink-2)}.build-head h3{margin:0;font-size:var(--fs-2xl);font-weight:600;color:var(--ink)}.build-head p{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink-3)}.build-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:0}.build-facts div{padding:10px 12px;border-radius:var(--r-sm);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.build-facts dt{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}.build-facts dd{margin:2px 0 0;font-size:var(--fs-sm);font-weight:600;color:var(--ink);line-height:1.35}.build-section{display:grid;gap:10px}.build-section h4{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.build-count{font-size:var(--fs-xs);letter-spacing:0;text-transform:none;color:var(--amber-400)}.build-count.done{color:var(--teal-400)}.build-hint{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--ink-3)}.build-hint b{color:var(--ink);font-weight:600}.build-hint b.over{color:var(--amber-400)}.build-chips{display:flex;flex-wrap:wrap;gap:6px}.build-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--ink-2);background:var(--field);box-shadow:inset 0 0 0 1px var(--field-border)}.build-chip:hover:not(:disabled){color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink-4)}.build-chip.on{color:var(--ink-on-red);background:var(--accent);box-shadow:none;font-weight:600}.build-chip.on:before{content:"✓";font-size:var(--fs-xs)}.build-chip.clash{background:var(--amber-400);color:var(--night-900)}.build-chip:disabled{cursor:not-allowed;opacity:.45}.build-chip.had{opacity:.55}.build-chip small{font-size:var(--fs-2xs);color:var(--ink-4)}.build-kits{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.build-kit{display:grid;align-content:start;gap:6px;padding:12px 14px;border-radius:var(--r-sm);text-align:left;background:var(--field);box-shadow:inset 0 0 0 1px var(--field-border)}.build-kit:hover{box-shadow:inset 0 0 0 1px var(--ink-4)}.build-kit.on{box-shadow:inset 0 0 0 2px var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--field))}.build-kit b{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.build-kit>span{font-size:var(--fs-sm);line-height:1.45;color:var(--ink-3)}.build-kit ul{margin:0;padding:0;list-style:none;display:grid;gap:2px;font-size:var(--fs-sm);color:var(--ink-2)}.build-kit li.gp{color:var(--saga-gold, var(--accent));font-weight:600}.build-kit .gp-big{font-size:var(--fs-lg);font-weight:700;color:var(--saga-gold, var(--accent))}.build-kit .gp-big small{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--ink-3)}.build-boost{display:inline-flex;justify-self:start;padding:2px;border-radius:var(--r-pill);background:var(--field);box-shadow:inset 0 0 0 1px var(--field-border)}.build-boost button{height:30px;padding:0 14px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3);background:none}.build-boost button:hover:not(.on){color:var(--ink)}.build-boost button.on{color:var(--ink-on-red);background:var(--accent)}.build-boost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.build-boost-ab{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--r-sm);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule);font-size:var(--fs-sm);color:var(--ink-2)}.build-boost-ab b{font-size:var(--fs-lg);color:var(--ink-4)}.build-boost-ab.on b{color:var(--teal-400)}.build-boost-ab:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--ink-4)}.build-boost-ab:disabled{cursor:default}.build-warn{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--r-sm);font-size:var(--fs-sm);line-height:1.45;color:var(--ink);background:color-mix(in srgb,var(--amber-400) 12%,transparent);box-shadow:inset 3px 0 0 var(--amber-400)}.build-warn .btn{flex:none}.build-features{display:grid;gap:2px}.build-feature{border-radius:var(--r-sm)}.build-feature summary{display:grid;gap:2px;padding:8px 10px;border-radius:var(--r-sm);cursor:pointer;list-style:none}.build-feature summary::-webkit-details-marker{display:none}.build-feature summary:hover{background:var(--field)}.build-feature summary b{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.build-feature summary b:after{content:" ›";color:var(--ink-4)}.build-feature[open] summary b:after{content:" ⌄"}.build-feature summary span{font-size:var(--fs-sm);line-height:1.45;color:var(--ink-3)}.build-feature[open] summary span{display:none}.build-feature p{margin:0;padding:0 10px 10px;font-size:var(--fs-sm);line-height:1.55;color:var(--ink-2);white-space:pre-line}.build-abilities{display:grid;align-content:start;gap:14px;overflow-y:auto}.build-boost.method{justify-self:start}.build-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.build-score{display:grid;gap:8px;justify-items:center;padding:14px 12px 12px;border-radius:var(--r-md);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.build-score.primary{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)}.build-score-h{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.build-score-h em{font-style:normal;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border-radius:var(--r-pill);color:var(--ink-on-red);background:var(--accent)}.build-score-big{display:flex;align-items:baseline;gap:6px}.build-score-big b{font-size:var(--fs-display);font-weight:700;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.build-score-big small{font-size:var(--fs-md);font-weight:600;color:var(--ink-3)}.build-score select{width:100%}.build-stepper{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;width:100%;gap:6px}.build-stepper button{height:32px;border-radius:var(--r-sm);font-size:var(--fs-lg);color:var(--ink);background:var(--field);box-shadow:inset 0 0 0 1px var(--field-border)}.build-stepper button:disabled{opacity:.35;cursor:not-allowed}.build-stepper span{display:grid;justify-items:center;font-size:var(--fs-md);font-weight:600;color:var(--ink-2);line-height:1.1}.build-stepper span small{font-size:var(--fs-2xs);font-weight:400;color:var(--ink-4)}.build-score-bonus{font-size:var(--fs-xs);color:var(--teal-400);min-height:1.2em}.build-final{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-content:start;overflow-y:auto}.build-who{display:grid;align-content:start;gap:14px}.build-portrait{width:120px;height:120px;display:grid;place-items:center;align-content:center;gap:4px;justify-self:center}.build-portrait small{font-size:var(--fs-xs);color:var(--ink-3)}.build-card{display:grid;gap:14px;padding:18px;border-radius:var(--r-md);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.build-card-h b{display:block;font-size:var(--fs-xl);font-weight:600;color:var(--ink)}.build-card-h span{font-size:var(--fs-sm);color:var(--ink-3)}.build-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.build-stats div,.build-abil-row div{display:grid;justify-items:center;padding:8px 4px;border-radius:var(--r-sm);background:var(--field)}.build-stats small,.build-abil-row small{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}.build-stats b{font-size:var(--fs-xl);font-weight:700;color:var(--ink)}.build-abil-row{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.build-abil-row b{font-size:var(--fs-lg);font-weight:700;color:var(--ink);line-height:1.2}.build-abil-row em{font-style:normal;font-size:var(--fs-xs);color:var(--ink-3)}.build-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:var(--fs-sm)}.build-dl dt{color:var(--ink-4)}.build-dl dd{margin:0;color:var(--ink-2);line-height:1.45}.build-todo{margin:0;padding:10px 12px 10px 28px;border-radius:var(--r-sm);background:var(--field);display:grid;gap:4px;font-size:var(--fs-sm);line-height:1.45;color:var(--ink-2)}.build-todo:empty{display:none}.build-need{font-size:var(--fs-sm);color:var(--amber-400)}.build-need:before{content:"● ";font-size:var(--fs-2xs);vertical-align:middle}.build-so-far{font-size:var(--fs-sm);color:var(--ink-3)}.build-so-far b{color:var(--ink);font-weight:600}.spell-picker .panel-modal-body{grid-template-rows:auto minmax(0,1fr)}.spell-picker-filters{display:grid;grid-template-columns:minmax(0,1fr) 170px 140px;gap:8px}.spell-picker-filters input,.spell-picker-filters select{height:36px;padding:0 12px;border-radius:var(--r-sm);background:var(--field);color:var(--ink);border:1px solid var(--field-border);outline:none}.spell-picker-filters input:focus{border-color:var(--accent)}.spell-picker .build-split{grid-template-columns:260px minmax(0,1fr)}.build-spells{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;min-height:0}.build-spell-lists{display:grid;align-content:start;gap:18px;overflow-y:auto;padding-right:6px}.build-peek{display:grid;align-content:start;gap:8px;overflow-y:auto;padding:16px;border-radius:var(--r-md);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule)}.build-peek h3{margin:0;font-size:var(--fs-xl);font-weight:600;color:var(--ink)}.build-peek-kind{margin:0;font-size:var(--fs-sm);color:var(--ink-3)}.build-peek-text{margin:0;font-size:var(--fs-sm);line-height:1.55;color:var(--ink-2);white-space:pre-line}.build-peek-text b{color:var(--ink)}@media(max-width:720px){.build-steps button>span small{display:none}.build-split,.build-final,.build-spells{grid-template-columns:1fr}.build-list{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto}.build-scores{grid-template-columns:repeat(2,minmax(0,1fr))}}.table-timer{top:14px;left:calc(var(--brand-w, 300px) + 12px + (100vw - var(--brand-w, 300px) - 12px - var(--dock-right)) / 2);transform:translate(-50%);z-index:9;gap:12px;min-width:220px;padding:10px 12px 10px 14px;border-radius:var(--r-lg);transition:left .2s var(--ease-out)}.table-timer.below{top:100px}.table-timer-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;color:var(--saga-gold, var(--accent));background:var(--field)}.table-timer-main{display:grid;gap:4px;min-width:0;flex:1}.table-timer-main small{font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.table-timer-main b{font-size:var(--fs-3xl);font-weight:700;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.02em}.table-timer-bar{display:block;height:4px;border-radius:2px;background:var(--field);overflow:hidden}.table-timer-bar i{display:block;height:100%;border-radius:inherit;background:var(--saga-gold, var(--accent));transition:width .2s linear}.table-timer-tag{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:2px 8px;border-radius:var(--r-pill);background:var(--field)}.table-timer.paused .table-timer-main b{color:var(--ink-3)}.table-timer-gm{display:flex;gap:4px;flex:none}.table-timer-gm button{display:grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:700;color:var(--ink-2);background:var(--field);box-shadow:inset 0 0 0 1px var(--field-border)}.table-timer-gm button:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink-4)}.table-timer.urgent{box-shadow:0 0 0 1px var(--red-500),0 8px 30px #e5484d59}.table-timer.urgent .table-timer-main b,.table-timer.urgent .table-timer-icon{color:var(--red-400)}.table-timer.urgent .table-timer-bar i{background:var(--red-500)}.table-timer.done{box-shadow:0 0 0 2px var(--red-500),0 8px 36px #e5484d80}.table-timer.done .table-timer-main b{color:var(--red-400);font-size:var(--fs-2xl)}.table-timer.done .table-timer-icon{color:var(--ink-on-red);background:var(--red-500)}@media(prefers-reduced-motion:no-preference){.table-timer.urgent:not(.paused){animation:table-timer-pulse 1s ease-in-out infinite}.table-timer.done{animation:table-timer-flash .6s ease-in-out 3}}@keyframes table-timer-pulse{50%{box-shadow:0 0 0 2px var(--red-500),0 8px 40px #e5484d99}}@keyframes table-timer-flash{50%{transform:translate(-50%) scale(1.06)}}@media(max-width:900px){.table-timer{top:64px;left:50%}.table-timer.below{top:140px}}.start-timer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:end center;padding-bottom:88px}.start-timer-scrim.top{place-items:start start;padding:70px 0 0 14px}.start-timer{width:min(360px,calc(100vw - 32px));display:grid;gap:12px;padding:16px;border-radius:var(--r-lg);background:var(--night-900);border:var(--line);box-shadow:0 24px 60px #0000008c;color:var(--ink)}.start-timer h3{margin:0;font-size:var(--fs-lg);font-weight:600}.start-timer>p{margin:-8px 0 0;font-size:var(--fs-sm);color:var(--ink-3)}.start-timer-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:2px;border-radius:var(--r-pill);background:var(--field);box-shadow:inset 0 0 0 1px var(--field-border)}.start-timer-presets button{height:30px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3);background:none}.start-timer-presets button.on{color:var(--ink-on-red);background:var(--accent)}.start-timer-custom{display:grid;grid-template-columns:1fr 1fr;gap:8px}.start-timer-custom label{display:grid;gap:4px;font-size:var(--fs-xs);color:var(--ink-3)}.start-timer input:not([type=checkbox]),.start-timer-custom input{height:34px;padding:0 10px;border-radius:var(--r-sm);background:var(--field);color:var(--ink);border:1px solid var(--field-border)}.start-timer-tip{margin:0;font-size:var(--fs-xs);color:var(--ink-4)}.start-timer-tip code{color:var(--ink-3)}.start-timer-actions{display:flex;justify-content:flex-end;gap:8px}.panel-modal.scn{width:min(1180px,100%);height:min(820px,100%)}.scn-head{gap:12px}.scn-head h2{flex:none}.scn-search{flex:1;max-width:360px;display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;margin-left:8px;border-radius:var(--r-pill);background:var(--field);box-shadow:inset 0 0 0 1px var(--field-border);color:var(--ink-3)}.scn-search input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--ink);font-size:var(--fs-sm)}.scn-search:focus-within{box-shadow:inset 0 0 0 1px var(--accent)}.scn-head .btn-primary{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.scn-body{flex:1;min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr)}.scn-rail{display:flex;flex-direction:column;gap:2px;padding:14px 12px;border-right:1px solid var(--rule);overflow-y:auto}.scn-rail-h{margin:14px 10px 4px;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}.scn-folder{position:relative;display:flex;align-items:center;border-radius:var(--r-sm)}.scn-folder-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);background:none;color:var(--ink-2);font-size:var(--fs-sm);text-align:left}.scn-folder-main span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scn-folder-main small{font-size:var(--fs-xs);color:var(--ink-4);font-variant-numeric:tabular-nums}.scn-folder:hover .scn-folder-main{background:var(--field);color:var(--ink)}.scn-folder.on .scn-folder-main{background:var(--field);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent);font-weight:600}.scn-folder.on .scn-folder-main svg{color:var(--accent)}.scn-folder.drop .scn-folder-main{background:color-mix(in srgb,var(--accent) 18%,var(--field));box-shadow:inset 0 0 0 1px var(--accent)}.scn-folder-tools{position:absolute;right:6px;display:none;gap:2px}.scn-folder:hover .scn-folder-tools,.scn-folder:focus-within .scn-folder-tools{display:flex}.scn-folder:hover .scn-folder-main small,.scn-folder:focus-within .scn-folder-main small{visibility:hidden}.scn-folder-tools button{height:24px;padding:0 6px;border-radius:var(--r-xs);font-size:var(--fs-xs);color:var(--ink-3);background:var(--night-850)}.scn-folder-tools button:hover{color:var(--ink)}.scn-add-folder{display:flex;align-items:center;gap:8px;margin-top:6px;padding:8px 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--ink-3);background:none}.scn-add-folder:hover{color:var(--ink);background:var(--field)}.scn-name-input{height:34px;padding:0 10px;border-radius:var(--r-sm);background:var(--field);color:var(--ink);border:1px solid var(--accent);outline:none;font-size:var(--fs-sm);min-width:0}.scn-rail-tip{margin:auto 10px 0;padding-top:16px;font-size:var(--fs-xs);line-height:1.45;color:var(--ink-4)}.scn-main{display:flex;flex-direction:column;min-height:0;padding:16px 20px 20px;overflow-y:auto}.scn-main-h{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.scn-main-h h3{margin:0;font-size:var(--fs-xl);font-weight:600;color:var(--ink)}.scn-main-h span{font-size:var(--fs-sm);color:var(--ink-3)}.scn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;align-content:start}.scn-empty{flex:1;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--ink-3);text-align:center}.scn-empty p{margin:0}.scn-card{position:relative;display:grid;border-radius:var(--r-md);background:var(--night-850);box-shadow:inset 0 0 0 1px var(--rule);transition:box-shadow .15s var(--ease-out),transform .15s var(--ease-out)}.scn-thumb{position:relative;display:block;aspect-ratio:16 / 10;padding:0;border-radius:var(--r-md) var(--r-md) 0 0;overflow:hidden;background:var(--night-900)}.scn-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s var(--ease-out)}.scn-thumb:hover img{transform:scale(1.03)}.scn-thumb-none{display:grid;place-items:center;width:100%;height:100%;color:var(--ink-4);background:repeating-linear-gradient(45deg,var(--night-900) 0 10px,var(--night-850) 10px 20px)}.scn-badges{position:absolute;left:8px;top:8px;display:flex;gap:6px;flex-wrap:wrap}.scn-badge{padding:3px 8px;border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.04em;box-shadow:0 2px 8px #0006}.scn-badge.live{color:var(--ink-on-red);background:var(--accent)}.scn-badge.live:before{content:"● "}.scn-badge.you{color:#fff;background:var(--blue-500)}.scn-card-body{display:grid;gap:4px;padding:10px 12px 12px}.scn-card-title{display:flex;align-items:center;gap:6px;min-width:0}.scn-card-title b{flex:1;min-width:0;font-size:var(--fs-md);font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scn-card-title .scn-name-input{flex:1;height:28px}.scn-more{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--ink-3);background:none}.scn-more:hover,.scn-more[aria-expanded=true]{color:var(--ink);background:var(--field)}.scn-card-body>small{font-size:var(--fs-xs);color:var(--ink-3)}.scn-move{margin-top:6px;width:100%;height:30px;justify-content:center}.scn-live-note{margin-top:6px;height:30px;display:grid;place-items:center;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.scn-menu{position:absolute;z-index:5;right:8px;top:calc(100% - 64px);width:220px;max-height:340px;overflow-y:auto;display:grid;padding:6px;border-radius:var(--r-md);background:var(--night-900);border:var(--line);box-shadow:0 16px 40px #0000008c}.scn-menu button{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--ink-2);background:none;text-align:left}.scn-menu button:hover:not(:disabled){background:var(--field);color:var(--ink)}.scn-menu button[aria-checked=true]{color:var(--ink);font-weight:600}.scn-menu button[aria-checked=true]:after{content:"✓";margin-left:auto;color:var(--accent)}.scn-menu button.danger{color:var(--danger)}.scn-menu button:disabled{opacity:.45;cursor:not-allowed}.scn-menu-h{padding:8px 10px 2px;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}.scn-menu-sep{height:1px;margin:4px 6px;background:var(--rule)}.scn-menu .scn-name-input{margin:2px 4px}.scn-new .panel-modal-body{overflow-y:auto}.scn-maps{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.scn-map{display:grid;gap:2px;padding:6px 6px 8px;border-radius:var(--r-md);text-align:left;background:var(--field);box-shadow:inset 0 0 0 1px var(--field-border)}.scn-map:hover{box-shadow:inset 0 0 0 1px var(--ink-4)}.scn-map.on{box-shadow:inset 0 0 0 2px var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--field))}.scn-map-img{display:grid;place-items:center;aspect-ratio:16 / 10;margin-bottom:4px;border-radius:var(--r-sm);overflow:hidden;background:var(--night-900);color:var(--ink-3);font-size:var(--fs-sm)}.scn-map-img img{width:100%;height:100%;object-fit:cover}.scn-map-img.blank{background:repeating-linear-gradient(45deg,var(--night-900) 0 10px,var(--night-850) 10px 20px)}.scn-map b{font-size:var(--fs-sm);font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}.scn-map small{font-size:var(--fs-xs);color:var(--ink-4);padding:0 4px}.scn-map.upload{box-shadow:none;border:1px dashed var(--ink-4);background:none}.scn-grid-fit{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;align-items:center}.scn-new-row{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:end}.scn-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:var(--fs-sm);color:var(--ink)}.scn-check input{margin-top:3px}.scn-check small{display:block;font-size:var(--fs-xs);color:var(--ink-3)}@media(max-width:720px){.scn-body{grid-template-columns:1fr}.scn-rail{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--rule)}.scn-rail-h,.scn-rail-tip{display:none}.scn-grid-fit,.scn-new-row{grid-template-columns:1fr}}.scn-here{display:block;margin-top:2px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scn-move-wrap{position:relative}.scn-move-menu{position:absolute;left:0;bottom:calc(100% + 6px);z-index:5;min-width:200px;display:grid;gap:6px;padding:10px;border-radius:var(--r-md);background:var(--night-900);border:1px solid var(--rule);box-shadow:var(--shadow-raised)}.scn-move-player{display:flex;align-items:center;gap:8px;padding:3px 2px;font-size:var(--fs-sm);color:var(--ink);cursor:pointer}.sh-h{margin:0 0 10px;font-family:var(--font-display);font-weight:600;font-style:normal;font-size:var(--fs-lg);line-height:1.2;color:var(--ink)}.sh-h-note{font-family:var(--font-ui);font-size:var(--fs-xs);color:var(--ink-4);text-transform:none;letter-spacing:0;font-weight:400}.sh-h-note.over{color:var(--red-400)}.sh-label{display:block;margin-bottom:4px;font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.sh-muted{color:var(--ink-3)}.sh-hint{margin:8px 0 0;font-size:var(--fs-xs);line-height:1.45;color:var(--ink-4)}.sh-empty{margin:6px 0;font-size:var(--fs-sm);color:var(--ink-3)}.sh-page :where(input[type=text],input[type=number],select,textarea){font:inherit;font-size:var(--fs-base);padding:5px 8px;color:var(--ink);background:var(--paper-3);border:1px solid var(--field-border);border-radius:var(--r-xs);outline:none}.sh-page :where(input[type=text],input[type=number],select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.sh-page :where(input,select,textarea):disabled{color:var(--ink-2);opacity:.8;cursor:default}.sh-page input::placeholder,.sh-page textarea::placeholder{color:var(--ink-4)}.sh-page input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;margin:0}.sh-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 10px;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:600;line-height:1.3;color:var(--ink);background:var(--paper);border:1px solid var(--edge);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;text-align:center}.sh-btn:hover:not(:disabled){background:var(--paper-2);box-shadow:none}.sh-btn:active:not(:disabled){transform:translate(1px,1px);box-shadow:none}.sh-btn:disabled{opacity:.4;cursor:not-allowed}.sh-btn-sm{padding:2px 7px}.sh-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;overflow-y:auto;color:var(--ink);background:var(--grain),var(--paper-2);font-family:var(--font-ui)}.sh-portrait-initial{width:60px;height:60px;display:block;border:var(--line);border-radius:var(--r-md);box-shadow:none}.sh-portrait-initial{display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:var(--fs-2xl);color:var(--ink-on-red);-webkit-user-select:none;user-select:none}.sh-card{padding:10px;background:var(--paper-2);border:1px solid var(--edge);border-radius:var(--r-sm)}.sh-page input.sh-strong{font-weight:600}.sh-feature-use{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:var(--fs-xs);color:var(--ink-3)}.sh-feature-use label{display:inline-flex;align-items:center;gap:6px}.sh-feature-use input{width:52px}.sh-slot{display:flex;align-items:center;gap:6px;padding:4px 6px;background:var(--paper-2);border:1px solid var(--edge);border-radius:var(--r-sm)}.sh-slot.is-empty{background:transparent;border-style:dashed;border-color:var(--ink-4);opacity:.75}.sh-slot-level{width:24px;font-family:var(--font-display);font-weight:600;color:var(--ink)}.sh-slot-count{width:50px;text-align:center;font-variant-numeric:tabular-nums}.sh-prep{display:flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--ink-2)}.docs-pill{border:1px solid var(--edge)}.docs-pill.shared{color:var(--ink-on-red);background:var(--accent);border-color:transparent}.docs-pill.private{color:var(--ink-3);background:var(--paper-3)}.docs-title,.docs-title-input{font-family:var(--font-display);font-weight:600;font-style:normal;font-size:var(--fs-2xl);color:var(--ink)}.docs-title-input{border-bottom:1px solid var(--edge)}.docs-title-input:focus{border-bottom-color:var(--accent)}.docs-body-input{color:var(--ink);background:var(--paper-3);border:1px solid var(--field-border);border-radius:var(--r-xs)}.docs-body-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.docs-markdown code{color:var(--ink-2);background:var(--paper-3)}.docs-image{border:var(--line);border-radius:var(--r-sm);box-shadow:none}.docs-markdown{color:var(--ink)}.docs-markdown h1,.docs-markdown h2,.docs-markdown h3{font-weight:400;font-style:normal;color:var(--ink)}.docs-markdown h1{font-size:var(--fs-xl)}.docs-markdown h2{font-size:var(--fs-lg);padding-bottom:3px;border-bottom:1px solid var(--edge)}.docs-markdown a{color:var(--accent-strong)}.docs-markdown pre{background:var(--paper-3);border:1px solid var(--field-border)}.docs-markdown pre code{color:var(--ink);background:transparent}.docs-markdown blockquote{border-left:3px solid var(--accent);color:var(--ink-2);font-style:normal;background:var(--paper-2)}.docs-empty{color:var(--ink-4);font-style:normal}.btn,.sh-btn,.door-state-btn,.door-controls-del,.turn-remove{border:1px solid transparent;background:var(--control);box-shadow:none;color:var(--ink);transition:background .12s var(--ease-out),color .12s var(--ease-out)}.btn:hover:not(:disabled),.sh-btn:hover:not(:disabled),.door-state-btn:hover,.door-controls-del:hover{background:var(--control-hover);border-color:transparent;box-shadow:none}.btn:active:not(:disabled),.sh-btn:active:not(:disabled){transform:translateY(1px)}.btn-primary,.door-state-btn.active{background:var(--accent);color:var(--ink-on-red);border-color:transparent;box-shadow:none}.btn-primary:hover:not(:disabled),.door-state-btn.active:hover{background:var(--accent-strong);border-color:transparent}.docs-pill.shared{background:var(--accent-tint);color:var(--blue-400);border-color:transparent}.turn-remove{background:transparent}.sh-page :where(input[type=text],input[type=number],select,textarea),.docs-body-input,.join-card input{background:var(--field);border:1px solid var(--field-border);box-shadow:none}.sh-page :where(input[type=text],input[type=number],select,textarea):focus,.docs-body-input:focus,.join-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.toolbar .tool,.right-tab,.toolbar .tool.active,.right-tab.active{border-color:transparent}.sh-spell{display:grid;gap:4px;padding:6px 0;border-bottom:1px solid var(--rule)}.sh-spell-area{display:flex;align-items:center;gap:6px;padding-left:66px;font-size:var(--fs-sm)}.sh-spell-area select{width:auto}.sh-spell-area input[type=number]{width:64px}.ish-page{background:radial-gradient(1200px 700px at 50% 0%,rgba(42,63,82,.22),transparent 70%),var(--night-950)}.ish{--orn: #c9a96a;--orn-hi: #e2c275;--orn-a: rgba(201, 169, 106, .72);--orn-b: rgba(201, 169, 106, .38);--orn-c: rgba(201, 169, 106, .16);--ish-sheet: #091119;--ish-panel: #0c1620;--ish-raised: #111d29;--ish-hover: #152434;--ish-well: #07111a;--ish-cell: rgba(17, 29, 41, .7);--ish-name: #f1e4c3;--ish-name-shadow: 0 1px 0 rgba(0, 0, 0, .6), 0 0 18px rgba(226, 194, 117, .15);--ish-shield-top: #1b2d40;--ish-heart-fill: rgba(45, 212, 191, .12);--ish-cast-ink: #e9e2ff;--orn-glow: #f3dc9c;--orn-rgb: 201, 169, 106;--orn-hi-rgb: 226, 194, 117;--serif: "Cinzel", "Cormorant SC", Georgia, serif;--fr-panel: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'><path d='M12 1.5H52A10.5 10.5 0 0 0 62.5 12V52A10.5 10.5 0 0 0 52 62.5H12A10.5 10.5 0 0 0 1.5 52V12A10.5 10.5 0 0 0 12 1.5Z' fill='%230c1620' stroke='%23c9a96a' stroke-opacity='.72'/><path d='M15.4 5.5H48.6A14.5 14.5 0 0 0 58.5 15.4V48.6A14.5 14.5 0 0 0 48.6 58.5H15.4A14.5 14.5 0 0 0 5.5 48.6V15.4A14.5 14.5 0 0 0 15.4 5.5Z' fill='none' stroke='%23c9a96a' stroke-opacity='.26'/><g fill='%23e2c275' fill-opacity='.85'><path d='M4.6 2.2l2.4 2.4-2.4 2.4-2.4-2.4z'/><path d='M59.4 2.2l2.4 2.4-2.4 2.4-2.4-2.4z'/><path d='M4.6 57l2.4 2.4-2.4 2.4-2.4-2.4z'/><path d='M59.4 57l2.4 2.4-2.4 2.4-2.4-2.4z'/></g></svg>");--fr-box: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'><path d='M9 1.5H39L46.5 9V39L39 46.5H9L1.5 39V9Z' fill='%230c1620' stroke='%23c9a96a' stroke-opacity='.66'/><path d='M10.2 4.5H37.8L43.5 10.2V37.8L37.8 43.5H10.2L4.5 37.8V10.2Z' fill='none' stroke='%23c9a96a' stroke-opacity='.2'/><g fill='%23e2c275' fill-opacity='.8'><path d='M3.4 1.6l1.8 1.8-1.8 1.8-1.8-1.8z'/><path d='M44.6 1.6l1.8 1.8-1.8 1.8-1.8-1.8z'/><path d='M3.4 42.8l1.8 1.8-1.8 1.8-1.8-1.8z'/><path d='M44.6 42.8l1.8 1.8-1.8 1.8-1.8-1.8z'/></g></svg>");--fr-stat: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'><defs><linearGradient id='g' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23122030'/><stop offset='1' stop-color='%230c1620'/></linearGradient></defs><path d='M9.5 1.5H38.5A8 8 0 0 0 46.5 9.5V38.5A8 8 0 0 0 38.5 46.5H9.5A8 8 0 0 0 1.5 38.5V9.5A8 8 0 0 0 9.5 1.5Z' fill='url(%23g)' stroke='%23c9a96a' stroke-opacity='.75'/><path d='M12.45 5H35.55A11.5 11.5 0 0 0 43 12.45V35.55A11.5 11.5 0 0 0 35.55 43H12.45A11.5 11.5 0 0 0 5 35.55V12.45A11.5 11.5 0 0 0 12.45 5Z' fill='none' stroke='%23c9a96a' stroke-opacity='.28'/><g fill='%23e2c275' fill-opacity='.85'><path d='M4 2.3l1.7 1.7L4 5.7 2.3 4z'/><path d='M44 2.3l1.7 1.7L44 5.7 42.3 4z'/><path d='M4 42.3l1.7 1.7L4 45.7 2.3 44z'/><path d='M44 42.3l1.7 1.7-1.7 1.7-1.7-1.7z'/></g></svg>");max-width:1360px;margin:0 auto;padding:18px 24px 40px;font-variant-numeric:tabular-nums lining-nums}.ish button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.ish button.ish-box{border:16px solid transparent;border-image:var(--fr-box) 16 fill / 16px stretch}.ish button.ish-dot{border:1px solid var(--orn-b)}.ish button.ish-dot.on{border-color:var(--orn-hi)}.ish button:disabled{cursor:default}.ish-cap,.ish-ttl,.ish-tab,.ish-skill-head,.ish-atk th{font-family:var(--serif);font-weight:600;text-transform:uppercase;letter-spacing:.14em}.ish-cap{font-size:var(--fs-2xs);color:var(--ink-3)}.ish-panel{position:relative;padding:14px 6px 6px;border:22px solid transparent;border-image:var(--fr-panel) 22 fill / 22px stretch}.ish-box{position:relative;border:16px solid transparent;border-image:var(--fr-box) 16 fill / 16px stretch}.ish-ttl{position:absolute;left:50%;top:-22px;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;margin:0;padding:2px 12px;font-size:var(--fs-2xs);color:var(--orn-hi);background:linear-gradient(var(--night-950) 50%,var(--ish-panel) 50%)}.ish-ttl:before,.ish-ttl:after{content:"";width:5px;height:5px;transform:rotate(45deg);background:var(--orn);opacity:.8}.ish-head{display:flex;align-items:center;gap:20px;padding:6px 4px 18px;border-bottom:1px solid var(--orn-c);margin-bottom:26px}.ish-portrait{position:relative;width:116px;height:116px;flex:none}.ish-portrait-img,.ish-portrait .sh-portrait-initial{position:absolute;left:13.6%;top:13.6%;width:72.8%;height:72.8%;border-radius:50%;object-fit:cover;background:var(--ish-raised);display:grid;place-items:center;font-size:var(--fs-3xl);font-weight:700}.ish-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.ish-lvl{position:absolute;left:50%;bottom:-2px;transform:translate(-50%);display:flex;align-items:center;gap:5px;height:22px;padding:0 10px;border-radius:var(--r-pill);background:var(--ish-raised);border:1px solid var(--orn-a);box-shadow:0 0 0 3px var(--night-950);font-size:var(--fs-sm);font-weight:600}.ish-lvl small{font-family:var(--serif);font-size:var(--fs-2xs);letter-spacing:.14em;color:var(--orn)}.ish-portrait-edit{position:absolute;right:6px;top:6px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent)!important;color:#fff!important}.ish-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ish-name{margin:0;font-family:var(--serif);font-weight:600;font-size:var(--fs-display);letter-spacing:.06em;line-height:1.1;color:var(--ish-name);text-shadow:var(--ish-name-shadow);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ish-page input.ish-name-input{font-family:var(--serif);font-weight:600;font-size:var(--fs-3xl);letter-spacing:.04em;color:var(--ish-name);max-width:520px}.ish-sub{font-size:var(--fs-md);color:var(--ink-2)}.ish-xp small{color:var(--ink-4)}.ish .ish-btn.ready{border-color:var(--orn-hi);color:var(--orn-hi);box-shadow:0 0 0 3px rgba(var(--orn-hi-rgb),.15)}.ish-hd-pools{display:inline-flex;gap:10px}.ish-gems i.d6,.ish-gems i.d8{width:8px;height:8px}.ish-sub-edit{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}.ish-sub-edit label{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--ink-3)}.ish-page .ish-sub-edit input{height:28px;font-size:var(--fs-sm);padding:2px 8px}.ish-owner{font-size:var(--fs-xs);color:var(--ink-4)}.ish-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ish-actions .rests{gap:8px}.ish-actions .rests .btn,.ish-btn{height:32px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);font-weight:600;letter-spacing:.02em;color:var(--ink);background:var(--ish-raised);border:1px solid var(--orn-b)!important;border-radius:4px}.ish-actions .rests .btn:hover,.ish-btn:hover{border-color:var(--orn-a)!important;background:var(--ish-hover)}.ish-btn.on{background:var(--accent);border-color:transparent!important;color:#fff}.ish-btn.danger{color:var(--red-400)}.ish-btn svg{color:var(--orn-hi)}.ish-btn.on svg{color:#fff}.ish-seg{display:inline-flex;padding:2px;gap:2px;border-radius:4px;border:1px solid var(--orn-c)}.ish-seg button{height:26px;padding:0 10px;border-radius:3px;font-size:var(--fs-sm);font-weight:600;color:var(--ink-3)}.ish-seg button[aria-pressed=true]{background:var(--accent);color:#fff}.ish-close{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--ink-2);border:1px solid var(--orn-c)!important}.ish-close:hover{color:var(--ink);background:var(--control-hover)}.ish-stats{display:grid;grid-template-columns:repeat(6,minmax(80px,94px)) 96px 96px 100px minmax(340px,1fr);gap:10px;align-items:start;margin-bottom:34px}.ish-ab{position:relative;display:flex;flex-direction:column;align-items:center;border:16px solid transparent;border-image:var(--fr-stat) 14 fill / 16px stretch;padding-bottom:14px}.ish-ab-roll{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:0}.ish-ab-roll:hover .ish-ab-mod{color:var(--orn-hi)}.ish-ico{color:var(--orn-hi);opacity:.9;flex:none}.ish-ab-name{font-family:var(--serif);font-weight:600;font-size:var(--fs-sm);letter-spacing:.16em;padding-left:.16em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}.ish-ab-mod{font-size:var(--fs-stat);font-weight:600;line-height:1;letter-spacing:-.02em;color:var(--ink)}.ish-ab-mod .sg{font-weight:400;color:var(--ink-3);font-size:var(--fs-3xl);vertical-align:4px;margin-right:1px}.ish-ab.spell .ish-ab-name{color:var(--violet-400)}.ish-ab-score{position:absolute;left:50%;bottom:-16px;transform:translate(-50%,50%);width:52px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ish-raised);border:1px solid var(--orn-a);box-shadow:0 0 0 3px var(--night-950);font-size:var(--fs-lg);font-weight:600;color:var(--ink)}.ish-page input.ish-ab-score.is-edit{padding:0;text-align:center;border-radius:14px;width:56px}.ish-mini{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}.ish-mini b{font-size:var(--fs-3xl);font-weight:600;line-height:1.1}.ish-mini b small{font-size:var(--fs-sm);font-weight:500;color:var(--ink-3);margin-left:2px}.ish-page input.ish-mini-input{width:64px;text-align:center;font-size:var(--fs-xl)}.ish-insp{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:4px 0}.ish-insp .ish-cap{line-height:1.3;text-align:center}.ish-insp.on .ish-cap{color:var(--orn-hi)}.ish-insp.on svg{filter:drop-shadow(0 0 10px rgba(var(--orn-hi-rgb),.35))}.ish-insp-medal{position:relative;display:grid;place-items:center}.ish-insp-medal b{position:absolute;right:-2px;bottom:-2px;min-width:22px;height:22px;padding:0 5px;border-radius:11px;display:grid;place-items:center;font-size:var(--fs-xs);color:#1a1206;background:var(--orn-hi)}.ish-insp-step{display:inline-flex;gap:6px}.ish-insp-step button{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--orn);box-shadow:inset 0 0 0 1px var(--orn);opacity:.8}.ish-insp-step button:not(:disabled):hover{opacity:1;color:var(--orn-hi)}.ish-insp-step button:disabled{opacity:.3}.ish-hp{padding-top:4px;padding-bottom:0}.ish-hp-grid{display:flex;align-items:center;gap:14px}.ish-hp-adjust{display:flex;align-items:center;gap:6px;margin-top:8px}.ish-hp-adjust button{height:30px;padding:0 14px;border-radius:4px;font-size:var(--fs-sm);font-weight:600}.ish .ish-damage{color:var(--red-400);background:#ef444424}.ish .ish-damage:hover{background:#ef44443d}.ish .ish-heal{color:var(--success);background:#4ade801f}.ish .ish-heal:hover{background:#4ade8033}.ish-page input.ish-hp-amount{width:84px;height:30px;text-align:center;padding:2px 4px}.ish-hp-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.ish-hp-cell b{line-height:1;font-weight:600;letter-spacing:-.02em}.ish-hp-cell b.cur{font-size:var(--fs-stat);color:var(--teal-400);text-shadow:0 0 22px rgba(45,212,191,.18)}.ish-hp-cell b.max{font-size:var(--fs-3xl)}.ish-hp-cell b.tmp{font-size:var(--fs-3xl);color:var(--ink-3)}.ish-hp-cell.temp{margin-left:auto;padding-left:16px;border-left:1px solid var(--orn-c)}.ish-hp-grid{min-width:0}.ish-hp-slash{font-size:var(--fs-3xl);font-weight:300;color:var(--ink-4);align-self:flex-end}.ish-page input.ish-hp-input{width:58px;text-align:center;font-size:var(--fs-2xl);padding:4px}.ish-page input.ish-hp-input.temp{width:50px}.ish-bar{margin:8px 2px 2px;height:7px;border-radius:var(--r-pill);background:var(--ish-well);border:1px solid var(--night-600);overflow:hidden}.ish-bar i{display:block;height:100%;background:linear-gradient(90deg,#1aa594,var(--teal-400));border-radius:inherit}.ish-body{display:grid;grid-template-columns:290px 340px minmax(0,1fr);gap:34px 18px;align-items:start}.ish-col{display:flex;flex-direction:column;gap:34px;min-width:0}.ish-row{display:flex;align-items:center;gap:8px;min-height:26px;border-bottom:1px solid rgba(var(--orn-rgb),.08)}.ish-row:last-child{border-bottom:0}.ish-row-roll{flex:1;display:flex;align-items:center;gap:8px;min-height:26px;padding:0 4px;border-radius:3px;text-align:left}.ish-row-roll:hover{background:rgba(var(--orn-rgb),.08)}.ish-row .n{flex:1;font-size:var(--fs-base);color:var(--ink-2)}.ish-row .ab{width:32px;font-family:var(--serif);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.12em;color:var(--ink-4)}.ish-row .m{font-size:var(--fs-md);font-weight:600;color:var(--ink);min-width:30px;text-align:right}.ish-row.p .n{color:var(--ink);font-weight:500}.ish-row.p .m{color:var(--orn-hi)}.ish-dot{width:10px;height:10px;flex:none;border-radius:50%;border:1px solid var(--orn-b);padding:0;position:relative}.ish-dot.on{background:var(--orn-hi);border-color:var(--orn-hi);box-shadow:0 0 6px rgba(var(--orn-hi-rgb),.45)}.ish button.ish-dot.is-edit{width:14px;height:14px;border-width:1.5px;border-color:var(--orn-hi);cursor:pointer}.ish button.ish-dot.is-edit:hover{box-shadow:0 0 0 3px rgba(var(--orn-hi-rgb),.25)}.ish.is-editing .ish-ab-score.is-edit,.ish.is-editing input.ish-hp-input,.ish.is-editing input.ish-mini-input,.ish.is-editing .ish-shield-input,.ish.is-editing .ish-name-input{border:1px solid var(--orn-hi)!important;box-shadow:0 0 0 3px rgba(var(--orn-hi-rgb),.12)}.ish-dot.x2:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:1px solid var(--orn-hi)}.ish-dot.is-edit{cursor:pointer;outline:1px dashed transparent}.ish-dot.is-edit:hover{box-shadow:0 0 0 3px var(--orn-c)}.ish-saves{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.ish-saves .ish-row .n{font-family:var(--serif);font-size:var(--fs-sm);font-weight:600;letter-spacing:.1em}.ish-senses{display:flex;flex-direction:column;gap:6px}.ish-passive{display:flex;align-items:center;gap:10px}.ish-passive b,.ish-passive input{min-width:44px;height:28px;display:grid;place-items:center;font-size:var(--fs-md);font-weight:600;background:var(--ish-raised);border:1px solid var(--orn-b);border-radius:3px;padding:0 6px}.ish-page .ish-passive input{width:60px;text-align:center}.ish-passive span{font-size:var(--fs-sm);color:var(--ink-2)}.ish-hd{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}.ish-hd.is-edit{grid-template-columns:1fr;justify-items:center}.ish-hd-dice .ish-cap{white-space:nowrap}.ish-hd-dice{display:flex;flex-direction:column;align-items:center;gap:8px}.ish-hd-dice b{font-size:var(--fs-3xl);font-weight:600}.ish-hd-dice b small{font-size:var(--fs-md);color:var(--ink-3);margin-left:2px}.ish-hd-edit{display:flex;align-items:center;gap:4px}.ish-page .ish-hd-edit input{width:46px}.ish-gems{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;max-width:120px}.ish-gems i{width:10px;height:10px;transform:rotate(45deg);border:1px solid var(--orn-b)}.ish-gems i.on{background:var(--orn-hi);border-color:var(--orn-hi);box-shadow:0 0 6px rgba(var(--orn-hi-rgb),.35)}.ish-death{display:flex;flex-direction:column;gap:10px}.ish-death-row{display:flex;align-items:center;gap:7px}.ish-death-row .ish-cap{width:74px}.ish-pip{width:18px;height:18px;padding:0;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--orn-b)!important;color:var(--orn-b)}.ish-pip.ok.on{background:var(--teal-400);border-color:var(--teal-400)!important}.ish-pip.bad{border-radius:4px;border:0!important}.ish-pip.bad.on{color:var(--red-400)}.ish-details{display:flex;flex-direction:column;gap:8px}.ish-combat-actions{margin-top:18px}.ish-ca-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ish-ca-text{margin-top:10px;font-size:var(--fs-sm);line-height:1.5;color:var(--ink-2)}.ish-ca-text p{margin:0 0 6px}.ish-training{margin:0;display:grid;gap:8px}.ish-training div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;align-items:baseline}.ish-training dt{font-family:var(--serif);font-weight:600;font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.ish-training dd{margin:0;font-size:var(--fs-sm);color:var(--ink)}.ish-page .ish-training input{width:100%;height:28px;font-size:var(--fs-sm)}.ish-def-list.resistances{color:var(--teal-400)}.ish-def-list.immunities{color:var(--orn-hi)}.ish-def-list.vulnerabilities{color:var(--red-400)}.ish-def-grid{display:flex;flex-wrap:wrap;gap:4px}.ish .ish-def{display:inline-flex;flex-direction:column;align-items:center;padding:3px 8px;border-radius:4px;font-size:var(--fs-xs);text-transform:capitalize;color:var(--ink-3);border:1px solid var(--orn-b);line-height:1.2}.ish .ish-def small{font-size:var(--fs-2xs);text-transform:none}.ish .ish-def.resistances{color:var(--teal-400);border-color:var(--teal-400)}.ish .ish-def.immunities{color:var(--orn-hi);border-color:var(--orn-hi)}.ish .ish-def.vulnerabilities{color:var(--red-400);border-color:var(--red-400)}.ish-exh{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;margin-bottom:10px}.ish-exh small{font-size:var(--fs-xs);color:var(--ink-4)}.ish-exh.on small,.ish-exh.on b{color:var(--amber-400)}.ish-exh-step{display:inline-flex;align-items:center;gap:6px}.ish .ish-exh-step button{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--orn);box-shadow:inset 0 0 0 1px var(--orn-b)}.ish .ish-exh-step button:disabled{opacity:.35}.ish-exh-step b{min-width:12px;text-align:center;font-variant-numeric:tabular-nums}.ish-danger-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ish-hint{margin:10px 0 0;font-size:var(--fs-xs);color:var(--ink-4)}.ish-skill-head{display:flex;gap:8px;padding:0 4px 6px;font-size:var(--fs-2xs);color:var(--ink-4);border-bottom:1px solid var(--orn-b);margin-bottom:4px}.ish-skill-head{padding-left:62px}.ish-skill-head span:first-child{flex:1}.ish-combat{display:grid;grid-template-columns:112px 118px minmax(0,1fr);gap:14px;align-items:center}.ish-init{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0}.ish-init b{font-size:var(--fs-stat);font-weight:600;line-height:1}.ish-init:hover b{color:var(--orn-hi)}.ish-shield{position:relative;width:118px;height:138px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding-bottom:10px}.ish-shield-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ish-shield>:not(svg){position:relative}.ish-shield .ish-cap{font-size:var(--fs-2xs);color:var(--ink-2);letter-spacing:.1em}.ish-shield b{font-size:var(--fs-stat);font-weight:600;line-height:1.1}.ish-page input.ish-shield-input{width:58px;text-align:center;font-size:var(--fs-2xl)}.ish-conditions{align-self:stretch;padding-top:12px}.ish-none{font-size:var(--fs-sm);color:var(--ink-4)}.ish-cond-list{display:flex;flex-wrap:wrap;gap:6px}.ish-cond{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px 0 8px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:500;color:var(--ink);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 50%,transparent)}.ish-cond svg{color:var(--c)}.ish-tabs-panel{padding:4px 8px 10px;min-height:420px}.ish-tabs{display:flex;gap:2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--orn-b);margin-bottom:14px}.ish-tab{flex:none;white-space:nowrap;height:38px;padding:0 10px;font-size:var(--fs-xs);letter-spacing:.1em;color:var(--ink-3);border-bottom:2px solid transparent!important;margin-bottom:-1px}.ish-tab:hover{color:var(--ink)}.ish-tab[aria-selected=true]{color:var(--orn-hi);border-bottom-color:var(--orn-hi)!important}.ish-tab-body .sh-h{font-family:var(--serif);font-weight:600;font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--orn-hi)}.ish-atk{width:100%;border-collapse:collapse}.ish-atk th{font-size:var(--fs-2xs);color:var(--ink-4);text-align:left;padding:2px 8px 8px;border-bottom:1px solid var(--orn-b)}.ish-atk td{padding:10px 8px;border-bottom:1px solid rgba(var(--orn-rgb),.1);vertical-align:middle;font-size:var(--fs-md)}.ish-atk tr:last-child td{border-bottom:0}.ish-atk-name{display:flex;align-items:center;gap:10px;font-weight:500}.ish-atk-notes{font-size:var(--fs-sm);color:var(--ink-3)}.ish-atk-edit{display:grid;gap:6px}.ish-atk-edit-head,.ish-atk-edit-row{display:grid;grid-template-columns:minmax(0,1.3fr) 64px minmax(0,1.3fr) minmax(0,1fr) 28px;gap:6px;align-items:center}.ish-atk-edit-head span{font-family:var(--serif);font-weight:600;font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4)}.ish-atk-edit-row input{min-width:0;width:100%}.ish-notes{display:grid;gap:14px}.ish-notes p,.ish-feat p{margin:4px 0 0;white-space:pre-wrap;line-height:1.5;color:var(--ink-2)}.ish-items{list-style:none;margin:0;padding:0}.ish-items li+li{border-top:1px solid rgba(var(--orn-rgb),.1)}.ish .ish-item{width:100%;display:flex;align-items:baseline;gap:12px;padding:8px 2px;text-align:left}.ish .ish-item:not(:disabled):hover .ish-item-name{color:var(--orn-hi)}.ish-item-name{font-weight:500}.ish-item-row{display:flex;align-items:center;gap:8px}.ish-items.edit li{padding:3px 0}.ish .ish-item-open{cursor:pointer}.ish .ish-item-open:hover .ish-item-name{color:var(--orn-hi);text-decoration:underline;text-underline-offset:3px}.ish-item-row .ish-item{flex:1;min-width:0}.ish-item-toggles{display:inline-flex;gap:4px;flex:none}.ish-armour-edit{display:inline-flex;gap:4px;align-items:center}.ish .ish-tag-btn{height:24px;min-width:76px;padding:0 8px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;color:var(--ink-3);background:var(--control);border:0;white-space:nowrap}.ish .ish-tag-btn:hover:not(:disabled){color:var(--ink);background:var(--control-hover)}.ish .ish-tag-btn.on{color:var(--teal-400);background:color-mix(in srgb,var(--teal-400) 18%,transparent)}.ish .ish-tag-btn.violet.on{color:var(--violet-400, #a78bfa);background:color-mix(in srgb,var(--violet-400, #a78bfa) 18%,transparent)}.ish .ish-tag-btn:disabled{opacity:.7;cursor:default}.ish-items li.equipped .ish-item-name{color:var(--orn-hi)}.ish-item-name small{color:var(--ink-3)}.ish-item-notes{flex:1;min-width:0;font-size:var(--fs-sm);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ish-item-wt{margin-left:auto;font-size:var(--fs-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}.ish-feats{display:grid;gap:16px}.ish-feat header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.ish-feat header b{font-size:var(--fs-md)}.ish-feat-act{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:var(--r-pill);color:var(--orn-hi);border:1px solid var(--orn-b)}.ish-feat .cp-uses{margin-left:auto}.ish .ish-chip{display:inline-flex;align-items:baseline;justify-content:center;gap:6px;min-width:46px;height:30px;padding:0 12px;font-size:var(--fs-md);font-weight:600;color:var(--ink);background:var(--ish-raised);border:1px solid var(--orn-b);clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 50%,calc(100% - 6px) 100%,6px 100%,0 50%);line-height:28px}.ish .ish-chip:hover{background:var(--ish-hover);color:var(--orn-hi)}.ish .ish-chip.dmg small{font-size:var(--fs-xs);font-weight:400;color:var(--ink-3)}.ish:not(.is-editing) .ish-tab-body :where(input,textarea,select):disabled{background:transparent;border-color:transparent;opacity:1;color:var(--ink);padding-left:0;resize:none}.ish-spells{display:flex;flex-direction:column;gap:18px}.ish-sc-top{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ish .ish-sc-cell{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 9px;background:var(--ish-cell);border:1px solid var(--orn-c);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}.ish-sc-cell b{font-size:var(--fs-3xl);font-weight:600;line-height:1}.ish-sc-cell b.violet{color:var(--violet-400)}.ish button.ish-sc-cell:hover b{color:var(--orn-hi)}.ish-slots{display:flex;flex-direction:column}.ish-slot{display:grid;grid-template-columns:96px 1fr auto;align-items:center;height:36px;border-top:1px solid rgba(var(--orn-rgb),.1)}.ish-slot-pips{display:flex;gap:9px}.ish .ish-slot-pips button{width:16px;height:16px;padding:0;border-radius:50%;border:1.5px solid rgba(167,139,250,.5)}.ish .ish-slot-pips button.on{background:var(--violet-400);border-color:var(--violet-400);box-shadow:0 0 10px #a78bfa59}.ish .ish-slot-pips button:not(:disabled):hover{box-shadow:0 0 0 3px #a78bfa33}.ish-slot-count{font-size:var(--fs-sm);color:var(--ink-3)}.ish-slot-count b{color:var(--ink)}.ish-spell-group{display:flex;flex-direction:column}.ish-spell{display:flex;align-items:center;gap:10px;min-height:40px;border-bottom:1px solid rgba(var(--orn-rgb),.1)}.ish-spell:last-child{border-bottom:0}.ish .ish-spell-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 0;text-align:left}.ish-spell-name b{font-size:var(--fs-md);font-weight:500}.ish .ish-spell-name:hover b{color:var(--orn-hi)}.ish-spell-meta{font-size:var(--fs-xs);color:var(--ink-3)}.ish-spell.unprepared .ish-spell-name b{color:var(--ink-3)}.ish-spell.open{border-bottom-color:transparent}.ish-spell-save{flex:none;font-size:var(--fs-xs);font-weight:600;padding:4px 10px;border-radius:var(--r-pill);color:var(--violet-400);background:#a78bfa1f;white-space:nowrap}.ish-spell-text{padding:2px 0 12px;border-bottom:1px solid rgba(var(--orn-rgb),.1)}.ish-spell-text p{margin:0;white-space:pre-wrap;line-height:1.5;color:var(--ink-2);font-size:var(--fs-sm)}.ish-spell-text p.ish-spell-facts{margin-bottom:6px;font-size:var(--fs-xs);color:var(--ink-3)}.ish-slot-edit{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}.ish-slot-max{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 4px 4px 10px;border-radius:4px;border:1px solid var(--orn-b);font-size:var(--fs-sm)}.ish-slot-max.none{border-style:dashed;color:var(--ink-4)}.ish-page .ish-slot-max input{width:40px;text-align:center}.ish-spell-edit-row{display:grid;grid-template-columns:104px minmax(0,1fr) auto 28px;gap:6px;align-items:center}.ish-spell-edit-row input[type=text]{min-width:0}.sh-source-note{margin:0;font-size:var(--fs-2xs);color:var(--ink-4)}.ish .ish-cast{height:28px;padding:0 14px;border-radius:4px;font-size:var(--fs-sm);font-weight:600;color:var(--ish-cast-ink);background:#a78bfa24;border:1px solid rgba(167,139,250,.45)}.ish .ish-cast:hover:not(:disabled){background:#a78bfa42}.ish .ish-cast:disabled{opacity:.4}:root[data-theme=light] .ish-page{background:var(--night-950)}:root[data-theme=light] .ish{--orn: #9a7230;--orn-hi: #855e22;--orn-a: rgba(138, 99, 38, .7);--orn-b: rgba(138, 99, 38, .4);--orn-c: rgba(138, 99, 38, .2);--orn-glow: #a87c34;--orn-rgb: 138, 99, 38;--orn-hi-rgb: 168, 124, 52;--ish-sheet: #fffdf8;--ish-panel: #fbf8f1;--ish-raised: #f3ede1;--ish-hover: #ebe2d0;--ish-well: #e4dccb;--ish-cell: rgba(243, 237, 225, .8);--ish-name: #3a2c14;--ish-name-shadow: none;--ish-shield-top: #fffdf8;--ish-heart-fill: rgba(13, 138, 123, .1);--ish-cast-ink: #5b3fb0;--violet-400: #6d4fc7;--fr-panel: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'><path d='M12 1.5H52A10.5 10.5 0 0 0 62.5 12V52A10.5 10.5 0 0 0 52 62.5H12A10.5 10.5 0 0 0 1.5 52V12A10.5 10.5 0 0 0 12 1.5Z' fill='%23fbf8f1' stroke='%239a7230' stroke-opacity='.72'/><path d='M15.4 5.5H48.6A14.5 14.5 0 0 0 58.5 15.4V48.6A14.5 14.5 0 0 0 48.6 58.5H15.4A14.5 14.5 0 0 0 5.5 48.6V15.4A14.5 14.5 0 0 0 15.4 5.5Z' fill='none' stroke='%239a7230' stroke-opacity='.26'/><g fill='%23855e22' fill-opacity='.85'><path d='M4.6 2.2l2.4 2.4-2.4 2.4-2.4-2.4z'/><path d='M59.4 2.2l2.4 2.4-2.4 2.4-2.4-2.4z'/><path d='M4.6 57l2.4 2.4-2.4 2.4-2.4-2.4z'/><path d='M59.4 57l2.4 2.4-2.4 2.4-2.4-2.4z'/></g></svg>");--fr-box: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'><path d='M9 1.5H39L46.5 9V39L39 46.5H9L1.5 39V9Z' fill='%23fbf8f1' stroke='%239a7230' stroke-opacity='.66'/><path d='M10.2 4.5H37.8L43.5 10.2V37.8L37.8 43.5H10.2L4.5 37.8V10.2Z' fill='none' stroke='%239a7230' stroke-opacity='.2'/><g fill='%23855e22' fill-opacity='.8'><path d='M3.4 1.6l1.8 1.8-1.8 1.8-1.8-1.8z'/><path d='M44.6 1.6l1.8 1.8-1.8 1.8-1.8-1.8z'/><path d='M3.4 42.8l1.8 1.8-1.8 1.8-1.8-1.8z'/><path d='M44.6 42.8l1.8 1.8-1.8 1.8-1.8-1.8z'/></g></svg>");--fr-stat: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'><defs><linearGradient id='g' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23fffdf8'/><stop offset='1' stop-color='%23fbf8f1'/></linearGradient></defs><path d='M9.5 1.5H38.5A8 8 0 0 0 46.5 9.5V38.5A8 8 0 0 0 38.5 46.5H9.5A8 8 0 0 0 1.5 38.5V9.5A8 8 0 0 0 9.5 1.5Z' fill='url(%23g)' stroke='%239a7230' stroke-opacity='.75'/><path d='M12.45 5H35.55A11.5 11.5 0 0 0 43 12.45V35.55A11.5 11.5 0 0 0 35.55 43H12.45A11.5 11.5 0 0 0 5 35.55V12.45A11.5 11.5 0 0 0 12.45 5Z' fill='none' stroke='%239a7230' stroke-opacity='.28'/><g fill='%23855e22' fill-opacity='.85'><path d='M4 2.3l1.7 1.7L4 5.7 2.3 4z'/><path d='M44 2.3l1.7 1.7L44 5.7 42.3 4z'/><path d='M4 42.3l1.7 1.7L4 45.7 2.3 44z'/><path d='M44 42.3l1.7 1.7-1.7 1.7-1.7-1.7z'/></g></svg>")}.ish-effects{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--orn-b)}.ish-effects .cond-chips{gap:6px}.ish .coin-purse{max-width:560px}.ish-ab.raised .ish-ab-mod{color:#f5c542}.ish-atk-from{margin-left:8px;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-400)}.ish .btn.btn-sm,.ish button.sh-btn{height:28px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:600;color:var(--ink);background:var(--ish-raised);border:1px solid var(--orn-b);border-radius:4px}.ish .btn.btn-sm:hover:not(:disabled),.ish button.sh-btn:hover:not(:disabled){border-color:var(--orn-a);background:var(--ish-hover)}:root{--night-950: #07090b;--night-900: #0f1215;--night-850: #151a1e;--night-700: #222a30;--night-600: #313a41;--mist-100: #ece5d3;--mist-300: #c8bfab;--mist-500: #978f7d;--mist-600: #6f695c;--saga-gold: #d2ad66;--saga-gold-hi: #ecd08f;--saga-gold-lo: #8c7140;--accent: var(--saga-gold);--accent-strong: #b8934f;--accent-tint: rgba(210, 173, 102, .16);--blue-400: var(--saga-gold-hi);--ink-on-red: #17120a;--rule: rgba(var(--saga-hair), .16);--edge: rgba(var(--saga-hair), .14);--line: 1px solid rgba(var(--saga-hair), .2);--control: rgba(214, 196, 160, .08);--control-hover: rgba(214, 196, 160, .15);--field: var(--saga-sunk-45);--field-border: rgba(var(--saga-hair), .16);--paper: rgba(14, 17, 20, .94);--paper-2: #1a2025;--paper-3: #0a0c0e;--r-xs: 1px;--r-sm: 2px;--r-md: 3px;--r-lg: 4px;--r-pill: 3px;--saga-panel-bg: linear-gradient(180deg, rgba(22, 27, 31, .95), rgba(10, 12, 15, .96));--saga-panel-shadow: inset 0 1px 0 rgba(255, 236, 196, .05), inset 0 0 0 1px rgba(0, 0, 0, .55), 0 18px 44px rgba(0, 0, 0, .55);--saga-tl: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='9'><path d='M.5 8.5V.5h8' fill='none' stroke='%23e3cf9e' stroke-opacity='.8'/><circle cx='2.5' cy='2.5' r='1' fill='%23e3cf9e'/></svg>");--saga-tr: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='9'><path d='M.5 .5h8v8' fill='none' stroke='%23e3cf9e' stroke-opacity='.8'/><circle cx='6.5' cy='2.5' r='1' fill='%23e3cf9e'/></svg>");--saga-bl: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='9'><path d='M.5 .5v8h8' fill='none' stroke='%23e3cf9e' stroke-opacity='.8'/><circle cx='2.5' cy='6.5' r='1' fill='%23e3cf9e'/></svg>");--saga-br: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='9'><path d='M8.5 .5v8h-8' fill='none' stroke='%23e3cf9e' stroke-opacity='.8'/><circle cx='6.5' cy='6.5' r='1' fill='%23e3cf9e'/></svg>");--saga-knot: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='20' viewBox='0 0 40 20'><g fill='none' stroke='%23d8c49a' stroke-opacity='.11' stroke-width='1.2'><path d='M0 10c5-8 15-8 20 0s15 8 20 0'/><path d='M0 10c5 8 15 8 20 0s15-8 20 0'/><circle cx='10' cy='10' r='3'/><circle cx='30' cy='10' r='3'/></g></svg>");--saga-hair: 214, 190, 140;--saga-hair-hi: 227, 207, 158;--saga-text-rgb: 241, 234, 216;--saga-text-hi: #f1ead8;--saga-band: rgba(58, 84, 98, .45);--saga-die-top: #2a3138;--saga-die-bot: #171b1f;--saga-black: #050607;--saga-sunk-30: rgba(0, 0, 0, .3);--saga-sunk-35: rgba(0, 0, 0, .35);--saga-sunk-45: rgba(0, 0, 0, .45);--saga-sunk-50: rgba(0, 0, 0, .5);--saga-chat-bg: #0a0c0f;--saga-title-font: "Belleza", "Optima", "Candara", sans-serif;--saga-diamond: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path d='M4 0l4 4-4 4-4-4z' fill='%23d2ad66' fill-opacity='.85'/></svg>")}.hud,.tool-dock .toolbar,.right-panel--inner,.zoom-indicator,.door-controls,.dock-edge,.token-bar,.panel-modal,.modal,.join-card{background:var(--saga-panel-bg);border:1px solid rgba(var(--saga-hair),.26);box-shadow:var(--saga-panel-shadow);color:var(--ink)}.token-bar{padding:4px 6px}.hud:after,.tool-dock .toolbar:after,.right-panel--inner:after,.zoom-indicator:after,.door-controls:after,.dock-edge:after,.token-bar:after,.panel-modal:after,.modal:after,.join-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;border-radius:inherit;background:var(--saga-tl) left 2px top 2px / 9px no-repeat,var(--saga-tr) right 2px top 2px / 9px no-repeat,var(--saga-bl) left 2px bottom 2px / 9px no-repeat,var(--saga-br) right 2px bottom 2px / 9px no-repeat}.tool-dock .toolbar,.right-panel--inner,.panel-modal,.token-bar,.join-card{position:relative}.panel-modal,.modal{background-color:var(--night-900)}.ts-round small,.cp-h,.char-group,.panel-modal-head h2,.modal-title{letter-spacing:.08em}.panel-modal-head h2,.modal-title,.table-setup h2{font-family:Cinzel,Georgia,serif;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--mist-100)}.char-group,.cp-h{font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--mist-500);font-size:var(--fs-2xs)}.right-tab-bar{gap:0;padding:0;border-bottom:1px solid rgba(var(--saga-hair),.22);background:linear-gradient(180deg,var(--saga-sunk-35),transparent)}.right-tab{position:relative;height:44px;min-width:40px;border-radius:0;padding:0 10px;color:var(--mist-500);border:0}.right-tab+.right-tab:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:var(--rule)}.right-tab:hover{background:rgba(var(--saga-hair),.06);color:var(--mist-100)}.right-tab.active{color:var(--mist-100);padding:0 14px;background:linear-gradient(0deg,rgba(210,173,102,.38),rgba(210,173,102,.04) 70%,transparent);box-shadow:inset 0 -2px 0 var(--saga-gold)}.right-tab.active:after{content:"";position:absolute;left:50%;bottom:-4px;width:7px;height:7px;transform:translate(-50%) rotate(45deg);background:var(--saga-gold-hi);box-shadow:0 0 8px #ecd08fb3}.right-close{border-radius:0}.section-tabs,.cp-tabs,.ish-tabs{border-bottom-color:rgba(var(--saga-hair),.22)}.section-tabs button,.cp-tab,.chat-filter{text-transform:uppercase;letter-spacing:.12em;font-size:var(--fs-xs);font-weight:700}.section-tabs button[aria-selected=true],.cp-tab.active{color:var(--mist-100);background:linear-gradient(0deg,rgba(210,173,102,.24),transparent 80%)}.section-tabs button[aria-selected=true]:after,.cp-tab.active:after{background:var(--saga-gold);height:2px;border-radius:0}.section-tabs button{padding:0 6px}.chat-filter{border-radius:0}.chat-filter.active{background:linear-gradient(0deg,rgba(210,173,102,.26),transparent);color:var(--mist-100);box-shadow:inset 0 -2px 0 var(--saga-gold)}.btn{border-radius:2px;border-color:rgba(var(--saga-hair),.2);letter-spacing:.02em}.btn-primary,.ts-end,.tables-roll,.chat-icon-btn.send{color:#17120a!important;border:1px solid var(--saga-gold-hi)!important;background:linear-gradient(180deg,#e6c682,#b98f48)!important;box-shadow:inset 0 1px #fff5d773,0 2px 10px var(--saga-sunk-35);letter-spacing:.01em;font-size:var(--fs-sm)!important;font-weight:600}.btn-primary:hover:not(:disabled),.ts-end:hover,.tables-roll:hover:not(:disabled),.chat-icon-btn.send:hover{background:linear-gradient(180deg,#f1d59a,#c9a058)!important}.ts-end.secondary{background:var(--control)!important;color:var(--mist-100)!important;border-color:var(--rule)!important;box-shadow:none}.ts-stop,.chat-icon-btn,.right-close,.dock-edge-btn,.filter-chip{border-radius:2px}.filter-chip.on{background:#d2ad6629;color:var(--saga-gold-hi);box-shadow:inset 0 0 0 1px #d2ad6673}.toolbar .tool{border-radius:2px}.toolbar .tool.active{background:none;color:var(--saga-gold-hi)}.toolbar .tool.active:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;transform:rotate(45deg);z-index:-1;background:radial-gradient(circle,#d2ad666b,#d2ad6614 70%);border:1px solid var(--saga-gold);box-shadow:0 0 14px #d2ad6673}.toolbar .tool{position:relative;isolation:isolate}.toolbar .tool.toggle.active{background:#d2ad661f;color:var(--saga-gold-hi)}.toolbar .tool:hover{background:rgba(var(--saga-hair),.08)}.toolbar .sep{background:rgba(var(--saga-hair),.22)}.turn-strip .ts-round b{font-family:Cinzel,Georgia,serif;font-weight:700;color:var(--mist-100)}.turn-strip .ts-round small{color:var(--saga-gold)}.turn-strip .ts-label b{color:var(--mist-100)}.scene-title{font-family:Cinzel,Georgia,serif;text-transform:uppercase;letter-spacing:.1em;font-size:var(--fs-sm)}.peer-avatar.gm{box-shadow:0 0 0 2px var(--night-900),0 0 0 3.5px var(--saga-gold)}.cp-bar{border-radius:0;height:6px;background:var(--saga-sunk-50);box-shadow:inset 0 0 0 1px rgba(var(--saga-hair),.2)}.cp-bar i{border-radius:0}.cp-name-row h2{font-family:Cinzel,Georgia,serif;text-transform:uppercase;letter-spacing:.08em}.cp-ab,.cp-vitals{border-radius:2px}.cp-ab b{font-size:var(--fs-2xl)}.roll-card{border-radius:2px;box-shadow:inset 0 0 0 1px rgba(var(--saga-hair),.14)}.roll-card .die{background:linear-gradient(180deg,var(--saga-die-top),var(--saga-die-bot));box-shadow:inset 0 0 0 1px rgba(var(--saga-hair),.4)}.dock-chat{background:var(--saga-chat-bg);border-top-color:rgba(var(--saga-hair),.22)}.section-tabs button,.cp-tab,.chat-filter,.char-group,.cp-h,.panel-modal-head h2,.modal-title,.scene-title,.ts-round small,.ish-cap,.filter-chip,.new-menu-list b{font-family:var(--saga-title-font)}.panel-modal-head h2,.modal-title{font-weight:400;letter-spacing:.14em}.scene-title{font-weight:400;letter-spacing:.16em;font-size:var(--fs-md)}.section-tabs button,.cp-tab,.chat-filter{font-weight:400;letter-spacing:.14em;font-size:var(--fs-sm)}.cp-tab{letter-spacing:.1em}.panel-modal-head{position:relative;background:var(--saga-knot) center / 40px 20px repeat-x,linear-gradient(180deg,var(--saga-sunk-50),var(--saga-sunk-30));border-bottom:1px solid rgba(var(--saga-hair-hi),.38)}.panel-modal-head h2{text-align:center;text-transform:uppercase;color:var(--saga-text-hi);font-size:var(--fs-xl)}.panel-modal-head h2{padding-left:40px}.panel-modal-head:after{content:"";position:absolute;left:50%;bottom:-5px;width:9px;height:9px;transform:translate(-50%) rotate(45deg);background:var(--night-900);border-right:1px solid rgba(var(--saga-hair-hi),.5);border-bottom:1px solid rgba(var(--saga-hair-hi),.5)}.modal-title{text-align:center;text-transform:uppercase;border-bottom-color:rgba(var(--saga-hair-hi),.3)}.char-group{position:relative;margin:2px 0 4px;padding:6px 0;text-align:center;letter-spacing:.24em;color:var(--saga-text-hi);font-weight:400;background:linear-gradient(90deg,transparent,var(--saga-band) 20%,var(--saga-band) 80%,transparent);border-top:1px solid rgba(var(--saga-hair-hi),.12);border-bottom:1px solid rgba(var(--saga-hair-hi),.12)}.char-group:after{content:"";position:absolute;left:50%;bottom:-4px;width:7px;height:7px;transform:translate(-50%) rotate(45deg);background:var(--night-900);border-right:1px solid rgba(var(--saga-hair-hi),.35);border-bottom:1px solid rgba(var(--saga-hair-hi),.35)}.item-lib-row.on,.lib-row.armed,.lib-row:focus-within{background:var(--saga-black)!important;box-shadow:0 0 0 1px var(--saga-black),0 0 0 2px rgba(var(--saga-text-rgb),.85),0 0 14px rgba(var(--saga-text-rgb),.18)!important}.lib-row:hover{background:#d6c4a012}.panel-modal-hint{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:8px 16px;flex:none;border-top:1px solid rgba(var(--saga-hair-hi),.18);font-family:var(--saga-title-font);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--saga-gold-hi)}.panel-modal-hint kbd{font-family:var(--font-ui);font-size:var(--fs-2xs);letter-spacing:0;color:var(--mist-100);padding:1px 6px;border-radius:9px;border:1px solid rgba(var(--saga-text-rgb),.55)}.cp-bar,.ish-bar{height:7px;border-radius:0;background:var(--saga-black);box-shadow:inset 0 0 0 1px rgba(var(--saga-hair-hi),.28);padding:1px}.cp-bar i,.ish-bar i{border-radius:0;background:linear-gradient(180deg,#f06a5c,#b52f27)}.cp-bar.low i,.cp-bar.crit i{background:linear-gradient(180deg,#f06a5c,#b52f27)}.ish-hp-cell b.cur{color:#f06a5c;text-shadow:0 0 22px rgba(240,106,92,.2)}.title-card{position:fixed;z-index:9;left:calc(50% + var(--dock-shift, 0px));top:22%;transform:translate(-50%);display:grid;justify-items:center;gap:6px;pointer-events:none;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.9);animation:title-card 3.6s ease-in-out both}.title-card small{font-family:var(--saga-title-font);font-size:var(--fs-sm);letter-spacing:.3em;text-transform:uppercase;color:#e9e1cc}.title-card b{font-family:Cinzel,Georgia,serif;font-weight:500;font-size:var(--fs-display);letter-spacing:.42em;text-transform:uppercase;color:#f4eedf;padding-left:.42em}@keyframes title-card{0%{opacity:0;transform:translate(-50%,6px);letter-spacing:normal}14%{opacity:1;transform:translate(-50%)}78%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.title-card{animation:title-card-still 3.6s linear both}}@keyframes title-card-still{0%,85%{opacity:1}to{opacity:0}}.loading-screen{background:#000}.loading-scene{display:grid;justify-items:center;gap:10px;text-align:center}.loading-scene small{font-family:var(--saga-title-font);font-size:var(--fs-sm);letter-spacing:.3em;text-transform:uppercase;color:var(--saga-gold)}.loading-scene b{font-family:Cinzel,Georgia,serif;font-weight:500;font-size:var(--fs-display);letter-spacing:.42em;padding-left:.42em;text-transform:uppercase;color:#f4eedf;text-shadow:0 2px 18px rgba(0,0,0,.85)}.loading-screen.leaving{animation:curtain-lift 2.2s ease-in-out forwards;pointer-events:none}@keyframes curtain-lift{0%,45%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.loading-screen.leaving{animation-duration:1.2s}}.right-tab{flex:1;padding:0}.right-tab.active{padding:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.chat-log{gap:10px}.chat-row.card,.chat-row.text,.chat-row.hidden-roll,.chat-row.rolling{padding:0;border-radius:2px;overflow:hidden;background:#fff6e106;box-shadow:inset 0 0 0 1px rgba(var(--saga-hair),.16)}.chat-row.card{gap:0}.chat-row .msg-h,.chat-row-head{padding:6px 10px;background:var(--saga-sunk-35);border-bottom:1px solid rgba(var(--saga-hair),.12)}.chat-row.text .chat-text{padding:8px 10px 10px}.chat-row.card .roll-card{margin:8px;background:var(--saga-sunk-30)}.chat-row.card .dmg-actions,.chat-row.card .applied,.chat-row.card .table-nested{margin:0 10px 10px}.chat-row.hidden-roll,.chat-row.rolling{padding:8px 10px}.chat-row.rolling{display:flex;align-items:center;gap:8px}.chat-row.system{display:flex;align-items:center;gap:10px;padding:2px 0;background:none;box-shadow:none}.chat-row.system:before,.chat-row.system:after{content:"";flex:1;height:1px;background:rgba(var(--saga-hair),.18)}.chat-row.card .dmg-actions:has(.roll-damage){margin:0 8px 8px;padding:0}.dmg-actions .roll-damage,.roll-damage{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:2px;font-size:var(--fs-sm);font-weight:600;color:var(--red-400);background:#ef444424;box-shadow:none}.roll-damage svg{opacity:.85}.dmg-actions .roll-damage:hover:not(:disabled),.roll-damage:hover:not(:disabled){color:var(--red-400);background:#ef44443d}.dmg-actions .roll-damage.crit,.roll-damage.crit{color:#17120a;background:linear-gradient(180deg,#e6c682,#b98f48);box-shadow:inset 0 0 0 1px var(--saga-gold-hi)}.roll-damage:disabled{opacity:.5}.dice-pair{display:inline-flex;gap:4px}.dice-pair-die{width:38px;height:38px;display:grid;place-items:center;border-radius:2px;background:var(--saga-sunk-35);box-shadow:inset 0 0 0 1px rgba(var(--saga-hair),.18);color:var(--mist-500)}.dice-pair-die b{font-size:var(--fs-lg);font-weight:600;font-variant-numeric:tabular-nums}.dice-pair-die.counts{color:var(--mist-100);background:linear-gradient(180deg,var(--saga-die-top),var(--saga-die-bot));box-shadow:inset 0 0 0 1px rgba(var(--saga-hair),.55)}.dice-pair-die.n20{box-shadow:inset 0 0 0 1px #4ade80b3}.dice-pair-die.n20.counts{background:var(--green-600);color:#fff}.dice-pair-die.n1{box-shadow:inset 0 0 0 1px #f87171b3}.dice-pair-die.n1.counts{background:var(--red-600);color:#fff}.roll-body{margin:8px;padding:10px 12px 6px;border-radius:2px;background:var(--saga-sunk-30);box-shadow:inset 0 0 0 1px rgba(var(--saga-hair),.14)}.roll-body.nat20{box-shadow:inset 0 0 0 1px #4ade8073}.roll-body.nat1{box-shadow:inset 0 0 0 1px #f8717173}.roll-body-main{display:flex;align-items:center;gap:12px}.roll-parts{display:flex;flex-wrap:wrap;gap:2px 8px;margin:6px 0 0;font-size:var(--fs-xs);color:var(--mist-500);font-variant-numeric:tabular-nums}.roll-part b{color:var(--mist-100);font-weight:600}.roll-part.extra,.roll-part.extra b{color:#f5c542}.roll-body-title{flex:1;min-width:0;display:grid;gap:2px}.roll-body-sub{font-size:var(--fs-xs);font-weight:500;color:var(--mist-500);text-transform:capitalize}.roll-body-label{min-width:0;font-weight:600;color:var(--saga-gold-hi);line-height:1.3}.roll-big{min-width:46px;height:42px;padding:0 8px;display:grid;place-items:center;border-radius:2px;font-size:var(--fs-2xl);font-weight:600;font-variant-numeric:tabular-nums;color:var(--mist-100);background:linear-gradient(180deg,var(--saga-die-top),var(--saga-die-bot));box-shadow:inset 0 0 0 1px rgba(var(--saga-hair),.55)}.roll-body .dice-pair-die{width:46px;height:42px}.roll-body .dice-pair-die b{font-size:var(--fs-2xl)}.roll-body.nat20 .roll-big{background:var(--green-600);color:#fff}.roll-body.nat1 .roll-big{background:var(--red-600);color:#fff}.roll-details-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:8px;padding:4px 0 2px;border-top:1px solid rgba(var(--saga-hair),.12);font-size:var(--fs-xs);color:var(--mist-500);letter-spacing:.06em}.roll-details-toggle:hover{color:var(--mist-100)}.roll-details{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:6px 0 4px;font-size:var(--fs-sm);color:var(--mist-300)}.roll-details dt,.roll-details dd{margin:0}.roll-details dd{display:flex;gap:4px;justify-content:flex-end;font-variant-numeric:tabular-nums}.roll-details .total{font-weight:700;color:var(--mist-100);padding-top:4px;border-top:1px solid rgba(var(--saga-hair),.12)}.roll-face{min-width:24px;height:22px;padding:0 4px;display:grid;place-items:center;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(var(--saga-hair),.4);color:var(--mist-100)}.roll-face.dropped{opacity:.45;text-decoration:line-through}:root[data-theme=light]{color-scheme:light;--night-950: #e7e1d3;--night-900: #f8f4eb;--night-850: #efe9dc;--night-700: #ddd4c2;--night-600: #cbc0aa;--mist-100: #221e18;--mist-300: #4a4339;--mist-500: #6f675a;--mist-600: #8c8474;--saga-gold: #a87c34;--saga-gold-hi: #855e22;--saga-gold-lo: #c9a96a;--accent: #a87c34;--accent-strong: #855e22;--accent-tint: rgba(168, 124, 52, .14);--blue-400: #855e22;--rule: rgba(120, 92, 44, .2);--edge: rgba(120, 92, 44, .18);--line: 1px solid rgba(120, 92, 44, .26);--control: rgba(70, 52, 22, .06);--control-hover: rgba(70, 52, 22, .11);--field: #fffdf8;--field-border: rgba(120, 92, 44, .26);--paper: rgba(250, 247, 240, .97);--paper-2: #f1ebdf;--paper-3: #fffdf8;--saga-panel-bg: linear-gradient(180deg, rgba(252, 249, 243, .97), rgba(242, 237, 227, .97));--saga-panel-shadow: inset 0 1px 0 #fff, 0 14px 36px rgba(40, 30, 10, .2);--saga-hair: 138, 104, 46;--saga-hair-hi: 133, 94, 34;--saga-text-rgb: 34, 30, 24;--saga-text-hi: #221e18;--saga-band: rgba(168, 124, 52, .13);--saga-die-top: #fffaf0;--saga-die-bot: #ece3d1;--saga-black: #fffdf8;--saga-sunk-30: rgba(90, 66, 24, .05);--saga-sunk-35: rgba(90, 66, 24, .06);--saga-sunk-45: rgba(90, 66, 24, .07);--saga-sunk-50: rgba(90, 66, 24, .08);--saga-chat-bg: #f3eee3;--saga-tl: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='9'><path d='M.5 8.5V.5h8' fill='none' stroke='%238a6326' stroke-opacity='.8'/><circle cx='2.5' cy='2.5' r='1' fill='%238a6326'/></svg>");--saga-tr: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='9'><path d='M.5 .5h8v8' fill='none' stroke='%238a6326' stroke-opacity='.8'/><circle cx='6.5' cy='2.5' r='1' fill='%238a6326'/></svg>");--saga-bl: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='9'><path d='M.5 .5v8h8' fill='none' stroke='%238a6326' stroke-opacity='.8'/><circle cx='2.5' cy='6.5' r='1' fill='%238a6326'/></svg>");--saga-br: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='9'><path d='M8.5 .5v8h-8' fill='none' stroke='%238a6326' stroke-opacity='.8'/><circle cx='6.5' cy='6.5' r='1' fill='%238a6326'/></svg>");--saga-knot: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='20' viewBox='0 0 40 20'><g fill='none' stroke='%238a6326' stroke-opacity='.14' stroke-width='1.2'><path d='M0 10c5-8 15-8 20 0s15 8 20 0'/><path d='M0 10c5 8 15 8 20 0s15-8 20 0'/><circle cx='10' cy='10' r='3'/><circle cx='30' cy='10' r='3'/></g></svg>")}:root[data-theme=light] body{background:var(--night-950);color:var(--mist-100)}.theme-seg{display:inline-flex;padding:2px;gap:2px;border-radius:2px;box-shadow:inset 0 0 0 1px var(--rule)}.theme-seg button{height:26px;padding:0 10px;border-radius:2px;font-size:var(--fs-sm);color:var(--mist-500)}.theme-seg button[aria-checked=true]{background:var(--accent);color:var(--ink-on-red)}:root[data-theme=light]{--teal-400: #0d8a7b;--red-400: #c23b31;--green-400: #1f8a43;--amber-400: #a86a12}.chat-band{margin:6px 0 2px}.dock-chat{background:transparent;border-top:0;box-shadow:none}.dock-chat-head{margin:0 16px;padding:14px 0 0;gap:16px;border-bottom:1px solid rgba(var(--saga-hair),.22)}.chat-filters{gap:16px}.chat-filter{height:34px;padding:0 6px;background:none}.dock-chat .chat-log{padding:12px 16px}.chat-row.text{background:none;box-shadow:inset 2px 0 rgba(var(--saga-hair),.35);border-radius:0;padding:2px 0 2px 12px}.chat-row.text .chat-row-head{padding:0;background:none;border:0}.chat-row.text .chat-text{padding:2px 0 0}.chat-row.text.whisper{box-shadow:inset 2px 0 0 var(--whisper)}.chat-row.system{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:0;font-family:var(--font-ui);font-size:var(--fs-sm);letter-spacing:0;text-transform:none;color:var(--mist-500)}.chat-row.system:before{content:"";flex:none;width:5px;height:5px;transform:rotate(45deg) translateY(-2px);background:rgba(var(--saga-hair),.55)}.chat-row.system:after{display:none}.chat-row.system .times{font-size:var(--fs-xs);font-weight:600;color:var(--saga-gold)}.filter-menu-list button,.new-menu-list button{justify-content:flex-start;text-align:left}.filter-menu-list.hud,.new-menu-list.hud{align-items:stretch}.title-card{left:var(--map-cx, calc(50% + var(--dock-shift, 0px)));top:var(--map-cy, 22%)}@keyframes title-card{0%{opacity:0;transform:translate(-50%,calc(-50% + 6px))}14%{opacity:1;transform:translate(-50%,-50%)}78%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-50%)}}@keyframes title-card-still{0%,85%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-50%)}}.panel-modal-head{height:56px;padding:0 12px 0 20px;gap:8px}.panel-modal-head h2{padding-left:32px;font-size:var(--fs-lg)}.panel-modal-body{padding:20px;gap:16px}.panel-modal-body>.docs-share,.panel-modal-body>.docs-view{margin:0}.loading-card h1{font-family:Cinzel,Georgia,serif;font-weight:500;font-size:var(--fs-display);letter-spacing:.42em;padding-left:.42em;text-transform:uppercase;color:#f4eedf}.panel-modal-foot .btn{height:38px;padding:0 18px;font-size:var(--fs-base)!important}.panel-modal-foot .btn-primary{font-size:var(--fs-sm)!important;padding:0 22px}.panel-modal-foot .btn.btn-danger-text{padding:0 4px}.rule-card{display:grid;gap:4px;padding:8px 10px 10px}.rule-card-kind{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--mist-500)}.rule-card-name{font-weight:700;color:var(--mist-100)}.rule-card-text{font-size:var(--fs-sm);line-height:1.45;color:var(--mist-300)}.rule-card-text>:first-child{margin-top:0}.rule-card-text>:last-child{margin-bottom:0}.rule-card-text p,.rule-card-text ul,.rule-card-text ol{margin:0 0 6px}.rule-card-text ul,.rule-card-text ol{padding-left:18px}.rule-card-text h2,.rule-card-text h3{margin:10px 0 4px;font-size:var(--fs-sm);font-weight:700;color:var(--mist-100)}.rule-card-text b,.rule-card-text strong{color:var(--mist-100)}.rule-card-text.folded{max-height:9.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}.rule-card .roll-details-toggle{margin-top:2px}.rule-card-source{margin-top:4px;font-size:var(--fs-xs);color:var(--mist-500)}.rule-card-source a{color:inherit;text-decoration:underline;text-underline-offset:2px}.rule-card-source a:hover{color:var(--mist-100)}.dmg-result .roll-body{margin-top:0}.spell-card{padding-bottom:10px}
