@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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-italic-B5xAaiFk.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:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-italic-DzZdc28x.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:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-italic-DcOpz6Lw.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-italic-CILZdfAp.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:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-italic-K3WlGtc8.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:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-italic-0pjOp8NU.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:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-italic-DpCbqKDY.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-opsz-normal-C5tfwALZ.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-opsz-normal-DgmypKXX.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-opsz-normal-DGm64vGR.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-opsz-normal-DFglUmAd.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-opsz-normal-Gqw5JQlq.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-opsz-normal-STiTPs0F.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-opsz-normal-BHZsWIlc.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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-opsz-italic-5yUt4G_9.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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-opsz-italic-Bj0ndbyp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-opsz-italic-DFpO5j-Z.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-opsz-italic-CHERNRFq.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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-opsz-italic-BdcrZMcO.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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-opsz-italic-4y8iAqqs.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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-opsz-italic-CJ93D38p.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{--c-paper:#f3ede2;--c-stone:#d8d1c7;--c-ink:#2b2b2b;--c-danger:#a5452f;--c-ok:#4d7a57;--c-warn:#a87420;--c-info:#4a6a8a;--c-ref:#2b5c8f;--font-ui:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Fraunces Variable", "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-page:"Literata Variable", "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--mono:ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;--font:var(--font-ui);--radius-xs:6px;--radius-sm:8px;--radius:10px;--radius-lg:14px;--radius-xl:18px;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.14s;--dur:.22s;--lt-bg:var(--c-paper);--lt-chrome:var(--c-paper);--lt-canvas:color-mix(in oklab, var(--c-paper) 48%, #fff);--lt-surface:color-mix(in oklab, var(--c-paper) 32%, #fff);--lt-surface-2:color-mix(in oklab, var(--c-stone) 42%, var(--c-paper));--lt-surface-3:color-mix(in oklab, var(--c-stone) 78%, var(--c-paper));--lt-border:color-mix(in oklab, var(--c-stone) 82%, var(--c-paper));--lt-border-strong:color-mix(in oklab, var(--c-stone) 84%, var(--c-ink));--lt-text:var(--c-ink);--lt-text-muted:color-mix(in oklab, var(--c-ink) 66%, var(--c-paper));--lt-text-faint:color-mix(in oklab, var(--c-ink) 46%, var(--c-paper));--lt-accent:var(--c-ink);--lt-accent-hover:color-mix(in oklab, var(--c-ink) 84%, var(--c-paper));--lt-accent-contrast:var(--c-paper);--lt-accent-soft:color-mix(in oklab, var(--c-stone) 60%, var(--c-paper));--lt-focus:color-mix(in oklab, var(--c-ink) 13%, transparent);--lt-guide:#2f6fe4;--lt-overlay:color-mix(in oklab, var(--c-ink) 40%, transparent);--lt-shadow-xs:0 1px 1px color-mix(in oklab, var(--c-ink) 5%, transparent);--lt-shadow-sm:0 1px 2px color-mix(in oklab, var(--c-ink) 7%, transparent), 0 3px 8px -3px color-mix(in oklab, var(--c-ink) 10%, transparent);--lt-shadow:0 1px 2px color-mix(in oklab, var(--c-ink) 6%, transparent), 0 12px 28px -10px color-mix(in oklab, var(--c-ink) 24%, transparent);--lt-shadow-lg:0 2px 6px color-mix(in oklab, var(--c-ink) 7%, transparent), 0 30px 60px -20px color-mix(in oklab, var(--c-ink) 34%, transparent);--lt-danger:var(--c-danger);--lt-ok:var(--c-ok);--lt-warn:var(--c-warn);--lt-info:var(--c-info);--lt-danger-soft:color-mix(in oklab, var(--c-danger) 11%, var(--lt-surface));--lt-ok-soft:color-mix(in oklab, var(--c-ok) 12%, var(--lt-surface));--lt-warn-soft:color-mix(in oklab, var(--c-warn) 14%, var(--lt-surface));--lt-info-soft:color-mix(in oklab, var(--c-info) 11%, var(--lt-surface));--lt-ref:var(--c-ref);--lt-band:color-mix(in oklab, var(--c-stone) 30%, var(--c-paper));--lt-band-chapter:color-mix(in oklab, var(--lt-surface) 70%, transparent);--lt-band-edge:var(--lt-border);--lt-band-highlight:oklab(100% 0 5.96046e-8/.7);--lt-band-shadow:color-mix(in oklab, var(--c-ink) 16%, transparent);--lt-desk:color-mix(in oklab, var(--c-stone) 46%, var(--c-paper));--lt-page:color-mix(in oklab, var(--c-paper) 36%, #fff);--lt-page-shadow:0 1px 2px color-mix(in oklab, var(--c-ink) 8%, transparent), 0 24px 50px -22px color-mix(in oklab, var(--c-ink) 30%, transparent);--lt-flag-fill:var(--lt-surface);--lt-flag-line:var(--lt-border-strong);--lt-tooltip:var(--c-ink);--lt-tooltip-text:var(--c-paper);--dk-bg:color-mix(in oklab, var(--c-ink) 86%, #000);--dk-chrome:color-mix(in oklab, var(--c-ink) 86%, #000);--dk-canvas:color-mix(in oklab, var(--c-ink) 96%, #000);--dk-surface:color-mix(in oklab, var(--c-ink) 91%, var(--c-paper));--dk-surface-2:color-mix(in oklab, var(--c-ink) 84%, var(--c-stone));--dk-surface-3:color-mix(in oklab, var(--c-ink) 70%, var(--c-stone));--dk-border:color-mix(in oklab, var(--c-ink) 80%, var(--c-stone));--dk-border-strong:color-mix(in oklab, var(--c-ink) 64%, var(--c-stone));--dk-text:var(--c-paper);--dk-text-muted:color-mix(in oklab, var(--c-paper) 64%, var(--c-ink));--dk-text-faint:color-mix(in oklab, var(--c-paper) 42%, var(--c-ink));--dk-accent:var(--c-paper);--dk-accent-hover:color-mix(in oklab, var(--c-paper) 86%, var(--c-ink));--dk-accent-contrast:var(--c-ink);--dk-accent-soft:color-mix(in oklab, var(--c-ink) 74%, var(--c-stone));--dk-focus:color-mix(in oklab, var(--c-paper) 22%, transparent);--dk-guide:#6f9dff;--dk-overlay:oklab(0% none none/.58);--dk-shadow-xs:0 1px 1px #0000004d;--dk-shadow-sm:0 1px 2px #00000059, 0 3px 8px -3px #0006;--dk-shadow:0 1px 2px #0006, 0 14px 32px -10px #0009;--dk-shadow-lg:0 2px 6px #00000073, 0 32px 64px -20px #000000b3;--dk-danger:color-mix(in oklab, var(--c-danger) 58%, var(--c-paper));--dk-ok:color-mix(in oklab, var(--c-ok) 58%, var(--c-paper));--dk-warn:color-mix(in oklab, var(--c-warn) 62%, var(--c-paper));--dk-info:color-mix(in oklab, var(--c-info) 58%, var(--c-paper));--dk-danger-soft:color-mix(in oklab, var(--c-danger) 24%, var(--dk-surface));--dk-ok-soft:color-mix(in oklab, var(--c-ok) 24%, var(--dk-surface));--dk-warn-soft:color-mix(in oklab, var(--c-warn) 24%, var(--dk-surface));--dk-info-soft:color-mix(in oklab, var(--c-info) 24%, var(--dk-surface));--dk-ref:color-mix(in oklab, var(--c-ref) 50%, var(--c-paper));--dk-band:color-mix(in oklab, var(--c-ink) 92%, #000);--dk-band-chapter:color-mix(in oklab, var(--c-paper) 4%, transparent);--dk-band-edge:var(--dk-border);--dk-band-highlight:oklab(100% 0 5.96046e-8/.06);--dk-band-shadow:#0000008c;--dk-desk:color-mix(in oklab, var(--c-ink) 78%, #000);--dk-page:color-mix(in oklab, var(--c-ink) 95%, var(--c-paper));--dk-page-shadow:0 1px 2px #00000080, 0 24px 50px -22px #000000bf;--dk-flag-fill:var(--dk-surface);--dk-flag-line:var(--dk-border-strong);--dk-tooltip:var(--c-paper);--dk-tooltip-text:var(--c-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root{--bg:var(--lt-bg);--chrome:var(--lt-chrome);--canvas:var(--lt-canvas);--surface:var(--lt-surface);--surface-2:var(--lt-surface-2);--surface-3:var(--lt-surface-3);--border:var(--lt-border);--border-strong:var(--lt-border-strong);--text:var(--lt-text);--text-muted:var(--lt-text-muted);--text-faint:var(--lt-text-faint);--accent:var(--lt-accent);--accent-hover:var(--lt-accent-hover);--accent-contrast:var(--lt-accent-contrast);--accent-soft:var(--lt-accent-soft);--focus:var(--lt-focus);--guide:var(--lt-guide);--overlay:var(--lt-overlay);--shadow-xs:var(--lt-shadow-xs);--shadow-sm:var(--lt-shadow-sm);--shadow:var(--lt-shadow);--shadow-lg:var(--lt-shadow-lg);--danger:var(--lt-danger);--ok:var(--lt-ok);--warn:var(--lt-warn);--info:var(--lt-info);--danger-soft:var(--lt-danger-soft);--ok-soft:var(--lt-ok-soft);--warn-soft:var(--lt-warn-soft);--info-soft:var(--lt-info-soft);--ref-link:var(--lt-ref);--band:var(--lt-band);--band-chapter:var(--lt-band-chapter);--band-edge:var(--lt-band-edge);--band-highlight:var(--lt-band-highlight);--band-shadow:var(--lt-band-shadow);--desk:var(--lt-desk);--page:var(--lt-page);--page-text:var(--lt-text);--page-shadow:var(--lt-page-shadow);--page-font:var(--font-page);--flag-fill:var(--lt-flag-fill);--flag-line:var(--lt-flag-line);--cover-tint:15%;--tooltip:var(--lt-tooltip);--tooltip-text:var(--lt-tooltip-text)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:var(--dk-bg);--chrome:var(--dk-chrome);--canvas:var(--dk-canvas);--surface:var(--dk-surface);--surface-2:var(--dk-surface-2);--surface-3:var(--dk-surface-3);--border:var(--dk-border);--border-strong:var(--dk-border-strong);--text:var(--dk-text);--text-muted:var(--dk-text-muted);--text-faint:var(--dk-text-faint);--accent:var(--dk-accent);--accent-hover:var(--dk-accent-hover);--accent-contrast:var(--dk-accent-contrast);--accent-soft:var(--dk-accent-soft);--focus:var(--dk-focus);--guide:var(--dk-guide);--overlay:var(--dk-overlay);--shadow-xs:var(--dk-shadow-xs);--shadow-sm:var(--dk-shadow-sm);--shadow:var(--dk-shadow);--shadow-lg:var(--dk-shadow-lg);--danger:var(--dk-danger);--ok:var(--dk-ok);--warn:var(--dk-warn);--info:var(--dk-info);--danger-soft:var(--dk-danger-soft);--ok-soft:var(--dk-ok-soft);--warn-soft:var(--dk-warn-soft);--info-soft:var(--dk-info-soft);--ref-link:var(--dk-ref);--band:var(--dk-band);--band-chapter:var(--dk-band-chapter);--band-edge:var(--dk-band-edge);--band-highlight:var(--dk-band-highlight);--band-shadow:var(--dk-band-shadow);--desk:var(--dk-desk);--page:var(--dk-page);--page-text:var(--dk-text);--page-shadow:var(--dk-page-shadow);--flag-fill:var(--dk-flag-fill);--flag-line:var(--dk-flag-line);--cover-tint:26%;--tooltip:var(--dk-tooltip);--tooltip-text:var(--dk-tooltip-text)}}:root[data-theme=dark]{--bg:var(--dk-bg);--chrome:var(--dk-chrome);--canvas:var(--dk-canvas);--surface:var(--dk-surface);--surface-2:var(--dk-surface-2);--surface-3:var(--dk-surface-3);--border:var(--dk-border);--border-strong:var(--dk-border-strong);--text:var(--dk-text);--text-muted:var(--dk-text-muted);--text-faint:var(--dk-text-faint);--accent:var(--dk-accent);--accent-hover:var(--dk-accent-hover);--accent-contrast:var(--dk-accent-contrast);--accent-soft:var(--dk-accent-soft);--focus:var(--dk-focus);--guide:var(--dk-guide);--overlay:var(--dk-overlay);--shadow-xs:var(--dk-shadow-xs);--shadow-sm:var(--dk-shadow-sm);--shadow:var(--dk-shadow);--shadow-lg:var(--dk-shadow-lg);--danger:var(--dk-danger);--ok:var(--dk-ok);--warn:var(--dk-warn);--info:var(--dk-info);--danger-soft:var(--dk-danger-soft);--ok-soft:var(--dk-ok-soft);--warn-soft:var(--dk-warn-soft);--info-soft:var(--dk-info-soft);--ref-link:var(--dk-ref);--band:var(--dk-band);--band-chapter:var(--dk-band-chapter);--band-edge:var(--dk-band-edge);--band-highlight:var(--dk-band-highlight);--band-shadow:var(--dk-band-shadow);--desk:var(--dk-desk);--page:var(--dk-page);--page-text:var(--dk-text);--page-shadow:var(--dk-page-shadow);--flag-fill:var(--dk-flag-fill);--flag-line:var(--dk-flag-line);--cover-tint:26%;--tooltip:var(--dk-tooltip);--tooltip-text:var(--dk-tooltip-text)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{scrollbar-color:var(--border-strong) transparent}body{font-family:var(--font-ui);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}::selection{background:color-mix(in oklab, var(--accent) 16%, transparent)}::placeholder{color:var(--text-faint);opacity:1}h1,h2,h3,h4{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;margin:0 0 8px;font-weight:600;line-height:1.2}h1{letter-spacing:-.02em;font-size:27px}h2{font-size:19px}h3{font-size:15.5px}a{color:var(--text);text-underline-offset:3px;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in oklab, currentColor 35%, transparent);text-decoration-color:color-mix(in oklab, currentColor 35%, transparent);transition:text-decoration-color var(--dur-fast) var(--ease)}a:hover{text-decoration-color:currentColor}:root{--border-hover:color-mix(in oklab, var(--border-strong) 55%, var(--text))}.muted{color:var(--text-muted)}.small{font-size:12px}.mono{font-family:var(--mono)}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.count-row{flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:10px;display:flex}.count-row .count-unit select{width:160px}.count-row .count-num input{text-align:left;width:84px}.row.between{justify-content:space-between}.col{flex-direction:column;gap:8px;display:flex}.grow{flex:auto;min-width:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);align-items:center;gap:6px;padding:6px 13px;font-weight:550;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-sm)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--danger);border-color:color-mix(in oklab, var(--danger) 38%, var(--border))}.btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-2);border-color:#0000}.btn.small{border-radius:7px;padding:3px 10px;font-size:12.5px}.btn.icon{padding:5px 9px}.btn.active{background:var(--accent-soft);border-color:var(--border-hover);color:var(--text)}input:not([type]),input[type=text],input[type=search],input[type=email],input[type=password],input[type=number],select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;box-shadow:inset 0 1px 2px color-mix(in oklab, var(--c-ink) 5%, transparent);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);padding:7px 10px}input:not([type]):hover,input[type=text]:hover,input[type=search]:hover,input[type=email]:hover,input[type=password]:hover,input[type=number]:hover,select:hover,textarea:hover{border-color:var(--border-hover)}input:not([type]):focus,input[type=text]:focus,input[type=search]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus);outline:none}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}textarea{resize:vertical;min-height:80px;line-height:1.55}textarea.tall{min-height:220px}textarea.mono,input.mono{font-family:var(--mono);font-size:12.5px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.field{flex-direction:column;gap:5px;display:flex}.field>label,.field>.label{letter-spacing:.01em;color:var(--text-muted);font-size:12px;font-weight:600}.field .help{color:var(--text-muted);font-size:12px}.check{align-items:flex-start;gap:8px;display:flex}.badge{background:var(--surface-2);color:var(--text-muted);border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.swatch{width:12px;height:12px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--c-ink) 12%, transparent);border-radius:4px;flex:none;display:inline-block}.brand{align-items:center;gap:14px;min-width:0;display:flex}.brand.brand-stacked{flex-direction:column;align-items:flex-start;gap:18px}.brand-pic{display:contents}.brand-logo{object-fit:contain;flex:none;width:auto;max-width:220px;height:44px;display:block}.auth-brand .brand-logo{height:38px}.brand-home{border-radius:var(--radius);min-width:0;color:var(--text);transition:background-color var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:4px 10px 4px 4px;text-decoration:none;display:inline-flex}.brand-home:hover{background:var(--surface-2)}.brand-home:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.brand-mark{object-fit:contain;width:auto;max-width:120px;height:30px;display:block}.brand-name{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.025em;white-space:nowrap;font-size:23px;font-weight:600;line-height:1}.brand h1.brand-name{font-size:30px}.auth-page{background:radial-gradient(900px 520px at 50% -8%, color-mix(in oklab, var(--surface) 75%, transparent), transparent 72%), var(--bg);grid-template-rows:1fr auto;place-items:center;min-height:100%;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);animation:modal-in .4s var(--ease-out);gap:14px;padding:40px 38px 30px}.auth-brand{border-radius:var(--radius);color:var(--text);transition:background-color var(--dur-fast) var(--ease);align-self:flex-start;align-items:center;gap:10px;margin:-6px 0 6px -6px;padding:4px 8px 4px 6px;text-decoration:none;display:inline-flex}.auth-brand:hover{background:var(--surface-2)}.auth-brand:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.auth-card h1.auth-title{letter-spacing:-.02em;margin:0;font-size:30px}.auth-form{gap:12px}.auth-form .btn.primary{justify-content:center;margin-top:4px}.auth-links{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:13.5px;display:flex}.auth-card>.btn.ghost.small{align-self:center}.beta-pill{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;flex:none;align-items:center;padding:1px 8px;font-size:10.5px;font-weight:700;line-height:1.6;display:inline-flex}.auth-card .btn.primary{padding-top:9px;padding-bottom:9px}.page{max-width:1080px;margin:0 auto;padding:44px 32px 64px}.page h1{font-size:32px}.page h2{font-size:22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:18px 20px}.card.hover{transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease)}.card.hover:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.card.hover h3{font-size:19px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.error-text{color:var(--danger);font-size:13px}.notice{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);padding:10px 12px;font-size:13px}.notice.warn{background:var(--warn-soft);border-color:color-mix(in oklab, var(--warn) 28%, var(--border))}.notice.danger{background:var(--danger-soft);border-color:color-mix(in oklab, var(--danger) 28%, var(--border))}.notice.ok{background:var(--ok-soft);border-color:color-mix(in oklab, var(--ok) 28%, var(--border))}.shell{flex-direction:column;height:100%;display:flex}.topbar{background:var(--chrome);border-bottom:1px solid var(--border);flex:none;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:16px;min-height:58px;padding:9px 14px;display:grid}.topbar-start,.topbar-end{align-items:center;gap:8px;min-width:0;display:flex}.topbar-end{justify-content:flex-end}.topbar .search-results{left:auto;right:0}.sep{background:var(--border);width:1px;height:20px;margin:0 4px}.topbar .btn:not(.primary){box-shadow:none;background:0 0;border-color:#0000}.topbar .btn:not(.primary):hover:not(:disabled){background:var(--surface-2);border-color:#0000}.topbar .btn.active:not(.primary){background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.topbar .btn.warn-btn:not(.primary){border-color:color-mix(in oklab, var(--warn) 45%, transparent);color:var(--warn)}.workspace{grid-template-columns:minmax(0, 1fr) var(--side-width,460px);flex:auto;min-height:0;transition:grid-template-columns .24s cubic-bezier(.4,0,.2,1);display:grid}.workspace.side-collapsed{grid-template-columns:minmax(0,1fr) 46px}.canvas-wrap{background:var(--canvas);min-width:0;min-height:0;position:relative}.canvas{position:absolute;inset:0}.canvas-overlay{z-index:3;pointer-events:none;position:absolute}.canvas-overlay>*{pointer-events:auto}.canvas-hint{z-index:4;background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow);border-radius:999px;padding:7px 15px;font-size:13px;font-weight:600;position:absolute;top:14px;left:50%;transform:translate(-50%)}.legend{background:color-mix(in oklab, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);box-shadow:var(--shadow-xs);border-radius:999px;gap:10px;padding:4px 12px;font-size:12px;display:flex;bottom:14px;left:14px}.tooltip{z-index:6;background:var(--tooltip);max-width:320px;color:var(--tooltip-text);border-radius:var(--radius);box-shadow:var(--shadow-lg);pointer-events:none;padding:9px 12px;font-size:12.5px;line-height:1.45;position:absolute}.tooltip .t-title{margin-bottom:2px;font-weight:650}.tooltip .muted{color:color-mix(in oklab, var(--tooltip-text) 66%, var(--tooltip))}.side{background:var(--chrome);border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex;overflow:hidden}.side-head{border-bottom:1px solid var(--border);padding:14px 18px 10px}.side-nav{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:6px;min-height:44px;padding:8px 10px;display:flex}.side.collapsed .side-nav{border-bottom:0}.side.collapsed .side-toggle svg{transform:rotate(180deg)}.side-back{gap:6px;min-width:0}.side-back-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-body{flex-direction:column;flex:auto;gap:14px;padding:16px 18px 28px;display:flex;overflow:auto}.item-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:8px;padding:7px 10px;display:flex}.overlay{z-index:50;background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:overlay-in var(--dur) var(--ease);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:640px;max-height:calc(100vh - 48px);animation:modal-in .26s var(--ease-out);flex-direction:column;display:flex}@keyframes overlay-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.modal.wide{max-width:920px}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.modal-head h2{margin:0;font-size:21px}.modal-body{flex-direction:column;gap:14px;padding:18px 22px;display:flex;overflow:auto}.modal-foot{border-top:1px solid var(--border);border-radius:0 0 var(--radius-xl) var(--radius-xl);background:color-mix(in oklab, var(--surface-2) 40%, var(--surface));justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.toasts{z-index:80;flex-direction:column;gap:10px;max-width:420px;display:flex;position:fixed;bottom:18px;right:18px}.toast{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--info);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:toast-in .32s var(--ease-out);align-items:flex-start;gap:10px;padding:10px 14px;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.overlay,.modal,.toast,.auth-card{animation:none}}.toast.error{border-left-color:var(--danger)}.toast.ok{border-left-color:var(--ok)}.toast-actions{margin-top:8px}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}details>summary{cursor:pointer;-webkit-user-select:none;user-select:none}.divider{background:var(--border);height:1px;margin:4px 0}@media (width<=900px){.workspace{grid-template-rows:55% 45%;grid-template-columns:minmax(0,1fr)}.side{border-left:0;border-top:1px solid var(--border)}.workspace.side-collapsed{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.side.collapsed .side-toggle svg{transform:rotate(-90deg)}}.canvas-host{position:absolute;inset:0}.empty-hint{max-width:340px;top:12px;left:12px;pointer-events:none!important}.empty-hint .card{box-shadow:var(--shadow);pointer-events:none}.workspace{--side-width:clamp(300px, 27vw, 400px)}.lib-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);align-items:center;gap:8px;padding:7px 10px;display:flex}.lib-item:hover{border-color:var(--border-hover);box-shadow:var(--shadow-xs)}.lib-item.sel{border-color:var(--accent);background:var(--accent-soft)}.lib-title{font-weight:600}.dots{flex:none;gap:5px;display:inline-flex}.dots .dot{border:1px solid color-mix(in oklab, var(--c-ink) 14%, transparent);border-radius:50%;width:14px;height:14px}.dots .dot.empty{background:0 0;border-style:dashed}.thumb{border-radius:var(--radius);object-fit:cover;border:1px solid var(--border)}.conn-row,.dyn-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:10px}.btn.link{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, currentColor 35%, transparent);text-decoration-color:color-mix(in oklab, currentColor 35%, transparent);text-underline-offset:3px;padding-left:0}.check.small{align-items:center}.item-row input[type=color],.dyn-row input[type=color]{width:32px;height:28px;padding:0}.class-tabs{flex-wrap:wrap;gap:4px;display:flex}.class-tab{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:12.5px;font-weight:550;display:inline-flex}.class-tab:hover{border-color:var(--border-hover)}.class-tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;padding:2px 9px;font-size:12px;display:inline-flex}.chip.known{border-color:var(--border-hover);background:var(--surface-2);color:var(--text)}.chip.unknown{border-color:var(--danger);color:var(--danger);background:var(--danger-soft);cursor:default}.occ{text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);padding:7px 10px;display:block}.occ:hover{border-color:var(--border-hover);background:var(--surface-2)}.search{width:clamp(150px,18vw,260px);position:relative}.search input[type=search]{background:var(--surface);border-radius:999px;padding-left:14px}.search-results{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:420px;max-height:60vh;box-shadow:var(--shadow-lg);animation:rb-in var(--dur) var(--ease-out);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;overflow:auto}.search-results .pad{padding:8px}.hit{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;padding:7px 10px;display:block}.hit:hover{background:var(--surface-2)}.badge.warn{color:var(--warn);background:var(--warn-soft);border-color:#0000}.badge.info{color:var(--info);background:var(--info-soft);border-color:#0000}.btn .count{background:var(--warn);color:var(--accent-contrast);border-radius:999px;margin-left:6px;padding:0 7px;font-size:11.5px;font-weight:700}.btn.warn-btn{border-color:var(--warn)}.add-fab{z-index:5;width:46px;height:46px;box-shadow:var(--shadow);border-radius:50%;justify-content:center;padding:0;font-size:24px;font-weight:300;line-height:1;position:absolute;top:14px;right:14px}.btn.primary.add-fab:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-1px)}.add-layout{grid-template-columns:210px minmax(0,1fr);gap:18px;min-height:320px;display:grid}.add-classes .class-tab{border-radius:var(--radius-sm);justify-content:flex-start;width:100%;padding-top:7px;padding-bottom:7px}.add-items .lib-item{cursor:pointer;text-align:left;font:inherit;width:100%}.btn.plus{border-radius:var(--radius-sm);background:var(--accent);border-color:var(--accent);width:28px;height:28px;color:var(--accent-contrast);justify-content:center;padding:0;font-size:18px;font-weight:400;line-height:1}.btn.plus:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.canvas-hint.drop-hint{background:var(--surface);color:var(--text);border:1.5px solid var(--ok);pointer-events:none;top:auto;bottom:18px}.canvas-hint.drop-hint.no{border-color:var(--danger);color:var(--danger)}.tile-ghost{z-index:8;border:2px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface);max-width:220px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;box-shadow:var(--shadow);pointer-events:none;padding:5px 11px;font-size:12.5px;font-weight:600;position:absolute;overflow:hidden}.seg{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;flex:none;align-items:center;gap:2px;padding:3px;display:inline-flex}.seg-btn{color:var(--text-muted);font:inherit;cursor:pointer;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);background:0 0;border:0;border-radius:999px;padding:5px 14px;font-weight:550}.seg-btn:hover{color:var(--text);background:color-mix(in oklab, var(--surface) 55%, transparent)}.seg-btn.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.seg-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.viewbar{justify-self:center}.viewbar .seg-btn{padding:6px 16px}.viewbar .seg-btn.active{background:var(--accent);color:var(--accent-contrast)}.library-note{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:7px 12px;bottom:14px;right:14px}.editor-view{background:var(--canvas);grid-template-columns:300px minmax(0,1fr);min-width:0;min-height:0;display:grid}.doc-tree{border-right:1px solid var(--border);background:var(--chrome);flex-direction:column;gap:10px;padding:10px;display:flex;overflow:auto}.doc-node{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;flex-direction:column;gap:4px;padding:8px;display:flex}.doc-node-head{align-items:center;gap:8px;display:flex}.doc-node-title{overflow-wrap:anywhere;font-weight:700}.binder{flex-direction:column;font-size:13px;display:flex}.binder-row{min-width:0;min-height:28px;padding:1px 6px 1px calc(var(--depth,0) * 16px + 4px);color:var(--text);transition:background-color var(--dur-fast) var(--ease);border-radius:7px;align-items:center;gap:5px;display:flex;position:relative}.binder-row:hover{background:var(--surface-2)}.binder-row.active{background:var(--surface);box-shadow:var(--shadow-xs), inset 0 0 0 1px var(--border)}.binder-row.active .outline-open{color:var(--text);font-weight:650}.binder-icon{color:var(--text-muted);flex:none}.binder-icon.icon-folder,.binder-icon.icon-folder-open{color:var(--warn)}.binder-icon.icon-book{color:var(--text)}.binder-chevron{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:0;transition:transform .18s cubic-bezier(.4,0,.2,1);display:inline-grid}.binder-chevron.open{transform:rotate(90deg)}.binder-chevron:hover{color:var(--text)}.binder-gap{flex:none;width:16px}.binder-root{font-weight:700}.binder-total{font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:400}.outline-title{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:auto;padding:3px 2px;font-weight:700;overflow:hidden}.outline-chapter{border-radius:6px;flex-direction:column;display:flex}.outline-chapter.drop-end{outline:1px dashed var(--accent);outline-offset:-1px}.outline-unassigned{margin-top:6px}.outline-unassigned>.outline-chapter-head{cursor:default}.outline-unassigned-title{color:var(--text-muted);font-style:italic}.outline-chapter-head{cursor:grab;font-weight:600}.outline-scene{cursor:grab}.outline-scene.dragging{opacity:.4}.outline-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:auto;padding:3px 2px;overflow:hidden}.outline-num{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:500}.outline-meta{font-variant-numeric:tabular-nums;flex:none;font-size:11px}.outline-status{border:1px solid;border-radius:50%;flex:none;width:8px;height:8px}.outline-tools{background:linear-gradient(to right, transparent, var(--surface-2) 12px);align-items:center;padding-left:14px;display:none;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.binder-row.active .outline-tools{background:linear-gradient(to right, transparent, var(--surface) 12px)}.binder-row:hover .outline-tools,.binder-row:focus-within .outline-tools{display:inline-flex}.btn.outline-tool{color:var(--text-muted);padding:1px 5px;font-size:11px}.btn.outline-tool:hover:not(:disabled){color:var(--text)}.outline-tool:disabled{visibility:hidden}.outline-rename{flex:auto;min-width:0}input[type].outline-rename,.outline-rename{height:24px;padding:2px 6px}.outline-docs{flex-direction:column;display:flex}.outline-empty,.outline-chapter-foot,.binder-row-plain{padding-left:calc(var(--depth,0) * 16px + 20px)}.outline-empty{padding-top:2px;padding-bottom:4px;font-style:italic}.binder-add{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 6px;font-size:12px;transition:color .12s,background-color .12s}.binder-add:hover{color:var(--text);background:var(--surface-2)}.outline-drop{height:2px;margin:1px 0 1px calc(var(--depth,1) * 16px);background:var(--accent);border-radius:2px}.other-texts{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:8px;display:flex}.other-texts>summary{cursor:pointer;color:var(--text-muted);margin-bottom:8px;font-weight:700}.other-texts>.doc-node+.doc-node{margin-top:10px}.narrate-row{flex-wrap:nowrap;min-width:0}.narrate-row .link{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;overflow:hidden}.narrate-mode{flex:none;width:auto}.doc-row{border-radius:6px;align-items:center;gap:2px;display:flex}.doc-row.active{background:var(--accent-soft)}.doc-row .doc-open{text-align:left;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:auto;padding:4px 6px}.doc-row .doc-open:hover{background:var(--accent-soft)}.doc-row input{flex:auto}.doc-line{align-items:center;gap:6px;display:flex}.doc-line .doc-row{flex:auto;min-width:0}.doc-words{flex:none}.doc-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.doc-empty{text-align:center;margin:auto;padding:24px}.doc-editor{flex-direction:column;flex:auto;min-height:0;display:flex}.doc-head{border-bottom:1px solid var(--border);background:var(--chrome);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;display:flex}.doc-status.failed,.doc-status.conflict{color:var(--danger);font-weight:600}.doc-conflict{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 18px 0;display:flex}.doc-cover{object-fit:cover;width:44px;height:44px;box-shadow:0 0 0 1px var(--border);border-radius:8px;flex:none}.count-badge{background:var(--surface-2);min-width:18px;color:var(--text-muted);text-align:center;border-radius:999px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;line-height:17px;display:inline-block}.doc-body{flex:auto;min-height:0;display:flex;position:relative}.doc-body>.rt-host{min-width:0}.snapshots{width:var(--sv-width,340px);border-left:1px solid var(--border);background:var(--chrome);flex-direction:column;flex:none;min-width:260px;max-width:calc(100% - 320px);min-height:0;display:flex;position:relative}.sv-edge{cursor:col-resize;touch-action:none;z-index:2;width:7px;position:absolute;top:0;bottom:0;left:-1px}.sv-edge:after{content:"";background:0 0;width:2px;transition:background-color .12s;position:absolute;top:0;bottom:0;left:0}.sv-edge:hover:after,.sv-edge:focus-visible:after,.sv-edge.dragging:after{background:var(--accent)}.sv-edge:focus-visible{outline:none}.sv-head{align-items:center;gap:8px;padding:10px 10px 4px 16px;display:flex}.sv-title-head{font:600 15px/1.3 var(--font-display);margin:0}.sv-tools{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 12px 10px 16px;display:flex}.sv-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);flex:none;min-height:64px;max-height:32%;margin:0;padding:4px 6px;list-style:none;overflow-y:auto}.sv-row{border-radius:var(--radius-sm);cursor:default;-webkit-user-select:none;user-select:none;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:10px;padding:5px 8px;font-size:13px;display:grid}.sv-row:hover{background:var(--surface-2)}.sv-row.selected{background:color-mix(in oklab, var(--accent) 16%, transparent)}.sv-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sv-when{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.sv-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.sv-name.untitled{color:var(--text-muted);font-style:italic;font-weight:400}input.sv-rename{width:100%;min-width:0;height:26px;font:inherit;padding:0 6px}.sv-compare-tools{padding-top:10px}.sv-compare-bar{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:0 10px 8px 16px;display:flex}.sv-against{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sv-compare-row{align-items:center;gap:6px}select.sv-by{width:auto;height:28px;padding:0 6px;font-size:13px}.sv-changes{font-weight:600}.sv-text{background:var(--surface);min-height:0;color:var(--text);font:15px/1.6 var(--font-page);flex:auto;padding:14px 18px 40px 16px;overflow-y:auto}.sv-text p,.sv-text blockquote,.sv-text pre,.sv-text h3,.sv-text h4,.sv-text h5{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 .7em}.sv-text h3,.sv-text h4,.sv-text h5{font-family:var(--font-display);font-weight:600;line-height:1.3}.sv-text .sv-h1{font-size:1.25em}.sv-text .sv-h2{font-size:1.12em}.sv-text .sv-h3{font-size:1em}.sv-item{padding-left:calc(1.3em + var(--level,0) * 1.2em);text-indent:-1.3em}.sv-bullet{width:1.3em;color:var(--text-muted);text-indent:0;display:inline-block}.sv-text .sv-quote{border-left:3px solid var(--border-strong);color:var(--text-muted);padding-left:12px}.sv-text .sv-code{border-radius:var(--radius-sm);background:var(--surface-2);padding:8px;font:12.5px/1.5 ui-monospace,monospace}.sv-rule{border:0;border-top:1px solid var(--border-strong);margin:1em 20%}.sv-text .sv-hint{font:13px/1.5 var(--font-ui)}.sv-removed{background:color-mix(in oklab, var(--danger) 8%, transparent);color:var(--danger);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--danger) 70%, transparent);text-decoration-color:color-mix(in oklab, var(--danger) 70%, transparent)}.sv-added{background:color-mix(in oklab, var(--ref-link) 10%, transparent);color:var(--ref-link);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1.5px}.sv-removed.current,.sv-added.current{outline:2px solid color-mix(in oklab, var(--accent) 60%, transparent);outline-offset:1px;border-radius:2px}.sv-rule.sv-whole.removed{border-top-color:var(--danger)}.sv-rule.sv-whole.added{border-top-color:var(--ref-link)}@media (width<=900px){.snapshots{z-index:5;width:min(var(--sv-width,340px), 100%);min-width:min(260px,100%);max-width:100%;box-shadow:var(--shadow-lg);position:absolute;top:0;bottom:0;right:0}}.doc-title{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;overflow-wrap:anywhere;font-size:18px;font-weight:600}.tool-hint{text-align:right}.md-view{overflow-wrap:anywhere;max-width:760px;line-height:1.65}.md-view h1,.md-view h2,.md-view h3,.md-view h4,.md-view h5,.md-view h6{margin:1.2em 0 .4em;line-height:1.25}.md-view h1{border-bottom:1px solid var(--border);padding-bottom:.2em;font-size:1.7em}.md-view h2{font-size:1.4em}.md-view h3{font-size:1.2em}.md-view p,.md-view ul,.md-view ol,.md-view blockquote,.md-view pre{margin:.6em 0}.md-view ul,.md-view ol{padding-left:1.6em}.md-view blockquote{border-left:4px solid var(--accent);background:var(--surface-2);color:var(--text-muted);margin-left:0;padding:2px 14px}.md-view code{font-family:var(--mono);background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:.9em}.md-view pre{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;overflow:auto}.md-view pre code{background:0 0;padding:0}.md-view hr{border:0;border-top:1px solid var(--border-strong);margin:1.2em 0}.md-view a{color:var(--accent)}@media (width<=900px){.editor-view{grid-template-rows:35% 65%;grid-template-columns:minmax(0,1fr)}.doc-tree{border-right:0;border-bottom:1px solid var(--border)}}.swatches{align-items:center;gap:6px}.swatch-btn{border:2px solid var(--surface);width:22px;height:22px;box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;border-radius:50%;padding:0}.swatch-btn.on{box-shadow:0 0 0 2px var(--accent)}.color-reset{align-self:flex-start;align-items:center;gap:6px;display:inline-flex}.hint-tip{z-index:75;max-width:320px;position:fixed}.hint-tip.above{transform:translateY(-100%)}.field[data-hint]>label:after,h3[data-hint]:after,h4[data-hint]:after,.side-top-text[data-hint] .side-title:after,.doc-line[data-hint] .doc-name:after,.doc-title[data-hint]:after{content:"ⓘ";color:var(--text-muted);margin-left:5px;font-weight:400}.field[data-hint]>label,h3[data-hint],h4[data-hint],.side-top-text[data-hint],.doc-title[data-hint]{cursor:help}.rt-host{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.rt-scroll{flex:auto;min-height:0;overflow:auto}.rt-content{outline:none;min-height:100%;padding:18px 26px 60px;line-height:1.6}.rt-content:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.rt-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--text-muted);pointer-events:none}.rt-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.rt-b{font-weight:800}.rt-i{font-style:italic;font-family:var(--font-page)}.rt-ref{border-radius:4px;padding:0 2px}.rt-ref.known{background:var(--accent-soft);color:var(--text);font-weight:600}.rt-ref.unknown{border-bottom:1px dashed var(--danger)}.rt-content ul[data-type=taskList]{padding-left:4px;list-style:none}.rt-content ul[data-type=taskList] li{gap:8px;display:flex}.rt-btn{min-width:34px;font-size:14px}.rt-btn.rt-wide{width:auto;padding:0 10px}.seg.choice{align-self:flex-start}.design-view{background:var(--bg);grid-template-columns:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.side-rail{border-right:1px solid var(--border);background:var(--chrome);scrollbar-width:thin;flex-direction:column;gap:2px;width:216px;min-height:0;padding:12px 10px 14px;transition:width .24s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden auto}.side-rail.collapsed{width:60px}.side-rail-top{border-bottom:1px solid var(--border);align-items:flex-start;gap:6px;margin:0 0 10px;padding:2px 0 12px 11px;display:flex}.side-rail.collapsed .side-rail-top{padding-left:6px}.side-rail-top .project-name{flex:auto;padding-top:3px;transition:opacity .18s}.side-rail.collapsed .side-rail-top .project-name{opacity:0;flex:0 0 0;width:0}.side-rail-head{align-items:center;gap:6px;min-height:24px;padding:0 0 6px 11px;display:flex}.side-rail.collapsed .side-rail-head{padding-left:8px}.side-rail-title{white-space:nowrap;min-width:0;color:var(--text-faint);letter-spacing:.12em;text-transform:uppercase;flex:auto;font-size:10.5px;font-weight:650;transition:opacity .18s;overflow:hidden}.side-rail.collapsed .side-rail-title{opacity:0;flex:0 0 0;width:0}.side-rail-toggle{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex:none;place-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-grid}.side-rail-toggle:hover{background:var(--surface-2);color:var(--text)}.side-rail-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.side-rail-toggle svg{transition:transform .24s cubic-bezier(.4,0,.2,1)}.side-rail.collapsed .side-rail-toggle svg{transform:rotate(180deg)}.side-rail-items{flex-direction:column;gap:2px;display:flex}.rail-item{border-radius:var(--radius);width:100%;min-height:40px;color:var(--text);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:0 0;border:0;align-items:center;gap:11px;padding:8px 10px 8px 11px;font-weight:550;display:flex;position:relative}.rail-item:hover:not(.disabled){background:var(--surface-2)}.rail-item.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs), inset 0 0 0 1px var(--border)}.rail-item.disabled{opacity:.4;cursor:not-allowed}.rail-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rail-item.separated{margin-top:12px}.rail-item.separated:before{content:"";border-top:1px solid var(--border);position:absolute;top:-7px;left:10px;right:10px}.rail-item.tool-item{cursor:grab}.rail-item.tool-item:active{cursor:grabbing}.rail-icon{flex:none;place-items:center;width:22px;height:22px;display:inline-grid}.rail-label{text-overflow:ellipsis;flex:auto;min-width:0;transition:opacity .18s;overflow:hidden}.rail-count{background:var(--surface-3);min-width:22px;color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:0 7px;font-size:11.5px;font-weight:700;transition:opacity .18s}.rail-item.active .rail-count{background:var(--accent);color:var(--accent-contrast)}.side-rail.collapsed .rail-label,.side-rail.collapsed .rail-count{opacity:0;pointer-events:none}.side-rail-foot{white-space:normal;padding:12px 11px 0;line-height:1.4}.idea-tray{flex-direction:column;gap:2px;min-height:0;max-height:40vh;display:flex;overflow-y:auto}.idea-head{color:var(--text-muted);font:650 11px/1.2 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;margin-bottom:4px;display:flex}.idea-item{border-radius:var(--radius-sm);color:var(--text);font:500 13px/1.3 var(--font-ui);text-align:left;cursor:grab;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:5px 6px;display:flex}.idea-item:hover,.idea-item.active{background:var(--surface-2);border-color:var(--border)}.idea-chip{width:12px;height:14px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--text) 18%, transparent);border-radius:2px;flex:none}.idea-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.side-rail-bottom{border-top:1px solid var(--border);margin-top:auto;padding-top:10px}.library-import{flex-direction:column;gap:12px;min-height:300px;display:flex}.li-projects{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.li-project{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease);justify-content:space-between;align-items:baseline;gap:12px;padding:11px 14px;display:flex}.li-project:hover{background:var(--surface-2)}.li-project-title{font-weight:600}.li-head{align-items:center;gap:10px;display:flex}.li-project-name{font-size:15px}.li-tree{scrollbar-width:thin;flex-direction:column;gap:6px;max-height:min(52vh,480px);display:flex;overflow-y:auto}.li-class{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.li-class-row{align-items:center;gap:8px;padding:3px 8px 3px 14px;display:flex}.li-class-toggle{min-height:38px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:auto;align-items:center;gap:10px;padding:4px 8px;font-weight:600;display:flex}.li-class-toggle:hover{background:var(--surface-2)}.li-class-icon{place-items:center;width:20px;height:20px;display:inline-grid}.li-class-name{flex:auto}.li-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.li-chev{color:var(--text-muted);transition:transform var(--dur-fast) var(--ease);flex:none}.li-chev.open{transform:rotate(90deg)}.li-entries{flex-direction:column;gap:2px;margin:0;padding:0 8px 8px 40px;list-style:none;display:flex}.li-entry{cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:4px 8px;display:flex}.li-entry:hover{background:var(--surface-2)}.li-entry .rb-avatar{width:28px;height:28px;font-size:12px}.li-entry-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.li-entry-cat{background:var(--surface-3);color:var(--text-muted);border-radius:999px;flex:none;padding:1px 8px;font-size:12px}.li-check{width:16px;height:16px;accent-color:var(--accent);flex:none}.li-confirm p{margin:0;line-height:1.55}.li-confirm{flex-direction:column;gap:8px;max-width:520px;display:flex}@media (height<=700px){.rail-item{min-height:34px;padding-top:6px;padding-bottom:6px}}.planning-view{grid-template-columns:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.planning-rail{min-height:0;display:flex}.mask-icon{background-color:currentColor;flex:none;display:inline-block}.design-dot{border-radius:50%;flex:none;width:12px;height:12px;margin:5px;display:inline-block}.design-main{flex-direction:column;min-width:0;min-height:0;display:flex}.design-head{border-bottom:1px solid var(--border);background:var(--chrome);flex-wrap:wrap;align-items:center;gap:12px;padding:20px 28px 16px;display:flex}.design-head h1{margin:0;font-size:27px}.design-head-icon{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);width:42px;height:42px;color:var(--text);box-shadow:var(--shadow-xs);place-items:center;display:inline-grid}.design-count{font-variant-numeric:tabular-nums;font-size:15px}input[type=search].design-search{width:220px}.design-toolbar{border-bottom:1px solid var(--border);background:var(--chrome);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 28px;display:flex}.size-ctl{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);border-radius:999px;align-items:center;gap:2px;padding:2px 3px;display:inline-flex}.size-ctl .btn.icon{padding:1px 9px;font-size:16px;font-weight:700;line-height:1.2}.design-cards{flex-direction:column;flex:auto;gap:18px;min-height:0;padding:22px 28px 48px;display:flex;overflow:auto}.design-grid{grid-template-columns:repeat(auto-fill, minmax(var(--card-min,190px), 1fr));align-content:start;gap:18px;display:grid}.design-cards.size-0 .design-grid{gap:10px}.design-cards.size-1 .design-grid{gap:12px}.design-cards.size-0 .ec-text,.design-cards.size-0 .ec-usage,.design-cards.size-1 .ec-text{display:none}.design-cards.size-0 .ec-body{padding:6px 8px 8px}.design-cards.size-0 .ec-title{font-size:12.5px}.design-cards.size-0 .ec-initial{font-size:24px}.design-cards.size-1 .ec-initial{font-size:30px}.design-cards.size-4 .ec-initial{font-size:56px}.design-cards.size-4 .ec-title{font-size:16px}.design-nohits{grid-column:1/-1;padding:24px 0}.entity-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-direction:column;padding:0;display:flex;overflow:hidden}.entity-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-3px)}.entity-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.entity-card.selected{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent), var(--shadow)}.ec-image{aspect-ratio:4/3;background:color-mix(in oklab, var(--c,var(--accent)) 14%, var(--surface-2));place-items:center;display:grid;overflow:hidden}.ec-image img{object-fit:cover;object-position:center 30%;width:100%;height:100%;transition:transform .5s var(--ease-out)}.entity-card:hover .ec-image img{transform:scale(1.03)}.ec-initial{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:.01em;color:var(--c,var(--accent));opacity:.85;font-size:42px;font-weight:500}.ec-body{flex-direction:column;flex:auto;gap:5px;padding:12px 14px 14px;display:flex}.ec-title{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.005em;overflow-wrap:anywhere;font-size:16.5px;font-weight:600;line-height:1.25}.ec-text{color:var(--text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.ec-usage{color:var(--text-muted);margin-top:auto;padding-top:4px;font-size:11.5px;font-weight:600}.ec-usage.unused{font-style:italic;font-weight:400}.entity-card.add{border:1.5px dashed var(--border-strong);min-height:160px;color:var(--text-muted);box-shadow:none;background:0 0;justify-content:center;align-items:center;gap:6px;font-weight:600}.entity-card.add:hover{border-color:var(--border-hover);background:color-mix(in oklab, var(--surface) 60%, transparent);color:var(--text)}.ec-add-plus{font-size:34px;font-weight:300;line-height:1}.design-empty{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:440px;margin:auto;padding:40px 24px;display:flex}.design-empty p{color:var(--text-muted);margin:0;line-height:1.5}.design-empty-icon{border:1px solid var(--border);background:var(--surface);width:92px;height:92px;box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid}.design-empty h2{font-size:24px}.design-board-wrap{flex:auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:relative}.design-canvas{min-height:0}.board-empty{z-index:4;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);pointer-events:none;padding:12px 18px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.design-world{flex:auto;min-height:0;padding:18px 28px 40px;overflow:auto}.design-intro{max-width:760px;margin:0 0 16px;line-height:1.5}.world-cards{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.world-card .rt-content.rt-field{min-height:252px;max-height:640px}.world-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:20px 22px;display:flex}.world-card h2{margin:0}@media (width<=900px){.design-view{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.design-view .side-rail{border-right:0;border-bottom:1px solid var(--border);width:auto}.design-view .side-rail-items{flex-direction:row;overflow-x:auto}.design-view .side-rail-head,.design-view .side-rail-toggle{display:none}.design-view .side-rail-top{border-bottom:0;margin-bottom:4px;padding-bottom:6px}.design-view .rail-item{width:auto}.design-view .rail-item.separated{margin-top:0}.design-view .rail-item.separated:before{display:none}}.entity-form{flex-direction:column;gap:14px;display:flex}.entity-head{grid-template-columns:148px minmax(0,1fr);align-items:start;gap:16px;display:grid}.entity-head.no-image{grid-template-columns:minmax(0,1fr)}.entity-head-main{flex-direction:column;gap:10px;min-width:0;display:flex}input[type=text].entity-title{border:1px solid #0000;border-bottom-color:var(--border-strong);box-shadow:none;font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;background:0 0;border-radius:6px 6px 0 0;padding:6px 10px;font-size:25px;font-weight:600;transition:border-color .15s,box-shadow .15s,background-color .15s}input[type=text].entity-title:hover{border-bottom-color:var(--border-hover)}input[type=text].entity-title:focus{border-color:var(--accent);border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 0 0 3px var(--focus);outline:none}.image-drop{aspect-ratio:1;width:148px;position:relative}.image-drop-face{border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);width:100%;height:100%;color:var(--text-muted);font:inherit;text-align:center;cursor:pointer;place-items:center;padding:0;font-size:12px;transition:border-color .15s,background-color .15s,color .15s;display:grid;overflow:hidden}.image-drop-face:hover:not(:disabled),.image-drop.over .image-drop-face{border-color:var(--border-hover);background:var(--accent-soft);color:var(--text)}.image-drop.has-image .image-drop-face{border-style:solid;border-color:var(--border);box-shadow:var(--shadow-sm)}.image-drop-face img{object-fit:cover;object-position:center 30%;width:100%;height:100%}.image-drop-hint{flex-direction:column;align-items:center;gap:6px;padding:10px;line-height:1.35;display:flex}.image-drop-remove{width:26px;height:26px;box-shadow:var(--shadow);opacity:0;border-radius:50%;justify-content:center;padding:0;transition:opacity .15s;position:absolute;top:6px;right:6px}.btn.ghost.image-drop-remove,.btn.ghost.image-drop-remove:hover:not(:disabled){background:var(--surface)}.image-drop:hover .image-drop-remove,.image-drop-remove:focus-visible{opacity:1}@media (hover:none){.image-drop-remove{opacity:1}}.image-drop.busy .image-drop-face{cursor:progress;opacity:.6}.image-field .image-drop{width:136px}.field-with-actions{position:relative}.field-with-actions>.field-actions{opacity:.5;transition:opacity .15s;position:absolute;top:-4px;right:0}.field-with-actions:hover>.field-actions,.field-with-actions:focus-within>.field-actions{opacity:1}.field-menu-host{position:relative}.btn.field-menu-btn{height:22px;color:var(--text-muted);padding:0 7px;font-size:15px;line-height:1}.field-menu{z-index:30;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:200px;box-shadow:var(--shadow-lg);animation:rb-in var(--dur) var(--ease-out);flex-direction:column;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.field-menu-item{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px}.field-menu-item:hover{background:var(--surface-2)}.field-menu-item.danger{color:var(--danger)}.btn.field-add{color:var(--text);align-self:flex-start;font-weight:600}.field-adder{border:1px dashed var(--border-strong);border-radius:var(--radius);background:color-mix(in oklab, var(--surface-2) 55%, transparent);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12.5px;transition:border-color .15s,background-color .15s,color .15s}.chip-btn:hover:not(:disabled){border-color:var(--border-hover);background:var(--surface-2);color:var(--text)}.report-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.report-figure strong{font-family:var(--font-display);color:var(--danger);font-size:26px}.report-figure[data-count="0"] strong{color:var(--ok)}.report-filters{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:8px 0;display:flex}.chip-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.report-section h3{margin:14px 0 6px;font-size:14px}.report-item{flex-direction:column;gap:4px;margin:0 0 10px;display:flex}.report-scene{font-size:13px;font-weight:600}.report-issue{align-items:flex-start}.report-issue input[type=checkbox]{margin-top:3px}.report-issue.done>.grow{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--text-muted) 60%, transparent);text-decoration-color:color-mix(in oklab, var(--text-muted) 60%, transparent)}.report-issue.done .badge{opacity:.5}.field-adder-row{grid-template-columns:minmax(0,1fr) 150px auto;align-items:center;gap:8px;display:grid}.entity-advanced{border-top:1px solid var(--border);padding-top:10px}.entity-advanced>summary{color:var(--text-muted);font-size:12.5px;font-weight:600}.entity-advanced[open]>summary{margin-bottom:10px}.drag-time-flag{z-index:6;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-100%)}.drag-time-flag:after{content:"";background:var(--accent);width:2px;height:18px}.drag-time-box{background:var(--accent);color:var(--accent-contrast);white-space:nowrap;box-shadow:var(--shadow);border-radius:6px;padding:4px 10px;font-size:13px;font-weight:700}.rt-ref-link{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-underline-offset:2px}.rt-ref-link.unknown{color:inherit;text-decoration-style:dashed;-webkit-text-decoration-color:var(--danger);text-decoration-color:var(--danger)}.rt-ref-hidden{display:none}.rt-ref-token{color:var(--text-muted);font-size:.85em}.datetime{align-items:center;position:relative}.datetime input[type=text]{font-variant-numeric:tabular-nums;flex:auto;min-width:0}.datetime-picker{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;right:0}.rt-ref-link,.rt-content .rt-ref-link{color:var(--ref-link);cursor:text;font-weight:600;text-decoration:none}.rt-field-host{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:inset 0 1px 2px color-mix(in oklab, var(--c-ink) 5%, transparent);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.rt-field-host:hover{border-color:var(--border-hover)}.rt-field-host:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.rt-content.rt-field{min-height:84px;max-height:260px;padding:8px 10px;line-height:1.5;overflow-y:auto}.rt-content.rt-field p{margin:0}.planning-stack{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.planning-stack>.canvas-wrap{flex:auto}.line-band{background:var(--band);border-top:1px solid var(--band-edge);box-shadow:0 -12px 24px -14px var(--band-shadow), inset 0 1px 0 var(--band-highlight);z-index:4;flex-direction:column;flex:none;display:flex;position:relative}.line-edge{cursor:row-resize;z-index:5;height:12px;position:absolute;top:-6px;left:0;right:0}.line-head{align-items:center;gap:8px;min-width:0;padding:9px 16px 3px;display:flex}.line-head .line-title{cursor:help}.line-head strong{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.005em;font-size:15px;font-weight:600}.line-head .grow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-scroll{cursor:grab;scrollbar-width:thin;flex:auto;transition:background-color .2s;position:relative;overflow:auto hidden}.line-scroll:active{cursor:grabbing}.line-scroll.ext-over{background:var(--accent-soft)}.line-track{min-width:100%;height:100%;position:relative}.line-chapter{border-radius:var(--radius-lg);background:var(--band-chapter);border:1px solid var(--band-edge);transition:left .35s cubic-bezier(.4,0,.2,1),top .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1),height .35s cubic-bezier(.4,0,.2,1),border-color .2s,box-shadow .2s;position:absolute}.line-chapter:not(.unassigned):hover{border-color:var(--border-hover)}.line-chapter.selected,.line-chapter.selected:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.line-chapter-head{align-items:center;gap:2px;min-width:0;padding-right:4px;display:flex}.line-chapter-add{color:var(--text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;margin-left:auto;padding:2px 8px;font-size:11.5px;font-weight:600;transition:background-color .15s,color .15s,border-color .15s}.line-chapter-add:hover,.line-chapter-add:focus-visible{border-color:var(--border-hover);background:var(--surface);color:var(--text)}.line-chapter.unassigned{background:0 0;border-style:dashed;transition:left .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1),background-color .2s,border-color .2s}.line-chapter.unassigned .line-chapter-title{cursor:default;font-style:italic;font-weight:600}.line-chapter.unassigned.drop-target{border-color:var(--accent);background:var(--accent-soft)}.line-chapter-title{min-width:0;font:inherit;letter-spacing:.01em;color:var(--text-muted);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;text-align:left;background:0 0;border:0;flex:0 auto;max-width:100%;padding:6px 12px;font-size:12px;font-weight:650;overflow:hidden}.line-part{color:var(--text);text-transform:uppercase;letter-spacing:.08em}.line-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;gap:4px;padding:7px 9px;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,border-color .2s,background-color .2s,left .35s cubic-bezier(.4,0,.2,1),top .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1),height .35s cubic-bezier(.4,0,.2,1);display:flex;position:absolute}.line-card:hover,.line-card.hot{border-color:var(--border-hover);box-shadow:var(--shadow);transform:translateY(-2px)}.line-card.selected{outline:2px solid var(--accent);outline-offset:1px}.line-card.lit{border-color:var(--accent);background:var(--accent-soft)}.line-card.drop-target{border:2px dashed var(--ok);background:var(--ok-soft)}.line-card.dragging{opacity:.4}.line-card.unplaced{border-style:dashed}.line-card.skip{opacity:.55}.line-card.skip:hover,.line-card.skip.hot{opacity:1}.lc-top{align-items:center;gap:5px;font-size:12px;display:flex}.lc-num{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:600}.lc-status{border:1px solid;border-radius:50%;flex:none;width:8px;height:8px}.lc-mode{color:var(--text);font-weight:700}.lc-dots{gap:3px;display:flex}.lc-dots i{border-radius:50%;width:8px;height:8px;display:block}.lc-title{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:auto;font-size:13px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.lc-foot{white-space:nowrap;justify-content:space-between;align-items:center;gap:6px;display:flex;overflow:hidden}.lc-pov{text-overflow:ellipsis;align-items:center;gap:4px;min-width:0;display:inline-flex;overflow:hidden}.lc-avatar{object-fit:cover;border-radius:50%;flex:none;width:18px;height:18px}.lc-avatar.initial{background:var(--accent-soft);color:var(--text);place-items:center;font-size:10px;font-weight:700;display:inline-grid}.line-marker{background:var(--accent);width:3px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:2px;margin-top:-4px;transition:left .15s ease-out,top .15s ease-out;position:absolute}.line-pick{z-index:6;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);cursor:default;flex-direction:column;gap:6px;min-width:280px;padding:10px;display:flex;position:absolute;top:30px}.line-links{pointer-events:none;z-index:6;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.line-link path{fill:none;stroke-width:2px;stroke-linecap:round;animation:.22s ease-out line-in}.line-link circle{animation:.22s ease-out line-in}.line-link.faint path{stroke-width:1.2px;opacity:.35}.line-link.faint circle{opacity:.45}.line-link.clipped path{opacity:.55}@keyframes line-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.line-card,.line-chapter,.line-marker{transition:none}.line-link path,.line-link circle{animation:none}}.scene-drop-hint{z-index:60;border-radius:var(--radius-lg);background:var(--tooltip);max-width:320px;color:var(--tooltip-text);box-shadow:var(--shadow);pointer-events:none;padding:6px 12px;font-size:12px;font-weight:600;line-height:1.35;position:fixed}.scene-drop-hint.docked{background:var(--accent);color:var(--accent-contrast)}.scene-pick{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;gap:8px;padding:14px;animation:.18s cubic-bezier(.4,0,.2,1) scene-pick-in;display:flex;position:fixed}@keyframes scene-pick-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.scene-pick-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.scene-pick-option{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;font-weight:600;transition:border-color .15s,background-color .15s,color .15s;display:flex}.scene-pick-option:hover:not(:disabled),.scene-pick-option:focus-visible{border-color:var(--border-hover);background:var(--surface-2);color:var(--text);outline:none}.scene-pick-option:disabled{opacity:.45;cursor:not-allowed}.line-card{flex-direction:row;gap:0;padding:0;overflow:hidden}.lc-main{flex-direction:column;flex:auto;gap:4px;min-width:0;padding:7px 9px;display:flex}.lc-desc{border-left:1px solid var(--border);flex-direction:column;flex:auto;gap:4px;min-width:0;padding:7px 10px;font-size:12px;line-height:1.35;display:flex}.lc-desc-text{overflow-wrap:anywhere;flex:auto;min-height:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 78%,#0000);mask-image:linear-gradient(#000 78%,#0000)}.line-card.compact{align-items:stretch}.lc-swatch{font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;min-width:34px;padding:0 6px;font-size:11.5px;font-weight:700;display:flex}.lc-swatch.bare{min-width:6px;padding:0}.lc-compact-title{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:auto;align-self:center;min-width:0;padding:0 8px;font-size:12px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.line-card.tile{border-radius:var(--radius-lg)}.lc-tile{background:var(--surface-2);color:#fff;flex:auto;height:100%;position:relative;overflow:hidden}.lc-tile>img{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lc-tile-empty{color:var(--text-muted);opacity:.5;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.lc-big{top:calc(var(--tile,120px) * .05);left:calc(var(--tile,120px) * .08);font-size:clamp(15px, calc(var(--tile,120px) * .14), 34px);letter-spacing:.02em;font-variant-numeric:tabular-nums;text-shadow:0 0 1px #000000b3,0 1px 2px #0009,0 2px 10px #00000073;font-weight:600;line-height:1;position:absolute}.lc-badges{align-items:center;gap:4px;display:flex;position:absolute;top:7px;right:7px}.lc-chip{background:color-mix(in oklab, var(--c-ink) 62%, transparent);border-radius:999px;align-items:center;gap:3px;padding:1px 6px;font-size:12px;font-weight:700;display:inline-flex}.lc-chip.lc-dots{padding:4px 5px}.lc-tile .lc-status{box-shadow:0 0 0 2px color-mix(in oklab, var(--c-ink) 62%, transparent)}.lc-caption{padding:calc(var(--tile,120px) * .045) calc(var(--tile,120px) * .07);background:linear-gradient(to top, color-mix(in oklab, var(--c-ink) 84%, transparent), color-mix(in oklab, var(--c-ink) 58%, transparent));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:0;left:0;right:0}.lc-caption-title{-webkit-line-clamp:3;line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:auto;min-width:0;font-weight:500;line-height:1.2;display:-webkit-box;overflow:hidden}.lc-caption .lc-avatar{box-shadow:0 0 0 1.5px #fffc}.line-band.collapsed{height:auto}.line-band.stacked .line-scroll{overflow:hidden auto}.line-band.stacked .line-track{min-height:100%}.line-band.maximized{min-height:0;box-shadow:none;border-top:0;flex:auto}.planning-stack.band-max>.canvas-wrap{visibility:hidden;flex:0 0 0;min-height:0;overflow:hidden}.line-maximize{color:var(--text-muted);margin-left:-8px}.line-maximize:hover,.line-maximize.active{color:var(--text)}.line-toggle{place-items:center;padding:4px 7px;display:inline-grid}.line-head>.line-toggle+.line-toggle{margin-left:-4px}.line-band.collapsed .line-head{padding-bottom:8px}.line-collapse{margin-left:-6px}.carry-ghost{z-index:1000;pointer-events:none;align-items:center;gap:6px;animation:.16s ease-out carry-in;display:flex;position:fixed;transform:translate(-18px,-18px)}.carry-icon{background:var(--surface);border:2px solid var(--ghost,var(--accent));width:36px;height:36px;box-shadow:var(--shadow);color:var(--ghost,var(--accent));border-radius:50%;place-items:center;font-size:14px;display:grid}.carry-title{background:var(--ghost,var(--accent));color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:240px;box-shadow:var(--shadow);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600;overflow:hidden}@keyframes carry-in{0%{opacity:0;transform:translate(-18px,-18px)scale(.6)}to{opacity:1;transform:translate(-18px,-18px)scale(1)}}@media (prefers-reduced-motion:reduce){.carry-ghost{animation:none}}.doc-tree.binder-pane{gap:6px;padding:10px 8px 24px}.binder-project{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:8px;margin:0 0 4px;padding:4px 8px 12px;display:flex}.binder-export{flex:none}.export-formats{gap:6px}.export-format{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.export-format.active{border-color:var(--accent);background:var(--accent-soft)}.export-format input{margin-top:3px}.export-dialog{gap:14px}input[type=search].binder-filter{width:calc(100% - 4px);margin:0 2px 4px}.other-texts.binder{border-top:1px solid var(--border);gap:0;margin-top:8px;padding-top:8px}.other-texts>summary.binder-row{color:var(--text);cursor:pointer;margin-bottom:0;list-style:none}.other-texts>summary.binder-row::-webkit-details-marker{display:none}.binder-summary-chevron{width:16px;height:16px;color:var(--text-muted);background:currentColor;flex:none;transition:transform .18s cubic-bezier(.4,0,.2,1);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") 50%/12px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") 50%/12px no-repeat}.other-texts[open]>summary .binder-summary-chevron{transform:rotate(90deg)}.doc-tree .doc-node{background:0 0;border:0;border-radius:0;flex-direction:column;gap:0;padding:0;display:flex}.doc-tree .other-texts>.doc-node+.doc-node{margin-top:0}.doc-node-head.binder-row{font-weight:600}.doc-node-head .doc-node-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.doc-node-where{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:45%;font-size:11px;font-weight:400;overflow:hidden}.doc-node-docs{flex-direction:column;display:flex}.binder-pane .doc-row{min-width:0;min-height:28px;padding:1px 6px 1px calc(var(--depth,0) * 16px + 20px);border-radius:6px;align-items:center;gap:2px;display:flex;position:relative}.binder-pane .doc-row:hover{background:var(--surface-2)}.binder-pane .doc-row.active{background:var(--accent-soft)}.binder-pane .doc-row .doc-open{white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:6px;align-items:center;gap:6px;min-width:0;padding:3px 4px;display:flex;overflow:hidden}.binder-pane .doc-row .doc-open:hover{background:0 0}.doc-row .doc-open .binder-icon{vertical-align:-3px;margin-right:4px}.binder-pane .doc-row .doc-open .binder-icon{margin-right:0}.binder-pane .doc-row.active .doc-open{color:var(--accent);font-weight:600}.doc-name{text-overflow:ellipsis;overflow:hidden}.btn.doc-tool{color:var(--text-muted);opacity:.55;padding:1px 5px;font-size:11px}.doc-row:hover .btn.doc-tool,.btn.doc-tool:focus-visible{opacity:1}.binder-row-plain.doc-new{padding-right:6px}.outline-docs .binder-row-plain,.doc-node-docs .binder-row-plain{padding-left:calc(var(--depth,0) * 16px + 20px)}.rt-toolbar{border-bottom:1px solid var(--border);background:var(--chrome);flex-wrap:wrap;align-items:center;gap:4px;padding:7px 18px;display:flex}.rt-group{gap:2px;display:inline-flex}.rt-sep{background:var(--border-strong);width:1px;height:22px;margin:0 6px}.rt-tool{border-radius:var(--radius-sm);min-width:34px;height:34px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-weight:600;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.rt-tool:hover:not(:disabled){background:var(--surface-2);border-color:var(--border)}.rt-tool.active{background:var(--surface);border-color:var(--border-strong);color:var(--text);box-shadow:var(--shadow-xs)}.rt-tool:disabled{opacity:.35;cursor:default}.rt-tool:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rt-tool.rt-link-btn{border-color:var(--border-strong);background:var(--surface);color:var(--text);padding:0 12px}.rt-tool.rt-link-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-hover)}.rt-tool.rt-link-btn.active{background:var(--accent);color:var(--accent-contrast)}select.rt-style{width:auto;min-width:150px;height:34px;font-weight:600}.rt-toolbar .tool-hint{min-width:160px}.rt-scroll.rt-desk{background:var(--desk);padding:36px 24px 80px;scroll-padding:36px 0 80px}.rt-content.rt-page{background:var(--page);max-width:816px;min-height:1000px;color:var(--page-text);box-shadow:var(--page-shadow);font-family:var(--page-font);font-optical-sizing:auto;border-radius:3px;margin:0 auto;padding:80px min(92px,10%) 104px;font-size:17.5px;line-height:1.78}.rt-content.rt-page:focus,.rt-content.rt-page:focus-visible{box-shadow:var(--page-shadow);outline:none}.rt-content.rt-page p{margin:0 0 .85em}.rt-content.rt-page h1,.rt-content.rt-page h2,.rt-content.rt-page h3{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;border-bottom:0;font-weight:600}.rt-content.rt-page h1{text-align:center;margin:.4em 0 .9em;font-size:1.85em}.rt-content.rt-page blockquote{border-left-color:color-mix(in oklab, var(--accent) 45%, transparent);color:inherit;background:0 0;font-style:italic}.rt-content.rt-page p.is-editor-empty:first-child:before{font-style:italic}.rt-suggest{background:color-mix(in oklab, var(--warn) 18%, transparent);-webkit-text-decoration:underline dotted color-mix(in oklab, var(--warn) 90%, transparent);text-decoration:underline dotted color-mix(in oklab, var(--warn) 90%, transparent);text-underline-offset:3px;cursor:text;border-radius:2px;text-decoration-thickness:2px}.rt-suggest.ambiguous{background:repeating-linear-gradient(135deg, color-mix(in oklab, var(--warn) 24%, transparent) 0 6px, color-mix(in oklab, var(--warn) 10%, transparent) 6px 12px)}.rt-time{text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, var(--info) 70%, transparent);text-decoration-color:color-mix(in oklab, var(--info) 70%, transparent);text-underline-offset:3px;text-decoration-thickness:2px}.rt-suggest-acts{vertical-align:.1em;-webkit-user-select:none;user-select:none;gap:2px;margin:0 2px 0 3px;display:inline-flex}.rt-suggest-act{border:1px solid color-mix(in oklab, var(--warn) 45%, transparent);background:var(--page,var(--surface));width:20px;height:20px;color:var(--page-text,var(--text));font:600 11px/1 var(--font-ui);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-radius:999px;place-items:center;padding:0;display:inline-grid}.rt-suggest-act.accept:hover{background:var(--ok);border-color:var(--ok);color:#fff}.rt-suggest-act.ignore:hover{background:color-mix(in oklab, var(--warn) 24%, transparent)}.rt-suggest-swatch{background:color-mix(in oklab, var(--warn) 18%, transparent);border-bottom:2px dotted var(--warn);border-radius:2px;width:14px;height:10px}.rt-conflict{background:color-mix(in oklab, var(--danger) 13%, transparent);-webkit-text-decoration:underline solid var(--danger);text-decoration:underline solid var(--danger);text-underline-offset:3px;cursor:text;border-radius:2px;text-decoration-thickness:2px}.rt-conflict .rt-time{text-decoration-color:#0000}.rt-time:has(.rt-conflict){text-decoration-color:#0000}.rt-setting-conflict .rt-ref-link{color:var(--danger);text-decoration-color:#0000}.rt-ref-link:has(.rt-setting-conflict){color:var(--danger);text-decoration-color:#0000}.rt-suggest-acts.conflict .rt-suggest-act{border-color:color-mix(in oklab, var(--danger) 45%, transparent)}.rt-suggest-acts.conflict .rt-suggest-act.ignore:hover{background:color-mix(in oklab, var(--danger) 18%, transparent)}.rt-suggest-act.text{white-space:nowrap;width:auto;padding:0 7px;font-weight:500}.rt-suggest-act.other:hover{background:color-mix(in oklab, var(--danger) 14%, transparent)}.rt-conflict-swatch{background:color-mix(in oklab, var(--danger) 16%, transparent);border-bottom:2px solid var(--danger);border-radius:2px;width:14px;height:10px}.rt-tool.rt-conflicts-btn{color:var(--danger)}.rt-document.quiet-confirmed .rt-ref-link:not(.unknown){color:inherit;font-weight:inherit}.rt-document.quiet-confirmed .rt-time,.rt-document.quiet-confirmed .rt-state-set{text-decoration-color:#0000}.rt-document.quiet-confirmed .rt-ref.known{font-weight:inherit;background:0 0}.rt-document.quiet-confirmed .rt-span-bar:not(:hover){background:0 0}.rt-document.quiet-confirmed .rt-span-bar:not(:hover) .rt-span-tag{opacity:0}.rt-document.quiet-suggest .rt-suggest:not(.rt-revealed){background:0 0;text-decoration:none}.rt-document.quiet-suggest .rt-suggest-acts:not(.conflict):not(.revealed){display:none}.rt-document.quiet-confirmed:not(.quiet-conflict) .rt-setting-conflict .rt-ref-link{color:var(--danger)}.rt-document.quiet-confirmed:not(.quiet-conflict) .rt-ref-link:has(.rt-setting-conflict){color:var(--danger)}.rt-document.quiet-conflict .rt-conflict:not(.rt-revealed){background:0 0;text-decoration:none}.rt-document.quiet-conflict .rt-ref.unknown{border-bottom-color:#0000}.rt-document.quiet-conflict .rt-ref-link.unknown{text-decoration-color:#0000}.rt-document.quiet-conflict .rt-suggest-acts.conflict:not(.revealed){display:none}.seg.marks-view{padding:2px}.seg.marks-view .seg-btn{padding:3px 9px}.marks-sample{font:600 13px/1.3 var(--font-page);background:bottom/100% 2px no-repeat;padding-bottom:2px;display:inline-block}.marks-sample.all{background-image:linear-gradient(90deg, var(--ref-link) 0 33%, var(--warn) 33% 67%, var(--danger) 67%)}.marks-sample.conflicts{background-image:linear-gradient(var(--danger), var(--danger))}.rt-review-bar{border-bottom:1px solid var(--border);background:var(--warn-soft);align-items:center;gap:8px;padding:7px 18px;font-size:13px;display:flex}.term-chip.name{color:var(--text-muted);cursor:default;border-style:dashed}.term-chip .chip-x{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;margin:0 -4px 0 4px;padding:0 2px}.term-chip .chip-x:hover{color:var(--danger)}.rt-field-host{position:relative}.rt-remover-layer{pointer-events:none;position:absolute;inset:0}.rt-ref-remove{z-index:2;border:1px solid var(--border-strong);background:var(--surface);width:16px;height:16px;color:var(--text-muted);font:600 9.5px/1 var(--font-ui);box-shadow:var(--shadow-xs);cursor:pointer;pointer-events:auto;border-radius:999px;place-items:center;padding:0;animation:.12s cubic-bezier(.4,0,.2,1) rb-in;display:grid;position:absolute}.rt-ref-remove:hover{border-color:var(--danger);background:var(--danger);color:#fff}.rt-link-target{background:color-mix(in oklab, var(--accent) 16%, transparent);box-shadow:0 0 0 2px color-mix(in oklab, var(--accent) 16%, transparent);border-radius:2px}.doc-editor.page-light .rt-content.rt-page{--page:var(--lt-page);--page-text:var(--lt-text);--page-shadow:var(--lt-page-shadow), inset 0 0 90px color-mix(in oklab, var(--c-stone) 22%, transparent);--text-muted:var(--lt-text-muted);--text-faint:var(--lt-text-faint);--border:var(--lt-border);--border-strong:var(--lt-border-strong);--surface-2:var(--lt-surface-2);--accent:var(--lt-accent);--accent-soft:var(--lt-accent-soft);--ref-link:var(--lt-ref);--warn:var(--lt-warn);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.doc-editor.page-dark .rt-content.rt-page{--page:var(--dk-page);--page-text:var(--dk-text);--page-shadow:var(--dk-page-shadow), inset 0 0 90px #0000;--text-muted:var(--dk-text-muted);--text-faint:var(--dk-text-faint);--border:var(--dk-border);--border-strong:var(--dk-border-strong);--surface-2:var(--dk-surface-2);--accent:var(--dk-accent);--accent-soft:var(--dk-accent-soft);--ref-link:var(--dk-ref);--warn:var(--dk-warn);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.rt-content.rt-page{transition:background-color .28s cubic-bezier(.4,0,.2,1),color .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1)}.seg-btn.icon{place-items:center;padding:5px 9px;display:inline-grid}@media (width<=900px){.rt-scroll.rt-desk{padding:12px 8px 40px}.rt-content.rt-page{min-height:0;padding:32px 22px 48px}}.ref-browser{z-index:60;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);flex-direction:column;gap:8px;padding:12px;animation:.16s cubic-bezier(.4,0,.2,1) rb-in;display:flex;position:fixed}@keyframes rb-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ref-browser{animation:none}}.rb-head{color:var(--text-muted);align-items:center;gap:8px;display:flex}.rb-heading{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rb-linked{background:var(--accent-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;display:flex}.btn.danger-text{color:var(--danger)}input[type=search].rb-search{width:100%}.rb-filters{flex-wrap:wrap;gap:5px;display:flex}.rb-chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;display:inline-flex}.rb-chip:hover{background:var(--surface-2)}.rb-chip.on{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);font-weight:600}.rb-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.rb-list{flex-direction:column;flex:auto;gap:6px;min-height:60px;display:flex;overflow-y:auto}.rb-section{flex-direction:column;gap:1px;display:flex}.rb-section-title{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;font-size:11px;font-weight:700}.rb-item{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:5px 8px;display:flex}.rb-item.active{background:var(--accent-soft)}.rb-avatar{background:color-mix(in oklab, var(--c,var(--accent)) 16%, var(--surface-2));width:34px;height:34px;color:var(--c,var(--accent));border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid;overflow:hidden}.rb-avatar img{object-fit:cover;object-position:center 30%;width:100%;height:100%}.rb-main{flex-direction:column;flex:auto;min-width:0;display:flex}.rb-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rb-sub{min-width:0;color:var(--text-muted);white-space:nowrap;align-items:center;gap:5px;font-size:11.5px;display:flex;overflow:hidden}.rb-text{text-overflow:ellipsis;overflow:hidden}.rb-none{padding:8px}.rb-new{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.rb-new-types{flex-wrap:wrap;gap:6px;display:flex}.rb-new-type{border:1px dashed var(--border-hover);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.rb-new-type:hover:not(:disabled){background:var(--accent-soft)}.rb-new-type:disabled{opacity:.4;cursor:default}.rb-all{align-items:center}.rb-kind-block{border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:6px;padding-bottom:14px;display:flex}.rb-check{border:1.5px solid var(--border-strong);width:18px;height:18px;color:var(--accent-contrast);border-radius:5px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.rb-check.on{border-color:var(--info);background:var(--info)}.rb-item.picked{background:color-mix(in oklab, var(--info) 10%, transparent)}.rb-item.picked.active{background:color-mix(in oklab, var(--info) 16%, transparent)}.rb-row{align-items:center;gap:2px;display:flex}.rb-row>.rb-item{flex:auto;min-width:0}.rb-pin{width:30px;height:30px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;transition:opacity .12s,color .12s,background .12s;display:grid}.rb-row:hover .rb-pin,.rb-row.active .rb-pin,.rb-pin:focus-visible,.rb-pin.on{opacity:1}.rb-pin:hover{background:var(--surface-2);color:var(--text)}.rb-pin.on{color:var(--accent)}.rb-pin.on svg{fill:currentColor;fill-opacity:.3}@media (hover:none){.rb-pin{opacity:1}}.rt-body{flex:auto;min-height:0;display:flex;position:relative}.rt-body>.rt-scroll{min-width:0}.ref-pins{background:var(--desk);flex-direction:column;flex:none;align-items:center;gap:10px;padding:36px 14px 16px 2px;display:flex;overflow-y:auto}.rp-pin{border:2px solid color-mix(in oklab, var(--c,var(--accent)) 70%, transparent);background:color-mix(in oklab, var(--c,var(--accent)) 16%, var(--surface-2));width:40px;height:40px;color:var(--c,var(--accent));font:inherit;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;font-weight:800;transition:transform .12s,box-shadow .12s;display:grid;overflow:hidden}.rp-pin img{object-fit:cover;object-position:center 30%;width:100%;height:100%}.rp-pin:hover,.rp-pin.open{box-shadow:var(--shadow-lg);transform:scale(1.08)}.rp-pin.open{border-color:var(--c,var(--accent))}.rp-item{flex:none;position:relative}.rp-remove{z-index:1;border:1px solid var(--border-strong);background:var(--surface);width:17px;height:17px;color:var(--text-muted);font:600 9.5px/1 var(--font-ui);box-shadow:var(--shadow-xs);cursor:pointer;opacity:0;border-radius:999px;place-items:center;padding:0;transition:opacity .12s;display:grid;position:absolute;top:-4px;right:-4px}.rp-item:hover .rp-remove,.rp-remove:focus-visible{opacity:1}.rp-remove:hover{border-color:var(--danger);background:var(--danger);color:#fff}@media (hover:none){.rp-remove{opacity:1}}.num-input{width:72px}.time-editor{z-index:60;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);max-height:calc(100vh - 16px);color:var(--text);font:13px/1.4 var(--font-ui);box-shadow:var(--shadow-lg);flex-direction:column;gap:8px;padding:12px;animation:.14s cubic-bezier(.4,0,.2,1) rb-in;display:flex;position:fixed;overflow-y:auto}.te-head{align-items:center;gap:8px;display:flex}.te-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.te-actions{align-items:center}@media (prefers-reduced-motion:reduce){.time-editor{animation:none}}.ref-pin-menu{z-index:60;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);font:13px/1.4 var(--font-ui);box-shadow:var(--shadow-lg);flex-direction:column;gap:8px;padding:10px;animation:.14s cubic-bezier(.4,0,.2,1) rb-in;display:flex;position:fixed}.rpm-head{flex-direction:column;gap:1px;min-width:0;padding:0 2px;display:flex}.rpm-name,.rpm-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rpm-opt,.rpm-span{border:1px solid var(--border);border-radius:8px}.rpm-opt{background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;padding:7px 10px;font-weight:600}.rpm-span{flex-direction:column;gap:6px;padding:7px 10px 9px;display:flex}.rpm-label{font-weight:600}.rpm-opt.suggest,.rpm-span.suggest{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.rpm-roles{flex-wrap:wrap;gap:4px;display:flex}.rpm-role{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600}.rpm-opt:hover,.rpm-role:hover{background:var(--accent-soft)}.rpm-unpin{align-self:flex-end}@media (width<=900px){.ref-pins{padding:12px 8px 16px 0}.rp-pin{width:34px;height:34px}}@media (prefers-reduced-motion:reduce){.ref-pin-menu{animation:none}.rp-pin{transition:none}}.rb-assign{justify-content:flex-end;display:flex}.rb-roles .seg-btn{padding:4px 9px;font-size:12.5px}.rb-know{align-items:center;gap:8px;display:flex}.rb-know-hint{max-width:100%;line-height:1.4}.rt-page-host{position:relative}.rt-span-gutter{pointer-events:none;position:absolute;inset:0}.rt-span-bar{background:color-mix(in oklab, var(--info) 55%, transparent);pointer-events:auto;cursor:pointer;width:3px;transition:background-color var(--dur-fast) var(--ease);border-radius:2px;position:absolute}.rt-span-bar:hover{background:var(--info)}.rt-span-tag{align-items:center;gap:3px;display:flex;position:absolute;right:calc(100% + 6px)}.rt-span-remove{border:1px solid var(--border-strong);background:var(--surface);width:17px;height:17px;color:var(--text-muted);font:600 10px/1 var(--font-ui);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:none}.rt-span-bar:hover .rt-span-remove{display:grid}.rt-span-remove:hover{border-color:var(--danger);background:var(--danger);color:#fff}.rt-span-label{border:1px solid color-mix(in oklab, var(--info) 35%, transparent);background:color-mix(in oklab, var(--info) 9%, var(--surface));color:var(--info);font:600 11px/1.5 var(--font-ui);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:999px;padding:1px 7px;overflow:hidden}.rt-span-bar:hover .rt-span-label{border-color:var(--info)}.rt-content .rt-span:hover,.rt-span-focus{background:color-mix(in oklab, var(--info) 11%, transparent);border-radius:2px}.rb-hint{text-align:right}.term-picker .tp-item{padding:7px 10px}.term-picker .danger-text{color:var(--danger)}.cat-section{border:1px solid var(--border);border-left:3px solid var(--cat,var(--border-strong));border-radius:var(--radius-xl);background:color-mix(in oklab, var(--surface) 45%, transparent);padding:8px 18px 18px;transition:border-color .15s,box-shadow .15s,background-color .15s;position:relative}.cat-head[draggable=true]{cursor:grab}.cat-head[draggable=true]:active{cursor:grabbing}.cat-grip{width:14px;color:var(--text-muted);opacity:.55;flex:none;place-items:center;margin-left:-6px;transition:opacity .15s;display:inline-grid}.cat-head:hover .cat-grip{opacity:1}.cat-section.cat-dragging{opacity:.45}.design-cards.cat-sorting .entity-card{pointer-events:none}.cat-section.drop-before:before,.cat-section.drop-after:after{content:"";background:var(--accent);height:3px;box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent);pointer-events:none;border-radius:2px;position:absolute;left:4px;right:4px}.cat-section.drop-before:before{top:-9px}.cat-section.drop-after:after{bottom:-9px}.cat-section.rest{background:0 0;border-style:dashed;border-left-width:1px}.cat-section.new{border-style:dashed;border-left-width:1px}.cat-section.over{border-color:var(--cat,var(--accent));background:color-mix(in oklab, var(--cat,var(--accent)) 7%, var(--surface));box-shadow:0 0 0 3px color-mix(in oklab, var(--cat,var(--accent)) 24%, transparent)}.cat-head{align-items:center;gap:8px;min-height:36px;margin-bottom:8px;display:flex}.cat-section:not(:has(.design-grid)) .cat-head{margin-bottom:0}.cat-title{color:var(--text);font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.005em;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 4px;font-size:17px;font-weight:600}.cat-title.static{color:var(--text-muted);cursor:default}.cat-count{background:var(--surface-2);min-width:22px;color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 7px;font-size:11.5px;font-weight:700}.cat-tools{opacity:.55;align-items:center;gap:2px;transition:opacity .15s;display:inline-flex}.cat-head:hover .cat-tools,.cat-tools:focus-within{opacity:1}.cat-color{display:inline-flex;position:relative}.cat-dot{border:2px solid var(--surface);width:16px;height:16px;box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;border-radius:50%;padding:0}.cat-dot.static{background:var(--border-strong);cursor:default}.cat-palette{z-index:30;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);grid-template-columns:repeat(4,22px);gap:6px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:-6px}input[type].cat-rename,input.cat-rename{width:280px;height:30px;padding:3px 8px;font-weight:700}.cat-empty{border:1.5px dashed var(--border-strong);border-radius:var(--radius);text-align:center;grid-column:1/-1;padding:18px}.entity-card.dragging{opacity:.4}.design-cards.dragging .entity-card:hover{box-shadow:none;transform:none}.entity-category{align-items:center;gap:8px;display:flex}.entity-category select{width:auto;min-width:180px}@media (width<=1240px){.topbar .btn-text{display:none}.topbar-start,.topbar-end{gap:6px}}@media (width<=1040px){.topbar .search{width:150px}.topbar .brand-name{font-size:19px}}@media (width<=880px){.topbar{flex-wrap:wrap;gap:8px;display:flex}.topbar-end{margin-left:auto}}.canvas-wrap.with-palette .legend{left:auto;right:12px}.track-panel{border-top:1px solid var(--border);background:var(--surface);z-index:3;flex-direction:column;flex:none;display:flex;position:relative}.track-head{align-items:center;gap:10px;padding:4px 10px;font-size:13px;display:flex}.track-modes{gap:2px;display:inline-flex}.track-modes .btn.active{background:var(--accent-soft);border-color:var(--accent)}.track-empty{padding:6px 12px 10px}.track-body{overflow:hidden auto}.track-rows{position:relative}.track-rows svg{display:block}.track-base{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 4}.track-line{stroke-width:3px;stroke-linecap:round;opacity:.75}.track-meeting{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:3 3}.track-selected{fill:color-mix(in oklab, var(--accent) 12%, transparent)}.track-stop{cursor:pointer}.track-stop circle,.track-stop rect{stroke:var(--surface);stroke-width:2px}.track-stop.present circle,.track-stop.present rect{opacity:.8}.track-stop.background circle,.track-stop.background rect{fill:var(--surface);stroke:currentColor;stroke-dasharray:3 2}.track-stop:hover circle,.track-stop:hover rect,.track-stop.selected circle,.track-stop.selected rect{stroke:var(--text)}.track-labels{pointer-events:none;width:170px;position:absolute;inset:0 auto 0 0}.track-label{background:linear-gradient(to right, var(--surface) 70%, transparent);max-width:170px;color:var(--text);font:600 12px/1 var(--font-ui);white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;cursor:pointer;border:0;align-items:center;gap:6px;padding:0 14px 0 10px;display:flex;position:absolute;left:0;overflow:hidden}.track-label:disabled{color:var(--text-muted);cursor:default;font-style:italic}.track-chip{border-radius:50%;flex:none;width:10px;height:10px}.time-axis-overlay{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.time-tick{stroke:color-mix(in oklab, var(--text) 30%, transparent);stroke-width:1px}.time-tick.major{stroke:color-mix(in oklab, var(--text) 55%, transparent)}.time-tick-label{fill:var(--text-muted);font:500 11px/1 var(--font-ui);font-variant-numeric:tabular-nums}.time-tick-label.major{fill:var(--text);font-weight:650}.time-break line{stroke:var(--text-muted);stroke-width:1.5px}.time-break text{fill:var(--text-muted);font:italic 500 11px/1 var(--font-ui)}.time-overview{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in oklab, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:8px;padding:4px 6px;display:flex;top:10px;left:12px;right:72px}.time-switch{color:var(--text-muted);font:600 12px/1 var(--font-ui);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;align-items:center;gap:7px;padding:3px 8px 3px 4px;display:inline-flex}.time-switch:hover{color:var(--text);border-color:var(--border)}.time-switch:focus-visible{box-shadow:0 0 0 3px var(--focus);outline:none}.time-switch-track{background:var(--border-strong);width:28px;height:16px;transition:background-color var(--dur-fast) var(--ease);border-radius:999px;position:relative}.time-switch-knob{background:var(--surface);width:12px;height:12px;transition:transform var(--dur-fast) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.time-switch.on{color:var(--text)}.time-switch.on .time-switch-track{background:var(--accent)}.time-switch.on .time-switch-knob{transform:translate(12px)}.time-overview-strip{cursor:pointer;touch-action:none;flex:auto;min-width:0;height:22px;position:relative}.time-overview-strip svg{display:block}.time-overview-axis{stroke:var(--border-strong);stroke-width:2px}.time-overview-break{stroke:var(--surface);stroke-width:3px;stroke-dasharray:2 3}.time-overview-window{border:1.5px solid var(--accent);background:color-mix(in oklab, var(--accent) 10%, transparent);cursor:grab;border-radius:3px;position:absolute;top:0;bottom:0}.time-overview-window:active{cursor:grabbing}.project-name{min-width:0;color:var(--text);font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.012em;overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:17px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.avatar{background:var(--accent);color:var(--accent-contrast);font-family:var(--font-display);box-shadow:0 0 0 1px color-mix(in oklab, var(--border-strong) 70%, transparent);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:600;line-height:1;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.btn.profile-link{border-radius:999px;gap:8px;padding:4px 12px 4px 4px}.topbar .btn.profile-link{padding-right:10px}@media (width<=1240px){.topbar .btn.profile-link{padding:4px}}.profile-page{max-width:880px}.profile-card{align-items:flex-start;gap:24px;display:flex}.profile-card .avatar{box-shadow:0 0 0 4px var(--surface), 0 0 0 5px var(--border)}.profile-card-body{flex:auto;gap:8px;min-width:0}.profile-card-body h2{margin:0}.types-panel{gap:10px}.landing{background:radial-gradient(1100px 640px at 82% -12%, color-mix(in oklab, var(--surface) 85%, transparent), transparent 70%), var(--bg);min-height:100%;color:var(--text)}.landing-wrap{max-width:1160px;margin:0 auto;padding:0 28px}.landing-head{justify-content:space-between;align-items:center;gap:16px;padding:22px 0;display:flex}.landing-brand{min-width:0;color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.landing-brand .brand-name{font-size:42px}.landing-brand .brand-mark{max-width:200px;height:52px}.landing-nav{align-items:center;gap:8px;display:flex}.landing .btn.big{border-radius:var(--radius);padding:11px 20px;font-size:15.5px}.landing-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:56px;padding:52px 0 88px;display:grid}.landing-eyebrow{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px;font-size:13px;font-weight:650}.landing-hero h1{letter-spacing:-.03em;text-wrap:balance;margin:0 0 22px;font-size:clamp(40px,5.2vw,66px);font-weight:600;line-height:1.03}.landing-lead{max-width:33em;color:var(--text-muted);text-wrap:pretty;margin:0 0 30px;font-size:18.5px;line-height:1.6}.landing-cta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.landing-note{margin:14px 0 0}.landing-closed{flex-basis:100%}@media (prefers-reduced-motion:no-preference){.landing-hero-text{animation:landing-rise .7s var(--ease-out) both}.hero-visual{animation:landing-rise .9s 80ms var(--ease-out) both}}@keyframes landing-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero-visual{-webkit-user-select:none;user-select:none;padding:0 26px 64px 0;position:relative}.hv-window{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden}.hv-top{border-bottom:1px solid var(--border);background:var(--chrome);align-items:center;gap:14px;padding:10px 14px;display:flex}.hv-dots{gap:6px;display:flex}.hv-dots i{background:var(--border-strong);border-radius:50%;width:9px;height:9px}.hv-tabs{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);border-radius:999px;gap:2px;margin:0 auto;padding:3px;font-size:11.5px;font-weight:600;display:inline-flex}.hv-tabs span{border-radius:999px;padding:3px 11px}.hv-tabs .on{background:var(--accent);color:var(--accent-contrast)}.hv-stage{background:var(--canvas);padding:24px 22px 20px}.hv-timeline{height:128px;font-size:11.5px;position:relative}.hv-axis{background:var(--border-strong);border-radius:2px;height:3px;position:absolute;top:88px;left:4%;right:4%}.hv-tick{background:var(--border-strong);border-radius:1px;width:2px;height:19px;margin-left:-1px;position:absolute;top:80px}.hv-flag{color:var(--text-muted);white-space:nowrap;font-size:10.5px;font-weight:650;position:absolute;top:104px;transform:translate(-50%)}.hv-event{border:3px solid var(--accent);background:var(--surface);border-radius:50%;width:19px;height:19px;margin-left:-9.5px;position:absolute;top:80px}.hv-event b{white-space:nowrap;font-weight:650;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.hv-period{border:1px solid color-mix(in oklab, var(--info) 55%, transparent);background:var(--info-soft);border-radius:6px;height:22px;position:absolute;top:52px}.hv-period.lane2{border-color:color-mix(in oklab, var(--warn) 55%, transparent);background:var(--warn-soft);top:24px}.hv-period b{text-overflow:ellipsis;white-space:nowrap;padding:0 8px;font-weight:650;line-height:20px;display:block;overflow:hidden}.hv-band{border-top:1px dashed var(--border-strong);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;padding-top:14px;display:grid}.hv-chapter{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:8px 9px 10px}.hv-chapter-title{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:7px;font-size:10.5px;font-weight:700;display:block;overflow:hidden}.hv-tiles{gap:5px;display:flex}.hv-tiles i{background:var(--info-soft);width:24px;height:24px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--info) 35%, transparent);border-radius:5px}.hv-tiles i.t1{background:var(--warn-soft);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--warn) 35%, transparent)}.hv-tiles i.t2{background:var(--ok-soft);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--ok) 35%, transparent)}.hv-tiles i.t3{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-strong)}.hv-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);align-items:center;gap:10px;padding:10px 16px 10px 10px;display:flex;position:absolute;bottom:18px;left:-22px}.hv-avatar{background:var(--accent);width:36px;height:36px;color:var(--accent-contrast);font-family:var(--font-display);border-radius:50%;place-items:center;font-weight:600;display:grid}.hv-card b{font-size:13px;display:block}.hv-card small{color:var(--text-muted);font-size:11.5px}.hv-page{border:1px solid var(--border);background:var(--page);width:46%;color:var(--page-text);box-shadow:var(--shadow-lg);font-family:var(--page-font);border-radius:6px;padding:16px 18px 18px;position:absolute;bottom:0;right:0}.hv-page-title{font-family:var(--font-display);margin-bottom:6px;font-size:15px;font-weight:600;display:block}.hv-page p{margin:0 0 8px;font-size:12.5px;line-height:1.6}.hv-page mark{background:color-mix(in oklab, var(--ref-link) 14%, transparent);color:var(--ref-link);border-radius:3px;padding:0 2px}.hv-line{background:var(--border);border-radius:3px;height:6px;margin-top:7px;display:block}.hv-line.short{width:58%}.landing-term{justify-content:center;padding:46px 0 48px;display:flex;position:relative}.landing-term:before,.landing-term:after{content:"";background:linear-gradient(90deg, transparent, var(--border-strong) 30%, var(--border-strong) 70%, transparent);width:min(560px,86%);height:1px;position:absolute;left:50%;transform:translate(-50%)}.landing-term:before{top:0}.landing-term:after{bottom:0}.landing-term dl{margin:0}.landing-term dt{color:var(--text-muted);font-family:var(--font-display);font-optical-sizing:auto;margin-bottom:14px;font-size:19px;font-weight:400}.landing-term-word{color:var(--text);letter-spacing:-.01em;font-weight:600}.landing-term-origin{font-style:italic}.landing-term dd{color:var(--text-muted);font-family:var(--page-font);align-items:center;gap:12px;margin:0 0 0 1.3em;padding:4px 0;font-size:16px;font-style:italic;font-weight:400;line-height:1.5;display:flex}.landing-term dd:before{content:"";background:var(--text-faint);border-radius:50%;flex:none;width:5px;height:5px}.landing-section{border-top:1px solid var(--border);padding:72px 0}.landing-section h2{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(28px,3vw,38px)}.landing-beta{border-top:0}.landing-beta-card{border-radius:var(--radius-xl);background:var(--accent);color:var(--accent-contrast);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:52px 32px;display:flex}.landing-beta-card h2{color:inherit;margin:0}.landing-beta-card p{max-width:36em;color:color-mix(in oklab, var(--accent-contrast) 80%, transparent);margin:0 0 10px;font-size:16.5px;line-height:1.6}.landing-beta-card .beta-pill{border-color:color-mix(in oklab, var(--accent-contrast) 40%, transparent);color:inherit;background:0 0}.landing-beta-card .landing-cta{justify-content:center}.landing-beta-card .btn.primary{border-color:var(--accent-contrast);background:var(--accent-contrast);color:var(--accent)}.landing-beta-card .btn.primary:hover:not(:disabled){background:color-mix(in oklab, var(--accent-contrast) 88%, var(--accent))}.landing-beta-card .notice{color:var(--text)}@media (width<=980px){.landing-hero{grid-template-columns:minmax(0,1fr);gap:44px;padding-top:24px}.hero-visual{max-width:640px}}@media (width<=560px){.landing-wrap{padding:0 16px}.landing-head .beta-pill,.landing-nav-register{display:none}.landing-brand .brand-name{font-size:22px}.landing-brand .brand-mark{height:26px}.landing-section{padding:52px 0}.landing-term{padding:36px 0 38px}.landing-term dd{margin-left:.4em}.hero-visual{padding:0 0 54px}.hv-page{display:none}.hv-card{bottom:6px;left:12px}.hv-stage{padding:18px 12px 14px}.hv-tabs span{padding:3px 7px}}.home{background:radial-gradient(1100px 620px at 82% -12%, color-mix(in oklab, var(--surface) 85%, transparent), transparent 70%), var(--bg);min-height:100%}.home-wrap{max-width:1160px;margin:0 auto;padding:0 28px 72px}.home-head{justify-content:space-between;align-items:center;gap:16px;padding:22px 0;display:flex}.home-nav{align-items:center;gap:8px;display:flex}.home-intro{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 32px;padding:40px 0 52px;display:flex}.home-intro h1{letter-spacing:-.028em;margin:0;font-size:clamp(34px,4.2vw,50px);line-height:1.04}.home-summary{color:var(--text-muted);margin:10px 0 0;font-size:15.5px}.home .btn.big{border-radius:var(--radius);padding:10px 18px;font-size:15px}.story-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;display:grid}.story-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-xs);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-direction:column;display:flex;position:relative;overflow:hidden}.story-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-3px)}.story-card-link{color:inherit;flex-direction:column;flex:auto;text-decoration:none;display:flex}.story-card-link:focus-visible{outline:2px solid var(--focus);outline-offset:-3px;border-radius:var(--radius-xl)}.story-cover{background:color-mix(in oklab, var(--cover-ink) var(--cover-tint), var(--surface));height:122px;box-shadow:inset 8px 0 0 color-mix(in oklab, var(--cover-ink) 30%, transparent);position:relative;overflow:hidden}.story-cover.v0{--cover-ink:var(--info)}.story-cover.v1{--cover-ink:var(--warn)}.story-cover.v2{--cover-ink:var(--ok)}.story-cover.v3{--cover-ink:var(--danger)}.story-cover.v4{--cover-ink:var(--text-muted)}.story-monogram{color:var(--cover-ink);font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.04em;opacity:.3;font-size:104px;font-weight:600;line-height:1;position:absolute;bottom:-18px;left:26px}.story-body{flex-direction:column;gap:6px;padding:16px 18px 18px;display:flex}.story-title{font-family:var(--font-display);letter-spacing:-.01em;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:19px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.story-meta{color:var(--text-muted);font-size:13px}.story-actions{opacity:0;transition:opacity var(--dur-fast) var(--ease);gap:6px;display:flex;position:absolute;top:10px;right:10px}.story-card:hover .story-actions,.story-actions:focus-within{opacity:1}.story-action{background:color-mix(in oklab, var(--surface) 85%, transparent);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border:1px solid #0000;border-radius:9px;place-items:center;display:grid}.story-action:hover{border-color:var(--border);color:var(--text)}.story-action.danger:hover{color:var(--danger)}.story-action:focus-visible{outline:2px solid var(--focus);outline-offset:1px}@media (hover:none){.story-actions{opacity:1}}.story-settings h3{margin:0}.story-new{border:1.5px dashed var(--border-strong);border-radius:var(--radius-xl);min-height:214px;color:var(--text-muted);font:inherit;cursor:pointer;transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease), background-color var(--dur) var(--ease);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-weight:600;display:flex}.story-new:hover{border-color:var(--accent);background:color-mix(in oklab, var(--surface) 55%, transparent);color:var(--text)}.story-new:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.story-new-plus{background:var(--surface-2);border-radius:50%;place-items:center;width:44px;height:44px;font-size:24px;font-weight:400;line-height:1;display:grid}.shelves{flex-direction:column;gap:18px;display:flex}.shelf{border:1px solid var(--border);border-radius:var(--radius-xl);background:color-mix(in oklab, var(--surface) 45%, transparent);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background-color var(--dur) var(--ease)}.shelf.over{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 6%, var(--surface));box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 22%, transparent)}.shelf-head{align-items:center;gap:8px;padding:12px 18px;display:flex}.shelf-title{color:var(--text);font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.012em;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 4px;font-size:21px;font-weight:600}.shelf-title:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.shelf-count{background:var(--surface-3);min-width:24px;color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.shelf-tools{opacity:.55;transition:opacity var(--dur-fast) var(--ease);gap:2px;display:flex}.shelf-head:hover .shelf-tools,.shelf-tools:focus-within{opacity:1}.shelf-rename{min-width:220px;font:inherit;font-family:var(--font-display);padding:4px 8px;font-size:19px;font-weight:600}.shelf-body{padding:4px 18px 20px}.shelf-new{align-self:flex-start}.shelf-tools{flex-wrap:wrap;align-items:flex-start;gap:8px}label.shelf-new{cursor:pointer}label.shelf-new.disabled{opacity:.6;cursor:progress}.shelf-new-row{display:flex}.shelf-new-row .shelf-rename{width:min(420px,100%)}.shelf .story-card{-webkit-user-select:none;user-select:none}.story-card.dragging{opacity:.45}.story-card.drop-here{box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 40%, transparent)}.project-episode{color:var(--text-muted);font-family:var(--font-ui);letter-spacing:0;margin-top:2px;font-size:12px;font-weight:500;display:block}.ref-icon{vertical-align:-1px;flex:none}.entity-ref{color:var(--accent);display:block}.ec-ref{color:var(--accent);vertical-align:1px;margin-left:5px;display:inline-flex}.li-entry.present{opacity:.6;cursor:default}.episode-refs-tools{align-items:center;gap:6px;margin:2px 0 8px}.story-episode{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}button.story-card-link{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}button.story-card-link:disabled{cursor:progress}.story-cover.tutorial{--cover-ink:var(--warn);color:color-mix(in oklab, var(--cover-ink) 75%, var(--text));place-items:center;display:grid}.tutorial-restart{align-self:flex-start;margin:-6px 0 14px 12px}@media (prefers-reduced-motion:reduce){.story-card,.story-card:hover{transform:none}}@media (width<=560px){.home-wrap{padding:0 16px 56px}.home-head .beta-pill{display:none}.home-intro{padding:22px 0 36px}.shelf-head{padding:10px 12px}.shelf-body{padding:2px 12px 14px}}.side-top{flex:none;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.side-top-text{min-width:0}.side-title{overflow-wrap:anywhere;margin:0}.side-top-tools{flex:none;align-items:center;gap:6px;padding-top:3px}.btn.side-menu-btn{height:26px;color:var(--text-muted);padding:0 8px;font-size:17px;line-height:1}.side-panel h4{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);margin:4px 0 0;font-family:inherit;font-size:12px;font-weight:650}.side-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;flex:none;gap:2px;display:flex;overflow-x:auto}.side-tab{border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--text-muted);font:inherit;cursor:pointer;transition:color var(--dur-fast) var(--ease);background:0 0;border:0;flex:none;align-items:center;gap:6px;padding:8px 9px 10px;font-weight:600;display:inline-flex;position:relative}.side-tab:hover,.side-tab.active{color:var(--text)}.side-tab.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.side-tab:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.side-tab-count{background:var(--surface-2);min-width:20px;color:var(--text-muted);text-align:center;border-radius:999px;padding:0 6px;font-size:11.5px;font-weight:700;line-height:18px}.side-tab.active .side-tab-count{background:var(--accent);color:var(--accent-contrast)}.side-panel{flex-direction:column;gap:14px;display:flex}.scene-objects{gap:14px}.object-areas{flex-direction:column;gap:16px;display:flex}.object-area-head{color:var(--text-muted);font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 6px;font-size:11.5px;font-weight:700;display:flex}.object-count{color:var(--text-faint);letter-spacing:0;font-weight:600}.object-category{color:var(--text-faint);margin:8px 0 4px 4px;font-size:12px;font-weight:600}.object-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.object-item{border-radius:var(--radius);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:6px 8px;display:flex}.object-item:hover:not(:disabled){background:var(--surface-2)}.object-item:focus-visible{outline:2px solid var(--focus);outline-offset:-1px}.object-item:disabled{cursor:default}.object-avatar{background:color-mix(in oklab, var(--c,var(--text-muted)) 18%, var(--surface));width:34px;height:34px;color:var(--c,var(--text));font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid;overflow:hidden}.object-avatar img{object-fit:cover;width:100%;height:100%;display:block}.object-main{flex-direction:column;flex:auto;min-width:0;display:flex}.object-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.object-text{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.object-state{color:var(--text-muted);flex:none;font-size:12px;font-weight:600}.object-item.pick:hover:not(:disabled) .object-state{color:var(--text)}.object-item.here .object-state{color:var(--ok)}.object-browser{gap:12px}.object-chips{flex-wrap:wrap;gap:6px;display:flex}.object-browser .object-areas{max-height:min(56vh,540px);padding-right:4px;overflow:auto}.guide-ring{z-index:305;border:2px solid var(--guide);pointer-events:none;border-radius:12px;animation:1.8s ease-in-out infinite guide-glow;position:fixed}.guide-ring.blink{animation:.45s ease-in-out 6 alternate guide-blink,1.8s ease-in-out 2.7s infinite guide-glow}@keyframes guide-glow{0%,to{box-shadow:0 0 0 3px color-mix(in oklab, var(--guide) 18%, transparent), 0 0 12px color-mix(in oklab, var(--guide) 30%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in oklab, var(--guide) 26%, transparent), 0 0 26px color-mix(in oklab, var(--guide) 55%, transparent)}}@keyframes guide-blink{0%{opacity:1}to{opacity:.12}}.guide-card{z-index:310;border:1px solid color-mix(in oklab, var(--guide) 45%, var(--border));border-radius:var(--radius-lg);background:var(--surface);width:min(340px,100vw - 24px);color:var(--text);box-shadow:var(--shadow-lg);flex-direction:column;gap:8px;padding:14px 16px 12px;display:flex;position:fixed}.guide-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.guide-badge{color:var(--guide);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.guide-text{white-space:pre-line;margin:0;font-size:14px;line-height:1.5}body.guide-deny,body.guide-deny *{cursor:not-allowed!important}.guide-card.nudge{animation:.36s cubic-bezier(.4,0,.2,1) guide-nudge}@keyframes guide-nudge{0%,to{transform:none}25%{transform:translate(-5px)}75%{transform:translate(5px)}}[data-guide-frozen]{-webkit-user-select:none;user-select:none}[data-guide-frozen] :is(input,textarea,select,button,[contenteditable]){opacity:.5;filter:saturate(.4)}.guide-wait{margin:0}.guide-foot{align-items:center;gap:8px;margin-top:2px;display:flex}.guide-progress{background:var(--surface-2);border-radius:2px;height:3px;overflow:hidden}.guide-progress>span{background:var(--guide);height:100%;transition:width .3s;display:block}@media (prefers-reduced-motion:reduce){.guide-card.nudge{animation:none}.guide-ring,.guide-ring.blink{box-shadow:0 0 0 4px color-mix(in oklab, var(--guide) 22%, transparent);animation:none}}.site-foot{border-top:1px solid var(--border);color:var(--text-muted);justify-content:center;padding:28px 16px 40px;font-size:13.5px;display:flex}.site-foot-links{flex-wrap:wrap;justify-content:center;gap:8px 18px;display:flex}.site-foot a{color:inherit;text-decoration:none}.site-foot a:hover,.site-foot a:focus-visible{color:var(--text);text-decoration:underline}.auth-page>.site-foot{justify-self:stretch;margin:0 -24px -24px}.profile-page>.site-foot{margin-top:24px}.info-page{flex-direction:column;min-height:100vh;display:flex}.info-page>.home-wrap{flex:1 0 auto;width:100%}.ref-glance{z-index:55;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);max-height:min(580px,100vh - 16px);color:var(--text);font:13px/1.45 var(--font-ui);box-shadow:var(--shadow-lg);flex-direction:column;gap:10px;padding:12px 14px;animation:.14s cubic-bezier(.4,0,.2,1) rb-in;display:flex;position:fixed;overflow-y:auto}.ref-glance>*{flex-shrink:0}@media (prefers-reduced-motion:reduce){.ref-glance{animation:none}}.rg-head{align-items:center;gap:10px;display:flex}.rb-avatar.rg-avatar{border-radius:10px;width:52px;height:52px;font-size:20px}.rg-main{flex-direction:column;flex:auto;min-width:0;display:flex}.rg-title{font:600 15px/1.25 var(--font-display);overflow-wrap:anywhere}.rg-sub{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:0 5px;font-size:12px;display:flex}.rg-summary{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.rg-fields{flex-direction:column;gap:3px;margin:0;display:flex}.rg-fields>div{grid-template-columns:minmax(70px,34%) 1fr;gap:8px;display:grid}.rg-fields dt{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rg-fields dd{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.rg-section{border-top:1px solid var(--border);flex-direction:column;gap:5px;padding-top:9px;display:flex}.rg-section h4{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;margin:0;font-size:11px;font-weight:700;display:flex}.rg-presence{font-family:var(--font-ui);background:var(--surface-2);color:var(--text-muted);letter-spacing:0;text-transform:none;border-radius:999px;flex:none;padding:1px 7px;font-size:11px;font-weight:600}.rg-presence.pov{background:var(--accent-soft);color:var(--accent)}.rg-presence.present{background:var(--info-soft);color:var(--info)}.rg-recent{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.rg-recent>li.muted{padding:0 6px}.rg-scene{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:4px 6px;display:flex}.rg-scene:hover,.rg-scene:focus-visible{background:var(--surface-2)}.rg-label{min-width:30px;color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.rg-scene-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.rg-know{background:var(--surface-2);color:var(--text-muted);border-radius:999px;flex:none;padding:1px 7px;font-size:11.5px}.rg-know.here{background:color-mix(in oklab, var(--info) 18%, transparent);color:var(--text)}.rg-know.later{background:color-mix(in oklab, var(--warn) 22%, transparent);color:var(--text)}.rg-foot{border-top:1px solid var(--border);align-items:center;gap:8px;padding-top:9px;display:flex}.scene-overview-layer{z-index:20;pointer-events:none;position:absolute;inset:0}.scene-overview{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:320px;max-height:min(580px,100% - 16px);color:var(--text);box-shadow:var(--shadow-lg);pointer-events:auto;flex-direction:column;font-size:13px;line-height:1.45;animation:.16s cubic-bezier(.4,0,.2,1) rb-in;display:flex;position:absolute}.scene-overview.pinned{border-color:color-mix(in oklab, var(--c) 45%, var(--border))}@media (prefers-reduced-motion:reduce){.scene-overview{animation:none}}.so-head{border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:8px;padding:10px 8px 9px 12px;display:flex}.so-head:active{cursor:grabbing}.so-swatch{background:var(--c);border-radius:2px;flex:none;align-self:stretch;width:4px}.so-heading{flex:auto;min-width:0}.so-label{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.so-title{font:600 15px/1.25 var(--font-display);overflow-wrap:anywhere}.so-tool{width:28px;height:28px;color:var(--text-muted);font:600 12px/1 var(--font-ui);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.so-tool:hover,.so-tool:focus-visible{background:var(--surface-2);color:var(--text)}.so-tool.active{border-color:var(--border-hover);background:var(--accent-soft);color:var(--text)}.so-body{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:10px 12px 12px;display:flex;overflow-y:auto}.so-body>*{flex-shrink:0}.so-image{border-radius:var(--radius);object-fit:cover;object-position:center 35%;width:100%;height:120px;display:block}.so-facts{grid-template-columns:auto 1fr;gap:2px 12px;margin:0;display:grid}.so-facts>div{display:contents}.so-facts dt{color:var(--text-muted)}.so-facts dd{overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;margin:0;display:flex}.so-status{border-radius:50%;flex:none;width:8px;height:8px}.so-badges{flex-wrap:wrap;gap:5px;display:flex}.so-text h4,.so-elements h4{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 2px;font-size:11px;font-weight:700}.so-text p{-webkit-line-clamp:4;line-clamp:4;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.so-elements{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.so-elements p{margin:0}.so-area-head{color:var(--text-muted);align-items:center;gap:5px;margin-bottom:3px;font-size:12px;font-weight:600;display:flex}.so-chips{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.so-chip{border:1px solid var(--border);background:var(--surface);max-width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:2px 9px 2px 2px;font-size:12.5px;display:inline-flex}.so-chip:hover,.so-chip:focus-visible{border-color:var(--border-hover);background:var(--surface-2)}.so-chip span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.so-chip .object-avatar{width:22px;height:22px;font-size:9.5px}.so-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:6px;padding:8px 12px 10px;display:flex}.floating-window{z-index:21;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);max-height:min(620px,100% - 16px);color:var(--text);box-shadow:var(--shadow-lg);flex-direction:column;font-size:13px;line-height:1.45;animation:.16s cubic-bezier(.4,0,.2,1) rb-in;display:flex;position:absolute}@media (prefers-reduced-motion:reduce){.floating-window{animation:none}}.floating-icon{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:8px;flex:none;place-items:center;display:grid}.filter-mode{align-self:flex-start}.filter-chosen{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.filter-chosen-item{align-items:center;gap:4px;display:inline-flex}.filter-op{color:var(--text-muted);letter-spacing:.06em;font-size:10.5px;font-weight:700}.so-chip.active{border-color:var(--accent);background:var(--accent-soft);gap:6px;padding:3px 10px}.so-chip.active span:last-child{color:var(--text-muted);font-size:10px}input[type=search].filter-search{width:100%}.filter-list{flex-direction:column;gap:8px;display:flex}.filter-items{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.filter-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:4px 6px;display:flex}.filter-item:hover,.filter-item:focus-visible{background:var(--surface-2)}.filter-item.on{background:var(--accent-soft)}.filter-item .object-avatar{width:24px;height:24px;font-size:10px}.filter-item-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.line-filter{position:relative}.line-filter-count{background:var(--accent);min-width:16px;height:16px;color:var(--accent-contrast);border-radius:999px;place-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.line-card.filter-hit{box-shadow:0 0 0 2px var(--accent), var(--shadow)}.line-card.filter-out{opacity:.22}.line-card.filter-out:hover,.line-card.filter-out.hot{opacity:.7}.filter-item-count{white-space:nowrap;flex:none}.matrix-panel{width:max-content;min-width:560px;max-width:min(1100px,100% - 32px)}.mx-toolbar{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.mx-areas{flex-wrap:wrap;gap:5px;display:flex}.mx-legend{color:var(--text-muted);flex-wrap:wrap;gap:4px 14px;padding-left:4px;font-size:12px;display:flex}.mx-legend>span{align-items:center;gap:5px;display:inline-flex}.mx-gap-sample{background:var(--warn-soft);width:14px;height:12px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--warn) 35%, transparent);border-radius:3px;display:inline-block}.mx-scroll{border:1px solid var(--border);border-radius:var(--radius);min-height:0;max-height:min(460px,60vh);overflow:auto}.mx-table{border-collapse:separate;border-spacing:0;font-size:12px}.mx-table th,.mx-table td{border-bottom:1px solid color-mix(in oklab, var(--border) 60%, transparent);padding:0}.mx-table thead th{z-index:2;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.mx-corner,.mx-name{z-index:1;background:var(--surface);border-right:1px solid var(--border);text-align:left;min-width:150px;max-width:190px;position:sticky;left:0}.mx-table thead .mx-corner{z-index:3;color:var(--text-muted);padding:6px 10px;font-weight:600}.mx-name button,.mx-scene button{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;display:block}.mx-name button{text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:5px 10px;font-weight:600;overflow:hidden}.mx-name button:hover,.mx-scene button:hover{color:var(--accent)}.mx-scene button{min-width:28px;color:var(--text-muted);font-variant-numeric:tabular-nums;padding:6px 3px;font-weight:600}.mx-scene.selected button{color:var(--accent)}.mx-cell{text-align:center;vertical-align:middle;cursor:pointer;width:28px;height:26px}.mx-cell:hover{background:var(--surface-2)}.mx-cell.selected,.mx-scene.selected{background:var(--accent-soft)}.mx-cell.gap{background:var(--warn-soft)}.mx-table .ch-start{border-left:2px solid var(--border-strong)}.mx-stat{min-width:52px;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;padding:0 8px!important}.mx-table thead .mx-stat{font-weight:600}.mx-stat.warn{color:var(--warn);font-weight:700}.mx-mark{vertical-align:middle;border-radius:50%;width:12px;height:12px;display:inline-block}.mx-mark.pov{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--accent)}.mx-mark.speaks{background:var(--info);border-radius:3px}.mx-mark.present{background:var(--text-muted)}.mx-mark.mentioned{border:1.5px solid var(--text-muted);width:10px;height:10px}.kx-head button,.kx-reader span{text-overflow:ellipsis;white-space:nowrap;max-width:110px;padding:6px 8px;display:block;overflow:hidden}.kx-reader span{color:var(--text);font-weight:700}.kx-reader,.kx-table td:last-child{border-left:2px solid var(--border-strong)}.kx-cell{width:auto;min-width:44px;color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:600;padding:0 6px!important}.kx-cell.irony,.kx-sample.irony{background:color-mix(in oklab, var(--info) 32%, transparent);color:var(--text)}.kx-cell.mystery,.kx-sample.mystery{background:color-mix(in oklab, var(--ok) 30%, transparent);color:var(--text)}.kx-cell.secret,.kx-sample.secret{background:var(--warn-soft);color:var(--warn)}.kx-sample{border-radius:3px;width:14px;height:12px;display:inline-block}.info-page .home-intro:has(.legal){align-items:flex-start}.legal{max-width:680px;color:var(--text);margin-top:28px;font-size:15.5px;line-height:1.6}.legal address{font-style:normal}.legal address,.legal p{margin:0 0 16px}.legal section{margin-top:30px}.legal h2{font-family:var(--font-display);-webkit-hyphens:manual;hyphens:manual;margin:0 0 6px;font-size:19px;font-weight:600;line-height:1.3}.legal a{color:var(--accent);text-underline-offset:2px}.legal.privacy h2{margin:40px 0 10px;font-size:23px}.legal.privacy h2:first-child{margin-top:0}.legal h3{font-family:var(--font-display);margin:26px 0 6px;font-size:18px;font-weight:600;line-height:1.3}.legal h4{margin:18px 0 4px;font-size:15.5px;font-weight:700;line-height:1.4}.legal ul{margin:0 0 16px;padding-left:22px}.legal li{margin-bottom:8px}.legal a{overflow-wrap:anywhere}.te-notice{background:var(--info-soft);color:var(--text);border-radius:8px;margin:0;padding:8px 10px;font-size:12.5px;line-height:1.45}.te-formats ul{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.te-formats li{flex-direction:column;gap:3px;display:flex}.te-examples{flex-wrap:wrap;gap:4px;display:flex}.te-scene{border-radius:8px;padding:6px 9px;line-height:1.4}.te-scene.ok{background:var(--ok-soft)}.te-scene.warn{background:var(--warn-soft);color:var(--text)}.state-item{align-items:center;gap:4px;display:flex}.state-item .occ{flex:1;min-width:0}.state-line{flex:1;min-width:0;padding:4px 0}.state-item.suggested .state-line{-webkit-text-decoration:underline dotted color-mix(in oklab, var(--warn) 90%, transparent);text-decoration:underline dotted color-mix(in oklab, var(--warn) 90%, transparent);text-underline-offset:4px;text-decoration-thickness:2px}.state-item:has(.relation-issue){flex-wrap:wrap}.relation-issue{border:1px solid color-mix(in oklab, var(--warn) 45%, transparent);background:color-mix(in oklab, var(--warn) 8%, var(--surface));border-radius:8px;flex:1 0 100%;align-items:flex-start;gap:8px;margin:2px 0 4px;padding:6px 8px;line-height:1.35;display:flex}.relation-issue.warn{border-color:color-mix(in oklab, var(--danger) 45%, transparent);background:color-mix(in oklab, var(--danger) 8%, var(--surface));color:var(--text)}.state-item.relation{flex-wrap:wrap}.relation-attitude,.relation-turn,.relation-turn-form{flex-wrap:wrap;flex:1 0 100%;align-items:center;gap:4px 6px;padding-left:12px;display:flex}.relation-turn .occ{flex:1;min-width:0}.attitude-select{width:auto;min-width:0;padding:2px 4px;font-size:12px}.relation-turn-form input{flex:120px;min-width:0}.state-life{flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.state-life .occ{flex:none}.statement-line input{min-width:0}.statement-preview{color:var(--accent-ink,var(--text))}.rt-state-set{-webkit-text-decoration:underline solid color-mix(in oklab, var(--info,#4a6a8a) 55%, transparent);text-decoration:underline solid color-mix(in oklab, var(--info,#4a6a8a) 55%, transparent);text-underline-offset:3px;text-decoration-thickness:1px}.calendar-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.calendar-row{gap:4px}.calendar-row input[type=text]{flex:1;min-width:0}.calendar .calendar-days{flex:none;width:72px}.issue-dot{border:2px solid var(--surface);background:var(--danger);color:#fff;cursor:pointer;border-radius:999px;flex:none;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:14px}.issue-dot:hover,.issue-dot:focus-visible{filter:brightness(1.1);outline:2px solid color-mix(in oklab, var(--danger) 45%, transparent);outline-offset:1px}.line-issue{z-index:4;position:absolute}.node-issues{border:1px solid color-mix(in oklab, var(--danger) 45%, transparent);background:color-mix(in oklab, var(--danger) 8%, var(--surface));border-radius:10px;padding:8px 10px}.node-issues h3{color:var(--danger);margin:0}.node-issue{align-items:flex-start;gap:8px;display:flex}.node-issue .grow{flex:1;min-width:0}.drag-consequences{z-index:40;border:1px solid var(--border);background:var(--surface);max-width:340px;box-shadow:var(--shadow-sm);pointer-events:none;border-radius:8px;padding:6px 9px;font-size:12px;line-height:1.35;position:absolute;transform:translate(-50%)}.dc-line.added{color:var(--danger);font-weight:600}.dc-line.resolved{color:var(--ok)}.dc-line.along{color:var(--text-muted)}.drop-consequences{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:6px;padding:4px 8px;font-size:12px;line-height:1.35}.outline-consequences-anchor{z-index:5;height:0;position:sticky;top:0}.outline-consequences{pointer-events:none;position:absolute;top:0;left:6px;right:6px}.line-consequences{z-index:6;pointer-events:none;max-width:300px;position:absolute}.film{--bg:var(--dk-bg);--surface:var(--dk-surface);--surface-2:var(--dk-surface-2);--surface-3:var(--dk-surface-3);--border:var(--dk-border);--border-strong:var(--dk-border-strong);--text:var(--dk-text);--text-muted:var(--dk-text-muted);--text-faint:var(--dk-text-faint);--accent:var(--dk-accent);--accent-hover:var(--dk-accent-hover);--accent-contrast:var(--dk-accent-contrast);--accent-soft:var(--dk-accent-soft);--focus:var(--dk-focus);--danger:var(--dk-danger);--danger-soft:var(--dk-danger-soft);--ref-link:var(--dk-ref);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;z-index:300;background:color-mix(in oklab, var(--dk-bg) 82%, #000);color:var(--text);outline:none;grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.film-top{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:12px 22px;display:flex}.film-name{font-family:var(--font-display);font-size:18px}.film-count{color:var(--text-muted);font-variant-numeric:tabular-nums}.film-check{color:var(--text-muted);gap:6px}.film-frame{--film-color:var(--accent);width:100%;max-width:1280px;min-height:0;animation:film-in .5s var(--ease-out);grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:48px;margin:0 auto;padding:28px 40px 20px;display:grid}@keyframes film-in{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.film-frame{animation:none}}.film-side{flex-direction:column;gap:18px;min-height:0;display:flex;overflow-y:auto}.film-image{aspect-ratio:4/3;background:color-mix(in oklab, var(--film-color) 30%, var(--surface));box-shadow:0 24px 60px -28px #000c, 0 0 0 1px color-mix(in oklab, var(--film-color) 50%, transparent);border-radius:12px;flex:none;place-items:center;display:grid;overflow:hidden}.film-image img{object-fit:cover;width:100%;height:100%}.film-initial{font-family:var(--font-display);color:color-mix(in oklab, var(--text) 70%, transparent);font-size:72px}.film-info{flex-direction:column;gap:10px;min-width:0;display:flex}.film-tags{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.film-label{letter-spacing:.02em;font-weight:650}.film-badge{border:1px solid var(--border-strong);border-radius:999px;padding:1px 9px;font-size:12px}.film-badge.jump{border-color:color-mix(in oklab, var(--film-color) 70%, var(--text))}.film-badge.here{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.film-badge.muted{color:var(--text-faint)}.film-title{overflow-wrap:anywhere;margin:0;font-size:clamp(24px,2.4vw,34px);line-height:1.12}.film-when{color:var(--text-muted);font-size:15px}.film-gap{color:var(--text);font-weight:600}.film-facts{grid-template-columns:auto 1fr;gap:4px 14px;margin:0;display:grid}.film-facts dt{color:var(--text-faint)}.film-facts dd{margin:0}.film-cast{flex-wrap:wrap;gap:8px 14px;display:flex}.film-person{align-items:center;gap:7px;font-size:14px;display:inline-flex}.film-person img,.film-avatar{object-fit:cover;background:var(--surface-2);border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-grid}.film-more{color:var(--text-muted);font-size:13px}.film-open{align-self:flex-start}.film-read{flex-direction:column;gap:14px;min-width:0;min-height:0;display:flex}.film-read-head{align-items:center;gap:12px;display:flex}.film-doc{max-width:280px}.film-read-words{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:13px}.film-read-body{flex:auto;min-height:0;padding-right:8px;overflow-y:auto}.film-summary{flex-direction:column;gap:18px;max-width:68ch;display:flex}.film-part h4{font-family:var(--font-ui);color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:650}.film-part p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.55}.film-part.description p{font-size:18px}.film-read-empty{color:var(--text-muted);margin:0}.film-doc-text{background:0 0;max-width:68ch;padding:0;font-size:16px;overflow:visible}.film-changes,.film-issues{background:var(--surface);border-radius:10px;margin:0;padding:10px 14px 10px 30px;font-size:14px}.film-issues{background:var(--danger-soft);color:var(--text)}@media (width<=860px){.film-frame{grid-template-columns:minmax(0,1fr);overflow-y:auto}.film-side,.film-read-body{overflow:visible}}.film-empty{color:var(--text-muted);place-items:center;display:grid}.film-figure{max-width:260px}.film-role{color:color-mix(in oklab, var(--film-color) 55%, var(--text));font-weight:600}.film-person.figure{font-weight:700}.film-person.figure img,.film-person.figure .film-avatar{box-shadow:0 0 0 2px var(--accent)}.film-axis{border-bottom:1px solid var(--border);color:var(--text-faint);align-items:center;gap:18px;padding:8px 72px 6px;font-size:12px;display:flex}.film-axis-track{flex:1;height:104px;position:relative}.film-axis-line{background:var(--border-strong);border-radius:2px;height:2px;margin-top:-1px;position:absolute;left:0;right:0}.film-axis-cut{background:color-mix(in oklab, var(--dk-bg) 82%, #000);color:var(--text-muted);letter-spacing:-.12em;cursor:help;padding:0 3px;font-weight:700;line-height:1;position:absolute;transform:translate(-50%,-50%)}.film-axis-tick{white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none;padding-top:13px;position:absolute;transform:translate(-50%)}.film-axis-tick:before{content:"";background:var(--border-strong);width:1px;height:6px;position:absolute;top:3px;left:50%}.film-axis-tick.major{color:var(--text-muted)}.film-axis-arc{pointer-events:none;fill:none;width:100%;height:100%;stroke:color-mix(in oklab, var(--accent) 75%, transparent);stroke-width:1.5px;position:absolute;inset:0;overflow:visible}.film-axis-arc marker path{fill:color-mix(in oklab, var(--accent) 75%, transparent);stroke:none}@media (prefers-reduced-motion:no-preference){.film-axis-arc path:not(marker path){stroke-dasharray:600;stroke-dashoffset:600px;animation:film-arc .45s var(--ease-out) forwards}}@keyframes film-arc{to{stroke-dashoffset:0}}.film-tick{background:var(--text-muted);cursor:pointer;width:10px;height:10px;transition:transform var(--dur-fast) var(--ease);border:0;border-radius:50%;margin:-5px 0 0 -5px;padding:0;position:absolute}.film-tick:hover:not(:disabled){transform:scale(1.4)}.film-tick.ahead{background:color-mix(in oklab, var(--dk-bg) 82%, #000);box-shadow:inset 0 0 0 2px var(--text-muted)}.film-tick.off{background:var(--border-strong);cursor:default;border-radius:1px;width:2px;height:8px;margin:-4px 0 0 -1px}.film-tick.current{z-index:1;background:var(--accent);width:16px;height:16px;box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 25%, transparent);margin:-8px 0 0 -8px}.film-axis-now{white-space:nowrap;color:var(--text);pointer-events:none;font-weight:600;position:absolute;top:0;transform:translate(-50%)}.film-axis-bg{width:7px;height:7px;box-shadow:inset 0 0 0 1.5px var(--text-faint);cursor:help;margin:-3.5px 0 0 -3.5px;position:absolute;top:94px;transform:rotate(45deg)}.film-axis-untimed{border:1px dashed var(--border-strong);border-radius:999px;flex:none;padding:1px 9px}.film-axis-untimed.current{border-style:solid;border-color:var(--accent);color:var(--text)}.film-controls{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:10px;padding:12px 22px 18px;display:flex}.film-play{min-width:140px}.film-tempo{color:var(--text-muted);gap:6px;margin-left:16px}@media (width<=900px){.film-frame{grid-template-columns:1fr;align-items:start;gap:18px;padding:18px}.film-image{aspect-ratio:16/9}.film-top{flex-wrap:wrap}}.material{flex-direction:column;gap:10px;display:flex}.material-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.material-card{border:1px solid var(--border);border-left:3px solid var(--material-mark,var(--border-strong));border-radius:var(--radius-sm,6px);background:var(--surface);flex-direction:column;gap:6px;padding:8px 10px 10px;display:flex}.material-item.note{--material-mark:color-mix(in oklab, #d9a514 70%, var(--border-strong))}.material-item.link{--material-mark:color-mix(in oklab, var(--ref-link,#3a6ea5) 70%, var(--border-strong))}.material-item.image{--material-mark:color-mix(in oklab, #4a9a6a 70%, var(--border-strong))}.material-head{align-items:center;gap:6px;min-width:0;display:flex}.material-kind{color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:11px;font-weight:650}.material-title{overflow-wrap:anywhere;flex:auto;min-width:0;font-size:13.5px;font-weight:600}input.material-title{color:var(--text);background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 4px}input.material-title:hover,input.material-title:focus{border-color:var(--border);background:var(--bg)}.material-text{font:13.5px/1.5 var(--font-ui);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}textarea.material-text{resize:vertical;width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 6px}textarea.material-text:hover,textarea.material-text:focus{border-color:var(--border);background:var(--bg)}.material-link{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--ref-link,var(--accent));align-self:flex-start;font-size:13px;overflow:hidden}.material-image{background:var(--surface-2);border-radius:4px;overflow:hidden}.material-image img{object-fit:contain;width:100%;max-height:320px;display:block}.material-tools{justify-content:flex-end;margin-bottom:-4px;display:flex}.material-grip{width:14px;color:var(--text-faint);text-align:center;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:3px;flex:none;margin-left:-4px;font-size:13px;line-height:1}.material-grip:hover,.material-grip:focus-visible{color:var(--text);background:var(--surface-2)}.material-grip:active{cursor:grabbing}.material-toggle{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;padding:0}.material-toggle:before{content:"▸";transition:transform var(--dur-fast) var(--ease);font-size:11px;display:inline-block}.material-toggle.open:before{transform:rotate(90deg)}.material-toggle:hover{color:var(--text);background:var(--surface-2)}.material-summary{min-width:0;color:var(--text);font:600 13.5px/1.4 var(--font-ui);text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;flex:auto;padding:2px 4px;overflow:hidden}.material-summary.untitled{color:var(--text-muted);font-weight:400}.material-card.collapsed{padding-bottom:8px}.material-item{position:relative}.material-item.dragging{opacity:.45}.material-item.drop-before:before,.material-item.drop-after:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;left:0;right:0}.material-item.drop-before:before{top:-5px}.material-item.drop-after:after{bottom:-5px}.material-add{flex-wrap:wrap;gap:6px;display:flex}.material-link-form{border:1px dashed var(--border-strong);border-radius:var(--radius-sm,6px);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.material-empty{color:var(--text-muted);margin:0}.material-panel{width:var(--mp-width,320px);border-left:1px solid var(--border);background:var(--chrome);flex-direction:column;flex:none;min-width:240px;max-width:calc(100% - 320px);min-height:0;display:flex;position:relative}.material-panel-body{flex:auto;min-height:0;padding:6px 12px 16px 16px;overflow-y:auto}.outline-material{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;padding:0 5px;font-size:11.5px}.outline-material:hover{background:var(--surface-2);color:var(--text)}.film .material{max-width:68ch}.film .material-text{font-size:15px}.beat-sheet{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:8px;padding:10px;display:flex}.beat-sheet-head{gap:6px;display:grid}.beat-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.beat-row{border-radius:calc(var(--radius) - 2px);flex-direction:column;gap:4px;padding:4px 6px;display:flex}.beat-row.open{background:var(--surface-2)}.beat-act{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:6px;font-size:11px;font-weight:600}.beat-line{align-items:baseline;gap:8px;display:flex}.beat-toggle{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0}.beat-toggle:hover{text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, currentColor 35%, transparent);text-decoration-color:color-mix(in oklab, currentColor 35%, transparent)}.beat-num{color:var(--text-muted);font-variant-numeric:tabular-nums}.beat-where{font-variant-numeric:tabular-nums;flex:none;gap:8px;display:inline-flex}.beat-open{font-style:italic}.beat-scenes{flex-wrap:wrap;gap:4px;display:flex}.beat-scene,.beat-chip{cursor:default;gap:4px}.beat-scene .link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.beat-scene .link:hover{text-decoration:underline}.beat-scene .chip-x,.beat-chip .chip-x{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;margin:0 -4px 0 0;padding:0 2px}.beat-scene .chip-x:hover,.beat-chip .chip-x:hover{color:var(--danger)}.beat-edit{gap:6px;padding-top:4px}.beat-target input{width:6em}.shift-choice .seg-btn{min-width:2.2em}.outline-beat{color:var(--accent);flex:none;font-size:10px;line-height:1}.film-badge.beat{border-color:color-mix(in oklab, var(--accent) 60%, var(--border-strong))}.structure-panel{width:min(860px,100% - 32px)}.structure-diagram svg{width:100%;height:auto;display:block;overflow:visible}.structure-diagram text{fill:var(--text-muted);font-size:11px}.st-chapter rect{fill:color-mix(in oklab, var(--accent) 16%, var(--surface));stroke:var(--border)}.st-chapter.odd rect{fill:color-mix(in oklab, var(--accent) 28%, var(--surface))}.st-chapter text{text-anchor:middle;fill:var(--text)}.st-scene{stroke:color-mix(in oklab, var(--text) 25%, transparent)}.st-scene.selected{stroke:var(--text);stroke-width:2px}.st-act line{stroke:var(--border-strong);stroke-dasharray:3 4}.st-beat .st-target{fill:var(--surface);stroke:var(--text-muted);stroke-width:1.5px}.st-beat .st-actual{fill:var(--accent);stroke:var(--surface);stroke-width:1.5px;cursor:pointer}.st-beat .st-drift{stroke:var(--text-muted);stroke-width:1.5px}.st-beat.far .st-actual,.st-beat.moved .st-actual{fill:var(--warn)}.st-beat.far .st-drift{stroke:var(--warn)}.st-beat .st-num{text-anchor:middle;fill:var(--text);font-weight:600}.st-beat.open .st-num{fill:var(--text-faint)}.st-curve polyline{fill:none;stroke:var(--accent);stroke-width:2px}.st-curve circle{fill:var(--accent);cursor:pointer}.st-curve circle.selected{stroke:var(--text);stroke-width:2px}.st-zero,.st-axis{stroke:var(--border-strong);stroke-dasharray:2 3}.st-world-scene{cursor:pointer}.st-world-scene circle{fill:var(--text-muted)}.st-world-scene text{text-anchor:middle;font-size:10px}.st-table{border-collapse:collapse;width:100%;font-size:12.5px}.st-table th,.st-table td{border-bottom:1px solid color-mix(in oklab, var(--border) 60%, transparent);text-align:left;vertical-align:top;padding:4px 8px}.st-table thead th{background:var(--surface);color:var(--text-muted);font-weight:600;position:sticky;top:0}.st-table tbody th{font-weight:500}.st-table td:nth-child(2),.st-table td:nth-child(3){white-space:nowrap;font-variant-numeric:tabular-nums}.st-table td.warn{color:var(--warn);font-weight:600}.st-act-name{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600;display:block}.st-note{color:var(--warn);white-space:normal}.st-scene-link{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.st-scene-link:hover{text-decoration:underline}.line-beat{z-index:5;border:1px solid color-mix(in oklab, var(--accent) 55%, var(--border-strong));background:var(--surface);height:16px;color:var(--accent);font:600 10px/14px var(--font-ui,inherit);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;box-shadow:var(--shadow-xs);border-radius:8px;padding:0 6px;position:absolute;overflow:hidden}.line-beat.act{background:var(--accent);color:var(--accent-contrast,#fff)}.line-beat.open{background:color-mix(in oklab, var(--accent) 8%, var(--surface));max-width:170px;color:var(--accent);opacity:.85;border-style:dashed;transform:translate(-50%)}.line-beat.open:hover,.line-beat.open:focus-visible{opacity:1;border-style:solid}.line-act,.line-beat-gap{z-index:3;pointer-events:none;width:0;position:absolute}.line-act{border-left:2px solid var(--accent)}.line-beat-gap{border-left:2px dashed color-mix(in oklab, var(--accent) 55%, transparent)}.outline-act{padding:4px 6px 2px calc(var(--depth,0) * 16px + 4px);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.outline-act:after{content:"";border-top:1px solid color-mix(in oklab, var(--accent) 40%, transparent);flex:1}.outline-beat-open{width:100%;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px dashed #0000}.outline-beat-open:hover,.outline-beat-open:focus-visible{border-color:color-mix(in oklab, var(--accent) 50%, transparent);color:var(--text)}.outline-beat-diamond{width:16px;color:var(--accent);text-align:center;flex:none}.outline-beat-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-style:italic;overflow:hidden}.beat-main-badge{color:var(--accent);font-weight:600}.beat-scaffold{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;gap:6px;padding:8px}.beat-compass{border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--accent) 5%, var(--chrome));padding:4px 18px 4px 12px;font-size:12px}.bc-line{flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:24px;display:flex}.bc-act{color:var(--accent);font-weight:700}.bc-carried{color:var(--accent);font-weight:600}.bc-overdue{color:var(--warn)}.bc-details{gap:6px;margin:4px 0 6px 28px;padding:0;list-style:none;display:grid}.bc-details li{gap:1px;max-width:72ch;display:grid}.bc-details .bc-overdue strong{color:var(--warn)}.outline-section{border-radius:6px;flex-direction:column;margin-top:4px;display:flex}.outline-section.drop-end{outline:1px dashed var(--accent);outline-offset:-1px}.outline-section-head{letter-spacing:.02em;cursor:grab;font-weight:700}.outline-section-head .outline-num:empty{display:none}.outline-root-foot{flex-wrap:wrap;gap:2px;display:flex}.beat-setup{gap:10px}.beat-setup-head{margin:6px 0 0;font-size:13px;font-weight:700}.beat-setup-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.beat-setup-option{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.beat-setup-option.active{border-color:var(--accent);background:var(--accent-soft)}.beat-setup-option input[type=radio]{margin-top:3px}.beat-setup-option .col{gap:3px;min-width:0}.beat-setup-own{position:relative}.beat-setup-own .beat-setup-option{padding-right:34px}.beat-setup-own-delete{position:absolute;top:4px;right:4px}.beat-setup-name{margin-top:4px}.beat-setup-length{flex-wrap:wrap;gap:8px}.beat-setup-length input{width:110px}.beat-setup-scaffold{gap:8px;margin-top:4px}.beat-preview{border-bottom:1px solid var(--border-strong);height:14px;margin-top:4px;position:relative}.beat-preview-tick{background:var(--text-muted);border-radius:1px;width:2px;height:7px;margin-left:-1px;position:absolute;bottom:0}.beat-preview-tick.act{background:var(--accent);height:13px}.beat-template-save{gap:6px}.beat-overview{z-index:1000;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-lg,0 8px 28px #0000002e);pointer-events:none;flex-direction:column;gap:6px;padding:12px 14px;font-size:12px;display:flex;position:fixed}.beat-overview-bar{gap:2px;margin:2px 0;display:flex}.beat-overview-act{background:var(--accent-soft);min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:3px;flex-basis:0;padding:2px 4px;font-size:11px;font-weight:600;overflow:hidden}.beat-overview-head{margin-top:2px;font-weight:700}.beat-overview-group ul{margin:2px 0 0;padding:0;list-style:none}.beat-overview-group li{grid-template-columns:38px 1fr;gap:4px;line-height:1.35;display:grid}.beat-overview-at{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right}
