@font-face{font-family:iranYekan;src:url(../media/IRANYekanRegular-s.p.0ajjrp8l1knv1.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:iranYekan;src:url(../media/IRANYekanMedium-s.p.3n6y-ayd415s1.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:iranYekan;src:url(../media/IRANYekanBold-s.p.00j8ggslyk1-6.woff2)format("woff2");font-display:swap;font-weight:600 700}@font-face{font-family:iranYekan;src:url(../media/IRANYekanExtraBold-s.p.22xem4z2poatv.woff2)format("woff2");font-display:swap;font-weight:800}@font-face{font-family:iranYekan;src:url(../media/IRANYekanBlack-s.p.2x5a_stdz7by2.woff2)format("woff2");font-display:swap;font-weight:900}@font-face{font-family:iranYekan Fallback;src:local(Arial);ascent-override:115.4%;descent-override:53.26%;line-gap-override:0.0%;size-adjust:102.41%}.M5X0uG_className{font-family:iranYekan,iranYekan Fallback}.M5X0uG_variable{--font-brand:"iranYekan", "iranYekan Fallback"}
:root{--surface:#f4f6f4;--surface-raised:#fff;--surface-sunken:#eaeeeb;--line:#dce2de;--line-strong:#7f8b84;--ink:#0d1310;--ink-muted:#4c5a52;--emerald:#0f5a3c;--emerald-hover:#0a4730;--emerald-soft:#e2f0e8;--on-emerald:#fff;--night:#0c1310;--night-raised:#17221c;--night-line:#26342c;--on-night:#f1f5f2;--on-night-muted:#9daea4;--emerald-bright:#43c185;--focus:#1e8a5a;--link:var(--emerald);--success:var(--emerald);--success-soft:var(--emerald-soft);--info:#1d4f91;--info-soft:#e6eef9;--warning:#8a5300;--warning-soft:#fbf0dc;--danger:#b42318;--danger-soft:#fcebe9;--on-danger:#fff;--overlay:#0c131080;--shadow-sm:0 1px 2px #0d131014;--shadow-lg:0 4px 12px #0d13100f, 0 16px 40px -8px #0d131033;--focus-ring:0 0 0 2px #fff, 0 0 0 4px #1e8a5a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-full:9999px;--control-sm:32px;--control-md:40px;--control-lg:48px;--sidebar-width:272px;--topbar-height:64px;--content-max:1200px;--font-sans:var(--font-brand,"Vazirmatn"), Tahoma, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--surface:#0a0f0c;--surface-raised:#121a16;--surface-sunken:#070b09;--line:#24302a;--line-strong:#66756c;--ink:#edf2ee;--ink-muted:#a3b1a9;--emerald:#46b983;--emerald-hover:#62c899;--emerald-soft:#10291d;--on-emerald:#04110a;--night:#050806;--night-raised:#101814;--night-line:#1f2b25;--on-night:#edf2ee;--on-night-muted:#93a49a;--emerald-bright:#4cc48a;--focus:#4cc48a;--link:var(--emerald);--success:var(--emerald);--success-soft:var(--emerald-soft);--info:#8db3ee;--info-soft:#142540;--warning:#e9b04f;--warning-soft:#33240b;--danger:#f2806f;--danger-soft:#3a1410;--on-danger:#1a0806;--overlay:#000000b3;--shadow-sm:0 1px 2px #00000080;--shadow-lg:0 16px 40px -8px #000c;--focus-ring:0 0 0 2px #0a0f0c, 0 0 0 4px #4cc48a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.ha-text-display{font-size:32px;font-weight:700;line-height:48px}.ha-text-title{font-size:24px;font-weight:700;line-height:36px}.ha-text-heading{font-size:18px;font-weight:600;line-height:30px}.ha-text-subheading{font-size:16px;font-weight:600;line-height:28px}.ha-text-body{font-size:15px;font-weight:400;line-height:26px}.ha-text-label{font-size:14px;font-weight:500;line-height:24px}.ha-text-small{font-size:13px;font-weight:400;line-height:22px}.ha-text-caption{font-size:12px;font-weight:600;line-height:20px}.ha-text-figure{font-size:28px;font-weight:700;line-height:40px}.ha-text-code{font-size:13px;font-weight:400;line-height:20px;font-family:var(--font-mono)}*,:before,:after{box-sizing:border-box}html{direction:rtl}body{font-family:var(--font-sans);background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:26px}h1,h2,h3,p{margin:0}bdi[dir=ltr],.ha-ltr{direction:ltr;unicode-bidi:isolate}.ha-mono{font-family:var(--font-mono);font-size:13px}.ha-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ha-link{color:var(--link);text-underline-offset:4px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.ha-link:focus-visible{border-radius:var(--radius-xs);box-shadow:var(--focus-ring);outline:none}.ha-icon{flex:none;display:block}.ha-icon-flip{transform:scaleX(-1)}.ha-wordmark{color:var(--ink);flex-direction:column;display:inline-flex}.ha-wordmark-name{font-size:18px;font-weight:700;line-height:28px}.ha-wordmark-sub{color:var(--ink-muted);font-size:12px;font-weight:400;line-height:18px}.ha-wordmark-lg .ha-wordmark-name{font-size:28px;line-height:40px}.ha-wordmark-lg .ha-wordmark-sub{font-size:14px;line-height:22px}.ha-wordmark-night{color:var(--on-night)}.ha-wordmark-night .ha-wordmark-sub{color:var(--on-night-muted)}.ha-btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-4);border-radius:var(--radius-sm);font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;font-size:14px;font-weight:600;line-height:24px;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.ha-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.ha-btn-primary{background:var(--emerald);color:var(--on-emerald)}.ha-btn-primary:not([disabled]):hover{background:var(--emerald-hover)}.ha-btn-secondary{background:var(--surface-raised);border-color:var(--line-strong);color:var(--ink)}.ha-btn-secondary:not([disabled]):hover{background:var(--surface-sunken)}.ha-btn-ghost{color:var(--emerald);background:0 0}.ha-btn-ghost:not([disabled]):hover{background:var(--emerald-soft)}.ha-btn-danger{background:var(--danger);color:var(--on-danger)}.ha-btn-sm{height:var(--control-sm);padding:0 var(--space-3);gap:6px;font-size:13px}.ha-btn-lg{height:var(--control-lg);padding:0 var(--space-6);font-size:15px}.ha-btn-block{width:100%;display:flex}.ha-btn-icononly{width:var(--control-md);padding:0}.ha-btn-sm.ha-btn-icononly{width:var(--control-sm)}.ha-btn[disabled]{opacity:.45;cursor:not-allowed}.ha-btn-spinner{border-radius:var(--radius-full);border:2px solid;border-inline-end-color:#0000;width:16px;height:16px;animation:.8s linear infinite ha-spin}.ha-field{flex-direction:column;gap:6px;min-width:0;display:flex}.ha-label{color:var(--ink);font-size:14px;font-weight:500;line-height:24px}.ha-req{color:var(--danger);margin-inline-start:2px}.ha-control{align-items:center;display:flex;position:relative}.ha-input{width:100%;height:var(--control-md);padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);font:inherit;font-size:15px;line-height:24px}.ha-input::placeholder{color:var(--ink-muted);opacity:1}.ha-input:hover{border-color:var(--ink-muted)}.ha-input:focus{border-color:var(--focus);box-shadow:inset 0 0 0 1px var(--focus);outline:none}.ha-field:focus-within .ha-label{color:var(--emerald)}.ha-control:focus-within .ha-control-lead,.ha-control:focus-within .ha-control-trail{color:var(--focus)}.ha-input[aria-invalid=true]:focus{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.ha-field:has(.ha-input[aria-invalid=true]):focus-within .ha-label{color:var(--ink)}:is(.ha-control:has(.ha-input[aria-invalid=true]):focus-within .ha-control-lead,.ha-control:has(.ha-input[aria-invalid=true]):focus-within .ha-control-trail){color:var(--ink-muted)}.ha-input[aria-invalid=true]{border-color:var(--danger)}.ha-input:disabled{background:var(--surface-sunken);color:var(--ink-muted);cursor:not-allowed}.ha-input[dir=ltr]{text-align:left}.ha-control-icon .ha-input{padding-inline-start:40px}.ha-control-icon .ha-input[dir=ltr]{padding-inline-start:var(--space-3);padding-inline-end:40px}.ha-control-lead{color:var(--ink-muted);pointer-events:none;position:absolute;inset-inline-start:12px}.ha-control-trail{color:var(--ink-muted);pointer-events:none;position:absolute;inset-inline-end:12px}.ha-select{appearance:none;cursor:pointer;padding-inline-end:40px}.ha-hint{color:var(--ink-muted);font-size:13px;line-height:22px}.ha-error{align-items:center;gap:var(--space-1);color:var(--danger);font-size:13px;line-height:22px;display:flex}.ha-check{align-items:flex-start;gap:var(--space-2);cursor:pointer;color:var(--ink);font-size:15px;line-height:24px;display:inline-flex;position:relative}.ha-check input{opacity:0;cursor:pointer;width:20px;height:20px;margin:2px 0 0;position:absolute}.ha-check-box{border:1.5px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--surface-raised);color:#0000;flex:none;place-items:center;width:20px;height:20px;margin-top:2px;transition:background-color .12s,border-color .12s;display:grid}.ha-check:hover .ha-check-box{border-color:var(--ink-muted)}.ha-check input:checked+.ha-check-box,.ha-check input:indeterminate+.ha-check-box{background:var(--emerald);border-color:var(--emerald);color:var(--on-emerald)}.ha-check input:focus-visible+.ha-check-box{box-shadow:var(--focus-ring)}.ha-check input:disabled+.ha-check-box{opacity:.45}.ha-check-text{flex-direction:column;display:flex}.ha-drop{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);border:1.5px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--surface);text-align:center;cursor:pointer;flex-direction:column;transition:background-color .12s,border-color .12s;display:flex}.ha-drop:hover,.ha-drop.is-over{border-color:var(--emerald);background:var(--emerald-soft)}.ha-drop:focus-within{box-shadow:var(--focus-ring)}.ha-drop-icon{border-radius:var(--radius-md);background:var(--emerald-soft);width:48px;height:48px;color:var(--emerald);margin-bottom:var(--space-1);place-items:center;display:grid}.ha-drop:hover .ha-drop-icon,.ha-drop.is-over .ha-drop-icon{background:var(--surface-raised)}.ha-drop-title{color:var(--ink);font-size:15px;font-weight:600;line-height:26px}.ha-drop-hint{color:var(--ink-muted);font-size:13px;line-height:22px}.ha-badge{height:24px;padding:0 var(--space-2);border-radius:var(--radius-xs);white-space:nowrap;background:var(--surface-sunken);color:var(--ink-muted);align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:20px;display:inline-flex}.ha-badge-dot{border-radius:var(--radius-full);background:currentColor;width:6px;height:6px}.ha-badge-brand,.ha-badge-success{background:var(--emerald-soft);color:var(--emerald)}.ha-badge-info{background:var(--info-soft);color:var(--info)}.ha-badge-warning{background:var(--warning-soft);color:var(--warning)}.ha-badge-danger{background:var(--danger-soft);color:var(--danger)}.ha-badge-night{background:var(--night);color:var(--on-night)}.ha-progress{flex-direction:column;gap:6px;display:flex}.ha-progress-head{justify-content:space-between;gap:var(--space-3);color:var(--ink-muted);font-size:13px;line-height:22px;display:flex}.ha-progress-value{color:var(--ink);font-weight:600}.ha-progress-track{border-radius:var(--radius-full);background:var(--surface-sunken);height:8px;overflow:hidden}.ha-progress-sm .ha-progress-track{height:6px}.ha-progress-fill{border-radius:inherit;background:var(--emerald);height:100%;transition:width .3s}.ha-alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--ink);font-size:14px;line-height:24px;display:flex}.ha-alert-icon{margin-top:2px}.ha-alert-text{flex:1;min-width:0}.ha-alert-title{font-weight:600}.ha-alert-action{flex:none;align-self:center}.ha-alert-info{background:var(--info-soft)}.ha-alert-info .ha-alert-icon{color:var(--info)}.ha-alert-success{background:var(--emerald-soft)}.ha-alert-success .ha-alert-icon{color:var(--emerald)}.ha-alert-warning{background:var(--warning-soft)}.ha-alert-warning .ha-alert-icon{color:var(--warning)}.ha-alert-danger{background:var(--danger-soft)}.ha-alert-danger .ha-alert-icon{color:var(--danger)}.ha-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md)}.ha-avatar{border-radius:var(--radius-full);background:var(--emerald-soft);width:36px;height:36px;color:var(--emerald);flex:none;place-items:center;font-size:13px;font-weight:700;line-height:1;display:inline-grid;overflow:hidden}.ha-avatar img{object-fit:cover;width:100%;height:100%}.ha-avatar-sm{width:32px;height:32px;font-size:12px}.ha-avatar-lg{width:48px;height:48px;font-size:16px}.ha-avatar-square{border-radius:var(--radius-sm)}.ha-avatar-night{background:var(--emerald-bright);color:var(--night)}.ha-stat{gap:var(--space-2);padding:var(--space-5);flex-direction:column;display:flex}.ha-stat-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ha-stat-label{color:var(--ink-muted);font-size:14px;line-height:24px}.ha-stat-icon{border-radius:var(--radius-sm);background:var(--emerald-soft);width:36px;height:36px;color:var(--emerald);place-items:center;display:grid}.ha-stat-value{color:var(--ink);font-size:28px;font-weight:700;line-height:40px}.ha-stat-hint{color:var(--ink-muted);font-size:13px;line-height:22px}.ha-empty{align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-6);text-align:center;flex-direction:column;display:flex}.ha-empty-icon{border-radius:var(--radius-full);background:var(--surface-sunken);width:56px;height:56px;color:var(--ink-muted);margin-bottom:var(--space-2);place-items:center;display:grid}.ha-empty-title{font-size:16px;font-weight:600;line-height:28px}.ha-empty-body{max-width:380px;color:var(--ink-muted);font-size:14px;line-height:24px}.ha-empty-action{margin-top:var(--space-3)}.ha-table-wrap{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.ha-table-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.ha-table-scroll{overflow-x:auto}.ha-table{border-collapse:collapse;width:100%;font-size:14px;line-height:24px}.ha-table th{padding:10px var(--space-4);background:var(--surface-sunken);color:var(--ink-muted);text-align:start;white-space:nowrap;border-bottom:1px solid var(--line);font-size:13px;font-weight:600;line-height:22px}.ha-table td{padding:12px var(--space-4);border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink)}.ha-table tbody tr:last-child td{border-bottom:0}.ha-table tbody tr:hover td{background:var(--surface)}.ha-table tbody tr.is-selected td{background:var(--emerald-soft)}.ha-table .ha-col-end{text-align:end}.ha-table .ha-col-check{width:52px;padding-inline-end:0}.ha-table .ha-col-check .ha-check{vertical-align:middle}.ha-nowrap{white-space:nowrap}.ha-table-foot{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line)}.ha-person{align-items:center;gap:var(--space-3);display:flex}.ha-person-text{flex-direction:column;line-height:22px;display:flex}.ha-person-name{font-weight:600}.ha-person-sub{color:var(--ink-muted);font-size:13px}.ha-pager{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.ha-pager-sum{color:var(--ink-muted);font-size:13px;line-height:22px}.ha-pager-btns{align-items:center;gap:var(--space-1);display:flex}.ha-pager-btn{min-width:32px;height:32px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;font-size:14px;display:grid}.ha-pager-btn:hover:not([disabled]){background:var(--surface-sunken)}.ha-pager-btn[aria-current=page]{background:var(--emerald);color:var(--on-emerald);font-weight:600}.ha-pager-btn[disabled]{color:var(--ink-muted);opacity:.5;cursor:not-allowed}.ha-pager-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.ha-pager-gap{text-align:center;min-width:24px;color:var(--ink-muted)}.ha-course{flex-direction:column;min-width:0;display:flex;overflow:hidden}.ha-course-band{height:104px;padding:var(--space-4);background:var(--night);color:var(--on-night);flex-direction:column;justify-content:space-between;display:flex;position:relative}.ha-course-band:after{content:"";inset-inline:0;background:var(--emerald-bright);height:4px;position:absolute;bottom:0}.ha-course-band-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.ha-course-cat{color:var(--on-night-muted);font-size:13px;line-height:22px}.ha-course-req{padding:0 var(--space-2);border:1px solid var(--on-night-muted);border-radius:var(--radius-xs);color:var(--on-night);font-size:12px;font-weight:600;line-height:20px}.ha-course-code{font-family:var(--font-mono);letter-spacing:.04em;color:var(--on-night);align-self:flex-end;font-size:13px;line-height:20px}.ha-course-body{gap:var(--space-3);padding:var(--space-4);flex-direction:column;flex:1;display:flex}.ha-course-title{color:var(--ink);font-size:16px;font-weight:600;line-height:28px}.ha-meta{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.ha-meta-item{color:var(--ink-muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;line-height:22px;display:inline-flex}.ha-course-foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);display:flex}.ha-course-foot-info{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.ha-launch{min-height:100%;padding:var(--space-10) var(--space-6);background:var(--surface);text-align:center;place-items:center;display:grid}.ha-launch-inner{align-items:center;gap:var(--space-3);flex-direction:column;max-width:440px;display:flex}.ha-launch-spinner{border-radius:var(--radius-full);border:3px solid var(--line);border-top-color:var(--emerald);width:44px;height:44px;margin-bottom:var(--space-3);animation:.9s linear infinite ha-spin}.ha-launch-title{font-size:20px;font-weight:700;line-height:32px}.ha-launch-course{color:var(--emerald);font-size:16px;font-weight:600;line-height:28px}.ha-launch-note{color:var(--ink-muted);align-items:center;gap:6px;font-size:13px;line-height:22px;display:inline-flex}.ha-tabs{gap:var(--space-6);border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.ha-tab{appearance:none;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;font:inherit;color:var(--ink-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;font-size:14px;font-weight:500;line-height:24px;display:inline-flex}.ha-tab:hover{color:var(--ink)}.ha-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--emerald);font-weight:600}.ha-tab:focus-visible{border-radius:var(--radius-xs);box-shadow:var(--focus-ring);outline:none}.ha-tab-count{border-radius:var(--radius-full);background:var(--surface-sunken);min-width:22px;height:20px;color:var(--ink-muted);text-align:center;padding:0 6px;font-size:12px;font-weight:600;line-height:20px}.ha-tab[aria-selected=true] .ha-tab-count{background:var(--emerald-soft);color:var(--emerald)}.ha-side{width:var(--sidebar-width);min-height:100%;padding:var(--space-5) var(--space-3) var(--space-4);background:var(--night);color:var(--on-night);border-inline-end:1px solid var(--night-line);flex-direction:column;flex:none;display:flex}.ha-side-brand{padding:0 var(--space-3) var(--space-5)}.ha-side-org{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--night-line);border-radius:var(--radius-md);background:var(--night-raised);color:inherit;font:inherit;text-align:start;cursor:pointer;display:flex}.ha-side-org:hover{border-color:var(--on-night-muted)}.ha-side-org-text{flex-direction:column;flex:1;min-width:0;display:flex}.ha-side-org-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:22px;overflow:hidden}.ha-side-org-role{color:var(--on-night-muted);font-size:12px;line-height:18px}.ha-side-org-chev{color:var(--on-night-muted)}.ha-side-nav{flex-direction:column;flex:1;display:flex}.ha-side-section{margin-top:var(--space-4);flex-direction:column;gap:2px;display:flex}.ha-side-label{padding:0 var(--space-3) var(--space-1);color:var(--on-night-muted);font-size:12px;font-weight:500;line-height:20px}.ha-nav-item{align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--on-night-muted);font-size:14px;font-weight:500;line-height:24px;text-decoration:none;transition:background-color .12s,color .12s;display:flex;position:relative}.ha-nav-item:hover{background:var(--night-raised);color:var(--on-night)}.ha-nav-item[aria-current=page]{background:var(--night-raised);color:var(--on-night);font-weight:600}.ha-nav-item[aria-current=page] .ha-icon{color:var(--emerald-bright)}.ha-nav-item[aria-current=page]:before{content:"";inset-inline-start:calc(-1 * var(--space-3));background:var(--emerald-bright);border-start-end-radius:var(--radius-xs);border-end-end-radius:var(--radius-xs);width:3px;position:absolute;top:8px;bottom:8px}.ha-nav-label{flex:1;min-width:0}.ha-nav-count{border-radius:var(--radius-full);background:var(--night-line);min-width:22px;height:20px;color:var(--on-night);text-align:center;padding:0 6px;font-size:12px;font-weight:600;line-height:20px}.ha-side :focus-visible{box-shadow:0 0 0 2px var(--focus);outline:none}.ha-side-foot{padding-top:var(--space-4);border-top:1px solid var(--night-line)}.ha-top{align-items:center;gap:var(--space-6);height:var(--topbar-height);padding:0 var(--space-6);background:var(--surface-raised);border-bottom:1px solid var(--line);display:flex}.ha-top-night{background:var(--night);color:var(--on-night);border-bottom-color:var(--night-line)}.ha-top-titles{flex-direction:column;min-width:0;display:flex}.ha-crumbs{align-items:center;gap:var(--space-1);color:var(--ink-muted);font-size:12px;line-height:18px;display:flex}.ha-top-title{font-size:18px;font-weight:700;line-height:28px}.ha-top-nav{align-items:center;gap:var(--space-1);height:100%;display:flex}.ha-top-link{height:100%;padding:0 var(--space-3);color:var(--ink-muted);border-top:3px solid #0000;border-bottom:3px solid #0000;align-items:center;font-size:14px;font-weight:500;text-decoration:none;display:flex}.ha-top-link:hover{color:var(--ink)}.ha-top-link[aria-current=page]{color:var(--ink);border-bottom-color:var(--emerald);font-weight:600}.ha-top-night .ha-top-link{color:var(--on-night-muted)}.ha-top-night .ha-top-link:hover,.ha-top-night .ha-top-link[aria-current=page]{color:var(--on-night)}.ha-top-night .ha-top-link[aria-current=page]{border-bottom-color:var(--emerald-bright)}.ha-top-night .ha-crumbs,.ha-top-night .ha-user-role{color:var(--on-night-muted)}.ha-top-night :focus-visible{box-shadow:0 0 0 2px var(--focus);outline:none}.ha-top-end{align-items:center;gap:var(--space-3);margin-inline-start:auto;display:flex}.ha-top-search{width:280px}.ha-iconbtn{border-radius:var(--radius-sm);width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:relative}.ha-iconbtn:hover{background:var(--surface-sunken)}.ha-top-night .ha-iconbtn:hover{background:var(--night-raised)}.ha-iconbtn:focus-visible{box-shadow:var(--focus-ring);outline:none}.ha-iconbtn-dot{top:9px;border-radius:var(--radius-full);background:var(--danger);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface-raised);position:absolute;inset-inline-end:10px}.ha-top-night .ha-iconbtn-dot{box-shadow:0 0 0 2px var(--night)}.ha-user{align-items:center;gap:var(--space-2);border-inline-start:1px solid var(--line);padding-inline-start:var(--space-3);display:flex}.ha-top-night .ha-user{border-inline-start-color:var(--night-line)}.ha-user-text{flex-direction:column;line-height:20px;display:flex}.ha-user-name{font-size:14px;font-weight:600}.ha-user-role{color:var(--ink-muted);font-size:12px}.ha-pagehead{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.ha-pagehead-text{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ha-pagehead-title{font-size:24px;font-weight:700;line-height:36px}.ha-pagehead-desc{color:var(--ink-muted);max-width:640px;font-size:14px;line-height:24px}.ha-pagehead-actions{align-items:center;gap:var(--space-2);display:flex}.ha-scrim{z-index:50;padding:var(--space-6);background:var(--overlay);place-items:center;display:grid;position:fixed;inset:0}.ha-dialog{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(560px,100%);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.ha-scrim .ha-dialog{max-height:calc(100vh - 48px)}.ha-dialog-lg{width:min(760px,100%)}.ha-dialog-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-6) 0;display:flex}.ha-dialog-title{font-size:18px;font-weight:700;line-height:30px}.ha-dialog-desc{color:var(--ink-muted);margin-top:2px;font-size:14px;line-height:24px}.ha-dialog-close{color:var(--ink-muted);margin-inline-end:calc(-1 * var(--space-2))}.ha-dialog-body{gap:var(--space-4);padding:var(--space-5) var(--space-6);flex-direction:column;display:flex;overflow:auto}.ha-dialog-foot{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--line);background:var(--surface);display:flex}.ha-shell{background:var(--surface);min-height:100vh;display:flex}.ha-main{flex-direction:column;flex:1;min-width:0;display:flex}.ha-content{gap:var(--space-6);width:100%;max-width:var(--content-max);padding:var(--space-8) var(--space-6);flex-direction:column;margin:0 auto;display:flex}.ha-content-wide{max-width:none}.ha-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ha-stack{gap:var(--space-4);flex-direction:column;display:flex}.ha-grid{gap:var(--space-4);display:grid}.ha-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ha-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ha-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ha-demo{padding:var(--space-5);align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ha-demo-col{padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.ha-section-title{font-size:18px;font-weight:600;line-height:30px}.ha-spacer{flex:1}@keyframes ha-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ha-launch-spinner,.ha-btn-spinner{animation-duration:2.4s}.ha-progress-fill,.ha-btn,.ha-nav-item{transition:none}}.ha-only-mobile{display:none}.ha-iconbtn-night{color:var(--on-night)}.ha-iconbtn-night:hover{background:var(--night-raised)}.ha-iconbtn-night:focus-visible{box-shadow:0 0 0 2px var(--focus)}.ha-iconbtn-lg{width:44px;height:44px}.ha-popover-anchor{position:relative}.ha-popover-catcher{z-index:40;cursor:default;background:0 0;border:0;padding:0;position:fixed;inset:0}.ha-popover{top:calc(100% + 12px);z-index:50;color:var(--ink);position:absolute;inset-inline-end:-8px}@keyframes ha-drawer-in{0%{transform:translate(100%)}to{transform:none}}@keyframes ha-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ha-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.ha-drawer-root{z-index:60;display:flex;position:fixed;inset:0}.ha-drawer{border-inline-end:0;width:304px;max-width:85%;height:100%;min-height:0;animation:.24s ease-out ha-drawer-in;overflow-y:auto}.ha-drawer-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:0 0 var(--space-4) var(--space-3);display:flex}.ha-drawer .ha-nav-item{height:48px}.ha-drawer-foot{gap:var(--space-2);padding-inline:var(--space-3);flex-direction:column;display:flex}.ha-drawer-scrim{background:var(--overlay);cursor:pointer;border:0;flex:1;padding:0;animation:.24s ease-out ha-fade-in}.ha-btn.ha-btn-outline-night{border-color:var(--on-night-muted);color:var(--on-night);background:0 0}.ha-btn.ha-btn-outline-night:not([disabled]):not([aria-disabled=true]):hover{background:var(--night-raised)}.ha-btn.ha-btn-outline-night:not([disabled]):not([aria-disabled=true]):active{background:var(--night-line)}.ha-notif{background:var(--surface-raised);color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.ha-notif-popover{border:1px solid var(--line);border-radius:var(--radius-md);width:400px;max-width:calc(100vw - 32px);max-height:560px;box-shadow:var(--shadow-lg)}.ha-notif-sheet{z-index:70;animation:.22s ease-out ha-sheet-in;position:fixed;inset:0}.ha-notif-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2) var(--space-2) var(--space-5);flex:none;display:flex}.ha-notif-title{align-items:center;gap:10px;font-size:18px;font-weight:700;line-height:30px;display:flex}.ha-notif-tabs{padding:0 var(--space-5);flex:none}.ha-notif-list{flex:1;min-height:0;overflow-y:auto}.ha-notif-row{appearance:none;align-items:flex-start;gap:var(--space-3);width:100%;padding:14px var(--space-5);border:0;border-bottom:1px solid var(--line);background:var(--surface-raised);font:inherit;color:inherit;text-align:start;cursor:pointer;transition:background-color .12s;display:flex}.ha-notif-row:hover{background:var(--surface-sunken)}.ha-notif-row:focus-visible{box-shadow:inset 0 0 0 2px var(--focus);outline:none}.ha-notif-row.is-unread{background:var(--surface)}.ha-notif-row.is-unread .ha-notif-row-title{font-weight:700}.ha-notif-well{border-radius:var(--radius-sm);flex:none;place-items:center;width:36px;height:36px;display:grid}.ha-notif-well-info{background:var(--info-soft);color:var(--info)}.ha-notif-well-success{background:var(--emerald-soft);color:var(--emerald)}.ha-notif-well-warning{background:var(--warning-soft);color:var(--warning)}.ha-notif-well-danger{background:var(--danger-soft);color:var(--danger)}.ha-notif-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ha-notif-row-title{font-size:14px;font-weight:500;line-height:24px}.ha-notif-row-body{color:var(--ink-muted);font-size:13px;line-height:22px}.ha-notif-row-time{color:var(--ink-muted);font-size:12px;line-height:20px}.ha-notif-dot{border-radius:var(--radius-full);background:var(--emerald);flex:none;width:8px;height:8px;margin-top:8px}.ha-notif-foot{padding:var(--space-3) var(--space-5);border-top:1px solid var(--line);background:var(--surface);flex:none;font-size:14px}.ha-carousel{gap:var(--space-4);flex-direction:column;display:flex}.ha-carousel-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.ha-carousel-heading{flex-direction:column;gap:2px;display:flex}.ha-carousel-title{font-size:18px;font-weight:600;line-height:30px}.ha-carousel-desc{color:var(--ink-muted);font-size:13px;line-height:22px}.ha-carousel-controls{align-items:center;gap:var(--space-2);display:flex}.ha-carousel-sep{background:var(--line);width:1px;height:24px;margin:0 var(--space-1)}.ha-carousel-track{gap:var(--space-4);scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;margin:-4px;padding:4px;display:flex;overflow-x:auto}.ha-carousel-track::-webkit-scrollbar{display:none}.ha-carousel-track>*{scroll-snap-align:start;flex:none;width:min(368px,82%);display:flex}.ha-carousel-track>*>*{flex:1;min-width:0}@media (max-width:960px){.ha-grid-3,.ha-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.ha-only-mobile{display:grid}.ha-hide-mobile{display:none!important}.ha-grid-2,.ha-grid-3{grid-template-columns:minmax(0,1fr)}.ha-top{padding:0 var(--space-2) 0 var(--space-4);gap:var(--space-2)}.ha-top .ha-top-nav,.ha-top .ha-top-search,.ha-top .ha-user-text{display:none}.ha-top .ha-user{border-inline-start:0;padding-inline-start:0}.ha-shell{flex-direction:column}.ha-shell>.ha-side{display:none}.ha-content{padding:var(--space-6) var(--space-4)}.ha-carousel-controls .ha-btn-icononly,.ha-carousel-sep{display:none}.ha-carousel-track>*{width:min(300px,82%)}}@media (prefers-reduced-motion:reduce){.ha-drawer,.ha-drawer-scrim,.ha-notif-sheet{animation:none}.ha-carousel-track{scroll-behavior:auto}}.ha-btn:not([disabled]):not([aria-disabled=true]):active{transition-duration:0s}.ha-btn-primary:not([disabled]):not([aria-disabled=true]):active{background:color-mix(in srgb, var(--emerald-hover) 82%, #000)}.ha-btn-secondary:not([disabled]):not([aria-disabled=true]):active{background:var(--line)}.ha-btn-ghost:not([disabled]):not([aria-disabled=true]):active{background:color-mix(in srgb, var(--emerald-soft) 82%, var(--emerald))}.ha-btn-danger:not([disabled]):not([aria-disabled=true]):hover{background:color-mix(in srgb, var(--danger) 86%, #000)}.ha-btn-danger:not([disabled]):not([aria-disabled=true]):active{background:color-mix(in srgb, var(--danger) 72%, #000)}.ha-btn-outline{border-color:var(--emerald);color:var(--emerald);background:0 0}.ha-btn-outline:not([disabled]):not([aria-disabled=true]):hover{background:var(--emerald-soft)}.ha-btn-outline:not([disabled]):not([aria-disabled=true]):active{background:color-mix(in srgb, var(--emerald-soft) 82%, var(--emerald))}.ha-btn-link{height:auto;min-height:24px;color:var(--link);text-underline-offset:4px;background:0 0;border:0;padding:0;text-decoration:underline;text-decoration-thickness:1px}.ha-btn-link:not([disabled]):not([aria-disabled=true]):hover{color:var(--emerald-hover);text-decoration-thickness:2px}.ha-btn-link:not([disabled]):not([aria-disabled=true]):active{color:color-mix(in srgb, var(--emerald-hover) 82%, #000)}.ha-btn-link:focus-visible{border-radius:var(--radius-xs)}.ha-btn-link.ha-btn-sm,.ha-btn-link.ha-btn-lg{height:auto;padding:0}.ha-btn-danger-ghost{color:var(--danger);background:0 0}.ha-btn-danger-ghost:not([disabled]):not([aria-disabled=true]):hover{background:var(--danger-soft)}.ha-btn-danger-ghost:not([disabled]):not([aria-disabled=true]):active{background:color-mix(in srgb, var(--danger-soft) 90%, var(--danger))}.ha-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.ha-btn.is-loading{opacity:1;cursor:progress}.ha-btn-primary.is-loading,.ha-btn-danger.is-loading{opacity:.85}.ha-link{transition:color .12s,text-decoration-color .12s}.ha-link:hover{color:var(--emerald-hover);text-decoration-thickness:2px}.ha-link:active{color:color-mix(in srgb, var(--emerald-hover) 82%, #000)}.ha-link-icon{align-items:center;gap:4px;display:inline-flex}.ha-link-standalone{text-decoration:none}.ha-link-standalone:hover{text-decoration:underline}.ha-link-muted{color:var(--ink-muted);font-weight:500}.ha-link-muted:hover{color:var(--ink)}.ha-link-night{color:var(--on-night)}.ha-link-night:hover{color:var(--emerald-bright)}.ha-link-night:focus-visible{box-shadow:0 0 0 2px var(--focus)}@media (prefers-reduced-motion:reduce){.ha-link{transition:none}}[data-palette=holding]{--surface:#f4f6f4;--surface-raised:#fff;--surface-sunken:#eaeeeb;--line:#dce2de;--line-strong:#7f8b84;--ink:#0d1310;--ink-muted:#4c5a52;--night:#0c1310;--night-raised:#17221c;--night-line:#26342c;--on-night:#f1f5f2;--on-night-muted:#9daea4;--band:var(--night);--overlay:#0c131080}[data-palette=navy]{--surface:#f4f6f9;--surface-raised:#fff;--surface-sunken:#e9edf2;--line:#dbe1e9;--line-strong:#7d8798;--ink:#0e1626;--ink-muted:#4a5568;--night:#0f1a2e;--night-raised:#18253d;--night-line:#26344f;--on-night:#f1f4f9;--on-night-muted:#9aa8c0;--band:#1e325d;--overlay:#0f1a2e80}.ha-course-band{background:var(--band,var(--night))}
:root{--font-mono:var(--font-sans)}html{scroll-behavior:smooth}body{flex-direction:column;min-height:100dvh;display:flex}.container{width:100%;max-width:var(--content-max);padding-inline:var(--space-6);box-sizing:border-box;margin-inline:auto}@media (max-width:720px){.container{padding-inline:var(--space-4)}}.section{padding-block:72px}.section-raised{background:var(--surface-raised);border-block:1px solid var(--line)}.section-head{gap:var(--space-1);margin-bottom:var(--space-8);flex-direction:column;display:flex}.section-title{font-size:24px;font-weight:700;line-height:36px}.section-lead{color:var(--ink-muted);font-size:15px;line-height:26px}@media (max-width:720px){.section{padding-block:40px}.section-title{font-size:20px;line-height:32px}}.stack{gap:var(--space-8);flex-direction:column;display:flex}.ltr{direction:ltr;unicode-bidi:isolate}.hero{isolation:isolate;background:var(--night);color:var(--on-night);position:relative;overflow:hidden}.hero-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:center;gap:64px;padding-block:72px 88px;display:grid}.hero-kicker{color:var(--emerald-bright);font-size:13px;font-weight:600;line-height:22px}.hero-title{max-width:520px;font-size:40px;font-weight:700;line-height:64px}.hero-lead{color:var(--on-night-muted);max-width:480px;font-size:16px;line-height:28px}.hero-points{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hero-points li{align-items:center;gap:var(--space-3);font-size:15px;line-height:26px;display:flex}.hero-points .ha-icon{color:var(--emerald-bright);flex:none}.hero-rule{background:var(--emerald-bright);width:96px;height:4px;margin-top:var(--space-4)}.hero-copy{gap:var(--space-6);flex-direction:column;display:flex}.hero-login{isolation:isolate;justify-self:end;width:100%;max-width:460px;position:relative}@media (max-width:720px){.hero{color:inherit;background:0 0;overflow:visible}.hero-grid{gap:0;padding-block:0}.hero-copy{isolation:isolate;margin-inline:calc(-1 * var(--space-4));padding:40px var(--space-4) 48px;background:var(--night);color:var(--on-night);gap:var(--space-4);position:relative;overflow:hidden}.hero-title{font-size:28px;line-height:44px}.hero-lead{font-size:15px;line-height:26px}.hero-lead-more{display:none}.hero-points{gap:10px}.hero-points li{gap:10px;font-size:14px;line-height:24px}.hero-points .ha-icon{width:16px;height:16px}.hero-rule{width:72px;margin-top:var(--space-2)}.hero-login{z-index:1;justify-self:stretch;max-width:none;margin-top:-24px}}@keyframes orbit-rot{to{transform:rotate(360deg)}}@keyframes orbit-rot-rev{to{transform:rotate(-360deg)}}@keyframes orbit-drift{0%{transform:translate(50%,-50%)scale(1)}50%{transform:translate(38%,-40%)scale(1.12)}to{transform:translate(60%,-58%)scale(.94)}}@keyframes orbit-drift-corner{0%{transform:translate(0)scale(1)}50%{transform:translate(40px,30px)scale(1.12)}to{transform:translate(-20px,60px)scale(.94)}}.orbit-wrap{display:contents}.orbit,.orbit-glow{z-index:-1;pointer-events:none;position:absolute}.orbit-glow{border-radius:50%}.orbit-a,.orbit-b,.orbit-c{transform-origin:360px 360px}.orbit-a{animation:90s linear infinite orbit-rot}.orbit-b{animation:48s linear infinite orbit-rot-rev}.orbit-c{animation:22s linear infinite orbit-rot}.orbit-card .orbit,.orbit-card .orbit-glow{top:50%;right:max(-120px, calc((100% - var(--content-max)) / 2))}.orbit-card .orbit{width:720px;height:720px;transform:translate(50%,-50%)}.orbit-card .orbit-glow{background:radial-gradient(circle,#43c18547 0%,#43c18514 45%,#43c18500 70%);width:620px;height:620px;animation:14s ease-in-out infinite alternate orbit-drift;transform:translate(50%,-50%)}.orbit-corner{display:none}.orbit-corner .orbit{width:440px;height:440px;top:-150px;left:-190px}.orbit-corner .orbit-glow{background:radial-gradient(circle,#43c1853d 0%,#43c18512 45%,#43c18500 70%);width:420px;height:420px;animation:14s ease-in-out infinite alternate orbit-drift-corner;top:-140px;left:-160px}@media (max-width:720px){.orbit-card{display:none}.orbit-corner{display:contents}}@media (prefers-reduced-motion:reduce){.orbit-a,.orbit-b,.orbit-c,.orbit-glow{animation:none}}.login-card{background:var(--surface-raised);color:var(--ink);border-radius:var(--radius-md);gap:var(--space-4);flex-direction:column;padding:40px;display:flex}.login-title{font-size:32px;font-weight:700;line-height:48px}.login-lead{margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-2)}.login-row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.login-note{align-items:flex-start;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--line);color:var(--ink-muted);font-size:13px;line-height:22px;display:flex}.login-note .ha-icon{margin-top:3px}@media (max-width:720px){.login-card{padding:var(--space-6) var(--space-5);border:1px solid var(--line)}.login-title{font-size:24px;line-height:36px}}.journey{--gap:40px;--marker:56px;--cycle:9s;position:relative}.journey-track{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.journey-rail{top:calc(var(--marker) / 2 - 1px);height:2px;inset-inline:calc((100% - 2 * var(--gap)) / 6);background:repeating-linear-gradient(90deg, var(--line-strong) 0 6px, transparent 6px 12px);position:absolute}.journey-runner{top:50%;border-radius:var(--radius-full);background:var(--emerald);width:12px;height:12px;box-shadow:0 0 0 6px var(--emerald-soft);animation:journey-run var(--cycle) cubic-bezier(.45, 0, .25, 1) infinite;position:absolute;inset-inline-start:0;transform:translate(50%,-50%)}@keyframes journey-run{0%{opacity:0;inset-inline-start:0%}6%{opacity:1}80%{opacity:1;inset-inline-start:100%}92%,to{opacity:0;inset-inline-start:100%}}.journey-stop{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;display:flex;position:relative}.journey-marker{z-index:1;width:var(--marker);height:var(--marker);border-radius:var(--radius-full);background:var(--surface);border:2px solid var(--emerald);color:var(--emerald);animation:journey-pulse var(--cycle) ease-out infinite;place-items:center;font-size:20px;font-weight:800;display:grid;position:relative}.journey-stop:nth-child(2) .journey-marker{animation-delay:calc(var(--cycle) * .4)}.journey-stop:nth-child(3) .journey-marker{animation-delay:calc(var(--cycle) * .8)}@keyframes journey-pulse{0%{background:var(--emerald-soft);box-shadow:0 0 #0f5a3c59}12%{background:var(--surface);box-shadow:0 0 0 14px #0f5a3c00}to{background:var(--surface);box-shadow:0 0 #0f5a3c00}}.journey-scene{box-sizing:border-box;width:100%;max-width:340px;height:188px;padding:var(--space-5);justify-content:center;gap:var(--space-3);text-align:start;background-color:var(--surface-raised);background-image:radial-gradient(var(--line) 1px, transparent 1px);background-size:14px 14px;flex-direction:column;display:flex;overflow:hidden}.journey-title{font-size:17px;font-weight:700;line-height:28px}.journey-body{color:var(--ink-muted);max-width:320px;font-size:14px;line-height:24px}.scene-field{flex-direction:column;gap:6px;display:flex}.scene-label{color:var(--ink-muted);font-size:12px;font-weight:500;line-height:20px}.scene-input{align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-3);border:1px solid var(--emerald);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink-muted);display:flex}.scene-typed{white-space:nowrap;max-width:0;color:var(--ink);animation:scene-type var(--cycle,9s) steps(10, end) infinite;font-size:15px;display:inline-block;overflow:hidden}@keyframes scene-type{0%,4%{max-width:0}30%,to{max-width:11ch}}.scene-caret{background:var(--emerald);width:2px;height:18px;animation:1s steps(2,start) infinite scene-blink}@keyframes scene-blink{to{visibility:hidden}}.scene-button{border-radius:var(--radius-sm);background:var(--emerald);height:36px;color:var(--on-emerald);justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.scene-course{align-items:stretch;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);padding:10px;display:flex}.scene-course-back{opacity:.7;transform-origin:top;transform:scale(.96)}.scene-band{border-radius:var(--radius-sm);background:var(--band,var(--night));width:76px;color:var(--on-night);box-shadow:inset 0 -3px 0 var(--emerald-bright);flex-direction:column;flex:none;justify-content:space-between;gap:4px;padding:6px 8px;font-size:11px;line-height:16px;display:flex}.scene-req{border:1px solid var(--on-night-muted);border-radius:var(--radius-xs);align-self:flex-start;padding:0 4px;font-size:10px}.scene-course-body{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:6px;min-width:0;display:flex}.scene-course-body .ha-progress{width:100%}.scene-course-title{color:var(--ink);font-size:13px;font-weight:600;line-height:22px}.journey .ha-progress-fill{animation:1.8s ease-out both scene-fill}@keyframes scene-fill{0%{width:0}}.scene-launch{align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--night);color:var(--on-night);font-size:13px;display:flex}.scene-launch .ha-icon{color:var(--emerald-bright);margin-inline-start:auto}.scene-spinner{border-radius:var(--radius-full);border:2px solid var(--emerald-bright);border-inline-end-color:#0000;width:16px;height:16px;animation:.8s linear infinite ha-spin}.scene-cert{align-items:center;gap:var(--space-3);padding:10px var(--space-3);border:1px dashed var(--emerald);border-radius:var(--radius-md);background:var(--emerald-soft);display:flex}.scene-cert-seal{border-radius:var(--radius-full);background:var(--surface-raised);width:44px;height:44px;color:var(--emerald);box-shadow:0 0 0 4px var(--surface-raised), 0 0 0 5px var(--emerald);flex:none;place-items:center;display:grid}.scene-cert-text{flex-direction:column;align-items:flex-start;gap:4px;display:flex}@media (max-width:720px){.journey{--gap:32px;--marker:48px}.journey-track{grid-template-columns:minmax(0,1fr)}.journey-rail{display:none}.journey-stop{grid-template-columns:var(--marker) minmax(0, 1fr);column-gap:var(--space-4);row-gap:var(--space-2);text-align:start;align-items:start;display:grid}.journey-stop:not(:last-child):before,.journey-stop:not(:last-child):after{content:"";inset-inline-start:calc(var(--marker) / 2 - 1px);top:var(--marker);bottom:calc(-1 * var(--gap));width:2px;position:absolute}.journey-stop:not(:last-child):after{background:repeating-linear-gradient(180deg, var(--line-strong) 0 6px, transparent 6px 12px)}.journey-stop:not(:last-child):before{z-index:1;background:var(--emerald);transform-origin:top;animation:journey-seg-1 var(--cycle) cubic-bezier(.45, 0, .25, 1) infinite;transform:scaleY(0)}.journey-stop:nth-child(2):before{animation-name:journey-seg-2}.journey-marker{grid-row:span 3;font-size:17px}.journey-scene{max-width:none;height:172px;padding:var(--space-4)}.journey-title{font-size:16px}}@keyframes journey-seg-1{0%{opacity:1;transform:scaleY(0)}40%,88%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@keyframes journey-seg-2{0%,40%{opacity:1;transform:scaleY(0)}80%,88%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.journey-runner{display:none}.journey-stop:before{animation:none!important;transform:scaleY(1)!important}.journey-marker,.scene-caret,.scene-spinner,.journey .ha-progress-fill{animation:none}.scene-typed{max-width:11ch;animation:none}}.role-title{font-size:16px;font-weight:600;line-height:28px}.role-body{color:var(--ink-muted);font-size:14px;line-height:24px}.roles{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:40px;display:grid}.role{gap:var(--space-3);flex-direction:column;display:flex}.icon-well{border-radius:var(--radius-sm);background:var(--emerald-soft);width:40px;height:40px;color:var(--emerald);place-items:center;display:grid}.site-footer{background:var(--night);color:var(--on-night);margin-top:auto}.footer-features{gap:var(--space-6);border-bottom:1px solid var(--night-line);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));padding-block:40px;display:grid}.footer-feature{align-items:flex-start;gap:14px;display:flex}.footer-well{border-radius:var(--radius-sm);background:var(--night-raised);border:1px solid var(--night-line);width:44px;height:44px;color:var(--emerald-bright);flex:none;place-items:center;display:grid}.footer-feature-title{font-size:15px;font-weight:600;line-height:26px}.footer-muted{color:var(--on-night-muted);font-size:13px;line-height:22px}.footer-main{flex-wrap:wrap;gap:40px 64px;padding-block:48px 40px;display:flex}.footer-brand{gap:var(--space-4);flex-direction:column;flex:2 340px;max-width:440px;display:flex}.footer-about{color:var(--on-night-muted);font-size:14px;line-height:26px}.footer-rule{background:var(--emerald-bright);width:64px;height:4px}.footer-col{gap:var(--space-2);flex-direction:column;flex:140px;display:flex}.footer-col-wide{flex-basis:220px}.footer-label{color:var(--on-night-muted);padding-bottom:var(--space-1);font-size:12px;font-weight:600;line-height:20px}.footer-link{color:var(--on-night);font-size:14px;line-height:24px;text-decoration:none}.footer-link:hover{color:var(--emerald-bright)}.footer-contact{align-items:center;gap:var(--space-2);font-size:14px;line-height:24px;display:flex}.footer-contact .ha-icon{color:var(--emerald-bright)}.footer-bottom{justify-content:space-between;align-items:center;gap:var(--space-3);border-top:1px solid var(--night-line);color:var(--on-night-muted);flex-wrap:wrap;padding-block:20px 28px;font-size:13px;line-height:22px;display:flex}.footer-dot{align-items:center;gap:var(--space-2);display:inline-flex}.footer-dot:before{content:"";border-radius:var(--radius-full);background:var(--emerald-bright);width:8px;height:8px}@media (max-width:720px){.footer-main{gap:var(--space-6) var(--space-4)}.footer-col{flex-basis:calc(50% - 8px)}.footer-link{line-height:44px}.footer-col-wide{flex-basis:100%}}.greeting{gap:var(--space-1);flex-direction:column;display:flex}.greeting-title{font-size:32px;font-weight:700;line-height:48px}.split{gap:var(--space-6);flex-wrap:wrap;align-items:flex-start;display:flex}.split-main{gap:var(--space-4);flex-direction:column;flex:999 560px;min-width:0;display:flex}.split-side{gap:var(--space-4);flex-direction:column;flex:320px;min-width:0;display:flex}.past-row{padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.past-main{flex-direction:column;flex:220px;gap:2px;min-width:0;display:flex}.past-title{font-size:16px;font-weight:600;line-height:28px}.deadline-row{align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--line);display:flex}.deadline-date{border-radius:var(--radius-sm);background:var(--surface-sunken);flex-direction:column;flex:none;justify-content:center;align-items:center;width:52px;height:56px;display:flex}.deadline-day{font-size:18px;font-weight:700;line-height:24px}.deadline-month{color:var(--ink-muted);font-size:12px;line-height:18px}.deadline-text{gap:var(--space-1);flex-direction:column;flex:1;align-items:flex-start;min-width:0;font-size:14px;font-weight:600;line-height:24px;display:flex}@media (max-width:720px){.greeting-title{font-size:24px;line-height:36px}.past-row{padding:var(--space-4)}}.signup{background:var(--surface-raised);flex-wrap:wrap;min-height:100dvh;display:flex}.signup-brand{background:var(--night);color:var(--on-night);padding:var(--space-12);justify-content:space-between;gap:var(--space-12);flex-direction:column;flex:5 400px;display:flex}.signup-steps{margin:var(--space-8) 0 0;gap:var(--space-6);flex-direction:column;padding:0;list-style:none;display:flex}.signup-steps li{gap:var(--space-4);align-items:flex-start;display:flex}.signup-step-num{border-radius:var(--radius-full);border:1px solid var(--night-line);background:var(--night-raised);flex:none;place-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:grid}.signup-step-num.is-current{background:var(--emerald-bright);border-color:var(--emerald-bright);color:var(--night)}.signup-form-side{padding:var(--space-12) var(--space-6);flex:7 480px;justify-content:center;align-items:center;display:flex}.signup-form{gap:var(--space-4);flex-direction:column;width:100%;max-width:520px;display:flex}.two-col{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));display:grid}.kv{border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;display:flex}.kv>div{justify-content:space-between;align-items:center;gap:var(--space-3);padding:14px var(--space-5);border-bottom:1px solid var(--line);font-size:14px;display:flex}.kv>div:last-child{border-bottom:0}.kv dt{color:var(--ink-muted)}.kv dd{margin:0;font-weight:600}@media (max-width:720px){.signup-brand{padding:var(--space-8) var(--space-4);gap:var(--space-6)}.signup-brand-steps{display:none}.signup-form-side{padding:var(--space-6) var(--space-4) var(--space-10)}}.review-grid{gap:var(--space-4) var(--space-6);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.review-grid dt{color:var(--ink-muted);font-size:13px;line-height:22px}.review-grid dd{margin:0;font-size:15px;font-weight:600;line-height:26px}.toolbar-count{color:var(--ink-muted);margin-inline-start:auto;font-size:13px;line-height:22px}.row-actions{gap:var(--space-2);display:inline-flex}@media (max-width:720px){.review-grid{grid-template-columns:minmax(0,1fr)}}
