@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-ext-400-normal-C_uLvvQ5.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-400-normal-Bh0R7Dhr.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-vietnamese-400-normal-ByoDsISC.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-ext-500-normal-C9ShMxGR.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-500-normal-CEVyPk4Y.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-vietnamese-500-normal-BvH7FW2L.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-ext-600-normal-Dj6eZy5f.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-600-normal-DVvC-yKp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-vietnamese-600-normal-Dtizs43-.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-ext-700-normal-D6iG63UR.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-700-normal-iEXTdOVf.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-vietnamese-700-normal-k5PzE07T.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff");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{--color-ground:#fdfcfc;--color-surface:#fdfcfc;--color-surface-soft:#f8f7f7;--color-surface-card:#f1eeee;--color-ink:#201d1d;--color-ink-hover:#302c2c;--color-on-ink:#fdfcfc;--color-paper:#fff;--color-text:#424245;--color-mute:#646262;--color-faint:#9a9898;--color-line:#201d1d;--color-line-soft:#0f00001f;--color-line-strong:#646262;--color-press:#0f000038;--color-accent:#007aff;--color-accent-text:#0056b3;--color-accent-tint:#e8f1ff;--color-success:#30d158;--color-success-text:#1a7a3a;--color-success-tint:#e6f8eb;--color-warning:#ff9f0a;--color-warning-text:#995f06;--color-warning-tint:#fff4e2;--color-danger:#ff3b30;--color-danger-text:#a50011;--color-danger-tint:#fdeaea;--brand-a:#1f6bff;--brand-b:#0a9e7a;--color-shadow:#1418281f;--press-move:translate(2px, 2px);--color-focus:#007aff;--color-scrim:#201d1d66;--color-search-hit:#fff1a8;--pen-ink:#201d1d;--pen-blue:#1f5fc4;--pen-red:#a50011;--pen-yellow:#f2c200;--mark-yellow:#ffd60a73;--mark-yellow-dark:#ffd60a59;--mark-green:#30d15852;--mark-blue:#007aff40;--mark-pink:#ff378c40;--mark-select:#007aff2e;--swatch-yellow:#ffd60a;--swatch-green:#6fe08c;--swatch-blue:#7fbaff;--swatch-pink:#ff9fc7;--reader-light-bg:#fdfcfc;--reader-light-fg:#201d1d;--reader-light-mute:#646262;--reader-light-line:#0f00001f;--reader-light-link:#0056b3;--reader-sepia-bg:#f4ecd8;--reader-sepia-fg:#3b2f22;--reader-sepia-mute:#6e5d48;--reader-sepia-line:#3b2f222e;--reader-sepia-link:#7a4a12;--reader-dark-bg:#1b1a1a;--reader-dark-fg:#e9e6e3;--reader-dark-mute:#a9a4a0;--reader-dark-line:#ffffff24;--reader-dark-link:#8fc1ff;--reader-dark-pen-blue:#8fb4ff;--reader-dark-pen-red:#ff8a80;--paper-ground:#fdfcfc;--paper-soft:#f8f7f7;--paper-card:#f1eeee;--paper-ink:#201d1d;--paper-text:#424245;--paper-mute:#646262;--paper-line-soft:#0f00001f;--paper-line-strong:#646262;--paper-press:#0f000038;--paper-font:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-sans:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-mono:var(--font-sans);--font-head:var(--font-sans);--head-weight:700;--font-book:Georgia, "Iowan Old Style", "Times New Roman", serif;--radius-control:4px;--radius-card:0px;--radius-round:9999px;--border-width:1px;--motion-fast:.12s;--motion:.18s;--motion-slow:.26s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=neo][data-mode=dark]{--color-ground:#141212;--color-surface:#1c1a1a;--color-surface-soft:#201d1d;--color-surface-card:#2a2626;--color-ink:#fdfcfc;--color-ink-hover:#e9e5e5;--color-on-ink:#141212;--color-paper:#fff;--color-text:#d9d5d5;--color-mute:#aaa6a6;--color-faint:#7a7676;--color-line:#e9e5e5;--color-line-soft:#fffafa24;--color-line-strong:#8a8585;--color-press:#00000080;--color-accent:#4da3ff;--color-accent-text:#8cc4ff;--color-accent-tint:#1d2a3b;--color-success:#30d158;--color-success-text:#6fe38c;--color-success-tint:#17301f;--color-warning:#ff9f0a;--color-warning-text:#ffbf5e;--color-warning-tint:#33270f;--color-danger:#ff453a;--color-danger-text:#ff8a83;--color-danger-tint:#3a1a18;--brand-a:#5b95ff;--brand-b:#14e0ae;--color-focus:#4da3ff;--color-scrim:#0009;--color-search-hit:#6b5a00;--color-shadow:#00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=play]{--color-ground:#f4f2ff;--color-surface:#fff;--color-surface-soft:#faf9ff;--color-surface-card:#e6e1ff;--color-ink:#1a1530;--color-ink-hover:#2a2450;--color-on-ink:#fff;--color-paper:#fff;--color-text:#3a3352;--color-mute:#514a6b;--color-faint:#8c86a8;--color-line:#1a1530;--color-line-soft:#1a153024;--color-line-strong:#514a6b;--color-press:#1a153040;--color-accent:#5b3df5;--color-accent-text:#4a2ee0;--color-accent-tint:#e6e1ff;--color-success:#7ee2b8;--color-success-text:#0b6e4c;--color-success-tint:#d8f6e9;--color-warning:#ffb020;--color-warning-text:#7a4a00;--color-warning-tint:#ffe7b0;--color-danger:#ff8a7a;--color-danger-text:#a0281a;--color-danger-tint:#ffe1dc;--brand-a:#5b3df5;--brand-b:#1f6bff;--color-focus:#5b3df5;--color-scrim:#1a153073;--color-search-hit:#ffe7b0;--color-shadow:#1a15302e;--play-action:#5b3df5;--play-action-hover:#4a2ee0;--play-on-action:#fff;--play-offset:#1a1530;--font-sans:"DM Sans", system-ui, sans-serif;--font-head:"Bricolage Grotesque", "DM Sans", sans-serif;--head-weight:800;--font-mono:"DM Sans", system-ui, sans-serif;--radius-control:14px;--radius-card:20px;--border-width:2px;--press-move:translate(3px, 3px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=play][data-mode=dark]{--color-ground:#120e26;--color-surface:#1d1840;--color-surface-soft:#181434;--color-surface-card:#2c2460;--color-ink:#f4f2ff;--color-ink-hover:#fff;--color-on-ink:#1a1530;--color-paper:#fff;--color-text:#d9d4f5;--color-mute:#aaa3d1;--color-faint:#7d76a3;--color-line:#f4f2ff;--color-line-soft:#f4f2ff29;--color-line-strong:#aaa3d1;--color-press:#0006;--color-accent:#b5a6ff;--color-accent-text:#c9beff;--color-accent-tint:#2f2668;--color-success:#7ee2b8;--color-success-text:#7ee2b8;--color-success-tint:#173a3a;--color-warning:#ffb020;--color-warning-text:#ffc453;--color-warning-tint:#3a2e1a;--color-danger:#ff8a7a;--color-danger-text:#ffa496;--color-danger-tint:#3d2030;--brand-a:#b5a6ff;--brand-b:#14e0ae;--color-focus:#ffb020;--color-scrim:#0000008c;--color-search-hit:#6b5a00;--color-shadow:#00000073;--play-action:#ffb020;--play-action-hover:#ffc453;--play-on-action:#1a1530;--play-offset:#7b61ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=ledger]{--color-ground:#f4f5f7;--color-surface:#fff;--color-surface-soft:#f8f9fa;--color-surface-card:#eceef2;--color-ink:#0e1014;--color-ink-hover:#2b303b;--color-on-ink:#fff;--color-paper:#fff;--color-text:#2b303b;--color-mute:#5b6474;--color-faint:#8a93a3;--color-line:#d5d9e0;--color-line-soft:#e4e7ec;--color-line-strong:#b9bfca;--color-press:#0e10141f;--color-accent:#2563c9;--color-accent-text:#2563c9;--color-accent-tint:#e5eefb;--color-success:#1f9d63;--color-success-text:#157a4b;--color-success-tint:#e2f5eb;--color-warning:#d99a1e;--color-warning-text:#8a5a00;--color-warning-tint:#fff4dc;--color-danger:#d93a2f;--color-danger-text:#b3261e;--color-danger-tint:#fde7e5;--brand-a:#1f5fd6;--brand-b:#0b8f6c;--color-focus:#a87000;--color-scrim:#0e101473;--color-search-hit:#fff4dc;--color-shadow:#0e10141a;--ledger-action:#f2b544;--ledger-action-hover:#e3a42f;--ledger-on-action:#17130a;--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-head:"IBM Plex Sans", system-ui, sans-serif;--head-weight:600;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius-control:4px;--radius-card:6px;--border-width:1px;--press-move:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=ledger][data-mode=dark]{--color-ground:#0e1014;--color-surface:#161920;--color-surface-soft:#12151b;--color-surface-card:#1e222b;--color-ink:#e7e9ee;--color-ink-hover:#fff;--color-on-ink:#0e1014;--color-paper:#fff;--color-text:#c9ced8;--color-mute:#9ba3b4;--color-faint:#6b7385;--color-line:#2b303b;--color-line-soft:#20242d;--color-line-strong:#3a4050;--color-press:#0006;--color-accent:#7ab2ff;--color-accent-text:#7ab2ff;--color-accent-tint:#1b2a40;--color-success:#5fd39a;--color-success-text:#5fd39a;--color-success-tint:#16302a;--color-warning:#f2b544;--color-warning-text:#f2b544;--color-warning-tint:#33291a;--color-danger:#ff7b72;--color-danger-text:#ff7b72;--color-danger-tint:#3a1f22;--brand-a:#5b95ff;--brand-b:#14e0ae;--color-focus:#f2b544;--color-scrim:#0009;--color-search-hit:#6b5a00;--color-shadow:#00000080;--ledger-action:#f2b544;--ledger-action-hover:#ffd27f;--ledger-on-action:#17130a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.sheet,.paper,.draft,.rv-ink{--color-ground:var(--paper-ground);--color-surface:var(--paper-ground);--color-surface-soft:var(--paper-soft);--color-surface-card:var(--paper-card);--color-ink:var(--paper-ink);--color-ink-hover:var(--paper-text);--color-on-ink:var(--paper-ground);--color-text:var(--paper-text);--color-mute:var(--paper-mute);--color-faint:var(--paper-mute);--color-line:var(--paper-ink);--color-line-soft:var(--paper-line-soft);--color-line-strong:var(--paper-line-strong);--color-press:var(--paper-press);--font-sans:var(--paper-font);--font-head:var(--paper-font);--font-mono:var(--paper-font);--head-weight:700;--radius-control:4px;--radius-card:0px;--border-width:1px;--press-move:translate(2px, 2px);color:var(--color-text);font-family:var(--font-sans)}:root,.sheet,.paper,.draft,.rv-ink{--color-action:var(--color-ink);--color-action-hover:var(--color-ink-hover);--color-on-action:var(--color-on-ink);--shadow-1:2px 2px 0 var(--color-ink);--shadow-2:4px 4px 0 var(--color-ink);--shadow-3:6px 6px 0 var(--color-ink);--shadow-inset:inset 3px 3px 0 var(--color-line-soft);--shadow-pressed:inset 2px 2px 0 var(--color-press);--shadow-float:0 6px 20px var(--color-shadow);--shadow-tab:-2px 2px 10px var(--color-shadow);--ink:var(--color-ink);--canvas:var(--color-ground);--surface-soft:var(--color-surface-soft);--surface-card:var(--color-surface-card);--hairline:var(--color-line-soft);--hairline-strong:var(--color-line-strong);--inset-strong:var(--color-press);--text-body:var(--color-text);--text-mute:var(--color-mute);--text-ash:var(--color-faint);--warning:var(--color-warning);--danger-active:var(--color-danger-text);--focus:var(--color-focus);--success:var(--color-success);--success-text:var(--color-success-text);--success-tint:var(--color-success-tint);--warning-tint:var(--color-warning-tint);--danger-tint:var(--color-danger-tint);--primary-accent:var(--color-accent-text);--l1:var(--shadow-1);--l2:var(--shadow-2);--l3:var(--shadow-3);--inset:var(--shadow-inset);--inset-pressed:var(--shadow-pressed);--bg:var(--color-ground);--fg:var(--color-ink);--card:var(--color-surface);--primary:var(--color-ink);--primary-fg:var(--color-on-ink);--secondary:var(--color-text);--muted:var(--color-surface-card);--muted-fg:var(--color-mute);--accent:var(--color-surface-card);--accent-fg:var(--color-ink);--destructive:var(--color-danger-text);--ok:var(--color-ink);--ok-tint:var(--color-surface-card);--bad-tint:var(--color-ground);--border:var(--color-line);--input:var(--color-line);--ring:var(--color-focus);--chart-3:var(--color-mute);--shadow:var(--shadow-2);--sans:var(--font-sans);--mono:var(--font-mono)}[data-theme=play]{--color-action:var(--play-action);--color-action-hover:var(--play-action-hover);--color-on-action:var(--play-on-action);--shadow-1:3px 3px 0 var(--play-offset);--shadow-2:4px 4px 0 var(--play-offset);--shadow-3:6px 6px 0 var(--play-offset);--shadow-inset:none;--shadow-pressed:none}[data-theme=ledger]{--color-action:var(--ledger-action);--color-action-hover:var(--ledger-action-hover);--color-on-action:var(--ledger-on-action);--shadow-1:none;--shadow-2:0 1px 2px var(--color-shadow);--shadow-3:0 16px 40px var(--color-shadow);--shadow-inset:none;--shadow-pressed:none}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font:16px/1.6 var(--sans);-webkit-text-size-adjust:100%}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:10;background:var(--card);position:fixed;inset:0 0 auto}button,input{font:inherit;color:inherit}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.gutter{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.bar{top:env(safe-area-inset-top,0px);z-index:5;background:var(--card);border-bottom:1px solid var(--border);position:sticky}.bar-in{flex-wrap:wrap;align-items:center;gap:16px;max-width:1280px;margin:0 auto;padding-block:10px;display:flex}.brand{font:600 18px/1 var(--mono);letter-spacing:-.02em;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0}.spacer{flex:1}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.who{color:var(--muted-fg);font-size:14px;font-weight:500}.seg{border:1px solid var(--input);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;background:0 0;border:0;padding:5px 10px;font-size:13px;font-weight:500}main{max-width:1280px;margin:0 auto;padding-block:24px 140px}h1{letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:28px;font-weight:600;line-height:1.2}h2{text-wrap:balance;margin:0;font-size:20px;font-weight:600;line-height:1.3}.lede{color:var(--muted-fg);max-width:65ch;margin:4px 0 0;font-size:15px}.stack{flex-direction:column;gap:24px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.note{color:var(--muted-fg);font-size:13px}.error{color:var(--destructive);font-size:14px}.chip{background:var(--muted);color:var(--muted-fg);white-space:nowrap;border-radius:6px;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.chip.ok{background:var(--ok-tint);color:var(--ok)}.chip.bad{background:var(--bad-tint);color:var(--destructive)}.chip.wait{background:var(--accent);color:var(--accent-fg)}.btn{border:1px solid var(--input);background:var(--card);cursor:pointer;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:500}.btn.danger{color:var(--destructive);border-color:var(--destructive)}.confirm{border:1px solid var(--destructive);background:var(--bad-tint);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.confirm p{flex:240px;margin:0}.btn.ghost{background:0 0;border-color:#0000}.btn:disabled{opacity:.5;cursor:default}.field{background:var(--card);border:1px solid var(--input);border-radius:10px;width:100%;max-width:280px;padding:8px 12px;font-size:17px}.field:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 25%, transparent);outline:none}label.lbl{flex-direction:column;gap:4px;font-size:14px;font-weight:500;display:flex}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:12px;min-width:0;padding:24px;display:flex}.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.empty{text-align:center;color:var(--muted-fg);padding:48px 24px}.login{max-width:720px;margin:0 auto}.profiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.profile{cursor:pointer;flex-direction:column;align-items:center;gap:10px;padding:24px 12px;font-size:17px;font-weight:600;display:flex}.avatar{background:var(--accent);width:64px;height:64px;color:var(--accent-fg);border-radius:9999px;place-items:center;font-size:28px;font-weight:600;display:grid}.pin-dots{justify-content:center;gap:12px;min-height:20px;display:flex}.pin-dots i{border:2px solid var(--secondary);border-radius:9999px;width:16px;height:16px}.pad{grid-template-columns:repeat(3,72px);justify-content:center;gap:12px;display:grid}.pad button{border:1px solid var(--border);background:var(--card);height:64px;font:600 24px var(--mono);cursor:pointer;border-radius:14px}.pad button:active{background:var(--muted)}.ws-top{align-items:start;gap:12px;display:flex}.ws-num{font:600 28px/1 var(--mono);color:var(--primary-fg);background:var(--primary);border-radius:10px;place-items:center;min-width:52px;height:52px;display:grid}.ws-meta{color:var(--muted-fg);font-size:13px}.ws-stats{border-top:1px solid var(--border);gap:24px;padding-top:12px;display:flex}.stat b{font:600 20px/1.2 var(--mono);display:block}.stat span{color:var(--muted-fg);font-size:12px}.ws-actions{gap:8px;margin-top:auto;display:flex}.sheet{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:14px;position:relative;overflow:hidden}.sheet input{-webkit-user-select:text;user-select:text}.sheet.finger{touch-action:none}.ink,.ink-host{pointer-events:none;z-index:2;position:absolute;top:0;left:0}.q{position:relative}.size{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;display:inline-grid}.size[aria-pressed=true]{background:var(--muted);border-color:var(--input)}.tool.danger{color:var(--destructive)}.sh-head{background:var(--accent);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px;display:grid}.grade{background:var(--card);text-align:center;width:76px;height:76px;color:var(--secondary);border-radius:22px;place-items:center;padding:6px;font-size:14px;font-weight:600;line-height:1.2;display:grid}.sh-title{background:var(--card);border-radius:22px;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;min-width:0;padding:12px 20px;display:grid}.sh-title h1{color:var(--primary);grid-column:1;font-size:26px}.sh-title p{color:var(--muted-fg);grid-column:1;margin:0;font-size:13px;line-height:1.45}.kind{color:var(--secondary);white-space:nowrap;grid-area:1/2/span 2;font-size:17px;font-weight:600}.sh-num{background:var(--primary);width:88px;height:76px;color:var(--primary-fg);font:600 44px/1 var(--mono);border-radius:14px;place-items:center;display:grid}.cols{columns:2;column-rule:2px solid var(--accent);column-gap:56px;padding:28px 32px 8px}.q{break-inside:avoid;grid-template-columns:30px 1fr;gap:0 10px;padding-bottom:8px;display:grid}.qnum{color:var(--secondary);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.qbody{flex-direction:column;gap:10px;min-width:0;display:flex}.qtext{font-size:17px;font-weight:600;line-height:1.5}.verdict{vertical-align:2px;margin-left:8px}.intro{font-size:16px;line-height:1.5}.hint{color:var(--muted-fg);font-size:13px}.figure{color:var(--fg);justify-content:center;display:flex}.figure svg{width:100%;max-width:280px;height:auto}.seqbox{border:1.5px solid var(--secondary);letter-spacing:.04em;border-radius:8px;align-self:center;padding:4px 22px;font-size:20px}.opts{gap:8px;display:grid}.opts.row{grid-template-columns:repeat(4,minmax(0,1fr))}.opts.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opt{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:baseline;gap:6px;min-width:0;padding:6px 10px;font-size:17px;display:flex}.opt .l{color:var(--muted-fg);font-weight:500}.opt.picked{background:var(--accent);color:var(--accent-fg);border-color:var(--primary)}.opt.picked .l{color:inherit}.opt.is-correct{border-color:var(--ok);background:var(--ok-tint);color:var(--fg)}.opt.is-wrong{border-color:var(--destructive);background:var(--bad-tint);color:var(--fg);text-decoration:line-through;-webkit-text-decoration-color:var(--destructive);text-decoration-color:var(--destructive)}.locked .opt{cursor:default}.locked .opt:hover{background:0 0}.locked .opt.is-correct:hover{background:var(--ok-tint)}.locked .opt.is-wrong:hover{background:var(--bad-tint)}.order{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.order li{border:1px solid var(--border);background:var(--card);border-radius:10px;align-items:center;gap:8px;padding:4px 6px 4px 12px;font-size:17px;display:flex}.order li .t{flex:1;min-width:0}.order button{border:1px solid var(--input);background:var(--card);cursor:pointer;border-radius:8px;width:36px;height:32px}.order button:disabled{opacity:.35;cursor:default}.match{flex-direction:column;gap:10px;display:flex}.match-row{grid-template-columns:minmax(64px,auto) 1fr;align-items:center;gap:10px;display:grid}.match-row .l{font-size:17px;font-weight:500}.match-row .r{flex-wrap:wrap;gap:6px;display:flex}.match-row .opt{border-color:var(--border);padding:4px 10px}.scratch{height:90px}.scratch.big{border:1.5px dashed var(--input);border-radius:10px;height:260px}.fb{background:var(--muted);border-radius:8px;flex-direction:column;gap:4px;padding:8px 12px;font-size:14px;line-height:1.5;display:flex}.fb b{font-weight:600}.sh-foot{text-align:center;color:var(--muted-fg);padding:4px 0 16px;font-size:14px}.math sup{font-size:.68em}.frac{vertical-align:middle;text-align:center;flex-direction:column;margin:0 2px;font-size:.9em;line-height:1.15;display:inline-flex}.frac>span:first-child{border-bottom:1.5px solid;padding:0 3px}.tools{z-index:8;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--card);border:1px solid var(--border);width:min(820px,100% - 32px);box-shadow:var(--shadow-float);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex;position:fixed;transform:translate(-50%)}.saved{color:var(--muted-fg);font-size:13px}.tool{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:14px;font-weight:500;display:inline-flex}.tool[aria-pressed=true]{background:var(--muted);border-color:var(--input)}.tool svg{width:18px;height:18px}.dot{border:2px solid var(--card);outline:1px solid var(--input);cursor:pointer;border-radius:9999px;width:26px;height:26px;padding:0}.sep{background:var(--border);align-self:stretch;width:1px}.paper{aspect-ratio:1/1.414;background-color:var(--card);border:1px solid var(--border);background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-position:-1px -1px;background-size:5% 3.536%;border-radius:10px;position:relative;overflow:hidden}.paper.finger{touch-action:none}.draft{z-index:7;background:var(--bg);border-left:1px solid var(--border);width:50vw;box-shadow:var(--shadow-float);padding-top:env(safe-area-inset-top,0px);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.draft-head{background:var(--card);border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:8px 12px;display:flex}.draft-head .tool{justify-content:center;min-width:40px;font-size:18px}.draft-head .tool:disabled{opacity:.35;cursor:default}.draft-count{color:var(--muted-fg);text-align:center;min-width:52px;font-size:14px}.draft-body{flex:1;padding:16px 16px 120px;overflow-y:auto}.draft-tab{z-index:7;writing-mode:vertical-rl;border:1px solid var(--input);background:var(--card);color:var(--fg);cursor:pointer;box-shadow:var(--shadow-tab);border-right:0;border-radius:10px 0 0 10px;padding:16px 8px;font-size:15px;font-weight:600;position:fixed;top:50%;right:0;transform:translateY(-50%)}.draft-dot{background:var(--primary);border-radius:9999px;width:8px;height:8px;margin-top:8px;display:inline-block}.draft-pages{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}@media (width>=821px){body.draft-open main{margin-right:50vw}body.draft-open .cols{columns:1}}@media (width<=820px){.draft{border-left:0;width:100vw}}.summary{flex-flow:wrap;align-items:center;gap:24px}.big{font:600 40px/1 var(--mono);color:var(--primary)}.big small{color:var(--muted-fg);font-size:20px}.tbl-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted-fg);background:var(--muted);padding:8px 12px;font-weight:500}td{border-top:1px solid var(--border);vertical-align:middle;padding:10px 12px}@media (width<=820px){.cols{columns:1;padding:20px 16px 8px}.sh-head{grid-template-columns:1fr auto}.grade{display:none}.sh-title{grid-template-columns:1fr}.kind{grid-area:auto/1;font-size:14px}.opts.row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.tool .tl{display:none}.sh-num{width:60px;height:60px;font-size:30px}.sh-title h1{font-size:21px}}.meter{align-items:center;gap:10px;display:flex}.meter i{border-radius:var(--radius-control);background:var(--muted);width:120px;height:8px;display:block;position:relative;overflow:hidden}.meter i:after{content:"";width:var(--v);background:var(--secondary);position:absolute;inset:0 auto 0 0}.rv{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;display:grid}.rv-ink{border:1px solid var(--border);background:var(--card);border-radius:10px;overflow-x:auto}.rv-q{pointer-events:none;-webkit-user-select:none;user-select:none;position:relative}.tabs{flex-wrap:wrap;gap:4px;display:flex}.tabs button{cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:500;display:inline-flex}.tabs button[aria-current=page]{background:var(--muted);color:var(--primary)}.count{font:600 11px/1 var(--mono);background:var(--primary);color:var(--primary-fg);border-radius:9999px;padding:3px 6px}@media (width<=820px){.rv{grid-template-columns:1fr}}textarea.field{max-width:none;font:13px/1.5 var(--mono);resize:vertical}a.btn{color:inherit;align-items:center;text-decoration:none;display:inline-flex}label.btn{align-items:center;display:inline-flex}.problems{margin:4px 0 0;padding-left:18px;font-size:13px}body{font:15px/1.5 var(--sans);color:var(--text-body)}h1{font-size:38px;font-weight:var(--head-weight);letter-spacing:0;color:var(--ink);line-height:1.3;font-family:var(--font-head)}h2{font-size:16px;font-weight:var(--head-weight);color:var(--ink);font-family:var(--font-head)}.lede,.note,.ws-meta,.hint,.saved{color:var(--text-mute)}.lede{font-size:14px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.bar{background:var(--canvas);border-bottom:var(--border-width) solid var(--color-line)}.bar-in{align-items:center;gap:16px;min-height:64px;padding-block:10px}.brand{font:700 18px/1 var(--font-head);color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;display:inline-flex}.brand img{width:34px;height:auto;display:block}[data-mode=dark] .brand img{filter:drop-shadow(0 0 5px var(--color-accent))}.tabs{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);box-shadow:var(--l1);background:var(--canvas);flex-wrap:nowrap;gap:0;display:inline-flex;overflow:hidden}.tabs button{border:0;border-left:var(--border-width) solid var(--color-line);background:var(--canvas);min-height:40px;color:var(--text-body);border-radius:0;align-items:center;gap:8px;margin:0;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex}.tabs button:first-child{border-left:0}.tabs button:hover{background:var(--surface-soft);color:var(--ink)}.tabs button[aria-current=page]{background:var(--color-action);color:var(--color-on-action);font-weight:700}.tabs button[aria-current=page] .count{background:var(--color-on-action);color:var(--color-action)}.tabs button:focus:not(:focus-visible){outline:none}.tabs button:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}.who{color:var(--text-mute);font-size:13px}.count{background:var(--color-action);color:var(--color-on-action);border-radius:var(--radius-control);font:700 11px/1 var(--sans);padding:3px 5px}@media (width<=820px){.tabs{order:10;width:100%}.tabs button{flex:1;justify-content:center;padding:0 8px}}.btn{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);background:var(--canvas);color:var(--ink);box-shadow:var(--l1);min-height:40px;font-weight:500}.btn:hover{background:var(--surface-soft)}.btn:active{box-shadow:var(--inset-pressed);transform:translate(2px,2px)}.btn.primary{background:var(--color-action);color:var(--color-on-action);border-color:var(--color-line)}.btn.primary:hover{background:var(--color-action-hover)}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.danger{color:var(--danger-active);border-color:var(--danger-active);box-shadow:2px 2px 0 var(--danger-active)}.btn.danger.solid{background:var(--danger-active);color:var(--canvas)}.btn:disabled{background:var(--surface-card);color:var(--text-ash);box-shadow:none;border-color:var(--hairline-strong);opacity:1}.field,textarea.field{background:var(--surface-soft);border:1px solid var(--hairline);border-radius:var(--radius-control);box-shadow:var(--inset);color:var(--ink)}.field:focus{background:var(--canvas);border-color:var(--ink);box-shadow:none;outline:2px solid var(--focus);outline-offset:2px}.seg{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);box-shadow:var(--l1)}.seg button{color:var(--text-body)}.seg button[aria-pressed=true]{background:var(--color-action);color:var(--color-on-action)}.chip{border-radius:var(--radius-control);border:1px solid var(--hairline-strong);background:var(--surface-card);color:var(--text-body);font-weight:500}.chip.ok{background:var(--canvas);border-color:var(--ink);color:var(--ink);box-shadow:var(--l1)}.chip.ok:before{content:"[x]";margin-right:6px}.chip.bad{background:var(--canvas);border-color:var(--danger-active);color:var(--danger-active)}.chip.bad:before{content:"[!]";margin-right:6px}.chip.wait{background:var(--color-warning-tint);color:var(--color-warning-text);border-color:var(--color-warning-text)}.chip.wait:before{content:"[ ]";margin-right:6px}.error{color:var(--danger-active)}.error:before{content:"[!]";margin-right:6px}.confirm{border:1px solid var(--danger-active);border-radius:var(--radius-card);background:var(--canvas);box-shadow:4px 4px 0 var(--danger-active)}.confirm p:before{content:"[!] ";color:var(--danger-active);font-weight:700}.card{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--l2);background:var(--canvas)}.empty{background:var(--surface-soft);box-shadow:var(--inset)}.empty:before{content:"[ ]";color:var(--ink);margin-bottom:8px;font-size:24px;font-weight:700;display:block}.empty.all-clear:before{content:"[x]";color:var(--color-success-text)}.ws-num,.sh-num{border-radius:var(--radius-control);background:var(--color-action);color:var(--color-on-action)}.ws-stats{border-top:1px solid var(--hairline)}table{font-size:14px}.tbl-wrap{border:var(--border-width) solid var(--color-line);box-shadow:var(--l2)}th{background:var(--surface-card);color:var(--ink);border-bottom:var(--border-width) solid var(--color-line);font-weight:700}td{border-top:1px solid var(--hairline)}.meter i{border-radius:var(--radius-card);background:var(--surface-card);height:12px;box-shadow:var(--inset);border:1px solid var(--hairline-strong)}.meter i:after{background:var(--ink)}.big{color:var(--ink);font-weight:700}.profile{border-radius:var(--radius-card)}.avatar{background:var(--canvas);color:var(--ink);border:var(--border-width) solid var(--color-line);box-shadow:var(--l1)}.pin-dots i{border-color:var(--ink);border-radius:var(--radius-control)}.pin-dots i.on{background:var(--ink)}.pad button{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);box-shadow:var(--l1);background:var(--canvas);color:var(--ink)}.pad button:active{box-shadow:var(--inset-pressed);background:var(--canvas);transform:translate(2px,2px)}.sheet{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--l2);background:var(--canvas)}.sh-head{background:var(--surface-card);border-bottom:var(--border-width) solid var(--color-line)}.grade{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);background:var(--canvas);color:var(--ink);box-shadow:var(--l1)}.sh-title{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-card);background:var(--canvas)}.sh-title h1{color:var(--ink);font-size:24px}.kind{color:var(--text-body)}.cols{column-rule:1px solid var(--ink)}.qnum,.qtext{color:var(--ink)}.seqbox{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);box-shadow:var(--l1)}.opt{border-radius:var(--radius-control);color:var(--ink)}.opt:hover{background:var(--surface-soft)}.opt.picked{background:var(--canvas);color:var(--ink);border-color:var(--ink);box-shadow:var(--l1);font-weight:700}.opt.picked .l:before{content:"[x] "}.opt.is-correct{background:var(--canvas);border-color:var(--ink);box-shadow:var(--l1)}.opt.is-correct .l:before{content:"[x] "}.opt.is-wrong{background:var(--canvas);border-color:var(--danger-active);color:var(--danger-active)}.opt.is-wrong .l:before{content:"[!] "}.order li,.order button{border-radius:var(--radius-control);border-color:var(--ink)}.order li{box-shadow:var(--l1)}.match-row .opt{border-color:var(--hairline-strong)}.scratch.big{border:1px dashed var(--ink);border-radius:var(--radius-card);background:var(--surface-soft);box-shadow:var(--inset)}.fb{background:var(--surface-soft);border-radius:var(--radius-card);border-left:4px solid var(--ink)}.tools{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);box-shadow:var(--l2);background:var(--canvas)}.tool{border-radius:var(--radius-control);color:var(--ink)}.tool[aria-pressed=true]{background:var(--canvas);border-color:var(--ink);box-shadow:var(--inset-pressed);font-weight:700;transform:translate(1px,1px)}.dot{border-radius:var(--radius-control);outline:1px solid var(--ink)}.dot[aria-pressed=true]{outline:2px solid var(--focus)}.size{border-radius:var(--radius-control)}.size span{background:var(--ink);border-radius:var(--radius-card)}.size[aria-pressed=true]{border-color:var(--ink);background:var(--canvas);box-shadow:var(--inset-pressed)}.sep{background:var(--hairline-strong)}.paper{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--l1);background-image:linear-gradient(var(--hairline) 1px, transparent 1px), linear-gradient(90deg, var(--hairline) 1px, transparent 1px)}.draft{background:var(--surface-soft);border-left:var(--border-width) solid var(--color-line);box-shadow:-4px 0 0 var(--ink)}.draft-head{background:var(--canvas);border-bottom:var(--border-width) solid var(--color-line)}.draft-tab{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control) 0 0 var(--radius-control);box-shadow:-2px 2px 0 var(--ink);background:var(--canvas);color:var(--ink);border-right:0}.draft-dot{border-radius:var(--radius-card);background:var(--ink)}.rv-ink{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-card)}select{font:inherit;color:inherit}select.field,select.p-move{appearance:none;height:40px;color:var(--ink);background:var(--surface-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23201d1d' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--hairline-strong);border-radius:var(--radius-control);box-shadow:var(--inset);cursor:pointer;max-width:220px;padding:0 36px 0 12px;font-size:16px}select.field:hover,select.p-move:hover{background-color:var(--canvas);border-color:var(--ink)}select.field:focus,select.p-move:focus{background-color:var(--canvas);border-color:var(--ink);outline:2px solid var(--focus);outline-offset:2px}.pd-pill select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23201d1d' stroke-width='1.8'/%3E%3C/svg%3E") right 2px center no-repeat;padding-right:16px}input.field{height:40px;padding:0 12px;font-size:16px}.qr{background:var(--color-paper);border:var(--border-width) solid var(--color-line);width:220px;padding:8px}.qr svg{width:100%;height:auto;display:block}.dbg{left:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:20;font-size:12px;position:fixed}.dbg-btn{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);background:var(--canvas);min-width:44px;min-height:32px;box-shadow:var(--l1);font:700 12px var(--font-mono);opacity:.85;padding:0 8px}.dbg-btn.bad{background:var(--danger-tint);color:var(--danger-active)}.dbg-panel{background:var(--canvas);border:var(--border-width) solid var(--color-line);width:min(560px,100vw - 16px);box-shadow:var(--l2);flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;bottom:40px;left:0}.dbg-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dbg-msg{color:var(--success-text)}.dbg-log{background:var(--ink);max-height:220px;color:var(--canvas);white-space:pre;margin:0;padding:8px;font-size:11px;overflow:auto}.calc-tab{top:calc(50% + 110px)}.calc-body{flex-direction:column;gap:12px;max-width:420px;padding:16px;display:flex}.calc-screen{background:var(--canvas);border:var(--border-width) solid var(--color-line);box-shadow:var(--inset);text-align:right;padding:12px}.calc-expr{color:var(--text-mute);overflow-wrap:anywhere;min-height:24px;font-size:16px}.calc-out{color:var(--ink);overflow-wrap:anywhere;min-height:44px;font-size:34px;font-weight:700}.calc-out.err{color:var(--danger-active);font-size:20px}.calc-keys{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.calc-key{min-height:56px;font:500 20px var(--font-mono);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);background:var(--canvas);box-shadow:var(--l1);color:var(--ink);touch-action:manipulation}.calc-key.fn{background:var(--surface-card)}.calc-key.op{background:var(--surface-soft);font-weight:700}.calc-key.eq{background:var(--primary-accent);color:var(--color-on-ink)}.calc-key:active{box-shadow:var(--inset-pressed);transform:translate(2px,2px)}.page-head{border-bottom:var(--border-width) solid var(--color-line-strong);flex-wrap:wrap;align-items:flex-end;gap:16px;padding-bottom:16px;display:flex}.page-head-text{flex:320px;min-width:0}.page-head h1{margin:0}.page-head .lede{margin:4px 0 0}.page-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width<=600px){.tabs{scrollbar-width:none;max-width:100%;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none}}.gr-filters{background:var(--color-surface-card);border:var(--border-width) solid var(--color-line-soft);border-radius:var(--radius-control);box-shadow:none;flex-direction:column;gap:12px;padding:16px 20px;display:flex}.gr-filters .row{align-items:center;gap:8px}.gr-filter-row .lbl{min-width:72px}.gr-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-mute);margin:0;font-size:13px;font-weight:700}.gr-results-title{border-bottom:var(--border-width) solid var(--color-line);color:var(--ink);margin-top:12px;padding-bottom:8px;font-size:14px}@media (pointer:coarse){.gr-filters .chip-btn,.gr-filters .btn,.gr-group .btn,.gr-alert .btn,.gr-results-head .btn,.gr-held .btn{min-height:44px}}.gr-alert{background:var(--color-warning-tint);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);box-shadow:var(--l1);flex-wrap:wrap;align-items:center;gap:16px;padding:16px 20px 16px 30px;display:flex;position:relative;overflow:hidden}.gr-alert:before{content:"";background:var(--color-warning);width:6px;position:absolute;inset:0 auto 0 0}.gr-alert-mark{font:700 16px var(--font-mono);color:var(--color-warning-text)}.gr-alert-text{color:var(--color-text);flex-direction:column;flex:280px;gap:2px;display:flex}.gr-alert-text b{color:var(--ink);font-size:16px}.gr-card-head{border-bottom:var(--border-width) solid var(--color-line-soft);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px}.gr-head{align-items:baseline;gap:0;display:flex}.gr-toggle{width:1.2em;color:var(--color-mute);display:inline-block}.gr-card-actions{flex-wrap:wrap;gap:8px}.gr-error{margin:4px 0 0}.gr-results-head{border-bottom:var(--border-width) solid var(--color-line);align-items:center;gap:12px;margin-top:12px;padding-bottom:8px}.gr-results-head .gr-results-title{border:0;margin:0;padding:0}.gr-head-text{flex-direction:column;flex:320px;gap:2px;min-width:0;display:flex}.gr-kid-search{max-width:240px;min-height:36px}.gr-held{background:var(--color-accent-tint);color:var(--ink);border:var(--border-width) solid var(--color-accent-text);border-radius:var(--radius-control);align-items:center;gap:10px;padding:4px 4px 8px 10px;font-size:14px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.gr-drain{background:var(--color-accent);transform-origin:0;width:100%;height:3px;position:absolute;bottom:0;left:0}@media (prefers-reduced-motion:no-preference){.gr-drain{animation:gr-drain var(--undo-ms,5s) linear forwards}}@keyframes gr-drain{to{transform:scaleX(0)}}.gr-confirm-list li{justify-content:space-between;align-items:center;gap:8px;padding:2px 0;display:flex}.gr-confirm-list{max-height:40vh;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.gr-group .tbl-wrap{box-shadow:none}.gr-date{white-space:nowrap}.gr-actions{text-align:right}.gr-actions .row{flex-wrap:nowrap;justify-content:flex-end;gap:8px}@media (width<=600px){.gr-group .tbl-wrap{border:0;overflow:visible}.gr-group table,.gr-group tbody{display:block}.gr-group tr{border-top:var(--border-width) solid var(--color-line-soft);grid-template-columns:1fr auto;align-items:center;gap:6px 12px;padding:12px 0;display:grid}.gr-group td{border:0;padding:0;display:block}.gr-group td.gr-try:empty,.gr-group tr.gr-earlier td.gr-kid{display:none}.gr-group td.gr-status{grid-column:1/-1}.gr-group td.gr-actions{text-align:left;grid-column:1/-1}.gr-actions .row{justify-content:stretch}.gr-actions .btn{flex:1;min-height:44px}.gr-filter-row .lbl{width:100%;min-width:0}.gr-alert .btn,.gr-card-actions,.gr-card-actions .btn{width:100%}}.gr-title{font-size:17px}.gr-selects{align-items:end!important}.gr-selects .field{min-width:150px}.chip-btn{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);background:var(--canvas);min-height:36px;box-shadow:var(--l1);font:500 14px var(--font-sans);color:var(--ink);cursor:pointer;padding:0 12px}.chip-btn[aria-pressed=true]{background:var(--color-action);color:var(--color-on-action);box-shadow:var(--inset-pressed);transform:var(--press-move)}.chip-btn[aria-pressed=true]:before{content:"[x] "}.gr-head{font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;padding:4px 0}.gr-earlier td{color:var(--color-mute);font-size:14px}.gr-questions{gap:8px}.gq-grid{grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:16px;display:grid}@media (width<=700px){.gq-grid{grid-template-columns:1fr}}.gq-card.dim{opacity:.55}.gq-card .rv-ink{overflow-x:auto}.btn.pv{align-items:center;gap:8px;display:inline-flex}.pv-mark{flex:none;width:18px;height:18px}.btn.pv.off{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.pv.off .pv-mark{filter:grayscale()}.books-list{padding:0}.book-row{border-bottom:1px solid var(--hairline);align-items:flex-start;padding:12px 16px}.book-row:last-child{border-bottom:0}.stack.tight{gap:4px}.book-stats{flex-wrap:wrap;gap:6px}.book-chapter h2{margin:0}.book-text p{max-width:70ch;margin:0 0 8px;line-height:1.6}.glossary{gap:6px;margin:0;display:grid}.glossary dt{color:var(--ink);font-weight:700}.glossary dd{margin:0 0 0 16px}.reader{z-index:50;background:var(--r-bg);color:var(--r-fg);--r-bg:var(--reader-light-bg);--r-fg:var(--reader-light-fg);--r-mute:var(--reader-light-mute);--r-line:var(--reader-light-line);--r-link:var(--reader-light-link);flex-direction:column;display:flex;position:fixed;inset:0}.reader.theme-sepia{--r-bg:var(--reader-sepia-bg);--r-fg:var(--reader-sepia-fg);--r-mute:var(--reader-sepia-mute);--r-line:var(--reader-sepia-line);--r-link:var(--reader-sepia-link)}.reader.theme-dark{--r-bg:var(--reader-dark-bg);--r-fg:var(--reader-dark-fg);--r-mute:var(--reader-dark-mute);--r-line:var(--reader-dark-line);--r-link:var(--reader-dark-link)}.reader-bar,.reader-foot{border-bottom:1px solid var(--r-line);flex:none;align-items:center;gap:8px;padding:8px 16px;display:flex}.reader-foot{border-bottom:0;border-top:1px solid var(--r-line);justify-content:space-between}.reader .btn.ghost,.reader .note{color:var(--r-fg)}.reader-title{white-space:nowrap;text-overflow:ellipsis;max-width:40vw;overflow:hidden}.reader-chapters{max-width:40vw}.reader-tools{gap:4px;display:flex}.reader .tool{min-width:44px;min-height:44px}.reader .sw-light{background:var(--reader-light-bg);color:var(--reader-light-fg)}.reader .sw-sepia{background:var(--reader-sepia-bg);color:var(--reader-sepia-fg)}.reader .sw-dark{background:var(--reader-dark-bg);color:var(--reader-dark-fg)}.reader-page{touch-action:pan-y;flex:auto;min-height:0;padding:24px max(24px,50vw - 21em);overflow:hidden}.reader-text{font:400 var(--reader-size,21px)/1.6 Georgia, "Iowan Old Style", "Times New Roman", serif;color:var(--r-fg)}.reader-text p{text-indent:1.4em;-webkit-hyphens:auto;hyphens:auto;margin:0 0 .8em}.reader-text p.cont{text-indent:0}.reader-text .reader-chapter-title{margin:0 0 .8em;font:700 1.3em/1.3 Georgia,serif}.reader-measure{visibility:hidden;height:auto;position:absolute;top:0;left:-10000px}.gloss-word{font:inherit;color:inherit;-webkit-text-decoration:underline dotted var(--r-link) 2px;text-decoration:underline dotted var(--r-link) 2px;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.gloss-panel{background:var(--r-bg);max-width:520px;color:var(--r-fg);border:1px solid var(--r-fg);box-shadow:4px 4px 0 var(--r-fg);z-index:60;margin:0 auto;padding:12px 16px;font-size:16px;position:fixed;bottom:72px;left:16px;right:16px}.gloss-panel ul{margin:4px 0;padding-left:20px}.gloss-translation{margin:4px 0;font-weight:600}.assignment-row{border-top:1px solid var(--hairline);align-items:flex-start;padding:8px 0}.assign-form fieldset{border:1px solid var(--hairline);flex-wrap:wrap;gap:8px 16px;padding:8px 12px;display:flex}.assign-form .check,.assignments .check{align-items:center;gap:6px;min-height:44px;display:inline-flex}.reader-stop{height:100%;color:var(--r-fg);max-width:42em;font-size:17px;overflow:auto}.reader-stop .q{background:var(--canvas);color:var(--ink)}.cp-title{margin:0 0 8px}.cp-feedback{border:var(--border-width) solid var(--color-line);background:var(--canvas);color:var(--ink);margin:12px 0;padding:8px 12px}.cp-feedback.ok{box-shadow:inset 4px 0 0 var(--success);background:var(--success-tint)}.cp-feedback.bad{box-shadow:inset 4px 0 0 var(--warning);background:var(--warning-tint)}.cp-feedback p{margin:4px 0 0}.chapter-test h2{margin-top:0}.reader-text .hl-yellow{background:var(--mark-yellow)}.reader-text .hl-green{background:var(--mark-green)}.reader-text .hl-blue{background:var(--mark-blue)}.reader-text .hl-pink{background:var(--mark-pink)}.reader-text .ul{-webkit-text-decoration:underline solid var(--r-fg) 2px;text-decoration:underline solid var(--r-fg) 2px;text-underline-offset:3px}.reader-text .has-note{-webkit-text-decoration:underline dashed var(--r-link) 2px;text-decoration:underline dashed var(--r-link) 2px;text-underline-offset:5px;cursor:pointer}.reader-text .ul.has-note{-webkit-text-decoration:underline double var(--r-link) 2px;text-decoration:underline double var(--r-link) 2px}.reader-text .sel{outline:2px solid var(--r-link);outline-offset:-1px;background:var(--mark-select)}.theme-dark .reader-text .hl-yellow{background:var(--mark-yellow-dark)}.reader.marking .reader-page{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair}.reader .sw-yellow{background:var(--swatch-yellow);color:var(--color-ink)}.reader .sw-green{background:var(--swatch-green);color:var(--color-ink)}.reader .sw-blue{background:var(--swatch-blue);color:var(--color-ink)}.reader .sw-pink{background:var(--swatch-pink);color:var(--color-ink)}.note-panel textarea{width:100%;min-height:96px;font:inherit;box-sizing:border-box}.note-panel .note-text{white-space:pre-wrap;margin:6px 0}.rv-chip{border-radius:var(--radius-control);min-height:24px;font:500 13px/2 var(--font-mono);white-space:nowrap;border:1px solid;align-items:center;padding:0 8px;display:inline-flex}.rv-chip.rv-draft{background:var(--surface-card);border-color:var(--hairline-strong);color:var(--text-body)}.rv-chip.rv-in_review{background:var(--color-warning-tint);border-color:var(--color-warning-text);color:var(--color-warning-text)}.rv-chip.rv-approved{background:var(--color-success-tint);border-color:var(--color-success-text);color:var(--color-success-text)}.rv-chip.rv-archived{background:var(--canvas);border-color:var(--hairline-strong);color:var(--text-mute)}.rv-panel{box-shadow:var(--l2), inset 4px 0 0 var(--color-warning)}.rv-panel.rv-approved{box-shadow:var(--l2), inset 4px 0 0 var(--color-success)}.rv-panel.rv-archived{box-shadow:var(--l2)}.rv-panel h2{margin:0}.rv-meter{background:var(--surface-card);max-width:280px;height:16px;box-shadow:var(--inset);border:1px solid var(--hairline-strong);flex:160px}.rv-meter>div{background:var(--color-accent);height:100%}.q-with-below{break-inside:avoid}.ev-q{border:1px dashed var(--hairline-strong);background:var(--canvas);flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 20px;padding:8px 10px;display:flex}.ev-points{align-items:center;gap:6px;display:inline-flex}.ev-points .field{width:80px}.ev-comment{flex:220px;min-width:0}.ev-note{border-left:3px solid var(--color-accent);background:var(--color-accent-tint);color:var(--ink);margin:-4px 0 20px;padding:8px 10px}.ev-panel .field{width:100%}.rv-item{border:1px dashed var(--hairline-strong);background:var(--canvas);flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 20px;padding:8px 10px;display:flex}.rv-item.rv-ok{box-shadow:inset 4px 0 0 var(--color-success);border-style:solid}.rv-item.rv-fix{box-shadow:inset 4px 0 0 var(--color-warning);background:var(--color-warning-tint);border-style:solid}.rv-item.rv-remove{box-shadow:inset 4px 0 0 var(--color-danger);background:var(--color-danger-tint);border-style:solid}.rv-label{margin-right:4px;font-weight:700}.rv-note{flex:200px}.row.tight{gap:8px}.kind-tag{font:500 12px/2 var(--font-mono);color:var(--text-mute);text-transform:uppercase;letter-spacing:.04em;display:inline-block}.exam-tag{color:var(--color-warning-text)}.exam-clock{font:700 16px var(--font-mono);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);background:var(--canvas);color:var(--ink);font-variant-numeric:tabular-nums;padding:4px 10px}.exam-clock.low{background:var(--color-danger-tint);color:var(--color-danger-text);border-color:var(--color-danger)}.exam-fields{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.metric{background:var(--canvas);border:var(--border-width) solid var(--color-line);box-shadow:var(--l2);font:inherit;color:var(--ink);cursor:pointer;text-align:left;border-top-width:6px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 16px;display:flex}.metric b{font-size:32px;line-height:1.2}.metric span{color:var(--text-mute);font-size:14px}.metric.accent{border-top-color:var(--color-accent)}.metric.accent b{color:var(--color-accent-text)}.metric.warning{border-top-color:var(--color-warning)}.metric.warning b{color:var(--color-warning-text)}.metric.danger{border-top-color:var(--color-danger)}.metric.danger b{color:var(--danger-active)}.metric:active{box-shadow:var(--inset-pressed);transform:translate(2px,2px)}.late-row{box-shadow:inset 4px 0 0 var(--color-danger);padding-left:12px}.library-bar{flex-wrap:wrap}.bar .who.btn{font-size:14px}.sum{border:1px solid var(--hairline-strong);border-radius:var(--radius-control);background:var(--canvas);flex-wrap:wrap;align-items:center;gap:6px 8px;padding:4px 8px;font-size:14px;display:inline-flex}.sum-name{font-weight:700}.sum-pill{font:500 13px/1.6 var(--font-mono);border-radius:var(--radius-control);border:1px solid;padding:0 6px}.sum-not_started .sum-pill{border-color:var(--hairline-strong);color:var(--text-body);background:var(--surface-card)}.sum-working .sum-pill{border-color:var(--color-accent-text);color:var(--color-accent-text);background:var(--color-accent-tint)}.sum-handed_in .sum-pill{border-color:var(--color-warning-text);color:var(--color-warning-text);background:var(--color-warning-tint)}.sum-evaluated .sum-pill{border-color:var(--color-success-text);color:var(--color-success-text);background:var(--color-success-tint)}.sum-meter{border:1px solid var(--hairline-strong);background:var(--surface-card);width:72px;height:10px;box-shadow:var(--inset);display:inline-block}.sum-meter>span{background:var(--color-accent);height:100%;display:block}.sum-evaluated .sum-meter>span{background:var(--color-success)}.sum-bits{color:var(--text-mute)}.sums{flex-wrap:wrap;gap:8px;display:flex}.hub-head{border-bottom:1px solid var(--hairline-strong);flex-wrap:wrap;align-items:flex-end;gap:8px;padding-bottom:16px;display:flex}.hub-head h1{margin:0}.hub-head p{margin:4px 0 0}.hub-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hub-search{flex:240px}.hub-split{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:0;display:grid}.hub-detail{border:var(--border-width) solid var(--color-action);border-radius:0 var(--radius-card) var(--radius-card) var(--radius-card);background:var(--color-surface);min-height:420px;padding:18px}.hub-path{color:var(--color-mute);margin:0 0 6px;font-size:13px}.hub-path b{background:var(--color-action);color:var(--color-on-action);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:0 10px;font-size:12px;display:inline-block}@keyframes hub-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}@keyframes hub-glow{0%{outline:var(--border-width) solid var(--color-action);outline-offset:0}to{outline:var(--border-width) solid transparent;outline-offset:12px}}@keyframes hub-bar{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.hub-pane{background:var(--canvas);border:var(--border-width) solid var(--color-line);box-shadow:none;border-right:0;flex-direction:column;max-height:calc(100vh - 220px);display:flex;position:sticky;top:76px}.hub-pane-head{border-bottom:1px solid var(--hairline);padding:8px 12px}.hub-scroll{flex:1;position:relative;overflow:auto}.tree-s,.tree-t{text-align:left;cursor:pointer;width:100%;font:inherit;background:var(--canvas);border:0;align-items:center;gap:8px;min-height:36px;display:flex}.tree-s{z-index:3;letter-spacing:.08em;text-transform:uppercase;color:var(--color-mute);padding:12px 12px 4px;font-size:12px;font-weight:700;position:sticky;top:0}.tree-t{color:var(--color-mute);padding:4px 12px 4px 26px;font-size:13px;font-weight:600}.tree-s .num,.tree-t .num{letter-spacing:0;color:var(--color-faint);font-weight:500}.tree-chev{width:12px;color:var(--color-faint);display:inline-block}.tree-s:hover,.tree-t:hover{color:var(--color-text)}.tree-it{z-index:1;text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);background:0 0;border:0;min-height:44px;padding:9px 30px 9px 38px;display:block;position:relative}.tree-items.loose .tree-it{padding-left:26px}.tree-it:hover{background:var(--surface-soft)}.tree-it[aria-current]{background:0 0}.tree-it[aria-current] .tree-title{color:var(--color-ink);font-weight:800}.tree-it[aria-current] .note{color:var(--color-ink);font-weight:700}.tree-it[aria-current]:before{content:"";background:var(--color-action);width:6px;position:absolute;top:0;bottom:0;left:0}.tree-go{color:var(--color-ink);font-size:20px;font-weight:800;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.tree-dot{background:var(--color-warning);border-radius:50%;flex:none;width:8px;height:8px}.tree-hl{z-index:0;background:color-mix(in srgb, var(--color-action) 20%, var(--color-surface));pointer-events:none;position:absolute;left:0;right:0}.tree-title{white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.pill-late{font:500 12px/1.6 var(--font-mono);border-radius:var(--radius-control);border:1px solid var(--danger-active);color:var(--danger-active);background:var(--color-danger-tint);white-space:nowrap;padding:0 6px;display:inline-block}.hub-card{padding:16px}.hub-title{margin:0;font-size:24px}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.tile{background:var(--canvas);border:var(--border-width) solid var(--color-line);border-top:6px solid var(--color-accent);box-shadow:var(--l1);padding:8px 12px}.tile b{font-size:28px;line-height:1.3;display:block}.tile span{color:var(--text-mute);font-size:13px}.tile.a b{color:var(--color-accent-text)}.tile.s{border-top-color:var(--color-success)}.tile.s b{color:var(--color-success-text)}.tile.w{border-top-color:var(--color-warning)}.tile.w b{color:var(--color-warning-text)}.tile.d{border-top-color:var(--color-danger)}.tile.d b{color:var(--danger-active)}.tablewrap{background:var(--canvas);border:var(--border-width) solid var(--color-line);box-shadow:var(--l2);overflow-x:auto}.tablewrap table th{text-align:left;background:var(--surface-card);border-bottom:var(--border-width) solid var(--color-line);padding:6px 10px}.tablewrap table td{border-bottom:1px solid var(--hairline);padding:6px 10px}.giving-head{border-bottom:1px solid var(--hairline-strong);padding:8px 12px}.sum-pill.sum-not_started{border-color:var(--hairline-strong);color:var(--text-body);background:var(--surface-card)}.sum-pill.sum-working{border-color:var(--color-accent-text);color:var(--color-accent-text);background:var(--color-accent-tint)}.sum-pill.sum-handed_in{border-color:var(--color-warning-text);color:var(--color-warning-text);background:var(--color-warning-tint)}.sum-pill.sum-evaluated{border-color:var(--color-success-text);color:var(--color-success-text);background:var(--color-success-tint)}.num{font-variant-numeric:tabular-nums}@media (width<=960px){.hub-split{grid-template-columns:1fr;gap:16px}.hub-pane{border-right:var(--border-width) solid var(--color-line);max-height:420px;position:static}.hub-detail{border-radius:var(--radius-card)}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.scrim{background:var(--color-scrim);z-index:60;position:fixed;inset:0}.dialog{z-index:61;background:var(--color-surface);border:var(--border-width) solid var(--color-line);box-shadow:var(--shadow-3);border-radius:var(--radius-card);flex-direction:column;width:min(560px,100vw - 32px);max-height:calc(100vh - 32px);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dialog.wide{width:min(920px,100vw - 32px)}.dialog:focus{outline:none}.dialog-text{padding:16px 18px}.dialog>header{border-bottom:var(--border-width) solid var(--color-line);align-items:center;gap:8px;padding:14px 18px;display:flex}.dialog>header h2{margin:0;font-size:18px}.dlg-body{flex:1;grid-template-columns:minmax(0,1fr) 300px;min-height:0;display:grid}.dlg-pick{border-right:1px solid var(--hairline-strong);padding:14px 18px;overflow:auto}.dlg-side{background:var(--surface-soft);flex-direction:column;gap:12px;padding:14px 18px;display:flex;overflow:auto}.dlg-group{border:1px solid var(--hairline-strong);background:var(--canvas);margin-top:14px;padding:8px 12px}.dlg-studs{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0 12px;margin-top:4px;display:grid}.dlg-studs .check{align-items:center;gap:8px;min-height:40px;display:flex}.dlg-more{text-align:left;justify-content:flex-start;align-self:flex-start;padding:0}.dlg-fieldset{border:1px solid var(--hairline-strong);margin:0;padding:6px 10px}.dlg-fieldset .check{align-items:center;gap:8px;min-height:36px;display:flex}.dialog>footer{border-top:var(--border-width) solid var(--color-line);align-items:center;gap:8px;padding:12px 18px;display:flex}.sel-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.sel-chip{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);box-shadow:var(--l1);background:var(--canvas);align-items:center;gap:2px;min-height:30px;padding:0 2px 0 8px;font-size:13px;display:inline-flex}.sel-chip button{cursor:pointer;min-width:28px;min-height:28px;color:var(--text-mute);background:0 0;border:0}mark.hit{background:var(--color-search-hit);color:inherit}.later{color:var(--color-warning-text);border:1px dashed var(--color-warning-text);border-radius:var(--radius-control);padding:0 6px;font-size:12px}@media (width<=760px){.dlg-body{grid-template-columns:1fr}.dlg-pick{border-right:0;border-bottom:1px solid var(--hairline-strong)}}.sub-title{margin:0;font-size:22px}.reader-bar{flex-wrap:wrap;row-gap:6px}.reader-bar .tool,.reader-bar .btn,.reader-tools{white-space:nowrap;flex:none}.reader-bar .tool{padding:0 10px}.reader-title{flex:0 auto;min-width:0}@media (width<=720px){.reader-title{display:none}.reader-chapters{flex:160px;min-width:0;max-width:none}}.reader-page{position:relative}.reader-ink{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.reader.theme-dark{--pen-ink:var(--reader-dark-fg);--pen-blue:var(--reader-dark-pen-blue);--pen-red:var(--reader-dark-pen-red)}.reader-mark-tools .dot,.reader-paper-tools .dot{border:2px solid var(--r-fg);cursor:pointer;border-radius:50%;flex:none;width:28px;height:28px}.reader-mark-tools .dot[aria-pressed=true],.reader-paper-tools .dot[aria-pressed=true]{outline:3px solid var(--color-accent);outline-offset:2px}.reader-mark-tools .size,.reader-paper-tools .size{border-radius:var(--radius-control);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.reader-mark-tools .size span,.reader-paper-tools .size span{background:var(--r-fg);border-radius:50%;display:block}.reader-mark-tools .size[aria-pressed=true],.reader-paper-tools .size[aria-pressed=true]{border-color:var(--r-fg)}.reader-paper .draft{z-index:70;color:var(--color-ink)}.reader-paper-tools{z-index:71}.reader-paper-read{z-index:70;color:var(--color-ink)}@media (width<=720px){.reader-paper .draft,.reader-paper-read{width:100vw}}.btn.small{min-height:32px;padding:0 10px;font-size:13px}.empty-action{justify-content:center;margin-top:12px;display:flex}.loading{margin:16px 0}.loading:before{content:"[~] "}.menu{z-index:80;background:var(--color-surface);border:var(--border-width) solid var(--color-line);min-width:240px;box-shadow:var(--shadow-2);border-radius:var(--radius-card);padding:4px}.menu-item{cursor:pointer;border-radius:var(--radius-control);min-height:44px;color:var(--color-ink);outline:none;flex-direction:column;justify-content:center;gap:2px;padding:8px 12px;font-weight:500;display:flex}.menu-item[data-highlighted]{background:var(--color-accent-tint);box-shadow:inset 4px 0 0 var(--color-accent)}.tip{z-index:90;background:var(--color-ink);color:var(--color-on-ink);border-radius:var(--radius-control);max-width:260px;padding:4px 8px;font-size:13px;line-height:1.4}.tip-arrow{fill:var(--color-ink)}.toasts{z-index:95;top:calc(76px + env(safe-area-inset-top,0px));outline:none;flex-direction:column;gap:8px;width:min(380px,100vw - 32px);margin:0;padding:0;list-style:none;display:flex;position:fixed;right:16px}.toast{background:var(--color-surface);color:var(--color-ink);border:var(--border-width) solid var(--color-line);box-shadow:var(--shadow-2);border-radius:var(--radius-control);padding:10px 14px;font-size:14px}.toast-ok:before{content:"[+] ";color:var(--color-success-text);font-weight:700}.toast-info:before{content:"[i] ";color:var(--color-accent-text);font-weight:700}@media (prefers-reduced-motion:no-preference){.tree-hl{transition:top var(--motion-slow) var(--ease-out), height var(--motion-slow) var(--ease-out)}.tree-it[aria-current]:before{animation:hub-bar var(--motion-slow) var(--ease-out) both}.hub-detail{animation:hub-glow calc(var(--motion-slow) * 3) var(--ease-out)}.hub-detail>*{animation:hub-in var(--motion-slow) var(--ease-out) both}.btn,.chip-btn,.tool,.opt,.tree-it,.metric,.tabs button,.seg button,.field,.menu-item{transition:background-color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out)}.scrim[data-state=open]{animation:kit-fade var(--motion) var(--ease-out)}.scrim[data-state=closed]{animation:kit-fade var(--motion-fast) var(--ease-in) reverse}.dialog[data-state=open]{animation:kit-rise var(--motion) var(--ease-out)}.dialog[data-state=closed]{animation:kit-rise var(--motion-fast) var(--ease-in) reverse}.menu[data-state=open],.tip[data-state=delayed-open]{animation:kit-fade var(--motion-fast) var(--ease-out)}.toast[data-state=open]{animation:kit-slide var(--motion) var(--ease-out)}.toast[data-state=closed]{animation:kit-fade var(--motion-fast) var(--ease-in) reverse}.toast[data-swipe=move]{transform:translateX(var(--radix-toast-swipe-move-x))}}@keyframes kit-fade{0%{opacity:0}to{opacity:1}}@keyframes kit-rise{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes kit-slide{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.btn:focus-visible,.chip-btn:focus-visible,.tool:focus-visible,.tree-it:focus-visible,.menu-item:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.menu-label{color:var(--color-mute);text-transform:uppercase;letter-spacing:.04em;padding:8px 12px 2px;font-size:12px;font-weight:600}.menu-check{font-family:var(--font-mono);color:var(--color-accent-text)}.report .tablewrap td,.report .tablewrap th{white-space:nowrap}.report tr.is-current td{background:var(--color-accent-tint)}.report-kid h2{margin:0}.chart{border-top:1px solid var(--color-line-soft);flex-direction:column;gap:6px;padding-top:12px;display:flex}.chart h3{font:var(--head-weight) 15px/1.4 var(--font-head);color:var(--color-ink);margin:0}.chart-scroll{overflow-x:auto}.chart svg{display:block}.chart-axis{stroke:var(--color-line-strong);stroke-width:1px}.chart-fill{fill:var(--color-accent)}.chart-fill.skimmed,.chart-fill.long{fill:var(--color-warning)}.chart-expected{stroke:var(--color-ink);stroke-width:2px;stroke-dasharray:3 2}.chart-average{fill:var(--color-surface);stroke:var(--color-ink);stroke-width:2px}.chart-flag{font:700 12px var(--font-mono);fill:var(--color-warning-text)}.chart-grid{stroke:var(--color-line-soft);stroke-width:1px}.chart-tick{font:500 11px var(--font-mono);fill:var(--color-mute)}.chart-chapter{stroke:var(--color-line-strong);stroke-width:1px;stroke-dasharray:2 3}.report-cps ul,.report-tests ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.cp-try{font-family:var(--font-mono);margin-left:10px}.cp-try.ok{color:var(--color-success-text)}.cp-try.bad,.report-tests li.below b{color:var(--color-danger-text)}.chart-hit{fill:#0000}.chart-bar{cursor:default;outline:none}.chart-bar:hover .chart-hit,.chart-bar:focus-visible .chart-hit{fill:var(--color-accent-tint)}.chart-readout{min-height:1.5em}.chart-legend{flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.chart-legend i{vertical-align:middle;margin-right:4px;display:inline-block}.lg-bar{background:var(--color-accent);border-radius:2px 2px 0 0;width:10px;height:12px}.lg-line{border-top:2px dashed var(--color-ink);width:16px}.lg-dot{border:2px solid var(--color-ink);background:var(--color-surface);border-radius:50%;width:8px;height:8px}.chart-table{font-size:13px}.signs{border-left:4px solid var(--color-warning);padding-left:10px}@media print{.bar,.no-print,.toasts,.dbg,.look-btn{display:none!important}main{padding:0}.card,.tablewrap{box-shadow:none;break-inside:avoid}.chart{break-inside:avoid}}.reader-mark-tools{bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:55;color:var(--color-ink);width:fit-content;max-width:calc(100% - 32px);margin-inline:auto;left:0;right:0;transform:none}.reader-mark-tools .btn svg,.reader-mark-tools .tool svg{vertical-align:-3px;width:18px;height:18px}.reader-mark-tools .dot,.reader-paper-tools .dot{border-color:var(--color-ink)}.ev-meta{margin:0}.ev-sum{flex-wrap:wrap;align-items:center;gap:8px 16px;font-weight:700;display:flex}.ev-ok{color:var(--color-success-text)}.ev-no{color:var(--color-danger-text)}.ev-pen{color:var(--color-warning-text)}.ev-score{font-family:var(--font-head);color:var(--color-ink);font-size:20px}.ev-only{cursor:pointer;align-items:center;gap:6px;margin-left:auto;font-size:14px;font-weight:500;display:flex}.ev-tiles{grid-template-columns:repeat(10,52px);justify-content:start;gap:6px;margin:0;padding:0;list-style:none;display:grid}.ev-tile{border-radius:var(--radius-control);background:var(--surface-soft);width:52px;height:52px;color:var(--color-mute);position:relative}.ev-tile.ok{background:var(--color-success-tint);color:var(--color-success-text)}.ev-tile.no{background:var(--color-danger-tint);color:var(--color-danger-text)}.ev-tile.pen{background:var(--color-warning-tint);color:var(--color-warning-text);outline:var(--border-width) dashed var(--color-warning);outline-offset:-2px}.ev-tile-open{width:100%;height:100%;color:inherit;font:inherit;cursor:pointer;border-radius:inherit;background:0 0;border:0;place-items:center;padding:0;display:grid}.ev-tile-open:hover{outline:var(--border-width) solid var(--color-line);outline-offset:-2px}.ev-qn{opacity:.8;font-size:11px;font-weight:700;position:absolute;top:3px;left:6px}.ev-qs{margin-top:4px;font-size:18px;font-weight:800}.ev-tile:has(.ev-all) .ev-qs{margin-top:-8px}.ev-all{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:800;position:absolute;bottom:2px;left:2px;right:2px}.ev-all:hover{text-decoration:underline}.ev-legend{flex-wrap:wrap;gap:6px 16px;margin:0;display:flex}.ev-legend span{align-items:center;gap:6px;display:inline-flex}.ev-legend i{border-radius:4px;width:14px;height:14px}.ev-legend i.ok{background:var(--color-success-tint)}.ev-legend i.no{background:var(--color-danger-tint)}.ev-legend i.pen{background:var(--color-warning-tint);outline:2px dashed var(--color-warning);outline-offset:-2px}.ev-earlier ul{gap:4px;margin:4px 0 0;padding:0;list-style:none;display:grid}.ev-earlier li{align-items:center;gap:8px;display:flex}.ev-finish{border-top:1px solid var(--hairline-strong);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding-top:14px;display:grid}.ev-comment{resize:vertical;width:100%}.ev-actions{justify-items:stretch;gap:8px;display:grid}.ev-actions .btn{min-height:44px}@media (width<=960px){.ev-tiles{grid-template-columns:repeat(5,52px)}.ev-finish{grid-template-columns:1fr}.ev-only{margin-left:0}}.tree-s,.tree-t{padding-right:34px}.tree-s{border-top:1px solid var(--hairline)}.hub-scroll>div:first-of-type>.tree-s{border-top:0}.tree-t{font-size:14px;font-weight:500}.tree-chev{width:20px;color:var(--color-mute);text-align:center;font-size:18px;line-height:1}.tree-s .num,.tree-t .num{text-align:center;background:var(--surface-soft);border:1px solid var(--hairline-strong);min-width:24px;color:var(--color-mute);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.tree-items{border-left:2px solid var(--hairline-strong);margin-left:38px}.tree-items.loose{margin-left:18px}.tree-items .tree-it,.tree-items.loose .tree-it{padding:10px 34px 10px 14px}.tree-it .tree-title{color:var(--color-ink);font-size:15px;font-weight:700}.tree-it .kind-tag{font:600 11px/1.7 var(--font-sans);text-transform:none;letter-spacing:0;background:var(--color-accent-tint);color:var(--color-accent-text);border-radius:999px;padding:0 8px}.tree-it .note.num{font-weight:600}.tree-go{font-size:28px;line-height:1;right:10px}.hub-pane{border-right:var(--border-width) solid var(--color-line);box-shadow:var(--l2)}.hub-detail{z-index:1;margin-left:calc(-1 * var(--border-width));box-shadow:var(--l2);position:relative}@media (width<=960px){.hub-detail{margin-left:0}}.assign-head{align-items:flex-start}.assign-head h2,.assign-head .note{margin:0}.assignments .giving{margin-top:4px}.giving-detail{font-size:13px;display:block}.giving.assignment-row{border-top:var(--border-width) solid var(--color-line);padding:0}.ev-hero{background:var(--color-surface);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--l2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.ev-hero-title{font:var(--head-weight) 28px/1.15 var(--font-head);color:var(--color-ink);margin:0}.ev-hero-title:focus{outline:none}.ev-hero-sum{color:var(--color-mute);flex-wrap:wrap;gap:6px 18px;margin:6px 0 0;display:flex}.ev-hero-sum b{font:var(--head-weight) 20px var(--font-head);color:var(--color-ink);margin-right:2px}.ev-bar{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.ev-kids{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.ev-kid{border-radius:var(--radius-round);cursor:pointer;opacity:.45;transition:opacity var(--motion-fast) var(--ease-out);background:0 0;border:0;padding:0}.ev-kid[aria-pressed=true]{opacity:1}.ev-kid[aria-pressed=true] .ev-ava{outline:3px solid var(--color-action);outline-offset:1px}.ev-kid:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.ev-ava{border-radius:var(--radius-round);border:var(--border-width) solid var(--color-line);width:34px;height:34px;font:800 14px var(--font-sans);color:var(--color-ink);background:var(--color-accent-tint);flex:none;place-items:center;display:inline-grid}.ev-ava[data-tone="1"]{background:var(--color-success-tint)}.ev-ava[data-tone="2"]{background:var(--color-warning-tint)}.ev-ava[data-tone="3"]{background:var(--color-danger-tint)}.ev-steps{border-radius:var(--radius-round)}.ev-steps button{padding:7px 14px;font-size:14px;font-weight:600}.ev-steps .ev-n{opacity:.8;margin-left:6px;font-weight:800}.ev-queue{gap:22px;display:grid}.ev-step-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 4px 8px;display:flex}.ev-step-title{letter-spacing:.07em;text-transform:uppercase;color:var(--color-ink);margin:0;font-size:13px;font-weight:700}.ev-step-title .num{color:var(--color-mute)}.ev-step-hint{color:var(--color-mute);font-size:13px}.ev-step-head .btn{align-self:center}.ev-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ev-item{background:var(--color-surface);border:var(--border-width) solid var(--hairline-strong);border-radius:var(--radius-control);transition:border-color var(--motion-fast) var(--ease-out)}.ev-item:hover,.ev-item[data-open]{border-color:var(--color-line)}.ev-item[data-open]{box-shadow:var(--l1)}.ev-row{grid-template-columns:auto minmax(0,1fr) auto auto auto auto;align-items:center;gap:14px;padding:10px 12px 10px 16px;display:grid}.ev-open{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;gap:1px;padding:2px 0;display:grid}.ev-open:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:var(--radius-control)}.ev-series{letter-spacing:.05em;text-transform:uppercase;color:var(--color-faint);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.ev-own{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.ev-who{color:var(--color-mute);font-size:13px}.ev-who b{color:var(--color-text)}.ev-date{color:var(--color-faint);white-space:nowrap;font-size:13px}.ev-next{justify-content:flex-end;display:inline-flex}.ev-next .gr-held{flex-wrap:nowrap}.ev-chev{width:16px;color:var(--color-mute);text-align:center;font-size:16px}.ev-detail{border-top:1px solid var(--hairline-strong);gap:14px;padding:14px 16px 16px}.ev-forall{border:var(--border-width) dashed var(--hairline-strong);border-radius:var(--radius-control);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;display:flex}.ev-forall-title{color:var(--color-ink);margin:0;font-size:15px;font-weight:700}.ev-forall-list{flex-wrap:wrap;gap:8px;display:flex}@media (prefers-reduced-motion:no-preference){.ev-detail{animation:ev-open var(--motion) var(--ease-out)}@keyframes ev-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}}@media (pointer:coarse){.ev-next .btn,.ev-step-head .btn,.ev-steps button{min-height:44px}}@media (width<=720px){.ev-row{grid-template-columns:auto minmax(0,1fr) auto;gap:8px 12px}.ev-state{grid-area:2/2}.ev-date{display:none}.ev-next{grid-column:1/-1;justify-content:stretch}.ev-next .btn{flex:1;min-height:44px}.ev-chev{grid-area:1/3}.ev-steps{max-width:100%;overflow-x:auto}.ev-steps button{white-space:nowrap}}.wordmark{letter-spacing:-.015em;align-items:baseline;font-weight:800;display:inline-flex}.wm-do{color:var(--color-ink)}.wm-slim{background:linear-gradient(90deg, var(--brand-a), var(--brand-b));color:#0000;-webkit-background-clip:text;background-clip:text}@media (forced-colors:active){.wm-slim{color:canvastext;background:0 0}}.bk-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 22px;display:grid}.bk-title{margin:4px 0 0;font-size:28px}.bk-checker{font-size:14px;font-weight:700}.bk-checker.ok{color:var(--color-success-text)}.bk-head-side{text-align:right;justify-items:end;gap:8px;display:grid}.bk-head-side .rv-meter{flex:none;width:220px}.bk-fixn{color:var(--color-warning-text)}.bk-why{max-width:260px}.bk-split{grid-template-columns:300px minmax(0,1fr);align-items:start;display:grid}.bk-list{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-card) 0 0 var(--radius-card);background:var(--surface-soft);box-shadow:var(--l2);position:sticky;top:76px;overflow:hidden}.bk-list-head{font:700 12px/1.4 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-mute);margin:0;padding:14px 16px 8px}.bk-ch{border:0;border-top:1px solid var(--hairline);text-align:left;width:100%;min-height:56px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 16px;display:grid;position:relative}.bk-ch:hover{background:var(--color-surface)}.bk-n{border:var(--border-width) solid var(--color-line);background:var(--color-surface);width:28px;height:28px;color:var(--color-ink);border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.bk-ch.ok .bk-n{background:var(--color-success)}.bk-ch.fix .bk-n{background:var(--color-warning)}.bk-ch-text{min-width:0;display:grid}.bk-ch-title{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.bk-ch-state{color:var(--color-faint);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.bk-ch.fix .bk-ch-state{color:var(--color-warning-text)}.bk-ch.ok .bk-ch-state{color:var(--color-success-text)}.bk-ch[aria-current=true]{background:color-mix(in srgb, var(--color-action) 18%, var(--color-surface))}.bk-ch[aria-current=true]:before{content:"";background:var(--color-action);width:6px;position:absolute;top:0;bottom:0;left:0}.bk-go{color:var(--color-ink);opacity:0;font-size:24px;font-weight:800;line-height:1}.bk-ch[aria-current=true] .bk-go{opacity:1}.bk-extra{border-top:var(--border-width) solid var(--color-line)}.bk-extra .bk-ch{border-top:0;grid-template-columns:minmax(0,1fr) auto;min-height:48px}.bk-detail{z-index:1;margin-left:calc(-1 * var(--border-width));border:var(--border-width) solid var(--color-action);border-radius:0 var(--radius-card) var(--radius-card) var(--radius-card);background:var(--color-surface);min-height:480px;box-shadow:var(--l2);flex-direction:column;display:flex;position:relative}.bk-body{flex:1;padding:22px 26px}.bk-body>.note:first-child{margin:0}.bk-ch-h{margin:2px 0 4px;font-size:26px}.bk-detail .book-text{gap:4px;margin-top:14px}.bk-detail .book-text p{color:var(--color-ink);font-size:17px;line-height:1.7}.bk-cp{border-left:5px solid var(--color-action);border-radius:0 var(--radius-control) var(--radius-control) 0;background:color-mix(in srgb, var(--color-action) 12%, var(--color-surface));margin:4px 0 16px;padding:10px 14px}.bk-cp b,.bk-test b{letter-spacing:.06em;text-transform:uppercase;color:var(--color-mute);font-size:12px;display:block}.bk-cp ol,.bk-test ol{margin:4px 0 0;padding-left:20px}.bk-test{border:var(--border-width) dashed var(--hairline-strong);border-radius:var(--radius-control);background:var(--surface-soft);margin-top:18px;padding:14px 16px}.bk-decide{border-top:var(--border-width) solid var(--color-line);background:var(--color-surface);border-radius:0 0 var(--radius-card) var(--radius-card);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 22px;display:grid}.bk-seg{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);box-shadow:var(--l1);display:inline-flex;overflow:hidden}.bk-seg button{background:var(--color-surface);min-height:44px;font:inherit;color:var(--color-ink);cursor:pointer;border:0;padding:8px 18px;font-weight:700}.bk-seg button+button{border-left:var(--border-width) solid var(--color-line)}.bk-seg button.ok[aria-pressed=true]{background:var(--color-success)}.bk-seg button.fix[aria-pressed=true]{background:var(--color-warning)}@media (prefers-reduced-motion:no-preference){.bk-detail>*{animation:hub-in var(--motion-slow) var(--ease-out) both}.bk-ch[aria-current=true]:before{animation:hub-bar var(--motion-slow) var(--ease-out) both}}@media (width<=960px){.bk-head{grid-template-columns:1fr}.bk-head-side{text-align:left;justify-items:start}.bk-split{grid-template-columns:1fr;gap:16px}.bk-list{border-radius:var(--radius-card);position:static}.bk-detail{border-radius:var(--radius-card);margin-left:0}.bk-decide{border-radius:0 0 var(--radius-card) var(--radius-card);grid-template-columns:1fr}}.finder{gap:20px}.fd-head{border-bottom:1px solid var(--hairline-strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:24px;display:flex}.fd-head h1{margin:0}.fd-title{flex-direction:column;flex:1;gap:12px;min-width:280px;display:flex}.fd-search{width:100%;max-width:460px}.fd-totals{flex-wrap:wrap;gap:12px;display:flex}.fd-total{cursor:pointer;text-align:left;background:var(--canvas);min-width:120px;color:var(--ink);border:1px solid var(--ink);box-shadow:var(--l1);border-radius:0;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;font-family:inherit;display:flex}.fd-total b{font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.1}.fd-total span{color:var(--text-mute);font-size:13px}.fd-total:hover{background:var(--surface-soft)}.fd-total:active{box-shadow:var(--inset-pressed);transform:translate(2px,2px)}.fd-chips,.fd-filters,.fd-active{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fd-chips button:not(.fd-add):not(.fd-mini):not(.link),.fd-pill{min-height:36px;font:500 14px/1 var(--sans);cursor:pointer;border:1px solid var(--ink);background:var(--surface-card);color:var(--text-body);border-radius:4px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.fd-chips button[aria-pressed=true],.fd-pill.on{background:var(--canvas);color:var(--ink);box-shadow:var(--inset-pressed);font-weight:700;transform:translate(2px,2px)}.fd-chips button[aria-pressed=true]:before{content:"[x]"}.fd-chips.sub button:not(.fd-add):not(.fd-mini){min-height:32px;padding:0 12px;font-size:13px}.fd-chip-edit{align-items:center;gap:4px;display:inline-flex}.fd-mini{border:1px solid var(--hairline-strong);background:var(--canvas);min-width:28px;height:28px;color:var(--ink);font:700 13px/1 var(--sans);cursor:pointer;border-radius:4px;padding:0 6px}.fd-mini:active{box-shadow:var(--inset-pressed);transform:translate(1px,1px)}.fd-add{border:1px dashed var(--hairline-strong);min-height:36px;color:var(--text-mute);font:500 14px/1 var(--sans);cursor:pointer;background:0 0;border-radius:4px;padding:0 14px}.fd-add:hover{color:var(--ink);border-color:var(--ink)}input.fd-add-field{width:auto;max-width:220px;height:36px;padding:0 12px}.fd-pill span{color:var(--text-mute)}.fd-pill.on span{color:var(--ink)}.fd-pill select{appearance:none;height:34px;font:700 14px var(--sans);color:var(--ink);cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23201d1d' stroke-width='1.8'/%3E%3C/svg%3E") right 2px center no-repeat;border:0;padding:0 18px 0 0}.fd-active button:not(.link){background:var(--ink);min-height:28px;color:var(--canvas);font:700 12px/1 var(--sans);cursor:pointer;border:0;border-radius:4px;padding:0 10px}.link{color:var(--ink);font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.fd-list{gap:0;padding:0}.fd-item+.fd-item{border-top:1px solid var(--hairline)}.fd-line{grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:16px 20px;display:grid}.fd-main{flex-direction:column;gap:8px;min-width:0;display:flex}.fd-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fd-name{color:var(--ink);font-size:16px}.fd-num{font:700 12px/1.4 var(--sans);border:1px solid var(--ink);color:var(--ink);border-radius:4px;padding:1px 6px}.fd-diff{color:var(--text-mute);border:1px solid;border-radius:4px;padding:1px 6px;font-size:12px;line-height:1.4}.fd-diff.medium{color:var(--ink)}.fd-diff.hard{color:var(--danger-active)}.fd-facts{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.fd-tag{background:var(--ink);color:var(--canvas);border-radius:4px;padding:3px 8px;font-size:12px;font-weight:700;line-height:1.3}.fd-tag.light{background:var(--canvas);color:var(--ink);border:1px solid var(--ink);box-shadow:var(--l1)}.fd-meta{color:var(--text-mute);font-size:12px}.fd-meta+.fd-meta:before{content:"· "}.fd-hash{font:12px var(--sans);color:var(--ink);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.fd-due{background:var(--surface-card);border:1px solid var(--hairline-strong);color:var(--ink);border-radius:4px;padding:3px 8px;font-size:12px;font-weight:700;line-height:1.3;display:inline-block}.fd-due.overdue{color:var(--danger-active);border-color:var(--danger-active);background:var(--canvas)}.fd-due.overdue:before{content:"[!] "}.ws-top .fd-due{margin-top:6px}.fd-kids{gap:6px;display:flex}.fd-kid{border:1px solid var(--hairline-strong);background:var(--surface-card);min-width:38px;height:38px;color:var(--text-body);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 4px;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.fd-kid small{font-size:9px;font-weight:600}.fd-kid.in_progress{border-style:dashed;border-color:var(--ink)}.fd-kid.to_grade,.fd-kid.waiting_review{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.fd-kid.done{background:var(--canvas);border-color:var(--ink);color:var(--ink);box-shadow:var(--l1)}.fd-kid.done.low{color:var(--danger-active);border-color:var(--danger-active);box-shadow:2px 2px 0 var(--danger-active)}.fd-acts{gap:8px;display:flex}.fd-legend{flex-wrap:wrap;align-items:center;gap:6px 4px;display:flex}.fd-legend .fd-kid{vertical-align:middle;min-width:26px;height:26px;margin:0 4px 0 12px}.fd-details{background:var(--surface-soft);box-shadow:var(--inset);border-top:1px solid var(--ink);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px 28px;padding:18px 20px 22px;display:grid}.fd-details label,.fd-field{flex-direction:column;gap:6px;font-size:13px;display:flex}.fd-details label>span,.fd-field>span{color:var(--text-mute);font-weight:600}.fd-details .note{grid-column:1/-1}.fd-details .seg,.fd-details select{align-self:flex-start}.fd-tagedit{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fd-tagedit input.field{max-width:180px}.group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-mute);margin:8px 0 0;font-size:14px}@media (width<=820px){.fd-line{grid-template-columns:1fr;gap:12px}}.lnd{background:var(--color-ground);color:var(--color-text);font-family:var(--font-sans);min-height:100vh;font-size:15px;line-height:1.6}.lnd h1,.lnd h2{color:var(--color-ink);font-family:var(--font-head);font-weight:var(--head-weight);margin:0;line-height:1.15}.lnd p{margin:0}.lnd-wrap{max-width:1080px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}.lnd .btn{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-1);transition:background var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.lnd .btn:active{transform:var(--press-move);box-shadow:none}.lnd .btn.primary{background:var(--color-action);color:var(--color-on-action);border-color:var(--color-action)}.lnd .btn.primary:hover{background:var(--color-action-hover)}.lnd .btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.lnd :focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.lnd-top{justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.lnd-logo{color:var(--color-ink);font-family:var(--font-head);font-weight:var(--head-weight);align-items:center;gap:10px;font-size:20px;text-decoration:none;display:inline-flex}[data-mode=dark] .lnd-logo img{filter:drop-shadow(0 0 6px var(--color-accent))}.lnd-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.lnd-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:24px 0 48px;display:grid}.lnd-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--color-mute);font-size:12px;font-weight:700}.lnd-hero h1{letter-spacing:-.03em;margin-top:12px;font-size:clamp(32px,5vw,54px)}.lnd-hl{background:var(--mark-yellow);color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.35em;margin:0 -.06em;padding:0 .18em}.lnd-lede{max-width:34em;font-size:17px;margin:20px 0 28px!important}.lnd-cta{flex-wrap:wrap;gap:12px;display:flex}.lnd-cta .btn{padding:12px 18px;font-size:15px}.lnd-note{color:var(--color-mute);font-size:13px;margin-top:14px!important}.lnd-art{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-2);background:var(--color-surface-card);margin:0;overflow:hidden}.lnd-art img{object-fit:cover;width:100%;height:100%;display:block}.lnd-hero-art{box-shadow:none;aspect-ratio:483/570;-webkit-mask-image:linear-gradient(to right, transparent, var(--color-ink) 18%);-webkit-mask-image:linear-gradient(to right, transparent, var(--color-ink) 18%);mask-image:linear-gradient(to right, transparent, var(--color-ink) 18%);border:0}.lnd-feats{grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:56px;display:grid}.lnd-card{background:var(--color-surface);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-2);padding:0 20px 20px;overflow:hidden}.lnd-card img{aspect-ratio:2;object-fit:cover;border-bottom:var(--border-width) solid var(--color-line);width:calc(100% + 40px);margin:0 -20px 16px;display:block}.lnd-card h2{margin-bottom:8px;font-size:18px}.lnd-row{border-top:var(--border-width) solid var(--color-line);grid-template-columns:200px 1fr;align-items:center;gap:24px;padding:40px 0;display:grid}.lnd-row h2{font-size:22px}.lnd-how{grid-template-columns:200px 1fr}.lnd-how .lnd-anim-wrap{grid-column:1/-1;margin-inline:min(0px,50% + min(1280px,100vw - 32px)/-2)}.lnd-tabs{flex-wrap:wrap;gap:6px;padding-left:16px;display:flex}.lnd-tab{top:var(--border-width);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control) var(--radius-control) 0 0;background:var(--color-surface);color:var(--color-mute);font:inherit;font-family:var(--font-head);font-weight:var(--head-weight);cursor:pointer;border-bottom:0;padding:10px 18px;font-size:15px;position:relative}.lnd-tab:hover{color:var(--color-text)}.lnd-tab[aria-selected=true]{background:var(--color-surface-card);color:var(--color-text);background-image:linear-gradient(var(--color-action), var(--color-action));z-index:1;background-repeat:no-repeat;background-size:100% 3px}.lnd-anim{border:var(--border-width) solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-2);background:var(--color-surface-card);grid-template-columns:minmax(0,1fr) 300px;margin:0;display:grid;overflow:hidden}.lnd-anim-stage{aspect-ratio:16/10;background:var(--color-ground);position:relative}.lnd-replay{padding:12px 22px;font-size:18px;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.lnd-anim-stage canvas,.lnd-anim-stage img{object-fit:cover;width:100%;height:100%;display:block}.lnd-side{border-left:var(--border-width) solid var(--color-line);background:var(--color-surface);flex-direction:column;gap:4px;height:0;min-height:100%;padding:14px 12px;display:flex;position:relative;overflow-y:auto}.lnd-side-phase{border-radius:var(--radius-control);padding:6px 4px 8px}.lnd-side-phase[data-active]{background:var(--color-surface-card)}.lnd-side-head{align-items:center;gap:8px;display:flex;margin:0!important;font-size:16px!important}.lnd-side-pn{border:var(--border-width) solid var(--color-line);width:26px;height:26px;color:var(--color-mute);border-radius:50%;place-items:center;font-size:13px;display:grid}.lnd-side-phase[data-active] .lnd-side-pn{background:var(--color-action);border-color:var(--color-action);color:var(--color-on-action)}.lnd-side-sub{color:var(--color-mute);font-size:12px;line-height:1.35;margin:2px 0 6px 34px!important}.lnd-side-list{gap:2px;margin:0;padding:0 0 0 26px;list-style:none;display:grid}.lnd-side-step{text-align:left;border-radius:var(--radius-control);width:100%;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:26px 1fr;align-items:baseline;gap:6px;padding:5px 8px;font-size:14px;line-height:1.3;display:grid}.lnd-side-step:hover{background:var(--color-surface-card)}.lnd-side-n{font-family:var(--font-head);font-weight:var(--head-weight);color:var(--color-mute);font-size:12px}.lnd-side-step[aria-current=step]{background:var(--color-action);color:var(--color-on-action);font-weight:700}.lnd-side-step[aria-current=step] .lnd-side-n{color:var(--color-on-action)}.lnd-side-desc{color:var(--color-text);font-size:13px;line-height:1.45;margin:6px 8px 6px 40px!important}.lnd-side-bar{background:var(--color-line);border-radius:2px;height:4px;margin:0 8px 6px 40px;display:block;overflow:hidden}.lnd-side-bar>span{background:var(--color-action);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.lnd-side-ctl{z-index:1;border-top:var(--border-width) solid var(--color-line);background:var(--color-surface);align-items:center;gap:6px;margin:auto -12px -14px;padding:10px 12px 14px;display:flex;position:sticky;bottom:-14px}.lnd-side-ctl .btn{min-height:36px;padding:6px 12px}.lnd-anim-n{white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-text);flex:1;font-size:12px;font-weight:700}.lnd-n{font-family:var(--font-head);font-weight:var(--head-weight);color:var(--color-accent-text)}.lnd-band{background:var(--color-action);color:var(--color-on-action);margin-top:24px;padding:40px 0}.lnd-band .lnd-wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.lnd-band h2{color:var(--color-on-action);font-size:26px}.lnd-band .btn{background:var(--color-on-action);color:var(--color-action);border-color:var(--color-on-action);box-shadow:none}.lnd-foot{color:var(--color-mute);padding-top:28px;padding-bottom:28px;font-size:13px}.lnd-teaser{color:var(--color-text);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface-card);box-shadow:var(--shadow-2);transition:transform var(--motion-fast) var(--ease-out);grid-template-columns:minmax(0,1.2fr) 1fr;align-items:center;gap:24px;padding:14px;text-decoration:none;display:grid}.lnd-teaser:hover{transform:translateY(-2px)}.lnd-teaser-art{border-radius:var(--radius-control);aspect-ratio:16/9;background:var(--color-ground);display:block;position:relative;overflow:hidden}.lnd-teaser-art img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}.lnd-play{background:var(--color-action);width:72px;height:72px;color:var(--color-on-action);border:var(--border-width) solid var(--color-ink);border-radius:50%;place-items:center;margin:auto;padding-left:6px;font-size:28px;display:grid;position:absolute;inset:0}.lnd-teaser-text{gap:8px;display:grid}.lnd-teaser-text b{font-family:var(--font-head);font-weight:var(--head-weight);color:var(--color-ink);font-size:22px}.lnd-tsteps-wrap .lnd-teaser{margin-top:32px}.lnd-howpage{max-width:1400px;padding:0 max(16px, env(safe-area-inset-left,0px)) 24px;margin:0 auto}.lnd-howpage>h1{margin:4px 0 14px;font-size:28px}.lnd-howpage .lnd-anim-stage{aspect-ratio:auto;height:clamp(360px,100dvh - 200px,820px)}@media (prefers-reduced-motion:reduce){.lnd-teaser{transition:none}}.lnd-audience button{white-space:nowrap}.lnd-tfeats{grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:48px;display:grid}.lnd-tcard{--tint:var(--color-action);border:var(--border-width) solid var(--color-line-soft);border-radius:var(--radius-card);background:color-mix(in srgb, var(--tint) 9%, var(--color-surface));flex-direction:column;gap:14px;padding:18px;display:flex}.lnd-tcard[data-tint=accent]{--tint:var(--color-accent)}.lnd-tcard[data-tint=success]{--tint:var(--color-success)}.lnd-tcard[data-tint=warning]{--tint:var(--color-warning)}.lnd-tcard h2{align-items:center;gap:10px;font-size:17px;display:flex}.lnd-tcard h2 svg{color:var(--tint);flex:none}.lnd-tcard>p{color:var(--color-text);font-size:14px}.lnd-mini{border:var(--border-width) solid var(--color-line-soft);border-radius:var(--radius-control);background:var(--color-surface-card);gap:6px;margin:0;padding:10px 12px;font-size:13px;list-style:none;display:grid}.lnd-mini ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.lnd-mini li{border-radius:var(--radius-control);align-items:center;gap:8px;padding:5px 8px;display:flex}.lnd-mini li[data-on]{background:color-mix(in srgb, var(--tint) 16%, var(--color-surface-card));font-weight:700}.lnd-box{border:var(--border-width) solid var(--color-line-strong);background:var(--color-surface);border-radius:3px;flex:none;width:14px;height:14px}li[data-on]>.lnd-box{background:var(--tint);border-color:var(--tint)}.lnd-mini-head{color:var(--color-mute);font-size:12px;font-weight:700}.lnd-mini-split{color:var(--color-text);justify-content:space-between;display:flex}.lnd-mini-split b{color:var(--tint)}.lnd-mini-foot{color:var(--color-mute);font-size:12px}.lnd-mini-grid{color:var(--color-mute);grid-template-columns:1fr 1fr;gap:4px 10px;font-size:12px;display:grid}.lnd-mini-grid b{color:var(--color-text);font-size:18px}.lnd-ink{color:var(--color-accent-text)!important}.lnd-ok{color:var(--color-success-text)}.lnd-mini-book{align-items:center;gap:12px;display:flex}.lnd-mini-book img{border:var(--border-width) solid var(--color-line-soft);object-fit:cover;border-radius:4px}.lnd-mini-book div{flex:1;gap:8px;display:grid}.lnd-lines{background:repeating-linear-gradient(var(--color-line-soft) 0 3px, transparent 3px 8px);height:18px}.lnd-progress{background:var(--color-line-soft);border-radius:4px;height:8px;overflow:hidden}.lnd-progress>span{background:var(--tint);width:72%;height:100%;display:block}.lnd-tsteps-wrap{border-top:var(--border-width) solid var(--color-line);padding:40px 0}.lnd-tsteps-wrap>h2{font-size:26px;margin-bottom:24px!important}.lnd-tsteps{counter-reset:none;grid-template-columns:repeat(4,1fr);gap:24px;margin:0;padding:0;list-style:none;display:grid}.lnd-tsteps li{align-content:start;gap:8px;display:grid;position:relative}.lnd-tsteps li:not(:last-child):after{content:"→";color:var(--color-accent-text);font-size:22px;position:absolute;top:30px;right:-18px}.lnd-tsteps svg{color:var(--color-accent-text)}.lnd-tstep-n{background:var(--color-action);width:32px;height:32px;color:var(--color-on-action);font-family:var(--font-head);font-weight:var(--head-weight);border-radius:50%;place-items:center;font-size:13px;display:inline-grid}.lnd-tsteps h3{font-family:var(--font-head);font-weight:var(--head-weight);color:var(--color-ink);margin:0;font-size:18px}.lnd-tsteps p{font-size:14px}.lnd-tband{border-radius:var(--radius-card);background:color-mix(in srgb, var(--color-action) 9%, var(--color-surface));grid-template-columns:auto auto 1fr;align-items:center;gap:28px;margin-bottom:40px;padding:24px 28px;display:grid}.lnd-tband-art{color:var(--color-accent-text)}.lnd-tband h2{border-left:var(--border-width) solid var(--color-line);padding-left:28px;font-size:26px}.lnd-tband ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.lnd-tband li{align-items:center;gap:10px;display:flex}.lnd-check{background:var(--color-action);width:24px;height:24px;color:var(--color-on-action);border-radius:50%;flex:none;place-items:center;display:grid}.lnd-check svg{width:16px;height:16px}@media (width<=1080px) and (width>=821px){.lnd-tfeats{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.lnd-hero,.lnd-row,.lnd-how,.lnd-feats{grid-template-columns:1fr}.lnd-hero-art{border-radius:var(--radius-card);-webkit-mask-image:none;mask-image:none}.lnd-hide-sm{display:none!important}.lnd-anim,.lnd-teaser{grid-template-columns:1fr}.lnd-howpage .lnd-anim-stage{aspect-ratio:4/3;height:auto}.lnd-tfeats,.lnd-tsteps{grid-template-columns:1fr}.lnd-tsteps li:after{display:none}.lnd-tband{grid-template-columns:1fr}.lnd-tband h2{border-left:0;padding-left:0}.lnd-audience button{padding:6px 8px;font-size:13px}.lnd-anim-stage{aspect-ratio:4/3}.lnd-side{border-left:0;border-top:var(--border-width) solid var(--color-line);height:auto;min-height:0;max-height:420px}}@media (prefers-reduced-motion:reduce){.lnd .btn{transition:none}}@media (pointer:coarse){.lnd-side-step,.lnd-side-ctl .btn{min-height:44px}}.lnd-intro{text-align:center;background:color-mix(in srgb, var(--color-ground) 82%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:2;place-content:center;justify-items:center;gap:14px;padding:24px;display:grid;position:absolute;inset:0}.lnd-intro-title{font-family:var(--font-head);color:var(--color-ink);margin:0;font-size:clamp(22px,3.2vw,34px);font-weight:800}.lnd-intro-phases{flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:0;padding:0;list-style:none;display:flex}.lnd-intro-phases li{color:var(--color-ink);align-items:center;gap:8px;font-weight:700;display:inline-flex}.lnd-intro-phases span{background:var(--color-action);width:26px;height:26px;color:var(--color-on-action);border-radius:50%;place-items:center;font-size:13px;display:grid}.lnd-intro-bar{background:var(--color-line-soft);border-radius:99px;width:min(240px,60%);height:6px;overflow:hidden}.lnd-intro-bar span{background:var(--color-action);transform-origin:0;height:100%;animation:lnd-intro-run var(--intro-ms) linear both;display:block}@keyframes lnd-intro-run{0%{transform:scaleX(0)}to{transform:scaleX(1)}}
