@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-DHTKMUil.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-B1g8a0vD.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-BpXpdlRW.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-BsaNuasd.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-BVZ5su8S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-DMe4EKeb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f6f5f2;--panel:#fff;--surface-2:#f1efea;--border:#e2dfd7;--border-strong:#cdc8bd;--control-border:#8d877c;--text:#1f1d1a;--muted:#625d55;--faint:#716b62;--accent:#5b4ad8;--accent-hover:#4b3bc5;--accent-text:#fff;--accent-soft:color-mix(in srgb, var(--accent) 11%, transparent);--danger:#b93a2e;--danger-soft:color-mix(in srgb, var(--danger) 10%, transparent);--success:#277f39;--warning:#a8670b;--live:#e03131;--live-text:#c92a2a;--font-ui:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-reading:"Source Serif 4 Variable", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--leading-tight:1.25;--leading:1.55;--leading-reading:1.7;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-full:999px;--shadow-sm:0 1px 2px #1f1d1a0f;--shadow-md:0 4px 16px #1f1d1a14, 0 1px 3px #1f1d1a0f;--shadow-lg:0 18px 50px #1f1d1a2e, 0 2px 8px #1f1d1a14;--focus-ring:0 0 0 1px var(--accent), 0 0 0 4px color-mix(in srgb, var(--accent) 30%, transparent);--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-fast:.12s;--dur:.2s;--dur-slow:.28s;--z-sticky:10;--z-dropdown:30;--z-dialog:50;--z-toast:60;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;accent-color:var(--accent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#161513;--panel:#201e1b;--surface-2:#2a2824;--border:#36332e;--border-strong:#4b463f;--control-border:#777168;--text:#ece8e1;--muted:#aaa498;--faint:#958f85;--accent:#9a8cff;--accent-hover:#b0a5ff;--accent-text:#15131f;--danger:#ff7b6c;--success:#69db7c;--warning:#f2c45a;--live-text:#ff8787;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 18px 50px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#161513;--panel:#201e1b;--surface-2:#2a2824;--border:#36332e;--border-strong:#4b463f;--control-border:#777168;--text:#ece8e1;--muted:#aaa498;--faint:#958f85;--accent:#9a8cff;--accent-hover:#b0a5ff;--accent-text:#15131f;--danger:#ff7b6c;--success:#69db7c;--warning:#f2c45a;--live-text:#ff8787;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 18px 50px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--text-md);line-height:var(--leading);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}[hidden]{display:none!important}h1,h2,h3,h4{line-height:var(--leading-tight);letter-spacing:-.012em;font-weight:650}h1{font-size:var(--text-2xl);margin:0 0 var(--space-2);letter-spacing:-.02em}h2{font-size:var(--text-lg);margin:0 0 var(--space-3)}h3{font-size:var(--text-md);margin:var(--space-4) 0 var(--space-2)}p{margin:0 0 var(--space-3)}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}code,kbd,pre{font-family:var(--font-mono);font-size:.92em}kbd{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel);font-size:var(--text-xs);border-bottom-width:2px;padding:1px 6px;line-height:1.4;display:inline-block}hr{border:none;border-top:1px solid var(--border);margin:var(--space-5) 0}.muted{color:var(--muted)}.faint{color:var(--faint)}.error{color:var(--danger)}.row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}.skip-link{left:var(--space-3);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--accent);color:var(--accent-text);transition:top var(--dur) var(--ease-out);font-weight:600;text-decoration:none;position:absolute;top:-60px}.skip-link:focus{top:var(--space-3)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:content-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}.app-root:focus,:is(main,h1,h2,p)[tabindex="-1"]:focus{outline:none}@media (prefers-reduced-motion:reduce){.skip-link{transition-duration:var(--dur-fast)}}button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--panel);min-height:38px;color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;box-shadow:var(--shadow-sm);transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, transform var(--dur-fast) ease;padding:8px 16px;font-weight:550;line-height:1.2;display:inline-flex}button:hover{background:var(--surface-2)}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}button.danger:not(:disabled):hover{background:var(--danger-soft)}button.ghost{box-shadow:none;background:0 0;border-color:#0000}button.ghost:hover{background:var(--surface-2)}button.link{min-height:24px;box-shadow:none;color:var(--accent);background:0 0;border:none;padding:2px 0;font-weight:550}button.link:hover{color:var(--accent-hover);text-underline-offset:3px;background:0 0;text-decoration:underline}button.link.danger{color:var(--danger)}button.sm,.pill{min-height:30px;font-size:var(--text-sm);padding:4px 12px}.pill{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:none}.pill[aria-pressed=true],.pill[aria-expanded=true],.pill.primary{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--accent)}.icon-button{border-radius:var(--radius-sm);width:32px;height:32px;min-height:0;color:var(--muted);box-shadow:none;background:0 0;border:none;flex:none;place-items:center;padding:0;font-size:.95rem;line-height:1;display:inline-grid}.icon-button:hover{background:var(--surface-2);color:var(--text)}button:not(:disabled):not(.link):not(.dice):hover{transform:translateY(-1px)}button:not(:disabled):active{transform:translateY(0)scale(.98)}.segmented{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);gap:2px;padding:3px;display:inline-flex}.segmented button{border-radius:calc(var(--radius) - 3px);min-height:30px;box-shadow:none;color:var(--muted);background:0 0;border:none;padding:4px 12px}.segmented button:hover{background:color-mix(in srgb, var(--panel) 60%, transparent);color:var(--text);transform:none}.segmented button[aria-pressed=true]{background:var(--panel);color:var(--text);box-shadow:var(--shadow-sm)}label{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-sm);font-weight:600;display:block}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea,.field{border:1px solid var(--control-border);border-radius:var(--radius);background:var(--panel);width:100%;min-height:38px;color:var(--text);font:inherit;font-size:var(--text-md);transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;padding:8px 12px;line-height:1.4}textarea{resize:vertical;min-height:80px;line-height:var(--leading)}select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 17px) 55%,calc(100% - 12px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}:is(input,select,textarea,.field):hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--control-border))}:is(input,select,textarea,.field):focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}input::placeholder,textarea::placeholder{color:var(--faint)}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--accent);margin:0}input:is([type=checkbox],[type=radio]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:none}fieldset{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3)}legend{font-weight:600;font-size:var(--text-sm);padding:0 var(--space-1)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);margin:var(--space-4) 0;box-shadow:var(--shadow-sm)}.card>h2:first-child{margin-top:0}.chip{gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--panel);font-size:var(--text-sm);align-items:center;padding:2px 10px;display:inline-flex}.section-label{align-items:center;gap:var(--space-2);margin:var(--space-4) 0 var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;display:flex}.count{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg);letter-spacing:0;min-width:20px;height:18px;color:var(--muted);place-items:center;padding:0 6px;font-size:.7rem;font-weight:600;display:inline-grid}.empty-state{align-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-4);text-align:center;flex-direction:column;margin:auto 0;display:flex}.empty-state p{max-width:36ch;margin:0}.empty-state>.die-icon,.empty-icon{margin-bottom:var(--space-2)}.empty-icon{font-size:2rem;line-height:1}.people-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.people-list li{align-items:center;gap:var(--space-2);min-height:36px;padding:4px var(--space-2);border-radius:var(--radius-sm);display:flex}.people-list li:hover{background:var(--surface-2)}.people-list .person-text{overflow-wrap:anywhere;flex:1;min-width:0}.people-list .icon-button{width:26px;height:26px;font-size:.8rem}.person-extra{text-align:right;margin-left:auto}.person-initial{color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.72rem;font-weight:700;display:inline-grid}.sheet{width:min(440px,100vw - 32px);max-height:84vh;z-index:var(--z-dialog);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);color:var(--text);box-shadow:var(--shadow-lg);animation:sheet-in var(--dur) var(--ease-out) both;margin:0 auto;position:fixed;inset:8vh 0 auto;overflow-y:auto}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}.dialog-backdrop{z-index:var(--z-dialog);padding:8vh var(--space-4) var(--space-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in var(--dur) ease both;background:#0b0a0966;place-items:start center;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog{width:min(var(--dialog-width,460px), 100%);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);color:var(--text);box-shadow:var(--shadow-lg);animation:sheet-in var(--dur) var(--ease-out) both}.dialog-head{align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) 0;display:flex}.dialog-head h2{font-size:var(--text-lg);margin:0}.dialog-head p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm)}.dialog-head .icon-button{margin:-4px -8px 0 auto}.dialog-body{padding:var(--space-4) var(--space-5)}.dialog-foot{justify-content:flex-end;gap:var(--space-2);padding:0 var(--space-5) var(--space-5);flex-wrap:wrap;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.toaster{right:var(--space-4);bottom:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;width:min(360px,100vw - 32px);display:flex;position:fixed}.toast-item{pointer-events:auto;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--panel);color:var(--text);box-shadow:var(--shadow-md);font-size:var(--text-sm);animation:toast-in var(--dur-slow) var(--ease-out) both;display:flex}.toast-item.success{border-left-color:var(--success)}.toast-item.error{border-left-color:var(--danger)}.toast-item .toast-text{flex:1}.toast-item .icon-button{width:24px;height:24px;margin:-2px -6px 0 0}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.toaster-stack{gap:var(--space-2);flex-direction:column;display:flex}@media (prefers-reduced-motion:reduce){.dialog-backdrop{animation-duration:var(--dur-fast)}.dialog,.sheet,.toast-item{animation:fade-in var(--dur-fast) ease both}button:not(:disabled):not(.link):not(.dice):hover,button:not(:disabled):active{transform:none}}.page{max-width:480px;margin:0 auto;padding:32px 16px}.avatar{border-radius:50%;width:40px;height:40px;margin-bottom:8px;display:inline-block}.code{letter-spacing:.08em;font-family:ui-monospace,monospace;font-size:1.2rem}.person{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 0;display:flex}.qr-placeholder{background:var(--border);border-radius:8px;width:220px;height:220px}dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);max-width:360px}.brand{align-items:center;gap:var(--space-2);color:var(--text);font-weight:700;font-size:var(--text-lg);letter-spacing:-.02em;text-decoration:none;display:inline-flex}.brand:hover{color:var(--text)}.brand-mark{flex:none;display:block}.auth{min-height:100dvh;padding:var(--space-4) var(--space-4) var(--space-6);background:radial-gradient(ellipse 80% 50% at 50% -10%, var(--accent-soft), transparent 70%), var(--bg);flex-direction:column;align-items:center;display:flex}.auth-top{width:100%;max-width:440px;margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.auth-wide .auth-top,.auth-wide .auth-card{max-width:560px}.auth-card{width:100%;max-width:440px;padding:var(--space-6) var(--space-5);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:auth-in var(--dur-slow) var(--ease-out) both}.auth-card>:last-child{margin-bottom:0}.auth-card h1{font-size:var(--text-xl)}.auth-card h2{font-size:var(--text-md);margin-top:var(--space-5)}.auth-lead{color:var(--muted);margin-bottom:var(--space-5)}.auth-foot{width:100%;max-width:440px;margin-top:var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--muted)}.auth-step{margin:0 0 var(--space-1);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:700}.auth-step+h1,.auth-step+h2{margin-top:0}.auth-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border)}.auth-section>:first-child{margin-top:0}.auth-actions{gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.auth-actions .primary{min-height:44px;font-size:var(--text-md);flex:auto}.auth-back{margin-top:var(--space-4);font-size:var(--text-sm);display:inline-block}.field-hint{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--muted)}.form-error{gap:var(--space-2);margin:var(--space-4) 0 0;padding:var(--space-3);border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:var(--text-sm);align-items:flex-start;font-weight:550;display:flex}.form-error:empty{display:none}.status-icon{width:48px;height:48px;margin-bottom:var(--space-4);background:var(--accent-soft);color:var(--accent);border-radius:50%;place-items:center;font-size:1.4rem;display:grid}.status-icon.bad{background:var(--danger-soft);color:var(--danger)}.loading{justify-content:center;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--muted);display:flex}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes auth-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.choices{margin:var(--space-4) 0 0;border:none;padding:0}.choices legend{margin-bottom:var(--space-2);padding:0}.choice{gap:var(--space-3);margin:0 0 var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--dur-fast) ease, background-color var(--dur-fast) ease;align-items:flex-start;font-weight:550;display:flex}.choice:hover{border-color:var(--border-strong)}.choice:has(input:checked){border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--accent-soft)}.choice:has(input:focus-visible){box-shadow:var(--focus-ring)}.choice input{margin-top:3px}.choice small{color:var(--muted);font-weight:400;font-size:var(--text-sm);display:block}.check-row{gap:var(--space-2);margin:var(--space-4) 0 0;cursor:pointer;align-items:center;font-weight:550;display:flex}.secret-code{margin:var(--space-4) 0 var(--space-3);padding:var(--space-4);text-align:center;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--text-xl);letter-spacing:.08em;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);font-weight:600}.notice{margin:0 0 var(--space-4);padding:var(--space-3);border-radius:var(--radius);font-size:var(--text-sm);background:color-mix(in srgb, var(--warning) 12%, transparent);border:1px solid color-mix(in srgb, var(--warning) 35%, var(--border))}.pin{margin-top:var(--space-2);text-align:center}.pin-label{margin:0 0 var(--space-3);font-size:var(--text-md)}.pin-field{grid-template-columns:repeat(var(--pin-n,4), minmax(0, 52px));justify-content:center;gap:var(--space-2);display:grid;position:relative}.pin-input{z-index:1;opacity:0;cursor:text;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.pin-cell{border:1.5px solid var(--control-border);border-radius:var(--radius);background:var(--panel);height:60px;transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, transform var(--dur-fast) ease;position:relative}.pin-cell:after{content:"";background:var(--text);width:14px;height:14px;transition:transform var(--dur-fast) var(--ease-out);border-radius:50%;margin:auto;position:absolute;inset:0;transform:scale(0)}.pin-cell.on:after{transform:scale(1)}.pin-cell.on{border-color:color-mix(in srgb, var(--accent) 45%, var(--control-border))}.pin-field:focus-within .pin-cell.current{border-color:var(--accent);box-shadow:var(--focus-ring)}.pin-field:hover .pin-cell{border-color:color-mix(in srgb, var(--accent) 35%, var(--control-border))}.pin.has-error .pin-cell{border-color:var(--danger)}.pin.has-error .pin-field{animation:.32s both shake}.pin.is-disabled .pin-field{opacity:.55}.pin.is-disabled .pin-input{cursor:not-allowed}.pin-hint{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--muted)}.pin-error{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--danger);font-weight:550}.pin-actions{margin:var(--space-3) 0 0;text-align:center;font-size:var(--text-sm)}@keyframes shake{20%{transform:translate(-4px)rotate(-2deg)}40%{transform:translate(4px)rotate(2deg)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.field-label{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-sm);font-weight:600;display:block}.swatches{gap:var(--space-2);grid-template-columns:repeat(8,minmax(0,36px));display:grid}.swatch{aspect-ratio:1;border:2px solid var(--panel);width:100%;height:auto;min-height:0;box-shadow:0 0 0 1px var(--control-border);color:#fff;border-radius:50%;padding:0}.swatch svg{opacity:0;transition:opacity var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);transform:scale(.6)}.swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--text)}.swatch[aria-checked=true] svg{opacity:1;transform:none}.swatch:hover{background-image:linear-gradient(#ffffff24,#ffffff24)}.swatch:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:50%}.qr{margin:var(--space-3) auto;width:fit-content;padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background:#fff}.qr img,.qr-placeholder{width:200px;max-width:100%;height:200px;display:block}.qr-placeholder{border-radius:var(--radius-sm);background:linear-gradient(100deg,#eceae5 30%,#f7f6f3 50%,#eceae5 70%) 0 0/200% 100%;animation:1.2s linear infinite shimmer}.qr-failed{width:200px;padding:var(--space-4);color:#625d55;font-size:var(--text-sm);text-align:center}@keyframes shimmer{to{background-position:-200% 0}}.copy-field{gap:var(--space-2);align-items:stretch;display:flex}.copy-field input{min-width:0;font-family:var(--font-mono);flex:1;font-size:var(--text-sm)!important;background:var(--surface-2)!important}.copy-field button{flex:none}.profiles{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(118px,1fr));margin:0;padding:0;list-style:none;display:grid}.profile{justify-content:flex-start;gap:var(--space-2);width:100%;height:100%;padding:var(--space-4) var(--space-2);border-radius:var(--radius-lg);font-size:var(--text-md);overflow-wrap:anywhere;flex-direction:column;font-weight:600}.profile:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-strong));background:var(--panel)}.profile-initial,.signin-who .profile-initial{color:#fff;width:48px;height:48px;font-size:var(--text-lg);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.role-tag{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-weight:700}.signin-who{align-items:center;gap:var(--space-2);text-align:center;margin-bottom:var(--space-2);flex-direction:column;display:flex}.signin-who h2{font-size:var(--text-lg);margin:0}.signin-links{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--text-sm);text-align:center}.signin-links p{margin:0 0 var(--space-2)}.landing{flex-direction:column;min-height:100dvh;display:flex}.landing-bar{width:100%;max-width:1040px;padding:var(--space-4);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.landing-main{width:100%;max-width:1040px;padding:0 var(--space-4);flex:1;margin:0 auto}.hero{gap:var(--space-7);padding:var(--space-7) 0 var(--space-6);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;display:grid}.hero-eyebrow{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--accent);font-weight:650}.hero h1{letter-spacing:-.035em;margin:0 0 var(--space-4);font-size:clamp(2.1rem,6vw,3.4rem);line-height:1.05}.hero h1 em{color:var(--accent);font-style:normal}.hero-tagline{font-family:var(--font-reading);font-size:var(--text-lg);line-height:var(--leading);color:var(--muted);max-width:46ch;margin:0 0 var(--space-5)}.hero-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.hero-actions button{min-height:46px;font-size:var(--text-md);padding:10px 20px}.hero-art{width:100%;max-width:420px;height:auto;color:var(--accent);justify-self:center}.join-panel{margin-top:var(--space-5);max-width:460px}.join-panel form{gap:var(--space-2);display:flex}.join-panel input{flex:1;min-width:0}.join-panel label{margin-top:0}.features{padding:var(--space-5) 0;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;list-style:none;display:grid}.feature{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel)}.feature h2{font-size:var(--text-md);margin:var(--space-3) 0 var(--space-1)}.feature p{font-size:var(--text-sm);color:var(--muted);margin:0}.feature-icon{border-radius:var(--radius);background:var(--accent-soft);width:36px;height:36px;color:var(--accent);place-items:center;display:grid}.my-vaults{padding:var(--space-5) 0}.vault-list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin:0;padding:0;list-style:none;display:grid}.vault-card{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm);display:flex}.vault-card-text{flex:1;min-width:0}.vault-card-name{overflow-wrap:anywhere;font-weight:650;display:block}.vault-card-who{font-size:var(--text-sm);color:var(--muted);overflow-wrap:anywhere;display:block}.vault-card-mark{border-radius:var(--radius);background:var(--accent-soft);width:36px;height:36px;color:var(--accent);flex:none;place-items:center;font-weight:700;display:grid}.test-affordance{align-items:center;gap:var(--space-2) var(--space-3);margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius);font-size:var(--text-sm);color:var(--muted);flex-wrap:wrap;display:flex}.test-badge{border-radius:var(--radius-full);background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--text);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;padding:1px 8px;font-weight:700}.test-affordance p{flex:220px;margin:0}.landing-foot{width:100%;max-width:1040px;margin:var(--space-6) auto 0;padding:var(--space-5) var(--space-4);justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--muted);flex-wrap:wrap;display:flex}.about-legal{font-size:var(--text-xs);color:var(--muted);line-height:var(--leading)}@media (width<=760px){.hero{gap:var(--space-5);padding:var(--space-5) 0 var(--space-4);grid-template-columns:1fr}.hero-art{display:none}.features{grid-template-columns:1fr}}@media (width<=420px){.auth-card{padding:var(--space-5) var(--space-4)}.auth-top{margin-bottom:var(--space-4)}.hero-actions button{flex:100%}.join-panel form{flex-direction:column}.pin-cell{height:54px}}@media (prefers-reduced-motion:reduce){.auth-card{animation:fade-in var(--dur-fast) ease both}.pin.has-error .pin-field{animation:.24s both shake-soft}.spinner{animation-duration:1.6s}.qr-placeholder{animation-duration:3s}}@keyframes shake-soft{25%{transform:translate(-1.5px)}75%{transform:translate(1.5px)}}:root{--topbar-h:56px;--bottom-nav-h:0px}@media (width<=760px){:root{--bottom-nav-h:60px}}.vault-main{flex-direction:column;flex:1 0 auto;min-width:0;display:flex}.topbar{align-items:center;gap:var(--space-4);min-height:var(--topbar-h);padding:0 var(--space-4);border-bottom:1px solid var(--border);background:var(--panel);flex:none;display:flex}.brand{align-items:center;gap:var(--space-2);flex:0 auto;min-width:0;max-width:260px;display:flex}.brand-mark{border-radius:var(--radius);background:var(--accent);width:32px;height:32px;color:var(--accent-text);box-shadow:var(--shadow-sm);transition:background-color var(--dur-fast) ease;flex:none;place-items:center;text-decoration:none;display:inline-grid}.brand-mark:hover{background:var(--accent-hover);color:var(--accent-text)}.brand-name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;min-width:0;font-weight:650;overflow:hidden}.topbar-tools{align-items:center;gap:var(--space-2);flex:none;margin-left:auto;display:flex}.me-chip{align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-full);min-height:32px;font-size:var(--text-sm);max-width:180px;padding:2px 10px 2px 3px;font-weight:550;display:inline-flex}.me-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main-nav{flex:auto;min-width:0}.main-nav ul{align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.main-nav button.nav-item{border-radius:var(--radius);min-height:36px;box-shadow:none;color:var(--muted);white-space:nowrap;background:0 0;border:none;gap:6px;padding:6px 12px;font-weight:550;position:relative}.main-nav button.nav-item:not(:disabled):hover{background:var(--surface-2);color:var(--text);transform:none}.main-nav button.nav-item[aria-current=page]:not(:disabled),.main-nav button.nav-item.is-active:not(:disabled){background:var(--accent-soft);color:var(--accent)}.main-nav button.nav-item:is([aria-current=page],.is-active):after{content:"";background:currentColor;border-radius:2px;height:2px;position:absolute;bottom:3px;left:12px;right:12px}.main-nav .icon,.main-nav .nav-more{display:none}.nav-live{background:var(--live);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--live) 22%, transparent);border-radius:50%}@media (width<=1100px) and (width>=761px){.main-nav .icon{display:block}.main-nav button.nav-item{width:40px;padding:0}.main-nav .nav-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.main-nav .nav-live{position:absolute;top:6px;right:6px}}@media (width<=760px){.topbar{gap:var(--space-2);padding:0 var(--space-3)}.brand{flex:auto;max-width:none}.topbar-tools{gap:var(--space-1)}.me-chip{border-color:#0000;padding:2px}.me-name{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.main-nav{z-index:20;height:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px));padding:0 var(--space-1) env(safe-area-inset-bottom,0px);border-top:1px solid var(--border);background:var(--panel);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000f}.main-nav ul{grid-auto-columns:1fr;grid-auto-flow:column;gap:0;height:100%;display:grid}.main-nav li{min-width:0;height:100%;display:flex}.main-nav li.secondary{display:none}.main-nav .nav-more{display:flex}.main-nav .menu-wrap{width:100%;display:flex}.main-nav button.nav-item{flex-direction:column;flex:1;gap:2px;width:100%;min-width:0;height:calc(100% - 8px);margin:4px 2px;padding:4px 2px;font-size:.6875rem;font-weight:600}.main-nav .icon{display:block}.main-nav .nav-label{text-overflow:ellipsis;max-width:100%;overflow:hidden}.main-nav .nav-live{position:absolute;top:6px;right:calc(50% - 16px)}.main-nav .menu{right:4px}.vault{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px))}:root:has(.main-nav) :is(.toaster,.dice-toasts,.toasts){bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + var(--space-3))}:root:has(.main-nav) .session-invite{bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + var(--space-3))}.vault .sidebar{bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px))}}.menu-wrap{display:inline-flex;position:relative}.menu{z-index:var(--z-dropdown);min-width:200px;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-md);animation:menu-in var(--dur-fast) var(--ease-out) both;flex-direction:column;gap:1px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.menu.menu-up{top:auto;bottom:calc(100% + 8px)}.menu button.menu-item{justify-content:flex-start;gap:var(--space-2);border-radius:var(--radius-sm);width:100%;min-height:36px;box-shadow:none;color:var(--text);text-align:left;white-space:nowrap;background:0 0;border:none;padding:6px 10px;font-weight:500}.menu button.menu-item:not(:disabled):hover,.menu button.menu-item:focus-visible{background:var(--surface-2);transform:none}.menu button.menu-item:focus-visible{outline-offset:-2px}.menu button.menu-item.danger{color:var(--danger)}.menu button.menu-item.danger:not(:first-child){margin-top:5px}.menu button.menu-item.danger:not(:first-child):before{content:"";border-top:1px solid var(--border);position:absolute;top:-3px;left:6px;right:6px}.menu button.menu-item{position:relative}.menu button.menu-item.danger:not(:disabled):hover{background:var(--danger-soft)}.menu button.menu-item[aria-current=page]:not(:disabled){color:var(--accent);background:var(--accent-soft);font-weight:650}.menu .icon{color:currentColor;flex:none}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.menu-up{animation-name:menu-in-up}@keyframes menu-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.banners{gap:var(--space-2);padding:var(--space-3) var(--space-4) 0;flex-direction:column;display:flex}.app-banner{--tone:var(--accent);align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb, var(--tone) 30%, var(--border));border-left:4px solid var(--tone);border-radius:var(--radius);background:color-mix(in srgb, var(--tone) 7%, var(--panel));font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.app-banner.warning{--tone:var(--warning)}.app-banner.error{--tone:var(--danger)}.app-banner-icon{color:var(--tone);flex:none;display:inline-grid}.app-banner-text{margin:0}.app-banner-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}@media (width<=640px){.banners{padding:var(--space-3) var(--space-3) 0}.app-banner{padding:var(--space-3);grid-template-columns:auto minmax(0,1fr);align-items:start}.app-banner-actions{grid-column:2;justify-content:flex-start}}.view-loading{margin:var(--space-6) auto;color:var(--muted)}.settings-page{gap:var(--space-6);width:100%;padding:var(--space-6) var(--space-5) var(--space-7);grid-template-columns:200px minmax(0,760px);justify-content:center;display:grid}.settings-nav ul{top:var(--space-5);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex;position:sticky}.settings-nav button.settings-nav-item{border-radius:var(--radius);width:100%;min-height:36px;box-shadow:none;color:var(--muted);text-align:left;background:0 0;border:none;justify-content:flex-start;padding:6px 12px;font-weight:550}.settings-nav button.settings-nav-item:not(:disabled):hover{background:var(--surface-2);color:var(--text);transform:none}.settings-nav button.settings-nav-item[aria-current=true]:not(:disabled){background:var(--accent-soft);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);font-weight:650}.settings-main{min-width:0}.settings-head{margin-bottom:var(--space-5)}.settings-head h1{margin:0 0 var(--space-1);font-size:var(--text-xl)}.settings-head p{color:var(--muted);margin:0}@media (width<=760px){.settings-page{gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-6);grid-template-columns:minmax(0,1fr)}.settings-nav ul{gap:var(--space-1);flex-flow:wrap;position:static}.settings-nav li{flex:none}.settings-nav button.settings-nav-item{border:1px solid var(--border);border-radius:var(--radius-full);width:auto;min-height:32px;padding:4px 12px}.settings-nav button.settings-nav-item[aria-current=true]:not(:disabled){border-color:var(--accent);box-shadow:none}}.s-card{margin:0 0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm)}.s-card-head{align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) 0;display:flex}.s-card-titles{flex:1;min-width:0}.s-card-head h2{align-items:center;gap:var(--space-2);font-size:var(--text-md);margin:0;display:flex}.s-card-desc{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm);max-width:65ch}.s-card-body{padding:var(--space-4) var(--space-5) var(--space-5)}.s-card-head+.s-card-foot{margin-top:var(--space-4)}.s-card-foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap;display:flex}.s-card-body>:last-child{margin-bottom:0}.s-card-danger{border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.s-card-danger .s-card-head h2{color:var(--danger)}.s-empty{color:var(--muted);font-size:var(--text-sm);margin:0}.s-loading{color:var(--muted)}.s-footnote{color:var(--muted);font-size:var(--text-sm);margin:0}.s-footnote code,.s-card code{background:var(--surface-2);border-radius:4px;padding:1px 5px}label.s-field-label{margin-top:0}.check-line{align-items:center;gap:var(--space-2);font-weight:500;display:flex}.s-rows{margin:0;padding:0;list-style:none}.s-row{align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border);display:flex}.s-card-body>.s-row:first-child,.s-rows>.s-row:first-child{border-top:none;padding-top:0}.s-card-body>.s-row:last-child,.s-rows>.s-row:last-child{padding-bottom:0}.s-row-text{flex:1;min-width:0}.s-row .s-row-title{font-size:var(--text-sm);margin:0;font-weight:600;display:block}.s-row-hint{color:var(--muted);font-size:var(--text-sm);margin:2px 0 0}.s-row-control{align-items:center;gap:var(--space-2);flex:none;display:flex}.s-row-pair{gap:var(--space-2);display:flex}.s-row-pair select{width:auto;max-width:220px}@media (width<=560px){.s-row{align-items:stretch;gap:var(--space-2);flex-direction:column}.s-row-control{justify-content:flex-start}.s-row-pair{flex-wrap:wrap}.s-row-pair select{flex:1;max-width:none}}input.switch{appearance:none;border-radius:var(--radius-full);background:var(--control-border);cursor:pointer;width:40px;height:24px;transition:background-color var(--dur-fast) ease;flex:none;margin:0;position:relative}input.switch:after{content:"";width:18px;height:18px;transition:transform var(--dur) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}input.switch:checked{background:var(--accent)}input.switch:checked:after{transform:translate(16px)}input.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}fieldset.choice-list{gap:var(--space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}label.choice-option{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--dur-fast) ease, background-color var(--dur-fast) ease;margin:0;font-weight:500;display:flex}label.choice-option:hover{border-color:var(--border-strong)}label.choice-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}label.choice-option:has(input:focus-visible){box-shadow:var(--focus-ring)}.choice-title{font-weight:600}.choice-hint{color:var(--muted);font-size:var(--text-sm)}.inline-form{gap:var(--space-2);display:flex}.inline-form input{flex:1;min-width:0}.inline-form button{flex:none}.member-list{margin:0;padding:0;list-style:none}.member{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border);display:flex}.member:first-child{border-top:none;padding-top:0}.member:last-child{padding-bottom:0}.member-avatar{color:#fff;width:36px;height:36px;font-size:var(--text-sm);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.member-avatar.sm{width:26px;height:26px;font-size:.72rem}.member-text{flex:1;min-width:0}.member-name{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.member-meta,.you-tag{color:var(--muted);font-size:var(--text-sm)}.member.is-removed .member-avatar{opacity:.55}.member .icon-button{color:var(--muted)}.role-badge{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-size:var(--text-xs);letter-spacing:.02em;align-items:center;padding:1px 8px;font-weight:650;display:inline-flex}.role-badge.gm{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:var(--accent-soft);color:var(--accent)}.role-badge.owner{border-color:color-mix(in srgb, var(--warning) 45%, var(--border));background:color-mix(in srgb, var(--warning) 12%, transparent);color:var(--text)}.qr-block{margin-bottom:var(--space-3);justify-content:center;display:flex}.recovery-code{margin:0 0 var(--space-3);text-align:center;font-size:var(--text-xl)}.reveal-list{margin:0 calc(-1 * var(--space-3));padding:0;list-style:none}.reveal-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);flex-wrap:wrap;display:flex}.reveal-item:hover{background:var(--surface-2)}.reveal-name{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;flex:200px;min-width:0;display:flex}.reveal-item.is-hidden .reveal-title{color:var(--muted)}.reveal-controls{align-items:center;gap:var(--space-1);display:flex}.reveal-controls select{width:auto;min-height:32px;font-size:var(--text-sm);padding-top:4px;padding-bottom:4px}.link-rows{gap:var(--space-2);margin:0 0 var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.link-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;align-items:center;display:grid}.link-row-tools{display:flex}.link-row-tools .icon-button:disabled{opacity:.35}@media (width<=560px){.link-row{padding-bottom:var(--space-2);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto}.link-row input:nth-child(2){grid-area:2/1}.link-row-tools{flex-direction:column;grid-area:1/2/span 2}}.item-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bin-list{margin:0;padding:0;list-style:none}.bin-item{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.bin-item:first-child{border-top:none;padding-top:0}.bin-text{overflow-wrap:anywhere;flex-direction:column;flex:260px;min-width:0;display:flex}.bin-meta{color:var(--muted);font-size:var(--text-sm)}.bin-actions{gap:var(--space-2);margin-left:auto;display:flex}button.danger-text{color:var(--danger)}button.danger-text:not(:disabled):hover{background:var(--danger-soft)}button.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}button.danger-solid:not(:disabled):hover{background:color-mix(in srgb, var(--danger) 88%, #000)}:root[data-theme=dark] button.danger-solid{color:#1a0d0b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) button.danger-solid{color:#1a0d0b}}.vault{flex-direction:column;min-height:100vh;display:flex}.person-chip{align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.banner{margin:8px 16px 0}.notes{flex:1;grid-template-columns:272px minmax(0,1fr) 272px;align-items:start;min-height:0;display:grid}.icon{flex:none;display:block}.sidebar{align-self:stretch;gap:var(--space-1);max-height:100vh;padding:var(--space-3) var(--space-3) var(--space-4);border-right:1px solid var(--border);background:var(--panel);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-top{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.find-button{justify-content:flex-start;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);min-height:36px;color:var(--muted);box-shadow:none;flex:1;padding:6px 10px;font-weight:500}.find-button:hover{background:var(--bg);border-color:var(--border-strong);color:var(--text);transform:none!important}.find-label{text-align:left;flex:1}.drawer-close{display:none}.sidebar-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 var(--space-1);padding-left:6px;display:flex}.sidebar-head .section-label,.sidebar-section .section-label{margin:0}.sidebar-head-actions{gap:2px;display:flex}.sidebar-head-actions .icon-button{width:28px;height:28px}.sidebar-foot{padding-top:var(--space-3);border-top:1px solid var(--border);margin-top:auto}.sidebar-foot button{width:100%;color:var(--muted);justify-content:flex-start}.tree,.flat-list{margin:0;padding:0;list-style:none}.tree-row{--indent:calc(var(--depth,0) * 16px);min-height:32px;padding-left:var(--indent);border-radius:var(--radius-sm);color:var(--text);align-items:center;display:flex;position:relative}.tree-row:hover{background:var(--surface-2)}.tree-row.active{background:var(--accent-soft)}.tree-row.active .tree-item{color:var(--accent);font-weight:600}.tree-row.active:before{content:"";left:calc(var(--indent) - 1px);background:var(--accent);border-radius:3px;width:3px;position:absolute;top:6px;bottom:6px}.tree .tree{background:linear-gradient(var(--border), var(--border)) no-repeat;background-size:1px 100%;background-position:var(--guide,13px) 0}.tree .tree .tree{--guide:29px}.tree .tree .tree .tree{--guide:45px}.tree-caret,.tree-caret-space{border-radius:var(--radius-sm);width:24px;height:24px;min-height:0;box-shadow:none;color:var(--faint);background:0 0;border:none;flex:none;place-items:center;margin-left:1px;padding:0;display:inline-grid}.tree-caret:hover{background:var(--border);color:var(--text);transform:none!important}.tree-caret .icon{transition:transform var(--dur-fast) var(--ease-out)}.tree-caret[data-open=true] .icon{transform:rotate(90deg)}.tree-item{justify-content:flex-start;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);min-width:0;min-height:30px;box-shadow:none;color:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:4px 6px;font-weight:450;text-decoration:none;display:flex}.tree-item:hover{color:var(--text);background:0 0}.flat-list .tree-item:hover,.connections .tree-item:hover{background:var(--surface-2)}.flat-list .tree-item[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.tree-item:focus-visible{outline-offset:-2px}.tree-icon{color:var(--muted);flex:none;place-items:center;display:inline-grid}.tree-row.folder .tree-icon{color:var(--accent)}.tree-row.folder .tree-item{font-weight:550}.tree-row.active .tree-icon{color:var(--accent)}.tree-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tree-more{opacity:0;width:26px;height:26px;margin-right:2px}.tree-row:hover .tree-more,.tree-row:focus-within .tree-more,.tree-row.menu-open .tree-more{opacity:1}@media (hover:none){.tree-more{opacity:1}}.tree-input{padding:2px 4px 2px calc(var(--depth,0) * 16px + 24px)}.tree-input input{min-height:30px;font-size:var(--text-sm);padding:4px 8px}.tree-empty{margin:0;padding:4px 8px}.popup-menu{z-index:var(--z-dropdown);min-width:196px;max-width:min(340px,100vw - 16px);max-height:60vh;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-lg);animation:drop-in var(--dur-fast) var(--ease-out) both;position:fixed;overflow-y:auto}.popup-menu-item{border-radius:var(--radius-sm);width:100%;min-height:32px;box-shadow:none;text-align:left;color:var(--text);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;justify-content:flex-start;padding:6px 12px;font-weight:450;display:flex;overflow:hidden}.popup-menu-item:hover,.popup-menu-item:focus{background:var(--surface-2);transform:none!important}.popup-menu-item:focus-visible{background:var(--accent-soft);color:var(--accent);outline:none}.popup-menu-item.danger{color:var(--danger)}.popup-menu-item.danger:focus-visible{background:var(--danger-soft);color:var(--danger)}.popup-menu-separator{background:var(--border);height:1px;margin:4px 6px}.sidebar-extras{gap:var(--space-1);margin-top:var(--space-2);flex-direction:column;display:flex}.sidebar-section{padding-top:var(--space-2);border-top:1px solid var(--border)}.section-toggle{min-height:28px;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:none;gap:6px;padding:2px 6px 2px 0}.section-toggle:hover{color:var(--text);background:0 0;transform:none!important}.section-toggle .tree-caret{width:18px;height:18px;margin:0}.sidebar-section>div{padding:2px 0 var(--space-2)}.tag-cloud{flex-wrap:wrap;gap:6px;padding:2px 6px;display:flex}a.tag,button.tag{border-radius:var(--radius-full);background:var(--accent-soft);min-height:0;color:var(--accent);box-shadow:none;cursor:pointer;border:none;align-items:center;gap:4px;padding:1px 9px;font-size:.85em;font-weight:550;text-decoration:none;display:inline-flex}button.tag:hover{background:color-mix(in srgb, var(--accent) 18%, transparent);transform:none!important}button.tag.active{background:var(--accent);color:var(--accent-text)}button.tag{min-height:24px}.tag-count{font-size:.9em}.tag-filter{margin:var(--space-2) 6px var(--space-1);justify-content:space-between}.mobile-bar,.drawer-backdrop{display:none}.editor-area{min-width:0;padding:0 var(--space-6) var(--space-7)}.editor-area:focus{outline:none}.banner-inline{align-items:center;gap:var(--space-2);max-width:72ch;margin:var(--space-3) auto 0;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--muted);font-size:var(--text-sm);display:flex}.note .banner-inline{margin:var(--space-3) 0 0}.error-banner{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:var(--danger-soft)}.tabs{margin:0 calc(-1 * var(--space-6));padding:var(--space-2) var(--space-6) 0;overscroll-behavior-x:contain;border-bottom:1px solid var(--border);background:var(--bg);scrollbar-width:thin;z-index:var(--z-sticky);gap:2px;display:flex;position:sticky;top:0;overflow-x:auto}.tab{border-radius:var(--radius-sm) var(--radius-sm) 0 0;max-width:220px;color:var(--muted);transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease;border:1px solid #0000;border-bottom:none;flex:none;align-items:center;margin-bottom:-1px;display:inline-flex}.tab:hover{background:var(--surface-2);color:var(--text)}.tab.active{background:var(--panel);border-color:var(--border);color:var(--text);box-shadow:inset 0 2px 0 var(--accent)}.tab [role=tab]{min-width:0;min-height:34px;box-shadow:none;color:inherit;white-space:nowrap;background:0 0;border:none;padding:6px 4px 6px 12px;font-weight:500;transform:none!important}.tab.active [role=tab]{font-weight:600}.tab-label{text-overflow:ellipsis;overflow:hidden}.tab [role=tab]:focus-visible,.tab-close:focus-visible{outline-offset:-2px}.tab-close{border-radius:var(--radius-sm);width:24px;height:24px;min-height:0;box-shadow:none;color:var(--faint);opacity:0;background:0 0;border:none;place-items:center;margin:0 5px 0 1px;padding:0;display:inline-grid}.tab-close .icon{width:12px;height:12px}.tab.active .tab-close,.tab:hover .tab-close,.tab-close:focus-visible{opacity:1}.tab-close:hover{background:var(--border);color:var(--text);transform:none!important}@media (hover:none){.tab-close{opacity:1}}.note-page{max-width:72ch;margin:0 auto}.note-page.wide{max-width:1040px}.note-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin:var(--space-6) 0 var(--space-2);flex-wrap:wrap;display:flex}.note-title{min-width:0;font-size:var(--text-3xl);letter-spacing:-.025em;overflow-wrap:anywhere;flex:18ch;margin:0;line-height:1.15}.note-head-actions{align-items:center;gap:var(--space-1);padding-top:6px;display:flex}.visibility-pill{color:var(--muted);gap:6px}.visibility-pill.static{align-items:center;display:inline-flex}button.visibility-pill:hover{color:var(--text)}.bookmark[aria-pressed=true]{color:var(--warning)}.note-loading{padding:var(--space-6) 0;text-align:center}.notes-empty{justify-content:center;min-height:60vh}.notes-empty h2{margin:var(--space-2) 0 0;font-size:var(--text-xl)}.empty-mark{width:56px;height:56px;margin-bottom:var(--space-2);border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent);place-items:center;display:grid}.empty-mark .icon{width:26px;height:26px}.empty-actions{margin-top:var(--space-4);justify-content:center}.note-bar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.note-bar-start,.note-bar-end{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.note-bar-end{gap:2px;margin-left:auto}.note-readonly{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.bar-button{min-height:32px;color:var(--muted);gap:6px;padding:4px 10px;font-weight:500}.bar-button:hover,.bar-button[aria-expanded=true]{color:var(--text)}.note-status{margin-right:var(--space-2);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.status-dot{background:var(--faint);border-radius:50%;width:7px;height:7px}.status-connected .status-dot{background:var(--success)}.status-connecting .status-dot{background:var(--warning);animation:1.2s ease-in-out infinite pulse}.status-disconnected{color:var(--danger)}.status-disconnected .status-dot{background:var(--danger)}@keyframes pulse{50%{opacity:.35}}.note-people{margin-right:var(--space-2);display:inline-flex}.note-people .person-initial{box-shadow:0 0 0 2px var(--bg);margin-left:-4px}.note-people .person-initial.more{background:var(--surface-2);color:var(--muted)}.switch{align-items:center;gap:var(--space-2);color:var(--muted);cursor:pointer;margin:0;font-weight:500;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{border-radius:var(--radius-full);background:var(--faint);width:30px;height:18px;transition:background-color var(--dur-fast) ease;position:relative}.switch-track:after{content:"";background:var(--panel);width:14px;height:14px;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(12px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.format-bar{border-bottom:1px solid var(--border);z-index:calc(var(--z-sticky) - 1);background:var(--bg);flex-wrap:wrap;align-items:center;gap:2px;padding:6px 0;display:flex;position:sticky;top:43px}.format-item{align-items:center;display:inline-flex}.format-sep{background:var(--border);width:1px;height:18px;margin:0 6px}.format-button{border-radius:var(--radius-sm);width:32px;height:32px;min-height:0;box-shadow:none;color:var(--muted);background:0 0;border:none;padding:0}.format-button:hover{background:var(--surface-2);color:var(--text);transform:none!important}.format-button:active{background:var(--accent-soft);color:var(--accent)}.glyph{font-size:15px;font-weight:650;line-height:1}.glyph-bold{font-weight:800}.glyph-italic{font-family:var(--font-reading);font-size:17px;font-style:italic;font-weight:500}.glyph-strike{text-decoration:line-through}.format-extra{margin-left:auto}.hide-button{gap:6px}.note-editor{min-height:50vh}.note-editor .cm-editor{font-size:var(--text-md)}.cm-bullet{color:var(--faint);padding-right:2px}.cm-task{vertical-align:-2px;cursor:pointer;margin:0 6px 0 0}.note-reading{padding:var(--space-4) 0 var(--space-7);font-family:var(--font-reading);font-size:1.0625rem;line-height:var(--leading-reading);overflow-wrap:anywhere;font-feature-settings:normal}.note-reading>:first-child{margin-top:0}.note-reading p,.note-reading ul,.note-reading ol,.note-reading blockquote,.note-reading pre,.note-reading table{margin:0 0 1em}.note-reading h1,.note-reading h2,.note-reading h3,.note-reading h4,.note-reading h5,.note-reading h6{font-family:var(--font-ui);line-height:var(--leading-tight);scroll-margin-top:96px}.note-reading h1{margin:1.6em 0 .5em;font-size:1.75rem}.note-reading h2{border-bottom:1px solid var(--border);margin:1.5em 0 .5em;padding-bottom:.25em;font-size:1.4rem}.note-reading h3{margin:1.4em 0 .4em;font-size:1.15rem}.note-reading h4,.note-reading h5,.note-reading h6{margin:1.2em 0 .3em;font-size:1rem}.note-reading h6{color:var(--muted)}.note-reading :is(h1,h2,h3,h4,h5,h6):focus{outline:none}.note-reading a{color:var(--accent)}.note-reading strong{font-weight:650}.note-reading ul,.note-reading ol{padding-left:1.5em}.note-reading li{margin:.2em 0}.note-reading li>ul,.note-reading li>ol{margin:.2em 0 0}.note-reading li::marker{color:var(--muted)}.note-reading code{background:var(--surface-2);font-family:var(--font-mono);border-radius:4px;padding:.1em .35em;font-size:.85em}.note-reading pre{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);line-height:1.5;overflow-x:auto}.note-reading pre code{background:0 0;padding:0;font-size:.85rem}.note-reading blockquote{border-left:3px solid var(--border-strong);color:var(--muted);padding:.1em 0 .1em 1em;font-style:italic}.note-reading blockquote>:last-child{margin-bottom:0}.note-reading hr{margin:2em 0}.note-reading table{border-collapse:collapse;max-width:100%;font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.45;display:block;overflow-x:auto}.note-reading th,.note-reading td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 12px}.note-reading th{background:var(--surface-2);font-weight:600}.note-reading tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-2) 45%, transparent)}.note-reading img{max-width:100%}.note-reading .task-item{align-items:baseline;gap:.5em;margin-left:-1.4em;list-style:none;display:flex}.note-reading .task-item>p{margin:0}.note-reading .task-item{list-style:none}.note-reading li:has(>.task-box){list-style:none}.task-box{border:1.5px solid var(--border-strong);background:var(--panel);border-radius:4px;flex:none;width:.95em;height:.95em;display:inline-block;transform:translateY(.12em)}.task-item.done .task-box{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 90% no-repeat}.task-item.done{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.note-empty{color:var(--muted);font-style:italic}button.pill{cursor:pointer}.choice,.people-pick label{align-items:center;gap:var(--space-2);margin:0;padding:6px 0;font-weight:450;display:flex}.people-pick{padding-left:24px}.share-sheet fieldset{margin-bottom:var(--space-4)}.share-sheet>label.row{gap:var(--space-2);font-weight:450}.hidden-item>span:first-child{opacity:.55}.rule{margin:8px 0}.rule label{margin:0;font-weight:400}.rule-hint{margin:2px 0 0 24px;font-size:.85rem}.connections{max-height:100vh;padding:var(--space-3);border-left:1px solid var(--border);background:var(--panel);font-size:var(--text-sm);align-self:stretch;position:sticky;top:0;overflow-y:auto}.connections-slot{display:contents}.connections section+section{margin-top:var(--space-2)}.connections .section-label{padding-left:6px}.connections-empty{margin:0;padding:0 6px}.connections .tree-item.unresolved{color:var(--muted)}.connections .tree-item.unresolved .tree-label{-webkit-text-decoration:underline dashed var(--faint);text-decoration:underline dashed var(--faint);text-underline-offset:3px}button.link.unresolved,.wikilink.unresolved{color:var(--muted);text-underline-offset:3px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.wikilink{color:var(--accent);cursor:pointer;text-decoration:none}.note-reading a.wikilink{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-underline-offset:3px}.note-reading a.wikilink:hover{text-decoration-color:currentColor}.note-reading a.wikilink.unresolved,.board-card a.wikilink.unresolved{-webkit-text-decoration:underline dashed;text-decoration:underline dashed;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.map-canvas{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-top:var(--space-2);touch-action:none;display:block}.map-view{padding:var(--space-3) var(--space-4)}.map-list{margin-top:var(--space-3);font-size:var(--text-sm)}.map-list summary{cursor:pointer;min-height:28px;padding:4px 6px;font-weight:600}.map-list .tree-item{column-gap:var(--space-2);flex-wrap:wrap;row-gap:0}.map-list-links{overflow-wrap:anywhere}.map-bar{font-size:var(--text-sm);justify-content:space-between}.map-bar label{gap:var(--space-2);margin:0;font-weight:450;display:inline-flex}.embed{padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--panel);margin:1em 0}.embed>:last-child{margin-bottom:0}.embed-title{margin:2px 0 var(--space-2);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600}.hover-preview{z-index:var(--z-dropdown);width:min(340px,100vw - 16px);max-height:300px;padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-lg);font-family:var(--font-reading);font-size:.92rem;line-height:1.55;position:fixed;overflow:hidden;-webkit-mask-image:linear-gradient(#000 80%,#0000);mask-image:linear-gradient(#000 80%,#0000)}.hover-preview h1,.hover-preview h2,.hover-preview h3{font-family:var(--font-ui);font-size:1rem}.hidden-section{border:1px dashed color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 6%, var(--panel));margin:.75em 0;padding:6px 14px 8px}.hidden-section>:last-child{margin-bottom:0}.hidden-label{color:var(--muted);font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:2px;font-style:normal;font-weight:600;display:flex}.hidden-label .link{font-size:var(--text-xs);min-height:24px;padding:0 2px}.cm-section-none{display:none}.switcher-backdrop{z-index:var(--z-dialog);padding:12vh var(--space-4) var(--space-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in var(--dur-fast) ease both;background:#0b0a0966;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.switcher{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);width:min(600px,100%);max-height:70vh;box-shadow:var(--shadow-lg);animation:sheet-in var(--dur) var(--ease-out) both;flex-direction:column;display:flex;overflow:hidden}.switcher-search{align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--border);color:var(--muted);display:flex}.switcher-search .icon{width:18px;height:18px}.switcher .switcher-search input{min-height:54px;box-shadow:none;font-size:var(--text-lg);background:0 0;border:none;border-radius:0;flex:1;padding:0}.switcher .switcher-search input:focus-visible{box-shadow:none}.switcher-esc{flex:none}.switcher-list{padding:var(--space-2);margin:0;list-style:none;overflow-y:auto}.switcher-list li{border-radius:var(--radius);cursor:pointer}.switcher-group{padding:var(--space-2) var(--space-3) var(--space-1);color:var(--muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;cursor:default;font-weight:700;display:block}.switcher-row{align-items:center;gap:var(--space-3);padding:8px var(--space-3);border-radius:var(--radius);display:flex}.switcher-list li.selected .switcher-row{background:var(--accent-soft)}.switcher-list li.selected .switcher-icon,.switcher-list li.selected .switcher-label{color:var(--accent)}.switcher-icon{border-radius:var(--radius-sm);background:var(--surface-2);width:28px;height:28px;color:var(--muted);flex:none;place-items:center;display:grid}.switcher-text{flex-direction:column;min-width:0;display:flex}.switcher-label{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.switcher-detail{color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.switcher-note{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) 0;font-size:var(--text-sm);margin:0;display:flex}.switcher-empty{padding:var(--space-5) var(--space-4);text-align:center;font-size:var(--text-sm);margin:0}.switcher-foot{gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-size:var(--text-xs);display:flex}.switcher-foot kbd{margin-right:3px}.properties{margin:var(--space-3) 0 var(--space-1);padding:2px var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);font-size:var(--text-sm);gap:2px;display:grid}.properties.is-open{padding-bottom:var(--space-2)}.properties>div{gap:2px;display:grid}.prop-toggle{width:100%;min-height:32px;box-shadow:none;color:var(--muted);font-size:var(--text-sm);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:4px 6px;display:flex}.prop-toggle:hover{color:var(--text);background:0 0;transform:none}.prop-toggle-label{font-weight:600}.prop-chevron{transition:transform var(--dur-fast) var(--ease-out);flex:none}.prop-toggle[aria-expanded=true] .prop-chevron{transform:rotate(90deg)}.prop-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--faint);flex:1;font-weight:400;overflow:hidden}.prop-row{gap:var(--space-2);grid-template-columns:minmax(90px,160px) 1fr 32px;align-items:center;min-height:30px;display:grid}.properties:not(.editable) .prop-row{grid-template-columns:minmax(90px,160px) 1fr}.prop-row input{min-height:30px;font-size:var(--text-sm);background:0 0;border-color:#0000;padding:4px 8px}.prop-row input:hover{border-color:var(--border)}.prop-key,input.prop-key{color:var(--muted)}.prop-add{font-size:var(--text-sm);justify-self:start;margin:4px 8px}.callout{padding:var(--space-2) var(--space-4);border-left:4px solid var(--callout,var(--accent));border-radius:0 var(--radius) var(--radius) 0;background:color-mix(in srgb, var(--callout,var(--accent)) 9%, var(--panel));margin:1em 0}.callout>:last-child{margin-bottom:0}.callout-title{font-family:var(--font-ui);font-size:var(--text-sm);color:color-mix(in srgb, var(--callout,var(--accent)) 45%, var(--text));margin-bottom:4px;font-weight:650}.callout-info{--callout:#3b82f6}.callout-tip{--callout:#10b981}.callout-warning{--callout:#f59e0b}.callout-danger{--callout:#ef4444}.callout-quote{--callout:#94a3b8}.callout-secret{--callout:#8b5cf6}.preview-toggle{color:var(--muted);margin:0;font-size:.85rem;font-weight:400}.template-button{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-family:var(--font-ui)}.wide-select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:8px}.shelf-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 4px;font-size:.85rem}.shelf{margin:0 0 8px;padding:0;list-style:none}.small{font-size:.8rem}.history-sheet{width:min(560px,100vw - 32px)}.history-list{margin:0 0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius);max-height:30vh;padding:0;list-style:none;overflow-y:auto}.history-list li+li{border-top:1px solid var(--border)}.history-point{justify-content:space-between;gap:var(--space-3);width:100%;min-height:40px;box-shadow:none;text-align:left;background:0 0;border:none;border-radius:0;padding:8px 12px;font-weight:500;display:flex;transform:none!important}.history-point[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.history-text{white-space:pre-wrap;max-height:36vh;padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin:0;font-size:.82rem;overflow-y:auto}.history-confirm{text-align:right;flex:100%}.history-tabs{margin-bottom:var(--space-3)}.history-tabs .count{margin-left:4px}.timeline{gap:var(--space-2);flex-direction:column;display:flex}.timeline-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.timeline-when{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.timeline-stats{font-variant-numeric:tabular-nums}.stat-add{color:color-mix(in srgb, var(--success) 75%, var(--text));font-weight:600}.stat-del{color:color-mix(in srgb, var(--danger) 80%, var(--text));font-weight:600}.timeline-controls{align-items:center;gap:2px;display:flex}.timeline-controls .icon-button{font-size:.8rem}.timeline-play[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.timeline-slider{min-width:120px;margin-left:var(--space-2);appearance:none;cursor:pointer;height:22px;accent-color:var(--accent);background:0 0;border:0;flex:1;padding:0}.timeline-slider::-webkit-slider-runnable-track{border-radius:var(--radius-full);background:linear-gradient(to right, var(--accent) var(--fill), var(--faint) var(--fill));height:6px}.timeline-slider::-moz-range-track{border-radius:var(--radius-full);background:var(--faint);height:6px}.timeline-slider::-moz-range-progress{border-radius:var(--radius-full);background:var(--accent);height:6px}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--panel);border:2px solid var(--accent);width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-out);border-radius:50%;margin-top:-6px}.timeline-slider::-moz-range-thumb{background:var(--panel);border:2px solid var(--accent);border-radius:50%;width:14px;height:14px}.timeline-slider:hover::-webkit-slider-thumb{transform:scale(1.15)}.timeline-slider:focus-visible::-webkit-slider-thumb{transform:scale(1.15)}.timeline-slider:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}.timeline-toggle{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.timeline-toggle input{width:auto;margin:0}.timeline-text{max-height:46vh;font-family:var(--font-mono);font-weight:400;font-size:var(--text-xs);line-height:1.7}.timeline-text ins{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--success) 75%, var(--text));text-decoration-color:color-mix(in srgb, var(--success) 75%, var(--text));text-underline-offset:2px;background:color-mix(in srgb, var(--success) 22%, transparent);border-radius:3px}.timeline-text del{color:color-mix(in srgb, var(--danger) 80%, var(--text));background:color-mix(in srgb, var(--danger) 14%, transparent);border-radius:3px;text-decoration:line-through}.remove-box{border:1px solid var(--border);border-radius:8px;margin:8px 0;padding:12px}fieldset.plain{border:none;margin:0;padding:0}#print-root{display:none}.vault-img{border-radius:var(--radius-sm);max-width:100%;height:auto}@media print{body.printing #root{display:none}body.printing #print-root{display:block}.print-note{break-after:page}.print-note:last-child{break-after:auto}.print-note a{color:inherit}}.gm-sections{flex-wrap:wrap;margin:12px 16px 0}.quick-link-row{flex-wrap:wrap;margin-bottom:6px}@media (width<=1180px){.notes{grid-template-columns:260px minmax(0,1fr)}.connections{max-height:none;margin:0 var(--space-6) var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);grid-column:2;position:static}.connections section{max-width:72ch;margin-inline:auto}}@media (width<=760px){.notes{grid-template-columns:minmax(0,1fr)}.editor-area{padding:0 var(--space-4) var(--space-6)}.connections{margin:0 var(--space-4) var(--space-5);grid-column:1}.mobile-bar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;display:flex}.drawer-toggle{gap:6px}.sidebar{z-index:var(--z-dialog);width:min(320px,86vw);max-height:none;box-shadow:var(--shadow-lg);visibility:hidden;transition:transform var(--dur) var(--ease-out), visibility 0s linear var(--dur);position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.sidebar.open{visibility:visible;transition:transform var(--dur) var(--ease-out);transform:none}.drawer-close{display:inline-grid}.drawer-backdrop{z-index:calc(var(--z-dialog) - 1);width:auto;min-height:0;box-shadow:none;animation:fade-in var(--dur) ease both;background:#0b0a0966;border:none;border-radius:0;padding:0;display:block;position:fixed;inset:0;transform:none!important}.tabs{margin:0 calc(-1 * var(--space-4));padding:var(--space-1) var(--space-4) 0}.tab{max-width:160px}.note-head{margin-top:var(--space-4)}.note-title{font-size:var(--text-2xl)}.bar-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.bar-button{padding:4px 8px}.format-bar{scrollbar-width:none;flex-wrap:nowrap;top:39px;overflow-x:auto}.format-bar::-webkit-scrollbar{display:none}.format-extra{margin-left:var(--space-2)}.hide-button{white-space:nowrap}.note-reading{font-size:1rem}.prop-row{grid-template-columns:minmax(70px,110px) 1fr 32px}.switcher-backdrop{padding-top:var(--space-4)}.switcher-foot{display:none}}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar.open{transition-duration:var(--dur-fast)}.tree-caret .icon,.switch-track:after{transition-duration:60ms}.status-connecting .status-dot{animation-duration:2.4s}}.note-page:has(.board){max-width:none}.board{align-items:flex-start;gap:var(--space-3);margin-top:var(--space-4);padding:2px 2px var(--space-4);scroll-snap-type:x proximity;overscroll-behavior-x:contain;display:flex;overflow-x:auto}.board-column{gap:var(--space-2);max-height:calc(100vh - 220px);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);scroll-snap-align:start;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);flex-direction:column;flex:0 0 280px;display:flex}.board-column.is-over{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface-2))}.board-column-head{align-items:center;gap:var(--space-2);padding:2px 4px 2px 6px;display:flex}.board-column-head h2{font-size:var(--text-sm);letter-spacing:.01em;overflow-wrap:anywhere;flex:1;margin:0;font-weight:650}.board-cards{gap:var(--space-2);flex-direction:column;min-height:8px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.board-cards li{position:relative}.board-card{align-items:flex-start;gap:var(--space-2);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:grab;line-height:1.45;font-size:var(--text-sm);animation:card-in var(--dur) var(--ease-out);transition:box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);padding:10px 6px 10px 10px;display:flex}.board-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.board-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.board-card.is-lifted{opacity:.45;transform:rotate(-1.5deg)scale(.98)}.board-card.is-done .board-card-text{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.board-check{width:16px;height:16px;accent-color:var(--success);cursor:pointer;flex:none;margin:2px 0 0}.board-card-text{overflow-wrap:anywhere;flex:1;min-width:0}.board-card-text code{font-size:.85em}.board-card-menu{opacity:0;transition:opacity var(--dur-fast) var(--ease-out);flex:none;margin:-4px 0 -4px auto}.board-card:hover .board-card-menu,.board-card:focus-within .board-card-menu,.board-card-menu[aria-expanded=true]{opacity:1}@media (hover:none){.board-card-menu{opacity:1}}.board.is-dragging .board-card{cursor:grabbing}.board.is-dragging .board-card:hover{transform:none}.drop-before:before,.drop-end{content:"";border-radius:var(--radius-full);background:var(--accent);height:3px;margin:-2.5px 4px 2px;display:block}.drop-end{margin:0 4px;list-style:none}.board-add{color:var(--muted);justify-content:flex-start}.board-add:hover{color:var(--text)}.board-editor{gap:var(--space-2);animation:card-in var(--dur) var(--ease-out);flex-direction:column;display:flex}.board-editor textarea{resize:none;font-size:var(--text-sm);min-height:3.2em;line-height:1.45}.board-editor-actions{gap:var(--space-2)}.board-new-column{border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);min-height:48px;color:var(--muted);background:0 0;flex:0 0 220px;justify-content:center;gap:6px}.board-new-column:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.board-empty{margin-top:var(--space-5)}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){@keyframes card-in{0%{opacity:0}}.board-card:hover{transform:none}}@media (width<=760px){.board-column{flex-basis:min(82vw,300px);max-height:none}}.cm-comment{background:color-mix(in srgb, var(--warning) 22%, transparent);border-bottom:2px solid color-mix(in srgb, var(--warning) 70%, transparent);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);border-radius:2px}.cm-comment:hover{background:color-mix(in srgb, var(--warning) 32%, transparent)}.cm-comment-active{background:color-mix(in srgb, var(--warning) 42%, transparent);border-bottom-color:var(--warning)}.bar-button .count{margin-left:2px}.comment-button{gap:6px}.comments-panel{z-index:var(--z-dropdown);top:64px;right:var(--space-3);bottom:var(--space-3);width:min(360px, calc(100vw - 2 * var(--space-3)));background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:comments-in var(--dur) var(--ease-out);flex-direction:column;display:flex;position:fixed;overflow:hidden}@keyframes comments-in{0%{opacity:0;transform:translate(24px)}}.comments-head{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-bottom:1px solid var(--border);flex:none;display:flex}.comments-head h2{font-size:var(--text-md);margin:0}.comments-head h2:focus{outline:none}.comments-new{margin-left:auto}.comments-list{padding:var(--space-3);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.comments-empty{padding:var(--space-5) var(--space-3);text-align:center}.comments-empty p{margin:0 0 var(--space-2)}.comment-thread{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);cursor:default;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);animation:card-in var(--dur) var(--ease-out);flex-direction:column;display:flex}.comment-thread:not(.is-active):hover{border-color:var(--border-strong)}.comment-thread.is-active,.comment-thread.is-draft{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--panel)}.comment-thread.is-resolved{border-style:dashed}.comment-quote{border:0;border-left:3px solid var(--warning);width:100%;color:var(--muted);font:inherit;font-size:var(--text-sm);text-align:left;-webkit-line-clamp:3;white-space:pre-wrap;background:0 0;border-radius:0;-webkit-box-orient:vertical;margin:0;padding:2px 0 2px 10px;display:-webkit-box;overflow:hidden}button.comment-quote{cursor:pointer}button.comment-quote:hover{color:var(--text);transform:none}.comment-quote.is-gone{border-left-color:var(--border-strong)}.comment-general{margin:0}.comment{flex-direction:column;gap:4px;display:flex}.comment.is-reply{padding-top:var(--space-2);border-top:1px solid var(--border)}.comment-meta{align-items:center;gap:var(--space-2);min-width:0;display:flex}.comment-meta .person-initial{flex:none;width:22px;height:22px;font-size:.7rem}.comment-author{font-weight:600;font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.comment-meta time{white-space:nowrap}.comment-actions{align-items:center;gap:2px;margin-left:auto;display:inline-flex}.comment-resolve.on,.comment-resolve:hover{color:var(--success)}.comment-body{font-size:var(--text-sm);overflow-wrap:anywhere;padding-left:30px;line-height:1.5}.comment-composer{gap:var(--space-2);flex-direction:column;display:flex}.comment-composer textarea{resize:vertical;min-height:3.2em;font-size:var(--text-sm);line-height:1.45}.comment-composer-actions{justify-content:flex-end;gap:var(--space-2)}.comment-reply-link{align-self:flex-start;padding-left:30px}.comments-resolved{gap:var(--space-3);flex-direction:column;display:flex}.comments-resolved>button{align-self:flex-start}@media (prefers-reduced-motion:reduce){@keyframes comments-in{0%{opacity:0}}}@media (width<=760px){.comments-panel{top:auto;left:var(--space-2);right:var(--space-2);width:auto;max-height:70vh;bottom:calc(var(--bottom-nav-h,0px) + env(safe-area-inset-bottom,0px) + var(--space-2))}@keyframes comments-in{0%{opacity:0;transform:translateY(24px)}}}.cm-author{background:color-mix(in srgb, var(--author) 20%, transparent);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--author) 55%, transparent);border-radius:2px}.author-key{align-items:center;gap:var(--space-2) var(--space-3);margin:var(--space-2) 0 0;flex-wrap:wrap;display:flex}.author-chip{align-items:center;gap:6px;display:inline-flex}.author-swatch{width:10px;height:10px;box-shadow:0 0 0 1px color-mix(in srgb, var(--text) 15%, transparent);border-radius:3px}.rules-view{grid-template-columns:minmax(240px,340px) 1fr;gap:16px;height:calc(100vh - 60px);padding:16px;display:grid}.rules-list{flex-direction:column;gap:8px;min-height:0;display:flex}.rules-list ul{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.rules-filters{flex-wrap:wrap;gap:4px;display:flex}.rules-hit{text-align:left;flex-direction:column;align-items:flex-start;width:100%;display:flex}.rules-hit:focus-visible{outline-offset:-2px}.rules-hit[aria-current=true]{background:color-mix(in srgb, var(--accent) 14%, transparent);box-shadow:inset 3px 0 0 var(--accent)}.rules-detail{border-radius:var(--radius);min-height:0;overflow-y:auto}.rules-detail:focus-visible{outline-offset:-2px}.srd-entry h2{margin-bottom:2px}.srd-card:focus-visible{outline-offset:4px}.srd-card .srd-entry>p:first-child{margin-top:0}a.srd-link,.cm-wikilink.cm-srd{color:var(--accent);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.srd-embed{border-left:3px solid var(--accent)}@media (width<=720px){.rules-view{grid-template-columns:1fr;height:auto}.rules-list ul{max-height:40vh}}button.dice{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);font:inherit;cursor:pointer;border:none;border-radius:4px;padding:0 3px;display:inline}button.dice:hover{background:color-mix(in srgb, var(--accent) 24%, transparent)}@media print{button.dice{color:inherit;background:0 0;padding:0}button.dice .die-icon{display:none}}.die-icon{vertical-align:-.2em;-webkit-user-select:none;user-select:none;flex:none;overflow:visible}button.dice .die-icon{margin-right:2px}.dice-toggle{justify-content:center;align-items:center;padding:3px 8px;display:inline-flex;position:relative}.badge{background:var(--danger);color:var(--panel);border-radius:999px;min-width:16px;padding:0 4px;font-size:.7rem;line-height:16px;position:absolute;top:-6px;right:-6px}.dice-tray{background:var(--panel);border-left:1px solid var(--border);z-index:30;flex-direction:column;width:min(360px,100vw);display:flex;position:fixed;top:56px;bottom:0;right:0;box-shadow:-8px 0 30px #0000001f}.dice-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-bottom:1px solid var(--border);display:flex}.dice-head h2{align-items:center;gap:var(--space-2);margin:0;font-size:1rem;display:inline-flex}.dice-log{padding:var(--space-3) var(--space-4);gap:var(--space-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.dice-controls{border-top:1px solid var(--border);padding:var(--space-3) var(--space-4) var(--space-4);gap:var(--space-3);background:color-mix(in srgb, var(--bg) 45%, var(--panel));flex-direction:column;display:flex}.dice-controls p{margin:0}.dice-controls .segmented{display:flex}.dice-controls .segmented button{flex:1;padding:6px 4px;font-size:.85rem}.dice-quick{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.dice-quick button{border-radius:var(--radius-sm);color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:6px 0 4px;font-size:.72rem;font-weight:700;display:flex}.dice-quick button:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));color:var(--text)}.dice-form{gap:var(--space-2);display:flex}.dice-form input{flex:1;min-width:0}.dice-secret{align-items:center;gap:var(--space-2);margin:0;font-weight:500;display:flex}.dice-secret input{margin:0}.roll-line{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--bg)}.roll-line.crit{border-color:var(--success);box-shadow:inset 3px 0 0 var(--success)}.roll-line.fumble{border-color:var(--danger);box-shadow:inset 3px 0 0 var(--danger)}.roll-top{flex-wrap:nowrap;align-items:center;gap:6px;min-width:0}.roll-top>.muted{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.roll-total{font-variant-numeric:tabular-nums;margin-left:auto;font-size:1.35rem;font-weight:700}.roll-detail{overflow-wrap:anywhere;margin-top:2px}.roll-detail .dropped{text-decoration:line-through;text-decoration-thickness:1.5px}.dice-toasts{z-index:40;flex-direction:column;gap:8px;width:min(320px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.dice-toasts .roll-line{background:var(--panel);box-shadow:0 8px 30px #0003}.dice-toasts:empty{display:none}.dice-controls .segmented.seg-slide{isolation:isolate;position:relative}.seg-thumb{z-index:-1;border-radius:calc(var(--radius) - 3px);background:var(--panel);width:calc(33.3333% - 3.33333px);box-shadow:var(--shadow-sm), inset 0 -2px 0 var(--accent);transform:translateX(calc(var(--seg,0) * (100% + 2px)));transition:transform var(--dur) var(--ease-out);position:absolute;top:3px;bottom:3px;left:3px}.dice-controls .segmented.seg-slide button[aria-pressed=true]{color:var(--text);font-weight:650}.dice-head h2:focus-visible{outline-offset:4px}.dice-controls .segmented.seg-slide button[aria-pressed=true]{box-shadow:none;background:0 0}.dice-controls .segmented.seg-slide button:hover{background:0 0}.dice-quick button{transition:transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, color var(--dur-fast) ease}.dice-quick button:not(:disabled):hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.dice-quick button:not(:disabled):active{transform:translateY(1px)scale(.95);box-shadow:inset 0 1px 3px #1f1d1a26}.quick-die{transition:transform var(--dur) steps(2, end);display:inline-flex}.dice-quick button:hover .quick-die{transform:translateY(-2px)rotate(-10deg)}.quick-die.tumble{animation:.52s steps(6,end) quick-tumble}@keyframes quick-tumble{0%{transform:translateY(0)rotate(0)}30%{transform:translateY(-7px)rotate(140deg)}60%{transform:translateY(0)rotate(270deg)scale(1.08,.92)}80%{transform:translateY(-2px)rotate(340deg)}to{transform:rotate(360deg)}}.roll-die{flex:none;display:inline-flex}.roll-line.fresh{animation:roll-in var(--dur-slow) var(--ease-out) both}.roll-line.fresh .roll-die{animation:.56s steps(6,end) both line-tumble}.roll-line.fresh .roll-total{animation:.4s steps(4,end) .5s both total-pop-html;display:inline-block}.roll-line.fresh.crit{animation:roll-in var(--dur-slow) var(--ease-out) both, crit-glint 1.1s ease-out .55s}.roll-line.fresh.fumble{animation:roll-in var(--dur-slow) var(--ease-out) both, wobble .45s steps(5, end) .55s}.roll-line.crit .roll-total{color:color-mix(in srgb, #b8892e 75%, var(--text))}.roll-line.fresh.crit .roll-total:before{content:"✦";color:#d4a33f;vertical-align:.15em;margin-right:4px;font-size:.8em;animation:1s steps(4,end) .55s both twinkle;display:inline-block}@keyframes roll-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes line-tumble{0%{transform:translateY(-5px)rotate(0)}50%{transform:translateY(0)rotate(240deg)}75%{transform:translateY(-2px)rotate(320deg)}to{transform:rotate(360deg)}}@keyframes total-pop-html{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.3)}75%{transform:scale(.94)}to{opacity:1;transform:none}}@keyframes crit-glint{0%{box-shadow:inset 3px 0 0 var(--success), 0 0 0 0 #e0b04a00}30%{box-shadow:inset 3px 0 0 var(--success), 0 0 0 4px #e0b04a66}to{box-shadow:inset 3px 0 0 var(--success), 0 0 0 0 #e0b04a00}}@keyframes wobble{20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes twinkle{0%{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1.3)rotate(45deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.quick-die.tumble{animation:.3s steps(3,end) soft-bump}.seg-thumb{transition-duration:var(--dur-fast)}.dice-quick button:hover .quick-die{transform:translateY(-1px)}.roll-line.fresh .roll-die{animation:.3s steps(3,end) both soft-bump}.roll-line.fresh .roll-total{animation:soft-pop var(--dur) var(--ease-out) .2s both}.roll-line.fresh.fumble{animation:roll-in var(--dur) var(--ease-out) both, soft-wobble .3s steps(3, end) .3s}.roll-line.fresh.crit .roll-total:before{animation:soft-pop var(--dur) var(--ease-out) .2s both}}@keyframes soft-bump{50%{transform:scale(1.08)}}@keyframes soft-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes soft-wobble{33%{transform:translate(-1.5px)}66%{transform:translate(1.5px)}}@media (width<=720px){.dice-tray{border-left:none;border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100vw;height:65vh;top:auto}}.character{flex-direction:column;gap:12px;padding-bottom:32px;display:flex}.char-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.char-head p{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.char-tabs{align-self:flex-start}.char-stats{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.stat{border:1px solid var(--border);text-align:center;background:var(--panel);font:inherit;color:inherit;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:8px;display:flex}.stat b{font-size:1.3rem}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.7rem}.stat.inspiration.on{border-color:var(--accent)}button.dice.sheet-roll{vertical-align:middle;justify-content:center;align-items:center;gap:2px;min-width:24px;min-height:24px;padding:2px 6px;font-weight:600;display:inline-flex}.stat button.dice.sheet-roll{font-size:1.3rem}.hp-box{border:1px solid var(--border);background:var(--panel);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.hp-box.down{border-color:var(--danger)}.hp-current{font-size:2rem}.hp-temp{color:var(--accent);font-weight:600}.hp-controls input{width:72px}.death-saves{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pips{vertical-align:middle;gap:4px;display:inline-flex}.pip{width:24px;height:24px;min-height:0;box-shadow:none;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;position:relative}.pip:before{content:"";border:2px solid var(--accent);background:var(--accent);border-radius:50%;position:absolute;inset:4px}.pip.used:before{background:0 0}.pip:not(:disabled):hover{background:var(--accent-soft);transform:none}.pips{gap:0}.pip:disabled{cursor:default}.conditions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.abilities{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.ability{border:1px solid var(--border);text-align:center;background:var(--panel);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.ability-mod{font-size:1.4rem}button.dice.save{font-size:.8rem;font-weight:500}.play-columns{grid-template-columns:minmax(min(100%,240px),1fr) minmax(min(100%,260px),1.3fr);gap:16px;display:grid}.play-columns h3{margin:8px 0 4px}button.dice.skill-row{text-align:left;width:100%;color:inherit;background:0 0;border-radius:6px;grid-template-columns:18px 1fr auto;gap:6px;padding:3px 6px;font-weight:400;display:grid}button.dice.skill-row:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.attack-row,.resource-row,.spell-row,.item-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:5px 0;display:flex}.crit-roll{font-size:.75rem}.setup h3{margin:14px 0 6px}.setup-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.setup-grid label{flex-direction:column;gap:2px;font-size:.85rem;display:flex}.ability-edit{flex-direction:column;gap:4px;display:flex}.ability-edit label{margin:0}.setup-grid .ability-edit label.save-check{flex-direction:row;align-items:center;gap:6px;min-height:24px;font-size:.8rem;font-weight:500}.setup-row{flex-wrap:wrap;margin-bottom:6px}.skills-edit{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:4px;display:grid}.coins{flex-wrap:wrap}.coin{flex-direction:column;width:90px;font-size:.8rem;display:flex}@media (width<=720px){.abilities{grid-template-columns:repeat(3,minmax(0,1fr))}.play-columns{grid-template-columns:1fr}}.character button.link:is([aria-label],.chip-x){border-radius:var(--radius-sm);place-items:center;min-width:24px;min-height:24px;padding:0 4px;display:inline-grid}.character button.link:is([aria-label],.chip-x):hover{background:var(--surface-2);text-decoration:none}.conditions .chip{min-height:28px}.char-tabs button[aria-pressed=true]{box-shadow:var(--shadow-sm), inset 0 -2px 0 var(--accent)}.hp-note:empty,.spell-note:empty{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.import-pdf{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px;display:flex}.import-list{gap:2px;max-height:50vh;margin:8px 0;padding:0;list-style:none;display:grid;overflow:auto}.import-list label{overflow-wrap:anywhere;align-items:flex-start;gap:8px;min-height:28px}.session-avatar{color:#fff;letter-spacing:.02em;text-shadow:0 1px 2px #00000059;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:.78rem;font-weight:700;line-height:1;display:inline-grid;box-shadow:inset 0 0 0 1px #00000014}.session-avatar.sm{width:24px;height:24px;font-size:.66rem}.session-avatar.xs{letter-spacing:0;width:20px;height:20px;font-size:.58rem}.face-stack{align-items:center;padding-left:5px;display:inline-flex}.face-stack .session-avatar{box-shadow:0 0 0 2px var(--panel);margin-left:-5px}.face-stack .face-more{background:var(--surface-2);color:var(--muted);text-shadow:none;font-weight:650}.live-dot{background:var(--live);border-radius:50%;flex:none;width:8px;height:8px;animation:1.8s ease-out infinite live-pulse}@keyframes live-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--live) 55%, transparent)}70%,to{box-shadow:0 0 0 5px #0000}}.live-badge{border-radius:var(--radius-full);letter-spacing:.08em;text-transform:uppercase;color:var(--live-text);background:color-mix(in srgb, var(--live) 12%, transparent);flex:none;align-items:center;gap:6px;padding:2px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.live-badge .live-dot{width:6px;height:6px}.session-people-refresh{gap:8px;margin:4px 0 0}.session-live{gap:var(--space-1);align-items:center;min-width:0;display:inline-flex}.session-plan,.session-start,.session-pill{white-space:nowrap;gap:6px}.pill.primary,.pill.session-start{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.pill.session-start:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.session-pill{border-color:color-mix(in srgb, var(--live) 30%, var(--border));padding-left:10px;padding-right:6px}.session-pill[aria-expanded=true]{background:var(--surface-2);border-color:color-mix(in srgb, var(--live) 50%, var(--border))}.session-pill-label{font-weight:650}.session-pill-time{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.session-pill .face-stack{margin-left:2px}.session-pill:not(:has(.face-stack)){padding-right:12px}.session-bar-error{top:calc(var(--topbar-h,56px) + 8px);right:var(--space-4);z-index:var(--z-dropdown);padding:var(--space-2) var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);margin:0;position:fixed}@media (width<=560px){.session-pill-time,.session-plan .session-pill-label{display:none}.session-pill{padding-left:9px}}@media (width<=340px){.session-pill .face-stack{display:none}.session-pill{padding-right:10px}}.form-sheet label:not(.check-row){margin:0 0 var(--space-3);font-size:var(--text-sm);flex-direction:column;gap:6px;font-weight:600;display:flex}.form-grid{gap:0 var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.form-sheet fieldset{margin:var(--space-1) 0 0;padding:var(--space-3) var(--space-4) var(--space-1);border:1px solid var(--border);border-radius:var(--radius)}.form-sheet legend,.join-choices legend{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:6px;padding:0 6px;font-weight:700;display:inline-flex}.form-sheet fieldset.private-box{border-style:dashed;border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 4%, transparent)}.private-box legend{color:var(--accent)}.plan-hint{margin:0 0 var(--space-3);color:var(--muted);font-size:var(--text-sm)}.check-row{align-items:center;gap:var(--space-2);margin:var(--space-3) 0 var(--space-1);font-weight:500;display:flex}.check-row input{margin:0}.chip-list{margin:0 0 var(--space-3);flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.chip-list .chip{color:var(--text);padding:2px 4px 2px 8px}.chip-list .chip>.icon{color:var(--muted)}.chip-remove{width:24px;height:24px;min-height:0;box-shadow:none;color:var(--muted);background:0 0;border:none;border-radius:50%;place-items:center;padding:0;display:inline-grid}.chip-remove:hover{background:var(--danger-soft);color:var(--danger);transform:none!important}.chip-remove .icon{width:12px;height:12px}.sheet-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.join-choices{border:none;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.join-choices legend{margin-bottom:var(--space-2);padding:0}.join-choice{align-items:center;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-fast) ease, background-color var(--dur-fast) ease;margin:0;padding:10px 12px;font-weight:500;display:flex}.join-choice:hover{border-color:var(--border-strong)}.join-choice:has(input[type=radio]:checked){border-color:var(--accent);background:var(--accent-soft)}.join-choice:has(input[type=radio]:focus-visible){box-shadow:var(--focus-ring)}.join-choice-icon{background:var(--surface-2);width:30px;height:30px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:inline-grid}.join-choice:has(input:checked) .join-choice-icon{background:var(--panel);color:var(--accent)}.join-choice-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.join-choice-text b{overflow-wrap:anywhere}.join-choice-text span{color:var(--muted);font-size:var(--text-xs)}.join-choice input.join-other{flex:1;min-width:0;min-height:34px;padding:6px 10px}.join-loading,.join-help{color:var(--muted);font-size:var(--text-sm);margin:0}.join-help{margin-top:var(--space-1)}.session-invite{left:50%;bottom:calc(var(--bottom-nav-h,0px) + 24px);z-index:var(--z-dialog);width:min(420px,100vw - 32px);padding:var(--space-4) var(--space-5);background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:.42s cubic-bezier(.2,.9,.3,1.25) both invite-in;position:fixed;transform:translate(-50%)}.invite-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.invite-head .icon-button{margin:-6px -10px 0 0}.session-invite h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-lg);line-height:var(--leading-tight);overflow-wrap:anywhere}.session-invite p{margin:0 0 var(--space-2)}.session-invite .sheet-actions{margin-top:var(--space-3)}.session-invite .sheet-actions .primary{flex:1}.invite-kicker{color:var(--accent);font-weight:650;font-size:var(--text-sm);align-items:center;gap:6px;margin:0;display:flex}.invite-summary{color:var(--muted);font-family:var(--font-reading);font-style:italic;line-height:1.5}.invite-people{align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm);display:flex}@keyframes invite-in{0%{opacity:0;transform:translate(-50%,32px)scale(.97)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes invite-fade{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.session-panel{top:calc(var(--topbar-h,56px) - 4px);right:var(--space-4);z-index:var(--z-dropdown);width:min(380px,100vw - 24px);max-height:calc(100vh - var(--topbar-h,56px) - var(--bottom-nav-h,0px) - 16px);overscroll-behavior:contain;padding:var(--space-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:fixed;overflow-y:auto}.session-panel:focus-visible{box-shadow:var(--shadow-lg), var(--focus-ring);outline:none}.sp-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.sp-head-text{min-width:0}.sp-head .icon-button{margin:-6px -8px 0 0}.sp-kicker{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);flex-wrap:wrap;display:flex}.sp-elapsed{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-weight:550;display:inline-flex}.sp-head h2{font-size:var(--text-lg);line-height:var(--leading-tight);flex-direction:column;margin:0;display:flex}.sp-title-sub{color:var(--muted);font-size:var(--text-md);overflow-wrap:anywhere;margin-top:2px;font-weight:500}.sp-summary{margin:var(--space-2) 0 0;color:var(--muted);font-family:var(--font-reading);font-size:var(--text-sm);line-height:1.5}.sp-actions{gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.sp-actions .primary,.sp-actions .primary+button:last-child{grid-column:1/-1}.session-panel .section-label{margin-top:var(--space-5)}.sp-empty{color:var(--muted);font-size:var(--text-sm);margin:0}.sp-people{margin:0 calc(-1 * var(--space-2));flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.sp-people li{align-items:center;gap:var(--space-3);min-height:44px;padding:6px var(--space-2);border-radius:var(--radius-sm);display:flex}.sp-people li:hover{background:var(--surface-2)}.sp-person{min-width:0;line-height:1.3;font-size:var(--text-sm);flex-direction:column;flex:1;display:flex}.sp-person-name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sp-person-name .role-badge{padding:0 6px;font-size:.65rem}.sp-person-char{color:var(--muted);overflow-wrap:anywhere}.sp-remove{opacity:.7}.sp-people li:hover .sp-remove,.sp-remove:focus-visible{opacity:1}.sp-remove:hover{background:var(--danger-soft);color:var(--danger)}@media (hover:none){.sp-remove{opacity:1}}.sp-add{margin-top:var(--space-2);color:var(--muted);align-items:center;display:flex;position:relative}.sp-add>.icon{pointer-events:none;position:absolute;left:12px}.sp-add select{font-size:var(--text-sm);min-height:36px;padding-left:36px}.sp-prep{margin-top:var(--space-4);border:1px dashed color-mix(in srgb, var(--accent) 40%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 4%, transparent)}.sp-prep-toggle{justify-content:flex-start;gap:var(--space-2);border-radius:var(--radius);width:100%;min-height:40px;box-shadow:none;color:var(--text);background:0 0;border:none;padding:8px 12px;font-weight:600}.sp-prep-toggle:hover{background:var(--accent-soft);transform:none!important}.sp-prep-toggle>.icon{color:var(--accent)}.sp-prep-hint{color:var(--muted);font-size:var(--text-xs);font-weight:500}.sp-chevron{color:var(--muted);transition:transform var(--dur) var(--ease-out);margin-left:auto;display:inline-grid}.sp-prep.is-open .sp-chevron{transform:rotate(90deg)}.sp-prep-body{opacity:0;transition:grid-template-rows var(--dur-slow) var(--ease-out), opacity var(--dur) ease;grid-template-rows:0fr;display:grid}.sp-prep.is-open .sp-prep-body{opacity:1;grid-template-rows:1fr}.sp-prep-inner{min-height:0;padding:0 12px;overflow:hidden}.sp-prep.is-open .sp-prep-inner{padding-bottom:12px}.prep-text{margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--leading);max-height:220px;overflow-y:auto}.sp-error{margin:var(--space-3) 0 0}.sp-footer{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.sp-footer .danger{width:100%}@media (width<=560px){.session-panel{width:auto;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.session-invite{animation:invite-fade var(--dur) var(--ease-out) both}.live-dot{animation-duration:3.2s}.sp-prep-body,.sp-chevron{transition-duration:var(--dur-fast)}}.sessions-view{gap:var(--space-5);width:100%;max-width:1100px;padding:var(--space-4);grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;margin:0 auto;display:grid}.sessions-list .section-label{margin-top:var(--space-1)}.sessions-list ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sessions-item{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius);box-shadow:none;text-align:left;font-size:var(--text-sm);background:0 0;border:1px solid #0000;flex-direction:column;align-items:stretch;gap:4px;display:flex}.sessions-item:hover{background:var(--panel);border-color:var(--border)}.sessions-item:focus-visible,.sessions-note:focus-visible{outline-offset:-2px}.sessions-item[aria-current=true]{background:var(--panel);border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:inset 3px 0 0 var(--accent)}.sessions-item-title{align-items:center;gap:var(--space-2);min-width:0;font-weight:600;display:flex}.sessions-item-num{border-radius:var(--radius-sm);background:var(--surface-2);min-width:24px;height:22px;color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex:none;place-items:center;padding:0 6px;font-weight:700;display:inline-grid}.sessions-item[aria-current=true] .sessions-item-num{background:var(--accent-soft);color:var(--accent)}.sessions-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sessions-item .live-badge{padding:1px 7px;font-size:.6rem}.sessions-item-meta{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:20px;color:var(--muted);font-size:var(--text-xs);padding-left:32px;font-weight:500;display:flex}.sessions-item .face-stack .session-avatar{box-shadow:0 0 0 2px var(--bg)}.sessions-item:is(:hover,[aria-current=true]) .face-stack .session-avatar{box-shadow:0 0 0 2px var(--panel)}.sessions-detail{min-width:0;padding:var(--space-5);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.sessions-detail-head{padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.sessions-detail-kicker{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);color:var(--muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700;display:flex}.sessions-detail-kicker .role-badge{text-transform:none;letter-spacing:.02em}.sessions-detail-head h2{margin:0 0 var(--space-2);font-size:var(--text-xl);line-height:var(--leading-tight);overflow-wrap:anywhere}.sessions-detail-meta{gap:var(--space-2) var(--space-4);color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;margin:0;display:flex}.sessions-detail-meta span{align-items:center;gap:6px;display:inline-flex}.sessions-detail-head .sessions-summary{margin:var(--space-3) 0 0;font-family:var(--font-reading);font-style:italic;line-height:1.55}.sessions-none{padding:var(--space-3);border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);font-size:var(--text-sm);text-align:center;margin:0}.sessions-people,.sessions-notes{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sessions-people li{align-items:center;gap:var(--space-2) var(--space-3);min-height:44px;padding:6px var(--space-2);border-radius:var(--radius-sm);flex-wrap:wrap;display:flex}.sessions-people li:hover{background:var(--surface-2)}.sessions-person{min-width:0;line-height:1.3;font-size:var(--text-sm);flex-direction:column;flex:140px;align-items:flex-start;display:flex}.sessions-person .link{font-size:var(--text-sm);font-weight:500}.sessions-person-stats{flex-wrap:wrap;gap:4px;display:flex}.sessions-person-stats .chip{font-size:var(--text-xs);color:var(--muted);padding:1px 8px}.sessions-person-stats .chip.nat20{color:color-mix(in srgb, var(--success) 80%, var(--text));border-color:color-mix(in srgb, var(--success) 40%, var(--border))}.sessions-person-stats .chip.nat1{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.sessions-note{justify-content:flex-start;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:6px var(--space-3);box-shadow:none;text-align:left;background:0 0;border:1px solid #0000;font-weight:400;display:flex}.sessions-note:hover{background:var(--surface-2);border-color:var(--border);transform:none!important}.sessions-note>.icon{color:var(--accent)}.sessions-note-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.sessions-note-text span{color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dice-log.session-rolls{max-height:50vh;padding:0}.sessions-empty{margin:48px auto}.sessions-empty-icon{width:56px;height:56px;margin-bottom:var(--space-2);background:var(--accent-soft);color:var(--accent);border-radius:50%;place-items:center;display:inline-grid}@media (width<=720px){.sessions-view{gap:var(--space-3);padding:var(--space-3);grid-template-columns:1fr}.sessions-list ul{max-height:32vh;overflow-y:auto}.sessions-detail{padding:var(--space-4)}}.table-view{--rug:color-mix(in srgb, var(--panel) 55%, #c9b796);--tumble:.76s;width:100%;padding:var(--space-2) var(--space-4) var(--space-5);flex-direction:column;align-items:center;display:flex;container-type:inline-size}.table-view>svg{width:100%;max-width:1000px;height:auto;max-height:calc(100vh - 140px);display:block;overflow:visible}.table-empty{text-align:center;width:100%;padding:40px}.table-rug{fill:var(--rug);stroke:color-mix(in srgb, var(--rug) 78%, #4a3f35);stroke-width:3px}.table-rug-stitch{fill:none;stroke:color-mix(in srgb, var(--rug) 62%, #4a3f35);stroke-width:2px;stroke-dasharray:8 7;opacity:.55}.table-title{font:700 26px var(--font-reading);fill:#f6ead6;paint-order:stroke;stroke:#4f3836;stroke-width:4px;letter-spacing:.01em}.table-subtitle{font:italic 16px var(--font-reading);fill:#f0dcc0}.table-sub{font:500 12.5px var(--font-ui);fill:#f6e8d4;letter-spacing:.03em}.gm-screen-text{font:700 11px var(--font-ui);fill:#fbf6ec;letter-spacing:.2em}.table-view{--table-accent:#4b3bc5;--table-focus:#3b2f9e}.plate-card{fill:#f4ecdf;stroke:#4a3f35;stroke-width:2px}.plate-shadow{fill:#2e2117;opacity:.22}.plate-focus{fill:none;stroke:none}.seat-plate.me .plate-card{stroke:var(--table-accent);stroke-width:2.8px}.seat.ghost .plate-card{stroke-dasharray:5 4;fill:#ece3d3}.seat-name{font:650 15px var(--font-ui);fill:#3d342c}.seat-char{font:italic 12.5px var(--font-reading);fill:#6b5c4d}.seat-plate.me .seat-name{fill:color-mix(in srgb, var(--table-accent) 70%, #3d342c)}.seat-plate{transform-box:fill-box;transform-origin:50%}.plate-compact{display:none}@container (width<=620px){.plate-full{display:none}.plate-compact{transform:scale(var(--plate-zoom,1));display:inline}.bubble-zoom{transform-box:fill-box;transform-origin:bottom;transform:scale(1.35)}.table-sub{font-size:16px}}.seat-click{cursor:pointer;outline:none}.seat-click:hover .avatar-figure{transform:translateY(-4px)}.avatar-figure{transition:transform var(--dur) steps(2, end)}.seat:has(.seat-click:focus-visible) .plate-card{stroke:var(--table-focus);stroke-width:3.5px;stroke-dasharray:none}.seat:has(.seat-click:focus-visible) .plate-focus{stroke:#fbf6ec;stroke-width:5px}.seat-click:focus-visible .avatar-figure{transform:translateY(-4px)}.seat-arrive{animation:seat-pop .62s steps(6, end) var(--arrive,0s) both;transform-box:fill-box;transform-origin:50% 100%}@keyframes seat-pop{0%{opacity:0;transform:translateY(-26px)scale(.2,.05)}35%{opacity:1;transform:translateY(-14px)scale(.85,1.2)}65%{transform:translateY(0)scale(1.12,.88)}85%{transform:scale(.97,1.03)}to{opacity:1;transform:none}}.avatar-body{animation:paper-idle 1.6s steps(1, end) var(--idle-a,0s) infinite;transform-box:fill-box;transform-origin:50% 100%}@keyframes paper-idle{0%{transform:rotate(-1.6deg)}25%{transform:translateY(-2px)}50%{transform:rotate(1.6deg)}75%{transform:translateY(-1px)}}.avatar-head{animation:paper-nod 2.2s steps(1, end) var(--idle-b,0s) infinite}@keyframes paper-nod{0%{transform:none}33%{transform:translate(.8px,-1.6px)}66%{transform:translate(-.6px,-.6px)}}.avatar-eyes{animation:paper-blink 4.8s steps(1, end) var(--idle-c,0s) infinite;transform-box:fill-box;transform-origin:50%}@keyframes paper-blink{0%{transform:none}94%{transform:scaleY(.12)}97%{transform:none}}.eyes-happy,.eyes-squint{display:none}.gm-hood-glow{animation:2.6s step-end infinite hood-glow}@keyframes hood-glow{0%{opacity:1}30%{opacity:.84}55%{opacity:.95}80%{opacity:.88}}.seat.away .seat-figure{filter:url(#faded);opacity:.55}.seat.away .avatar-body,.seat.away .avatar-head{animation-duration:4s}.seat.away .avatar-eyes{animation:none;transform:scaleY(.12)}.seat.away .seat-chair{opacity:.7}.seat-zzz{font:700 16px var(--font-ui);fill:#7a6a5a;animation:2.4s steps(4,end) infinite zzz}@keyframes zzz{0%{opacity:0;transform:translateY(4px)}50%{opacity:1}to{opacity:0;transform:translate(6px,-10px)}}.flame{animation:candle-light .6s steps(3, end) both, candle-flicker .5s steps(1, end) calc(.6s + var(--flicker,0s)) infinite;transform-box:fill-box;transform-origin:50% 100%}.candle-glow{animation:glow-in 1s steps(4, end) both, glow-flicker 1.3s steps(1, end) calc(1s + var(--flicker,0s)) infinite}@keyframes candle-light{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes candle-flicker{0%{transform:scale(1)}50%{transform:scale(.9,1.1)skew(-3deg)}}@keyframes glow-in{0%{opacity:0}to{opacity:1}}@keyframes glow-flicker{0%{opacity:1}50%{opacity:.82}}.toss-shadow{fill:#2e2117;opacity:.25;animation:shadow-land var(--tumble) steps(1, end) both, fade-out var(--dur-slow) var(--ease-out) 3.85s forwards}@keyframes shadow-land{0%{opacity:0}to{opacity:.25}}.toss-die{transform-box:fill-box;transform-origin:50%;animation:toss var(--tumble) steps(3, end) both, fade-out var(--dur-slow) var(--ease-out) 3.85s forwards}@keyframes toss{0%{opacity:0;transform:translate(var(--fx), var(--fy)) rotate(0deg) scale(.7)}12%{opacity:1}40%{transform:translate(calc(var(--fx) * .5), calc(var(--fy) * .5 - 36px)) rotate(220deg) scale(1.05)}70%{transform:translate(calc(var(--fx) * .15), calc(var(--fy) * .15)) rotate(400deg)}85%{transform:translate(calc(var(--fx) * .04), calc(var(--fy) * .04 - 10px)) rotate(calc(340deg + var(--rest)))}to{opacity:1;transform:rotate(calc(360deg + var(--rest)))}}.reveal-before:not(:last-child){animation:conceal var(--tumble) steps(1, end) both}.reveal-after{animation:reveal var(--tumble) steps(1, end) both}@keyframes reveal{0%{opacity:0}to{opacity:1}}@keyframes conceal{0%{opacity:1}to{opacity:0}}@keyframes fade-out{to{opacity:0}}.seat-react{transform-box:fill-box;transform-origin:50% 100%}.seat.rolling .seat-react{animation:.5s steps(4,end) throw}.seat.crit .seat-react{animation:throw .5s steps(4, end), cheer .6s steps(4, end) var(--tumble) 2}.seat.fumble .seat-react{animation:throw .5s steps(4, end), slump 1s steps(6, end) var(--tumble) both}@keyframes throw{30%{transform:translateY(-6px)rotate(-3deg)}60%{transform:translateY(1px)}}@keyframes cheer{40%{transform:translateY(-14px)}70%{transform:translateY(-4px)}}@keyframes slump{0%{transform:none}20%{transform:translate(-3px)rotate(-2deg)}40%{transform:translate(3px)rotate(2deg)}60%{transform:translate(-2px)}80%,to{transform:translateY(3px)rotate(3deg)}}.seat.crit .eyes-open,.seat.fumble .eyes-open{animation:conceal var(--tumble) steps(1, end) both}.seat.crit .eyes-happy,.seat.fumble .eyes-squint{animation:reveal var(--tumble) steps(1, end) both;display:inline}.bubble-card,.bubble-tail{fill:#f4ecdf;stroke:#4a3f35;stroke-width:2.6px;stroke-linejoin:round}.roll-bubble.crit :is(.bubble-card,.bubble-tail){fill:#f3e2b0;stroke:#a87c25}.roll-bubble.fumble :is(.bubble-card,.bubble-tail){fill:#efd5cf;stroke:#9b4a43}.roll-bubble{transform-box:fill-box;transform-origin:50% 100%;animation:bubble-in .36s steps(4, end) both, fade-out var(--dur-slow) var(--ease-out) 3.85s forwards}.roll-bubble.from-side{transform-origin:0 60%;animation-name:bubble-in-side,fade-out}.roll-bubble.fumble{animation:bubble-in .36s steps(4, end) both, shake .5s steps(5, end) var(--tumble), fade-out var(--dur-slow) var(--ease-out) 3.85s forwards}.roll-bubble.fumble.from-side{animation-name:bubble-in-side,shake,fade-out}@keyframes bubble-in{0%{opacity:0;transform:translateY(14px)scale(.3)}50%{opacity:1;transform:translateY(-4px)scale(1.08)}to{opacity:1;transform:none}}@keyframes bubble-in-side{0%{opacity:0;transform:translate(-14px)scale(.3)}50%{opacity:1;transform:translate(3px)scale(1.08)}to{opacity:1;transform:none}}.bubble-die{transform-box:fill-box;transform-origin:50%;animation:tumble var(--tumble) steps(2, end) both}@keyframes tumble{0%{transform:translateY(-10px)rotate(0)}30%{transform:translateY(0)rotate(160deg)}50%{transform:translateY(-6px)rotate(260deg)}75%{transform:translateY(0)rotate(330deg)}to{transform:rotate(360deg)}}.bubble-dots{font:700 13px var(--font-ui);fill:#8a7a6a;letter-spacing:.05em;animation:conceal var(--tumble) steps(1, end) both}.bubble-total{font:800 22px var(--font-ui);fill:#4a3f35;font-variant-numeric:tabular-nums;transform-box:fill-box;transform-origin:50%;animation:total-pop .42s steps(4, end) var(--tumble) both}.roll-bubble.crit .bubble-total{fill:#7d5512}.roll-bubble.fumble .bubble-total{fill:#7d3530}@keyframes total-pop{0%{opacity:0;transform:scale(.2)}40%{opacity:1;transform:scale(1.35)}70%{transform:scale(.92)}to{opacity:1;transform:none}}.bubble-label{font:600 12px var(--font-ui);fill:#3d342c;paint-order:stroke;stroke:#f4ecdf;stroke-width:5px;stroke-linejoin:round}.sparkles path{fill:#e0b04a;stroke:#a87c25;stroke-width:1px;transform-box:fill-box;transform-origin:50%;animation:sparkle .9s steps(5, end) var(--tumble) both}.sparkles g:nth-child(2) path{animation-delay:calc(var(--tumble) + 70ms)}.sparkles g:nth-child(3) path{animation-delay:calc(var(--tumble) + .14s)}.sparkles g:nth-child(4) path{animation-delay:calc(var(--tumble) + .21s)}.sparkles g:nth-child(5) path{animation-delay:calc(var(--tumble) + .28s)}.sparkles g:nth-child(6) path{animation-delay:calc(var(--tumble) + .35s)}@keyframes sparkle{0%{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1.2)rotate(45deg)}to{opacity:0;transform:scale(.4)rotate(90deg)}}@media (prefers-reduced-motion:reduce){.table-view{--tumble:.32s}.seat-arrive{animation:seat-fade .4s var(--ease-out) var(--arrive,0s) both}.avatar-body{animation-name:paper-idle-soft;animation-duration:2.4s}.avatar-head{animation-name:paper-nod-soft}.toss-die{animation:toss-soft var(--tumble) var(--ease-out) both, fade-out var(--dur-slow) var(--ease-out) 3.85s forwards}.bubble-die{animation:wobble-soft var(--tumble) steps(3, end) both}.roll-bubble,.roll-bubble.from-side{animation:bubble-soft var(--dur) var(--ease-out) both, fade-out var(--dur-slow) var(--ease-out) 3.85s forwards}.roll-bubble.fumble,.roll-bubble.fumble.from-side{animation:bubble-soft var(--dur) var(--ease-out) both, shake-soft .4s steps(4, end) var(--tumble), fade-out var(--dur-slow) var(--ease-out) 3.85s forwards}.bubble-total{animation:total-soft var(--dur) var(--ease-out) var(--tumble) both}.seat.rolling .seat-react{animation:.3s steps(2,end) nudge-soft}.seat.crit .seat-react{animation:nudge-soft .5s steps(2, end) var(--tumble) 2}.seat.fumble .seat-react{animation:shake-soft .4s steps(4, end) var(--tumble)}.sparkles path{animation-name:sparkle-soft}.seat-zzz{animation-name:zzz-soft}.flame{animation-duration:.3s,1.2s}.candle-glow{animation-duration:.4s,2.6s}.seat-click:hover .avatar-figure,.seat-click:focus-visible .avatar-figure{transform:translateY(-2px)}}@keyframes seat-fade{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes paper-idle-soft{0%{transform:none}50%{transform:translateY(-1px)}}@keyframes paper-nod-soft{0%{transform:none}50%{transform:translateY(-.6px)}}@keyframes toss-soft{0%{opacity:0;transform:translate(calc(var(--fx) * .06), calc(var(--fy) * .06)) rotate(var(--rest)) scale(.9)}to{opacity:1;transform:rotate(var(--rest))}}@keyframes wobble-soft{0%{transform:scale(.88)}50%{transform:scale(1.05)rotate(-6deg)}to{transform:none}}@keyframes bubble-soft{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:none}}@keyframes total-soft{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes nudge-soft{50%{transform:translateY(-3px)}}@keyframes sparkle-soft{0%{opacity:0;transform:scale(.5)}40%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(.7)}}@keyframes zzz-soft{0%,to{opacity:.2}50%{opacity:1}}.session-page{flex-direction:column;height:calc(100vh - 56px);display:flex}.session-header{align-items:center;gap:var(--space-4);margin:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.session-header h1{align-items:baseline;gap:0 var(--space-2);font-size:var(--text-lg);letter-spacing:-.01em;line-height:var(--leading-tight);flex-wrap:wrap;margin:0;display:flex}.session-header-sub{color:var(--muted);overflow-wrap:anywhere;font-weight:500}.session-header-title{align-items:center;gap:var(--space-3);min-width:0;display:flex}.session-header-text{min-width:0}.session-header-time{color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;align-items:center;gap:4px;margin:2px 0 0;display:flex}.session-header-people{flex-wrap:wrap;justify-content:center;gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.session-header-people li{border-radius:var(--radius-full);background:var(--bg);border:1px solid var(--border);max-width:100%;font-size:var(--text-sm);align-items:center;gap:6px;padding:3px 12px 3px 3px;display:inline-flex}.session-header-people .person-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.session-header-char{color:var(--muted)}.session-header-empty{color:var(--muted);font-size:var(--text-sm)}.session-header-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.session-header-actions button{white-space:nowrap}.session-header-error{grid-column:1/-1;margin:0}.session-ended{margin:var(--space-5) auto;text-align:center;max-width:420px}.notes.compact{height:auto;display:block}.notes.compact .editor-area{padding:0}.notes.compact .connections{display:none}.compact-bar{flex-wrap:wrap;gap:8px;margin:0 0 8px}.session-side{gap:var(--space-3);flex-direction:column;display:flex}.side-title{flex-direction:column;gap:2px;display:flex}.side-title h2{margin:0;font-size:1.1rem}.session-right .abilities{grid-template-columns:repeat(3,minmax(0,1fr))}.session-right .play-columns{grid-template-columns:1fr}.session-right .char-stats{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}@media (width<=820px){.session-page{height:auto}.session-header{gap:var(--space-3);grid-template-columns:1fr}.session-header-people{justify-content:flex-start}}@media (width<=480px){.session-header{margin:var(--space-2);padding:var(--space-3)}.session-header-actions button{flex:1}}.sp-avatar{flex:none;display:inline-flex;position:relative}.presence-dot{background:var(--surface-2);border:2px solid var(--panel);width:10px;height:10px;box-shadow:inset 0 0 0 1.5px var(--faint);border-radius:50%;position:absolute;bottom:-1px;right:-1px}.presence-dot.on{background:var(--success);box-shadow:none}.join-look{align-items:center;gap:var(--space-4);margin:var(--space-3) 0;display:flex}.join-palettes{border:0;flex:1;min-width:0;margin:0;padding:0}.join-palettes legend,.join-seats legend{font-weight:600;font-size:var(--text-sm);margin-bottom:var(--space-2)}.palette-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.palette-pick{border:1px solid var(--control-border,var(--border-strong));border-radius:var(--radius);background:var(--panel);gap:0;width:48px;height:32px;padding:3px;display:inline-flex;overflow:hidden}.palette-pick span{border-radius:3px;flex:1}.palette-pick span+span{margin-left:2px}.palette-pick.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft), inset 0 0 0 1px var(--accent)}.join-preview{border-radius:var(--radius-lg);border:1px solid var(--border);background:#e9dcc6;flex:none;width:96px;height:136px}.join-seats{margin:var(--space-3) 0;border:0;padding:0}.seat-map{align-items:center;gap:var(--space-2);display:flex}.seat-map-gm{background:var(--surface-2);width:36px;height:36px;color:var(--muted);font-size:var(--text-xs);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.seat-map-rows{flex-direction:column;flex:1;gap:4px;display:flex}.seat-map-row{justify-content:space-around;gap:var(--space-2);display:flex}.seat-map-table{background:#a7835f;border-radius:6px;height:22px;box-shadow:inset 0 0 0 2px #6a4d36}.seat-pick{width:36px;height:36px;font-weight:700;font-size:var(--text-sm);border:1.5px dashed var(--control-border,var(--border-strong));background:var(--panel);color:var(--muted);border-radius:50%;padding:0}.seat-pick:hover:not(:disabled){border-style:solid;border-color:var(--accent);color:var(--accent)}.seat-pick.on{border:2px solid var(--accent);background:var(--accent);color:var(--accent-text,#fff)}.seat-pick.taken{background:var(--surface-2);color:var(--text);opacity:1;cursor:not-allowed;border-style:solid}@media (width<=420px){.join-look{flex-direction:column-reverse;align-items:flex-start}}.seat-empty{opacity:.8}.session-layout{--sl-rail:44px;--sl-dur:var(--dur-slow);min-width:0;min-height:0;padding:0 var(--space-3) var(--space-3);flex:1;align-items:stretch;display:flex}.sl-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;min-height:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.sl-side{transition:width var(--sl-dur) var(--ease-out), background-color var(--dur-fast) ease, border-color var(--dur-fast) ease;flex:none}.session-layout.dragging .sl-side{transition:none}.session-layout.dragging,.session-layout.dragging *{cursor:col-resize;-webkit-user-select:none;user-select:none}.sl-side[data-minimised=true]{width:var(--sl-rail);background:var(--surface-2);box-shadow:none}.sl-side[data-minimised=false]{animation:sl-open var(--sl-dur) var(--ease-out) both}@keyframes sl-open{0%{opacity:.35}to{opacity:1}}.sl-head{align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-bottom:1px solid var(--border);background:var(--panel);flex:none;display:flex}.sl-head-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:26px;height:26px;color:var(--accent);flex:none;place-items:center;display:inline-grid}.sl-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-sm);letter-spacing:-.005em;color:var(--text);flex:1;margin:0;font-weight:650;overflow:hidden}.sl-actions{align-items:center;gap:var(--space-1);flex:none;display:flex}.sl-actions .pill{min-height:28px;font-size:var(--text-xs);padding:3px 10px;font-weight:600}.sl-fold{width:30px;height:30px}.sl-fold:not(:disabled):hover{transform:none}.sl-body{min-height:0;padding:var(--space-3) var(--space-4);overscroll-behavior:contain;flex:1;overflow-y:auto}.sl-body[hidden]{display:none}.sl-body>.session-side{min-height:100%}.sl-rail{justify-content:flex-start;gap:var(--space-3);width:100%;min-height:0;padding:var(--space-3) 0;box-shadow:none;color:var(--muted);background:0 0;border:none;border-radius:0;flex-direction:column;flex:1}.sl-rail:hover{background:var(--accent-soft);color:var(--text)}.sl-rail:not(:disabled):hover{transform:none}.sl-rail:focus-visible{outline-offset:-3px;border-radius:var(--radius-lg)}.sl-rail-label{writing-mode:vertical-rl;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:650}.sl-notes .sl-rail-label{transform:rotate(180deg)}.sl-center{flex:1 1 0;justify-content:center;align-items:flex-start;min-width:320px;min-height:0;display:flex;position:relative;overflow-y:auto}.sl-panel+.sl-center{margin-left:var(--space-3)}.sl-center:has(+.sl-panel){margin-right:var(--space-3)}.sl-expand{top:var(--space-2);right:var(--space-2);z-index:2;background:color-mix(in srgb, var(--panel) 80%, transparent);border:1px solid var(--border);width:30px;height:30px;color:var(--muted);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:.7;transition:opacity var(--dur-fast) ease, background-color var(--dur-fast) ease;position:absolute}.sl-center:hover .sl-expand,.sl-expand:focus-visible,.sl-expand[aria-pressed=true]{opacity:1}.sl-expand:not(:disabled):hover{background:var(--panel);color:var(--text);transform:none}.sl-splitter{cursor:col-resize;touch-action:none;outline:none;flex:none;place-items:center;width:12px;margin:0;display:grid;position:relative}.sl-splitter:before{content:"";top:var(--space-3);bottom:var(--space-3);border-radius:var(--radius-full);width:1px;transition:width var(--dur-fast) ease, background-color var(--dur-fast) ease;background:0 0;position:absolute;left:50%;transform:translate(-50%)}.sl-grip{border-radius:var(--radius-full);background:color-mix(in srgb, var(--muted) 72%, var(--bg));width:4px;height:32px;transition:background-color var(--dur-fast) ease, height var(--dur-fast) var(--ease-out);position:relative}.sl-splitter:hover:before,.session-layout.dragging .sl-splitter:focus:before{background:color-mix(in srgb, var(--accent) 45%, transparent);width:3px}.sl-splitter:hover .sl-grip{background:var(--accent);height:44px}.sl-splitter:focus-visible:before{background:var(--accent);width:3px}.sl-splitter:focus-visible .sl-grip{background:var(--accent);height:44px;box-shadow:var(--focus-ring)}.session-layout.dragging .sl-splitter:focus .sl-grip{background:var(--accent);height:44px}.sl-notes .notes.compact{height:auto}.session-layout.stacked{gap:var(--space-2);padding:0 var(--space-2) var(--space-2);flex-direction:column}.session-layout.stacked .sl-panel{flex:none;overflow:visible}.session-layout.stacked .sl-center{margin:0}.stacked .sl-head{padding:0 var(--space-2) 0 0;gap:var(--space-1);border-radius:var(--radius-lg);border-bottom-color:#0000}.stacked [data-open=true] .sl-head{border-bottom-color:var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.sl-disclosure-h{min-width:0;font:inherit;flex:1;margin:0;display:flex}.sl-disclosure{justify-content:flex-start;gap:var(--space-2);width:100%;min-width:0;min-height:48px;padding:var(--space-2) var(--space-3);box-shadow:none;border-radius:var(--radius-lg);text-align:left;background:0 0;border:none;flex:1}.sl-disclosure:hover{background:0 0}.sl-disclosure:not(:disabled):hover{transform:none}.sl-disclosure:hover .sl-title{color:var(--accent)}.sl-disclosure:focus-visible{outline-offset:-2px}.sl-chevron{color:var(--muted);transition:transform var(--dur) var(--ease-out);flex:none}.sl-disclosure[aria-expanded=false] .sl-chevron{transform:rotate(-90deg)}.stacked .sl-body{padding:var(--space-3);overflow:visible}.stacked .sl-table .sl-body{padding:0}.stacked .sl-table .table-view{padding-inline:var(--space-2)}@media (prefers-reduced-motion:reduce){.session-layout{--sl-dur:60ms}.sl-chevron,.sl-grip,.sl-splitter:before{transition-duration:60ms}}button.dice:not(:disabled):hover,button.link:not(:disabled):hover,.tree-item:not(:disabled):hover,.sessions-item:not(:disabled):hover{transform:none}.session-panel,.outline-menu{animation:drop-in var(--dur) var(--ease-out) both;transform-origin:100% 0}@keyframes drop-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}.dice-tray{animation:slide-from-right var(--dur-slow) var(--ease-out) both}@keyframes slide-from-right{0%{opacity:.4;transform:translate(40px)}to{opacity:1;transform:none}}.dice-toasts .roll-line,.toast{animation:toast-in var(--dur-slow) var(--ease-out) both}@media (width<=720px){.dice-tray{animation-name:slide-from-bottom}@keyframes slide-from-bottom{0%{opacity:.4;transform:translateY(40px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){.session-panel,.outline-menu{animation-duration:var(--dur-fast)}.dice-tray,.dice-toasts .roll-line,.toast{animation:soft-slide var(--dur) var(--ease-out) both}}@keyframes soft-slide{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}
