:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#eef0f3;--surface:#fbfbfc;--surface-2:#f3f5f8;--surface-sunken:#e6e9ee;--ink:#0c0d10;--ink-2:#4e5158;--ink-muted:#858991;--line:#dde1e7;--line-strong:#c0c5cd;--accent:#2a78d6;--accent-ink:#fff;--accent-wash:#eaf2fd;--good:#0ca30c;--good-text:#006300;--warn:#fab219;--critical:#d03b3b;--series-1:#2a78d6;--series-scheduled:#86b6ef;--grid:#dde1e7;--baseline:#c0c5cd;--radius:16px;--radius-sm:10px;--radius-pill:999px;--border-width:1px;--shadow:0 1px 2px #0c0d100a, 0 12px 28px -18px #0c0d1038;--shadow-strong:0 1px 2px #0c0d101a;--sans:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--display:var(--sans);--mono:ui-monospace, "Cascadia Code", "Segoe UI Mono", Menlo, Consolas, monospace;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--tabbar:64px;--gutter:clamp(18px, 2.8vw, 52px);--gap:clamp(16px, 1.8vw, 28px);--card-pad:18px;--section-y:2px;--page-texture:none;--page-texture-size:auto;--heading-weight:650;--heading-tracking:-.025em;--data-font:var(--sans);--step--1:12px;--step-0:clamp(13.5px, .28vw + 12.8px, 15px);--step-1:clamp(15px, .35vw + 14px, 17px);--step-2:clamp(17px, .5vw + 15.6px, 21px);--step-3:clamp(21px, 1vw + 18px, 28px);--step-4:clamp(32px, 3.2vw + 20px, 54px)}:root[data-pack=northlight],:root:not([data-pack]){--page:#eef0f3;--surface:#fbfbfc;--surface-2:#f3f5f8;--surface-sunken:#e6e9ee;--ink:#0c0d10;--ink-2:#4e5158;--ink-muted:#858991;--line:#dde1e7;--line-strong:#c0c5cd;--accent:#2a78d6;--accent-ink:#fff;--accent-wash:#eaf2fd;--series-1:#2a78d6;--series-scheduled:#86b6ef;--grid:#dde1e7;--baseline:#c0c5cd;--radius:16px;--radius-sm:10px;--radius-pill:999px;--border-width:1px;--shadow:0 1px 2px #0c0d100a, 0 12px 28px -18px #0c0d1038;--shadow-strong:0 1px 2px #0c0d101a;--sans:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--display:var(--sans);--data-font:var(--sans);--gutter:clamp(18px, 2.8vw, 52px);--gap:clamp(16px, 1.8vw, 28px);--card-pad:18px;--section-y:2px;--heading-weight:650;--heading-tracking:-.025em;--page-texture:none}:root[data-pack=ledger]{--page:#eeebe6;--surface:#faf9f7;--surface-2:#f3f0ea;--surface-sunken:#e4e0d8;--ink:#1a1917;--ink-2:#4a4742;--ink-muted:#7a756c;--line:#d4cfc4;--line-strong:#1a1917;--accent:#0f6b5c;--accent-ink:#fff;--accent-wash:#e4f2ef;--good:#1a7a3c;--good-text:#0f5a2c;--warn:#b8860b;--critical:#a83232;--series-1:#0f6b5c;--series-scheduled:#7aada3;--grid:#d4cfc4;--baseline:#b8b1a4;--radius:8px;--radius-sm:4px;--radius-pill:4px;--border-width:1px;--shadow:none;--shadow-strong:none;--sans:"Source Sans 3", system-ui, sans-serif;--display:"Source Serif 4", "Iowan Old Style", "Palatino Linotype", Palatino, serif;--mono:"Source Sans 3", ui-monospace, monospace;--data-font:var(--mono);--gutter:clamp(12px, 1.8vw, 28px);--gap:clamp(10px, 1vw, 14px);--card-pad:12px;--section-y:6px;--heading-weight:650;--heading-tracking:-.02em;--page-texture:none;--step--1:11px;--step-0:clamp(12.5px, .22vw + 12px, 14px);--step-1:clamp(14px, .28vw + 13.2px, 15.5px);--step-2:clamp(16px, .4vw + 14.5px, 19px);--step-3:clamp(19px, .7vw + 16px, 24px);--step-4:clamp(26px, 2vw + 18px, 40px)}@media (prefers-color-scheme:dark){:root[data-pack=ledger]:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#12110f;--surface:#1c1b19;--surface-2:#24221f;--surface-sunken:#0e0d0c;--ink:#f4f2ee;--ink-2:#c4bfb6;--ink-muted:#8a857c;--line:#2e2c28;--line-strong:#f4f2ee;--accent:#2bb59a;--accent-ink:#06221c;--accent-wash:#16352e;--good:#3dba6a;--good-text:#3dba6a;--warn:#d4a017;--critical:#e05a5a;--series-1:#2bb59a;--series-scheduled:#1a5c50;--grid:#2e2c28;--baseline:#3d3a34;--shadow:none;--shadow-strong:none}}:root[data-pack=ledger][data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#12110f;--surface:#1c1b19;--surface-2:#24221f;--surface-sunken:#0e0d0c;--ink:#f4f2ee;--ink-2:#c4bfb6;--ink-muted:#8a857c;--line:#2e2c28;--line-strong:#f4f2ee;--accent:#2bb59a;--accent-ink:#06221c;--accent-wash:#16352e;--good:#3dba6a;--good-text:#3dba6a;--warn:#d4a017;--critical:#e05a5a;--series-1:#2bb59a;--series-scheduled:#1a5c50;--grid:#2e2c28;--baseline:#3d3a34;--shadow:none;--shadow-strong:none}:root[data-pack=ledger][data-profile=school]{--accent:#243b6b;--accent-ink:#fff;--accent-wash:#e8ecf4;--series-1:#243b6b;--series-scheduled:#7b93c9}@media (prefers-color-scheme:dark){:root[data-pack=ledger][data-profile=school]:not([data-theme=light]){--accent:#7b93c9;--accent-ink:#10182a;--accent-wash:#1c2438;--series-1:#7b93c9;--series-scheduled:#243b6b}}:root[data-pack=ledger][data-profile=school][data-theme=dark]{--accent:#7b93c9;--accent-ink:#10182a;--accent-wash:#1c2438;--series-1:#7b93c9;--series-scheduled:#243b6b}:root[data-pack=workshop]{--page:#e8e2d6;--surface:#f6f1e8;--surface-2:#ebe4d6;--surface-sunken:#ddd4c4;--ink:#2a2218;--ink-2:#5c5348;--ink-muted:#8a7f70;--line:#cfc4b0;--line-strong:#8a7a62;--accent:#b85c38;--accent-ink:#fff;--accent-wash:#f5e8e0;--good:#4a7a3c;--good-text:#2f5a24;--warn:#c4891a;--critical:#a84838;--series-1:#b85c38;--series-scheduled:#d4a08c;--grid:#cfc4b0;--baseline:#b5a890;--radius:6px;--radius-sm:3px;--radius-pill:6px;--border-width:1.5px;--shadow:2px 2px 0 #2a22181f;--shadow-strong:3px 3px 0 #2a22182e;--sans:"DM Sans", system-ui, sans-serif;--display:"Source Serif 4", "Iowan Old Style", Palatino, serif;--mono:"DM Sans", ui-monospace, monospace;--data-font:var(--sans);--gutter:clamp(14px, 2vw, 32px);--gap:clamp(12px, 1.2vw, 18px);--card-pad:14px;--section-y:10px;--heading-weight:650;--heading-tracking:-.01em;--page-texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.25 0 0 0 0 0.18 0 0 0 0 0.1 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--page-texture-size:160px 160px;--step--1:11.5px;--step-0:clamp(13px, .24vw + 12.4px, 14.5px);--step-1:clamp(14.5px, .3vw + 13.5px, 16px);--step-2:clamp(16.5px, .45vw + 15px, 20px);--step-3:clamp(20px, .9vw + 17px, 26px);--step-4:clamp(28px, 2.4vw + 18px, 46px)}@media (prefers-color-scheme:dark){:root[data-pack=workshop]:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#1a1612;--surface:#241f19;--surface-2:#2c261f;--surface-sunken:#12100d;--ink:#f3ece2;--ink-2:#c4b8a6;--ink-muted:#8f8474;--line:#3a3228;--line-strong:#c4b8a6;--accent:#d4784a;--accent-ink:#1a100c;--accent-wash:#3a2418;--good:#6aaa58;--good-text:#6aaa58;--warn:#d4a017;--critical:#e07060;--series-1:#d4784a;--series-scheduled:#6b3d28;--grid:#3a3228;--baseline:#4a4034;--shadow:2px 2px 0 #00000073;--shadow-strong:3px 3px 0 #0000008c;--page-texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.9 0 0 0 0 0.85 0 0 0 0 0.75 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}}:root[data-pack=workshop][data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#1a1612;--surface:#241f19;--surface-2:#2c261f;--surface-sunken:#12100d;--ink:#f3ece2;--ink-2:#c4b8a6;--ink-muted:#8f8474;--line:#3a3228;--line-strong:#c4b8a6;--accent:#d4784a;--accent-ink:#1a100c;--accent-wash:#3a2418;--good:#6aaa58;--good-text:#6aaa58;--warn:#d4a017;--critical:#e07060;--series-1:#d4784a;--series-scheduled:#6b3d28;--grid:#3a3228;--baseline:#4a4034;--shadow:2px 2px 0 #00000073;--shadow-strong:3px 3px 0 #0000008c;--page-texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.9 0 0 0 0 0.85 0 0 0 0 0.75 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--page-texture-size:160px 160px}:root[data-pack=workshop][data-profile=school]{--accent:#4a5c38;--accent-ink:#fff;--accent-wash:#e8ece0;--series-1:#4a5c38;--series-scheduled:#9aab7a}@media (prefers-color-scheme:dark){:root[data-pack=workshop][data-profile=school]:not([data-theme=light]){--accent:#9aab7a;--accent-ink:#141810;--accent-wash:#2a3020;--series-1:#9aab7a;--series-scheduled:#4a5c38}}:root[data-pack=workshop][data-profile=school][data-theme=dark]{--accent:#9aab7a;--accent-ink:#141810;--accent-wash:#2a3020;--series-1:#9aab7a;--series-scheduled:#4a5c38}:root[data-pack=signal]{--page:#f5f5f5;--surface:#fff;--surface-2:#f0f0f0;--surface-sunken:#e8e8e8;--ink:#000;--ink-2:#3d3d3d;--ink-muted:#8a8a8a;--line:#e0e0e0;--line-strong:#000;--accent:#d71921;--accent-ink:#fff;--accent-wash:#fde8e9;--good:#1a7a40;--good-text:#0f5a2c;--warn:#c47a00;--critical:#d71921;--series-1:#d71921;--series-scheduled:#f0a0a4;--grid:#e0e0e0;--baseline:#c8c8c8;--radius:2px;--radius-sm:0px;--radius-pill:999px;--border-width:1px;--shadow:none;--shadow-strong:none;--sans:"IBM Plex Sans", system-ui, sans-serif;--display:var(--sans);--mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--data-font:var(--mono);--gutter:clamp(16px, 2.2vw, 40px);--gap:clamp(14px, 1.4vw, 22px);--card-pad:16px;--section-y:8px;--heading-weight:500;--heading-tracking:.04em;--page-texture:radial-gradient(circle, #0000001c .55px, transparent .6px);--page-texture-size:11px 11px;--step--1:11px;--step-0:clamp(13px, .24vw + 12.4px, 14.5px);--step-1:clamp(14.5px, .3vw + 13.5px, 16px);--step-2:clamp(16px, .42vw + 14.8px, 19px);--step-3:clamp(20px, .85vw + 17px, 26px);--step-4:clamp(28px, 2.4vw + 18px, 48px)}@media (prefers-color-scheme:dark){:root[data-pack=signal]:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#000;--surface:#0a0a0a;--surface-2:#121212;--surface-sunken:#050505;--ink:#fff;--ink-2:#b3b3b3;--ink-muted:#6e6e6e;--line:#1f1f1f;--line-strong:#fff;--accent:#ff3b3f;--accent-ink:#000;--accent-wash:#2a0a0b;--good:#3dba6a;--good-text:#3dba6a;--warn:#e0a020;--critical:#ff3b3f;--series-1:#ff3b3f;--series-scheduled:#5a181a;--grid:#1f1f1f;--baseline:#2e2e2e;--shadow:none;--shadow-strong:none;--page-texture:radial-gradient(circle, #ffffff24 .55px, transparent .6px);--page-texture-size:11px 11px}}:root[data-pack=signal][data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#000;--surface:#0a0a0a;--surface-2:#121212;--surface-sunken:#050505;--ink:#fff;--ink-2:#b3b3b3;--ink-muted:#6e6e6e;--line:#1f1f1f;--line-strong:#fff;--accent:#ff3b3f;--accent-ink:#000;--accent-wash:#2a0a0b;--good:#3dba6a;--good-text:#3dba6a;--warn:#e0a020;--critical:#ff3b3f;--series-1:#ff3b3f;--series-scheduled:#5a181a;--grid:#1f1f1f;--baseline:#2e2e2e;--shadow:none;--shadow-strong:none;--page-texture:radial-gradient(circle, #ffffff24 .55px, transparent .6px);--page-texture-size:11px 11px}:root[data-pack=signal][data-profile=school]{--accent:#2a2a2a;--accent-ink:#fff;--accent-wash:#ececec;--series-1:#2a2a2a;--series-scheduled:#a8a8a8}@media (prefers-color-scheme:dark){:root[data-pack=signal][data-profile=school]:not([data-theme=light]){--accent:#f0f0f0;--accent-ink:#000;--accent-wash:#1a1a1a;--series-1:#f0f0f0;--series-scheduled:#4a4a4a}}:root[data-pack=signal][data-profile=school][data-theme=dark]{--accent:#f0f0f0;--accent-ink:#000;--accent-wash:#1a1a1a;--series-1:#f0f0f0;--series-scheduled:#4a4a4a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):is([data-pack=northlight],:not([data-pack])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0c0e12;--surface:#16191f;--surface-2:#1c2027;--surface-sunken:#101318;--ink:#f5f7fa;--ink-2:#b8bdc6;--ink-muted:#858b96;--line:#2a3038;--line-strong:#3a424d;--accent:#3987e5;--accent-ink:#061018;--accent-wash:#15263a;--good:#0ca30c;--good-text:#0ca30c;--series-1:#3987e5;--series-scheduled:#184f95;--grid:#2a3038;--baseline:#3a424d;--shadow:0 1px 2px #00000073, 0 14px 36px -22px #000000d9}}:root[data-theme=dark]:is([data-pack=northlight],:not([data-pack])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0c0e12;--surface:#16191f;--surface-2:#1c2027;--surface-sunken:#101318;--ink:#f5f7fa;--ink-2:#b8bdc6;--ink-muted:#858b96;--line:#2a3038;--line-strong:#3a424d;--accent:#3987e5;--accent-ink:#061018;--accent-wash:#15263a;--good:#0ca30c;--good-text:#0ca30c;--series-1:#3987e5;--series-scheduled:#184f95;--grid:#2a3038;--baseline:#3a424d;--shadow:0 1px 2px #00000073, 0 14px 36px -22px #000000d9}:root[data-profile=school]:is([data-pack=northlight],:not([data-pack])){--accent:#5b4bc4;--accent-ink:#fff;--accent-wash:#eeebfb;--series-1:#4a3aa7;--series-scheduled:#9085e9}@media (prefers-color-scheme:dark){:root[data-profile=school]:not([data-theme=light]):is([data-pack=northlight],:not([data-pack])){--accent:#9085e9;--accent-ink:#14112b;--accent-wash:#241f45;--series-1:#9085e9;--series-scheduled:#4a3aa7}}:root[data-profile=school][data-theme=dark]:is([data-pack=northlight],:not([data-pack])){--accent:#9085e9;--accent-ink:#14112b;--accent-wash:#241f45;--series-1:#9085e9;--series-scheduled:#4a3aa7}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--page);background-image:var(--page-texture);background-size:var(--page-texture-size);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background-repeat:repeat;line-height:1.45}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}img,svg{max-width:100%}[hidden]{display:none!important}h1,h2,h3{font-family:var(--display);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);margin:0;line-height:1.2}button{font:inherit;color:inherit}.app{flex-direction:column;min-height:100dvh;display:flex}.auth{--cw-coral:#ff4d3d;--cw-indigo:#6366f1;--cw-night:#0f0f11;--cw-slate:#18181b;--cw-paper:#f7f5f2;--cw-mute:#a8a49e;background:var(--page);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100dvh;display:grid}.auth-brand{padding:calc(var(--safe-top) + 48px) 56px 48px;background:var(--cw-night);color:var(--cw-paper);flex-direction:column;gap:36px;font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;display:flex;position:relative;overflow:hidden}.auth-brand-top,.auth-mobile-brand{align-items:center;gap:12px;display:flex}.auth-brand-word{letter-spacing:-.045em;font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;font-size:28px;font-weight:500;line-height:1}.auth-brand-word b{color:var(--cw-coral);font-weight:700}.auth-mobile-brand .auth-brand-word{color:var(--ink)}.auth-brand-copy h2{letter-spacing:-.045em;max-width:13ch;margin:0;font-size:clamp(40px,4.4vw,64px);font-weight:700;line-height:.98}.auth-brand-copy p{color:var(--cw-mute);margin:16px 0 0;font-size:19px}.auth-week{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;max-width:460px;min-height:180px;max-height:300px;display:grid}.auth-week-day{color:var(--cw-mute);text-align:center;flex-direction:column;gap:8px;font-size:12px;font-weight:700;display:flex}.auth-week-col{background:var(--cw-slate);border-radius:9px;flex:1;position:relative}.auth-week-col i{border-radius:5px;animation:.5s cubic-bezier(.2,.8,.2,1) both auth-block;position:absolute;left:4px;right:4px}.auth-week-col i.is-class,.auth-brand-points i.is-class{background:var(--cw-indigo)}.auth-week-col i.is-shift,.auth-brand-points i.is-shift{background:var(--cw-coral)}@keyframes auth-block{0%{opacity:0;transform:translateY(-14px)scaleY(.6)}}.auth-brand-points{color:#d9d5cf;gap:12px;margin:0;padding:0;font-size:16px;list-style:none;display:grid}.auth-brand-points li{align-items:center;gap:12px;display:flex}.auth-brand-points i{border-radius:3px;flex:none;width:12px;height:12px}.auth-panel{padding:calc(var(--safe-top) + 32px) 24px calc(var(--safe-bottom) + 32px);display:flex}.auth-form{gap:18px;width:100%;max-width:400px;margin:auto;display:grid}.auth-mobile-brand{display:none}.auth-tabs{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.auth-tabs button{color:var(--ink-2);font:inherit;letter-spacing:normal;text-transform:none;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:9px 12px;font-size:14px;font-weight:600}.auth-tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #00000024}.auth-intro h1{letter-spacing:-.035em;text-transform:none;color:var(--ink);margin:0;font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;font-size:32px;font-weight:700;line-height:1.1}.auth-intro p{color:var(--ink-2);margin:8px 0 0;font-size:15px;line-height:1.5}.auth-google{border:1px solid var(--line-strong);background:var(--surface);min-height:48px;color:var(--ink);font:inherit;letter-spacing:normal;text-transform:none;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:12px;font-size:15px;font-weight:600;display:flex}.auth-google:hover:not(:disabled){background:var(--surface-2)}.auth-or{color:var(--ink-muted);align-items:center;gap:12px;font-size:13px;display:flex}.auth-or span{background:var(--line);flex:1;height:1px}.auth-fields{gap:16px;display:grid}.auth-field{gap:7px;display:grid}.auth-label,.auth-label-row{color:var(--ink);letter-spacing:normal;text-transform:none;font-size:14px;font-weight:600}.auth-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-field input,.auth-password input{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:48px;color:var(--ink);font:inherit;border-radius:12px;padding:0 14px;font-size:16px}.auth-field input:focus-visible,.auth-password input:focus-visible{outline:2px solid var(--cw-coral);outline-offset:1px;border-color:#0000}.auth-password{display:block;position:relative}.auth-password input{padding-right:72px}.auth-eye{min-height:36px;color:var(--ink-2);font:inherit;letter-spacing:normal;text-transform:none;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 12px;font-size:13px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-eye:hover{background:var(--surface-2)}.auth-link{color:var(--ink-2);font:inherit;letter-spacing:normal;text-transform:none;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.auth-link:hover{color:var(--ink)}.auth-back{justify-self:center}.auth-hint{color:var(--ink-muted);margin:0;font-size:13px;font-weight:400}.auth-remember{color:var(--ink);cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.auth-remember input{flex:none;width:18px;height:18px;margin:1px 0 0}.auth-remember small{color:var(--ink-muted);margin-top:2px;font-size:12.5px;display:block}.auth-choice{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.auth-choice legend{margin-bottom:8px;padding:0}.auth-option{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;font-size:15px;font-weight:600;display:flex}.auth-option small{color:var(--ink-muted);margin-top:2px;font-size:13px;font-weight:400;display:block}.auth-option input{accent-color:#ff4d3d;margin:3px 0 0}.auth-option.is-picked,.auth-segment label.is-picked{border-color:#ff4d3d;box-shadow:inset 0 0 0 1px #ff4d3d}.auth-segment{grid-template-columns:1fr 1fr;gap:8px;display:grid}.auth-segment label{border:1px solid var(--line-strong);background:var(--surface);min-height:48px;color:var(--ink);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.auth-segment input{accent-color:#ff4d3d}.auth-row{grid-template-columns:1fr 1.3fr;gap:12px;display:grid}.auth-field select{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:48px;color:var(--ink);font:inherit;border-radius:12px;padding:0 12px;font-size:15px}.auth-remember a{color:inherit;text-underline-offset:3px}@media (width<=460px){.auth-segment,.auth-row{grid-template-columns:1fr}}.auth-submit{background:var(--cw-coral);color:#1a0806;min-height:50px;font:inherit;letter-spacing:normal;text-transform:none;cursor:pointer;border:0;border-radius:12px;font-size:16px;font-weight:700}.auth-submit:hover:not(:disabled){background:#ff6a5c}.auth-submit:disabled{background:var(--surface-2);color:var(--ink-muted);cursor:not-allowed}.auth-google:disabled{opacity:.5;cursor:not-allowed}.auth-tabs button:focus-visible,.auth-google:focus-visible,.auth-submit:focus-visible,.auth-eye:focus-visible,.auth-link:focus-visible{outline:2px solid var(--cw-coral);outline-offset:2px}.auth-foot{color:var(--ink-muted);text-align:center;margin:4px 0 0;font-size:13px}.auth-foot a{color:inherit;text-underline-offset:3px}@media (width<=860px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.auth-mobile-brand{display:flex}}@media (prefers-reduced-motion:reduce){.auth-week-col i{animation:none}}.gate{min-height:100dvh;padding:calc(var(--safe-top) + 24px) 16px calc(var(--safe-bottom) + 24px);background:var(--page);display:flex}.gate-card{background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius);width:100%;max-width:380px;box-shadow:var(--shadow);gap:14px;margin:auto;padding:clamp(20px,4vw,30px);display:grid}.gate-brand{font-family:var(--display);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);color:var(--ink);align-items:center;gap:9px;display:flex}.gate-intro h1{font-family:var(--display);font-size:var(--step-3);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);text-wrap:balance;color:var(--ink);margin:0}.gate-intro p{font-size:var(--step-0);color:var(--ink-2);text-wrap:pretty;margin:5px 0 0}.gate-or{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.gate-or>span:not(.stat-sub){background:var(--line);height:1px}.gate-remember{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--step-0);color:var(--ink);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:10px 12px;display:grid}.gate-remember input{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;margin:1px 0 0}.gate-remember small{font-size:var(--step--1);color:var(--ink-muted);text-wrap:pretty;margin-top:3px;display:block}.gate-remember:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.voice-heard{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);font-size:var(--step-1);color:var(--ink);text-wrap:pretty;min-height:46px;margin:0;padding:12px 14px}.gate-switch{justify-content:center;display:flex}.gate-foot{border-top:1px solid var(--line);font-size:var(--step--1);color:var(--ink-muted);text-align:center;text-wrap:pretty;margin:0;padding-top:12px}.gate-splash{justify-items:center;gap:12px;margin:auto;display:grid}.topbar{z-index:30;padding:calc(var(--safe-top) + 11px) calc(var(--gutter) + var(--safe-right)) 11px calc(var(--gutter) + var(--safe-left));background:color-mix(in srgb, var(--page) 86%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border-bottom:var(--border-width) solid var(--line);align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar h1{font-size:var(--step-1);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:650;overflow:hidden}.brand{letter-spacing:-.02em;align-items:center;gap:9px;font-weight:680;display:flex}.brand-logo{flex:none;display:block}.wordmark{--brand-coral:#d8321f;letter-spacing:-.04em;text-transform:none;color:var(--ink);font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;font-size:19px;font-weight:500;line-height:1}.wordmark b{vertical-align:bottom;max-width:3em;color:var(--brand-coral);margin-bottom:-.2em;padding-bottom:.2em;font-weight:700;transition:max-width .35s cubic-bezier(.2,.8,.2,1),opacity .25s;display:inline-block;overflow:hidden}:root[data-profile=school] .topbar .wordmark b{opacity:0;max-width:0}@media (prefers-reduced-motion:reduce){.wordmark b{transition:none}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .wordmark{--brand-coral:#ff4d3d}}:root[data-theme=dark] .wordmark{--brand-coral:#ff4d3d}.layout{width:100%;padding-left:calc(var(--gutter) + var(--safe-left));padding-right:calc(var(--gutter) + var(--safe-right));flex:1;gap:clamp(18px,2.2vw,40px);display:flex}.sidebar{width:clamp(196px,14vw,244px);top:calc(60px + var(--safe-top));flex:none;align-self:flex-start;padding:22px 0;display:none;position:sticky}.sidebar nav{flex-direction:column;gap:18px;display:flex}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group>.section-title{padding:0 12px 6px}.sidebar a{color:var(--ink-2);font-size:var(--step-0);cursor:pointer;border-radius:10px;align-items:center;gap:11px;padding:10px 12px;font-weight:550;text-decoration:none;display:flex}.sidebar a:hover{background:var(--surface-2);color:var(--ink)}.sidebar a[aria-current=page]{background:var(--accent-wash);color:var(--accent);font-weight:650}.nav-locked{color:var(--ink-muted);font-size:var(--step-0);cursor:not-allowed;-webkit-user-select:none;user-select:none;border-radius:10px;justify-content:space-between;align-items:center;gap:11px;padding:10px 12px;font-weight:550;display:flex}.nav-locked-label{filter:blur(3px);opacity:.6;align-items:center;gap:11px;display:flex}.tabbar button.tab-locked{cursor:not-allowed;filter:blur(2.5px);opacity:.5}.survey-chip{border:1px solid var(--line);background:var(--surface-sunken);color:var(--ink-2);font-size:var(--step--1);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-weight:650;display:inline-flex}.pro-locked{position:relative}.pro-locked-content{filter:blur(6px);opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none}.pro-locked-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-items:start;gap:10px;max-width:420px;margin:0 auto;padding:20px;display:grid;position:absolute;inset:40px 0 auto;box-shadow:0 12px 40px #00000040}.pro-locked-card h2{font-size:var(--step-1);align-items:center;gap:8px;display:flex}.main{min-width:0;padding:20px 0 calc(var(--tabbar) + var(--safe-bottom) + 28px);gap:var(--gap);flex-direction:column;flex:1;display:flex}.dash{gap:var(--gap);align-content:start;display:grid}.dash-wide{grid-column:1/-1}.dash-side{gap:var(--gap);flex-direction:column;min-height:0;display:flex}@media (width>=1080px){.dash{grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr);align-items:start}}.tabbar{z-index:40;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{min-width:0;color:var(--ink-muted);letter-spacing:.005em;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:4px;padding:7px 2px 6px;font-size:11px;font-weight:600;display:flex}.tab-icon{border-radius:999px;place-items:center;width:46px;height:27px;transition:background-color .15s;display:grid}.tabbar button[aria-current=page]{color:var(--accent)}.tabbar button[aria-current=page] .tab-icon{background:var(--accent-wash)}@media (width>=860px){.sidebar{display:block}.tabbar{display:none}.main{padding-bottom:48px}}.card{background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex}.card-pad{padding:var(--card-pad)}.card-head{padding:13px var(--card-pad);border-bottom:var(--border-width) solid var(--line);align-items:center;gap:10px;display:flex}.card-head h2{font-size:var(--step-0);font-weight:var(--heading-weight);min-width:0;letter-spacing:var(--heading-tracking);flex:1}.section-title{font-size:var(--step--1);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-muted);font-weight:700}.look-grid{gap:8px;display:grid}.look-option{border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);text-align:left;cursor:pointer;align-items:center;gap:12px;padding:10px 12px;display:flex}.look-option:hover{background:var(--surface-2)}.look-option[aria-selected=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.look-option-swatch{border-radius:var(--radius-sm);border:var(--border-width) solid var(--line-strong);background:linear-gradient(135deg,#eef0f3 50%,#2a78d6 50%);flex:none;width:36px;height:36px}.look-option[data-pack-preview=northlight] .look-option-swatch{background:linear-gradient(135deg,#eef0f3 50%,#2a78d6 50%)}.look-option[data-pack-preview=ledger] .look-option-swatch{background:linear-gradient(135deg,#eeebe6 50%,#0f6b5c 50%)}.look-option[data-pack-preview=workshop] .look-option-swatch{background:linear-gradient(135deg,#e8e2d6 50%,#b85c38 50%)}.look-option[data-pack-preview=signal] .look-option-swatch{background:linear-gradient(135deg,#000 50%,#d71921 50%)}.look-option-copy{gap:2px;min-width:0;display:grid}.look-option-copy strong{font-size:var(--step-0);font-weight:var(--heading-weight)}:root[data-pack=ledger] .topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--page);border-bottom:2px solid var(--ink);padding-top:calc(var(--safe-top) + 8px);padding-bottom:8px}:root[data-pack=ledger] .card{box-shadow:none;border-radius:var(--radius);border:var(--border-width) solid var(--line-strong)}:root[data-pack=ledger] .card-head{border-bottom:2px solid var(--ink);padding-top:10px;padding-bottom:8px}:root[data-pack=ledger] .card-head h2{font-family:var(--display);font-size:var(--step-1);font-weight:650}:root[data-pack=ledger] .section-title{font-family:var(--display);text-transform:none;letter-spacing:0;font-weight:600;font-size:var(--step-0);color:var(--ink);border-bottom:1px solid var(--line-strong);margin-bottom:2px;padding-bottom:4px}:root[data-pack=ledger] .btn{border-radius:var(--radius-sm);border-width:var(--border-width);border-color:var(--line-strong);min-height:34px;font-size:var(--step-0);box-shadow:none}:root[data-pack=ledger] .btn-primary{border-color:var(--accent)}:root[data-pack=ledger] .stat-value{font-family:var(--data-font);font-variant-numeric:tabular-nums;font-weight:650}:root[data-pack=ledger] .stat-label{font-family:var(--sans);text-transform:none;letter-spacing:.02em;font-weight:600}:root[data-pack=ledger] .main{gap:var(--gap)}:root[data-pack=ledger] .hub-card{border-radius:var(--radius);box-shadow:none;border:var(--border-width) solid var(--line-strong)}:root[data-pack=ledger] .tabbar{border-top:2px solid var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--page)}:root[data-pack=ledger] .seg{border-radius:var(--radius-sm);border:var(--border-width) solid var(--line-strong);background:var(--surface-sunken)}:root[data-pack=ledger] .seg button{border-radius:calc(var(--radius-sm) - 1px)}:root[data-pack=ledger] .chip,:root[data-pack=ledger] .acct-avatar{border-radius:var(--radius-sm)}:root[data-pack=northlight] .topbar,:root:not([data-pack]) .topbar{-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);background:color-mix(in srgb, var(--page) 82%, transparent);border-bottom:var(--border-width) solid var(--line);padding-top:calc(var(--safe-top) + 12px);padding-bottom:12px}:root[data-pack=northlight] .card,:root:not([data-pack]) .card{box-shadow:var(--shadow);border:var(--border-width) solid var(--line);border-radius:var(--radius)}:root[data-pack=northlight] .card-head,:root:not([data-pack]) .card-head{border-bottom:var(--border-width) solid var(--line);padding-top:14px;padding-bottom:14px}:root[data-pack=northlight] .section-title,:root:not([data-pack]) .section-title{font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:var(--step--1);color:var(--ink-muted);border-bottom:none;margin-bottom:0;padding-bottom:0}:root[data-pack=northlight] .btn,:root:not([data-pack]) .btn{border-radius:var(--radius-sm);min-height:40px;box-shadow:none}:root[data-pack=northlight] .stat-value,:root:not([data-pack]) .stat-value{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:var(--heading-tracking);font-weight:650}:root[data-pack=northlight] .stat-label,:root:not([data-pack]) .stat-label{text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:var(--step--1)}:root[data-pack=northlight] .main,:root:not([data-pack]) .main{gap:var(--gap)}:root[data-pack=northlight] .hub-card,:root:not([data-pack]) .hub-card{border-radius:var(--radius);box-shadow:var(--shadow);border:var(--border-width) solid var(--line)}:root[data-pack=northlight] .tabbar,:root:not([data-pack]) .tabbar{border-top:var(--border-width) solid var(--line);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);background:color-mix(in srgb, var(--page) 88%, transparent)}:root[data-pack=northlight] .seg,:root:not([data-pack]) .seg{border-radius:var(--radius-pill);background:var(--surface-sunken);border:none}:root[data-pack=northlight] .seg button,:root:not([data-pack]) .seg button,:root[data-pack=northlight] .chip,:root:not([data-pack]) .chip{border-radius:var(--radius-pill)}:root[data-pack=northlight] .acct-avatar,:root:not([data-pack]) .acct-avatar{border-radius:11px}:root[data-pack=workshop] .topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--page);border-bottom:2px solid var(--line-strong);padding-top:calc(var(--safe-top) + 10px);padding-bottom:10px}:root[data-pack=workshop] .card{box-shadow:var(--shadow);border-radius:var(--radius);border:var(--border-width) solid var(--line-strong)}:root[data-pack=workshop] .card-head{border-bottom:var(--border-width) dashed var(--line-strong);padding-top:12px;padding-bottom:10px}:root[data-pack=workshop] .card-head h2{font-family:var(--display);font-size:var(--step-1);font-weight:650}:root[data-pack=workshop] .section-title{font-family:var(--display);text-transform:none;letter-spacing:0;font-weight:650;font-size:var(--step-0);color:var(--ink);border-bottom:none;border-left:3px solid var(--accent);margin-bottom:4px;margin-top:var(--section-y);padding:2px 0 2px 10px}:root[data-pack=workshop] .btn{border-radius:var(--radius-sm);border-width:var(--border-width);border-color:var(--line-strong);min-height:36px;box-shadow:var(--shadow)}:root[data-pack=workshop] .btn-primary{border-color:var(--accent);box-shadow:2px 2px 0 color-mix(in srgb, var(--accent) 35%, transparent)}:root[data-pack=workshop] .stat-value{font-family:var(--display);font-variant-numeric:tabular-nums;font-weight:650}:root[data-pack=workshop] .stat-label{font-family:var(--sans);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:var(--step--1)}:root[data-pack=workshop] .main{gap:var(--gap)}:root[data-pack=workshop] .hub-card{border-radius:var(--radius);box-shadow:var(--shadow);border:var(--border-width) solid var(--line-strong)}:root[data-pack=workshop] .tabbar{border-top:2px solid var(--line-strong);-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--page)}:root[data-pack=workshop] .seg{border-radius:var(--radius);border:var(--border-width) solid var(--line-strong);background:var(--surface-sunken);box-shadow:inset 1px 1px #2a22180f}:root[data-pack=workshop] .seg button{border-radius:calc(var(--radius) - 2px)}:root[data-pack=workshop] .chip{border-radius:var(--radius-sm);border:var(--border-width) solid var(--line)}:root[data-pack=workshop] .acct-avatar{border-radius:var(--radius-sm)}:root[data-pack=signal] .topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:color-mix(in srgb, var(--page) 92%, transparent);border-bottom:1px solid var(--line);box-shadow:none;padding-top:calc(var(--safe-top) + 12px);padding-bottom:12px}:root[data-pack=signal] .brand{letter-spacing:.12em;text-transform:uppercase;font-weight:500;font-size:var(--step--1)}:root[data-pack=signal] .topbar h1{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-weight:500;font-size:var(--step--1)}:root[data-pack=signal] .card{box-shadow:none;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}:root[data-pack=signal] .card-head{border-bottom:1px solid var(--line);background:0 0;padding-top:12px;padding-bottom:10px}:root[data-pack=signal] .card-head h2{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:500}:root[data-pack=signal] .section-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-muted);border-bottom:1px dotted var(--line-strong);margin-bottom:10px;margin-top:var(--section-y);border-left:none;padding:0 0 8px;font-size:10px;font-weight:500}:root[data-pack=signal] .btn{border-radius:var(--radius-pill);border-width:1px;border-color:var(--ink);min-height:36px;box-shadow:none;font-family:var(--mono);font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;font-weight:500}:root[data-pack=signal] .btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}:root[data-pack=signal] .stat-value{font-family:var(--data-font);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-weight:500}:root[data-pack=signal] .stat-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:9.5px;font-weight:500}:root[data-pack=signal] .hero-value,:root[data-pack=signal] .hero-second{font-family:var(--data-font);letter-spacing:.01em;font-weight:500}:root[data-pack=signal] .main{gap:var(--gap)}:root[data-pack=signal] .hub-card{border-radius:var(--radius);box-shadow:none;border:1px solid var(--line);background:var(--surface)}:root[data-pack=signal] .hub-card h3{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:var(--step--1);font-weight:500}:root[data-pack=signal] .tabbar{border-top:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--page)}:root[data-pack=signal] .tabbar button{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px}:root[data-pack=signal] .seg{border-radius:var(--radius-pill);border:1px solid var(--ink);box-shadow:none;background:0 0;padding:2px}:root[data-pack=signal] .seg button{border-radius:var(--radius-pill);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:10px}:root[data-pack=signal] .chip{border-radius:var(--radius-pill);border:1px solid var(--line-strong);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;font-size:10px}:root[data-pack=signal] .acct-avatar{border:1px solid var(--ink);border-radius:50%}.muted{color:var(--ink-muted)}.dim{color:var(--ink-2)}.empty{text-align:center;color:var(--ink-muted);padding:28px 18px;font-size:14px}.empty strong{color:var(--ink);margin-bottom:4px;font-size:15px;display:block}.hero{gap:2px;display:grid}.hero-band{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.hero-aside{text-align:right;border-left:1px solid var(--line);gap:2px;padding-left:20px;display:grid}.hero-value{font-size:var(--step-4);letter-spacing:-.035em;font-weight:700;line-height:1.02}.hero-second{font-size:var(--step-3);letter-spacing:-.025em;color:var(--ink-2);font-weight:650;line-height:1.1}.hero-label{font-size:var(--step-0);color:var(--ink-2)}@media (width<=560px){.hero-aside{text-align:left;border-left:0;border-top:1px solid var(--line);width:100%;padding-top:10px;padding-left:0}}.stat-row{background:var(--line);border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:1px;display:grid;overflow:hidden}.stat{background:var(--surface);gap:2px;padding:13px 14px;display:grid}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-size:11px;font-weight:650}.stat-value{font-size:var(--step-2);letter-spacing:-.02em;font-weight:650}.stat-sub{color:var(--ink-muted);font-size:12px}.sync-live{border:var(--border-width,1px) solid var(--line);border-radius:var(--radius);background:var(--surface-2,var(--surface));align-items:center;gap:10px;padding:10px 12px;display:flex}.sync-live-title{font-size:14px;font-weight:650}.sync-live-dot{background:var(--line-strong);border-radius:50%;flex:0 0 10px;height:10px}.sync-live-good .sync-live-dot{background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb, var(--good) 22%, transparent)}.sync-live-warn .sync-live-dot{background:var(--warn)}.sync-live-busy .sync-live-dot{background:var(--good);animation:1s ease-in-out infinite alternate sync-pulse}@keyframes sync-pulse{0%{opacity:.35}to{opacity:1}}@media (prefers-reduced-motion:reduce){.sync-live-busy .sync-live-dot{animation:none}}.refund{gap:4px;display:grid}.refund-good{color:var(--good-text)}.assistant-backdrop{z-index:60;background:#00000047;justify-content:flex-end;display:flex;position:fixed;inset:0}.assistant{background:var(--bg,var(--surface));border-left:var(--border-width,1px) solid var(--line);width:min(440px,100%);height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex;box-shadow:-12px 0 40px #0000002e}@media (width<=560px){.assistant{border-left:0;width:100%}}.assistant-soon .soon-body{flex:1;align-content:start;gap:14px;padding:18px 18px 8px;display:grid;overflow-y:auto}.soon-hero{border-radius:calc(var(--radius) + 4px);background:radial-gradient(120% 90% at 50% 100%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%), var(--surface-2,var(--surface));border:var(--border-width,1px) solid var(--line);place-items:center;height:150px;display:grid;position:relative;overflow:hidden}.soon-waves{width:100%;height:100%;position:absolute;inset:0}.soon-wave{fill:none;stroke:var(--accent);stroke-linecap:round;vector-effect:non-scaling-stroke;animation:linear infinite soon-slide}.soon-wave-1{stroke-width:3px;opacity:.95;animation-duration:5s}.soon-wave-2{stroke-width:2px;opacity:.55;animation-duration:3.2s}.soon-wave-3{stroke-width:2px;opacity:.3;animation-duration:8s}@keyframes soon-slide{0%{transform:translate(0)}to{transform:translate(-400px)}}.soon-orb{background:var(--accent);width:58px;height:58px;color:var(--accent-ink);box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent);border-radius:50%;place-items:center;animation:2.4s ease-out infinite soon-pulse;display:grid;position:relative}@keyframes soon-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent);transform:scale(1)}50%{transform:scale(1.05)}to{box-shadow:0 0 0 22px color-mix(in srgb, var(--accent) 0%, transparent);transform:scale(1)}}.soon-badge{border:var(--border-width,1px) solid var(--line);background:var(--surface-2,var(--surface));font-size:var(--step--1);letter-spacing:.02em;border-radius:999px;justify-self:start;align-items:center;gap:8px;padding:5px 12px;font-weight:650;display:inline-flex}.soon-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite soon-blink}@keyframes soon-blink{50%{opacity:.25}}.soon-title{font-size:var(--step-2);margin:0;line-height:1.2}.soon-lead{color:var(--ink-2,var(--ink));margin:0;line-height:1.55}.soon-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.soon-list li{border-radius:var(--radius);border:var(--border-width,1px) solid var(--line);background:var(--surface);font-size:var(--step--1);align-items:center;gap:12px;padding:10px 12px;line-height:1.4;display:flex}.soon-list-icon{background:color-mix(in srgb, var(--accent) 16%, transparent);width:30px;height:30px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.soon-note{color:var(--ink-muted);font-size:var(--step--1);align-items:flex-start;gap:8px;margin:0;line-height:1.5;display:flex}.soon-note svg{color:var(--good,var(--accent));flex:none;margin-top:2px}.soon-foot{border-top:var(--border-width,1px) solid var(--line);padding:12px 18px 16px;display:grid}@media (prefers-reduced-motion:reduce){.soon-wave,.soon-orb,.soon-dot{animation:none}}.assistant-head{border-bottom:var(--border-width,1px) solid var(--line);align-items:center;gap:10px;padding:12px 12px 10px;display:flex}.assistant-mark{background:var(--surface-2,var(--line));border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.assistant-title{font-size:15px;font-weight:700}.assistant-setup{border-bottom:var(--border-width,1px) solid var(--line);gap:10px;padding:12px;display:grid}.assistant-models{gap:8px;display:grid}.assistant-model{border:var(--border-width,1px) solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:10px;padding:10px;display:flex}.assistant-model.is-picked{border-color:var(--accent,var(--ink))}.assistant-list{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.assistant-empty{gap:8px;display:grid}.assistant-suggest{flex-wrap:wrap;gap:6px;display:flex}.assistant-suggest .chip{cursor:pointer;font:inherit;border:0;font-size:12.5px}.bubble{gap:8px;max-width:88%;display:grid}.bubble-user{align-self:flex-end}.bubble-assistant{align-self:flex-start}.bubble-text{white-space:pre-wrap;border-radius:14px;padding:9px 12px;font-size:14px;line-height:1.4}.bubble-user .bubble-text{background:var(--accent,var(--ink));color:var(--accent-ink,var(--bg,#fff));border-bottom-right-radius:4px}.bubble-assistant .bubble-text{background:var(--surface-2,var(--surface));border:var(--border-width,1px) solid var(--line);border-bottom-left-radius:4px}.proposal{border:var(--border-width,1px) solid var(--line);border-radius:var(--radius);background:var(--surface);gap:6px;padding:10px;display:grid}.proposal-row{box-shadow:inset 3px 0 0 var(--line-strong);cursor:pointer;border-radius:6px;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.proposal-row.tone-add{box-shadow:inset 3px 0 0 var(--good)}.proposal-row.tone-edit{box-shadow:inset 3px 0 0 var(--warn)}.proposal-row.tone-remove{box-shadow:inset 3px 0 0 var(--critical)}.proposal-summary{font-size:13.5px;font-weight:600}.proposal-problem{color:var(--ink-muted);padding:4px 8px;font-size:13px}.typing{align-items:center;gap:4px;min-height:20px;display:flex}.typing i{background:var(--ink-muted);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite typing-dot}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,to{opacity:.3}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.typing i{animation:none}}.assistant-compose{border-top:var(--border-width,1px) solid var(--line);align-items:flex-end;gap:6px;padding:10px 12px;display:flex}.assistant-compose textarea{resize:none;flex:1;min-height:40px;max-height:140px;font-size:16px}.section-tabs{scrollbar-width:none;border-bottom:var(--border-width,1px) solid var(--line);gap:4px;display:flex;overflow-x:auto}.section-tabs::-webkit-scrollbar{display:none}.section-tabs button{min-height:40px;color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 14px;font-size:14px;font-weight:600;display:inline-flex}.section-tabs button:hover{color:var(--ink)}.section-tabs button.is-active{color:var(--ink);border-bottom-color:var(--accent,var(--ink))}@media (pointer:coarse){.section-tabs button{min-height:44px}}.tab-badge{background:var(--warn);color:#1a1a1a;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.signpost{padding:14px var(--card-pad,16px);color:inherit;flex-direction:row;align-items:center;gap:12px;text-decoration:none}.signpost:hover{border-color:var(--line-strong)}.signpost-icon{background:var(--surface-2,var(--line));border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.signpost-body{flex:1;gap:2px;min-width:0;display:grid}.signpost-title{font-size:14.5px;font-weight:650}.cheque-row.is-flagged{box-shadow:inset 3px 0 0 var(--warn)}.compare{gap:8px;display:grid}.compare-row{grid-template-columns:minmax(110px,38%) 1fr auto;align-items:center;gap:10px;display:grid}.compare-label{color:var(--ink-muted);font-size:13px}.compare-value{font-variant-numeric:tabular-nums;font-size:14px}@media (width<=420px){.compare-row{grid-template-columns:1fr auto}.compare-row .bar-track{order:3;grid-column:1/-1}}.tax-sub{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.9em;font-weight:400}.benefit{border-bottom:var(--border-width,1px) solid var(--line);gap:2px;padding-bottom:10px;display:grid}.tax-sources{gap:4px;margin:0;padding-left:18px;display:grid}.cheque-row{cursor:default;align-items:flex-start}.cheque-row .item-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cheque-side{flex:none;justify-items:end;gap:6px;display:grid}.cheque-amount{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.btn{border:1px solid var(--line-strong);background:var(--surface);min-height:38px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .14s,border-color .14s,transform .1s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-muted)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){filter:brightness(1.07);background:var(--accent)}.btn-danger{color:var(--critical);border-color:color-mix(in srgb, var(--critical) 40%, var(--line))}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-sm{border-radius:8px;min-height:30px;padding:0 10px;font-size:13px}.btn-icon{border-radius:9px;width:34px;min-height:34px;padding:0}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-tight{gap:6px}.spacer{flex:1}.field{gap:5px;min-width:0;display:grid}.field>span{color:var(--ink-2);font-size:12px;font-weight:650}.field-hint{color:var(--ink-muted);font-size:11.5px;font-weight:450}input,select,textarea{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:42px;color:var(--ink);border-radius:10px;padding:9px 11px;font-family:inherit;font-size:16px}textarea{resize:vertical;min-height:70px;line-height:1.4}input,select,textarea{transition:border-color .14s,box-shadow .14s}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--ink-muted)}input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;box-shadow:none;accent-color:var(--accent);background:0 0;border:0;border-radius:0;flex:none;margin:2px 0 0;padding:0}.grid-2{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.seg{background:var(--surface-sunken);scrollbar-width:none;border-radius:10px;gap:2px;padding:3px;display:flex;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg button{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:6px 11px;font-size:13px;font-weight:600;transition:background-color .16s,color .16s}.seg button:hover:not([aria-pressed=true]){color:var(--ink)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0b0b0b1f}.chip{background:var(--surface-sunken);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:11.5px;font-weight:650;display:inline-flex}.chip-good{background:color-mix(in srgb, var(--good) 14%, transparent);color:var(--good-text)}.chip-accent{background:var(--accent-wash);color:var(--accent)}.chip-warn{background:color-mix(in srgb, var(--warn) 22%, transparent);color:var(--ink)}.chip-off{background:var(--surface-sunken);color:var(--ink-muted);text-decoration:line-through}.dot{border-radius:3px;flex:none;width:9px;height:9px}.list{flex-direction:column;display:flex}.list-day{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);background:var(--surface-2);border-top:1px solid var(--line);align-items:baseline;gap:8px;padding:11px 16px 6px;font-size:12px;font-weight:700;display:flex}.item{border:0;border-top:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}.item:first-child{border-top:0}.item{transition:background-color .14s}.item:hover{background:var(--surface-2)}.item-body{flex:1;gap:2px;min-width:0;display:grid}.item-title{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.item-sub{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.item-amount{text-align:right;flex:none;gap:2px;display:grid}.item-amount b{font-variant-numeric:tabular-nums;font-size:14.5px;font-weight:650}.item-amount span{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:12px}.bar-track{background:var(--surface-sunken);border-radius:999px;height:6px;overflow:hidden}.hub{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.hub-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);text-align:left;cursor:pointer;color:inherit;align-items:center;gap:14px;padding:18px;transition:border-color .16s,transform .16s;display:flex}.hub-card:hover{border-color:var(--accent);transform:translateY(-1px)}.hub-icon{background:var(--accent-wash);width:40px;height:40px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.hub-card h3{font-size:var(--step-1);margin:0;font-weight:650}.hub-card p{font-size:var(--step--1);color:var(--ink-muted);margin:2px 0 0}.profile-switch{background:var(--surface-sunken);border:1px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:flex}.profile-switch button{font-size:var(--step--1);color:var(--ink-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-weight:650;display:inline-flex}.profile-switch button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}@media (width<=520px){.profile-switch button span{display:none}.profile-switch button{padding:5px 10px}}.acct{flex:none;position:relative}.acct-avatar{border:1px solid var(--line-strong);background:var(--accent);width:32px;height:32px;color:var(--accent-ink);cursor:pointer;border-radius:999px;place-items:center;padding:0;font-size:13px;font-weight:700;display:grid;overflow:hidden}.acct-avatar img{object-fit:cover;width:100%;height:100%}.acct-avatar.is-large{width:42px;height:42px;font-size:17px}.acct-menu{z-index:60;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);gap:12px;width:min(300px,100vw - 32px);padding:14px;animation:.14s rise;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 2px 6px #00000014,0 18px 48px -22px #0000008c}.acct-head{align-items:center;gap:11px;display:flex}.acct-name{font-size:var(--step-0);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.acct-sub{font-size:var(--step--1);color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acct-section{gap:6px;display:grid}.acct-links{border-top:1px solid var(--line);gap:2px;padding-top:10px;display:grid}.acct-links a,.acct-links button{width:100%;color:var(--ink);font-size:var(--step-0);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;font-weight:550;text-decoration:none;display:flex}.acct-links a:hover,.acct-links button:hover{background:var(--surface-2)}.acct-links .is-danger{color:var(--critical)}.acct-screen{gap:16px;max-width:520px;display:grid}.acct-plan{background:var(--surface-2);border-radius:9px;padding:10px 12px}.acct-foot{border-top:1px solid var(--line);color:var(--ink-muted);margin:0;padding-top:10px;font-size:11.5px;line-height:1.4}.task-row{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 16px;display:flex;position:relative}.task-row:first-child{border-top:0}.task-band{border-top:1px solid var(--line);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding:12px 16px 6px;font-weight:700}.task-band:first-child,.task-band+.task-row{border-top:0}.task-row:before{content:"";background:0 0;width:3px;position:absolute;top:0;bottom:0;left:0}.task-row.is-over:before{background:var(--critical)}.task-row.is-today:before{background:var(--warn)}.task-row.is-soon:before{background:var(--accent)}.task-check{border:1.5px solid var(--line-strong);background:var(--surface);width:24px;height:24px;color:var(--accent-ink);cursor:pointer;border-radius:8px;flex:none;place-items:center;font-size:13px;line-height:1;display:grid}.task-check.is-doing{border-color:var(--accent);color:var(--accent);background:var(--accent-wash)}.task-check.is-done{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.task-body{text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:0;flex:1;gap:3px;padding:0;display:grid}.task-body .item-title.is-done{color:var(--ink-muted);text-decoration:line-through}.task-kind{color:var(--ink-muted);font-size:12px}.task-due{font-size:var(--step--1);font-variant-numeric:tabular-nums;color:var(--ink-muted);white-space:nowrap;flex:none;font-weight:650}.task-due.is-over{color:var(--critical)}.task-due.is-today{color:var(--ink)}.task-due.is-done{color:var(--good-text)}.due-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.due-filter{flex:260px}.due-filter button{flex:1}.task-started{vertical-align:1px;margin-left:8px;font-size:11px}.task-steps{gap:6px;display:grid}.task-step{color:var(--ink-muted);align-items:center;gap:8px;display:flex}.task-step input[type=checkbox]{flex:none;width:18px;height:18px}.task-step input:not([type=checkbox]){flex:1;min-width:0;min-height:36px;font-size:14px}.task-step input.is-done{color:var(--ink-muted);text-decoration:line-through}.toast{left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--ink);max-width:min(520px,100vw - 32px);color:var(--surface);font-size:var(--step--1);border-radius:12px;align-items:center;gap:14px;padding:10px 12px 10px 16px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0000004d}.toast-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}@media (width>=860px){.toast{bottom:24px}}.rule-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);gap:11px;padding:14px;display:grid}.rule-card>header h3{font-size:var(--step-0);margin:0;font-weight:650}.rule-card>header p{font-size:var(--step--1);color:var(--ink-muted);margin:3px 0 0}.rule-list{gap:8px;display:grid}.rule-row{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);font-size:var(--step-0);flex-wrap:wrap;align-items:center;gap:7px;padding:8px 10px;display:flex}.rule-row input{text-align:center;font-variant-numeric:tabular-nums;width:68px;min-height:34px;padding:4px 8px;font-size:15px}.rule-row .btn-icon{margin-left:auto}.rule-empty,.rule-note{font-size:var(--step--1);color:var(--ink-muted);margin:0}.preview-card{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));border-radius:var(--radius);background:var(--accent-wash);overflow:hidden}.preview-card>header{align-items:center;gap:10px;padding:11px 14px;display:flex}.preview-card>header h3{font-size:var(--step--1);text-transform:uppercase;letter-spacing:.07em;color:var(--accent);flex:1;margin:0;font-weight:700}.preview-rows{background:var(--surface);padding:4px 14px 10px}.preview-line{font-size:var(--step-0);color:var(--ink-2);border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:14px;padding:7px 0;display:flex}.preview-line:first-child{border-top:0}.preview-line b{font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;font-weight:600}.preview-line b.is-minus{color:var(--critical)}.preview-line.is-total{border-top:1.5px solid var(--line-strong);color:var(--ink);margin-top:2px;padding-top:10px;font-weight:650}.preview-line.is-total b{font-size:var(--step-2);letter-spacing:-.02em}.preview-card>.rule-note{padding:0 14px 11px}.bulk-bar{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:10px;padding:11px;display:flex}.bulk-bar .field{flex:180px}.suggest{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:var(--accent-wash);gap:8px;padding:12px;display:grid}.suggest-row{border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:10px;padding:8px 10px;display:flex}.origin-chip{background:var(--surface-sunken);border:1px solid var(--line);word-break:break-all;border-radius:6px;padding:1px 6px;font-family:ui-monospace,SF Mono,Cascadia Mono,Menlo,monospace;font-size:12px;display:inline-block}.setup-steps{color:var(--ink-2);gap:9px;margin:0;padding-left:20px;font-size:13.5px;display:grid}.setup-steps li::marker{color:var(--ink-muted);font-weight:700}.setup-steps strong{color:var(--ink);font-weight:650}.setup-steps a{color:var(--accent)}.setup-steps .row{margin-top:6px}.fix-details{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);padding:10px 12px;font-size:13px}.fix-details>summary{cursor:pointer;color:var(--ink);font-weight:650}.fix-details p{margin:9px 0}.fix-details .row{margin:6px 0}.fix-details a{color:var(--accent)}.wk{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.wk-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.wk-inner{min-width:100%}.wk-head,.wk-foot{display:grid}.wk-head{z-index:2;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.wk-day-head{border-left:1px solid var(--line);justify-items:center;gap:2px;padding:8px 2px 7px;display:grid}.wk-dow{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted);font-size:10px;font-weight:700}.wk-date{letter-spacing:-.02em;place-items:center;width:23px;height:23px;font-size:15px;font-weight:650;display:grid}.wk-day-head.is-today .wk-dow{color:var(--accent)}.wk-day-head.is-today .wk-date{background:var(--accent);color:var(--accent-ink);border-radius:999px;font-size:13px}.wk-body{display:grid;position:relative}.wk-gutter{position:relative}.wk-hour{font-variant-numeric:tabular-nums;color:var(--ink-muted);white-space:nowrap;font-size:10px;position:absolute;right:5px;transform:translateY(-50%)}.wk-hour.is-first{transform:none}.wk-hour.is-last{transform:translateY(-100%)}.wk-col{border-left:1px solid var(--line);cursor:copy;background-image:repeating-linear-gradient(to bottom, var(--grid) 0 1px, transparent 1px var(--hour-h,48px));position:relative}.wk-col.is-today{background-color:var(--accent-wash)}.wk-block{background:var(--job);color:var(--ink-on-job);text-align:left;cursor:pointer;border:0;border-radius:6px;flex-direction:column;gap:1px;padding:3px 6px;line-height:1.18;display:flex;position:absolute;overflow:hidden}.wk-block:hover{filter:brightness(1.08)}.wk-block:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.wk-block.is-extended{box-shadow:inset 0 0 0 1.5px var(--job-edge)}.wk-block.is-cancelled{background:color-mix(in srgb, var(--job) 26%, var(--surface));color:var(--ink-muted);box-shadow:inset 0 0 0 1px var(--line-strong)}.wk-block.is-cancelled .wk-block-title{text-decoration:line-through}.wk-block.is-cancelled .wk-block-line,.wk-block.is-cancelled .wk-block-foot{color:var(--ink-muted)}.wk-overrun{pointer-events:none;background-image:repeating-linear-gradient(135deg,#ffffff47 0 4px,#0000 4px 9px);position:absolute;bottom:0;left:0;right:0}.wk-block-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-size:10.5px;font-weight:700;display:flex;overflow:hidden}.wk-block-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.wk-block-detail-inline{font-weight:600}.wk-block-detail{text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:600;overflow:hidden}.wk-block.is-cancelled .wk-block-detail{text-decoration:line-through}.wk-flag{opacity:.9;flex:none;margin-left:auto;font-size:10px;font-style:normal;line-height:1}.wk-block-line{color:var(--ink-on-job-soft);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.wk-block-foot{color:var(--ink-on-job-soft);font-variant-numeric:tabular-nums;white-space:nowrap;gap:6px;margin-top:auto;font-size:10px;font-weight:650;display:flex}.wk-now{background:var(--critical);pointer-events:none;height:2px;position:absolute;left:0;right:0}.wk-now:before{content:"";background:var(--critical);border-radius:999px;width:8px;height:8px;position:absolute;top:-3px;left:-3px}.wk-foot{z-index:2;border-top:1px solid var(--line);background:var(--surface-2);position:sticky;bottom:0}.wk-total{border-left:1px solid var(--line);font-variant-numeric:tabular-nums;justify-items:center;gap:0;padding:7px 2px;font-size:10.5px;font-weight:650;display:grid}.wk-legend{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.wk-legend span{align-items:center;gap:6px;display:inline-flex}.wk-swatch{background:var(--accent);width:16px;height:13px;color:var(--accent-ink);border-radius:4px;place-items:center;font-size:9px;font-style:normal;line-height:1;display:inline-grid}.wk-swatch.is-cancelled{background:color-mix(in srgb, var(--accent) 26%, var(--surface));box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink-muted)}.wk-swatch.is-extended{background-image:repeating-linear-gradient(135deg,#ffffff57 0 3px,#0000 3px 7px)}.bar-fill{border-radius:999px;height:100%}.chart{padding:6px 16px 14px;position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart-tip{pointer-events:none;z-index:5;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow);white-space:nowrap;border-radius:9px;padding:7px 10px;font-size:12.5px;line-height:1.35;position:absolute;transform:translate(-50%,-100%)}.chart-tip b{font-variant-numeric:tabular-nums}.legend{color:var(--ink-2);flex-wrap:wrap;gap:14px;padding:0 16px 14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.sheet-backdrop{z-index:60;background:#0b0b0b73;justify-content:center;align-items:flex-end;padding:0;animation:.16s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:540px;max-height:92dvh;padding-bottom:var(--safe-bottom);border-radius:18px 18px 0 0;flex-direction:column;animation:.2s cubic-bezier(.22,1,.36,1) rise;display:flex}@supports (height:100svh){.sheet{max-height:min(92dvh,100svh - 16px)}}.sheet-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.sheet-head h2{flex:1;font-size:16px;font-weight:650}.sheet-body{-webkit-overflow-scrolling:touch;gap:14px;padding:16px;display:grid;overflow-y:auto}.sheet-foot{padding:12px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--line);gap:10px;display:flex}.sheet-foot .btn{flex:1;min-height:44px}@media (width>=640px){.sheet-backdrop{align-items:center;padding:20px}.sheet{border-radius:18px;max-height:86dvh}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.timer-bar{border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow);align-items:center;gap:12px;padding:12px 16px;display:flex}.timer-clock{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:22px;font-weight:700}.timer-bar .btn{color:var(--accent-ink);background:#ffffff29;border-color:#ffffff57}.timer-bar .btn:hover{background:#ffffff42}.notice{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);padding:10px 12px;font-size:13px}.notice-warn{border-color:color-mix(in srgb, var(--warn) 45%, var(--line));background:color-mix(in srgb, var(--warn) 10%, var(--surface));color:var(--ink)}.notice-bad{border-color:color-mix(in srgb, var(--critical) 45%, var(--line));background:color-mix(in srgb, var(--critical) 9%, var(--surface));color:var(--ink)}.admin-split{gap:var(--gap);align-items:start;display:grid}@media (width>=860px){.admin-split{grid-template-columns:minmax(220px,.9fr) minmax(0,1.4fr)}}.admin-user-list{margin:0;padding:0;list-style:none}.admin-user-row{width:100%;padding:12px var(--card-pad);border:0;border-top:1px solid var(--line);color:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:2px 10px;display:grid}.admin-user-row:hover{background:var(--surface-2)}.admin-user-row.is-selected{background:var(--accent-wash)}.admin-user-name{grid-column:1;font-weight:650}.admin-user-row .stat-sub{grid-column:1}.admin-user-row .chip{grid-area:1/2/span 2;align-self:center}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-top:1px solid var(--line);white-space:nowrap;padding:9px 12px}th{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-size:11px;font-weight:650}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.preview-list{border:1px solid var(--line);border-radius:var(--radius-sm);max-height:340px;overflow-y:auto}.preview-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:9px 11px;display:flex}.preview-row:first-child{border-top:0}.preview-row select{width:auto;max-width:150px;min-height:34px;padding:4px 8px;font-size:13px}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius);text-align:center;background:var(--surface-2);cursor:pointer;color:var(--ink-2);padding:26px 16px}.dropzone.over{border-color:var(--accent);background:var(--accent-wash);color:var(--ink)}.sync-hero{gap:6px;display:grid}.sync-hero-title{font-size:var(--step-2);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);margin:0}.sync-lead{color:var(--ink-2);font-size:var(--step-0);margin:0;line-height:1.45}.sync-stack{gap:14px;display:grid}.sync-setup{gap:12px;padding-top:4px;display:grid}.sync-details{border-top:1px solid var(--line);padding-top:10px}.sync-details>summary{cursor:pointer;color:var(--ink-2);font-size:13.5px;font-weight:600;list-style:none}.sync-details>summary::-webkit-details-marker{display:none}.sync-details>summary:before{content:"▸ ";color:var(--ink-muted)}.sync-details[open]>summary:before{content:"▾ "}.sync-details p{color:var(--ink-2);margin:8px 0 0;font-size:13px;line-height:1.45}.sync-help{color:var(--ink-2);gap:8px;margin-top:10px;font-size:13.5px;display:grid}.sync-help p{margin:0}.sync-help strong{color:var(--ink)}.sync-cal-list{gap:8px;display:grid}.sync-cal-row{cursor:pointer;align-items:center;gap:10px;padding:6px 0;display:flex}.sync-cal-name{flex:1;min-width:0;font-size:14px}.sync-import-bar{bottom:calc(var(--safe-bottom) + 8px);background:linear-gradient(to top, var(--surface) 70%, transparent);padding-top:4px;position:sticky}@media (width<=400px){.hide-sm{display:none}}@media (pointer:coarse){.btn,.btn-sm,.btn-icon{min-height:44px}.btn-icon{min-width:44px}.seg button,.profile-switch button{min-height:42px;padding-inline:14px}.acct-avatar{width:40px;height:40px;font-size:15px}input[type=checkbox],input[type=radio]{width:22px;height:22px}.item,.task-row,.hub-card,.acct-links a,.acct-links button{min-height:48px}.tabbar button{padding:8px 2px 7px;font-size:11.5px}}@media (orientation:landscape) and (height<=480px) and (pointer:coarse){:root{--tabbar:48px;--gap:12px;--card-pad:13px}.topbar{padding-top:calc(var(--safe-top) + 6px);padding-bottom:6px}.main{padding-top:12px}.tabbar button{flex-direction:row;gap:6px;min-height:44px;padding:4px 2px;font-size:11px}.tab-icon{width:auto;height:auto;background:0 0!important}.sheet{border-radius:14px 14px 0 0;max-height:96dvh}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.btn:active:not(:disabled),.hub-card:hover{transform:none}}
