*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f7f5f2;--surface:#fff;--surface-2:#efebe3;--surface-3:#e7e1d5;--nav-bg:#f7f5f2db;--chat-bg:#f1eee7;--text:#1f1f1d;--text-muted:#5c584e;--text-faint:#84806f;--on-accent:#fff;--border:#e2ddd1;--border-strong:#cfc8b8;--border-control:#7d7766;--accent:#b26e39;--accent-hover:#9c5a2e;--accent-emphasis:#9c5a2e;--accent-emphasis-hover:#874321;--accent-text:#8a4c24;--accent-soft:#b26e391a;--accent-soft-strong:#b26e392e;--success:#2f7a52;--success-bg:#2f7a521a;--success-border:#2f7a524d;--danger:#8c2a20;--danger-bg:#b23b2e14;--danger-border:#b23b2e47;--warning:#8a5a1e;--warning-bg:#b2812e1f;--warning-border:#b2812e52;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius:var(--radius-md);--shadow-sm:0 1px 3px #1a1a1a14, 0 1px 2px #1a1a1a0d;--shadow-md:0 8px 24px #1a1a1a1a, 0 2px 6px #1a1a1a0f;--shadow-lg:0 20px 48px #1a1a1a29, 0 4px 12px #1a1a1a14;--shadow:var(--shadow-md);--shadow2:var(--shadow-lg);--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-base:.2s;--font-display:"Space Grotesk", "Segoe UI", sans-serif;--font-body:"Work Sans", "Segoe UI", sans-serif;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:20px;--text-xl:28px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--navy:var(--accent-emphasis);--navy2:var(--accent-emphasis-hover);--navy3:var(--text);--gold:var(--accent);--gold2:var(--accent);--cream:var(--bg);--warm:var(--surface-2);--dark:var(--text);--mid:var(--text-muted);--light:var(--text-faint);--white:var(--on-accent);--green:var(--success);--red:var(--danger);--surface2:var(--surface-2);--err-bg:var(--danger-bg);--err-border:var(--danger-border);--ok-bg1:var(--success-bg);--ok-bg2:var(--success-bg);--ok-border:var(--success-border);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#1a1a1a;--surface:#211f1c;--surface-2:#2a2723;--surface-3:#332f29;--nav-bg:#1a1a1ad1;--chat-bg:#201d1a;--text:#edeae4;--text-muted:#b4afa3;--text-faint:#8a8474;--on-accent:#1a1a1a;--border:#37322b;--border-strong:#4a4339;--border-control:#857d6e;--accent:#c68449;--accent-hover:#d4954f;--accent-emphasis:#c68449;--accent-emphasis-hover:#d4954f;--accent-text:#c68449;--accent-soft:#c6844929;--accent-soft-strong:#c6844942;--success:#59b98a;--success-bg:#59b98a24;--success-border:#59b98a52;--danger:#d97a6b;--danger-bg:#d97a6b24;--danger-border:#d97a6b52;--warning:#d9a15c;--warning-bg:#d9a15c24;--warning-border:#d9a15c52;--shadow-sm:0 1px 3px #00000059, 0 1px 2px #0000003d;--shadow-md:0 8px 24px #00000073, 0 2px 6px #0000004d;--shadow-lg:0 24px 56px #0000008c, 0 4px 14px #00000059;--shadow:var(--shadow-md);--shadow2:var(--shadow-lg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text);transition:background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-body)}input,select,textarea{font-family:var(--font-body)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{z-index:2000;border-radius:var(--radius-sm);background:var(--accent-emphasis);color:var(--on-accent);box-shadow:var(--shadow-lg);padding:10px 16px;font-size:14px;font-weight:700;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}.skip-link:focus-visible{outline:3px solid var(--text);outline-offset:2px}main[tabindex="-1"]:focus,h1[tabindex="-1"]:focus{outline:none}.row-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}.t-display{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.2}.t-heading{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.3}.t-body{font-size:var(--text-md);line-height:1.6}.t-small{font-size:var(--text-sm);line-height:1.5}.t-caption{font-size:var(--text-xs);color:var(--text-muted);line-height:1.45}.t-label{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.nav{z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:0 32px;position:sticky;top:0}.nav-inner{align-items:center;gap:28px;max-width:1160px;height:64px;margin:0 auto;display:flex}.nav-logo{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;flex-shrink:0;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.nav-logo .dot{color:var(--accent)}.nav-logo .mark{border-radius:7px;flex-shrink:0;width:26px;height:26px}.nav-links{flex:1;gap:2px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-muted);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:8px 13px;font-size:13.5px;font-weight:500}.nav-link:hover,.nav-link.active{background:var(--surface-2);color:var(--text)}.nav-cta{border-radius:var(--radius-sm);background:var(--accent-emphasis);color:var(--on-accent);transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:none;margin-left:auto;padding:9px 18px;font-size:13.5px;font-weight:600}.nav-cta:hover{background:var(--accent-emphasis-hover)}.nav-cta:active{transform:scale(.98)}body.has-sidebar{margin-left:var(--sidebar-offset,0px);transition:margin-left var(--duration-fast) var(--ease-out)}.sidebar{z-index:150;width:var(--sidebar-offset,240px);background:var(--surface);border-right:1px solid var(--border);transition:width var(--duration-fast) var(--ease-out);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{font-family:var(--font-display);color:var(--text);white-space:nowrap;border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:18px 20px;font-size:16px;font-weight:700;display:flex;overflow:hidden}.sidebar-links{flex-direction:column;flex:1;gap:2px;padding:10px;display:flex;overflow:hidden auto}.sidebar-link{border-radius:var(--radius-sm);width:100%;color:var(--text-muted);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:12px;padding:9px 12px;font-size:13.5px;font-weight:500;display:flex;overflow:hidden}.sidebar-link svg{flex-shrink:0}@media (min-width:768px){.sidebar-link{min-height:38px}}.sidebar-scrim{z-index:155;pointer-events:none;animation:sidebar-scrim-in var(--duration-fast) var(--ease-out);background:#00000047;position:fixed;inset:0}@keyframes sidebar-scrim-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.sidebar-scrim{animation:none}}.app-account{z-index:145;position:fixed;top:12px;right:20px}.app-account-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;box-shadow:var(--shadow-sm,none);border-radius:50%;padding:3px;display:flex}.app-account-btn:hover{border-color:var(--accent)}.sidebar-group{flex-direction:column;gap:2px;display:flex}.sidebar-group+.sidebar-group{margin-top:8px}.sidebar-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;padding:4px 12px 2px;font-size:11px;font-weight:700;overflow:hidden}.sidebar-group-rule{background:var(--border);height:1px;margin:2px 10px 4px}.sidebar-group-admin{border-top:1px solid var(--border);padding-top:8px;margin-top:auto!important}.sidebar-link:hover,.sidebar-link.active{background:var(--surface-2);color:var(--text)}.sidebar-link.active{color:var(--accent-text);font-weight:700}.sidebar.collapsed .sidebar-link,.sidebar.collapsed .sidebar-logo{justify-content:center;padding-left:0;padding-right:0}.sidebar-bottom{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:2px;padding:10px;display:flex}.sidebar-profile-btn{border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.sidebar-profile-btn:hover{background:var(--surface-2)}.sidebar-avatar{background:var(--accent-emphasis);width:28px;height:28px;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:flex}.profile-popover{z-index:199;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-lg);padding:4px 0;position:absolute;bottom:0;left:calc(100% + 8px);overflow:hidden}.sidebar.collapsed .profile-popover{left:calc(100% + 8px)}.sidebar.overlay{width:240px;box-shadow:var(--shadow-lg);z-index:160}.mobile-topbar{display:none}@media (max-width:767px){.sidebar{display:none}body.has-sidebar{margin-left:0}.mobile-topbar{z-index:140;background:var(--nav-bg);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 16px;display:flex;position:sticky;top:0}}.theme-toggle{border:1.5px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text-muted);transition:all var(--duration-fast) var(--ease-out);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle:active{transform:scale(.98)}.hero{background:var(--bg);border-bottom:1px solid var(--border);padding:96px 32px 88px;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(closest-side, var(--accent-soft), transparent);pointer-events:none;width:640px;height:480px;position:absolute;top:-180px;left:50%;transform:translate(-50%)}.hero-inner{z-index:1;max-width:1160px;margin:0 auto;position:relative}.hero-badge{background:var(--accent-soft);border:1px solid var(--accent-soft-strong);color:var(--accent-text);border-radius:var(--radius-sm);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:24px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.hero-badge .blink{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.hero h1{font-family:var(--font-display);color:var(--text);max-width:720px;margin-bottom:20px;font-size:clamp(34px,5vw,58px);font-weight:700;line-height:1.1}.hero h1 em{color:var(--accent);font-style:normal}.hero p{color:var(--text-muted);max-width:560px;margin-bottom:36px;font-size:17px;line-height:1.7}.hero-btns{flex-wrap:wrap;gap:12px;display:flex}.btn-hero-primary{border-radius:var(--radius-sm);background:var(--accent-emphasis);color:var(--on-accent);box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:none;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:600;display:inline-flex}.btn-hero-primary:hover{background:var(--accent-emphasis-hover);box-shadow:var(--shadow-md)}.btn-hero-primary:active{transform:scale(.98)}.btn-hero-secondary{border-radius:var(--radius-sm);background:var(--surface);border:1.5px solid var(--border-control);color:var(--text);transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:600;display:inline-flex}.btn-hero-secondary:hover{border-color:var(--accent);background:var(--accent-soft)}.btn-hero-secondary:active{transform:scale(.98)}.hero-flags{display:none}.stats{background:var(--surface);border-bottom:1px solid var(--border);padding:26px 32px}.stats-inner{text-align:center;grid-template-columns:repeat(4,1fr);gap:0;max-width:1160px;margin:0 auto;display:grid}.stat{padding:8px 24px}.stat+.stat{border-left:1px solid var(--border)}.stat-num{font-family:var(--font-display);color:var(--text);font-size:26px;font-weight:700}.stat-label{color:var(--text-faint);margin-top:2px;font-size:12.5px}.section{padding:84px 32px}.section.alt{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-inner{max-width:1160px;margin:0 auto}.section-tag{background:var(--accent-soft);color:var(--accent-text);border-radius:var(--radius-sm);letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;padding:5px 12px;font-size:11.5px;font-weight:700;display:inline-block}.section-title{font-family:var(--font-display);color:var(--text);margin-bottom:12px;font-size:clamp(26px,3.5vw,36px);font-weight:700;line-height:1.2}.section-sub{color:var(--text-muted);max-width:560px;margin-bottom:52px;font-size:15.5px;line-height:1.7}.tools-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.tool-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);cursor:pointer;flex-direction:column;gap:12px;padding:28px 26px;display:flex}.tool-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.tool-icon{border-radius:var(--radius-md);background:var(--accent-soft);width:44px;height:44px;color:var(--accent-text);justify-content:center;align-items:center;display:flex}.tool-card h3{font-family:var(--font-display);color:var(--text);margin-bottom:6px;font-size:18px;font-weight:600}.tool-card p{color:var(--text-muted);flex:1;font-size:14px;line-height:1.6}.tool-link{color:var(--accent-text);transition:gap var(--duration-fast) var(--ease-out);align-items:center;gap:6px;font-size:13.5px;font-weight:600;display:inline-flex}.tool-card:hover .tool-link{gap:10px}.steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;margin-top:44px;display:grid}.step-item{text-align:left}.step-num{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent-soft-strong);width:36px;height:36px;color:var(--accent-text);font-family:var(--font-display);justify-content:center;align-items:center;margin-bottom:14px;font-size:14px;font-weight:700;display:flex}.step-item h4{color:var(--text);margin-bottom:6px;font-size:15.5px;font-weight:700}.step-item p{color:var(--text-muted);font-size:13.5px;line-height:1.6}.footer{background:var(--bg);border-top:1px solid var(--border);color:var(--text-muted);padding:56px 32px 28px}.footer-inner{max-width:1160px;margin:0 auto}.footer-top{flex-wrap:wrap;justify-content:space-between;gap:40px;margin-bottom:40px;display:flex}.footer-top .footer-brand{max-width:480px}.footer-top .footer-col{flex-direction:column;gap:10px;display:flex}.footer-logo{font-family:var(--font-display);color:var(--text);align-items:center;gap:10px;margin-bottom:12px;font-size:18px;font-weight:700;display:flex}.footer-logo .dot{color:var(--accent)}.footer-col h5{color:var(--text);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;font-size:12px;font-weight:700}.footer-col a,.footer-col p{color:var(--text-muted);transition:color var(--duration-fast) var(--ease-out);margin-bottom:10px;font-size:13.5px;display:block}.footer-col a:hover{color:var(--accent-text)}.footer-bottom{border-top:1px solid var(--border);color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:24px;font-size:12.5px;display:flex}.zim-flag{gap:3px;margin-left:6px;display:inline-flex}.zim-flag span{border-radius:1px;width:6px;height:14px;display:inline-block}.page-hero{background:var(--surface);border-bottom:1px solid var(--border);padding:52px 32px 48px;position:relative;overflow:hidden}.page-hero-inner{z-index:1;max-width:1160px;margin:0 auto;position:relative}.page-hero h1{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:clamp(26px,4vw,38px);font-weight:700;line-height:1.2}.page-hero p{color:var(--text-muted);max-width:560px;font-size:15px}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:box-shadow var(--duration-base) var(--ease-out);margin-bottom:20px;padding:30px 32px}.card-title{font-family:var(--font-display);color:var(--text);align-items:center;gap:10px;margin-bottom:6px;font-size:18px;font-weight:600;display:flex}.card-sub{color:var(--text-muted);margin-bottom:24px;font-size:13px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-grid.three{grid-template-columns:1fr 1fr 1fr}.form-grid.full{grid-template-columns:1fr}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.form-grid>*{min-width:0}.field select,.field input:not([type=checkbox]):not([type=radio]){width:100%;min-width:0}.field label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11.5px;font-weight:700}.field label .req{color:var(--danger);margin-left:2px}.field input,.field select,.field textarea{border:1.5px solid var(--border-control);border-radius:var(--radius-sm);color:var(--text);background:var(--surface-2);transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);outline:none;padding:11px 14px;font-size:14.5px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field input[type=date]:focus-within,.field input[type=time]:focus-within{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface)}.field textarea{resize:vertical;min-height:90px}.field select{cursor:pointer;appearance:none;background-image: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 1l5 5 5-5' stroke='%2384806F' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:38px}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-size:var(--text-sm);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);cursor:pointer;border:1.5px solid #0000;font-weight:600;line-height:1.25;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn:active:not(:disabled){transform:translateY(0)scale(.98)}.btn:disabled{cursor:not-allowed}.btn[aria-busy=true]{cursor:progress}.btn-sm{min-height:36px;padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.btn-lg{min-height:48px;padding:var(--space-3) var(--space-6);font-size:var(--text-md)}.btn-primary,.btn-gold{background:var(--accent-emphasis);border-color:var(--accent-emphasis);color:var(--on-accent);box-shadow:var(--shadow-sm)}.btn-gold{min-height:48px;padding:var(--space-3) var(--space-6);font-size:var(--text-md)}.btn-primary:hover:not(:disabled),.btn-gold:hover:not(:disabled){background:var(--accent-emphasis-hover);border-color:var(--accent-emphasis-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-control);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--text)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border);box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){border-color:var(--danger)}.row-menu-btn{border-radius:var(--radius-sm);min-width:36px;min-height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.row-menu-btn:hover,.row-menu-btn[aria-expanded=true]{background:var(--surface);color:var(--text)}.row-menu{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-lg);padding:4px 0;position:absolute;top:calc(100% + 4px);right:0}.row-menu-item{text-align:left;width:100%;min-height:40px;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-size:13.5px;display:flex}.row-menu-item:hover{background:var(--surface-2)}.row-menu-danger{color:var(--danger)}.row-menu-backdrop{z-index:1100;cursor:default;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.row-menu-dialog{background:var(--surface);width:100%;max-width:420px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:20px}.btn-tertiary{min-height:0;padding:var(--space-1) 0;box-shadow:none;color:var(--accent-text);text-underline-offset:3px;background:0 0;border:none;text-decoration:underline}.btn-tertiary:hover:not(:disabled){color:var(--text);text-decoration-thickness:2px}.btn:disabled:not([aria-busy=true]){opacity:.5;box-shadow:none}.btn-row{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:28px;display:flex}.topic-toggles{flex-wrap:wrap;gap:8px;display:flex}.topic-toggle{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);padding:6px 12px;font-size:12.5px;font-weight:500}.topic-toggle.skip{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger);text-decoration:line-through}.topic-toggle:not(.skip):hover{border-color:var(--accent);color:var(--accent-text)}.upload-zone{border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:var(--surface-2);padding:24px 20px;position:relative}.upload-zone:hover{border-color:var(--accent);background:var(--accent-soft)}.upload-zone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-zone p{color:var(--text-muted);font-size:13.5px}.upload-tag{background:var(--accent-soft);border:1px solid var(--accent-soft-strong);color:var(--accent-text);border-radius:var(--radius-sm);align-items:center;gap:6px;margin:4px;padding:5px 10px;font-size:12px;font-weight:500;display:inline-flex}.upload-tag button{cursor:pointer;color:var(--danger);background:0 0;border:none;font-size:14px;line-height:1}.chat-wrap{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);height:520px;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.chat-header{background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:18px 24px;display:flex}.chat-avatar{border-radius:var(--radius-sm);background:var(--accent-soft);width:38px;height:38px;color:var(--accent-text);justify-content:center;align-items:center;display:flex}.chat-header-info h4{color:var(--text);font-size:14.5px;font-weight:700}.chat-header-info p{color:var(--text-muted);font-size:12px}.chat-status{background:var(--success);border-radius:50%;width:7px;height:7px;margin-left:auto;animation:2s infinite blink}.chat-messages{background:var(--chat-bg);flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.msg{flex-direction:column;max-width:80%;display:flex}.msg.user{align-self:flex-end;align-items:flex-end}.msg.bot{align-self:flex-start;align-items:flex-start}.msg-bubble{border-radius:var(--radius-md);padding:12px 16px;font-size:14.5px;line-height:1.6}.msg.user .msg-bubble{background:var(--accent-emphasis);color:var(--on-accent);border-bottom-right-radius:4px}.msg.bot .msg-bubble{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-bottom-left-radius:4px}.msg-time{color:var(--text-faint);margin-top:4px;padding:0 4px;font-size:11px}.chat-input-row{border-top:1px solid var(--border);background:var(--surface);gap:12px;padding:16px 20px;display:flex}.chat-input{border:1.5px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out);background:var(--surface-2);color:var(--text);outline:none;flex:1;padding:10px 16px;font-size:14px}.chat-input:focus{border-color:var(--accent)}.chat-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-send{background:var(--accent-emphasis);color:var(--on-accent);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-out);border:none;padding:10px 20px;font-size:14px;font-weight:600}.chat-send:hover{background:var(--accent-emphasis-hover)}.chat-send:active{transform:scale(.98)}.typing{gap:4px;padding:14px 16px;display:flex}.typing span{background:var(--text-faint);border-radius:50%;width:7px;height:7px;animation:1.2s infinite bounce}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}.status-box{background:var(--accent-soft);border:1.5px solid var(--accent-soft-strong);border-radius:var(--radius-md);margin-top:20px;padding:20px 24px}.status-row{align-items:center;gap:12px;padding:7px 0;display:flex}.s-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.s-dot.done{background:var(--success)}.s-dot.active{background:var(--accent);animation:1s infinite blink}.s-dot.pending{background:var(--border-strong)}.status-row span{font-size:13.5px}.status-row.done span{color:var(--success);font-weight:500}.status-row.active span{color:var(--text);font-weight:600}.status-row.pending span{color:var(--text-faint)}.progress-bar{background:var(--border);border-radius:3px;height:5px;margin-top:14px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .6s var(--ease-out);border-radius:3px}.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}.state-icon{flex-shrink:0;margin-top:2px}.state-body{flex:1;min-width:0}.state-title{color:var(--text);font-weight:700}.state-text{color:var(--text-muted)}.state-action{margin-top:var(--space-3);gap:var(--space-2);flex-wrap:wrap;display:flex}.error-box{align-items:flex-start;gap:var(--space-2);background:var(--danger-bg);border:1.5px solid var(--danger-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);color:var(--text);font-size:var(--text-sm);margin-top:var(--space-4);display:flex}.error-box>.state-icon,.error-box>svg{color:var(--danger)}.error-box.compact{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);margin-top:var(--space-2)}.success-message{align-items:flex-start;gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5);font-size:var(--text-sm);color:var(--text);display:flex}.success-message.tone-success .state-icon{color:var(--success)}.success-message.tone-warning .state-icon{color:var(--warning)}.success-message.compact{box-shadow:none;gap:var(--space-2);font-size:var(--text-xs);background:0 0;border:none;padding:0}.success-message.compact .state-title{font-weight:600}.success-message.center{text-align:center;padding:var(--space-6) var(--space-5);flex-direction:column;align-items:center}.success-message.center .state-icon{margin:0}.success-message.center .state-title{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-2)}.success-message.center .state-text{margin-bottom:var(--space-5)}.empty-state{text-align:center;padding:var(--space-6) 0;color:var(--text-muted);font-size:var(--text-sm)}.empty-state-icon{color:var(--text-faint);margin-bottom:var(--space-3)}.empty-state-title{color:var(--text);font-weight:700;font-size:var(--text-md);margin-bottom:var(--space-1)}.empty-state-action{margin-top:var(--space-4);justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.empty-state.compact{text-align:left;font-size:var(--text-xs);padding:0}.skeleton-wrap{gap:var(--space-2);flex-direction:column;display:flex}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;min-height:12px;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-line{height:14px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{border:3px solid var(--accent-soft);border-top-color:var(--on-accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.spinner.standalone{border:3px solid var(--border);border-top-color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}.spin-icon{animation:.8s linear infinite spin;display:inline-block}.chip{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);padding:6px 13px;font-size:12.5px;font-weight:500}.chip:hover{border-color:var(--accent);color:var(--accent-text)}.chip.active{background:var(--accent-emphasis);border-color:var(--accent-emphasis);color:var(--on-accent)}.chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.divider{background:var(--border);height:1px;margin:28px 0}.badge{border-radius:var(--radius-sm);letter-spacing:.03em;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent-text)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-neutral{background:var(--surface-3);color:var(--text-muted)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.option-card,.option-chip,.switch-btn,.step-btn{font:inherit;color:inherit;text-align:left}.option-card{background:0 0;border:none;width:100%}.option-card[aria-disabled=true]{cursor:not-allowed}.switch-btn{border:1.5px solid var(--border-control);flex-shrink:0;padding:0}.switch-btn[aria-disabled=true]{cursor:not-allowed}.step-btn{padding:var(--space-1);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none}.step-btn:disabled{cursor:default}.option-card:focus-visible,.option-chip:focus-visible,.switch-btn:focus-visible,.step-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.format-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.format-card{gap:var(--space-2);padding:var(--space-3);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex}.format-card.is-selected{border:3px solid var(--navy);padding:calc(var(--space-3) - 1px);background:var(--accent-soft)}.format-thumb{cursor:zoom-in;border:1px solid var(--border-control);border-radius:var(--radius-sm);background:#fff;width:100%;padding:0;display:block;position:relative;overflow:hidden}.format-thumb img{width:100%;height:auto;display:block}.format-thumb-hint{right:var(--space-1);bottom:var(--space-1);align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);color:#fff;background:#141414c7;font-weight:600;display:inline-flex;position:absolute}.format-thumb:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.format-choose{gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;display:flex}.format-name{font-size:var(--text-md);color:var(--text);font-weight:700}.format-state{align-items:center;gap:var(--space-1);margin-top:var(--space-1);font-size:var(--text-sm);color:var(--text-muted);font-weight:600;display:inline-flex}.format-state.on{color:var(--text)}.format-sample-link{margin-left:var(--space-2);align-self:flex-start}.format-viewer{z-index:1000;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.format-viewer-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;display:flex}.format-viewer-title{font-size:var(--text-lg);color:var(--text);font-weight:700}.format-viewer-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.format-viewer-page{padding:var(--space-4);flex:1;overflow:auto}.format-viewer-page img{width:max(100%,900px);max-width:1400px;height:auto;box-shadow:var(--shadow);background:#fff;margin:0 auto;display:block}.choice-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.choice-chip{align-items:center;gap:var(--space-1);min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:var(--text-sm);text-align:left;border:1.5px solid var(--border-control);background:var(--surface);color:var(--text);font-weight:600;display:inline-flex}.choice-chip:hover{border-color:var(--navy)}.choice-chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:var(--on-accent)}.choice-chip:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.choice-chip-note{font-weight:400;font-size:var(--text-xs)}.field-label{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-2);font-weight:700;display:block}.printed-line{font-size:var(--text-md);color:var(--text);margin:0;font-weight:600}.lesson-rows{margin:var(--space-3) 0 0;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));padding:0;list-style:none;display:grid}.fixed-choice{font-size:var(--text-md);color:var(--text);font-weight:600}.sow-steps{align-items:center;gap:0;list-style:none;display:flex}.sow-step-item{flex:1;align-items:center;min-width:0;display:flex}.sow-step-connector{height:2px;transition:background var(--duration-base) var(--ease-out);flex:1;margin:0 8px}.admin-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab-btn{white-space:nowrap;flex:1}@media (max-width:768px){.nav-links{display:none}.form-grid,.form-grid.three{grid-template-columns:1fr}.stats-inner{grid-template-columns:1fr 1fr}.stat+.stat{border-left:none}.footer-top{flex-direction:column;gap:32px}.hero{padding:56px 20px 64px}.section{padding:52px 20px}.card{padding:24px 20px}.sow-steps{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.sow-step-item{flex:none}.sow-step-connector{display:none}.admin-tabs{justify-content:flex-start}.admin-tab-btn{flex:none;padding:10px 14px!important;font-size:12.5px!important}}.topic-order{margin:var(--space-3) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.topic-order-row{align-items:center;gap:var(--space-2);min-height:52px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1.5px solid var(--border-control);background:var(--surface);display:flex}.topic-order-row.is-dragging{background:var(--surface-2);border-color:var(--navy);box-shadow:var(--shadow)}.topic-handle{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.topic-handle:hover{background:var(--surface-2);color:var(--text)}.topic-order-row.is-dragging .topic-handle{cursor:grabbing}.topic-handle:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.topic-order-num{min-width:1.5em;font-size:var(--text-sm);color:var(--text-muted);text-align:right;flex:none;font-weight:700}.topic-order-label{min-width:0;font-size:var(--text-sm);color:var(--text);overflow-wrap:anywhere;flex:1;font-weight:600}.topic-weeks{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-muted);flex:none;display:inline-flex}.topic-weeks input{width:4.5em;min-height:44px;padding:var(--space-1) var(--space-2);text-align:center;font:inherit;font-size:var(--text-md);color:var(--text);border:1.5px solid var(--border-control);border-radius:var(--radius-sm);background:var(--surface-2);font-weight:600}.topic-weeks input::placeholder{color:var(--text-muted);opacity:1;font-weight:400}.topic-weeks input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.theme-preview{isolation:isolate;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;max-width:520px;position:relative;overflow:hidden}.theme-preview img{width:100%;height:auto;display:block}.theme-preview-tint{mix-blend-mode:color;pointer-events:none;position:absolute;inset:0}.review-list{margin:var(--space-2) 0 0;border-top:1px solid var(--border);padding:0;list-style:none}.review-list li{border-bottom:1px solid var(--border)}.review-row{align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(96px,30%) 1fr auto;display:grid}.review-row:hover{background:var(--surface-2)}.review-row:focus-visible{outline:3px solid var(--accent);outline-offset:0}.review-label{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.review-value{font-size:var(--text-sm);color:var(--text);overflow-wrap:anywhere;font-weight:600}.review-change{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:2px;font-weight:600;display:inline-flex}@media (max-width:480px){.review-row{grid-template-columns:1fr auto;row-gap:0}.review-label{grid-column:1/-1}}.scheme-failed{text-align:center;align-items:center;gap:var(--space-3);max-width:560px;padding:var(--space-6) var(--space-5);flex-direction:column;margin:0 auto;display:flex}.scheme-failed-icon{color:var(--warning)}.scheme-failed-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text);margin:0}.scheme-failed-meta{font-size:var(--text-sm);color:var(--text-muted);margin:0}.scheme-failed-facts{gap:var(--space-2);font-size:var(--text-md);color:var(--text);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.scheme-failed-actions{justify-content:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.scheme-failed-report{padding:var(--space-2);font:inherit;font-size:var(--text-sm);color:var(--text);text-underline-offset:3px;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;font-weight:600;text-decoration:underline}.scheme-failed-report:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.scheme-failed-admin{width:100%;margin-top:var(--space-2);text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.scheme-failed-admin summary{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text);cursor:pointer;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-weight:600;display:flex}.scheme-failed-admin summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.scheme-failed-admin dl{padding:0 var(--space-3) var(--space-3);gap:var(--space-1) var(--space-3);font-size:var(--text-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.scheme-failed-admin dt{color:var(--text-muted);font-weight:700}.scheme-failed-admin dd{color:var(--text);font-family:var(--font-mono,monospace);overflow-wrap:anywhere;margin:0}.scheme-progress{align-items:center;gap:var(--space-3);max-width:560px;padding:var(--space-6) var(--space-5);text-align:center;flex-direction:column;margin:0 auto;display:flex}.scheme-progress-spinner{border:4px solid var(--border);border-top-color:var(--navy);border-radius:50%;width:40px;height:40px;animation:1.2s linear infinite spin}.scheme-progress-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text);margin:0}.scheme-progress-meta{font-size:var(--text-sm);color:var(--text-muted);margin:0}.scheme-progress-steps{margin:var(--space-2) 0 0;gap:var(--space-2);text-align:left;flex-direction:column;align-self:stretch;padding:0;list-style:none;display:flex}.scheme-progress-steps li{align-items:center;gap:var(--space-3);font-size:var(--text-md);color:var(--text-muted);display:flex}.scheme-progress-steps li.is-current{color:var(--text);font-weight:700}.scheme-progress-steps li.is-done{color:var(--text)}.scheme-progress-mark{border:2px solid var(--border-control);border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.is-done .scheme-progress-mark{background:var(--navy);border-color:var(--navy);color:var(--on-accent)}.is-current .scheme-progress-mark{border-color:var(--navy);box-shadow:inset 0 0 0 4px var(--surface), inset 0 0 0 11px var(--navy)}.scheme-progress-bar{background:var(--surface-2);border:1px solid var(--border-control);border-radius:4px;align-self:stretch;height:8px;overflow:hidden}.scheme-progress-bar>div{background:var(--navy);height:100%;transition:width .4s}.scheme-progress-time{font-size:var(--text-md);color:var(--text);margin:0;font-weight:600}.scheme-progress-leave{font-size:var(--text-sm);color:var(--text-muted);margin:0}.scheme-progress-actions{justify-content:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}@media (prefers-reduced-motion:reduce){.scheme-progress-spinner{animation-duration:3s}.scheme-progress-bar>div{transition:none}}.live-weeks{max-width:560px;margin:var(--space-4) auto 0;padding:var(--space-5)}.live-weeks-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text);margin:0}.live-weeks-sub{margin:var(--space-1) 0 var(--space-3);font-size:var(--text-sm);color:var(--text-muted)}.live-weeks-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.live-weeks-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.live-weeks-name{font-size:var(--text-sm);color:var(--text);overflow-wrap:anywhere;min-width:0;font-weight:600}.live-weeks-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.next-steps{max-width:560px;margin:var(--space-4) auto 0;padding:var(--space-5);touch-action:pan-y}.next-steps-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.next-steps-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text);margin:0}.next-steps-controls{gap:var(--space-1);display:flex}.next-steps-btn{width:36px;padding:0}.next-steps-slide{margin-top:var(--space-3);align-items:flex-start;gap:var(--space-2);min-height:120px;animation:next-steps-in var(--duration-base,.2s) var(--ease-out);flex-direction:column;display:flex}.next-steps-name{font-size:var(--text-md);color:var(--text);overflow-wrap:anywhere;margin:0;font-weight:600}.next-steps-body{font-size:var(--text-sm);color:var(--text-muted);margin:0}.next-steps-count{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--text-muted)}@keyframes next-steps-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.next-steps-slide{animation:none}}.next-steps-list{margin:var(--space-3) 0 0;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:0;list-style:none;display:grid}.next-steps-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);flex-direction:column;display:flex}.next-steps-item .btn{margin-top:auto}.scheme-ready{text-align:center;align-items:center;gap:var(--space-3);max-width:560px;padding:var(--space-6) var(--space-5);flex-direction:column;margin:0 auto;display:flex}.scheme-ready-icon{color:var(--success)}.scheme-ready-icon.partial{color:var(--warning)}.scheme-ready-head{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.scheme-ready-download{width:100%;max-width:440px}.scheme-ready-more{max-width:560px;margin:var(--space-4) auto 0;align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.share-scheme{margin-top:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.share-scheme-note{text-align:center;margin:0}.share-scheme-unsupported{color:var(--text-muted)}.share-scheme-unsupported svg{vertical-align:-3px;margin-right:var(--space-1)}.scheme-ready-more .btn-row-center{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.notify-me{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.notify-me-hint{font-size:var(--text-xs);color:var(--text-muted);margin:0}.notify-me-done{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text);margin:0;font-weight:600;display:inline-flex}.auto-delivery{gap:var(--space-3);text-align:left;flex-direction:column;display:flex}.auto-delivery-line{align-items:center;gap:var(--space-3);display:flex}.auto-delivery-switch{background:var(--border-control);cursor:pointer;width:44px;height:24px;transition:background var(--duration-fast,.15s) var(--ease-out,ease-out);border-radius:12px;position:relative}.auto-delivery-switch[data-on]{background:var(--accent-emphasis);border-color:var(--accent-emphasis)}.auto-delivery-switch[aria-disabled=true]{opacity:.5}.auto-delivery-switch span{background:var(--on-accent);width:19px;height:19px;box-shadow:var(--shadow-sm);transition:left var(--duration-fast,.15s) var(--ease-out,ease-out);border-radius:50%;position:absolute;top:1px;left:1px}.auto-delivery-switch[data-on] span{left:21px}.auto-delivery-label{font-size:var(--text-md);color:var(--text)}.auto-delivery-hint{margin:var(--space-1) 0 0 56px;font-size:var(--text-sm);color:var(--text-muted)}.auto-delivery-hint a{color:var(--accent-text);text-underline-offset:3px;font-weight:600;text-decoration:underline}.auto-delivery-warn{color:var(--warning);vertical-align:-2px;margin-right:var(--space-1)}.scheme-ready-auto{width:100%;max-width:560px;margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border)}.scheme-ready-auto-title{margin:0 0 var(--space-3);font-size:var(--text-md);color:var(--text);text-align:left;font-weight:600}@media (prefers-reduced-motion:reduce){.auto-delivery-switch,.auto-delivery-switch span{transition:none}}.class-list{margin:0 0 var(--space-3);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.class-row{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-wrap:wrap;display:flex}.class-row>.class-form{flex:100%}.class-row-name{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text);overflow-wrap:anywhere;font-weight:600;display:flex}.class-row-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.class-form{padding:var(--space-3);border:1px dashed var(--border-control);border-radius:var(--radius-sm);margin-bottom:var(--space-3)}.class-row>.class-form{border:none;margin:0;padding:0}.tt-periods{margin:var(--space-3) 0 0;gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.tt-period{align-items:flex-start;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.tt-period-no{background:var(--surface-2);height:28px;color:var(--text);border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;margin-top:22px;font-size:13px;font-weight:700;display:flex}.tt-times{gap:var(--space-2);flex:220px;display:flex}.tt-times .field{flex:1 1 0}.ask-later{margin-top:var(--space-3);padding:var(--space-3);border:1px dashed var(--border-control);border-radius:var(--radius-sm)}.cal-page{background:var(--bg);padding:var(--space-6) var(--space-4) var(--space-7)}.cal-column{gap:var(--space-5);flex-direction:column;max-width:760px;margin:0 auto;display:flex}.cal-actions,.cal-confirm{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.cal-confirm{margin-top:var(--space-5)}.cal-status{margin:var(--space-3) 0 0;align-items:center;gap:var(--space-2);display:flex}.cal-events{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cal-event{align-items:flex-end;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.cal-event-title{flex:220px;min-width:0}.cal-event-dates{gap:var(--space-3);flex-wrap:wrap;flex:280px;display:flex}.cal-event-dates .field{flex:130px;min-width:0}.cal-event-span{flex:240px;min-width:0}.cal-rules{margin-top:var(--space-4)}.cal-rules p{margin:0 0 var(--space-2)}.offline-notice{align-items:flex-start;gap:var(--space-2);background:var(--surface);border:1.5px solid var(--border-control);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);color:var(--text);font-size:var(--text-sm);display:flex}.offline-notice .state-icon{color:var(--text);flex:none;margin-top:2px}.mark-cell{gap:var(--space-1);flex-direction:column;display:flex}.mark-conflict{gap:var(--space-2);flex-direction:column;max-width:220px;display:flex}.mark-conflict-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.mark-state{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-muted);display:inline-flex}.mark-input{width:64px;padding:var(--space-1) var(--space-2);border:1.5px solid var(--border-control);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--surface);color:var(--text)}.mark-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.today-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.today-title{align-items:center;gap:var(--space-2);margin:0;display:flex}.today-date{margin:var(--space-1) 0 0;color:var(--text-muted);align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.today-clock{align-items:center;gap:var(--space-1);display:inline-flex}.today-events{margin:0 0 var(--space-4);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.today-events li{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1.5px solid var(--border-control);border-radius:var(--radius-sm);background:var(--surface);display:flex}.today-events svg{flex:none;margin-top:2px}.today-lessons{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today-lesson{gap:var(--space-3) var(--space-5);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);flex-wrap:wrap;display:flex}.today-lesson-when{gap:var(--space-1);flex-direction:column;flex:0 0 132px;display:flex}.today-time{font-weight:700;font-size:var(--text-md);color:var(--text)}.today-lesson-what{gap:var(--space-2);flex-direction:column;flex:260px;align-items:flex-start;min-width:0;display:flex}.today-class{font-weight:700;font-size:var(--text-sm);color:var(--text)}.today-topic{font-size:var(--text-md);color:var(--text);margin:0}.today-sub{color:var(--text);margin:0}.today-flag,.today-status,.today-behind{align-items:center;gap:var(--space-1);display:inline-flex}.today-flag{margin:0}.today-status{font-size:var(--text-sm);color:var(--text);align-items:flex-start}.today-status svg{flex:none;margin-top:2px}.today-tools,.today-mark{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.today-mark{padding-top:var(--space-2);border-top:1px solid var(--border);align-self:stretch}.today-notes{display:contents}.today-notes>summary{cursor:pointer;list-style:none}.today-notes>summary::-webkit-details-marker{display:none}.today-notes[open]>summary{text-decoration:underline}.today-notes-body{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex:1 0 100%;order:10}.today-notes-body p{margin:0 0 var(--space-2)}.today-foot{margin:var(--space-3) 0 0}.today-schemes{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.today-schemes-title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);display:flex}.today-scheme-list,.today-class-list{margin:0;padding:0;list-style:none}.today-scheme-list{gap:var(--space-3);flex-direction:column;display:flex}.today-scheme-name{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font:inherit;font-weight:700;font-size:var(--text-sm);color:var(--text);cursor:pointer;text-underline-offset:3px;text-align:left;background:0 0;border:none;text-decoration:underline;display:inline-flex}.today-scheme-name:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.today-class-list{gap:var(--space-1);padding-left:var(--space-5);flex-direction:column;display:flex}.scheme-in-use{align-items:center;gap:var(--space-1);margin-left:var(--space-2);padding:0 var(--space-2);border:1.5px solid var(--border-control);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text);vertical-align:middle;font-weight:700;display:inline-flex}.scheme-use{align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.scheme-past{justify-content:center;display:flex}.scheme-use-note{margin:var(--space-2) 0 0}@media (max-width:520px){.today-lesson-when{align-items:baseline;gap:var(--space-3);flex-direction:row;flex:100%}}.prepare{margin-top:var(--space-4)}.prepare-idle{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.prepare-idle .t-caption{flex:220px}.prepare-panel{padding:var(--space-4);border:1.5px solid var(--border-control);border-radius:var(--radius-md);background:var(--surface)}.prepare-title{margin:0 0 var(--space-2)}.prepare-title:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.prepare-list{margin:var(--space-3) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.prepare-item{align-items:flex-start;gap:var(--space-2);display:flex}.prepare-item svg{flex:none;margin-top:3px}.prepare-item-label{flex:auto;min-width:0}.prepare-item-state{text-align:right;flex:none;max-width:45%;font-weight:700}.prepare-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.auto-delivery-number{max-width:280px;margin-top:var(--space-2)}.wa-status{margin:0 0 var(--space-4);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.wa-status li{align-items:flex-start;gap:var(--space-2);display:flex}.wa-status svg{flex:none;margin-top:3px}
