.legal-page{background:var(--surface);min-height:100dvh;color:var(--text);flex-direction:column;display:flex}.legal-header{z-index:var(--z-header);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.legal-header-inner{justify-content:space-between;align-items:center;gap:var(--space-4);height:var(--topbar-h);max-width:calc(var(--content-max-reading) + 240px + var(--space-16) + 2 * var(--gutter));padding:0 var(--gutter);margin:0 auto;display:flex}.legal-header .brand-logo-img{max-width:170px;height:34px}.legal-body{width:100%;max-width:calc(var(--content-max-reading) + 2 * var(--gutter));padding:var(--space-8) var(--gutter) var(--space-16);flex:1;margin:0 auto}.legal-body--toc{max-width:calc(var(--content-max-reading) + 240px + var(--space-16) + 2 * var(--gutter));grid-template-columns:minmax(0, var(--content-max-reading)) 240px;gap:var(--space-16);align-items:start;display:grid}.legal-main{min-width:0}.legal-back{margin:0 0 var(--space-6);margin-left:calc(-1 * var(--space-1))}.legal-back:hover{color:var(--text)}.legal-main h1{margin:0 0 var(--space-2);font:var(--type-page-title);font-size:var(--text-4xl);letter-spacing:-.015em;text-wrap:balance;line-height:40px}.legal-meta{margin:0 0 var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--border);font:var(--type-secondary);color:var(--muted)}.legal-document{font:var(--type-body-lg);color:var(--text);overflow-wrap:anywhere}.legal-document p{margin:0 0 var(--space-4);line-height:inherit}.legal-document h2{margin:var(--space-10) 0 var(--space-3);font:var(--type-section-title);font-size:var(--text-2xl);scroll-margin-top:calc(var(--topbar-h) + var(--space-6));line-height:28px}.legal-document h3{margin:var(--space-8) 0 var(--space-2);font:var(--type-section-title);scroll-margin-top:calc(var(--topbar-h) + var(--space-6))}.legal-document h4{margin:var(--space-6) 0 var(--space-2);font:var(--type-card-title);scroll-margin-top:calc(var(--topbar-h) + var(--space-6))}.legal-document>:first-child{margin-top:0}.legal-toc{top:calc(var(--topbar-h) + var(--space-8));max-height:calc(100dvh - var(--topbar-h) - var(--space-16));padding-top:calc(44px + var(--space-6));position:sticky;overflow-y:auto}.legal-toc-title{margin:0 0 var(--space-3);font:var(--type-caption);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--subtle)}.legal-toc ol{border-left:1px solid var(--border);margin:0;padding:0;list-style:none}.legal-toc a{padding:var(--space-1) var(--space-3);font:var(--type-secondary);color:var(--muted);border-left:2px solid #0000;margin-left:-1px;display:block}.legal-toc a:hover{color:var(--text);border-left-color:var(--border-strong)}.legal-page :is(a,button):focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}@media (max-width:1099px){.legal-body--toc{max-width:calc(var(--content-max-reading) + 2 * var(--gutter));display:block}.legal-toc{display:none}}@media (max-width:1023px){.legal-header-inner,.legal-body{padding-inline:var(--space-6)}}@media (max-width:599px){.legal-header-inner{height:56px;padding-inline:var(--space-4)}.legal-header .brand-logo-img{max-width:128px;height:28px}.legal-body{padding:var(--space-5) var(--space-4) var(--space-12)}.legal-back{margin-bottom:var(--space-3)}.legal-main h1{font-size:var(--text-2xl);line-height:28px}.legal-meta{margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.legal-document h2{margin-top:var(--space-8);font-size:var(--text-xl);line-height:26px}}.legal-document ul,.legal-document ol{padding-left:1.4em}.legal-document li+li{margin-top:.3em}.legal-document a{color:var(--primary);text-decoration:underline}.legal-document code{background:var(--raised);border-radius:var(--radius-sm);padding:0 .3em;font-size:.92em}.legal-document hr{border:0;border-top:1px solid var(--border);margin:2em 0}.legal-document dl{gap:var(--space-3) var(--space-6);margin:0 0 var(--space-6);grid-template-columns:minmax(140px,max-content) 1fr;display:grid}.legal-document dt{font-weight:600}.legal-document dd{margin:0}.legal-footer{border-top:1px solid var(--border);padding:var(--space-5) var(--space-4);font:var(--type-secondary);color:var(--muted)}.legal-footer nav{flex-wrap:wrap;justify-content:center;gap:4px 20px;display:flex}.legal-footer a{min-height:44px;color:inherit;align-items:center;display:inline-flex}.legal-footer a:hover,.legal-footer a:focus-visible{color:var(--text);text-decoration:underline}.legal-footer p{text-align:center;margin:var(--space-1) 0 0;font:var(--type-caption);font-weight:var(--weight-regular);color:var(--subtle)}.markdown-preview{max-height:480px;margin-top:12px;overflow:auto}.policy-editor textarea{min-height:280px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.policy-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.policy-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 0;display:flex}.policy-list li:last-child{border-bottom:0}@media (max-width:600px){.legal-document dl{grid-template-columns:1fr;gap:2px}.legal-document dd{margin-bottom:10px}}:root[data-theme=dark] .legal-page .button.secondary{color:var(--text)}.auth-page{--auth-card:440px;background:var(--bg);min-height:100dvh;color:var(--text);flex-direction:column;display:flex}.auth-page--wide{--auth-card:600px}.auth-topbar{justify-content:space-between;align-items:center;gap:var(--space-4);height:var(--topbar-h);padding:0 var(--gutter);display:flex}.auth-topbar .brand-logo-img{max-width:170px;height:34px}.auth-topbar-actions{align-items:center;gap:var(--space-2);display:flex}.auth-top-link{min-height:var(--touch);padding:0 var(--space-2);font:var(--type-button);color:var(--muted);white-space:nowrap;align-items:center;display:inline-flex}.auth-top-link a,a.auth-top-link{color:var(--primary)}.auth-top-link a:hover,a.auth-top-link:hover{text-underline-offset:3px;text-decoration:underline}.auth-main{padding:var(--space-6) var(--space-4) var(--space-10);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.auth-card,.auth-below{width:100%;max-width:var(--auth-card)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-8)}.auth-below{margin-top:var(--space-6)}.auth-heading{margin-bottom:var(--space-6)}.auth-heading-icon{width:44px;height:44px;margin-bottom:var(--space-4);border-radius:var(--radius-full);background:var(--tint);color:var(--primary);justify-content:center;align-items:center;display:inline-flex}.auth-overline{margin:0 0 var(--space-2);font:var(--type-caption);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--primary)}.auth-heading :is(h1,h2){margin:0 0 var(--space-2);font:var(--type-page-title);letter-spacing:-.01em;text-wrap:balance}.auth-description{font:var(--type-body);color:var(--muted);margin:0}.auth-centred{text-align:center}.auth-centred .auth-heading-icon{margin-inline:auto}.auth-card .field{gap:var(--space-2);margin-bottom:var(--space-4)}.auth-card .field>span:not(.field-error),.auth-card .field>label,.auth-card .password-field>label{font:var(--type-label);color:var(--text)}.auth-card :where(input:not([type=checkbox]):not([type=radio]),select){min-height:var(--control-md);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);font:var(--type-body);color:var(--text);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.auth-card .password-input>input{padding-right:48px}.auth-card :is(input,select)::placeholder{color:var(--subtle)}.auth-card :is(input,select):hover:not(:disabled):not(:focus){border-color:color-mix(in srgb, var(--text) 30%, var(--border-strong))}.auth-card :is(input,select):focus,.auth-card :is(input,select):focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}.auth-card :is(input,select)[aria-invalid=true]{border-color:var(--danger)}.auth-card :is(input,select)[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 22%, transparent)}.auth-card :is(input,select):disabled{background:var(--raised);color:var(--muted)}.auth-card .password-toggle{width:var(--control-md);height:var(--control-md);min-width:var(--control-md);min-height:var(--control-md);right:0}.auth-card .field-error,.auth-card .field.password-field>span.field-error{font:var(--type-secondary);color:var(--danger);align-items:flex-start;gap:6px;margin:0;display:flex}.auth-card .field-error:before{content:"";background:currentColor;flex:none;width:16px;height:16px;margin-top:2px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E") 50%/contain no-repeat}.auth-card .field-error:has(>svg):before{content:none}.auth-card .field-error>svg{flex:none;width:16px;height:16px;margin-top:2px}.auth-card .field+.field-error,.auth-card .form-grid .field+.field-error{margin:calc(-1 * var(--space-2)) 0 var(--space-4)}.auth-hint,.auth-card small[role=status]{margin:0 0 var(--space-4);font:var(--type-secondary);color:var(--muted);display:block}.auth-card .form-grid{gap:0 var(--space-4)}.auth-row-end{margin:calc(-1 * var(--space-2)) 0 var(--space-4);justify-content:flex-end;display:flex}.auth-text-link,.auth-switch a{min-height:var(--touch);font:var(--type-label);color:var(--primary);align-items:center;display:inline-flex}.auth-text-link:hover,.auth-switch a:hover{text-underline-offset:3px;text-decoration:underline}.auth-card .button{min-height:var(--control-md);padding:0 var(--space-4);gap:var(--space-2);border-radius:var(--radius-md);font:var(--type-button)}.auth-card .button.auth-submit,.auth-card .button.full{width:100%;min-height:var(--control-lg);margin-top:0}.auth-captcha{margin-bottom:var(--space-4)}.auth-switch{margin:var(--space-6) 0 0;text-align:center;font:var(--type-body);color:var(--muted)}.auth-switch a{min-height:0}.auth-footnote{align-items:flex-start;gap:var(--space-2);margin:var(--space-6) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border);font:var(--type-secondary);color:var(--muted);display:flex}.auth-footnote svg{color:var(--primary);margin-top:2px}.auth-card .auth-notice{margin:0 0 var(--space-5)}.auth-card .auth-notice>.notice{font:var(--type-secondary);margin:0}.auth-card .error,.auth-card .notice{margin:0 0 var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font:var(--type-secondary)}.auth-page .auth-legal{padding:var(--space-5) var(--gutter) var(--space-6);align-items:center;gap:var(--space-1);text-align:center;font:var(--type-secondary);color:var(--subtle);border-top:0;flex-direction:column;margin:0;display:flex}.auth-page .auth-legal nav{justify-content:center;gap:0 var(--space-5);flex-wrap:wrap;display:flex}.auth-page .auth-legal a{min-height:36px;color:var(--muted);align-items:center;display:inline-flex}.auth-page .auth-legal a:hover{color:var(--text);text-decoration:underline}.auth-page .auth-legal p{margin:0}.auth-page :is(a,button):focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.auth-card .password-toggle:focus-visible{outline-offset:-2px}.signup-steps{margin:0 0 var(--space-6);gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.signup-steps li{gap:var(--space-2);font:var(--type-caption);color:var(--subtle);flex-direction:column;display:flex}.signup-steps li[tabindex]:focus{outline:none}.signup-steps li:before{content:"";border-radius:var(--radius-full);background:var(--border);height:4px}.signup-steps li.active,.signup-steps li.complete{color:var(--text)}.signup-steps li.active:before,.signup-steps li.complete:before{background:var(--primary)}.signup-steps li>span{align-items:center;gap:var(--space-1);display:inline-flex}.signup-steps li svg{color:var(--primary)}.signup-fieldset{margin:0 0 var(--space-2);border:0;min-width:0;padding:0}.signup-fieldset+.signup-fieldset{padding-top:var(--space-5);border-top:1px solid var(--border)}.signup-fieldset>legend{float:left;width:100%;margin-bottom:var(--space-4);font:var(--type-card-title);padding:0}.signup-fieldset>legend+*{clear:both}.signup-fieldset>legend+.auth-hint{margin-top:calc(-1 * var(--space-3))}.inline-input{gap:var(--space-2);display:flex}.inline-input>input{flex:1;min-width:0}.inline-input>.button{flex:none}.email-verification .text-button{min-height:var(--touch);font:var(--type-label)}.password-strength{margin:0}.password-strength progress{width:100%;height:4px;margin-bottom:var(--space-2);border-radius:var(--radius-full);background:var(--border);appearance:none;border:0;display:block;overflow:hidden}.password-strength progress::-webkit-progress-bar{background:var(--border)}.password-strength progress::-webkit-progress-value{background:var(--primary)}.password-strength progress::-moz-progress-bar{background:var(--primary)}.password-strength small{font:var(--type-secondary);color:var(--muted);display:block}.username-suggestions .button-row{gap:var(--space-2)}.username-suggestions .button{min-height:var(--control-sm);padding:0 var(--space-3)}.signup-review{margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--raised)}.signup-review h3{margin:0 0 var(--space-3);font:var(--type-card-title)}.signup-review dl{gap:var(--space-2) var(--space-4);margin:0 0 var(--space-3);font:var(--type-body);grid-template-columns:auto minmax(0,1fr);display:grid}.signup-review dt{color:var(--muted)}.signup-review dd{overflow-wrap:anywhere;margin:0}.signup-review p{font:var(--type-secondary);color:var(--muted);margin:0}.consent-option{align-items:flex-start;gap:var(--space-3);min-height:var(--touch);padding:var(--space-2) 0;font:var(--type-body);cursor:pointer;display:flex}.consent-option input{width:18px;height:18px;min-height:0;accent-color:var(--primary);flex:none;margin:2px 0 0}.consent-option+.field-error{margin:0 0 var(--space-3) calc(18px + var(--space-3))}.consent-option a{color:var(--primary);text-underline-offset:2px;text-decoration:underline}.signup-controls{gap:var(--space-3);margin-top:var(--space-6);display:flex}.signup-controls>.button:last-child{min-height:var(--control-lg);flex:1}.signup-controls>.button.secondary{min-height:var(--control-lg)}.signup-welcome-details{margin:0 0 var(--space-6);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--raised);text-align:left}.signup-welcome-details p{margin:0 0 var(--space-2);font:var(--type-body)}.signup-welcome-details p:last-child,.signup-welcome-details .auth-hint{margin:0}.signup-welcome-details code{font:var(--type-section-title);font-family:var(--font-sans);color:var(--primary);overflow-wrap:anywhere}.signup-welcome-details hr{margin:var(--space-4) 0;border:0;border-top:1px solid var(--border)}.activate-waiting{padding:var(--space-8) 0;text-align:center}.activate-waiting .spinner{margin:0 auto var(--space-4)}.auth-qr{margin:0 auto var(--space-4);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:block}:root[data-theme=dark] .auth-qr{background:var(--text)}.auth-card details{margin:0 0 var(--space-5);font:var(--type-secondary);color:var(--muted)}.auth-card summary{min-height:var(--touch);cursor:pointer;font:var(--type-label);color:var(--primary);align-items:center;display:flex}.auth-card details code{padding:var(--space-3);border-radius:var(--radius-md);background:var(--raised);color:var(--text);overflow-wrap:anywhere;display:block}.auth-secondary-action{margin-top:var(--space-4);justify-content:center;display:flex}.auth-card .auth-secondary-action .button{width:100%}@media (max-width:1023px){.auth-topbar{padding:0 var(--space-6)}}@media (max-width:599px){.auth-page{background:var(--surface)}.auth-topbar{height:56px;padding:0 var(--space-4);border-bottom:1px solid var(--border)}.auth-topbar .brand-logo-img{max-width:128px;height:28px}.auth-main{padding:var(--space-6) var(--space-4) var(--space-8);justify-content:flex-start}.auth-card{background:0 0;border:0;border-radius:0;padding:0}.auth-heading :is(h1,h2){font-size:var(--text-2xl);line-height:28px}.auth-card .form-grid{grid-template-columns:1fr}.signup-controls{z-index:var(--z-sticky);margin:var(--space-6) calc(-1 * var(--space-4)) 0;padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-xs);position:sticky;bottom:0}.auth-page .auth-legal{padding:var(--space-4) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.auth-page .auth-legal a{min-height:var(--touch)}}@media (max-width:359px){.inline-input{flex-wrap:wrap}.inline-input>.button{flex:100%}}@media (max-width:599px),(pointer:coarse){.auth-card :is(input:not([type=checkbox]):not([type=radio]),select),.auth-card .button{min-height:var(--touch);font-size:var(--text-lg)}.auth-card .password-toggle{width:var(--touch);height:var(--touch);min-width:var(--touch);min-height:var(--touch)}.auth-card .button.auth-submit,.auth-card .button.full,.signup-controls>.button{min-height:var(--control-lg)}.username-suggestions .button{min-height:var(--touch)}}@media (prefers-reduced-motion:reduce){.auth-card :is(input,select){transition:none}}.password-control{min-width:0}.password-input{align-items:center;display:flex;position:relative}.password-input>input{width:100%;padding-right:52px}.password-toggle{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.password-toggle:hover{background:var(--raised);color:var(--text)}.password-toggle[aria-pressed=true]{color:var(--text)}.password-toggle:focus-visible{outline:3px solid var(--primary);outline-offset:0}.password-caps:not(:empty){color:var(--warning);margin-top:6px;font-size:12px;font-weight:600;display:block}.field.password-field>span.field-error{font-size:var(--text-base);font-weight:var(--weight-regular)}.account-switcher{flex:none;position:relative}.user-profile-pill{height:44px;padding:0 var(--space-2) 0 var(--space-1);border-radius:var(--radius-md);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:10px;display:flex}.user-profile-pill:hover,.user-profile-pill[aria-expanded=true]{background:var(--raised)}.avatar.avatar-small{width:32px;min-width:32px;height:32px;font:var(--type-label)}.user-profile-info{flex-direction:column;min-width:0;max-width:160px;display:flex}.user-profile-info strong,.user-profile-info small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-profile-info strong{color:var(--text);font:var(--weight-medium) var(--text-base) / 1.3 var(--font-sans)}.user-profile-info small{color:var(--muted);font:var(--weight-regular) var(--text-xs) / 1.33 var(--font-sans)}.profile-chevron{color:var(--muted);transition:transform var(--duration-fast) var(--ease-out);flex:none}.user-profile-pill[aria-expanded=true] .profile-chevron{transform:rotate(180deg)}.account-menu{top:calc(100% + var(--space-2));z-index:var(--z-dropdown);width:min(320px, calc(100vw - 2 * var(--space-4)));max-height:calc(100dvh - var(--topbar-h) - var(--space-6));padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md);position:absolute;right:0;overflow-y:auto}.account-menu ul,.saved-accounts ul{margin:0;padding:0;list-style:none}.account-menu-section{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);gap:2px;display:grid}.account-menu-heading{margin:var(--space-1) var(--space-2) 2px;color:var(--muted);font:var(--type-caption);letter-spacing:var(--tracking-overline);text-transform:uppercase}.account-row{align-items:center;gap:var(--space-1);display:flex}.account-pick{align-items:center;gap:var(--space-3);min-width:0;min-height:48px;padding:var(--space-2);border-radius:var(--radius-md);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;display:flex}.account-pick:disabled{opacity:1;cursor:default}.account-pick:not(:disabled):hover,.account-action:hover{background:var(--raised)}.account-menu-current .account-pick .avatar{width:40px;min-width:40px;height:40px;font:var(--type-card-title)}.account-text{flex-direction:column;flex:1;min-width:0;display:flex}.account-text strong,.account-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-text strong{font:var(--weight-semibold) var(--text-base) / 1.43 var(--font-sans)}.account-text small{color:var(--muted);font:var(--type-secondary)}.account-current-check{color:var(--primary);flex:none}.account-remove{width:var(--touch);height:var(--touch);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.account-remove:hover{background:var(--danger-bg);color:var(--danger)}.account-action{align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--text);font:var(--type-button);text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.account-action svg{color:var(--muted);stroke-width:1.75px;flex:none}.account-signout:hover,.account-signout:hover svg{color:var(--danger)}.account-pick:focus-visible,.account-action:focus-visible,.account-remove:focus-visible{outline:var(--focus-outline);outline-offset:-2px}.account-error{margin:var(--space-1) var(--space-2) var(--space-2);color:var(--danger);font:var(--type-secondary)}.saved-accounts{margin-bottom:var(--space-4);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-lg)}.saved-accounts>p{margin:0 var(--space-2) var(--space-1)}@media (prefers-reduced-motion:reduce){.user-profile-pill,.profile-chevron{transition:none}}.header-support-trigger{justify-content:center;align-items:center;gap:var(--space-2);min-width:44px;min-height:44px;padding:0 var(--space-4) 0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;flex-shrink:0;line-height:1;text-decoration:none;display:inline-flex;position:relative}.header-support-trigger:hover{background:var(--raised);border-color:color-mix(in srgb, var(--text) 18%, var(--border))}.header-support-trigger svg{color:var(--muted);flex-shrink:0}.header-support-trigger:hover svg{color:var(--text)}.header-support-trigger[aria-current=page]{border-color:var(--primary)}.header-support-trigger[aria-current=page] svg{color:var(--primary)}.header-support-count{border-radius:var(--radius-full);background:var(--primary);min-width:20px;height:20px;color:var(--on-primary);font-size:var(--text-xs);font-weight:var(--weight-bold);text-align:center;font-variant-numeric:tabular-nums;padding:0 6px;line-height:20px}@media (max-width:1199px){.header-support-trigger{border-radius:var(--radius-control);background:0 0;border-color:#0000;width:44px;padding:0}.header-support-trigger:hover,.header-support-trigger[aria-current=page]{border-color:#0000}.header-support-label{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header-support-count{min-width:18px;height:18px;box-shadow:0 0 0 2px var(--surface);padding:0 4px;line-height:18px;position:absolute;top:2px;right:0}}@media (max-width:767px){.header-support-count{box-shadow:0 0 0 2px var(--bg)}}.support-dialog{--support-dialog-pad:var(--space-6);gap:var(--space-4);display:grid}.support-dialog .support-actions{bottom:calc(-1 * var(--support-dialog-pad));z-index:1;margin:0 calc(-1 * var(--support-dialog-pad)) calc(-1 * var(--support-dialog-pad));padding:var(--space-3) var(--support-dialog-pad) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);position:sticky}.support-dialog-origin{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--raised);font:var(--type-secondary);color:var(--muted);margin:0}.support-dialog-origin strong{color:var(--text);font-weight:var(--weight-semibold)}@media (max-width:640px){.support-dialog{--support-dialog-pad:var(--space-4)}}.auth-card .signup-fieldset .field-is-required>span:first-child:after,.auth-card .signup-fieldset .field-is-required>label:first-child:after,.auth-card .consent-option.field-is-required>span:after{content:" *";content:" *" / "";color:var(--danger)}.signup-required-note{margin:0 0 var(--space-4)}.email-verification-status:empty{margin:0}.email-verification-status:not(:empty){margin:calc(-1 * var(--space-2)) 0 var(--space-4);font:var(--type-secondary);color:var(--muted)}.signup-load-error{margin:0 0 var(--space-4)}.signup-load-error .text-button{min-height:var(--touch);padding:0 var(--space-1)}.signup-available{align-items:center;gap:var(--space-1);color:var(--success)!important;display:flex!important}.signup-review-title{margin:0 0 var(--space-3);font:var(--type-card-title)}.auth-submit-hint{margin:var(--space-2) 0 0;text-align:center}.auth-card .referral-invited{margin:0 0 var(--space-5)}@media (max-width:599px){.auth-top-hint{display:none}}.email-verification .inline-input>.button{font-variant-numeric:tabular-nums}.auth-card .signup-name-hint,.auth-card .signup-name-hint+.field-error{margin:calc(-1 * var(--space-2)) 0 var(--space-4)}.signup-review dd.signup-review-certificate{align-items:center;gap:0 var(--space-3);flex-wrap:wrap;display:flex}.signup-review dt:has(+dd.signup-review-certificate){align-self:center}.signup-review-certificate>span{min-width:0;font-weight:var(--weight-semibold)}.signup-review-certificate .text-button{min-height:var(--touch);padding:0 var(--space-1);text-underline-offset:3px;text-decoration:underline}.intro-video{margin-top:var(--space-6)}.intro-video-title{margin:0 0 var(--space-3);font-size:var(--text-base)}.intro-video-frame{aspect-ratio:16/9;border-radius:var(--radius-md,12px);background:#000;width:100%;position:relative;overflow:hidden}.intro-video-frame iframe,.intro-video-frame video{border:0;width:100%;height:100%;position:absolute;inset:0}.resources-page{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.resources-page>.page-title{margin-bottom:var(--space-2)}.resources-filters{gap:var(--space-3);flex-direction:column;display:flex}.resources-filters .toolbar-bar{margin-bottom:0}.resources-filters .segmented{align-self:flex-start;max-width:100%;overflow-x:auto}.resources-count{margin-left:var(--space-2);font:var(--type-caption);font-variant-numeric:tabular-nums;color:var(--muted)}.segmented-item[aria-pressed=true] .resources-count{color:inherit}.resources-search{position:relative}.resources-search>svg{top:50%;left:var(--space-3);width:var(--icon-sm);height:var(--icon-sm);color:var(--subtle);pointer-events:none;position:absolute;transform:translateY(-50%)}.resources-search>input{width:100%;padding-left:calc(var(--space-3) + var(--icon-sm) + var(--space-2))}.resources-summary{font:var(--type-secondary);color:var(--muted);margin:0}.resources-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin:0;padding:0;list-style:none;display:grid}.resource-card{gap:var(--space-2);min-width:0;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);flex-direction:column;display:flex;position:relative}.resource-card:hover{border-color:var(--border-strong)}.resource-card:focus-within:has(.resource-card-link:focus-visible){outline:var(--focus-outline);outline-offset:var(--focus-offset)}.resource-card-top{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-1);display:flex}.resource-card-icon{border-radius:var(--radius-md);background:var(--tint);width:40px;height:40px;color:var(--primary);flex:none;place-items:center;display:inline-grid}.resource-card-icon svg{width:var(--icon-md);height:var(--icon-md)}.resource-card-title{font:var(--type-card-title);overflow-wrap:anywhere;margin:0}.resource-card-link{color:var(--text);text-decoration:none}.resource-card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.resource-card-link:focus-visible{outline:none}.resource-card-desc{font:var(--type-body);color:var(--muted);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.resource-card-meta{gap:var(--space-1) var(--space-2);font:var(--type-secondary);color:var(--muted);flex-wrap:wrap;margin:0;display:flex}.resource-card-meta>span+span:before{content:"·";margin-right:var(--space-2);color:var(--subtle)}.resource-card-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);margin-top:auto;display:flex}.resource-card-read{align-items:center;gap:var(--space-1);font:var(--type-button);color:var(--primary);display:inline-flex}.resource-card-read svg{width:var(--icon-sm);height:var(--icon-sm);transition:transform var(--duration-fast) var(--ease-out)}.resource-card:hover .resource-card-read svg{transform:translate(2px)}.resource-visibility{z-index:1;width:auto;min-width:0;max-width:calc(100% - 72px);min-height:var(--control-sm);font:var(--type-secondary);flex:0 auto;position:relative}.resources-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface)}.resource-upload form{flex-direction:column;display:flex}.resource-dropzone{align-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--raised);text-align:center;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out);flex-direction:column;display:flex}.resource-dropzone:hover{border-color:var(--primary)}.resource-dropzone:focus-within{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.resource-dropzone-icon{width:40px;height:40px;margin-bottom:var(--space-1);border-radius:var(--radius-full);background:var(--surface);color:var(--primary);place-items:center;display:inline-grid}.resource-dropzone-icon svg{width:var(--icon-md);height:var(--icon-md)}.resource-dropzone-text{font:var(--type-label);color:var(--text);overflow-wrap:anywhere}.resource-dropzone-hint{font:var(--type-secondary);color:var(--muted)}.resource-upload-note{align-items:center;gap:var(--space-2);margin:var(--space-2) 0 var(--space-5);font:var(--type-secondary);color:var(--muted);display:flex}.resource-upload-note svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}.resource-upload-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:767px){.resources-page{gap:var(--space-3)}.resources-filters .segmented{align-self:stretch}.resources-grid{gap:var(--space-3)}.resource-card{column-gap:var(--space-3);row-gap:var(--space-1);padding:var(--space-4);grid-template-columns:40px minmax(0,1fr);display:grid}.resource-card-top{display:contents}.resource-card-icon{grid-row:1/span 3}.resource-card-top .badge{grid-area:1/2;justify-self:start}.resource-card>:not(.resource-card-top){grid-column:2}.resource-card-footer{padding-top:var(--space-2)}.resource-card-read{display:none}.resource-card-footer:not(:has(select)){display:none}.resource-visibility{width:100%;max-width:none;min-height:var(--touch)}.resource-upload-actions>.button{flex:auto}}@media (prefers-reduced-motion:reduce){.resource-card,.resource-card-read svg,.resource-dropzone{transition:none}}.calendar-accent{--calendar-accent-fg:var(--primary);--calendar-accent-bg:var(--tint)}.calendar-accent[data-accent=emerald]{--calendar-accent-fg:var(--accent-emerald-fg);--calendar-accent-bg:var(--accent-emerald-bg)}.calendar-accent[data-accent=indigo]{--calendar-accent-fg:var(--accent-indigo-fg);--calendar-accent-bg:var(--accent-indigo-bg)}.calendar-accent[data-accent=rose]{--calendar-accent-fg:var(--accent-rose-fg);--calendar-accent-bg:var(--accent-rose-bg)}.calendar-accent[data-accent=blue]{--calendar-accent-fg:var(--accent-blue-fg);--calendar-accent-bg:var(--accent-blue-bg)}.calendar-accent[data-accent=amber]{--calendar-accent-fg:var(--accent-amber-fg);--calendar-accent-bg:var(--accent-amber-bg)}.calendar-accent[data-accent=teal]{--calendar-accent-fg:var(--accent-teal-fg);--calendar-accent-bg:var(--accent-teal-bg)}.calendar-accent[data-accent=violet]{--calendar-accent-fg:var(--accent-violet-fg);--calendar-accent-bg:var(--accent-violet-bg)}.calendar-accent[data-accent=purple]{--calendar-accent-fg:var(--accent-purple-fg);--calendar-accent-bg:var(--accent-purple-bg)}.calendar-accent[data-accent=orange]{--calendar-accent-fg:var(--accent-orange-fg);--calendar-accent-bg:var(--accent-orange-bg)}.calendar-accent[data-accent=sky]{--calendar-accent-fg:var(--accent-sky-fg);--calendar-accent-bg:var(--accent-sky-bg)}.calendar-accent[data-accent=fuchsia]{--calendar-accent-fg:var(--accent-fuchsia-fg);--calendar-accent-bg:var(--accent-fuchsia-bg)}.calendar-accent[data-accent=slate]{--calendar-accent-fg:var(--accent-slate-fg);--calendar-accent-bg:var(--accent-slate-bg)}.reminder-colors{border:0;min-width:0;margin:0;padding:0}.reminder-colors legend{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:0}.reminder-swatches{gap:var(--space-1);flex-wrap:wrap;display:flex}.reminder-swatch{border-radius:var(--radius-full);cursor:pointer;place-items:center;width:44px;height:44px;display:inline-grid}.reminder-swatch input{appearance:none;border-radius:var(--radius-full);background:var(--calendar-accent-fg);cursor:pointer;border:0;width:28px;height:28px;min-height:28px;margin:0;padding:0}.reminder-swatch input:checked{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.event-drawer{--event-stripe:var(--calendar-accent-fg);gap:var(--space-4);padding-top:var(--space-3);border-top:3px solid var(--event-stripe);flex-direction:column;display:flex}.event-drawer-badges{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.event-type-badge{min-height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--calendar-accent-bg);color:var(--calendar-accent-fg);font:var(--type-caption);align-items:center;display:inline-flex}.event-live-badge .badge-dot{animation:2s infinite pulse}.event-drawer-success{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--success-border);border-radius:var(--radius-md);background:var(--success-bg);color:var(--text);font:var(--type-secondary);margin:0;display:flex}.event-drawer-success svg{color:var(--success);flex:none}.event-drawer-details{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.event-drawer-row{gap:var(--space-3);grid-template-columns:20px minmax(0,1fr);align-items:start;display:grid}.event-drawer-row dt{color:var(--subtle);padding-top:3px;display:inline-flex}.event-drawer-row dd{font:var(--type-body);overflow-wrap:anywhere;margin:0}.event-drawer-ist{color:var(--muted);font:var(--type-secondary);display:block}.event-drawer-description{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--raised);font:var(--type-body);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.event-drawer-actions{align-items:stretch;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border);flex-direction:column;display:flex}.event-drawer-actions>.button{white-space:normal;text-align:center;justify-content:center}.event-drawer .event-drawer-actions .button.secondary.event-drawer-delete{color:var(--danger)}.event-reschedule-form{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.event-reschedule-form h3{margin:0 0 var(--space-2);font:var(--type-card-title)}.event-reschedule-form p{margin:0 0 var(--space-3);font:var(--type-secondary)}.feed-drawer{gap:var(--space-4);flex-direction:column;display:flex}.feed-drawer-lede{color:var(--muted);font:var(--type-body);margin:0}.feed-drawer-body{gap:var(--space-4);flex-direction:column;display:flex}.feed-url-row{gap:var(--space-2);display:flex}.feed-url-input{min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-md);flex:1}.feed-copied-icon{color:var(--success)}.feed-drawer-actions{gap:var(--space-2);flex-direction:column;display:flex}.feed-drawer-actions>.button{white-space:normal;text-align:center;justify-content:center}.feed-drawer-privacy{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--raised);color:var(--muted);font:var(--type-secondary);margin:0;display:flex}.feed-drawer-privacy svg{flex:none;margin-top:2px}.feed-drawer-rotate{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.feed-drawer-rotate h3{font:var(--type-label);margin:0}.feed-drawer-rotate p{color:var(--muted);font:var(--type-secondary);margin:0}.calendar-page>.page-title{row-gap:var(--space-4);flex-wrap:wrap}.calendar-page>.page-title>div:first-child{flex:260px;min-width:0}.calendar-actions{gap:var(--space-2);flex-wrap:wrap;flex:0 auto;min-width:0;display:flex}.calendar-filters{gap:var(--space-2);margin:0 0 var(--space-4);scrollbar-width:none;padding-bottom:2px;display:flex;overflow-x:auto}.calendar-filters::-webkit-scrollbar{display:none}.calendar-filter{min-height:var(--control-sm);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--muted);font:var(--type-label);white-space:nowrap;cursor:pointer;flex:none}.calendar-filter:hover{border-color:var(--border-strong);color:var(--text)}.calendar-filter[aria-pressed=true]{border-color:var(--primary);background:var(--tint);color:var(--sage-text)}.calendar-filter:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.calendar-page .tabs{margin-bottom:var(--space-4)}.calendar-panel{gap:var(--space-4);flex-direction:column;display:flex}.month-calendar,.week-calendar{padding:var(--space-5)}.calendar-nav{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.calendar-month-label{align-items:center;gap:var(--space-1);min-width:0;display:flex}.calendar-month-label h2{min-width:0;margin:0 var(--space-2);font:var(--type-section-title)}.calendar-month-label .icon-button{width:var(--control-md);min-height:var(--control-md);color:var(--muted);background:0 0}.calendar-month-label .icon-button:hover{background:var(--surface-hover);color:var(--text)}.month-grid{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--border);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.weekday{padding:var(--space-2);background:var(--raised);color:var(--muted);font:var(--type-caption);text-align:center}.month-cell{gap:var(--space-1);min-width:0;min-height:112px;padding:var(--space-2);background:var(--surface);flex-direction:column;display:flex}.month-cell.outside{background:var(--bg);color:var(--subtle)}.day-number{border-radius:var(--radius-full);width:28px;height:28px;font:var(--type-label);font-variant-numeric:tabular-nums;place-items:center;display:grid}.today>.day-number,.week-day.today .day-number{background:var(--primary);color:var(--on-primary)}.month-cell-events{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.month-cell-more{padding:0 var(--space-2);color:var(--muted);font:var(--type-caption)}.month-cell-dots{display:none}.calendar-event-chip{width:100%;min-width:0;padding:var(--space-1) var(--space-2);border:0;border-left:3px solid var(--calendar-accent-fg);border-radius:var(--radius-sm);background:var(--calendar-accent-bg);color:var(--text);font:var(--type-caption);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;display:block;position:relative;overflow:hidden}.calendar-event-chip>span:first-child{color:var(--muted);font-weight:var(--weight-regular);font-variant-numeric:tabular-nums;display:block}.calendar-event-chip.is-cancelled{text-decoration:line-through}.week-grid{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--border);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.week-day{background:var(--surface);flex-direction:column;min-width:0;min-height:280px;display:flex}.week-day-head{justify-content:space-between;align-items:center;gap:var(--space-1);padding:var(--space-2);background:var(--raised);color:var(--muted);font:var(--type-caption);margin:0;display:flex}.week-day-events{gap:var(--space-1);padding:var(--space-2);flex-direction:column;display:flex}.week-day-events .calendar-event-chip{white-space:normal}.week-day-empty{color:var(--subtle);font:var(--type-caption)}.calendar-list-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.calendar-list-head h2{font:var(--type-section-title);margin:0}.agenda-list{gap:var(--space-5);flex-direction:column;display:flex}.agenda-day-title{margin:0 0 var(--space-2);color:var(--muted);font:var(--type-label)}.agenda-events{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.agenda-events>li+li{border-top:1px solid var(--border)}.agenda-event{gap:var(--space-4);width:100%;min-height:64px;padding:var(--space-3) var(--space-4);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:76px minmax(0,1fr) auto auto;align-items:center;display:grid}.agenda-event:hover,.agenda-event.selected{background:var(--surface-hover)}.agenda-event:focus-visible{outline:var(--focus-outline);outline-offset:calc(var(--focus-offset) * -1)}.agenda-event-time{white-space:nowrap;padding-left:var(--space-3);border-left:3px solid var(--calendar-accent-fg);font:var(--type-label);font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.agenda-event-time small{color:var(--muted);font:var(--type-secondary)}.agenda-event-body{flex-direction:column;gap:2px;min-width:0;display:flex}.agenda-event-body strong{font:var(--type-label);font-size:var(--text-base);overflow-wrap:anywhere}.agenda-event.is-cancelled strong{text-decoration:line-through}.agenda-event-meta{align-items:center;gap:var(--space-1) var(--space-2);color:var(--muted);font:var(--type-secondary);flex-wrap:wrap;display:flex}.agenda-event-type{min-height:20px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--calendar-accent-bg);color:var(--calendar-accent-fg);font:var(--type-caption);align-items:center;display:inline-flex}.agenda-event-chevron{color:var(--subtle)}@media (max-width:1023px){.month-cell{min-height:96px;padding:var(--space-1)}.calendar-event-chip{padding:2px var(--space-1)}}@media (max-width:767px){.calendar-actions{width:100%}.calendar-actions>.button{min-height:var(--touch);flex:auto}.calendar-filter{min-height:var(--touch)}.month-calendar,.week-calendar{padding:var(--space-3)}.calendar-month-label h2{font:var(--type-card-title)}.calendar-month-label .icon-button{width:var(--touch);min-height:var(--touch)}.calendar-nav .button{min-height:var(--touch)}.month-cell{align-items:center;min-height:52px}.month-cell-events{display:none}.month-cell-dots{gap:3px;display:flex}.month-cell-dots>span{border-radius:var(--radius-full);background:var(--calendar-accent-fg);width:6px;height:6px}.day-number{width:26px;height:26px}.week-grid{grid-template-columns:minmax(0,1fr)}.week-day{min-height:0}.week-day-events .calendar-event-chip{min-height:var(--touch)}.agenda-event{gap:var(--space-3);padding:var(--space-3);grid-template-columns:80px minmax(0,1fr) auto}.agenda-event>.badge{grid-area:2/2;justify-self:start}.agenda-event-chevron{grid-area:1/3}.event-reschedule-form{padding:var(--space-3)}.feed-url-row{flex-direction:column}}@media (prefers-reduced-motion:reduce){.event-live-badge .badge-dot{animation:none}}.watch-video{margin:var(--space-5) 0 0;gap:var(--space-2);flex-direction:column;display:flex}.watch-video-stage{border-radius:var(--radius-lg);background:var(--stage);color:var(--stage-text);position:relative;overflow:hidden}.watch-video-stage.is-fullscreen{border-radius:0;flex-direction:column;justify-content:center;display:flex}.watch-video-frame{aspect-ratio:16/9;background:var(--stage-sunken);position:relative}.watch-video-stage.is-fullscreen .watch-video-frame{aspect-ratio:auto;flex:auto}.watch-video-frame video,.watch-video-frame iframe{background:var(--stage-sunken);object-fit:contain;border:0;width:100%;height:100%;display:block}.watch-video-unavailable{padding:var(--space-6);text-align:center;color:var(--stage-text);place-items:center;margin:0;display:grid;position:absolute;inset:0}.watch-video-controls{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--stage-chrome);border-top:1px solid var(--stage-chrome-border);display:flex}.watch-video-button{border-radius:var(--radius-full);width:40px;height:40px;color:var(--stage-text);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.watch-video-button:hover{background:var(--stage-chrome-hover)}.watch-video-button:focus-visible,.watch-video-volume:focus-visible{box-shadow:var(--focus-ring);outline:none}.watch-video-play{background:var(--stage-chrome-hover);width:44px;height:44px}.watch-video-time{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--stage-text-muted);flex:none;min-width:82px}.watch-video-bar{border-radius:var(--radius-full);background:var(--stage-chrome-border);flex:auto;min-width:60px;height:6px;position:relative}.watch-video-bar>span{border-radius:inherit;position:absolute;top:0;bottom:0;left:0}.watch-video-bar-reached{width:var(--reached,0%);background:color-mix(in srgb, var(--stage-text) 35%, transparent)}.watch-video-bar-watched{width:var(--watched,0%);background:var(--stage-text)}.watch-video-bar-head{border-radius:var(--radius-full);background:var(--stage-text);width:12px;height:12px;box-shadow:0 0 0 2px var(--stage-sunken);margin-left:-6px;left:var(--position,0%)!important;top:-3px!important}.watch-video-volume{width:72px;accent-color:var(--stage-text);flex:none}.watch-video-caption{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--text-sm);color:var(--muted);flex-wrap:wrap;display:flex}.watch-video-status{align-items:center;gap:var(--space-1);color:var(--text);font-weight:var(--weight-medium);display:inline-flex}.watch-video-status.is-done{color:var(--success)}@media (max-width:599px){.watch-video-controls{gap:var(--space-1);padding:var(--space-2);flex-wrap:wrap}.watch-video-bar{margin:var(--space-1) var(--space-1) var(--space-2);flex-basis:100%;order:-1}.watch-video-volume{display:none}.watch-video-time{margin-right:auto}}.watch-editor{gap:var(--space-3);flex-direction:column;display:flex}.watch-editor-source{gap:var(--space-2);flex-wrap:wrap;display:flex}.watch-editor-preview video,.watch-editor-preview iframe{aspect-ratio:16/9;border-radius:var(--radius-md);background:var(--stage-sunken);border:0;width:100%;display:block}.watch-editor-drop{align-items:center;gap:var(--space-1);padding:var(--space-5);border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--raised);cursor:pointer;text-align:center;flex-direction:column;display:flex}.watch-editor-drop:focus-within{box-shadow:var(--focus-ring)}.watch-editor-progress{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.watch-editor-progress progress{flex:160px}.watch-editor-row{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.watch-editor-row .field{flex:0 160px}.watch-editor-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.journey-stepper{padding:var(--space-5);margin-bottom:var(--space-6);border-radius:var(--radius-md);border:1px solid var(--border)}.journey-stepper:not(.is-learning){background:linear-gradient(180deg, var(--tint) 0%, transparent 100%)}.journey-stepper-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.journey-stepper-head>div{align-items:center;gap:var(--space-2);color:var(--primary);display:flex}.journey-stepper-head h2{font:var(--type-section-title);color:var(--text);margin:0}.journey-rail{margin:0 0 var(--space-5);padding:0 0 var(--space-2);scrollbar-width:none;justify-content:space-between;align-items:flex-start;list-style:none;display:flex;position:relative;overflow-x:auto}.journey-rail::-webkit-scrollbar{display:none}.journey-milestone{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;min-width:78px;display:flex}.journey-milestone-dot{border-radius:var(--radius-full);background:var(--raised);width:28px;height:28px;color:var(--muted);flex:none;place-items:center;display:grid}.journey-milestone.is-done .journey-milestone-dot{background:var(--success);color:var(--on-primary)}.journey-milestone.is-current .journey-milestone-dot{background:var(--primary);color:var(--on-primary)}.journey-milestone-label{font-size:var(--text-sm);color:var(--muted)}.journey-milestone.is-current .journey-milestone-label{color:var(--text);font-weight:var(--weight-semibold)}@media (max-width:767px){.journey-rail{align-items:stretch;gap:var(--space-1);flex-direction:column;padding-bottom:0;overflow:visible}.journey-milestone{text-align:left;justify-content:flex-start;align-items:center;gap:var(--space-3);flex-direction:row;min-width:0;min-height:36px;position:relative}.journey-milestone:not(:last-child):before{content:"";background:var(--border);width:2px;position:absolute;top:32px;bottom:-8px;left:13px}.journey-milestone.is-done:not(:last-child):before{background:var(--success)}.journey-milestone-label{font-size:var(--text-base)}}.journey-callout{background:var(--raised);padding:var(--space-4);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.journey-callout--good{background:var(--success-bg);color:var(--success)}.journey-callout--next{background:var(--tint)}.journey-callout strong{margin-bottom:var(--space-1);display:block}.journey-callout p{margin:0}.journey-callout--good p{color:inherit}.journey-callout .button{align-items:center;gap:var(--space-1);display:inline-flex}.journey-level-slot{margin-top:var(--space-4)}.journey-learning-note{align-items:center;gap:var(--space-3);font-size:var(--text-base);color:var(--muted);display:flex}.journey-learning-note>svg{color:var(--primary);flex:none}.journey-pipeline{margin:0 0 var(--space-6);gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:0;list-style:none;display:grid}.journey-stage-card{align-items:flex-start;gap:var(--space-1);width:100%;height:100%;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;font:inherit;color:inherit;flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex}.journey-stage-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.journey-stage-card:focus-visible{box-shadow:var(--focus-ring);outline:none}.journey-stage-count{font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.journey-stage-label{font-size:var(--text-md);color:var(--muted)}.journey-roster{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-5);flex-direction:column;display:flex;overflow:hidden}.journey-roster-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);cursor:pointer;display:flex}.journey-roster-row:last-child{border-bottom:0}.journey-roster-row:hover{background:var(--raised)}.journey-roster-name{flex-direction:column;flex:1;min-width:0;display:flex}.journey-bulk{gap:var(--space-3);grid-template-columns:1fr 1fr auto;align-items:end;display:grid}@media (max-width:640px){.journey-bulk{grid-template-columns:1fr}}.journey-requirements{margin:0 0 var(--space-6);gap:var(--space-2);padding:0;list-style:none;display:grid}.journey-requirements li{align-items:center;gap:var(--space-2);font-size:var(--text-base);display:flex}.journey-history{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.journey-history li{padding-left:var(--space-4);border-left:2px solid var(--border)}.journey-history li>div{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;display:flex}.journey-history p{margin:var(--space-1) 0 0}.journey-config-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.journey-config-head p{max-width:60ch;margin:0}.journey-config-list{margin:0 0 var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;padding:0;list-style:none;display:flex;overflow:hidden}.journey-config-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--border);background:var(--surface);display:flex}.journey-config-row:last-child{border-bottom:0}.journey-config-main{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.journey-config-main p{flex-basis:100%;margin:0}.journey-config-actions{gap:var(--space-2);flex:none;display:flex}.journey-check{align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-base);display:flex}.journey-matrix-panel{margin-bottom:var(--space-6)}.journey-matrix-panel h3{margin:0 0 var(--space-1)}.journey-matrix-panel>p{margin:0 0 var(--space-4)}.journey-matrix-scroll{overflow-x:auto}.journey-matrix{border-collapse:collapse;font-size:var(--text-md);min-width:100%}.journey-matrix th,.journey-matrix td{padding:var(--space-2) var(--space-3);border:1px solid var(--border);text-align:center;white-space:nowrap}.journey-matrix thead th{background:var(--raised);font-weight:var(--weight-semibold);vertical-align:bottom}.journey-matrix tbody th{text-align:left;background:var(--raised);position:sticky;left:0}.journey-matrix-self{color:var(--muted);background:var(--raised)}.journey-matrix-cell{align-items:center;gap:var(--space-1);cursor:pointer;min-height:32px;display:inline-flex}.journey-self{border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-full);padding:1px var(--space-2);font-size:var(--text-2xs);cursor:pointer;background:0 0}.journey-self.is-on{background:var(--tint);border-color:var(--primary);color:var(--primary);font-weight:var(--weight-semibold)}.orientation-wizard{gap:var(--space-6);flex-direction:column;display:flex}.orientation-steps{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.orientation-step{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--raised);color:var(--muted);font-size:var(--text-md);display:flex}.orientation-step.is-current{background:var(--tint);color:var(--primary);font-weight:var(--weight-semibold)}.orientation-step.is-done{color:var(--success)}.orientation-step-dot{border-radius:var(--radius-full);background:var(--surface);width:22px;height:22px;font-size:var(--text-2xs);font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}.orientation-body h2{margin:0 0 var(--space-2)}.orientation-video{margin:var(--space-5) 0 0}.orientation-video iframe,.orientation-video video{aspect-ratio:16/9;border-radius:var(--radius-lg);background:#000;border:0;width:100%;display:block}.orientation-video figcaption{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--muted)}.orientation-copy p{margin:var(--space-4) 0 0;line-height:var(--leading-relaxed)}.orientation-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.level-selection{padding:var(--space-6)}.level-selection-head{text-align:center;margin-bottom:var(--space-6)}.level-selection-head h2{margin:0 0 var(--space-2)}.level-selection-head p{margin:0}.level-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.level-card{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.level-card-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.level-card-head h3{font-size:var(--text-xl);margin:0}.level-card p{margin:0}.level-card .button{justify-content:center;margin-top:auto}.level-courses{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.level-courses li{align-items:center;gap:var(--space-2);font-size:var(--text-base);display:flex}.level-courses svg{color:var(--primary);flex:none}.level-card-meta{margin:0}.level-card-price{font-weight:var(--weight-semibold);color:var(--text);margin:0}.level-quiz{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.level-questions{margin:var(--space-4) 0 0;gap:var(--space-5);padding:0;list-style:none;display:grid}.level-questions p{margin:0 0 var(--space-2)}.level-answer{gap:var(--space-2);display:flex}.level-recommendation{align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4);border-radius:var(--radius-md);background:var(--success-bg);color:var(--success);flex-wrap:wrap;display:flex}.level-recommendation p{flex:1;margin:0}.journey-video-source{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.journey-video-upload{gap:var(--space-3);margin-bottom:var(--space-3);display:grid}.journey-video-upload video{aspect-ratio:16/9;border-radius:var(--radius-lg);background:#000;width:100%}.journey-video-upload-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.journey-video-drop{justify-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-4);border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;display:grid}.journey-video-drop:hover,.journey-video-drop:focus-within{border-color:var(--primary)}.journey-video-progress{gap:var(--space-2);display:grid}.journey-video-progress progress{width:100%}.journey-skeleton{gap:var(--space-5);flex-direction:column;display:flex}.journey-skeleton-rail{gap:var(--space-3);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.journey-skeleton-rail>span{border-radius:var(--radius-md);height:44px}@media (max-width:767px){.journey-skeleton-rail{grid-template-columns:minmax(0,1fr)}.journey-skeleton-rail>span{height:24px}}.orientation-page{gap:var(--space-6);flex-direction:column;display:flex}.orientation-page .orientation-wizard{padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.orientation-body h2:focus{outline:none}.orientation-body h2:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}.orientation-done{gap:var(--space-5);flex-direction:column;display:flex}.orientation-success{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--success-border);border-radius:var(--radius-lg);background:var(--success-bg);color:var(--text);display:flex}.orientation-success>svg{color:var(--success);flex:none;margin-top:2px}.orientation-success strong{font-size:var(--text-lg);display:block}.orientation-success p{color:var(--muted);margin:2px 0 0}.orientation-watch-hint{justify-content:flex-end;align-items:center;gap:var(--space-2);margin:var(--space-4) 0 var(--space-2);font-size:var(--text-md);color:var(--muted);display:flex}.orientation-actions--start{justify-content:flex-start}.orientation-actions .button{min-height:44px}@media (max-width:767px){.orientation-page .orientation-wizard{padding:var(--space-4)}.orientation-actions{flex-wrap:wrap}.orientation-actions .button{flex:auto}}.account-section{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.account-section>h3,.account-divider>h3{font:var(--type-card-title);margin:0}.account-section>h3+h3{margin-top:var(--space-4)}.account-section>.account-list+h3{margin-top:var(--space-5)}.account-section h4{font:var(--type-label);color:var(--text);margin:0}.account-section .notice,.account-section .error{margin:0}.account-hint{font:var(--type-secondary);color:var(--muted);margin:0}.account-fields{flex-direction:column;max-width:440px;display:flex}.account-fields>.field{margin-bottom:var(--space-4)}.account-fields>.account-hint{margin:calc(var(--space-2) * -1) 0 var(--space-4)}.account-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.account-subform{gap:var(--space-3);max-width:560px;padding:var(--space-4);border-radius:var(--radius-md);background:var(--raised);flex-direction:column;display:flex}.account-subform .field{margin-bottom:0}.account-subform textarea,.request-actions textarea{resize:vertical;width:100%}.account-divider{gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--border);flex-direction:column;display:flex}.account-danger>h3{color:var(--danger)}.account-section .empty{padding:var(--space-6) var(--space-4)}.account-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.account-list>li{align-items:center;gap:var(--space-3) var(--space-4);min-height:56px;padding:var(--space-3) 0;border-top:1px solid var(--border);display:flex}.account-list>li:first-child{border-top:0}.account-list-icon{border-radius:var(--radius-md);background:var(--raised);width:32px;height:32px;color:var(--muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.account-list-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.account-list-text>strong{font:var(--type-label);font-size:var(--text-base);color:var(--text);overflow-wrap:anywhere}.account-list-text>span{font:var(--type-secondary);color:var(--muted);overflow-wrap:anywhere}.account-list-end{justify-content:flex-end;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;flex:none;display:flex}.account-link{align-items:center;gap:var(--space-1);min-height:var(--control-sm);font:var(--type-label);color:var(--primary);display:inline-flex}.request-details{white-space:pre-wrap}.account-switch{align-items:center;gap:var(--space-2);min-height:var(--touch);cursor:pointer;flex:none;display:inline-flex}.account-switch-state{min-width:3.5em;font:var(--type-label);color:var(--muted);text-align:right}.account-switch input[role=switch]{appearance:none;border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--raised);cursor:pointer;width:40px;height:24px;min-height:0;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);flex:none;margin:0;padding:0;position:relative}.account-switch input[role=switch]:after{content:"";border-radius:var(--radius-full);background:var(--muted);width:16px;height:16px;transition:transform var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);position:absolute;top:3px;left:3px}.account-switch input[role=switch]:checked{border-color:var(--primary);background:var(--primary)}.account-switch input[role=switch]:checked:after{background:var(--on-primary);transform:translate(16px)}.account-switch input[role=switch]:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.account-switch input[role=switch]:disabled{cursor:progress;opacity:.6}@media (prefers-reduced-motion:reduce){.account-switch input[role=switch],.account-switch input[role=switch]:after{transition:none}}.session-facts{gap:var(--space-3) var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--raised);grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));margin:0;display:grid}.session-facts>div{min-width:0}.session-facts dt{font:var(--type-caption);color:var(--muted)}.session-facts dd{font:var(--type-label);font-size:var(--text-base);overflow-wrap:anywhere;margin:2px 0 0}.session-history{gap:var(--space-1);margin-top:var(--space-2);flex-direction:column;display:flex}.session-history .account-list{margin-top:var(--space-2)}.request-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.request-card{padding:var(--space-5)}.request-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.request-card p{margin:var(--space-2) 0}.request-card .request-details{overflow-wrap:anywhere;font:var(--type-body)}.request-actions,.request-actions .account-actions{margin-top:var(--space-3)}.compact-field{min-width:140px;margin-bottom:0}.password-field{position:relative}@media (max-width:767px){.account-list>li{flex-wrap:wrap}.account-list-end{justify-content:flex-start}.account-list>li:has(.account-switch){flex-wrap:nowrap}.account-fields,.account-subform{max-width:none}.account-actions>.button{flex:100%}}.settings-page{min-width:0}.settings-layout{gap:var(--space-8);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.settings-nav{display:none}.settings-nav ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.settings-nav a{align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-md);font:var(--type-label);font-size:var(--text-base);color:var(--muted);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);text-decoration:none;display:flex}.settings-nav a:hover{background:var(--surface-hover);color:var(--text)}.settings-nav a[aria-current]{background:var(--tint);color:var(--primary)}.settings-nav a:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}@media (min-width:1024px){.settings-layout{grid-template-columns:208px minmax(0,1fr)}.settings-nav{top:calc(var(--topbar-h) + var(--space-6));display:block;position:sticky}}@media (min-width:1280px){.settings-layout{grid-template-columns:224px minmax(0,880px)}}.settings-sections{gap:var(--space-10);flex-direction:column;min-width:0;display:flex}.settings-section{min-width:0;scroll-margin-top:calc(var(--topbar-h) + var(--space-6))}.settings-section:focus{outline:none}.settings-section>.journey-stepper{margin:0}.settings-section-head{margin-bottom:var(--space-4)}.settings-section-head h2{font:var(--type-section-title);color:var(--text);margin:0}.settings-section-head h2:focus{outline:none}.settings-section-head h2:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.settings-section-head p{margin:var(--space-1) 0 0;font:var(--type-secondary);color:var(--muted)}.panel.settings-card{gap:var(--space-4);padding:var(--space-6);box-shadow:none;flex-direction:column;display:flex}.settings-group{padding-top:var(--space-5);border-top:1px solid var(--border)}.settings-note{font:var(--type-secondary);color:var(--muted);margin:0}.settings-note a{color:var(--primary);font-weight:var(--weight-medium)}.settings-identity{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.settings-avatar{border-radius:var(--radius-full);background:var(--tint);width:56px;height:56px;color:var(--primary);font:var(--type-section-title);font-size:var(--text-2xl);flex:none;place-items:center;display:grid}.settings-identity-text{flex:200px;min-width:0}.settings-identity-name{font:var(--type-card-title);color:var(--text);overflow-wrap:anywhere;margin:0}.settings-identity-role{font:var(--type-secondary);color:var(--muted);text-transform:capitalize;margin:2px 0 0}.settings-facts{gap:var(--space-2) var(--space-8);flex-wrap:wrap;margin:0;display:flex}.settings-facts>div{min-width:0}.settings-facts dt{font:var(--type-caption);color:var(--muted)}.settings-facts dd{font:var(--type-label);font-size:var(--text-base);color:var(--text);overflow-wrap:anywhere;margin:2px 0 0}.settings-form{gap:var(--space-4);flex-direction:column;display:flex}.settings-form .error{margin:0}.settings-form-grid{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-form-grid>.field,.settings-form .settings-check{margin-bottom:0}.settings-actions{justify-content:flex-start;gap:var(--space-2);padding-top:var(--space-2);display:flex}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.settings-row-text{min-width:0}.settings-row-title{font:var(--type-label);font-size:var(--text-base);color:var(--text);margin:0}.settings-row-meta{font:var(--type-secondary);color:var(--muted);margin:2px 0 0}.settings-row .icon-button{border:1px solid var(--border-strong);flex:none}.settings-links{column-gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-links>a{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);min-height:48px;font:var(--type-body);color:var(--text);text-decoration:none;display:flex}.settings-links>a>svg:first-child{color:var(--muted);flex:none}.settings-links>a>span{flex:1;min-width:0}.settings-links-chevron{color:var(--subtle);flex:none}.settings-links>a:hover>span{color:var(--primary)}.settings-links>a:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}.settings-card .tv-shelf-stats>div{border:0}.settings-card .tv-shelf-list{gap:0}.settings-card .tv-shelf-item{padding:var(--space-3) 0;border:0;border-top:1px solid var(--border);background:0 0;border-radius:0}.settings-card .tv-shelf-item:last-child{padding-bottom:0}.settings-index-identity{margin-bottom:var(--space-4)}.settings-index ul{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.settings-index li+li{border-top:1px solid var(--border)}.settings-index a{align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-3) var(--space-4);color:var(--text);text-decoration:none;display:flex}.settings-index a:active{background:var(--surface-hover)}.settings-index a:focus-visible{outline:var(--focus-outline);outline-offset:calc(-1 * var(--focus-offset) - 2px)}.settings-index-icon{border-radius:var(--radius-md);background:var(--raised);width:36px;height:36px;color:var(--muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.settings-index-text{flex-direction:column;flex:1;min-width:0;display:flex}.settings-index-label{font:var(--type-label);font-size:var(--text-base)}.settings-index-hint{font:var(--type-secondary);color:var(--muted)}.settings-page.is-drilled .settings-section-head h2{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.settings-back{margin-left:calc(-1 * var(--space-3))}@media (max-width:767px){.settings-sections{gap:var(--space-8)}.panel.settings-card{padding:var(--space-4)}.settings-form-grid{grid-template-columns:minmax(0,1fr)}.settings-form-spacer{display:none}.settings-actions>.button{flex:1}.settings-links{grid-template-columns:minmax(0,1fr)}.settings-links>a{min-height:var(--touch)}.settings-links>a:last-child{border-bottom:0}.settings-identity{align-items:flex-start}.settings-avatar{width:48px;height:48px;font-size:var(--text-xl)}.settings-facts{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.settings-nav a{transition:none}}.profile-certificate{margin:0 0 var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--raised)}.profile-certificate h3{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font:var(--type-card-title);color:var(--text);display:flex}.profile-certificate h3 svg{color:var(--primary);flex:none}.profile-certificate-list{gap:var(--space-3) var(--space-8);flex-wrap:wrap;margin:0;display:flex}.profile-certificate-list>div{min-width:0}.profile-certificate-list dt{font:var(--type-caption);color:var(--muted)}.profile-certificate-list dd{flex-direction:column;gap:2px;min-width:0;margin:2px 0 0;display:flex}.profile-certificate-value{font:var(--type-card-title);color:var(--text);overflow-wrap:anywhere}.profile-certificate-note{font:var(--type-secondary);color:var(--muted)}.profile-certificate-help{margin:var(--space-3) 0 0;font:var(--type-secondary);color:var(--muted)}.profile-certificate-help a{color:var(--primary);font-weight:var(--weight-medium)}@media (max-width:767px){.profile-certificate{padding:var(--space-4)}.profile-certificate-list{flex-direction:column}}.standalone.certificate-verify{max-width:720px;margin:var(--space-10) auto;padding:0 var(--space-4)}.certificate-verify-top{margin-bottom:var(--space-6)}.certificate-back{align-items:center;gap:var(--space-2);min-height:var(--touch);margin-bottom:var(--space-2);font:var(--type-label);color:var(--muted);display:inline-flex}.certificate-back:hover{color:var(--text)}.certificate-verify .page-title{margin-bottom:0}.panel.certificate-search{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-5);box-shadow:none;display:flex}.certificate-search .certificate-search-field{flex:1;min-width:0;margin-bottom:0}.certificate-search>.button{margin-top:calc(var(--text-md) * 1.54 + var(--space-2));flex:none}.panel.certificate-state{padding:var(--space-10) var(--space-6);text-align:center;box-shadow:none;flex-direction:column;align-items:center;display:flex}.certificate-state-icon{width:48px;height:48px;margin-bottom:var(--space-4);border-radius:var(--radius-full);background:var(--tint);color:var(--primary);justify-content:center;align-items:center;display:inline-flex}.certificate-state h2{margin:0 0 var(--space-2);font:var(--type-card-title);color:var(--text)}.certificate-state p{max-width:440px;font:var(--type-body);color:var(--muted);overflow-wrap:anywhere;margin:0}.certificate-state-error .certificate-state-icon{background:var(--danger-bg);color:var(--danger)}.panel.certificate-result{padding:var(--space-8);box-shadow:none}.certificate-result-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--border);display:flex}.certificate-result-issuer{align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;min-width:0;display:flex}.certificate-result-issuer>div{min-width:0}.certificate-result-issuer h2{font:var(--type-card-title);color:var(--text);overflow-wrap:anywhere;margin:0}.certificate-verified-label{align-items:center;gap:var(--space-1);min-height:24px;padding:0 var(--space-2);border:1px solid var(--success-border);border-radius:var(--radius-sm);background:var(--success-bg);color:var(--success);font:var(--type-label);display:inline-flex}.certificate-status-banner{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-4);border:1px solid var(--success-border);border-radius:var(--radius-md);background:var(--success-bg);color:var(--text);flex-direction:column;display:flex}.certificate-status-banner p{font:var(--type-body);color:var(--text);overflow-wrap:anywhere;margin:0}.certificate-status-banner.is-withdrawn{border-color:var(--warning-border);background:var(--warning-bg)}.certificate-withdrawn-label{align-items:center;gap:var(--space-1);min-height:24px;padding:0 var(--space-2);border:1px solid var(--warning-border);border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning);font:var(--type-label);display:inline-flex}.certificate-withdrawn-label>svg{flex:none}.panel.certificate-result.is-withdrawn{border-color:var(--warning-border)}.certificate-logos{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.certificate-logo-plate{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;justify-content:center;align-items:center;height:56px;padding:6px 10px;display:inline-flex}.certificate-logo-brand{object-fit:contain;width:auto;max-width:170px;height:40px;display:block}.certificate-logo-school{object-fit:contain;width:auto;max-width:120px;height:44px;display:block}.certificate-title{font:var(--type-label);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--muted);overflow-wrap:anywhere;margin:0}.certificate-emblem{object-fit:contain;flex:none;width:48px;height:48px}.certificate-details{gap:var(--space-5);display:grid}.certificate-details>div{min-width:0}.certificate-label{font:var(--type-caption);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--muted)}.certificate-value{margin-top:var(--space-1);font:var(--type-section-title);color:var(--text);overflow-wrap:anywhere}.certificate-value-lg{font:var(--type-page-title)}.certificate-value-aside{font:var(--type-body);color:var(--muted)}.certificate-value-note{margin-top:var(--space-1);font:var(--type-secondary);color:var(--muted)}.certificate-facts{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--raised);grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));margin:0;display:grid}.certificate-facts>div{min-width:0}.certificate-fact-label{font:var(--type-caption);color:var(--muted)}.certificate-fact{font:var(--type-label);font-size:var(--text-base);color:var(--text);overflow-wrap:anywhere;margin:2px 0 0}.certificate-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.certificate-status{align-items:center;gap:var(--space-1);text-transform:capitalize;display:flex}.certificate-status>svg{color:var(--success);flex:none}.certificate-status.is-withdrawn{text-transform:none}.certificate-status.is-withdrawn>svg{color:var(--warning)}.certificate-result-footer{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.certificate-footer-text{min-width:0;font:var(--type-secondary);color:var(--muted);overflow-wrap:anywhere}.certificate-token{font-size:var(--text-xs)}.certificate-result-skeleton{gap:var(--space-4);flex-direction:column;display:flex}.certificate-skel{border-radius:var(--radius-sm);background:var(--raised);height:16px;animation:pulse 1.6s var(--ease-in-out) infinite;display:block}.certificate-skel-pill{width:160px;height:24px}.certificate-skel-title{width:60%;height:32px}.certificate-skel-line{width:80%}.certificate-skel-line.short{width:45%}@media (prefers-reduced-motion:reduce){.certificate-skel{animation:none}}@media (max-width:767px){.standalone.certificate-verify{margin:var(--space-6) auto}.panel.certificate-search{padding:var(--space-4);flex-direction:column;align-items:stretch}.certificate-search>.button{min-height:var(--touch);margin-top:0}.panel.certificate-result{padding:var(--space-5)}.certificate-result-header{align-items:flex-start}.certificate-value-lg{font:var(--type-section-title);font-size:var(--text-2xl)}.certificate-result-footer>.button{width:100%;min-height:var(--touch)}.certificate-logo-plate{height:48px}.certificate-logo-brand{max-width:130px;height:32px}.certificate-logo-school{max-width:96px;height:36px}}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:var(--font-sans);--text-2xs:.75rem;--text-xs:.75rem;--text-sm:.75rem;--text-md:.8125rem;--text-base:.875rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.25rem;--text-3xl:1.5rem;--text-4xl:2rem;--text-5xl:2.75rem;--type-display:var(--weight-semibold) var(--text-5xl) / 1.18 var(--font-display);--type-page-title:var(--weight-semibold) var(--text-3xl) / 1.33 var(--font-display);--type-section-title:var(--weight-semibold) var(--text-xl) / 1.44 var(--font-display);--type-card-title:var(--weight-semibold) var(--text-lg) / 1.5 var(--font-sans);--type-body:var(--weight-regular) var(--text-base) / 1.57 var(--font-sans);--type-body-lg:var(--weight-regular) var(--text-lg) / 1.62 var(--font-sans);--type-secondary:var(--weight-regular) var(--text-md) / 1.54 var(--font-sans);--type-label:var(--weight-medium) var(--text-md) / 1.54 var(--font-sans);--type-caption:var(--weight-medium) var(--text-xs) / 1.33 var(--font-sans);--type-button:var(--weight-medium) var(--text-base) / 1.43 var(--font-sans);--tracking-overline:.04em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.65;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--radius:12px;--radius-control:8px;--control-sm:32px;--control-md:40px;--control-lg:48px;--touch:44px;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--sidebar-w:248px;--sidebar-w-collapsed:72px;--topbar-h:60px;--tabbar-h:64px;--content-max:1200px;--content-max-wide:1440px;--content-max-reading:760px;--gutter:32px;--z-sticky:20;--z-header:30;--z-nav:40;--z-dropdown:50;--z-overlay:60;--z-modal:70;--z-toast:80;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--duration-fast:.12s;--duration-base:.18s;--duration-slow:.26s;--shadow-xs:0 1px 2px #0f17200d;--shadow-sm:0 2px 6px -1px #0f172014, 0 1px 2px #0f17200a;--shadow-md:0 8px 20px -4px #0f17201a, 0 2px 6px -2px #0f17200d;--shadow-lg:0 16px 36px -8px #0f172029, 0 4px 10px -4px #0f17200f;--shadow-xl:0 24px 56px -12px #0f172038;--bg:#f6f7f8;--surface:#fff;--raised:#f1f3f4;--surface-hover:#f6f7f8;--border:#e2e5e8;--border-strong:#cdd2d7;--text:#0f1720;--muted:#4a5562;--subtle:#68737f;--primary:#08764c;--primary-hover:#055e3c;--on-primary:#fff;--tint:#e6f4ed;--sage:#e8f5ee;--sage-text:#075d3e;--board-light:#f0e7d5;--board-dark:#95a38a;--stage:#0d1613;--stage-sunken:#080e0c;--stage-chrome:#0e1613e0;--stage-chrome-hover:#ffffff1f;--stage-chrome-border:#ffffff2e;--stage-text:#eef6f2;--stage-text-muted:#a9bcb1;--success:#047857;--success-bg:#ecfdf5;--success-border:#a7f3d0;--warning:#b45309;--warning-bg:#fffbeb;--warning-border:#fde68a;--danger:#b52a32;--danger-bg:#fef2f2;--danger-border:#fecaca;--info:#2563eb;--info-bg:#eff6ff;--info-border:#bfdbfe;--on-danger:#fff;--accent-emerald-bg:#ecfdf5;--accent-emerald-fg:#059669;--accent-indigo-bg:#eef2ff;--accent-indigo-fg:#4f46e5;--accent-rose-bg:#fff1f2;--accent-rose-fg:#e11d48;--accent-blue-bg:#eff6ff;--accent-blue-fg:#2563eb;--accent-amber-bg:#fffbeb;--accent-amber-fg:#d97706;--accent-teal-bg:#f0fdfa;--accent-teal-fg:#0d9488;--accent-violet-bg:#f5f3ff;--accent-violet-fg:#7c3aed;--accent-purple-bg:#faf5ff;--accent-purple-fg:#9333ea;--accent-orange-bg:#fff7ed;--accent-orange-fg:#ea580c;--accent-sky-bg:#f0f9ff;--accent-sky-fg:#0284c7;--accent-fuchsia-bg:#fdf4ff;--accent-fuchsia-fg:#c026d3;--accent-slate-bg:#f1f5f9;--accent-slate-fg:#475569;--focus-ring:0 0 0 3px color-mix(in srgb, var(--primary) 30%, transparent);--focus-outline:2px solid var(--primary);--focus-offset:2px;--overlay:#10182873;color:var(--text);background:var(--bg)}:root[data-portal=educator],:root[data-portal=admin]{--primary:#d7172b;--primary-hover:#b20f20;--tint:#fff0f1;--sage:#fcebed;--sage-text:#a81c2a}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--on-primary:#101916;--board-light:#aab29c;--board-dark:#586c53;--bg:#0e1412;--surface:#16201c;--raised:#1f2b26;--surface-hover:#1b2621;--border:#2d3c35;--border-strong:#3e5047;--text:#ecf3ef;--muted:#a8b8af;--subtle:#8a9b92;--primary:#68d4a6;--primary-hover:#94e8c3;--tint:#213c2f;--sage:#244031;--sage-text:#c3f0d9;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 6px -1px #0006;--shadow-md:0 8px 20px -4px #0000007a;--shadow-lg:0 16px 36px -8px #0000008f;--shadow-xl:0 24px 56px -12px #0000009e;--success:#34d399;--success-bg:#10b9812e;--success-border:#10b98159;--warning:#fbbf24;--warning-bg:#f59e0b2e;--warning-border:#f59e0b59;--danger:#ffb0ae;--danger-bg:#f43f5e2e;--danger-border:#f43f5e59;--info:#60a5fa;--info-bg:#3b82f62e;--info-border:#3b82f659;--on-danger:#2a0f11;--accent-emerald-bg:#10b9812e;--accent-emerald-fg:#34d399;--accent-indigo-bg:#6366f12e;--accent-indigo-fg:#818cf8;--accent-rose-bg:#f43f5e2e;--accent-rose-fg:#fb7185;--accent-blue-bg:#3b82f62e;--accent-blue-fg:#60a5fa;--accent-amber-bg:#f59e0b2e;--accent-amber-fg:#fbbf24;--accent-teal-bg:#14b8a62e;--accent-teal-fg:#2dd4bf;--accent-violet-bg:#8b5cf62e;--accent-violet-fg:#a78bfa;--accent-purple-bg:#a855f72e;--accent-purple-fg:#c084fc;--accent-orange-bg:#f973162e;--accent-orange-fg:#fb923c;--accent-sky-bg:#0ea5e92e;--accent-sky-fg:#38bdf8;--accent-fuchsia-bg:#d946ef2e;--accent-fuchsia-fg:#e879f9;--accent-slate-bg:#94a3b82e;--accent-slate-fg:#94a3b8;--overlay:#0000009e}:root[data-theme=dark][data-portal=educator],:root[data-theme=dark][data-portal=admin]{--bg:#141418;--surface:#1d1d23;--raised:#26262e;--surface-hover:#222229;--border:#36363f;--border-strong:#4a4a55;--text:#f4f2f4;--muted:#bcb5bf;--subtle:#9c95a0;--primary:#ff8993;--primary-hover:#ffb0b7;--tint:#44252c;--sage:#42262d;--sage-text:#ffced4}*{box-sizing:border-box}body{min-width:320px;font:var(--type-body);color:var(--text);background:var(--bg);margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}html{scroll-padding-top:calc(var(--topbar-h) + var(--space-4))}h1,h2,h3,h4,h5,h6,p{margin-top:0}p{line-height:1.6}small{font-size:var(--text-xs)}svg{flex-shrink:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--text);text-wrap:balance}h1{margin-bottom:var(--space-2);font-size:var(--text-3xl);line-height:1.33}h2{margin-bottom:var(--space-3);font-size:var(--text-xl);line-height:1.44}h3{margin-bottom:var(--space-2);font-size:var(--text-lg);letter-spacing:0;line-height:1.5}h4,h5,h6{margin-bottom:var(--space-1);font-size:var(--text-base);letter-spacing:0;line-height:1.43}strong,b{font-weight:var(--weight-semibold)}input,textarea,select{width:100%;min-height:var(--control-md);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font-size:var(--text-base);padding:8px 12px;line-height:1.43}input::placeholder,textarea::placeholder{color:var(--subtle);opacity:1}textarea{resize:vertical;min-height:96px;padding:10px 12px;line-height:1.57}select{cursor:pointer}select:not([multiple],[size]){appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);text-overflow:ellipsis;background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}select:not([multiple],[size]):disabled{background-image:linear-gradient(45deg, transparent 50%, var(--subtle) 50%), linear-gradient(135deg, var(--subtle) 50%, transparent 50%)}select option{background:var(--surface);color:var(--text)}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--primary);flex:none;margin:0;padding:0}input[type=range]{min-height:auto;accent-color:var(--primary);background:0 0;border:0;padding:0}input[type=color]{width:var(--control-md);padding:4px}input[type=file]{min-height:auto;padding:var(--space-4);background:var(--raised);color:var(--muted);font-size:var(--text-md);border-style:dashed}input[type=file]::file-selector-button{min-height:var(--control-sm);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);padding:0 var(--space-3);margin-right:var(--space-3);color:var(--text);font:var(--type-button);cursor:pointer}input:is([type=date],[type=time],[type=datetime-local],[type=month],[type=week]){min-width:0;height:var(--control-md);font-variant-numeric:tabular-nums;padding-block:0}::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}:root[data-theme=dark] ::-webkit-calendar-picker-indicator{filter:invert()}@media (max-width:767px),(pointer:coarse){input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color]),select{min-height:var(--touch);font-size:var(--text-lg)}input:is([type=date],[type=time],[type=datetime-local],[type=month],[type=week]){height:var(--touch)}}:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}::selection{background:color-mix(in srgb, var(--primary) 24%, transparent);color:inherit}.muted{color:var(--muted)}.visually-hidden,.sr-only{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.small{font-size:var(--text-md)}.eyebrow{font:var(--type-caption);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--muted);margin:0 0 var(--space-2)}.button,.text-button,.icon-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-md);font:var(--type-button);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:0;text-decoration:none;display:inline-flex}.button svg,.text-button svg{width:var(--icon-sm);height:var(--icon-sm)}.text-button,.icon-button{border-radius:var(--radius-control)}.button:hover:where(:not(:disabled)){background:var(--primary-hover)}.button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.button.secondary:hover:where(:not(:disabled)){background:var(--surface-hover);border-color:color-mix(in srgb, var(--text) 30%, var(--border-strong))}.button.full{width:100%;margin-top:var(--space-5)}.button:active:where(:not(:disabled)),.icon-button:active:where(:not(:disabled)){transform:scale(.98)}.text-button{min-height:auto;color:var(--primary);text-align:left;background:0 0;justify-content:flex-start;padding:4px 0}.icon-button{width:var(--control-md);min-width:var(--control-md);color:var(--muted);background:0 0;padding:0}.icon-button svg{width:var(--icon-md);height:var(--icon-md)}.icon-button:hover:where(:not(:disabled)){background:var(--surface-hover);color:var(--text)}.text-button:hover:where(:not(:disabled)){text-underline-offset:3px;text-decoration:underline}.button-row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}@media (max-width:767px),(pointer:coarse){.button,.icon-button{min-height:var(--touch)}.icon-button{width:var(--touch);min-width:var(--touch)}.text-button{min-height:var(--touch)}}.avatar{border-radius:var(--radius-full);background:var(--tint);width:36px;height:36px;color:var(--sage-text);font-size:var(--text-md);font-weight:var(--weight-semibold);object-fit:cover;-webkit-user-select:none;user-select:none;flex:none;place-items:center;line-height:1;display:inline-grid;overflow:hidden}.avatar.large{width:64px;height:64px;font-size:var(--text-2xl)}.status{min-height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);font:var(--type-caption);background:var(--tint);color:var(--sage-text);white-space:nowrap;text-transform:capitalize;align-self:flex-start;align-items:center;gap:6px;display:inline-flex}.section-spaced{margin-top:var(--space-8)}.section-heading{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.section-heading h2,.section-heading p{margin-bottom:0}.section-heading h2{font:var(--type-section-title)}.section-heading .eyebrow{margin-bottom:var(--space-1)}.section-heading-text{min-width:0}.section-heading-text>p{margin-top:var(--space-1);color:var(--muted);font:var(--type-secondary)}.empty{text-align:center;justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-4);flex-direction:column;display:flex}.empty-icon{width:56px;height:56px;margin-bottom:var(--space-2);border-radius:var(--radius-full);background:var(--raised);color:var(--muted);place-items:center;display:grid}.empty-icon svg{width:var(--icon-lg);height:var(--icon-lg)}.empty p{max-width:44ch;font:var(--type-body);color:var(--muted);margin:0}.empty h2,.empty h3,.empty h4,.empty .empty-title{font:var(--type-card-title);margin:0}.empty-action{justify-content:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.empty.empty-compact{padding:var(--space-6) var(--space-4)}.empty.empty-compact .empty-icon{width:40px;height:40px}.empty.empty-compact .empty-icon svg{width:var(--icon-md);height:var(--icon-md)}.error{align-items:flex-start;gap:var(--space-3);color:var(--text);border:1px solid var(--danger-border);background:var(--danger-bg);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;font:var(--type-body);display:flex}.error>svg{color:var(--danger);width:var(--icon-md);height:var(--icon-md);margin-top:1px}.error>div{align-items:flex-start;gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.error-title{font-weight:var(--weight-semibold)}.error .text-button{min-height:var(--control-sm);color:var(--danger);font-weight:var(--weight-semibold);padding:0;display:inline-flex}.notice{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);background:var(--raised);color:var(--text);font:var(--type-body);border-radius:var(--radius-lg);margin:var(--space-4) 0;display:flex}.notice>svg{width:var(--icon-md);height:var(--icon-md);color:var(--muted);margin-top:1px}.notice>:is(p,div):only-child,.notice>svg+:is(p,div,span){min-width:0;margin:0}.notice-body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.notice-body>p{margin:0}.notice-title{font-weight:var(--weight-semibold)}.notice-action{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.notice.notice-info{background:var(--info-bg);border-color:var(--info-border)}.notice.notice-info>svg{color:var(--info)}.notice.notice-success{background:var(--success-bg);border-color:var(--success-border)}.notice.notice-success>svg{color:var(--success)}.notice.notice-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--text)}.notice.notice-warning>svg{color:var(--warning)}.notice.notice-danger{background:var(--danger-bg);border-color:var(--danger-border)}.notice.notice-danger>svg{color:var(--danger)}.field{margin-bottom:var(--space-4);flex-direction:column;gap:6px;min-width:0;display:flex}.field>span:first-child,.field>label,.field-label{font:var(--type-label);color:var(--text)}.form-grid{gap:0 var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-panel{max-width:var(--content-max-reading);margin-bottom:var(--space-7)}fieldset{border:0;min-width:0;margin:0;padding:0}legend{font:var(--type-label);padding:0}.skeleton-stack{gap:var(--space-3);width:100%;padding:var(--space-5);display:grid}.skeleton-stack>.skeleton-bar:first-child{width:40%;height:20px}.skeleton-bar:nth-child(3n+2){width:85%}.skeleton-bar:nth-child(3n){width:60%}@keyframes pulse{50%{opacity:.45}}@media (max-width:767px){h1,.page-title h1{font-size:var(--text-2xl);line-height:1.4}.form-grid{grid-template-columns:minmax(0,1fr)}.empty{padding:var(--space-8) var(--space-4)}.section-spaced{margin-top:var(--space-6)}.notebook-mode-btn,.notebook-modes>[role=tab]{min-height:var(--touch)}}.standalone{max-width:600px;margin:80px auto;padding:28px}.back-link{min-height:44px;color:var(--muted);font-size:var(--text-md);align-items:center;gap:8px;margin-bottom:20px;display:inline-flex}.agenda{flex-direction:column;padding:24px;display:flex}.agenda h2{font-size:23px}.agenda .empty{flex:1;min-height:210px;padding:15px}.agenda .empty-icon{width:45px;height:45px}.agenda .empty h3{font-size:var(--text-base)}.agenda .empty p{font-size:var(--text-sm)}.agenda>.text-button{border-top:1px solid var(--border);justify-content:space-between;padding-top:14px}.course-card{flex-direction:column;align-items:flex-start;display:flex;position:relative;overflow:hidden}.course-emblem{background:var(--sage);color:var(--sage-text);border-radius:var(--radius-lg);margin-bottom:20px;padding:5px 10px;font-size:32px;line-height:1.2}.course-card h3{margin-top:18px}.course-card p{font-size:var(--text-md);color:var(--muted)}.people-list>div{border-bottom:1px solid var(--border);align-items:center;gap:15px;min-width:0;padding:19px 0;display:flex}.people-list>div:last-child{border-bottom:0}.people-list strong{font-size:var(--text-md)}.people-list small{color:var(--muted);margin-top:4px;display:block}.people-list select{width:auto;max-width:200px;margin-left:auto}.people-list .status{margin-left:auto}.checkbox-label{align-items:center;gap:var(--space-2);font:var(--type-body);min-height:var(--control-md);cursor:pointer;display:flex}.chess-light{background:var(--board-light)}.chess-dark{background:var(--board-dark)}.white-piece,.black-piece{font-variant-emoji:text;font-family:Segoe UI Symbol,Apple Symbols,"Noto Sans Symbols 2",Georgia,serif;line-height:1}.white-piece{color:#fff;text-shadow:0 0 1px #000000f2,0 0 1px #000000f2,0 1px 2px #00000073}.black-piece{color:var(--stage-sunken);text-shadow:0 1px 1px #ffffff4d}.notebook-modes{background:var(--raised);border:1px solid var(--border);border-radius:var(--radius-md);scrollbar-width:none;gap:2px;margin:0;padding:3px;display:flex;overflow-x:auto}.notebook-modes::-webkit-scrollbar{display:none}.notebook-mode-btn,.notebook-modes>[role=tab]{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--muted);font:var(--type-label);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:0;flex:1;display:inline-flex}@keyframes engine-pulse{}.public-practice{max-width:1200px;margin:auto;padding:30px}.pagination{font-size:var(--text-sm);justify-content:flex-end;margin-top:20px}.button{padding:0 var(--space-4);background:var(--primary);color:var(--on-primary);white-space:nowrap;border-radius:var(--radius-md)}.panel{border:1px solid var(--border);background:var(--surface);padding:var(--space-6);border-radius:var(--radius-lg);min-width:0}.full{width:100%}.checkbox{align-items:flex-start;gap:var(--space-3);margin:var(--space-3) 0;font:var(--type-body);cursor:pointer;display:flex}.checkbox>input{flex:none;margin-top:calc(.5lh - 9px)}.section-heading h2,.panel>h2{align-items:center;gap:8px;display:flex}.page-title{justify-content:space-between;align-items:flex-start;gap:var(--space-3) var(--space-6);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-title>div:first-child,.page-title-text{flex:320px;min-width:0}.page-title h1{font:var(--type-page-title);letter-spacing:-.01em;margin:0}.page-title .eyebrow{display:none}.page-title p,.page-title .muted{max-width:68ch;margin:var(--space-1) 0 0;font:var(--type-body);color:var(--muted)}.page-title-crumb{margin-bottom:var(--space-2);font:var(--type-secondary);color:var(--muted)}.page-title-crumb a:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.page-title-actions,.page-title>.button-row{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.page-title>.button{flex:none}.badge{min-height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--raised);color:var(--muted);font:var(--type-caption);white-space:nowrap;vertical-align:middle;align-items:center;gap:6px;display:inline-flex}.badge svg{width:12px;height:12px}.badge-emerald{background:var(--accent-emerald-bg);color:var(--accent-emerald-fg)}.badge-indigo{background:var(--accent-indigo-bg);color:var(--accent-indigo-fg)}.badge-rose{background:var(--accent-rose-bg);color:var(--accent-rose-fg)}.badge-blue{background:var(--accent-blue-bg);color:var(--accent-blue-fg)}.badge-amber{background:var(--accent-amber-bg);color:var(--accent-amber-fg)}.badge-teal{background:var(--accent-teal-bg);color:var(--accent-teal-fg)}.badge-violet{background:var(--accent-violet-bg);color:var(--accent-violet-fg)}.badge-purple{background:var(--accent-purple-bg);color:var(--accent-purple-fg)}.badge-orange{background:var(--accent-orange-bg);color:var(--accent-orange-fg)}.badge-sky{background:var(--accent-sky-bg);color:var(--accent-sky-fg)}.badge-fuchsia{background:var(--accent-fuchsia-bg);color:var(--accent-fuchsia-fg)}.badge-slate{background:var(--accent-slate-bg);color:var(--accent-slate-fg)}.search-field{max-width:440px;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search-field input{background:0 0;border:0;padding-left:0}@media (max-width:900px){.agenda .empty{min-height:140px}}@media (max-width:767px){.panel{border-radius:var(--radius-xl);padding:23px}.agenda .empty{min-height:175px}.search-field{width:100%;max-width:none}.back-link{margin-bottom:10px}.public-practice{padding:20px}.people-list>div{flex-wrap:wrap;gap:10px}.people-list select{font-size:var(--text-sm);max-width:145px}.people-list time{font-size:var(--text-xs)}.standalone{margin:35px auto;padding:24px}}progress{width:100%;height:8px;accent-color:var(--primary);border:0;border-radius:10px;margin:3px 0 2px;overflow:hidden}progress::-webkit-progress-bar{background:var(--raised)}progress::-webkit-progress-value{background:var(--primary);border-radius:10px}.journey-next{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-6);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);flex-wrap:wrap;display:flex}.journey-next-icon{border-radius:var(--radius-full);background:var(--tint);width:38px;height:38px;color:var(--primary);flex:none;place-items:center;display:grid}.journey-next-copy{flex:220px;min-width:0}.journey-next-copy strong{font-size:var(--text-lg);letter-spacing:-.01em;display:block}.journey-next-copy p{font-size:var(--text-base);color:var(--muted);line-height:var(--leading-snug);margin:2px 0 0}.journey-next .button{gap:var(--space-2);flex:none}.tone-0{background:var(--tint)}.tone-1{background:#edf3fa}.tone-2{background:#f6f0fc}[data-theme=dark] .tone-1,[data-theme=dark] .tone-2{background:var(--raised)}.toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.toolbar .tabs{margin:0}.toolbar .search-field{max-width:260px}.curriculum-lesson{text-align:left;width:100%;font-size:var(--text-sm);background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;min-height:48px;padding:12px 8px;display:flex}.curriculum-lesson small{color:var(--muted);font-size:var(--text-2xs);margin-top:4px;display:block}.curriculum-lesson.selected{background:var(--tint);color:var(--primary)}.lesson-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.content-editor{min-height:280px}.quiz-question{border:1px solid var(--border);border-radius:10px;margin:18px 0;padding:18px}.quiz-question legend{font-weight:700;font-size:var(--text-base);max-width:100%}.quiz-option{min-height:48px;font-size:var(--text-base);border-radius:7px;align-items:center;gap:12px;padding:8px;display:flex}.quiz-option input{width:20px;min-height:20px;accent-color:var(--primary)}.quiz-option:has(input:checked){background:var(--tint)}.quiz-result{text-align:center;border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:20px;padding:35px}.quiz-result>span{color:var(--primary);font-size:60px}.quiz-result>strong{font-size:40px}.pgn-content{white-space:pre-wrap;word-break:break-word;font-size:var(--text-sm)}.access-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 0;display:flex}.access-row>div{flex:1}.access-row small{color:var(--muted);font-size:var(--text-xs);display:block}@media (max-width:767px){.journey-next{padding:var(--space-4);gap:var(--space-3)}.journey-next .button{flex:100%}.toolbar{flex-direction:column;align-items:stretch;gap:16px}.toolbar .search-field{max-width:none}.access-row{flex-wrap:wrap}.access-row>div{flex-basis:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.verified-video{margin:20px 0}.verified-video video{aspect-ratio:16/9;background:var(--stage);border-radius:var(--radius-lg);width:100%}.video-policy{font-size:var(--text-sm);color:var(--muted);justify-content:space-between;gap:12px;margin:8px 0 20px;display:flex}img,video{max-width:100%;height:auto}button,input,select,textarea{line-height:inherit}button{cursor:pointer;color:inherit;background:0 0}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-accent{background:var(--tint);color:var(--sage-text)}.countdown{font-variant-numeric:tabular-nums}@media (max-width:400px){input:is([type=date],[type=time],[type=datetime-local]){padding-inline:var(--space-2)}}:where(a,button,input,select,textarea,summary,[role=tab]){transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out)}:where(input:not([type=checkbox],[type=radio],[type=file],[type=range],[type=color]),select,textarea):hover:not(:disabled,[readonly],:focus){border-color:color-mix(in srgb, var(--text) 30%, var(--border-strong))}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color]),select,textarea):focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}:where(input,select,textarea):disabled{background:var(--raised);border-color:var(--border);color:var(--subtle);cursor:not-allowed;opacity:1}:where(input,select,textarea)[aria-invalid=true]{border-color:var(--danger)}:where(input,select,textarea)[aria-invalid=true]:focus-visible{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 25%, transparent)}:where(.has-success) :where(input,select,textarea):not([aria-invalid=true]){border-color:var(--success)}:where(input,textarea)[readonly]{background:var(--bg)}:where(input[type=checkbox],input[type=radio]){accent-color:var(--primary);cursor:pointer}:where(input[type=checkbox],input[type=radio]):focus-visible{outline:2px solid var(--primary);outline-offset:2px}:where(input[type=checkbox],input[type=radio]):disabled{cursor:not-allowed}:where(label):has(>input:disabled){color:var(--muted);cursor:not-allowed}:where(.table-scroll) tbody tr:hover>td{background:var(--surface-hover)}:where([aria-disabled=true],fieldset:disabled){cursor:not-allowed}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.route-error{width:100%;max-width:480px;margin:var(--space-10) auto;text-align:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.route-error h1{margin:var(--space-1) 0 0;font:var(--type-section-title)}.route-error p{max-width:40ch;margin:0}.route-error .button-row{margin-top:var(--space-2);justify-content:center}.notebook-mode-btn:hover,.notebook-modes>[role=tab]:hover{color:var(--text)}.notebook-mode-btn.active,.notebook-modes>[role=tab][aria-selected=true]{background:var(--surface);color:var(--text);font-weight:var(--weight-semibold);box-shadow:var(--shadow-xs)}.notebook-modes>[role=tab]:focus-visible{outline:var(--focus-outline);outline-offset:-2px}h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus,main[tabindex="-1"]:focus,[tabindex="-1"]:focus:not(:focus-visible){box-shadow:none;outline:none}[role=tabpanel]:focus:not(:focus-visible){outline:none}.route-error{justify-items:start;gap:8px;max-width:640px;display:grid}.route-error>svg{color:var(--danger)}.route-error h1{margin:0;font-size:24px}.chessboard .square[aria-disabled=true]{cursor:default}.chessboard .square:not([aria-disabled=true]){cursor:pointer}.calendar-event-chip{min-height:44px}.reader-toolbar .icon-button{width:44px;min-width:44px;min-height:44px}@media (max-width:767px){.month-cell{padding:3px 1px}.calendar-event-chip{min-height:44px;padding:4px 3px}}@media (max-width:1023px){:root{--gutter:24px}}@media (max-width:767px){:root{--gutter:16px}}.skip-link{top:var(--space-2);left:var(--space-2);z-index:var(--z-toast);padding:10px var(--space-4);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:var(--type-button);position:fixed;transform:translateY(calc(-100% - 16px))}.skip-link:focus{box-shadow:var(--shadow-md);outline:var(--focus-outline);outline-offset:var(--focus-offset);transform:none}.brand{color:var(--text);white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.app-shell{--shell-sidebar:var(--sidebar-w);background:var(--bg);min-height:100dvh;display:flex}.app-shell .sidebar{z-index:var(--z-nav);flex:0 0 var(--shell-sidebar);width:var(--shell-sidebar);border-right:1px solid var(--border);background:var(--surface);flex-direction:column;align-self:flex-start;height:100dvh;display:flex;position:sticky;top:0}.sidebar-head{height:var(--topbar-h);padding:0 var(--space-5);border-bottom:1px solid var(--border);flex:none;align-items:center;display:flex}.app-shell .shell-brand .brand-logo-img{max-width:184px;height:36px}.app-shell .shell-brand{border-radius:var(--radius-md)}.app-shell .shell-brand:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.sidebar-nav{gap:var(--space-4);min-height:0;padding:var(--space-4) var(--space-3);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.nav-group,.nav-group-items{flex-direction:column;gap:2px;display:flex}.nav-group-header{padding:0 var(--space-3) 6px;color:var(--muted);font:var(--type-caption);letter-spacing:var(--tracking-overline);text-transform:uppercase}.nav-link,.sidebar-footer-link{align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--muted);font:var(--type-button);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:0;text-decoration:none;display:flex;position:relative}.nav-link svg,.sidebar-footer-link svg,.bottom-nav svg,.more-sheet svg{stroke-width:1.75px}.nav-link:hover,.sidebar-footer-link:hover{background:var(--raised);color:var(--text)}.nav-link.active,.nav-link[aria-current=page]{background:var(--tint);color:var(--primary);font-weight:var(--weight-semibold)}.nav-link:focus-visible,.sidebar-footer-link:focus-visible{outline:var(--focus-outline);outline-offset:-2px}.nav-link-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-link.is-locked{color:var(--subtle);cursor:not-allowed}.nav-link.is-locked:hover{color:var(--subtle);background:0 0}.nav-lock{flex:none;margin-left:auto}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--border);flex-direction:column;flex:none;gap:2px;display:flex}.sidebar-account{align-items:center;gap:var(--space-1);margin-top:var(--space-1);display:flex}.sidebar-account-link{align-items:center;gap:var(--space-3);min-width:0;min-height:48px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);color:var(--text);transition:background-color var(--duration-fast) var(--ease-out);flex:auto;text-decoration:none;display:flex}.sidebar-account-link:hover{background:var(--raised)}.sidebar-account-link .avatar{width:32px;min-width:32px;height:32px;font:var(--type-label)}.sidebar-account-text{flex-direction:column;line-height:1.25;display:flex}.sidebar-account-text strong{font:var(--type-label);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-account-text small{color:var(--muted);font:var(--type-caption)}.sidebar-signout{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.sidebar-signout:hover{background:var(--danger-bg);color:var(--danger)}.sidebar-account-link:focus-visible,.sidebar-signout:focus-visible{outline:var(--focus-outline);outline-offset:-2px}.sidebar-rail-toggle{display:none}@media (pointer:coarse){.nav-link,.sidebar-footer-link{min-height:var(--touch)}}.shell-tooltip{z-index:var(--z-dropdown);border-radius:var(--radius-sm);background:var(--text);max-width:240px;color:var(--surface);font:var(--type-caption);box-shadow:var(--shadow-sm);pointer-events:none;padding:6px 10px;position:fixed;transform:translateY(-50%)}.workspace{flex-direction:column;flex:auto;min-width:0;min-height:100dvh;display:flex}.topbar{z-index:var(--z-header);align-items:center;gap:var(--space-4);height:var(--topbar-h);padding:0 var(--gutter);border-bottom:1px solid var(--border);background:var(--surface);display:flex;position:sticky;top:0}.topbar-start{display:none}.topbar .top-search{align-items:center;gap:var(--space-2);min-width:0;max-width:480px;height:var(--control-md);padding:0 6px 0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--subtle);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);flex:auto;margin:0;display:flex;position:relative}.topbar .top-search:hover{border-color:var(--border-strong)}.topbar .top-search:focus-within{border-color:var(--primary);background:var(--surface);box-shadow:var(--focus-ring)}.topbar .top-search input{width:auto;min-width:0;height:100%;min-height:0;color:var(--text);font:var(--type-body);box-shadow:none;background:0 0;border:0;border-radius:0;outline:none;flex:1;padding:0}.topbar .top-search input::placeholder{color:var(--subtle)}.top-search-kbd{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);color:var(--subtle);font:var(--type-caption);font-family:var(--font-sans);flex:none;padding:2px 6px}.top-search:focus-within .top-search-kbd,.top-search input:not(:placeholder-shown)~.top-search-kbd{display:none}.topbar-actions{align-items:center;gap:var(--space-1);flex:none;margin-left:auto;display:flex}.topbar-theme{display:contents}.topbar .icon-button{width:var(--control-md);min-width:var(--control-md);height:var(--control-md);min-height:var(--control-md);border-radius:var(--radius-md);color:var(--muted);padding:0;position:relative}.topbar .icon-button:hover{background:var(--raised);color:var(--text)}.topbar .icon-button:focus-visible,.topbar .header-support-trigger:focus-visible,.topbar .user-profile-pill:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.topbar .bell-link[aria-current=page]{background:var(--tint);color:var(--primary)}.notification-dot{border-radius:var(--radius-full);background:var(--primary);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);position:absolute;top:8px;right:8px}.topbar .header-support-trigger{width:var(--control-md);min-width:var(--control-md);height:var(--control-md);min-height:var(--control-md);border-radius:var(--radius-md);color:var(--muted);background:0 0;border:0;padding:0}.topbar .header-support-trigger svg{color:currentColor}.topbar .header-support-trigger:hover{background:var(--raised);color:var(--text)}.topbar .header-support-trigger[aria-current=page]{background:var(--tint);color:var(--primary)}.topbar .header-support-label{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar .header-support-count{min-width:18px;height:18px;font-size:var(--text-xs);box-shadow:0 0 0 2px var(--surface);padding:0 4px;line-height:18px;position:absolute;top:0;right:-2px}.topbar-divider{width:1px;height:24px;margin:0 var(--space-2);background:var(--border)}@media (hover:hover) and (min-width:768px){.topbar-actions>.icon-button[aria-label]:after,.topbar-theme>.icon-button[aria-label]:after{content:attr(aria-label);z-index:var(--z-dropdown);border-radius:var(--radius-sm);background:var(--text);color:var(--surface);font:var(--type-caption);white-space:nowrap;box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);padding:6px 10px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-2px)}.topbar-actions>.icon-button[aria-label]:hover:after,.topbar-theme>.icon-button[aria-label]:hover:after{opacity:1;transition-delay:.4s;transform:translate(-50%)}.topbar-actions>.icon-button[aria-label]:focus-visible:after,.topbar-theme>.icon-button[aria-label]:focus-visible:after{opacity:1;transform:translate(-50%)}}.shell-breadcrumb{width:100%;max-width:calc(var(--content-max) + 2 * var(--gutter));padding:var(--space-4) var(--gutter) 0;color:var(--muted);font:var(--type-secondary);margin:0 auto}.shell-breadcrumb ol{flex-wrap:wrap;gap:4px 0;margin:0;padding:0;list-style:none;display:flex}.shell-breadcrumb li{align-items:center;min-width:0;display:inline-flex}.shell-breadcrumb li+li:before{content:"/";margin:0 var(--space-2);color:var(--border-strong)}.shell-breadcrumb a{border-radius:var(--radius-xs);min-height:32px;color:var(--muted);align-items:center;display:inline-flex}.shell-breadcrumb a:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.shell-breadcrumb [aria-current=page]{max-width:50ch;color:var(--text);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-breadcrumb+main{padding-top:var(--space-4)}.workspace-main{width:100%;max-width:calc(var(--content-max) + 2 * var(--gutter));padding:var(--space-8) var(--gutter) var(--space-16);outline:none;flex:1 0 auto;margin:0 auto;overflow-x:clip}.workspace-main:has(.page-wide){max-width:calc(var(--content-max-wide) + 2 * var(--gutter))}.workspace:has(.page-wide)>.shell-breadcrumb{max-width:calc(var(--content-max-wide) + 2 * var(--gutter))}.workspace:has(.page-wide)>.app-footer{max-width:calc(var(--content-max-wide) + 2 * var(--gutter))}.workspace-main:has(.page-full){max-width:none}.workspace:has(.page-full)>.shell-breadcrumb{max-width:none}.workspace:has(.page-full)>.app-footer{max-width:none}:is(.workspace-main:has(.reader-container),.workspace-main:has(.reader)){max-width:none;padding:var(--space-3) var(--gutter) var(--space-8)}.app-shell--live-room .workspace-main{max-width:none}.workspace>.legal-footer.app-footer{width:100%;max-width:calc(var(--content-max) + 2 * var(--gutter));padding:var(--space-4) var(--gutter);border-top:1px solid var(--border);color:var(--subtle);font:var(--type-secondary);gap:0 var(--space-6);margin:0 auto}.workspace>.legal-footer.app-footer nav{justify-content:flex-start;gap:0 var(--space-5)}.workspace>.legal-footer.app-footer a{min-height:32px;color:var(--muted)}.workspace>.legal-footer.app-footer a:hover{color:var(--text)}.shell-banners:empty{display:none}.offline-banner{top:calc(var(--topbar-h) + var(--space-2));left:calc(50% + var(--shell-sidebar) / 2);z-index:var(--z-toast);align-items:center;gap:var(--space-2);max-width:calc(100vw - 2 * var(--space-4));padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--text);color:var(--surface);font:var(--type-label);box-shadow:var(--shadow-md);display:flex;position:fixed;transform:translate(-50%)}.offline-banner--online{border:1px solid var(--success-border);background:linear-gradient(var(--success-bg), var(--success-bg)), var(--surface);color:var(--success)}.offline-banner svg{flex:none}.reconsent-banner{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) max(var(--gutter), calc((100% - var(--content-max)) / 2));border-bottom:1px solid var(--warning-border);background:var(--warning-bg);color:var(--text);font:var(--type-body);flex-wrap:wrap;display:flex}.reconsent-banner-icon{color:var(--warning);flex:none}.reconsent-banner p{min-width:0;line-height:inherit;flex:280px;margin:0}.reconsent-banner-action{min-height:var(--control-sm);color:var(--text);font-weight:var(--weight-semibold);text-underline-offset:3px;white-space:nowrap;align-items:center;gap:6px;text-decoration:underline;display:inline-flex}.reconsent-banner-action:hover{color:var(--primary)}.bottom-nav{display:none}.more-sheet{overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--surface);width:100%;max-width:560px;max-height:min(88dvh,760px);color:var(--text);box-shadow:var(--shadow-lg);border-bottom:0;margin:auto auto 0;padding:0;overflow-y:auto}.more-sheet::backdrop{background:var(--overlay)}.more-sheet-body{padding:0 var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom))}.more-sheet-handle{width:36px;height:4px;margin:var(--space-2) auto 0;border-radius:var(--radius-full);background:var(--border-strong);display:block}.more-sheet-header{z-index:1;margin:0 calc(-1 * var(--space-4));padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);background:var(--surface);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.more-sheet-header h2{font:var(--type-section-title);margin:0}.more-sheet-header .icon-button{width:var(--touch);min-width:var(--touch);height:var(--touch);min-height:var(--touch);border-radius:var(--radius-full)}.more-sheet-account{align-items:center;gap:var(--space-3);margin:var(--space-1) 0 var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--raised);display:flex}.more-sheet-account .avatar{width:40px;min-width:40px;height:40px;font:var(--type-card-title)}.more-sheet-account-text{flex-direction:column;min-width:0;display:flex}.more-sheet-account-text strong{font:var(--type-card-title);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.more-sheet-account-text small{color:var(--muted);font:var(--type-secondary)}.more-sheet-nav{margin:var(--space-1) 0 0}.more-sheet-note{align-items:flex-start;gap:var(--space-2);margin:var(--space-2) 0;padding:10px var(--space-3);border-radius:var(--radius-md);background:var(--raised);color:var(--text);font:var(--type-secondary);display:flex}.more-sheet-note>svg{color:var(--muted);flex:none;margin-top:2px}.more-sheet-group+.more-sheet-group{margin-top:var(--space-2)}.more-sheet-group-heading{margin:var(--space-3) var(--space-3) var(--space-1);color:var(--muted);font:var(--type-caption);letter-spacing:var(--tracking-overline);text-transform:uppercase}.more-sheet .more-sheet-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.more-sheet .more-sheet-link,.more-sheet .more-sheet-row{align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text);font:var(--weight-medium) var(--text-lg) / 1.5 var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.more-sheet a.more-sheet-link:hover,.more-sheet .more-sheet-row:hover{background:var(--raised)}.more-sheet a.more-sheet-link.active{background:var(--tint);color:var(--primary);font-weight:var(--weight-semibold)}.more-sheet a.more-sheet-link:focus-visible,.more-sheet .more-sheet-row:focus-visible{outline:var(--focus-outline);outline-offset:-2px}.more-sheet-icon{flex:none}.more-sheet-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.more-sheet .more-sheet-link.is-locked{color:var(--subtle);cursor:not-allowed}.more-sheet-lock{align-items:center;gap:var(--space-1);color:var(--subtle);font:var(--type-caption);flex:none;display:inline-flex}.more-sheet-footer{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);gap:2px;display:grid}.more-sheet-switch{border-radius:var(--radius-full);background:var(--subtle);width:40px;height:24px;transition:background-color var(--duration-fast) var(--ease-out);flex:none;position:relative}.more-sheet-switch:after{content:"";border-radius:var(--radius-full);background:var(--surface);width:20px;height:20px;box-shadow:var(--shadow-xs);transition:transform var(--duration-fast) var(--ease-out);position:absolute;top:2px;left:2px}.more-sheet-row[aria-checked=true] .more-sheet-switch{background:var(--primary)}.more-sheet-row[aria-checked=true] .more-sheet-switch:after{transform:translate(16px)}.more-sheet-signout{width:100%;min-height:48px;margin-top:var(--space-2)}@media (prefers-reduced-motion:no-preference){.more-sheet[open]{animation:more-sheet-in var(--duration-slow) var(--ease-out)}.more-sheet[open]::backdrop{animation:more-sheet-fade var(--duration-slow) var(--ease-out)}@keyframes more-sheet-in{0%{opacity:0;transform:translateY(32px)}}@keyframes more-sheet-fade{0%{opacity:0}}}@media (min-width:768px) and (max-width:1023px){.app-shell{--shell-sidebar:var(--sidebar-w-collapsed)}.app-shell.app-shell--rail-expanded{--shell-sidebar:var(--sidebar-w)}.sidebar-rail-toggle{display:flex}.app-shell:not(.app-shell--rail-expanded) .sidebar-head{justify-content:center;padding:0}.app-shell:not(.app-shell--rail-expanded) .shell-brand .brand-logo-img{object-fit:cover;object-position:left center;width:32px;max-width:none;height:40px}:root[data-theme=dark] .app-shell:not(.app-shell--rail-expanded) .sidebar .shell-brand{padding:2px}.app-shell:not(.app-shell--rail-expanded) .sidebar-nav{gap:var(--space-2);padding:var(--space-3) var(--space-2);scrollbar-width:none}.app-shell:not(.app-shell--rail-expanded) .nav-group+.nav-group{padding-top:var(--space-2);border-top:1px solid var(--border)}.app-shell:not(.app-shell--rail-expanded) .nav-group-header,.app-shell:not(.app-shell--rail-expanded) .sidebar .nav-link-label{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell:not(.app-shell--rail-expanded) .nav-link,.app-shell:not(.app-shell--rail-expanded) .sidebar-footer-link{width:100%;min-height:var(--touch);justify-content:center;padding:0}.app-shell:not(.app-shell--rail-expanded) .sidebar-footer{padding:var(--space-2)}.app-shell:not(.app-shell--rail-expanded) .sidebar-account{flex-direction:column;gap:2px}.app-shell:not(.app-shell--rail-expanded) .sidebar-account-link{width:100%;min-height:var(--touch);justify-content:center;padding:0}.app-shell:not(.app-shell--rail-expanded) .sidebar-signout{width:100%;height:var(--touch)}.app-shell:not(.app-shell--rail-expanded) .nav-lock{width:12px;height:12px;position:absolute;top:6px;right:10px}.topbar{gap:var(--space-3)}.topbar .user-profile-info,.topbar .profile-chevron{display:none}}@media (max-width:767px){body{padding-top:env(safe-area-inset-top)}body:has(.app-shell){padding-top:0}.app-shell{--shell-sidebar:0px}.app-shell .sidebar{display:none}.workspace{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.topbar{gap:var(--space-2);height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(var(--space-2), env(safe-area-inset-right)) 0 max(var(--gutter), env(safe-area-inset-left))}.topbar-start{align-items:center;gap:var(--space-1);flex:auto;min-width:0;display:flex}.topbar-start .shell-brand{min-height:var(--touch)}.topbar-start .shell-brand .brand-logo-img{max-width:150px;height:32px}.topbar .topbar-back{margin-left:calc(-1 * var(--space-3))}.topbar-title{min-width:0;color:var(--text);font:var(--weight-semibold) var(--text-xl) / 1.3 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);overflow:hidden}.topbar-title--tucked{opacity:0;transform:translateY(4px)}.topbar-swap{align-items:center;min-width:0;display:grid}.topbar-swap>*{grid-area:1/1;min-width:0}.topbar-swap-brand{transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);display:flex}.topbar-swap-brand--out{opacity:0;pointer-events:none;transform:translateY(-4px)}.topbar .top-search,.topbar .header-support-trigger,.topbar-theme,.topbar-divider{display:none}.topbar-actions{gap:0}.topbar .icon-button,.topbar .user-profile-pill{width:var(--touch);min-width:var(--touch);height:var(--touch);min-height:var(--touch)}.topbar .user-profile-info,.topbar .profile-chevron{display:none}.topbar .user-profile-pill{justify-content:center;padding:0}.shell-breadcrumb{display:none}.workspace-main{padding:var(--space-4) var(--gutter) var(--space-8)}.offline-banner{top:auto;right:var(--space-4);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-2));left:var(--space-4);border-radius:var(--radius-lg);max-width:none;transform:none}.reconsent-banner-action{min-height:var(--touch)}.workspace>.legal-footer.app-footer{padding-bottom:var(--space-6);flex-direction:column;align-items:flex-start}.workspace>.legal-footer.app-footer a{min-height:var(--touch)}.bottom-nav{z-index:var(--z-nav);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 max(var(--space-1), env(safe-area-inset-right)) env(safe-area-inset-bottom) max(var(--space-1), env(safe-area-inset-left));border-top:1px solid var(--border);background:var(--surface);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{border-radius:var(--radius-md);min-width:0;color:var(--muted);font:var(--type-caption);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;margin:0;padding:6px 2px;text-decoration:none;display:flex;position:relative}.bottom-nav-icon{border-radius:var(--radius-full);width:56px;max-width:100%;height:30px;transition:background-color var(--duration-fast) var(--ease-out);place-items:center;display:grid;position:relative}.bottom-nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav-item.active,.bottom-nav-item[aria-expanded=true]{color:var(--primary);font-weight:var(--weight-semibold)}.bottom-nav-item.active .bottom-nav-icon,.bottom-nav-item[aria-expanded=true] .bottom-nav-icon{background:var(--tint)}.bottom-nav-item:focus-visible{outline:var(--focus-outline);outline-offset:-2px}.bottom-nav-item.is-locked{color:var(--subtle);cursor:not-allowed}.bottom-nav-lock{border-radius:var(--radius-full);background:var(--surface);padding:1px;position:absolute;top:0;right:10px}.more-sheet{border-left:0;border-right:0;max-width:none}}@media (prefers-reduced-motion:reduce){.nav-link,.sidebar-footer-link,.topbar .top-search,.bottom-nav-icon,.more-sheet-switch,.topbar-title,.topbar-swap-brand,.more-sheet-switch:after{transition:none}}.mk{--mk-gutter:var(--gutter);background:var(--surface);min-height:100dvh;color:var(--text);flex-direction:column;display:flex}.mk main{flex:1}.mk :is(.mk-header-inner,.mk-hero,.mk-features,.mk-audience,.mk-closing,.mk-footer){width:100%;max-width:calc(var(--content-max) + 2 * var(--mk-gutter));padding-inline:var(--mk-gutter);margin-inline:auto}.mk-overline{margin:0 0 var(--space-3);font:var(--type-caption);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--primary)}.mk-header{z-index:var(--z-header);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.mk-header-inner{align-items:center;gap:var(--space-6);height:68px;display:flex}.mk-header .brand-logo-img{max-width:180px;height:36px}.mk-nav{align-items:center;gap:var(--space-1);display:flex}.mk-nav a{min-height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-md);font:var(--type-button);color:var(--muted);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);align-items:center;display:inline-flex}.mk-nav a:hover{background:var(--surface-hover);color:var(--text)}.mk-nav a[aria-current=page]{color:var(--text)}.mk-header-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.mk-header-actions .button{min-height:var(--control-md);padding:0 var(--space-4);font:var(--type-button)}.mk-hero{align-items:center;gap:var(--space-12);padding-block:var(--space-16) var(--space-12);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);display:grid}.mk-hero h1{margin:0 0 var(--space-5);max-width:14ch;font:var(--type-display);font-size:var(--text-5xl);letter-spacing:-.02em;text-wrap:balance;line-height:52px}.mk-lede{margin:0 0 var(--space-8);max-width:36rem;font:var(--type-body-lg);color:var(--muted);font-size:1.125rem;line-height:1.6}.mk-ctas{gap:var(--space-3);flex-wrap:wrap;display:flex}.mk-ctas .button{min-height:var(--control-lg);padding:0 var(--space-6);gap:var(--space-2);font:var(--type-button);font-size:var(--text-lg)}.mk-trust{align-items:center;gap:var(--space-2);margin:var(--space-6) 0 0;font:var(--type-secondary);color:var(--muted);display:flex}.mk-trust svg{color:var(--primary)}.mk-hero-media{border-radius:var(--radius-2xl);background:var(--raised);aspect-ratio:5/4;margin:0;overflow:hidden}.mk-hero-media img{object-fit:cover;object-position:66% center;width:100%;height:100%;display:block}:root[data-theme=dark] .mk-hero-media img{filter:brightness(.9)}.mk-features ul{padding:var(--space-8) 0;gap:var(--space-8);border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;list-style:none;display:grid}.mk-features li,.mk-audience-list li{align-items:flex-start;gap:var(--space-4);min-width:0;display:flex}.mk-feature-icon{border-radius:var(--radius-md);background:var(--tint);width:40px;height:40px;color:var(--primary);flex:none;justify-content:center;align-items:center;display:inline-flex}.mk-features h2{margin:0 0 var(--space-1);font:var(--type-card-title)}.mk-features p{font:var(--type-secondary);color:var(--muted);margin:0}.mk-audience{gap:var(--space-12);padding-block:var(--space-16);grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.mk-audience-intro h2{margin:0 0 var(--space-3);font:var(--type-page-title);letter-spacing:-.015em;text-wrap:balance;font-size:2rem;line-height:40px}.mk-audience-intro>p:last-child{max-width:28rem;font:var(--type-body-lg);color:var(--muted);margin:0}.mk-audience-list{border:1px solid var(--border);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none}.mk-audience-list li{padding:var(--space-6)}.mk-audience-list li+li{border-top:1px solid var(--border)}.mk-audience-list h3{margin:0 0 var(--space-1);font:var(--type-card-title)}.mk-audience-list p{margin:0 0 var(--space-2);font:var(--type-body);color:var(--muted)}.mk-arrow-link{align-items:center;gap:var(--space-1);min-height:var(--touch);font:var(--type-button);color:var(--primary);display:inline-flex}.mk-arrow-link svg{transition:transform var(--duration-fast) var(--ease-out)}.mk-arrow-link:hover{text-underline-offset:3px;text-decoration:underline}.mk-arrow-link:hover svg{transform:translate(2px)}.mk-closing{padding-bottom:var(--space-16)}.mk-closing-card{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-10);background:var(--raised);border-radius:var(--radius-xl);display:flex}.mk-closing h2{margin:0 0 var(--space-2);font:var(--type-page-title);letter-spacing:-.01em}.mk-closing p{font:var(--type-body-lg);color:var(--muted);margin:0}.mk-closing .button{min-height:var(--control-lg);padding:0 var(--space-6);gap:var(--space-2);font:var(--type-button);font-size:var(--text-lg);flex:none}.mk-footer{background:linear-gradient(var(--border), var(--border)) var(--mk-gutter) 0 / calc(100% - 2 * var(--mk-gutter)) 1px no-repeat;padding-block:var(--space-12) var(--space-8)}.mk-footer-inner{gap:var(--space-12);grid-template-columns:minmax(0,1fr) auto;display:grid}.mk-footer .brand-logo-img{height:32px}.mk-footer-brand p{margin:var(--space-3) 0 0;font:var(--type-secondary);color:var(--muted)}.mk-footer-nav{gap:var(--space-10);grid-template-columns:repeat(3,minmax(140px,auto));display:grid}.mk-footer-nav>div{flex-direction:column;align-items:flex-start;display:flex}.mk-footer-nav h2{margin:0 0 var(--space-2);font:var(--type-caption);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--subtle)}.mk-footer-nav a{min-height:36px;font:var(--type-body);color:var(--muted);align-items:center;display:inline-flex}.mk-footer-nav a:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.mk-footer-copy{margin:var(--space-10) 0 0;padding-top:var(--space-6);border-top:1px solid var(--border);font:var(--type-secondary);color:var(--subtle)}.mk :is(a,button):focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}@media (max-width:1100px){.mk-features ul{gap:var(--space-6) var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1023px){.mk{--mk-gutter:var(--space-6)}.mk-hero{gap:var(--space-8);padding-block:var(--space-12) var(--space-10)}.mk-hero h1{font-size:2.5rem;line-height:48px}.mk-audience{gap:var(--space-8);padding-block:var(--space-12);grid-template-columns:1fr}.mk-footer-inner{gap:var(--space-8);grid-template-columns:1fr}}@media (max-width:899px){.mk-nav{display:none}.mk-hero{grid-template-columns:1fr}.mk-hero h1{max-width:18ch}.mk-hero-media{aspect-ratio:16/10}.mk-closing-card{flex-direction:column;align-items:flex-start}}@media (max-width:599px){.mk{--mk-gutter:var(--space-4)}.mk-header-inner{gap:var(--space-2);height:56px}.mk-header .brand-logo-img{max-width:132px;height:30px}.mk-header-cta:not(:only-child):last-child{display:none}.mk-header-actions .button{min-height:var(--touch);padding:0 var(--space-3)}.mk-hero{gap:var(--space-8);padding-block:var(--space-8)}.mk-hero h1{font-size:var(--text-4xl);margin-bottom:var(--space-4);line-height:40px}.mk-lede{font-size:var(--text-lg);margin-bottom:var(--space-6)}.mk-ctas{flex-direction:column}.mk-ctas .button{width:100%}.mk-trust{align-items:flex-start}.mk-trust svg{margin-top:2px}.mk-hero-media{aspect-ratio:4/3;border-radius:var(--radius-xl)}.mk-features ul{gap:var(--space-5);padding-block:var(--space-6);grid-template-columns:1fr}.mk-audience{padding-block:var(--space-10)}.mk-audience-intro h2{font-size:var(--text-3xl);line-height:32px}.mk-audience-list li{padding:var(--space-5) var(--space-4)}.mk-closing{padding-bottom:var(--space-10)}.mk-closing-card{padding:var(--space-8) var(--space-5)}.mk-closing h2{font-size:var(--text-2xl);line-height:28px}.mk-closing .button{width:100%}.mk-footer{padding-block:var(--space-10) var(--space-8)}.mk-footer-nav{gap:var(--space-6) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.mk-footer-nav a{min-height:var(--touch)}}@media (prefers-reduced-motion:reduce){.mk-arrow-link svg{transition:none}}.mk-footer-brand .brand{display:inline-flex}.sd-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4) var(--space-6);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.sd-header-copy{min-width:0}.sd-header-date{margin:0 0 var(--space-1);font:var(--type-label);color:var(--muted)}.sd-header h1{font:var(--type-page-title);letter-spacing:-.01em;color:var(--text);margin:0}.sd-header-lede{margin:var(--space-1) 0 0;font:var(--type-body);color:var(--muted);max-width:60ch}.sd-header-action{gap:var(--space-3);flex-wrap:wrap;display:flex}.sd-header-action .button{min-height:var(--control-md);padding:0 var(--space-4);align-items:center;gap:var(--space-2);font:var(--type-button);display:inline-flex}.sd-kpis{gap:var(--space-4);margin:0 0 var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.sd-kpis .stat-card{padding:var(--space-5);align-items:flex-start;min-width:0}.sd-kpis .stat-card-value{font-size:var(--text-3xl);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.sd-kpis .stat-card-label{font:var(--type-label);color:var(--muted)}.sd-kpis .stat-card-hint{font:var(--type-caption);font-weight:var(--weight-regular)}.sd-kpi-skeleton{gap:var(--space-2);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.sd-kpi-skeleton>span,.sd-rows-skeleton-row span span,.sd-rows-skeleton-row>span{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--raised) 25%, var(--border) 37%, var(--raised) 63%);background-size:400% 100%;animation:1.4s infinite skeleton-sweep;display:block}.sd-kpi-skeleton>span:first-child{border-radius:var(--radius-md);width:40px;height:40px}.sd-kpi-skeleton>span:nth-child(2){width:50%;height:28px}.sd-kpi-skeleton>span:nth-child(3){width:70%;height:14px}@media (max-width:1279px){.sd-kpis{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.sd-kpis .stat-card{gap:var(--space-2);padding:var(--space-4);flex-direction:column}.sd-kpis .stat-card-icon{width:32px;height:32px}.sd-kpis .stat-card-value{font-size:var(--text-2xl)}}.sd-grid{gap:var(--space-6);margin-bottom:var(--space-6);grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:start;display:grid}.sd-col{gap:var(--space-6);min-width:0;display:grid}@media (max-width:1279px){.sd-grid{grid-template-columns:minmax(0,1fr)}.sd-col-side{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start}}@media (max-width:767px){.sd-grid,.sd-col{gap:var(--space-4)}}.sd-panel{min-width:0;padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.sd-panel-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.sd-panel-title{align-items:center;gap:var(--space-2);min-width:0;display:flex}.sd-panel-head h2{font:var(--type-card-title);color:var(--text);margin:0}.sd-panel-link{font:var(--type-label)}.sd-panel h3{margin:var(--space-4) 0 var(--space-2);font:var(--type-caption);text-transform:uppercase;letter-spacing:var(--tracking-overline);color:var(--muted)}.sd-panel h3:first-of-type{margin-top:0}.sd-panel .empty{min-height:0;padding:var(--space-6) var(--space-2)}@media (max-width:767px){.sd-panel{padding:var(--space-4)}}.sd-section{margin-bottom:var(--space-6)}.sd-section-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.sd-section-head h2{font:var(--type-section-title);margin:0}.sd-section .stat-cards{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}.sd-section .stat-card{align-items:flex-start;min-width:0}.sd-section .stat-card-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}@media (max-width:1279px){.sd-section .stat-cards{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.sd-section .stat-cards>.stat-card:last-child:nth-child(odd){grid-column:1/-1}}@media (max-width:767px){.sd-section-head h2{font:var(--type-card-title)}.sd-section .stat-card{gap:var(--space-2);padding:var(--space-3);flex-direction:column}.sd-section .stat-card-icon{width:32px;height:32px}.sd-section .stat-card-value{font-size:var(--text-xl)}}.sd-list{margin:0;padding:0;list-style:none}.sd-list>li+li{border-top:1px solid var(--border)}.sd-agenda-row{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-2);margin:0 calc(var(--space-2) * -1);border-radius:var(--radius-md);color:var(--text);grid-template-columns:76px minmax(0,1fr) auto;text-decoration:none;display:grid}.sd-agenda-row:hover{background:var(--surface-hover)}.sd-agenda-row:focus-visible{outline:var(--focus-outline);outline-offset:0}.sd-agenda-time{font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.sd-agenda-time strong{font:var(--type-label);font-weight:var(--weight-semibold)}.sd-agenda-time small,.sd-agenda-body small{font:var(--type-secondary);color:var(--muted)}.sd-agenda-body{flex-direction:column;min-width:0;display:flex}.sd-agenda-body strong{font:var(--type-body);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sd-agenda-chevron,.sd-quick-chevron{color:var(--subtle)}.sd-queue-row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;grid-template-columns:40px minmax(0,1fr) auto;display:grid}.sd-queue-icon{border-radius:var(--radius-md);place-items:center;width:40px;height:40px;display:grid}.sd-queue-icon[data-tone=danger]{background:var(--danger-bg);color:var(--danger)}.sd-queue-icon[data-tone=warning]{background:var(--warning-bg);color:var(--warning)}.sd-queue-body{flex-direction:column;min-width:0;display:flex}.sd-queue-body strong{font:var(--type-body);font-weight:var(--weight-semibold)}.sd-queue-count{font-variant-numeric:tabular-nums}.sd-queue-body small{font:var(--type-secondary);color:var(--muted)}.sd-queue-row .text-button{font:var(--type-label);white-space:nowrap}@media (max-width:767px){.sd-queue-row{grid-template-columns:40px minmax(0,1fr)}.sd-queue-row .text-button{min-height:var(--touch);grid-column:2;justify-self:start}}.sd-all-clear{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--success-bg);color:var(--success);display:flex}.sd-all-clear>svg{flex:none;margin-top:2px}.sd-all-clear strong{color:var(--text)}.sd-all-clear p{margin:var(--space-1) 0 0;font:var(--type-secondary);color:var(--muted)}.sd-quick-list{margin:0 calc(var(--space-2) * -1);gap:var(--space-1);padding:0;list-style:none;display:grid}.sd-quick-item{align-items:center;gap:var(--space-3);min-height:var(--touch);padding:var(--space-2);border-radius:var(--radius-md);color:var(--text);transition:background var(--duration-fast) var(--ease-out);grid-template-columns:36px minmax(0,1fr) auto;text-decoration:none;display:grid}.sd-quick-item:hover{background:var(--surface-hover)}.sd-quick-item:focus-visible{outline:var(--focus-outline);outline-offset:0}.sd-quick-icon{border-radius:var(--radius-md);background:var(--tint);width:36px;height:36px;color:var(--primary);place-items:center;display:grid}.sd-quick-text{flex-direction:column;min-width:0;display:flex}.sd-quick-text strong{font:var(--type-body);font-weight:var(--weight-medium)}.sd-quick-text small{font:var(--type-secondary);color:var(--muted)}.sd-activity-row{align-items:start;gap:var(--space-3);padding:var(--space-3) 0;grid-template-columns:32px minmax(0,1fr) auto;display:grid}.sd-activity-icon{border-radius:var(--radius-md);background:var(--raised);width:32px;height:32px;color:var(--muted);place-items:center;display:grid}.sd-activity-body{flex-direction:column;gap:2px;min-width:0;display:flex}.sd-activity-body strong{font:var(--type-body);font-weight:var(--weight-medium);overflow-wrap:anywhere}.sd-activity-body small,.sd-activity-time{font:var(--type-secondary);color:var(--muted)}.sd-activity-time{white-space:nowrap;font-variant-numeric:tabular-nums}@media (max-width:479px){.sd-activity-row{grid-template-columns:32px minmax(0,1fr)}.sd-activity-time{grid-column:2}}.sd-rows-skeleton{display:grid}.sd-rows-skeleton-row{gap:var(--space-3);padding:var(--space-3) 0;grid-template-columns:40px minmax(0,1fr);align-items:center;display:grid}.sd-rows-skeleton-row+.sd-rows-skeleton-row{border-top:1px solid var(--border)}.sd-rows-skeleton-row>span{border-radius:var(--radius-md);width:40px;height:40px}.sd-rows-skeleton-row>span:last-child{gap:var(--space-2);background:0 0;width:auto;height:auto;animation:none;display:grid}.sd-rows-skeleton-row span span:first-child{width:60%;height:14px}.sd-rows-skeleton-row span span:last-child{width:40%;height:12px}@media (prefers-reduced-motion:reduce){.sd-kpi-skeleton>span,.sd-rows-skeleton-row span span,.sd-rows-skeleton-row>span{animation:none}}@media (max-width:767px){.sd-header-action .button{min-height:var(--touch)}.sd-queue-row .text-button{min-width:var(--touch);min-height:var(--touch);justify-content:center}}.sd-kpis .stat-card,.sd-section .stat-card{position:relative}.admin-dash-link:after,.educator-dash-link:after{content:"";border-radius:inherit;position:absolute;inset:0}:is(.sd-kpis .stat-card:has(a:hover),.sd-section .stat-card:has(a:hover)){border-color:var(--border-strong)}:is(.sd-kpis .stat-card:has(a:focus-visible),.sd-section .stat-card:has(a:focus-visible)){outline:var(--focus-outline);outline-offset:var(--focus-offset)}.admin-dash .stat-card-icon{background:var(--raised);color:var(--muted)}.admin-dash-error,.admin-dash-hidden{margin-bottom:var(--space-6)}.admin-dash-hidden h2{margin:0 0 var(--space-1);font:var(--type-card-title)}.admin-dash-hidden p{margin:0}.admin-dash-panel-lede{margin:calc(var(--space-2) * -1) 0 var(--space-3);font:var(--type-secondary);color:var(--muted)}.admin-dash-link{color:inherit;text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.admin-dash-link:hover{color:var(--primary)}.admin-dash-trend{align-items:center;gap:var(--space-1);display:inline-flex}.admin-dash-trend>svg{flex:none}.admin-dash-trend--up{color:var(--success)}.admin-dash-trend--down{color:var(--danger)}.admin-dash-hint-line{display:block}.admin-dash-money{gap:var(--space-4);display:grid}@media (min-width:1280px){.admin-dash-money{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}.admin-dash-money .stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-dash-money .stat-cards>.stat-card:first-child{grid-column:1/-1}.sd-section .admin-dash-money .stat-cards>.stat-card:last-child:nth-child(odd){grid-column:auto}.admin-dash-transactions .sd-panel-head h3{font:var(--type-card-title);text-transform:none;letter-spacing:0;color:var(--text);margin:0}.admin-dash-transactions .sd-list{margin-bottom:var(--space-3)}.admin-dash-transactions li{gap:var(--space-3);padding:var(--space-3) 0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.admin-dash-transactions li>div{flex-direction:column;min-width:0;display:flex}.admin-dash-transactions li strong{font:var(--type-body);font-weight:var(--weight-medium)}.admin-dash-transactions li small{font:var(--type-secondary);color:var(--muted)}.admin-dash-transactions li strong,.admin-dash-transactions li small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-dash-amount{font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold)}@media (max-width:767px){.admin-dash-transactions li{row-gap:var(--space-1);grid-template-columns:minmax(0,1fr) auto}.admin-dash-transactions li .badge{grid-column:2;justify-self:end}}.admin-bars{align-items:stretch;gap:var(--space-2);height:clamp(160px,24vw,220px);padding:var(--space-2) 0;display:flex;overflow-x:auto}.admin-bars-column{justify-content:flex-end;align-items:center;gap:var(--space-2);font:var(--type-caption);font-variant-numeric:tabular-nums;flex-direction:column;flex:1 0 32px;min-height:0;display:flex}.admin-bars-column strong{font-weight:var(--weight-semibold)}.admin-bars-track{flex:1 1 0;align-items:flex-end;width:60%;max-width:32px;min-height:0;display:flex}.admin-bars-bar{background:var(--primary);border-radius:var(--radius-xs) var(--radius-xs) 0 0;width:100%;display:block}.admin-bars-bar[data-empty]{background:var(--border)}.admin-bars-column small{font:var(--type-caption);font-weight:var(--weight-regular);color:var(--muted);white-space:nowrap}@media (max-width:767px){.admin-bars{gap:var(--space-1);overflow:visible}.admin-bars-column{flex:1 1 0;min-width:0}.admin-bars-track{width:70%}.admin-bars-column:nth-child(2n) small{visibility:hidden}}.admin-bars-table{margin-top:var(--space-3)}.admin-bars-table summary{cursor:pointer;color:var(--primary);font:var(--type-label);min-height:var(--control-sm);align-items:center;display:flex}.admin-bars-table table{width:100%;margin-top:var(--space-2);border-collapse:collapse;font:var(--type-body)}.admin-bars-table th,.admin-bars-table td{padding:var(--space-2);border-bottom:1px solid var(--border);text-align:left}.admin-bars-table thead th{font:var(--type-label);color:var(--muted)}.admin-bars-table td{text-align:right;font-variant-numeric:tabular-nums}.activity-live-state{align-items:center;gap:var(--space-1);font:var(--type-caption);color:var(--success);display:inline-flex}.activity-live-state[data-paused]{color:var(--muted)}.activity-live-dot{border-radius:var(--radius-full);background:currentColor;width:8px;height:8px}.activity-live-filter{width:100%;margin-bottom:var(--space-2)}.activity-live-stream{border-radius:var(--radius-md);max-height:440px;overflow-y:auto}.activity-live-stream:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.activity-live-verb{font-weight:var(--weight-regular);color:var(--muted)}.course-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,248px),1fr));align-items:stretch;display:grid}.course-tile{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;transition:border-color var(--duration-fast) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.course-tile:hover{border-color:var(--border-strong)}.course-tile.is-selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.course-tile-cover{aspect-ratio:16/9;border-bottom:1px solid var(--border);background-color:var(--raised);background-image:repeating-conic-gradient(color-mix(in srgb, var(--border) 40%, transparent) 0 25%, transparent 0 50%);background-position:50%;background-size:40px 40px;place-items:center;display:grid}.course-tile-cover .emblem-mark{box-shadow:0 0 0 6px var(--surface)}.course-tile-badges{top:var(--space-3);right:var(--space-3);justify-content:flex-end;gap:var(--space-1);max-width:calc(100% - var(--space-6));flex-wrap:wrap;display:flex;position:absolute}.course-tile-body{gap:var(--space-2);min-width:0;padding:var(--space-5);flex-direction:column;flex:1;display:flex}.course-tile-overline{color:var(--muted);font:var(--type-caption);letter-spacing:var(--tracking-overline);text-transform:uppercase;margin:0}.course-tile-title{color:var(--text);font:var(--type-card-title);overflow-wrap:anywhere;margin:0}.course-tile-meta{gap:0 var(--space-2);color:var(--muted);font:var(--type-secondary);overflow-wrap:anywhere;flex-wrap:wrap;margin:0;display:flex}.course-tile-meta>span+span:before{content:"·";margin-right:var(--space-2);color:var(--subtle)}.course-tile-description{color:var(--muted);font:var(--type-body);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.course-tile-progress{gap:var(--space-1);margin-top:var(--space-1);flex-direction:column;display:flex}.course-tile-progress-label{justify-content:space-between;gap:var(--space-2);color:var(--muted);font:var(--type-secondary);display:flex}.course-tile-progress-label>span:last-child{color:var(--text);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.course-tile-progress progress{width:100%;margin:0}.course-tile-actions{align-items:stretch;gap:var(--space-2);padding-top:var(--space-3);flex-direction:column;margin-top:auto;display:flex}.course-tile-actions>.button{white-space:normal;justify-content:center;width:100%}.course-tile-actions>.text-button{align-self:center}.course-tile-actions>.course-tile-note{color:var(--muted);font:var(--type-secondary);text-align:center;margin:0}@media (max-width:767px){.course-grid{gap:var(--space-4)}.course-tile-cover{aspect-ratio:2}.course-tile-body{padding:var(--space-4)}.course-tile-actions>.button{min-height:var(--touch)}}@media (prefers-reduced-motion:reduce){.course-tile{transition:none}}.course-tile-badges .badge{align-items:center;gap:var(--space-1);box-shadow:0 0 0 1px var(--surface)}.course-search{align-items:center;min-width:0;display:flex;position:relative}.course-search>svg{left:var(--space-3);color:var(--subtle);pointer-events:none;position:absolute}.course-search>input{width:100%;min-height:var(--control-md);padding-left:calc(var(--space-3) + 24px)}@media (max-width:767px){.course-search>input{min-height:var(--touch)}}.catalogue-toolbar{margin-bottom:var(--space-5)}.catalogue-toolbar .toolbar-bar{margin-bottom:0}.catalogue-filters-inline{gap:var(--space-3);flex-wrap:wrap;display:flex}.catalogue-filters-inline .field{align-items:center;gap:var(--space-2);flex-direction:row;margin:0}.catalogue-filters-inline .field>span{color:var(--muted);font:var(--type-label);white-space:nowrap}.catalogue-filters-button{display:none}.catalogue-count{margin:var(--space-2) 0 0;color:var(--muted);font:var(--type-secondary)}.catalogue-filters-sheet{gap:var(--space-4);flex-direction:column;display:flex}.catalogue-filters-sheet .field{margin:0}.catalogue-sheet-done{width:100%}@media (max-width:767px){.catalogue-filters-inline{display:none}.catalogue-filters-button{min-height:var(--touch);display:inline-flex}.catalogue-toolbar .toolbar-bar{flex-flow:row;align-items:center}.catalogue-toolbar .toolbar-search{flex:1 1 0;min-width:0}.catalogue-toolbar .toolbar-filters{flex:none;display:flex}}.emblem{--emblem-fg:var(--accent-emerald-fg);--emblem-box:36px;--emblem-label:var(--text-md);--emblem-ribbon:var(--text-2xs);align-items:center;gap:var(--space-2);min-width:0;display:inline-flex;position:relative}.emblem-sm{--emblem-box:26px;--emblem-label:var(--text-sm)}.emblem-lg{--emblem-box:48px;--emblem-label:var(--text-lg);--emblem-ribbon:var(--text-xs)}.emblem-xl{--emblem-box:64px;--emblem-label:var(--text-xl);--emblem-ribbon:var(--text-sm)}.emblem[data-tone=amber]{--emblem-fg:var(--accent-amber-fg)}.emblem[data-tone=purple]{--emblem-fg:var(--accent-purple-fg)}.emblem[data-tone=emerald]{--emblem-fg:var(--accent-emerald-fg)}.emblem[data-tone=rose]{--emblem-fg:var(--accent-rose-fg)}.emblem[data-tone=sky]{--emblem-fg:var(--accent-sky-fg)}.emblem[data-tone=blue]{--emblem-fg:var(--accent-blue-fg)}.emblem[data-tone=gold]{--emblem-fg:#ca8a04}:root[data-theme=dark] .emblem[data-tone=gold]{--emblem-fg:#facc15}.emblem[data-tone=custom]{--emblem-fg:var(--emblem-color)}:root[data-theme=dark] .emblem[data-tone=custom]{--emblem-fg:color-mix(in srgb, var(--emblem-color) 60%, var(--text))}.emblem-mark{width:var(--emblem-box);height:var(--emblem-box);border:1px solid color-mix(in srgb, var(--emblem-fg) 40%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--emblem-fg) 12%, transparent);color:var(--emblem-fg);box-shadow:var(--shadow-xs);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.emblem-lg .emblem-mark,.emblem-xl .emblem-mark{border-radius:var(--radius-lg)}.emblem-ribbon{padding:1px var(--space-1);border-radius:var(--radius-xs);background:var(--emblem-fg);color:var(--on-primary);font-size:var(--emblem-ribbon);font-weight:var(--weight-bold);letter-spacing:.02em;white-space:nowrap;box-shadow:var(--shadow-sm);pointer-events:none;line-height:1.1;position:absolute;bottom:-4px;right:-4px}.emblem-label{min-width:0;font-size:var(--emblem-label);font-weight:var(--weight-semibold);color:var(--emblem-fg);overflow-wrap:anywhere}.courses-page .course-form{margin-bottom:var(--space-6)}.course-form-title{margin:0 0 var(--space-4);font:var(--type-section-title);overflow-wrap:anywhere}.course-form-group{min-width:0;margin:0 0 var(--space-5);padding:0 0 var(--space-5);border:0;border-bottom:1px solid var(--border)}.course-form-group>legend{margin-bottom:var(--space-3);color:var(--text);font:var(--type-label);padding:0}.course-form-group .field:last-child{margin-bottom:0}.course-form-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}@media (max-width:767px){.course-form-actions>.button{min-height:var(--touch);flex:auto}}.video-upload{gap:var(--space-4);display:grid}.video-upload-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.video-upload-head h2{font:var(--type-section-title);margin:0}.video-upload-head p{margin:var(--space-1) 0 0;color:var(--muted);font:var(--type-secondary)}.video-upload .badge svg{flex:none}.video-status-spin{animation:1.2s linear infinite video-status-spin}@keyframes video-status-spin{to{transform:rotate(360deg)}}.video-upload-skeleton{gap:var(--space-2);display:grid}.video-upload-skeleton .skeleton-bar:first-child{height:120px}.video-state{gap:var(--space-3);display:grid}.video-state p,.video-progress p{margin:0}.video-dropzone{align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--raised);text-align:center;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);flex-direction:column;display:flex}.video-dropzone.is-over{border-color:var(--primary);background:var(--tint)}.video-dropzone:focus-within{border-color:var(--primary)}.video-dropzone:focus-within .button{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.video-dropzone.is-busy{opacity:.7}.video-dropzone-icon{border-radius:var(--radius-full);background:var(--surface);width:48px;height:48px;color:var(--muted);place-items:center;display:grid}.video-dropzone-copy{gap:var(--space-1);display:grid}.video-dropzone-copy strong{font:var(--type-card-title)}.video-dropzone-copy span{color:var(--muted);font:var(--type-secondary)}.video-dropzone .button{cursor:pointer}.video-dropzone .button.is-disabled{pointer-events:none;opacity:.6}.video-dropzone.is-compact{padding:var(--space-4);text-align:left;flex-flow:wrap}.video-dropzone.is-compact .video-dropzone-icon{width:40px;height:40px}.video-dropzone.is-compact .video-dropzone-copy{flex:200px}.video-guidance{gap:var(--space-2);color:var(--muted);font:var(--type-secondary);margin:0;padding:0;list-style:none;display:grid}.video-guidance li{align-items:flex-start;gap:var(--space-2);display:flex}.video-guidance svg{color:var(--success);flex:none;margin-top:2px}.video-progress{gap:var(--space-2);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--raised);display:grid}.video-progress-file{align-items:center;gap:var(--space-2);min-width:0;display:flex}.video-progress-file svg{color:var(--muted);flex:none}.video-progress-name{min-width:0;font:var(--type-label);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.video-progress-percent{font:var(--type-card-title);font-variant-numeric:tabular-nums}.video-progress progress{border-radius:var(--radius-full);background:var(--border);appearance:none;border:0;width:100%;height:8px;overflow:hidden}.video-progress progress::-webkit-progress-bar{background:var(--border)}.video-progress progress::-webkit-progress-value{border-radius:var(--radius-full);background:var(--primary)}.video-progress progress::-moz-progress-bar{border-radius:var(--radius-full);background:var(--primary)}.video-progress-meta{font:var(--type-secondary);font-variant-numeric:tabular-nums}.video-upload-hint{color:var(--muted);font:var(--type-secondary)}.video-progress .button-row{margin-top:var(--space-2)}.video-ready{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.video-ready-icon{border-radius:var(--radius-control);background:var(--raised);width:40px;height:40px;color:var(--muted);place-items:center;display:grid}.video-ready-copy{flex:200px;min-width:0;display:grid}.video-ready-copy strong{font:var(--type-label)}.video-ready-copy span{color:var(--muted);font:var(--type-secondary)}.video-ready .button-row,.video-problem .button-row{margin:0}.video-problem{gap:var(--space-2);display:grid}.video-disclosure{border-top:1px solid var(--border);padding-top:var(--space-4)}.video-disclosure>summary{min-height:var(--control-md);color:var(--primary);font:var(--type-label);cursor:pointer;align-items:center;display:flex}.video-disclosure>summary::-webkit-details-marker{display:none}.video-disclosure>summary{gap:var(--space-2);list-style:none}.video-disclosure>summary svg{transition:transform var(--duration-fast) var(--ease-out)}.video-disclosure[open]>summary svg{transform:rotate(180deg)}.video-dropzone-touch-title{display:none}@media (pointer:coarse){.video-dropzone-copy .video-dropzone-title:has(+.video-dropzone-touch-title){display:none}.video-dropzone-touch-title{display:block}}.video-disclosure .video-settings{margin-top:var(--space-2);border-top:0;padding-top:0}@media (max-width:767px){.video-dropzone{padding:var(--space-6) var(--space-4)}.video-dropzone .button,.video-progress .button,.video-ready .button{min-height:var(--touch)}.video-progress{padding:var(--space-4)}.video-disclosure>summary{min-height:var(--touch)}}@media (prefers-reduced-motion:reduce){.video-status-spin{animation:none}}.video-settings{gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border);display:grid}.video-settings h3{font:var(--type-card-title);margin:0}.video-settings input[type=number]{max-width:140px}.caption-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.caption-list li{padding:var(--space-2) 10px;border:1px solid var(--border);border-radius:var(--radius-control);align-items:center;gap:10px;display:flex}.caption-list li>span{overflow-wrap:anywhere;flex:1;min-width:0}.caption-form{gap:var(--space-2);display:grid}.small-button{min-height:36px;padding:6px var(--space-3);font-size:var(--text-md)}.external-video iframe{aspect-ratio:16/9;border-radius:var(--radius-lg);background:var(--stage);border:0;width:100%;display:block}.video-watermark-frame{position:relative;overflow:hidden}.video-watermark{overflow-wrap:anywhere;max-width:85%;color:var(--stage-text);background:var(--stage-chrome);padding:3px var(--space-2);border-radius:var(--radius-xs);opacity:.55;pointer-events:none;font-size:var(--text-sm);animation:47s step-end infinite watermark-position;position:absolute;top:12%;left:5%}@keyframes watermark-position{25%{top:22%;left:55%}50%{top:65%;left:10%}75%{top:55%;left:50%}}.video-player-root{gap:var(--space-3);flex-direction:column;width:100%;min-width:0;display:flex}.video-player-unlock{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--success-border);border-radius:var(--radius-lg);background:var(--success-bg);color:var(--text);display:flex}.video-player-unlock-icon{border-radius:var(--radius-md);background:color-mix(in srgb, var(--success) 16%, transparent);width:36px;height:36px;color:var(--success);flex:none;place-items:center;display:grid}.video-player-unlock-text{flex:1;min-width:0}.video-player-unlock-text p{margin:0}.video-player-unlock-eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.video-player-unlock-title{font-size:var(--text-base);font-weight:var(--weight-medium);overflow-wrap:anywhere}.video-player-unlock .button.video-player-unlock-dismiss{flex:none}.video-player-offline{align-items:center;gap:var(--space-2);padding:6px var(--space-3);border:1px solid var(--warning-border);border-radius:var(--radius-md);background:var(--warning-bg);color:var(--text);font-size:var(--text-sm);display:flex}.video-player-offline svg{color:var(--warning);flex:none}.video-player-stage{--video-player-accent:color-mix(in srgb, var(--primary) 60%, var(--stage-text));background:var(--stage);color:var(--stage-text);border-radius:var(--radius-lg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex-direction:column;display:flex}:root[data-theme=dark] .video-player-stage{--video-player-accent:var(--primary)}.video-player-stage .video-watermark-frame{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.video-player-root .video-player-stage video{aspect-ratio:16/9;background:var(--stage-sunken);border-radius:0;width:100%;display:block}.video-player-timeline{height:32px;margin:var(--space-1) var(--space-3) 0;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;border-radius:var(--radius-sm);align-items:center;display:flex;position:relative}.video-player-track{border-radius:var(--radius-full);background:var(--stage-chrome-hover);width:100%;height:6px;transition:height .12s;position:relative}.video-player-timeline:hover .video-player-track,.video-player-timeline:focus-visible .video-player-track{height:8px}.video-player-watched,.video-player-progress{border-radius:inherit;position:absolute;top:0;bottom:0;left:0}.video-player-watched{width:var(--watched,0%);background:color-mix(in srgb, var(--stage-text) 38%, transparent);transition:width .15s ease-out}.video-player-progress{width:var(--progress,0%);background:var(--video-player-accent);transition:width 50ms linear}.video-player-progress:after{content:"";border-radius:var(--radius-full);background:var(--video-player-accent);width:14px;height:14px;box-shadow:0 0 0 2px var(--stage);position:absolute;top:50%;right:-7px;transform:translateY(-50%)}.video-player-scrub-tooltip{--tip-half:28px;bottom:calc(100% + var(--space-1));left:clamp(var(--tip-half), var(--hover,0%), calc(100% - var(--tip-half)));z-index:2;align-items:center;gap:var(--space-1);border:1px solid var(--stage-chrome-border);border-radius:var(--radius-md);background:var(--stage-chrome);color:var(--stage-text);box-shadow:var(--shadow-md);pointer-events:none;flex-direction:column;padding:6px;display:flex;position:absolute;transform:translate(-50%)}.video-player-scrub-tooltip.has-thumb{--tip-half:86px}.video-player-scrub-thumbnail{width:var(--thumb-w,160px);height:var(--thumb-h,90px);border-radius:var(--radius-xs);background-color:var(--stage-sunken);background-image:var(--thumb-image,none);background-position:var(--thumb-x,0) var(--thumb-y,0);background-repeat:no-repeat}.video-player-scrub-time{font-size:var(--text-xs);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.video-player-controls{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-2);flex-wrap:wrap;display:flex}.video-player-controls-group{align-items:center;gap:var(--space-1);flex-wrap:wrap;min-width:0;display:flex}.video-player-controls .button.video-player-button{min-width:40px;min-height:40px;padding:0 var(--space-2);gap:var(--space-1);border-radius:var(--radius-md);color:var(--stage-text);font-size:var(--text-sm);font-weight:var(--weight-medium);background:0 0;border:1px solid #0000}.video-player-controls .button.video-player-button.is-icon{padding:0}.video-player-controls .button.video-player-button:hover:where(:not(:disabled)){background:var(--stage-chrome-hover)}.video-player-time{padding:0 var(--space-2);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--stage-text-muted);white-space:nowrap}.video-player-select{font-size:var(--text-sm);color:var(--stage-text-muted);align-items:center;gap:6px;display:inline-flex}.video-player-select select.control{width:auto;min-height:40px;padding:0 var(--space-2);border:1px solid var(--stage-chrome-border);border-radius:var(--radius-md);background:var(--stage-chrome);color:var(--stage-text);font-size:var(--text-sm)}.video-player-select select.control:hover{border-color:var(--stage-text-muted)}.video-player-controls .button.video-player-button:focus-visible,.video-player-select select.control:focus-visible,.video-player-timeline:focus-visible{outline:2px solid var(--stage-text);outline-offset:2px;box-shadow:none}.video-player-select select.control:focus-visible{border-color:var(--stage-chrome-border)}.video-player-stage:fullscreen{border-radius:0;justify-content:center;width:100%;height:100%}.video-player-stage:fullscreen .video-watermark-frame{border-radius:0;flex:1;min-height:0}.video-player-root .video-player-stage:fullscreen video{aspect-ratio:auto;object-fit:contain;height:100%}.video-player-root .video-policy{font-size:var(--text-sm);color:var(--muted);flex-wrap:wrap;margin:0}@media (pointer:coarse){.video-player-timeline{height:44px}.video-player-controls .button.video-player-button,.video-player-select select.control{min-width:44px;min-height:44px}}@media (max-width:480px){.video-player-unlock{flex-wrap:wrap}.video-player-unlock .button.video-player-unlock-dismiss{margin-left:auto}}.video-analytics{gap:var(--space-5);min-width:0;margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr);display:grid}.video-analytics-header{gap:var(--space-1);display:grid}.video-analytics-title{align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text);margin:0;display:flex}.video-analytics-title-icon{color:var(--primary);flex:none}.video-analytics-subtitle{font-size:var(--text-md);color:var(--muted);margin:0}.video-analytics .stat-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));margin-bottom:0}.video-analytics-rate{font-size:var(--text-md);font-weight:var(--weight-regular);color:var(--muted)}.video-analytics-details{padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.video-analytics-details[open]{padding-bottom:var(--space-4)}.video-analytics-details>summary{padding:var(--space-3) 0;cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text)}.video-analytics-details>summary:hover{color:var(--primary)}.video-analytics-details-note{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--muted)}.video-analytics-bins{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(min(100%,110px),1fr));margin:0;padding:0;list-style:none;display:grid}.video-analytics-bin{padding:var(--space-2);border-radius:var(--radius-md);background:var(--raised);text-align:center;gap:2px;display:grid}.video-analytics-bin strong{font-size:var(--text-md);color:var(--text)}.video-analytics-bin span{font-size:var(--text-sm);color:var(--muted)}.video-analytics-students{gap:var(--space-2);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.video-analytics-student{font-weight:var(--weight-medium);color:var(--text);overflow-wrap:break-word}.video-analytics-students .badge{white-space:nowrap}.video-analytics-pager{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.video-analytics-pager-count{font-size:var(--text-sm);color:var(--muted)}.video-analytics-pager-buttons{gap:var(--space-2);display:flex}.retention-chart{--retention-series:var(--info);gap:var(--space-4);min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:minmax(0,1fr);display:grid}.retention-chart-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3) var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.retention-chart-heading{flex:220px;min-width:0}.retention-chart-title{align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text);margin:0;display:flex}.retention-chart-title svg{color:var(--retention-series);flex:none}.retention-chart-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--muted)}.retention-chart-stats{gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--muted);flex-wrap:wrap;display:flex}.retention-chart-stat{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.retention-chart-stat strong{color:var(--text)}.retention-chart-stat-icon.is-starts{color:var(--accent-blue-fg)}.retention-chart-stat-icon.is-completed{color:var(--success)}.retention-chart-plot{gap:var(--space-1) var(--space-2);grid-template-rows:160px auto;grid-template-columns:34px minmax(0,1fr);display:grid}.retention-chart-y-axis{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--muted);grid-area:1/1;position:relative}.retention-chart-y-axis span{top:var(--y);line-height:1;position:absolute;right:0;transform:translateY(-50%)}.retention-chart-canvas{grid-area:1/2;min-width:0;position:relative}.retention-chart-svg{width:100%;height:100%;display:block;overflow:visible}.retention-chart-grid{stroke:var(--border);stroke-dasharray:2 3;vector-effect:non-scaling-stroke}.retention-chart-area{fill:color-mix(in srgb, var(--retention-series) 14%, transparent)}.retention-chart-line{fill:none;stroke:var(--retention-series);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.retention-chart-canvas{touch-action:pan-y}.retention-chart-readout{pointer-events:none;position:absolute;inset:0}.retention-chart-cursor{top:0;bottom:0;left:var(--x);border-left:1px dashed var(--muted);position:absolute}.retention-chart-point{top:var(--y);left:var(--x);border-radius:var(--radius-full);background:var(--retention-series);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);position:absolute;transform:translate(-50%,-50%)}.retention-chart-tooltip{top:var(--y);left:clamp(72px, var(--x), calc(100% - 72px));padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.retention-chart-readout.is-below .retention-chart-tooltip{transform:translate(-50%,12px)}.retention-chart-x-axis{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--muted);grid-area:2/2;justify-content:space-between;display:flex}.retention-chart-empty{padding:var(--space-6) var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-lg);text-align:center;font-size:var(--text-md);color:var(--muted);margin:0}@media (prefers-reduced-motion:reduce){.video-watermark{animation:none}.video-player-track,.video-player-watched,.video-player-progress{transition:none}}.quiz-shell{gap:20px;display:grid}@media (min-width:900px){.quiz-shell{grid-template-columns:210px minmax(0,1fr);align-items:start}.quiz-shell>nav{position:sticky;top:16px}}.quiz-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.quiz-toolbar h2{margin:0}.quiz-timer{font-variant-numeric:tabular-nums;font-weight:700}.quiz-timer[data-low=true]{color:var(--danger);border-color:var(--danger)}.quiz-nav ol{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.quiz-nav-item{border:1px solid var(--border);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:8px;width:100%;min-height:44px;font-weight:600;position:relative}.quiz-nav-item[data-answered=true]{background:var(--tint);border-color:var(--primary)}.quiz-nav-item[aria-current=step]{outline:2px solid var(--primary);outline-offset:1px}.quiz-nav-item .quiz-flag-mark{color:var(--danger);line-height:1;position:absolute;top:2px;right:3px}.quiz-legend{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:10px;font-size:12px;display:flex}.quiz-legend span{align-items:center;gap:5px;display:inline-flex}.quiz-swatch{border:1px solid var(--border);background:var(--surface);border-radius:3px;width:12px;height:12px}.quiz-swatch[data-answered=true]{background:var(--tint);border-color:var(--primary)}.quiz-question-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.quiz-prompt{white-space:pre-wrap;margin:4px 0 14px;font-size:17px;font-weight:600;line-height:1.5}.quiz-board{max-width:420px;margin-bottom:14px}.quiz-board .promotion-choice{margin-top:8px}.quiz-moves{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 14px;display:flex}.quiz-steps{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:18px;display:flex}.quiz-review-list{margin:0 0 18px;padding:0;list-style:none}.quiz-review-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex}.quiz-review-item{border:1px solid var(--border);border-radius:10px;margin:14px 0;padding:16px}.quiz-review-item[data-correct=true]{border-left:4px solid var(--primary)}.quiz-review-item[data-correct=false]{border-left:4px solid var(--danger)}.quiz-review-item .quiz-board{max-width:260px}.pill{background:var(--raised);color:var(--muted);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;display:inline-flex}.pill[data-tone=warn]{background:var(--tint);color:var(--danger)}.pill[data-tone=good]{background:var(--sage);color:var(--sage-text)}.editor-row{align-items:center;gap:10px;margin-top:8px;display:flex}.editor-row>input:not([type=radio]):not([type=checkbox]){flex:1;min-width:0}.editor-row>input[type=radio],.editor-row>input[type=checkbox]{width:20px;min-height:20px}.plain-fieldset{border:0;min-width:0;margin:0 0 18px;padding:0}.editor-board{gap:14px;display:grid}@media (min-width:900px){.editor-board{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start}}table.data-table{border-collapse:collapse;width:100%;font-size:14px}table.data-table caption{text-align:left;padding-bottom:8px;font-weight:600}table.data-table th,table.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:9px 10px}table.data-table thead th{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}table.data-table td.number,table.data-table th.number{text-align:right;font-variant-numeric:tabular-nums}table.data-table tbody tr:hover{background:var(--raised)}.heatmap th[scope=row]{background:var(--surface);z-index:1;min-width:160px;position:sticky;left:0}.heatmap td.cell{text-align:center;min-width:36px;padding:4px;font-size:13px;font-weight:600}.cell[data-state=completed]{background:var(--sage);color:var(--sage-text)}.cell[data-state=in_progress]{background:var(--tint);color:var(--primary)}.cell[data-state=locked]{background:var(--raised);color:var(--muted)}.cell[data-state=not_started]{color:var(--muted)}.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:18px;display:grid}.stat{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:12px 14px}.stat span{color:var(--muted);font-size:12px;display:block}.stat strong{font-variant-numeric:tabular-nums;font-size:24px}.bar{background:var(--raised);border-radius:4px;min-width:80px;height:8px;display:block;overflow:hidden}.bar>span{background:var(--primary);height:100%;display:block}.activity-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.chip-list{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.chip-list button.pill{cursor:pointer;border:0}.rich-question-section-header{background:var(--tint);border:1px solid var(--border);color:var(--text);border-radius:6px;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.homework-rubric-container{min-width:0}.rubric-form{gap:var(--space-4);display:grid}.rubric-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.rubric-title-block h3{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font:var(--type-card-title);display:flex}.rubric-title-block h3 svg{color:var(--muted)}.rubric-title-block p{color:var(--muted);font:var(--type-secondary);margin:0}.rubric-score-summary{gap:var(--space-2);flex-wrap:wrap;display:flex}.score-badge{min-width:88px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--raised);gap:2px;display:grid}.score-badge .score-label{color:var(--muted);font:var(--type-caption)}.score-badge .score-value{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-snug);font-variant-numeric:tabular-nums}.score-badge.late-penalty-badge .score-value{color:var(--danger)}.score-badge.net-badge{background:var(--tint)}.score-badge.net-badge .score-value{color:var(--primary)}.rubric-criteria-list{gap:var(--space-2);display:grid}.rubric-criterion-card{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--raised);display:grid}.criterion-head{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.criterion-head>div:first-child{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.criterion-title{font:var(--type-label);font-weight:var(--weight-semibold)}.criterion-weight,.criterion-score-badge{color:var(--muted);font:var(--type-caption);font-variant-numeric:tabular-nums}.criterion-score-badge span{color:var(--text);font-weight:var(--weight-semibold)}.criterion-desc{color:var(--muted);font:var(--type-secondary);margin:0}.criterion-slider-row{align-items:center;gap:var(--space-3);display:flex}.rubric-slider{min-width:0;accent-color:var(--primary);flex:1}.rubric-number-input,.manual-score-input{width:72px;height:var(--control-sm);padding:0 var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-control,var(--radius-md));background:var(--surface);color:var(--text);font:var(--type-body);text-align:center;font-variant-numeric:tabular-nums}.rubric-presets{gap:var(--space-1);flex-wrap:wrap;display:flex}.preset-btn{min-height:28px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:var(--type-caption);cursor:pointer}.preset-btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}.rubric-override-toggle{align-items:center;gap:var(--space-3);font:var(--type-body);flex-wrap:wrap;display:flex}.rubric-actions{justify-content:flex-end;display:flex}@media (max-width:767px){.rubric-number-input,.manual-score-input{height:var(--touch)}.preset-btn{min-height:var(--touch);flex:1 1 0}.rubric-actions .button{min-height:var(--touch);flex:auto}}.gate-editor{min-width:0}.gate-editor-header{padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.gate-editor-title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font:var(--type-section-title);display:flex}.gate-editor-title svg,.gate-editor-form-title svg{color:var(--muted)}.gate-editor-lede{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--muted);margin:0}.gate-editor-success{align-items:flex-start;gap:var(--space-2);margin:var(--space-4) 0 0;padding:var(--space-3);border:1px solid var(--success-border);border-radius:var(--radius-lg);background:var(--success-bg);color:var(--text);font-size:var(--text-md);line-height:var(--leading-normal);display:flex}.gate-editor-success svg{color:var(--success);margin-top:2px}.gate-editor-section{margin-top:var(--space-6)}.gate-editor-section h3{align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-snug);margin:0;display:flex}.gate-editor-section-head{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.gate-editor-section-intro{margin-bottom:var(--space-4)}.gate-editor-section-intro h3{margin-bottom:var(--space-1)}.gate-editor-note{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--muted);margin:0}.gate-editor-empty{padding:var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-lg);text-align:center;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--muted);margin:0}.gate-editor-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.gate-editor-and{width:-moz-fit-content;width:fit-content;margin:0 auto var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--tint);color:var(--primary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em;display:block}.gate-editor-gate{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);display:flex}.gate-editor-icon{border-radius:var(--radius-md);background:var(--accent-slate-bg);width:32px;height:32px;color:var(--accent-slate-fg);flex:none;place-items:center;display:inline-grid}.gate-editor-icon[data-condition=video_completed]{background:var(--accent-blue-bg);color:var(--accent-blue-fg)}.gate-editor-icon[data-condition=lesson_completed]{background:var(--accent-emerald-bg);color:var(--accent-emerald-fg)}.gate-editor-icon[data-condition=quiz_passed]{background:var(--accent-amber-bg);color:var(--accent-amber-fg)}.gate-editor-icon[data-condition=date_reached]{background:var(--accent-purple-bg);color:var(--accent-purple-fg)}.gate-editor-gate-body{flex:1;min-width:0}.gate-editor-gate-title{font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-snug);display:block}.gate-editor-gate-detail{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--muted);overflow-wrap:anywhere;margin-top:2px;display:block}.gate-editor-gate-detail strong{color:var(--text);font-weight:var(--weight-semibold)}.gate-editor .gate-editor-remove:hover{background:var(--danger-bg);color:var(--danger)}.gate-editor-form{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--raised)}.gate-editor-form-title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-size:var(--text-md);font-weight:var(--weight-semibold);display:flex}.gate-editor-grid{gap:0 var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.gate-editor-grid>*{min-width:0}.gate-editor-row{column-gap:var(--space-4);flex-wrap:wrap;display:flex}.gate-editor-row>*{flex:100%;min-width:0}.gate-editor-row>.gate-editor-field-type{flex:160px}.gate-editor-row>.gate-editor-field-reason{flex:2 220px}.gate-editor-actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.gate-editor-legacy{margin-top:var(--space-6);padding-top:var(--space-2);border-top:1px solid var(--border)}.gate-editor-legacy>summary{padding:var(--space-3) 0;cursor:pointer;font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--muted)}.gate-editor-legacy>summary:hover{color:var(--text)}.gate-editor-legacy-form{margin-top:var(--space-2)}.gate-editor-legacy-form .checkbox{margin-top:0}.gate-editor-overrides{padding-top:var(--space-6);border-top:1px solid var(--border)}.gate-editor-overrides h3 svg{color:var(--warning)}.gate-editor-none{margin-top:var(--space-4);font-style:italic}.gate-editor-table{margin-top:var(--space-4)}.gate-editor-table caption{font-size:var(--text-md);padding-top:0}.gate-editor-table .badge{align-items:center;gap:var(--space-1)}.gate-editor-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}span.gate-editor-mono{font-size:var(--text-sm);white-space:nowrap}@media (max-width:480px){.gate-editor-form{padding:var(--space-3)}.gate-editor-actions>.button{flex:auto}}.chessboard-wrap{width:100%;min-width:0}.chessboard{--board-mark-last:color-mix(in srgb, var(--accent-amber-fg) 30%, transparent);--board-mark-selected:color-mix(in srgb, var(--success) 55%, transparent);--board-mark-check:var(--accent-rose-fg);--board-mark-move:color-mix(in srgb, var(--stage-sunken) 26%, transparent);--board-mark-hover:color-mix(in srgb, var(--stage-sunken) 10%, transparent);aspect-ratio:1;border-radius:var(--radius-md);width:100%;box-shadow:0 0 0 1px color-mix(in srgb, var(--board-dark) 70%, var(--stage-sunken));-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));display:grid;position:relative;overflow:hidden;container-type:inline-size}.chessboard .square{all:unset;box-sizing:border-box;aspect-ratio:1;cursor:default;place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;position:relative}.chessboard .square.chess-light{background-color:var(--board-light)}.chessboard .square.chess-dark{background-color:var(--board-dark)}.chessboard[data-interactive] .square:not([aria-disabled=true]){cursor:pointer}.chessboard .square:before{content:"";pointer-events:none;position:absolute;inset:0}.chessboard .square-last:before{background:var(--board-mark-last)}.chessboard .square-selected:before{background:var(--board-mark-selected);box-shadow:inset 0 0 0 max(2px, .5cqi) var(--success)}.chessboard .square-check:before{background:radial-gradient(circle, var(--board-mark-check) 0%, color-mix(in srgb, var(--board-mark-check) 70%, transparent) 30%, transparent 72%)}@media (hover:hover){.chessboard[data-interactive] .square:not([aria-disabled=true]):hover:before{box-shadow:inset 0 0 0 max(2px, .5cqi) var(--board-mark-hover)}}.chessboard .square>.white-piece,.chessboard .square>.black-piece{z-index:1;pointer-events:none;font-size:10cqi;position:relative}.chessboard .legal-dot{z-index:2;background:var(--board-mark-move);pointer-events:none;border-radius:50%;width:30%;height:30%;position:absolute}.chessboard .square-capture .legal-dot{background:radial-gradient(circle, transparent 0 64%, var(--board-mark-move) 65% 100%);border-radius:0;width:100%;height:100%}.chessboard .square>small{z-index:3;font:var(--weight-semibold) max(var(--text-2xs), 2.4cqi) / 1 var(--font-sans);pointer-events:none;position:absolute}.chessboard .chess-light>small{color:color-mix(in srgb, var(--board-dark) 70%, var(--stage-sunken))}.chessboard .chess-dark>small{color:color-mix(in srgb, var(--board-light) 88%, white)}.chessboard .file-coordinate{bottom:.3cqi;right:.5cqi}.chessboard .rank-coordinate{top:.4cqi;left:.6cqi}@container (width<=260px){.chessboard .square>small{display:none}}.chessboard .square:focus-visible{outline:3px solid var(--primary);outline-offset:-3px;z-index:4}.chessboard .square:focus-visible:after{content:"";box-shadow:inset 0 0 0 1px var(--surface);pointer-events:none;position:absolute;inset:3px}.chessboard[aria-disabled=true] .square{cursor:default}.chessboard-wrap .promotion-choice{justify-content:flex-end;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 0;font:var(--type-secondary);color:var(--muted);display:flex}.chessboard-wrap .promotion-choice select{width:auto;min-width:112px;min-height:var(--control-sm);padding:0 var(--space-2);font:var(--type-secondary)}@media (max-width:767px){.chessboard-wrap .promotion-choice{padding-inline:var(--space-4)}.chessboard-wrap .promotion-choice select{min-height:var(--touch)}}@media (prefers-reduced-motion:no-preference){.chessboard .square:before{transition:background-color var(--duration-fast) var(--ease-out)}}.cb-back{align-items:center;gap:var(--space-1);min-height:var(--control-sm);color:var(--muted);font:var(--type-label);text-decoration:none;display:inline-flex}.cb-back:hover{color:var(--text)}.cb-header-actions{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.course-builder-preview-field{align-items:center;gap:var(--space-2);flex-direction:row;min-width:0;margin:0}.course-builder-preview-field>.field-label{color:var(--muted);font:var(--type-secondary);white-space:nowrap;margin:0}.course-builder-preview-field>select{width:220px;min-width:0;max-width:100%}.cb-identity{align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.course-builder-emblem-picker{gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:grid}.cb-picker-label{font:var(--type-label)}.cb-picker-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.course-builder-emblem-option{white-space:normal;max-width:100%}.button.secondary.course-builder-emblem-option[aria-pressed=true]{border-color:var(--primary);background:var(--tint);box-shadow:inset 0 0 0 1px var(--primary)}.cb-layout{gap:var(--space-6);margin-bottom:var(--space-6);grid-template-columns:300px minmax(0,1fr);align-items:start;display:grid}.cb-main{gap:var(--space-6);min-width:0;display:grid}.cb-main>*{margin:0}.cb-tree-panel{top:calc(var(--topbar-h) + var(--space-4));gap:var(--space-3);max-height:calc(100dvh - var(--topbar-h) - var(--space-8));padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:grid;position:sticky;overflow:auto}.cb-tree-panel>h2{padding:0 var(--space-2);font:var(--type-card-title);margin:0}.cb-tree,.cb-tree-lessons{gap:2px;margin:0;padding:0;list-style:none;display:grid}.cb-tree{gap:var(--space-1)}.cb-tree-skeleton{gap:var(--space-2);display:grid}.cb-tree-skeleton .skeleton-bar{height:40px}.cb-module-row{align-items:center;gap:var(--space-1);border-radius:var(--radius-control);display:flex}.cb-module-row:hover,.cb-module-row.is-active{background:var(--raised)}.cb-module-button{align-items:flex-start;gap:var(--space-2);min-width:0;min-height:var(--control-lg);padding:var(--space-2);border-radius:var(--radius-control);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;display:flex}.cb-chevron{color:var(--muted);transition:transform var(--duration-fast) var(--ease-out);flex:none;margin-top:3px;transform:rotate(-90deg)}.cb-module-button[aria-expanded=true] .cb-chevron{transform:none}.cb-module-text{min-width:0;display:grid}.cb-module-title{font:var(--type-label);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.cb-module-meta{color:var(--muted);font:var(--type-caption)}.cb-module-actions{padding-right:var(--space-1);flex:none;display:flex}.cb-module-edit{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-control);display:grid}.cb-module-edit .button-row{margin:0}.cb-tree-lessons{margin:var(--space-1) 0 var(--space-2) var(--space-5);padding-left:var(--space-2);border-left:1px solid var(--border)}.cb-lesson-button{align-items:flex-start;gap:var(--space-2);width:100%;min-height:var(--control-md);padding:var(--space-2);border-radius:var(--radius-control);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.cb-lesson-button:hover{background:var(--surface-hover)}.cb-lesson-button.is-selected{background:var(--tint)}.cb-lesson-button.is-selected .cb-lesson-title,.cb-lesson-button.is-selected .cb-lesson-icon{color:var(--primary)}.cb-lesson-icon{color:var(--muted);flex:none;margin-top:2px}.cb-lesson-text{gap:2px;min-width:0;display:grid}.cb-lesson-title{font:var(--type-secondary);font-weight:var(--weight-medium);overflow-wrap:anywhere}.cb-lesson-meta{align-items:center;gap:var(--space-2);color:var(--muted);font:var(--type-caption);flex-wrap:wrap;display:flex}.cb-lesson-status{align-items:center;gap:3px;display:inline-flex}.cb-lesson-status.is-published svg{color:var(--success)}.cb-add-lesson .cb-lesson-title{color:var(--primary)}.cb-tree-empty{padding:var(--space-2);color:var(--muted);font:var(--type-caption)}.cb-add-module{gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--border);display:grid}.cb-add-module .field,.cb-add-module .checkbox-field{margin:0}.cb-curriculum-trigger{align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;display:flex}.cb-curriculum-trigger>svg{color:var(--muted);flex:none}.cb-curriculum-trigger-text{flex:1;min-width:0;display:grid}.cb-curriculum-trigger-text span{color:var(--muted);font:var(--type-caption)}.cb-curriculum-trigger-text strong{font:var(--type-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cb-tree-sheet{gap:var(--space-4);display:grid}.cb-tree-sheet .cb-module-button,.cb-tree-sheet .cb-lesson-button{min-height:var(--touch)}.cb-editor{gap:var(--space-4);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:grid}.cb-editor-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.cb-editor-head h2{font:var(--type-section-title);margin:0}.cb-editor-head p{margin:var(--space-1) 0 0;color:var(--muted);font:var(--type-secondary)}.cb-editor-order{gap:var(--space-2);display:flex}.cb-form{gap:var(--space-6);display:grid}.cb-fieldset{gap:var(--space-1);min-width:0;padding:var(--space-5) 0 0;border:0;border-top:1px solid var(--border);margin:0;display:grid}.cb-fieldset>legend{float:left;width:100%;margin-bottom:var(--space-3);font:var(--type-card-title);padding:0}.cb-fieldset>legend+*{clear:both}.cb-fieldset .field,.cb-fieldset .form-grid{margin-top:0}.cb-grid-3{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.cb-content-editor{min-height:280px}.cb-form-note{color:var(--muted);font:var(--type-secondary);margin:0}.course-builder-lesson-flags{gap:var(--space-1);margin-top:var(--space-2);display:grid}.course-builder-lesson-flags .checkbox-field{margin:0}.course-builder .checkbox input[type=checkbox]{flex:none}.cb-form-footer{z-index:var(--z-sticky);justify-content:flex-end;align-items:center;gap:var(--space-3);margin:0 calc(var(--space-6) * -1) calc(var(--space-6) * -1);padding:var(--space-3) var(--space-6);border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--surface);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.cb-save-status{align-items:center;gap:var(--space-2);min-height:20px;color:var(--muted);font:var(--type-secondary);flex:1;margin:0;display:inline-flex}.cb-save-status.is-saved svg{color:var(--success)}.cb-save-status.is-dirty svg{color:var(--warning)}.cb-save-status.is-error{color:var(--danger)}.cb-save-status.is-saving svg{animation:1.2s linear infinite cb-spin}@keyframes cb-spin{to{transform:rotate(360deg)}}.cb-bulk{gap:var(--space-2);display:grid}.cb-sheet-intro{margin:0 0 var(--space-2);color:var(--muted);font:var(--type-secondary)}.cb-sheet-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.course-builder-shortcut{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;display:flex}.course-builder-shortcut-copy{flex:260px;min-width:0}.course-builder-shortcut h3{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font:var(--type-card-title);display:flex}.course-builder-shortcut h3 svg{color:var(--muted)}.course-builder-shortcut p{color:var(--muted);font:var(--type-secondary);margin:0}.course-builder-shortcut .button{white-space:normal;max-width:100%}.course-builder-preview-modules,.course-builder-preview-lessons{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.course-builder-preview-modules{gap:var(--space-4)}.course-builder-preview-module{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3)}.course-builder-preview-module h3{font-size:var(--text-base);font-weight:var(--weight-bold);overflow-wrap:anywhere;margin:0}.course-builder-preview-lessons{margin-top:var(--space-2);gap:6px}.course-builder-preview-lesson{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--success-bg);font-size:var(--text-md);flex-wrap:wrap;padding:6px 10px;display:flex}.course-builder-preview-lesson.is-locked{background:var(--raised)}.course-builder-preview-lesson-main{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.course-builder-preview-lesson-title{overflow-wrap:anywhere;min-width:0}.course-builder-preview-icon{color:var(--success)}.is-locked .course-builder-preview-icon{color:var(--muted)}.course-builder-preview-lesson .badge-neutral{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.course-builder-preview-status{color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere}@media (max-width:1279px){.cb-layout{gap:var(--space-5);grid-template-columns:260px minmax(0,1fr)}}@media (max-width:1023px){.cb-layout{grid-template-columns:1fr}.cb-tree-panel{max-height:none;position:static}}@media (max-width:767px){.cb-header-actions,.course-builder-preview-field{width:100%}.course-builder-preview-field>select{flex:1;width:auto}.cb-header-actions>.button{width:100%}.cb-layout{gap:var(--space-4)}.cb-editor{padding:var(--space-4)}.cb-editor-order{width:100%}.cb-editor-order .button{flex:1}.cb-form-footer{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));margin:0 calc(var(--space-4) * -1) calc(var(--space-4) * -1);padding:var(--space-3) var(--space-4)}.cb-form-footer .button{min-height:var(--touch)}.cb-sheet-actions .button{min-height:var(--touch);flex:1}}@media (prefers-reduced-motion:reduce){.cb-save-status.is-saving svg{animation:none}}.assignment-status{display:inline-flex}.assignment-status .badge{align-items:center;gap:var(--space-1);white-space:nowrap}.assignment-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));display:grid}.assignment-card{gap:var(--space-2);min-width:0;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.assignment-card-top{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.assignment-card-score{font:var(--type-card-title);font-variant-numeric:tabular-nums}.assignment-card-title{font:var(--type-card-title);overflow-wrap:anywhere;margin:0}.assignment-card-meta{gap:0 var(--space-2);color:var(--muted);font:var(--type-secondary);flex-wrap:wrap;margin:0;display:flex}.assignment-card-meta>span+span:before{content:"·";margin-right:var(--space-2)}.assignment-card-text{color:var(--text);font:var(--type-body);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.assignment-card-note{align-items:flex-start;gap:var(--space-2);color:var(--muted);font:var(--type-secondary);margin:0;display:flex}.assignment-card-note svg{flex:none;margin-top:3px}.assignment-card-foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);flex-wrap:wrap;margin-top:auto;display:flex}.assignment-card-foot>.button:only-child{margin-left:auto}.assignment-due{align-items:center;gap:var(--space-1);color:var(--muted);font:var(--type-label);display:inline-flex}.assignment-due.is-late,.assignment-meta .is-late{color:var(--danger)}.assignment-card-skeleton{min-height:220px}.skel-badge{width:88px;height:22px}.skel-title{width:70%;height:20px}.skel-line.short{width:55%}.skel-button{width:150px;height:var(--control-md);border-radius:var(--radius-md);margin-top:auto;margin-left:auto}.assignment-detail{gap:var(--space-6);max-width:var(--content-max-reading,760px);display:grid}.assignment-back{justify-self:start;align-items:center;gap:var(--space-2);min-height:var(--control-sm);padding:0 var(--space-2);margin-left:calc(var(--space-2) * -1);border-radius:var(--radius-md);color:var(--muted);font:var(--type-button);cursor:pointer;background:0 0;border:0;display:inline-flex}.assignment-back:hover{background:var(--surface-hover);color:var(--text)}.assignment-detail-head{justify-items:start;gap:var(--space-2);display:grid}.assignment-detail-head h1{font:var(--type-page-title);overflow-wrap:anywhere;margin:0}.assignment-meta{gap:var(--space-2) var(--space-5);color:var(--muted);font:var(--type-secondary);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.assignment-meta li{align-items:center;gap:var(--space-2);display:inline-flex}.assignment-section{gap:var(--space-3);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:grid}.assignment-section>h2{font:var(--type-section-title);margin:0}.assignment-section .text-button{justify-self:start}.assignment-instructions{font:var(--type-body-lg);white-space:pre-line;overflow-wrap:anywhere;margin:0}.assignment-submitted-on{color:var(--muted);font:var(--type-secondary);margin:0}.assignment-well{padding:var(--space-4);border-radius:var(--radius-md);background:var(--raised);font:var(--type-body);white-space:pre-line;overflow-wrap:anywhere;margin:0}.assignment-feedback{gap:var(--space-3);display:grid}.assignment-feedback p{white-space:pre-line;margin:0}.assignment-score{align-items:baseline;gap:var(--space-2);display:inline-flex}.assignment-score strong{font-size:var(--text-3xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:1}.assignment-score span{color:var(--muted);font:var(--type-label)}.assignment-waiting,.assignment-blocked{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--raised);color:var(--muted);font:var(--type-body);margin:0;display:flex}.assignment-waiting svg,.assignment-blocked svg{flex:none;margin-top:2px}.assignment-blocked{border:1px solid var(--border)}.assignment-form textarea{resize:vertical;min-height:160px}.assignment-submit-bar{justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2);display:flex}.assignment-activities{gap:var(--space-3);display:grid}.assignment-activity{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--raised);display:grid}.assignment-activity h3{font:var(--type-card-title);margin:0}.assignment-activity>.button{justify-self:start}.assignment-activity-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.assignment-activity-req{color:var(--muted);font:var(--type-secondary)}.assignment-activity-state{align-items:center;gap:var(--space-1);color:var(--muted);font:var(--type-label);margin:0;display:inline-flex}.assignment-activity-state.is-done{color:var(--success)}.assignment-activity-prompt{font:var(--type-body);white-space:pre-line;margin:0}.assignment-activity-pgn{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:var(--type-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media (max-width:767px){.assignment-card{padding:var(--space-4)}.assignment-card-foot>.button{min-height:var(--touch);flex:100%;justify-content:center}.assignment-detail{gap:var(--space-4)}.assignment-detail-head h1{font-size:var(--text-xl);line-height:28px}.assignment-section{padding:var(--space-4)}.assignment-back{min-height:var(--touch)}.assignment-submit-bar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:var(--z-sticky);margin:0 calc(var(--space-4) * -1) calc(var(--space-4) * -1);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);position:sticky}.assignment-submit-bar .button{min-height:var(--touch);flex:1 1 0;justify-content:center}}.teach-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.assignment-composer{margin-bottom:var(--space-6);padding:var(--space-6)}.assignment-composer-form{gap:var(--space-6);display:grid}.assignment-composer-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.assignment-composer-head h2{font:var(--type-section-title);margin:0}.assignment-composer-head p{margin:var(--space-1) 0 0;color:var(--muted);font:var(--type-secondary)}.assignment-composer-head .button{flex:none}.assignment-fieldset{gap:var(--space-4);min-width:0;padding:var(--space-6) 0 0;border:0;border-top:1px solid var(--border);margin:0;display:grid}.assignment-fieldset>legend{float:left;width:100%;margin:0 0 var(--space-1);font:var(--type-card-title);padding:0}.assignment-fieldset>legend+*{clear:both}.assignment-fieldset .field,.assignment-fieldset .checkbox{margin:0}.assignment-fieldset select[multiple]{min-height:120px}.assignment-fieldset-hint{color:var(--muted);font:var(--type-secondary);margin:0}.assignment-fieldset .button-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.assignment-activity-editor{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--raised);display:grid}.assignment-remove{justify-self:start;align-items:center;gap:var(--space-1);color:var(--danger);display:inline-flex}.assignment-add-activity{justify-self:start}.assignment-weekdays{gap:var(--space-2) var(--space-4);border:0;flex-wrap:wrap;min-width:0;margin:0;padding:0;display:flex}.assignment-weekdays>legend{margin-bottom:var(--space-2);font:var(--type-label);padding:0}.assignment-weekdays .checkbox{margin:0}.assignment-weekdays .field{flex-basis:100%}.assignment-saved{color:var(--success);font:var(--type-label);margin:0}.assignment-form-actions{justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.teach-list{margin:0;padding:0;list-style:none;overflow:hidden}.teach-row{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);grid-template-columns:minmax(0,2.2fr) minmax(0,1.4fr) minmax(0,.9fr) minmax(0,1.3fr);display:grid}.teach-row+.teach-row{border-top:1px solid var(--border)}.teach-row-main{min-width:0}.teach-row-title{font:var(--type-card-title);overflow-wrap:anywhere;margin:0}.teach-row-text{color:var(--muted);font:var(--type-secondary);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;overflow:hidden}.teach-row-meta{color:var(--muted);font:var(--type-secondary);margin:0;display:grid}.teach-row-meta span:first-child{color:var(--text)}.teach-row-count{color:var(--muted);font:var(--type-secondary);margin:0}.teach-row-count strong{color:var(--text);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.teach-row-status{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.teach-row-skeleton{grid-template-columns:2fr 1fr 1fr}.teach-row-skeleton .skeleton-bar{height:18px}.review-bulk-bar{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-6);margin-bottom:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;display:flex}.review-bulk-bar:not(.has-selection){justify-content:flex-start;align-items:center}.review-bulk-bar>.checkbox{min-height:var(--control-md);font:var(--type-label);margin:0}.review-bulk-bar>.checkbox>input{align-self:center;margin-top:0}.review-bulk-hint{color:var(--muted);font:var(--type-secondary);margin:0}.review-bulk-score{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.review-bulk-score .field{margin:0}.review-bulk-score input{width:120px}.review-bulk-bar>.error,.review-bulk-bar>[role=alert]{flex-basis:100%}.review-list{gap:var(--space-4);display:grid}.review-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0}.review-item-head{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);display:flex}.review-item-select{width:18px;height:18px;accent-color:var(--primary);flex:none;margin:3px 0 0}.review-item-who{flex:1;min-width:0}.review-item-who h2{font:var(--type-card-title);margin:0}.review-item-who p{color:var(--muted);font:var(--type-secondary);overflow-wrap:anywhere;margin:2px 0 0}.review-item-badges{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.review-item-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.review-item-work,.review-item-grade{align-content:start;gap:var(--space-3);min-width:0;padding:var(--space-5);display:grid}.review-item-grade{border-left:1px solid var(--border)}.review-item-work>h3{font:var(--type-label);color:var(--muted);margin:0}.review-item-work .assignment-activity h3{font:var(--type-label)}.review-result{gap:var(--space-3);display:grid}.review-result p{white-space:pre-line;margin:0}@media (min-width:1280px){.review-item-work{top:calc(var(--topbar-h) + var(--space-4));align-self:start;position:sticky}}@media (max-width:1279px){.review-item-body{grid-template-columns:minmax(0,1fr)}.review-item-grade{border-left:0;border-top:1px solid var(--border)}}@media (max-width:1023px){.teach-row{gap:var(--space-2) var(--space-4);grid-template-columns:minmax(0,1fr) auto}.teach-row-main{grid-column:1/-1}.teach-row-meta{gap:0 var(--space-2);flex-wrap:wrap;display:flex}.teach-row-meta span+span:before{content:"·";margin-right:var(--space-2)}.teach-row-count{grid-column:1}.teach-row-status{grid-area:2/2/span 2}}@media (max-width:767px){.teach-actions{width:100%}.teach-actions .button{min-height:var(--touch);flex:auto}.assignment-composer{padding:var(--space-4)}.assignment-composer-form{gap:var(--space-5)}.assignment-fieldset{padding-top:var(--space-5)}.assignment-form-actions .button{min-height:var(--touch);flex:auto}.teach-row{padding:var(--space-4);grid-template-columns:minmax(0,1fr)}.teach-row-text{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.teach-row-status{grid-area:auto/1;justify-content:space-between}.teach-row-status .button{min-height:var(--touch)}.review-bulk-bar{padding:var(--space-3) var(--space-4);gap:var(--space-2) var(--space-4)}.review-bulk-bar.has-selection{z-index:var(--z-sticky);top:calc(var(--topbar-h) + var(--space-2));box-shadow:var(--shadow-xs);position:sticky}.review-bulk-bar>.checkbox{min-height:var(--touch)}.review-bulk-score{flex-wrap:nowrap;width:100%}.review-bulk-score .field{flex:0 0 112px}.review-bulk-score input{width:100%}.review-bulk-score .button{min-height:var(--touch);flex:auto}.review-item-head{padding:var(--space-4);flex-wrap:wrap}.review-item-badges{padding-left:calc(18px + var(--space-3));flex-basis:100%;justify-content:flex-start}.review-item-work,.review-item-grade{padding:var(--space-4)}}.finance-summary{margin-bottom:var(--space-6)}.finance-summary .stat-cards{margin-bottom:0}.finance-summary .stat-card-icon{background:var(--raised);color:var(--muted)}.finance-summary .stat-card-value{font-size:var(--text-2xl)}.finance-stat-loading{border-radius:var(--radius-sm);background:var(--raised);width:9ch;height:1.2em;display:block}.finance-tabs{margin-bottom:var(--space-6)}.finance-panel:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}.finance-tab-label{align-items:center;gap:var(--space-2);display:inline-flex}.finance-tab-count{border-radius:var(--radius-full);background:var(--raised);min-width:20px;height:20px;color:var(--text);font:var(--type-caption);font-variant-numeric:tabular-nums;place-items:center;padding:0 6px;display:inline-grid}.finance-anchor{scroll-margin-top:calc(var(--topbar-h) + var(--space-4))}.finance-panel .toolbar-bar{margin-bottom:var(--space-4)}.finance-panel .toolbar-filters{min-width:0;max-width:100%}.finance-panel .segmented{flex-wrap:wrap;max-width:100%}.finance-panel .admin-section-head>.admin-actions{flex:none}@media (min-width:768px) and (max-width:1279px){.finance-summary .stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.finance-summary .stat-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:767px){.finance-summary .stat-cards{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.finance-summary .stat-card{padding:var(--space-3)}.finance-summary .stat-card-icon{display:none}.finance-summary .stat-card-value{font-size:var(--text-lg);overflow-wrap:anywhere}.finance-summary .stat-card-label{font:var(--type-caption)}}.finance-range-sep{font:var(--type-secondary);color:var(--muted)}.finance-foot,.finance-pager{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.finance-pager{justify-content:flex-start}.finance-count{font:var(--type-secondary);color:var(--muted);font-variant-numeric:tabular-nums}.finance-flags{margin-top:var(--space-2)}.finance-failure{align-items:flex-start;gap:var(--space-1);color:var(--danger);display:flex}.finance-failure svg{flex:none;margin-top:3px}.finance-plan-title,.finance-coupon-code,.finance-record-id{font-weight:var(--weight-semibold);color:var(--text)}.finance-plan-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:60ch;display:-webkit-box;overflow:hidden}.finance-guidance{max-width:72ch;margin-top:var(--space-1)}.finance-webhook-error{color:var(--danger)}@container (width>=1101px){.finance-webhook-error{display:none}}@container (width>=901px){.finance-coupon-plan,.finance-narrow-only{display:none}}.finance-pre{white-space:pre-line}.finance-all-clear{align-items:center;gap:var(--space-2);font:var(--type-body);color:var(--text);margin:0;display:flex}.finance-all-clear svg{color:var(--success);flex:none}.finance-allocate{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.finance-allocate select{flex:200px;max-width:320px}.finance-allocate [role=status]{font:var(--type-secondary);color:var(--success);flex-basis:100%}.finance-allocate .error,.finance-row-error{flex-basis:100%}@media (min-width:768px){.finance-queue .finance-allocate{min-width:470px}.finance-allocate select{flex:180px;max-width:240px}}@container (width<=900px){.finance-queue .finance-allocate{min-width:260px}.finance-allocate select{flex-basis:100%;max-width:none}}.finance-nowrap{white-space:nowrap}.finance-invoice-number{white-space:nowrap;overflow-wrap:normal}@media (max-width:767px){.finance-queue .finance-allocate{min-width:0}.finance-allocate select{flex-basis:100%;max-width:none}.finance-allocate>.button{flex:auto}}.finance-banner{align-items:flex-start;gap:var(--space-3);margin:0 0 var(--space-5);padding:var(--space-3) var(--space-4);border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-bg);color:var(--text);font:var(--type-body);display:flex}.finance-banner>svg{color:var(--danger);flex:none;margin-top:1px}.finance-banner p{margin:0}.finance-banner a,.finance-callout a,.finance-note a{color:var(--text);font-weight:var(--weight-medium);text-underline-offset:2px;text-decoration:underline}.finance-callout{align-items:flex-start;gap:var(--space-2);margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);border:1px solid var(--warning-border);border-radius:var(--radius-md);background:var(--warning-bg);color:var(--text);font:var(--type-secondary);max-width:72ch;display:flex}.finance-callout>svg{color:var(--warning);flex:none;margin-top:2px}.finance-callout p{margin:0}.finance-note{margin:var(--space-3) 0;font:var(--type-secondary);color:var(--muted)}.finance-dialog-heading{margin:var(--space-6) 0 var(--space-3);font:var(--type-card-title)}.finance-refund-payment{margin-bottom:var(--space-4)}.finance-figures{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--raised);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.finance-figures dt{font:var(--type-caption);color:var(--muted)}.finance-figures dd{margin:var(--space-1) 0 0;font:var(--type-body);font-weight:var(--weight-medium)}.finance-figures .is-key dd{font:var(--type-card-title)}@media (max-width:479px){.finance-figures{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}}.finance-refund-form{margin-top:var(--space-2)}.finance-refund-form .finance-dialog-heading{margin-top:var(--space-6)}.finance-amount-input{max-width:240px}.finance-refund-form .checkbox-field{margin-bottom:var(--space-2)}.finance-refunds{margin:0;padding:0;list-style:none}.finance-refunds>li{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.finance-refunds>li:first-child{padding-top:0}.finance-refunds>li:last-child{border-bottom:0}.finance-refund-head{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.finance-refund-meta{margin-top:var(--space-1);font:var(--type-secondary);color:var(--muted);display:block}.finance-inline-form{align-items:flex-end;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.finance-inline-form .field{flex:220px;margin-bottom:0}.admin-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-section+.admin-section{margin-top:var(--space-10)}.admin-section-head{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.admin-section-head>div{flex:280px;min-width:0}.admin-section-head h2{font:var(--type-section-title);color:var(--text);margin:0}.admin-section-head h3{font:var(--type-card-title);color:var(--text);margin:0}.admin-section-head p{margin:var(--space-1) 0 0;font:var(--type-secondary);color:var(--muted);max-width:68ch}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);min-width:0}.admin-card>h2,.admin-card>h3{margin:0 0 var(--space-4);font:var(--type-card-title)}.admin-well{background:var(--raised);border-radius:var(--radius-md);padding:var(--space-4)}.admin-grid-2{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:767px){.admin-grid-2{grid-template-columns:minmax(0,1fr)}.admin-card{padding:var(--space-5) var(--space-4)}.admin-section+.admin-section{margin-top:var(--space-8)}}.money,.num{font-variant-numeric:tabular-nums;white-space:nowrap}.money-strong{font-weight:var(--weight-semibold);color:var(--text)}.mono{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:max(.75rem,.92em)}.badge-stack{gap:var(--space-1);flex-wrap:wrap;display:flex}.records{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;overflow:clip}.records+.records-foot,.records-foot{margin-top:var(--space-4)}.records table{border-collapse:separate;border-spacing:0;width:100%;font:var(--type-body);color:var(--text)}.records caption{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.records th{top:var(--topbar-h);z-index:1;height:40px;padding:0 var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);font:var(--type-caption);color:var(--muted);text-align:left;white-space:nowrap;vertical-align:middle;position:sticky}.records th button{all:unset;cursor:pointer;align-items:center;gap:var(--space-1);min-height:32px;display:inline-flex}.records th button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset);border-radius:var(--radius-xs)}.records td{height:56px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle;min-width:0}.records tbody tr:last-child>td{border-bottom:0}.records tbody tr:hover>td{background:var(--surface-hover)}.records tbody tr.is-selected>td{background:var(--tint)}.rec-sub{font:var(--type-secondary);color:var(--muted);overflow-wrap:anywhere;display:block}.rec-primary-link{color:var(--text);font-weight:var(--weight-semibold);text-decoration:none}.rec-primary-link:hover{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.rec-person{align-items:center;gap:var(--space-3);min-width:0;display:flex}.rec-person>div{min-width:0}.rec-person .rec-primary-link,.rec-person strong{text-overflow:ellipsis;white-space:nowrap;max-width:28ch;display:block;overflow:hidden}.records .data-table .table-scroll{border:0;border-radius:0;overflow:visible}.records .data-table{margin:0}.records .data-table-bulk{border-width:0 0 1px;border-radius:0}.records .table-pagination{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);margin:0}.records{container-type:inline-size}.records td:has(>.rec-k-num){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.records table:has(tbody tr:first-child>td:first-child>.rec-k-num) th:first-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.records table:has(tbody tr:first-child>td:nth-child(2)>.rec-k-num) th:nth-child(2){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.records table:has(tbody tr:first-child>td:nth-child(3)>.rec-k-num) th:nth-child(3){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.records table:has(tbody tr:first-child>td:nth-child(4)>.rec-k-num) th:nth-child(4){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.records table:has(tbody tr:first-child>td:nth-child(5)>.rec-k-num) th:nth-child(5){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.records table:has(tbody tr:first-child>td:nth-child(6)>.rec-k-num) th:nth-child(6){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.records table:has(tbody tr:first-child>td:nth-child(7)>.rec-k-num) th:nth-child(7){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.records table:has(tbody tr:first-child>td:nth-child(8)>.rec-k-num) th:nth-child(8){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.records table:has(tbody tr:first-child>td:nth-child(9)>.rec-k-num) th:nth-child(9){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.records table:has(tbody tr:first-child>td:nth-child(10)>.rec-k-num) th:nth-child(10){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.records td:has(>.rec-k-actions){text-align:right;white-space:nowrap;width:1%}.records table:has(tbody tr:first-child>td:first-child>.rec-k-actions) th:first-child{text-align:right;white-space:nowrap;width:1%}.records table:has(tbody tr:first-child>td:nth-child(2)>.rec-k-actions) th:nth-child(2){text-align:right;white-space:nowrap;width:1%}.records table:has(tbody tr:first-child>td:nth-child(3)>.rec-k-actions) th:nth-child(3){text-align:right;white-space:nowrap;width:1%}.records table:has(tbody tr:first-child>td:nth-child(4)>.rec-k-actions) th:nth-child(4){text-align:right;white-space:nowrap;width:1%}.records table:has(tbody tr:first-child>td:nth-child(5)>.rec-k-actions) th:nth-child(5){text-align:right;white-space:nowrap;width:1%}.records table:has(tbody tr:first-child>td:nth-child(6)>.rec-k-actions) th:nth-child(6){text-align:right;white-space:nowrap;width:1%}.records table:has(tbody tr:first-child>td:nth-child(7)>.rec-k-actions) th:nth-child(7){text-align:right;white-space:nowrap;width:1%}.records table:has(tbody tr:first-child>td:nth-child(8)>.rec-k-actions) th:nth-child(8){text-align:right;white-space:nowrap;width:1%}.records table:has(tbody tr:first-child>td:nth-child(9)>.rec-k-actions) th:nth-child(9){text-align:right;white-space:nowrap;width:1%}.records table:has(tbody tr:first-child>td:nth-child(10)>.rec-k-actions) th:nth-child(10){text-align:right;white-space:nowrap;width:1%}@container (width<=1100px){.records td:has(>.rec-k-wide){display:none}.records table:has(tbody tr:first-child>td:first-child>.rec-k-wide) th:first-child{display:none}.records table:has(tbody tr:first-child>td:nth-child(2)>.rec-k-wide) th:nth-child(2){display:none}.records table:has(tbody tr:first-child>td:nth-child(3)>.rec-k-wide) th:nth-child(3){display:none}.records table:has(tbody tr:first-child>td:nth-child(4)>.rec-k-wide) th:nth-child(4){display:none}.records table:has(tbody tr:first-child>td:nth-child(5)>.rec-k-wide) th:nth-child(5){display:none}.records table:has(tbody tr:first-child>td:nth-child(6)>.rec-k-wide) th:nth-child(6){display:none}.records table:has(tbody tr:first-child>td:nth-child(7)>.rec-k-wide) th:nth-child(7){display:none}.records table:has(tbody tr:first-child>td:nth-child(8)>.rec-k-wide) th:nth-child(8){display:none}.records table:has(tbody tr:first-child>td:nth-child(9)>.rec-k-wide) th:nth-child(9){display:none}.records table:has(tbody tr:first-child>td:nth-child(10)>.rec-k-wide) th:nth-child(10){display:none}}@container (width<=900px){.records td:has(>.rec-k-optional){display:none}.records table:has(tbody tr:first-child>td:first-child>.rec-k-optional) th:first-child{display:none}.records table:has(tbody tr:first-child>td:nth-child(2)>.rec-k-optional) th:nth-child(2){display:none}.records table:has(tbody tr:first-child>td:nth-child(3)>.rec-k-optional) th:nth-child(3){display:none}.records table:has(tbody tr:first-child>td:nth-child(4)>.rec-k-optional) th:nth-child(4){display:none}.records table:has(tbody tr:first-child>td:nth-child(5)>.rec-k-optional) th:nth-child(5){display:none}.records table:has(tbody tr:first-child>td:nth-child(6)>.rec-k-optional) th:nth-child(6){display:none}.records table:has(tbody tr:first-child>td:nth-child(7)>.rec-k-optional) th:nth-child(7){display:none}.records table:has(tbody tr:first-child>td:nth-child(8)>.rec-k-optional) th:nth-child(8){display:none}.records table:has(tbody tr:first-child>td:nth-child(9)>.rec-k-optional) th:nth-child(9){display:none}.records table:has(tbody tr:first-child>td:nth-child(10)>.rec-k-optional) th:nth-child(10){display:none}.records th,.records td{padding-left:var(--space-3);padding-right:var(--space-3)}}@media (max-width:767px){.records{background:0 0;border:0;border-radius:0;overflow:visible}.records .table-pagination{padding:var(--space-2) 0 0;border-top:0}.records .rec-person .rec-primary-link,.records .rec-person strong{white-space:normal;max-width:none}.records .data-card{position:relative}.records .rec-stretch:after{content:"";border-radius:inherit;position:absolute;inset:0}.records .data-card-select,.records .data-card .card-action{z-index:1;position:relative}}.row-menu-trigger{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-md);min-height:0;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.row-menu-trigger:hover,.row-menu-trigger[aria-expanded=true]{background:var(--raised);color:var(--text)}.row-menu-trigger:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}@media (pointer:coarse),(max-width:767px){.row-menu-trigger{width:var(--touch);height:var(--touch)}}.row-menu{z-index:var(--z-dropdown);min-width:200px;max-width:min(320px,100vw - 32px);padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);text-align:left;position:fixed}.row-menu-item{align-items:center;gap:var(--space-2);width:100%;min-height:36px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text);font:var(--type-body);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.row-menu-item svg{width:16px;height:16px;color:var(--muted);flex:none}.row-menu-item:hover:not(:disabled),.row-menu-item:focus-visible{background:var(--raised);outline:none}.row-menu-item:disabled{color:var(--subtle);cursor:not-allowed;opacity:1}.row-menu-item.is-danger,.row-menu-item.is-danger svg{color:var(--danger)}.row-menu-item.is-danger:hover:not(:disabled){background:var(--danger-bg)}.row-menu-sep{height:1px;margin:var(--space-1) 0;background:var(--border)}@media (pointer:coarse),(max-width:767px){.row-menu-item{min-height:var(--touch)}}.detail-head{align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.detail-head-main{flex:280px;min-width:0}.detail-head h1{font:var(--type-page-title);color:var(--text);overflow-wrap:anywhere;margin:0}.detail-head-meta{align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-1);font:var(--type-secondary);color:var(--muted);flex-wrap:wrap;display:flex}.detail-head-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:767px){.detail-head{gap:var(--space-3)}.detail-head h1{font-size:var(--text-2xl);line-height:1.4}.detail-head-actions{width:100%}.detail-head-actions>.button{flex:auto}}.info-list{font:var(--type-body);grid-template-columns:minmax(120px,34%) minmax(0,1fr);margin:0;display:grid}.info-list>dt,.info-list>dd{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.info-list>dt:last-of-type,.info-list>dd:last-of-type{border-bottom:0}.info-list>dt{color:var(--muted);padding-right:var(--space-4)}.info-list>dd{color:var(--text);overflow-wrap:anywhere;min-width:0;margin:0}@media (max-width:479px){.info-list{grid-template-columns:minmax(0,1fr)}.info-list>dt{font:var(--type-label);border-bottom:0;padding-bottom:0}.info-list>dd{padding-top:var(--space-1)}}.form-section{gap:var(--space-4) var(--space-8);padding:var(--space-6) 0;border-top:1px solid var(--border);grid-template-columns:minmax(180px,240px) minmax(0,1fr);display:grid}.form-section:first-of-type{border-top:0;padding-top:0}.form-section-head h3{font:var(--type-card-title);margin:0}.form-section-head p{margin:var(--space-1) 0 0;font:var(--type-secondary);color:var(--muted)}.form-fields{gap:0 var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.form-fields>.span-2,.form-fields>.checkbox,.form-fields>fieldset{grid-column:1/-1}.form-fields .field{margin-bottom:var(--space-4)}.form-actions{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}@media (max-width:1023px){.form-section{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}}@media (max-width:767px){.form-fields{grid-template-columns:minmax(0,1fr)}.form-actions{flex-direction:column-reverse}.form-actions>.button{width:100%}}.settings-frame{container:settings-frame/inline-size}.settings-pane{container:settings-pane/inline-size}.settings-shell{gap:var(--space-8);grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.settings-nav{top:calc(var(--topbar-h) + var(--space-6));gap:2px;margin:0;padding:0;list-style:none;display:grid;position:sticky}.settings-nav-item{align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-md);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--muted);font:var(--type-button);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.settings-nav-item svg{width:var(--icon-md);height:var(--icon-md);flex:none}.settings-nav-item .settings-nav-chevron{margin-left:auto;display:none}.settings-nav-item:hover{background:var(--raised);color:var(--text)}.settings-nav-item[aria-current=true]{background:var(--tint);color:var(--primary)}.settings-nav-item:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.settings-pane{min-width:0}.settings-pane-head{margin-bottom:var(--space-4)}.settings-pane-head h2{font:var(--type-section-title);margin:0}.settings-pane-head p{margin:var(--space-1) 0 0;font:var(--type-secondary);color:var(--muted)}.settings-back{display:none}.setting-row{gap:var(--space-3) var(--space-8);padding:var(--space-5) 0;border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(240px,360px);align-items:start;display:grid}.setting-row:first-child{border-top:0;padding-top:0}.setting-row:last-child{padding-bottom:0}.setting-row-text h3,.setting-row-text label.setting-label{font:var(--type-label);font-size:var(--text-base);color:var(--text);margin:0;display:block}.setting-row-text p{margin:var(--space-1) 0 0;font:var(--type-secondary);color:var(--muted)}.setting-row-text .setting-state{margin-top:var(--space-2);font:var(--type-caption);color:var(--subtle);display:block}.setting-control{min-width:0}.setting-control .field{margin-bottom:var(--space-3)}.setting-control .field:last-child{margin-bottom:0}.save-bar{bottom:var(--space-4);z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-6);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-wrap:wrap;display:flex;position:sticky}.save-bar-text{align-items:center;gap:var(--space-2);font:var(--type-label);color:var(--text);display:flex}.save-bar-text svg{color:var(--warning)}.save-bar-actions{gap:var(--space-2);display:flex}@container settings-frame (width<=960px){.settings-shell{gap:var(--space-6);grid-template-columns:196px minmax(0,1fr)}}@container settings-frame (width<=720px){.settings-shell{grid-template-columns:minmax(0,1fr);gap:0}.settings-shell[data-view=detail] .settings-nav,.settings-shell[data-view=list] .settings-pane{display:none}.settings-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);gap:0;position:static;overflow:clip}.settings-nav li+li .settings-nav-item{border-top:1px solid var(--border)}.settings-nav-item{min-height:56px;padding:var(--space-3) var(--space-4);color:var(--text);border-radius:0}.settings-nav-item[aria-current=true]{color:var(--text);background:0 0}.settings-nav-item svg{color:var(--muted)}.settings-nav-item .settings-nav-chevron{display:block}.settings-back{margin-bottom:var(--space-3);display:inline-flex}}@container settings-pane (width<=600px){.setting-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}}@media (max-width:767px){.setting-row{padding:var(--space-4) 0}.save-bar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-2));padding:var(--space-3)}.save-bar-actions{width:100%}.save-bar-actions>.button{flex:1}}.date-range{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.date-range>.field{margin:0}.date-range input[type=date]{width:auto}.search-input{align-items:center;min-width:0;display:flex;position:relative}.search-input>svg{left:var(--space-3);color:var(--subtle);pointer-events:none;position:absolute}.search-input>input{width:100%;padding-left:calc(var(--space-3) + 24px)}@media (max-width:767px){.toolbar-filters>.date-range{flex-wrap:nowrap;grid-column:1/-1}.toolbar-filters .segmented-item{min-height:var(--touch)}.date-range>.field,.date-range>input[type=date]{flex:1 1 0;min-width:0}.date-range input[type=date]{width:100%}}.input-affix{align-items:center;display:flex;position:relative}.input-affix>span{left:var(--space-3);color:var(--muted);pointer-events:none;position:absolute}.input-affix>input{padding-left:calc(var(--space-3) + 16px);font-variant-numeric:tabular-nums}.bulk-bar{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);margin-bottom:var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex-wrap:wrap;display:flex}.bulk-bar-count{font:var(--type-label);color:var(--text);margin-right:auto}.bulk-bar-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:767px){.bulk-bar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-2));z-index:var(--z-sticky);padding:var(--space-3);box-shadow:var(--shadow-md);position:sticky}.bulk-bar-actions{width:100%}.bulk-bar-actions>.button{flex:auto}}.result-note{align-items:flex-start;gap:var(--space-3);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--success-border);border-radius:var(--radius-md);background:var(--success-bg);color:var(--text);font:var(--type-body);display:flex}.result-note>svg{color:var(--success);flex:none;margin-top:3px}.result-note.is-partial{border-color:var(--warning-border);background:var(--warning-bg)}.result-note.is-partial>svg{color:var(--warning)}.result-note p,.result-note ul{margin:var(--space-1) 0 0}.result-note ul{padding-left:var(--space-5)}.gst-invoice-viewer{min-width:0;color:var(--text)}.gst-invoice-heading{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.gst-invoice-title{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.gst-invoice-title>svg{color:var(--muted)}.gst-invoice-title h3{font:var(--type-card-title);overflow-wrap:anywhere;margin:0}.gst-invoice-close{margin-left:auto}.gst-invoice-status{margin-bottom:var(--space-4)}.gst-invoice-success{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--success-border);border-radius:var(--radius-md);background:var(--success-bg);color:var(--text);font:var(--type-body);display:flex}.gst-invoice-success svg{color:var(--success);flex:none}.gst-invoice-void-notice{margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-bg);font:var(--type-body)}.gst-invoice-void-notice>strong{font-weight:var(--weight-semibold)}.gst-invoice-void-notice p{margin:var(--space-1) 0 0;overflow-wrap:anywhere}.gst-invoice-void-notice .gst-invoice-void-date{font:var(--type-secondary);color:var(--muted)}.gst-invoice-meta{gap:var(--space-4);margin:0 0 var(--space-6);padding:var(--space-4);border-radius:var(--radius-md);background:var(--raised);grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));display:grid}.gst-invoice-meta dt{font:var(--type-caption);color:var(--muted)}.gst-invoice-meta dd{margin:var(--space-1) 0 0;min-width:0;font:var(--type-body);font-weight:var(--weight-medium);overflow-wrap:anywhere}.gst-invoice-meta .gst-invoice-total{font:var(--type-card-title)}.gst-invoice-parties{gap:var(--space-6);margin:0 0 var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));display:grid}.gst-invoice-parties>div{min-width:0}.gst-invoice-parties h4,.gst-invoice-breakdown-title{margin:0 0 var(--space-2);font:var(--type-caption);color:var(--muted)}.gst-invoice-parties p{overflow-wrap:anywhere;margin:0}.gst-invoice-party-name{font:var(--type-body);font-weight:var(--weight-semibold)}.gst-invoice-address{margin-top:var(--space-1);font:var(--type-secondary);color:var(--muted);white-space:pre-line}.gst-invoice-facts{gap:var(--space-1) var(--space-3);margin:var(--space-3) 0 0;font:var(--type-secondary);grid-template-columns:max-content minmax(0,1fr);display:grid}.gst-invoice-facts dt{color:var(--muted)}.gst-invoice-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.gst-invoice-table{border-collapse:collapse;width:100%;font:var(--type-body);font-variant-numeric:tabular-nums}.gst-invoice-table th{padding:var(--space-2) 0;border-bottom:1px solid var(--border);font:var(--type-caption);color:var(--muted);text-align:left}.gst-invoice-table td{padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.gst-invoice-table .gst-invoice-amount{padding-left:var(--space-4);text-align:right;white-space:nowrap}.gst-invoice-gross th,.gst-invoice-gross td{padding:var(--space-3) 0;border-top:1px solid var(--border-strong);font:var(--type-body);font-weight:var(--weight-semibold);color:var(--text);border-bottom:0}.gst-invoice-buttons{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.gst-invoice-actions{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.gst-invoice-actions .gst-invoice-void{margin-right:auto}.gst-invoice-void-form{margin-top:var(--space-6);padding:var(--space-4);border:1px solid var(--danger-border);border-radius:var(--radius-md)}.gst-invoice-void-form h4{margin:0 0 var(--space-1);font:var(--type-card-title)}.gst-invoice-void-form>p{margin:0 0 var(--space-4);font:var(--type-secondary);color:var(--muted)}.gst-invoice-void-form .field{margin-bottom:var(--space-4)}@media (max-width:767px){.gst-invoice-buttons{flex-direction:column-reverse}.gst-invoice-buttons>.button{width:100%}.gst-invoice-actions .gst-invoice-void{margin-right:0}}@media print{.gst-invoice-viewer{--text:#101a2b;--muted:#5b6574;--border:#e4e9eb;--border-strong:#cdd2d7;--raised:#f1f3f4;--surface:#fff;--danger:#b52a32;--danger-bg:#fef2f2;--danger-border:#fecaca;--success:#059669;--success-bg:#ecfdf5;--success-border:#a7f3d0;background:var(--surface);color:var(--text);margin:0;padding:0}.gst-invoice-close,.gst-invoice-actions,.gst-invoice-void-form,.gst-invoice-success{display:none}.gst-invoice-table{break-inside:avoid}}.live-sessions-page{flex-direction:column;min-width:0;display:flex}.live-tab{align-items:center;gap:var(--space-2);display:inline-flex}.tab-label-badge{min-width:20px;height:20px;padding:0 var(--space-1);border-radius:var(--radius-full);background:var(--raised);color:var(--muted);font:var(--type-caption);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:inline-flex}[role=tab][aria-selected=true] .tab-label-badge{background:var(--tint);color:var(--primary)}.live-search{align-items:center;display:flex;position:relative}.live-search-icon{left:var(--space-3);color:var(--subtle);pointer-events:none;position:absolute}.live-search input{width:100%;padding-left:calc(var(--space-3) + var(--icon-sm) + var(--space-2))}.live-filter-select{width:auto;min-width:150px}.live-schedule{gap:var(--space-8);flex-direction:column;display:flex}.live-day-title{margin:0 0 var(--space-3);color:var(--muted);font:var(--type-caption);letter-spacing:var(--tracking-overline);text-transform:uppercase}.live-day-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.live-day--now .live-day-title{color:var(--primary)}.live-day--now .live-day-list{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background:color-mix(in srgb, var(--tint) 60%, var(--surface))}.live-session-card{gap:var(--space-2) var(--space-6);padding:var(--space-5) var(--space-6);grid-template-columns:88px minmax(0,1fr) auto;align-items:start;display:grid}.live-session-card+.live-session-card{border-top:1px solid var(--border)}.live-session-when{gap:var(--space-1);flex-direction:column;padding-top:2px;display:flex}.live-session-time{color:var(--text);font:var(--type-label);font-weight:var(--weight-semibold);white-space:nowrap}.live-session-length{color:var(--muted);font:var(--type-secondary)}.live-session-main{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.live-session-status{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.live-session-title{color:var(--text);font:var(--type-card-title);overflow-wrap:anywhere;margin:0}.live-session-card--active .live-session-title{font:var(--type-section-title)}.live-session-meta{align-items:center;gap:var(--space-1) var(--space-2);color:var(--muted);font:var(--type-secondary);flex-wrap:wrap;margin:0;display:flex}.live-session-meta>span:not(:last-child):after{content:"·";margin-left:var(--space-2);color:var(--subtle)}.live-session-batch{align-items:center;gap:var(--space-1);display:inline-flex}.live-session-batch svg{flex:none}.live-session-desc{max-width:68ch;margin:var(--space-1) 0 0;color:var(--muted);font:var(--type-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.live-session-link{align-items:center;gap:var(--space-1);width:-moz-fit-content;width:fit-content;margin-top:var(--space-2);color:var(--primary);font:var(--type-label);display:inline-flex}.live-session-link:hover{text-underline-offset:3px;text-decoration:underline}.live-session-wait{margin:var(--space-1) 0 0;color:var(--muted);font:var(--type-secondary)}.live-session-card--past .live-session-title{color:var(--muted)}.live-session-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;max-width:420px;display:flex}@media (min-width:1280px){.live-session-actions{flex-wrap:nowrap;max-width:none}}.live-session-actions:empty{display:none}.live-status{align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);color:var(--muted);font:var(--type-caption);white-space:nowrap;display:inline-flex}.live-status svg{flex:none}.live-status--live{border-color:var(--success-border);background:var(--success-bg);color:var(--success)}.live-status--soon{border-color:var(--info-border);background:var(--info-bg);color:var(--info)}.live-status--warn{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning)}.live-status--cancelled{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.live-status .live-status-dot{border-radius:var(--radius-full);width:6px;height:6px;animation:liveListPulse 1.8s var(--ease-in-out) infinite;background:currentColor}@keyframes liveListPulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.live-status .live-status-dot{animation:none}}.live-countdown{color:var(--muted);font:var(--type-secondary);font-variant-numeric:tabular-nums}.live-session-card--active .live-countdown,.live-session-card--lead .live-countdown{color:var(--text);font-weight:var(--weight-medium)}.live-skeleton{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.live-skeleton-row{gap:var(--space-6);padding:var(--space-6);grid-template-columns:88px minmax(0,1fr) 160px;align-items:center;display:grid}.live-skeleton-row+.live-skeleton-row{border-top:1px solid var(--border)}.live-skeleton-row .skeleton-bar{width:100%;height:14px}.live-skeleton-row .skeleton-bar:nth-child(2){max-width:420px;height:18px}.live-skeleton-row .skeleton-bar:nth-child(3){height:var(--control-md);border-radius:var(--radius-md)}.live-empty-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-12) var(--space-6);text-align:center}.live-empty-actions{margin-top:var(--space-4);justify-content:center}.live-schedule-form{gap:var(--space-4);flex-direction:column;display:flex}.live-schedule-form .field{margin:0}.live-schedule-row{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.live-duration{align-items:center;gap:var(--space-2);margin-top:calc(var(--space-2) * -1);flex-wrap:wrap;display:flex}.live-duration-label{margin-right:var(--space-1);color:var(--muted);font:var(--type-label)}.live-duration-chip{height:var(--control-sm);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font:var(--type-label);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);align-items:center;display:inline-flex}.live-duration-chip:hover:where(:not(:disabled)){background:var(--surface-hover)}.live-duration-chip[aria-pressed=true]{border-color:var(--primary);background:var(--tint);color:var(--primary)}.live-duration-chip:disabled{opacity:.5;cursor:not-allowed}.live-duration-chip:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.live-schedule-suffix{align-items:center;gap:var(--space-2);color:var(--muted);font:var(--type-body);display:inline-flex}.live-schedule-suffix input{width:96px}.live-schedule-hint{color:var(--muted);font:var(--type-secondary);margin:0}.live-day-list{container-type:inline-size}@container (width<=820px){.live-session-card{grid-template-columns:72px minmax(0,1fr)}.live-session-actions{max-width:none;margin-top:var(--space-2);grid-column:2;justify-content:flex-start}@media (min-width:768px){.live-session-actions>.button.ghost:first-child{margin-inline-start:calc(var(--space-4) * -1)}}}@media (max-width:767px){.live-schedule{gap:var(--space-6)}.live-session-card{align-items:stretch;gap:var(--space-2);padding:var(--space-4);flex-direction:column;display:flex}.live-session-when{gap:var(--space-2);flex-direction:row;padding:0}.live-session-when>*+:before{content:"·";margin-right:var(--space-2);color:var(--subtle)}.live-session-card--active .live-session-title{font:var(--type-card-title)}.live-session-range{display:none}.live-session-actions{margin-top:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.live-session-actions>.button:not(.ghost),.live-session-actions>:only-child{grid-column:1/-1}.live-session-actions>.button{min-height:var(--touch)}.live-skeleton-row{gap:var(--space-3);padding:var(--space-4);grid-template-columns:1fr}.live-empty-panel{padding:var(--space-8) var(--space-4)}.live-filter-select{flex:140px;min-width:0}.live-schedule-row{grid-template-columns:minmax(0,1fr)}.live-duration-chip,.live-session-link{min-height:var(--touch)}}.daily-board{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.db-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.daily-board .db-head h2{align-items:baseline;gap:0 var(--space-2);min-width:0;font:var(--type-section-title);color:var(--text);flex-wrap:wrap;margin:0;display:flex}.daily-board-compact .db-head h2{font:var(--type-card-title)}.db-head-sep{color:var(--muted)}.db-head-date{color:var(--muted);font-weight:var(--weight-medium)}.daily-board-compact .db-head-sep{display:none}.daily-board-compact .db-head-date{font:var(--type-secondary);flex-basis:100%}.db-tiles{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:stretch;display:grid}.db-tile{gap:var(--space-3);min-width:0;padding:var(--space-4);border-radius:var(--radius-md);background:var(--raised);flex-direction:column;display:flex}.daily-board-compact .db-tiles{grid-template-columns:minmax(0,1fr);gap:0}.daily-board-compact .db-tile{padding:var(--space-4) 0;background:0 0;border-radius:0}.daily-board-compact .db-tile:first-child{padding-top:0}.daily-board-compact .db-tile+.db-tile{border-top:1px solid var(--border)}.db-tile-title{align-items:center;gap:var(--space-2);font:var(--type-label);color:var(--muted);margin:0;display:flex}.db-tile-title svg{color:var(--muted);flex:none}.db-empty,.db-hint{color:var(--muted);margin:0}.db-empty{font-size:var(--text-base)}.db-hint{font-size:var(--text-sm)}.db-links{gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin-top:auto;display:flex}.db-puzzle{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.db-puzzle-copy{align-items:flex-start;gap:var(--space-2);flex-direction:column;flex:140px;min-width:0;display:flex}.db-puzzle-name{font:var(--type-card-title);color:var(--text);overflow-wrap:anywhere;margin:0}.db-meta{align-items:center;gap:var(--space-1) var(--space-2);color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;margin:0;display:flex}.db-solved{align-items:center;gap:var(--space-1);color:var(--success);font-weight:var(--weight-semibold);font-size:var(--text-sm);margin:0;display:inline-flex}.db-thumb{aspect-ratio:1;border-radius:var(--radius-md);width:160px;box-shadow:var(--shadow-xs);flex:none;grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden}.db-thumb-sm{width:112px}.db-thumb>span{aspect-ratio:1;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1;display:grid}.db-thumb-sm>span{font-size:11px}.db-thumb-missing{color:var(--muted);font-size:var(--text-sm);margin:0}.db-question{align-items:stretch;gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.db-question fieldset{border:0;min-width:0;margin:0;padding:0}.db-question-text{margin:0 0 var(--space-1);color:var(--text);font:var(--type-card-title);overflow-wrap:anywhere;padding:0}.db-question fieldset .db-hint{margin-bottom:var(--space-2)}.db-question>.button{align-self:flex-start}.db-options{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.db-option{align-items:center;gap:var(--space-2) var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);flex-wrap:wrap;display:flex}.db-option.is-choosable{cursor:pointer}.db-option.is-choosable:hover{border-color:var(--primary)}.db-option.is-chosen{border-color:var(--primary);background:var(--tint)}.db-option:focus-within{box-shadow:var(--focus-ring)}.db-option input[type=radio]{width:18px;height:18px;accent-color:var(--primary);flex:none;margin:0}.db-option.is-correct{border-color:var(--success-border);background:var(--success-bg)}.db-option.is-wrong{border-color:var(--danger-border);background:var(--danger-bg)}.db-option-letter{border-radius:var(--radius-full);background:var(--raised);width:24px;height:24px;font-size:var(--text-sm);font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}.db-option-text{overflow-wrap:anywhere;flex:8rem;min-width:0}.db-option-note{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:inline-flex}.db-option.is-correct .db-option-note{color:var(--success)}.db-option.is-wrong .db-option-note{color:var(--danger)}.db-result:empty{display:none}.db-result:focus{outline:none}.db-result:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}.db-result p{align-items:center;gap:var(--space-2);margin:0;display:flex}.db-result p.is-correct{color:var(--success);font-weight:var(--weight-semibold)}.db-result p.is-wrong{color:var(--danger);font-weight:var(--weight-semibold)}.db-result svg{flex:none}.db-explanation{padding:var(--space-3);border-radius:var(--radius-md);background:var(--raised);font-size:var(--text-sm);line-height:var(--leading-normal);overflow-wrap:anywhere;margin:0}.db-thought{padding-left:var(--space-3);border-left:3px solid var(--primary);margin:0}.db-thought blockquote{margin:0}.db-thought blockquote p{font-size:var(--text-base);font-style:italic;line-height:var(--leading-relaxed);overflow-wrap:anywhere;margin:0}.db-thought figcaption{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-sm)}.db-planner{gap:var(--space-6);min-width:0;display:grid}.db-planner>.panel{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.db-planner h2{margin:0}.db-planner-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.db-planner-head p{margin:var(--space-1) 0 0;max-width:60ch}.db-planner-count{color:var(--muted);white-space:nowrap}.db-planner-count strong{color:var(--text);font-size:var(--text-xl)}.db-saved{align-items:center;gap:var(--space-2);color:var(--success);font-weight:var(--weight-medium);margin:0;display:flex}.db-days{margin:0;padding:0;list-style:none}.db-days>li{align-items:center;gap:var(--space-1) var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border);grid-template-columns:10rem minmax(0,1fr) auto;grid-template-areas:"date chips action""date meta action";display:grid}.db-days>li:last-child{border-bottom:0}.db-days-past>li{grid-template-columns:10rem minmax(0,1fr);grid-template-areas:"date chips""date meta"}.db-day-date{align-items:center;gap:var(--space-2);flex-wrap:wrap;grid-area:date;display:flex}.db-days>li>.db-chips{grid-area:chips}.db-day-meta{align-items:center;gap:var(--space-1) var(--space-3);color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;grid-area:meta;margin:0;display:flex}.db-day-meta:empty{display:none}.db-days>li>.button{grid-area:action}.db-chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.db-chip{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-medium);display:inline-flex}.db-chip.is-set{border-color:var(--success-border);background:var(--success-bg);color:var(--success)}.db-chip.is-auto{border-color:var(--info-border);background:var(--info-bg);color:var(--info)}.db-chip.is-missing{color:var(--muted);border-style:dashed}@media (max-width:640px){.db-days>li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date action""chips chips""meta meta"}.db-days-past>li{grid-template-columns:minmax(0,1fr);grid-template-areas:"date""chips""meta"}}.db-editor{gap:var(--space-5);min-width:0;display:grid}.db-editor-section{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);margin:0;display:grid}.db-editor-section>legend{padding:0 var(--space-2);font-weight:var(--weight-semibold)}.db-answers{gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.db-answers>legend{margin-bottom:var(--space-2);font-size:var(--text-md);font-weight:var(--weight-medium);padding:0}.db-answers>.button{justify-self:start}.db-answer-row{align-items:flex-start;gap:var(--space-2);min-width:0;display:flex}.db-answer-correct{cursor:pointer;flex:none;place-items:center;min-width:44px;min-height:46px;display:grid}.db-answer-correct input{width:20px;height:20px;accent-color:var(--primary);margin:0}.db-answer-row .db-answer-input{flex:auto;min-width:0;margin:0}.db-answer-row>.button{flex:none;min-height:46px}.db-lock{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--warning-border);border-radius:var(--radius-md);background:var(--warning-bg);color:var(--text);font-size:var(--text-sm);margin:0;display:flex}.db-lock svg{color:var(--warning);flex:none}.db-form-error{padding:var(--space-3);border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-bg);color:var(--danger);font-weight:var(--weight-medium);margin:0}.db-picker{gap:var(--space-3);min-width:0;display:grid}.db-picker-chosen{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.db-picker-chosen>div{gap:var(--space-2);flex-direction:column;flex:160px;min-width:0;display:flex}.db-row-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.db-picker-browse{gap:var(--space-3);min-width:0;display:grid}.db-picker-list{gap:var(--space-2);max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.db-picker-list>li{align-items:center;gap:var(--space-3);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.db-picker-list .db-thumb{width:72px}.db-picker-list .db-thumb>span{font-size:8px}.db-picker-copy{gap:var(--space-1);flex-direction:column;flex:140px;min-width:0;display:flex}.db-editor-footer{align-items:center;gap:var(--space-2);flex-wrap:wrap;width:100%;display:flex}.db-editor-spacer{flex:auto}.db-archive{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.db-archive>h2{align-items:center;gap:var(--space-2);font:var(--type-section-title);color:var(--text);margin:0;display:flex}.db-archive>h2 svg{color:var(--muted)}.db-archive>.button{align-self:flex-start}.db-past-days{gap:var(--space-6);margin:0;padding:0;list-style:none;display:grid}.db-past-days>li+li{padding-top:var(--space-6);border-top:1px solid var(--border)}.db-past-day h3{margin:0 0 var(--space-3);font:var(--type-card-title);color:var(--text)}.db-archive .db-explanation,.daily-board-full .db-explanation{background:var(--surface)}.notification-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notification-count,.notification-chip-count{min-width:20px;height:20px;padding:0 var(--space-1);margin-left:var(--space-2);border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);font:var(--type-caption);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:inline-flex}.notification-filters{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}.notification-chips{gap:var(--space-2);flex-wrap:wrap;display:flex;position:relative}.notification-chips button{min-height:var(--control-sm);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--muted);font:var(--type-label);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);align-items:center;display:inline-flex}.notification-chips button:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.notification-chips button[aria-pressed=true]{border-color:var(--primary);background:var(--tint);color:var(--text);font-weight:var(--weight-semibold)}.notification-chips button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.updates-toolbar{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.updates-toolbar-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.notification-unread-toggle .checkbox,.notification-quiet-toggle .checkbox{min-height:var(--control-md);font:var(--type-label);color:var(--text);cursor:pointer;margin:0}.notification-unread-toggle .checkbox>input,.notification-quiet-toggle .checkbox>input{align-self:center;margin-top:0}.notification-groups{gap:var(--space-6);display:grid}.notification-swipe{position:relative;overflow:hidden}.notification-swipe+.notification-swipe{border-top:1px solid var(--border)}.notification-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-6);background:var(--surface);touch-action:pan-y;will-change:transform;display:flex;position:relative}.notification-row.unread{background:color-mix(in srgb, var(--primary) 4%, var(--surface))}.notification-unread-dot{top:calc(var(--space-4) + 14px);left:var(--space-2);border-radius:var(--radius-full);background:var(--primary);width:8px;height:8px;position:absolute}.notification-icon{border-radius:var(--radius-full);background:var(--raised);width:36px;height:36px;color:var(--muted);flex:none;place-items:center;display:grid}.notification-row.unread .notification-icon{color:var(--text)}.notification-link{min-width:0;color:inherit;border-radius:var(--radius-sm);flex:1;gap:2px;text-decoration:none;display:grid}.notification-link:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.notification-title{font:var(--type-body);font-weight:var(--weight-medium);color:var(--text);overflow-wrap:anywhere}.notification-row.unread .notification-title{font-weight:var(--weight-semibold)}.notification-link:hover .notification-title{text-underline-offset:3px;text-decoration:underline}.notification-body{font:var(--type-secondary);color:var(--muted);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.notification-event{justify-self:start;align-items:center;gap:var(--space-2);margin-top:var(--space-1);padding:2px var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);font:var(--type-label);color:var(--text);display:inline-flex}.notification-event>svg{color:var(--muted)}.notification-meta{margin-top:var(--space-1);font:var(--type-caption);font-weight:var(--weight-regular);color:var(--subtle)}.notification-category{font-weight:var(--weight-medium);color:var(--muted)}.notification-more{justify-self:center}.notification-row-actions{align-items:center;gap:var(--space-1);margin:-6px calc(-1 * var(--space-2)) -6px 0;flex:none;display:flex}.notification-delete:hover:not(:disabled),.notification-delete:focus-visible{color:var(--danger);background:var(--danger-bg)}@media (hover:hover) and (pointer:fine) and (min-width:768px){.notification-row-actions .icon-button{width:var(--control-md);min-width:var(--control-md);min-height:var(--control-md)}}@media (hover:hover) and (pointer:fine){.notification-row .notification-row-actions{opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.notification-row:hover .notification-row-actions,.notification-row:focus-within .notification-row-actions{opacity:1}}.notification-swipe-hint{justify-content:flex-end;align-items:center;gap:var(--space-2);padding-right:var(--space-5);background:var(--danger-bg);color:var(--danger);font:var(--type-label);font-weight:var(--weight-semibold);pointer-events:none;display:flex;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.notification-row{transition:none!important}}.notification-settings{gap:var(--space-6);max-width:var(--content-max-reading);display:grid}.notification-prefs{padding:var(--space-6);box-shadow:none}.notification-prefs-head{gap:var(--space-1);margin-bottom:var(--space-5);display:grid}.notification-prefs-head h2{align-items:center;gap:var(--space-2);font:var(--type-card-title);margin:0;display:flex}.notification-prefs-head h2>svg{color:var(--muted)}.notification-prefs-head p{font:var(--type-secondary);margin:0}.notification-prefs-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.notification-pref-table{border-collapse:collapse;width:100%}.notification-pref-table th,.notification-pref-table td{padding:var(--space-3) var(--space-2);border-top:1px solid var(--border);text-align:left;vertical-align:middle}.notification-pref-table thead th{font:var(--type-caption);color:var(--muted);border-top:0;padding-top:0}.notification-pref-table th:first-child{padding-left:0}.notification-pref-table tbody th{font-weight:var(--weight-regular)}.notification-pref-table tbody th strong{font:var(--type-body);font-weight:var(--weight-medium);display:block}.notification-pref-table tbody th small{font:var(--type-secondary);margin-top:2px;display:block}.notification-pref-na{font:var(--type-secondary);color:var(--subtle)}.notification-switch{align-items:center;gap:var(--space-2);min-height:var(--control-md);cursor:pointer;display:inline-flex;position:relative}.notification-switch input{opacity:0;cursor:pointer;width:40px;height:24px;margin:auto 0;position:absolute;inset:0}.notification-switch-track{border-radius:var(--radius-full);background:var(--border-strong);width:40px;height:24px;transition:background-color var(--duration-fast) var(--ease-out);flex:none;position:relative}.notification-switch-track:after{content:"";border-radius:var(--radius-full);background:var(--surface);width:18px;height:18px;box-shadow:var(--shadow-xs);transition:transform var(--duration-fast) var(--ease-out);position:absolute;top:3px;left:3px}.notification-switch input:checked+.notification-switch-track{background:var(--primary)}.notification-switch input:checked+.notification-switch-track:after{transform:translate(16px)}.notification-switch input:focus-visible+.notification-switch-track{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.notification-switch input:disabled,.notification-switch.locked{cursor:not-allowed}.notification-switch input:disabled+.notification-switch-track{opacity:.55}.notification-switch-lock{align-items:center;gap:var(--space-1);font:var(--type-caption);color:var(--muted);display:inline-flex}.notification-quiet,.notification-parent{gap:var(--space-4);display:grid}.notification-quiet-fields,.notification-parent-fields{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));display:grid}.notification-quiet-fields .field,.notification-parent-fields .field{margin-bottom:0}.notification-parent-consents{gap:var(--space-1);display:grid}.notification-parent-consents .checkbox{min-height:var(--control-md);margin:0}.notification-quiet .control:disabled{opacity:.6}@media (prefers-reduced-motion:reduce){.notification-switch-track,.notification-switch-track:after{transition:none}}.delivery-logs-section .toolbar-bar{margin-bottom:var(--space-4)}.delivery-logs-section .toolbar-filters .control{width:auto;min-width:160px}.delivery-channel{font:var(--type-label);color:var(--muted)}.delivery-primary{font-weight:var(--weight-medium);color:var(--text);overflow-wrap:anywhere;display:block}.delivery-role{font:var(--type-secondary);color:var(--muted);text-transform:capitalize;display:block}.delivery-error{font:var(--type-secondary);color:var(--danger);overflow-wrap:anywhere;margin-top:2px;display:block}.delivery-table .data-table td{vertical-align:top}.delivery-card{gap:var(--space-1);padding:var(--space-4);display:grid}.delivery-card+.delivery-card{border-top:1px solid var(--border)}.delivery-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.delivery-card-meta{font:var(--type-secondary);color:var(--muted);margin:0}.announce-audience{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.announce-audience .field{margin-bottom:0}.announce-channels{gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.announce-channels legend{padding:0 0 var(--space-2);font:var(--type-label);color:var(--text)}.announce-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.announce-chip{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.announce-chip-face{align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--muted);font:var(--type-label);transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);display:inline-flex}.announce-chip:hover .announce-chip-face{border-color:var(--primary);color:var(--text)}.announce-chip input:checked+.announce-chip-face{background:var(--tint);border-color:var(--primary);color:var(--text);font-weight:var(--weight-semibold)}.announce-chip input:focus-visible+.announce-chip-face{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.announce-chip-icon{color:var(--muted);display:inline-flex}.announce-chip input:checked+.announce-chip-face .announce-chip-icon{color:var(--primary)}.announce-composer-foot{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;width:100%;display:flex}.announce-reach{align-items:flex-start;gap:var(--space-2);min-width:0;font:var(--type-secondary);color:var(--muted);flex:260px;margin:0;display:flex}.announce-reach>svg{flex:none;margin-top:2px}.announce-composer-actions{gap:var(--space-2);margin-left:auto;display:flex}@media (max-width:767px){.notification-chips{max-width:100%;padding-bottom:var(--space-1);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.notification-filters,.updates-toolbar{min-width:0}.updates-toolbar-actions{width:100%}.updates-toolbar-actions>.button{min-height:var(--touch);flex:auto}.notification-chips::-webkit-scrollbar{display:none}.notification-chips button{min-height:var(--touch);min-width:var(--touch);flex:none}.notification-unread-toggle .checkbox,.notification-quiet-toggle .checkbox,.notification-parent-consents .checkbox{min-height:var(--touch)}.notification-row{padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5)}.notification-unread-dot{top:calc(var(--space-3) + 14px);left:6px}.notification-prefs{padding:var(--space-4)}.notification-prefs-actions>.button{flex:auto}.notification-pref-table thead{display:none}.notification-pref-table,.notification-pref-table tbody,.notification-pref-table tr{display:block}.notification-pref-table tr{padding:var(--space-3) 0;border-top:1px solid var(--border)}.notification-pref-table tbody tr:first-child{border-top:0;padding-top:0}.notification-pref-table tbody th,.notification-pref-table td{border:0;padding:0;display:flex}.notification-pref-table tbody th{margin-bottom:var(--space-1);display:block}.notification-pref-table td{min-height:var(--touch);justify-content:space-between;align-items:center}.notification-pref-table td:before{content:attr(data-label);font:var(--type-body);color:var(--text)}.notification-switch{min-height:var(--touch);flex-direction:row-reverse}.delivery-logs-section .toolbar-filters{width:100%}.delivery-logs-section .toolbar-filters .control{flex:140px;min-width:0}.announce-chip-face{min-height:var(--touch)}.announce-composer-actions{width:100%;margin-left:0}.announce-composer-actions>.button{flex:1}}.notice-board{gap:var(--space-8);display:grid}.notice-section{gap:var(--space-3);display:grid}.nb-group-heading{font:var(--type-label);font-weight:var(--weight-semibold);color:var(--muted);margin:0}.nb-tab-intro{margin:0 0 var(--space-4);font:var(--type-secondary);color:var(--muted)}.nb-actions{justify-content:flex-end;display:flex}.nb-empty{padding:var(--space-4);box-shadow:none}.nb-badge{align-items:center;gap:var(--space-1);white-space:nowrap;display:inline-flex}.nb-badge>svg{flex:none}.nb-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.notice-list>li+li{border-top:1px solid var(--border)}.notice-list>li{min-width:0}.notice-card{align-items:flex-start;gap:var(--space-4);min-width:0;padding:var(--space-5);background:var(--surface);scroll-margin:calc(var(--topbar-h) + var(--space-4));display:flex;position:relative}.notice-card:focus-visible{outline:var(--focus-outline);outline-offset:-2px}.notice-card.is-highlighted{background:color-mix(in srgb, var(--primary) 5%, var(--surface));box-shadow:inset 3px 0 0 var(--primary)}.notice-icon{border-radius:var(--radius-md);flex:none;place-items:center;width:40px;height:40px;display:grid}.notice-card-main{gap:var(--space-2);flex:1;min-width:0;display:grid}.notice-card-head{align-items:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;min-height:22px;display:flex}.notice-kind{font:var(--type-caption);color:var(--muted)}.notice-pinned{align-items:center;gap:var(--space-1);font:var(--type-caption);color:var(--text);display:inline-flex}.notice-pinned>svg{color:var(--primary)}.notice-card-title{font:var(--type-card-title);color:var(--text);overflow-wrap:anywhere;margin:0}.notice-card-body{max-width:72ch;font:var(--type-body);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.notice-card-foot{gap:var(--space-1) var(--space-4);font:var(--type-secondary);color:var(--muted);flex-wrap:wrap;display:flex}.notice-event{justify-self:start;align-items:flex-start;gap:var(--space-2);max-width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--raised);font:var(--type-secondary);color:var(--text);overflow-wrap:anywhere;margin:0;display:flex}.notice-event strong{font-weight:var(--weight-semibold)}.notice-event>svg{color:var(--muted);flex:none;margin-top:2px}.notice-event.is-soon{border-color:var(--warning-border);background:var(--warning-bg)}.notice-event.is-soon>svg{color:var(--warning)}.notice-event.is-soon .notice-event-relative{font-weight:var(--weight-semibold)}.notice-event.is-past{color:var(--muted)}.notice-missing{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid var(--info-border);border-radius:var(--radius-lg);background:var(--info-bg);color:var(--text);font:var(--type-body);display:flex}.notice-missing>svg{color:var(--info);flex:none}.notice-missing p{flex:1;margin:0}.nb-skeleton-row{align-items:center;gap:var(--space-4);padding:var(--space-5);display:flex}.nb-skeleton-row+.nb-skeleton-row{border-top:1px solid var(--border)}.nb-skeleton-icon.skeleton-bar{border-radius:var(--radius-md);flex:none;width:40px;height:40px}.nb-skeleton-lines{gap:var(--space-2);flex:1;display:grid}.nb-skeleton-lines>.skeleton-bar:first-child{width:min(320px,70%);height:16px}.nb-skeleton-lines>.skeleton-bar:last-child{width:min(520px,90%);height:12px}.notice-filters{margin-bottom:var(--space-4);scrollbar-width:none;max-width:100%;overflow-x:auto}.notice-filters::-webkit-scrollbar{display:none}.managed-notice.is-archived .notice-card-title,.managed-notice.is-ended .notice-card-title{color:var(--muted)}.managed-notice-body{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.managed-notice-meta{gap:var(--space-1) var(--space-5);font:var(--type-secondary);flex-wrap:wrap;margin:0;display:flex}.managed-notice-meta>div{gap:var(--space-1);min-width:0;display:flex}.managed-notice-meta dt{color:var(--muted)}.managed-notice-meta dd{font-weight:var(--weight-medium);color:var(--text);overflow-wrap:anywhere;margin:0}.managed-notice-actions{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.managed-notice-archive{color:var(--danger)}.managed-notice-archive:hover:where(:not(:disabled)){background:var(--danger-bg)}.notice-composer{gap:var(--space-6);display:grid}.notice-composer>.error{margin:0}.notice-composer-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.notice-composer-row.is-title{grid-template-columns:minmax(0,12rem) minmax(0,1fr)}.notice-composer .field{margin-bottom:0}.notice-composer .checkbox{min-height:var(--control-md);margin:0}.notice-fieldset{gap:var(--space-4);min-width:0;padding:var(--space-5) 0 0;border:0;border-top:1px solid var(--border);margin:0;display:grid}.notice-fieldset:first-of-type{border-top:0;padding-top:0}.notice-fieldset>legend{float:left;width:100%;font:var(--type-card-title);color:var(--text);margin:0;padding:0}.notice-fieldset>legend+*{clear:both}.notice-fieldset:disabled .announce-chip,.notice-fieldset:disabled select{cursor:not-allowed;opacity:.7}.notice-fixed-note{font:var(--type-secondary);margin:0}.notice-publish-field{max-width:320px}.notice-facts{gap:var(--space-1);margin:0;padding-left:1.2em;display:grid}@media (max-width:767px){.notice-board{gap:var(--space-6)}.notice-card{gap:var(--space-3);padding:var(--space-4)}.notice-icon{width:36px;height:36px}.nb-skeleton-row{padding:var(--space-4)}.notice-composer-row.is-title{grid-template-columns:minmax(0,1fr)}.notice-composer .checkbox{min-height:var(--touch)}.notice-publish-field{max-width:none}.notice-filters .segmented-item{min-height:var(--touch);min-width:var(--touch)}.managed-notice-actions .button{min-height:var(--touch);flex:auto}}.notice-composer .checkbox>input{align-self:center;margin-top:0}.people-muted{font:var(--type-secondary);color:var(--muted);margin:0}.people-none{font:var(--type-secondary);color:var(--subtle)}.people-cell-strong{font-weight:var(--weight-semibold);color:var(--text);display:block}.people-link-button{min-height:0;font:inherit;font-weight:var(--weight-semibold);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:inline}.people-link-button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset);border-radius:var(--radius-xs)}.people-name-line{align-items:center;gap:var(--space-2);min-width:0;display:flex}.people-slug{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.people-span-2{grid-column:1/-1}@media (max-width:767px){.people-head-actions{width:100%}.people-head-actions>.button{flex:auto}}.people-stats .stat-card-icon{background:var(--raised);color:var(--muted)}.people-stats .stat-cards{margin-bottom:var(--space-4)}@media (max-width:767px){.people-stats .stat-cards{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.people-stats .stat-card{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);flex-direction:column}.people-stats .stat-card-icon{display:none}.people-stats .stat-card-value{font-size:var(--text-xl)}.people-stats .stat-card-label{font:var(--type-caption)}}.people-contact-lines{gap:2px;min-width:0;display:grid}.people-contact-line{align-items:center;gap:var(--space-2);min-width:0;font:var(--type-secondary);color:var(--text);display:flex}.people-contact-line>svg{color:var(--subtle);flex:none}.people-contact-line>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.people-contact-line+.people-contact-line{color:var(--muted)}.people-records .data-table-bulk{display:none}@media (max-width:767px){.people-contact-lines{gap:0 var(--space-3);flex-wrap:wrap;display:flex}.people-contact-line,.people-contact-line+.people-contact-line{color:var(--muted)}}.people-modal-form .form-section{gap:var(--space-3);padding:var(--space-5) 0;grid-template-columns:minmax(0,1fr)}.people-modal-form .form-section:first-of-type{padding-top:0}.people-modal-form .form-section:last-of-type{padding-bottom:0}.people-form-summary{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-bg);color:var(--danger);font:var(--type-secondary)}.people-activation{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--success-border);border-radius:var(--radius-lg);background:var(--success-bg);color:var(--text);font:var(--type-body);display:flex}.people-activation>svg{color:var(--success);flex:none;margin-top:1px}.people-activation p{margin:0}.people-code{margin:var(--space-3) 0;padding:var(--space-2) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xl);letter-spacing:.08em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;display:inline-block}.people-activation-hint{font:var(--type-secondary);color:var(--muted)}.people-bulk-bar{top:calc(var(--topbar-h) + var(--space-2));z-index:var(--z-sticky);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);position:sticky}.people-bulk-main{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.people-bulk-count{font:var(--type-label);color:var(--text);white-space:nowrap}.people-bulk-actions{gap:var(--space-2);flex-wrap:wrap;flex:auto;display:flex}.people-bulk-clear{margin-left:auto}.people-bulk-progress{margin:var(--space-2) 0 0;font:var(--type-secondary);color:var(--muted)}.people-bulk-bar .error{margin:var(--space-2) 0 0}.people-confirm-list{margin:var(--space-2) 0 0;padding-left:var(--space-5)}@media (max-width:767px){.people-bulk-bar{top:calc(var(--topbar-h) + var(--space-1));padding:var(--space-3)}.people-bulk-main{gap:var(--space-2)}.people-bulk-count{flex:1}.people-bulk-clear{order:-1;margin-left:0}.people-bulk-main{justify-content:space-between}.people-bulk-actions{flex-basis:100%;order:1}.people-bulk-actions>.button{flex:1 1 calc(50% - var(--space-2));min-height:var(--touch)}.people-bulk-clear{min-height:var(--touch)}}.people-bulk-results{margin-bottom:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--success-border);border-radius:var(--radius-lg);background:var(--surface)}.people-bulk-results.has-failures{border-color:var(--warning-border)}.people-bulk-results-head{align-items:flex-start;gap:var(--space-3);display:flex}.people-bulk-results-head>svg{color:var(--success);flex:none;margin-top:2px}.people-bulk-results.has-failures .people-bulk-results-head>svg{color:var(--warning)}.people-bulk-results-head>div{flex:1;min-width:0}.people-bulk-results-head h2{font:var(--type-card-title);margin:0}.people-bulk-results-head p{margin:var(--space-1) 0 0;font:var(--type-secondary);color:var(--muted)}.people-bulk-results-list{max-height:240px;margin:var(--space-3) 0 0;gap:2px;padding:0;list-style:none;display:grid;overflow-y:auto}.people-bulk-results-list:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.people-bulk-results-list li{align-items:baseline;gap:0 var(--space-2);padding:var(--space-1) 0;font:var(--type-body);flex-wrap:wrap;display:flex}.people-bulk-results-list li>svg{flex:none;align-self:center}.people-bulk-results-list li.is-ok>svg{color:var(--success)}.people-bulk-results-list li.is-failed>svg{color:var(--danger)}.people-bulk-results-name{font-weight:var(--weight-medium)}.people-bulk-results-message{font:var(--type-secondary);color:var(--muted)}.people-detail-head{align-items:center}.people-detail-head .avatar-xl{width:72px;min-width:72px;height:72px;font-size:var(--text-2xl)}.people-avatar-skeleton{border-radius:var(--radius-full);background:var(--raised);flex:none;width:72px;height:72px}.people-detail-callout{margin-bottom:var(--space-5)}.people-detail-tabs{margin-bottom:var(--space-6)}.people-detail-panel:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset);border-radius:var(--radius-md)}.people-detail-panel .admin-card>h2,.people-detail-panel .panel>h2{margin:0 0 var(--space-2);font:var(--type-card-title)}.people-detail-panel .admin-card>.people-muted{margin-bottom:var(--space-3)}.people-detail-panel .admin-card>p.muted{margin:0 0 var(--space-3);font:var(--type-secondary)}@media (max-width:767px){.people-detail-head .avatar-xl{width:56px;min-width:56px;height:56px;font-size:var(--text-xl)}.people-detail-head .detail-head-main{flex-basis:calc(100% - 56px - var(--space-3))}}.people-list{margin:0;padding:0;list-style:none;display:grid}.people-list li{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border);font:var(--type-body);display:flex}.people-list li:first-child{border-top:0}.people-list li>svg{color:var(--subtle);flex:none;margin-top:3px}.people-list li>div{min-width:0}.people-journey .info-list{margin-bottom:var(--space-4)}.people-journey-form{padding-top:var(--space-4);border-top:1px solid var(--border)}.people-journey-fields{gap:0 var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,2fr);display:grid}.people-journey-fields .field{margin-bottom:var(--space-3)}.people-journey-actions{justify-content:flex-end;display:flex}@media (max-width:767px){.people-journey-fields{grid-template-columns:minmax(0,1fr)}.people-journey-actions>.button{width:100%}}.people-demo{gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);display:grid}.people-demo h3{font:var(--type-card-title);margin:0}.people-demo .field{margin-bottom:0}.people-cert-identity{align-items:flex-start;gap:var(--space-3);padding-bottom:var(--space-4);margin-bottom:var(--space-1);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.people-cert-identity .info-list{align-self:stretch}.people-cert-name{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:767px){.people-cert-identity>.button{width:100%;min-height:var(--touch)}}.people-audit-change{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs);color:var(--muted);overflow-wrap:anywhere;max-width:48ch}.people-progress{gap:var(--space-1);min-width:140px;display:grid}.people-progress>span{font:var(--type-secondary);color:var(--muted);white-space:nowrap}.people-progress progress{appearance:none;border-radius:var(--radius-full);background:var(--raised);border:0;width:100%;max-width:200px;height:6px;display:block;overflow:hidden}.people-progress progress::-webkit-progress-bar{background:var(--raised);border-radius:var(--radius-full)}.people-progress progress::-webkit-progress-value{background:var(--success);border-radius:var(--radius-full)}.people-progress progress::-moz-progress-bar{background:var(--success);border-radius:var(--radius-full)}.people-enrol-card>h3{margin:0 0 var(--space-3);font:var(--type-card-title)}.people-enrol-row{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.people-enrol-select{flex:0 480px;margin-bottom:0}.people-override{margin-top:var(--space-4)}.people-override .field{margin:var(--space-3) 0 0}@media (max-width:767px){.people-enrol-select{flex-basis:100%}.people-enrol-row>.button{width:100%}.people-progress progress{max-width:none}}.people-staff-detail{gap:var(--space-6);display:grid}.people-staff-summary{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.people-staff-detail .error{margin:0}.people-staff-block>h4,.people-staff-block-head h4{margin:0 0 var(--space-3);font:var(--type-card-title);color:var(--text)}.people-staff-block-head{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.people-staff-block-head h4{margin:0}.people-role-field{max-width:320px;margin-bottom:0}.people-role-note{align-items:flex-start;gap:var(--space-3);font:var(--type-body);display:flex}.people-role-note>svg{color:var(--muted);flex:none;margin-top:2px}.people-role-note p{margin:var(--space-1) 0 0;font:var(--type-secondary);color:var(--muted)}.people-owner-note{margin-top:var(--space-3)}.people-staff-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:767px){.people-role-field{max-width:none}.people-staff-actions>.button{flex:100%}}.people-permission-groups{gap:var(--space-5);display:grid}.people-permission-group{border:0;min-width:0;margin:0;padding:0}.people-permission-group legend{margin-bottom:var(--space-2);font:var(--type-label);color:var(--muted);padding:0}.people-permission-group ul{border:1px solid var(--border);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none;overflow:clip}.people-permission-group li+li{border-top:1px solid var(--border)}.people-permission-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;display:flex}.people-permission-row:hover{background:var(--surface-hover)}.people-permission-row input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--primary);flex:none;margin:2px 0 0}.people-permission-row.is-readonly{cursor:default;justify-content:space-between;align-items:center}.people-permission-row.is-readonly:hover{background:0 0}.people-permission-text{gap:2px;min-width:0;display:grid}.people-permission-label{font:var(--type-label);font-size:var(--text-base);color:var(--text)}.people-permission-desc{font:var(--type-secondary);color:var(--muted)}.people-permission-key{font-size:var(--text-xs);color:var(--subtle)}@media (max-width:767px){.people-permission-row{min-height:var(--touch);padding:var(--space-3)}.people-permission-row.is-readonly{align-items:flex-start;gap:var(--space-2);flex-direction:column}}.people-affiliations{gap:var(--space-4);display:grid}.people-category-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.people-category-icon{border-radius:var(--radius-md);background:var(--raised);width:40px;height:40px;color:var(--muted);flex:none;place-items:center;display:grid}.people-category-title{flex:1;min-width:0}.people-category-title h2{font:var(--type-card-title);overflow-wrap:anywhere;margin:0}.people-category-empty{margin-bottom:var(--space-4)}.people-org-list{gap:0 var(--space-6);margin:0 0 var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));padding:0;list-style:none;display:grid}.people-org-list li{gap:var(--space-2);min-width:0;padding:var(--space-3) 0;border-bottom:1px solid var(--border);flex-direction:column;display:flex}.people-org-main{align-items:center;gap:var(--space-3);min-width:0;display:flex}.people-org-logo{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:40px;height:40px;color:var(--subtle);flex:none;place-items:center;display:grid;overflow:hidden}.people-org-logo img{object-fit:contain;width:100%;height:100%}.people-org-text{flex-direction:column;flex:1;min-width:0;display:flex}.people-org-name{min-width:0;font:var(--type-body);color:var(--text);overflow-wrap:anywhere}.people-org-actions{gap:var(--space-2);padding-left:calc(40px + var(--space-3));flex-wrap:wrap;display:flex}.people-logo-help{align-items:flex-start;gap:var(--space-2);margin:0 0 var(--space-4);max-width:72ch;display:flex}.people-logo-help>svg{flex:none;margin-top:2px}.people-org-remove{color:var(--muted);flex:none}.people-org-add{align-items:flex-start;gap:var(--space-2);max-width:480px;display:flex}.people-org-input{flex:1;min-width:0;margin-bottom:0}@media (max-width:767px){.people-org-remove{min-height:var(--touch)}.people-org-actions{padding-left:0}.people-org-actions>.button{min-height:var(--touch);flex:auto}.people-org-add{max-width:none}}.people-steps{gap:var(--space-2) var(--space-6);margin:0 0 var(--space-5);counter-reset:none;flex-wrap:wrap;padding:0;list-style:none;display:flex}.people-step{align-items:center;gap:var(--space-2);font:var(--type-label);color:var(--muted);display:flex}.people-step-dot{border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);width:24px;height:24px;font:var(--type-caption);color:var(--muted);flex:none;place-items:center;display:grid}.people-step.is-current{color:var(--text)}.people-step.is-current .people-step-dot{border-color:var(--text);background:var(--text);color:var(--surface)}.people-step.is-done .people-step-dot{border-color:var(--success);background:var(--success-bg);color:var(--success)}.people-import-grid{align-items:start}.people-import-grid .admin-card>h2{margin:0 0 var(--space-4);font:var(--type-card-title)}.people-file{position:relative}.people-file input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.people-file input[type=file]:disabled{cursor:not-allowed}.people-file-label{align-items:center;gap:var(--space-3);min-height:72px;padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--raised);color:var(--text);font:var(--type-body);display:flex}.people-file-label>svg{color:var(--muted);flex:none}.people-file-label strong{overflow-wrap:anywhere;display:block}.people-file:hover .people-file-label{border-color:var(--primary)}.people-file:focus-within .people-file-label{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.people-import-note{margin:var(--space-4) 0 0}.people-import-callout{margin-top:var(--space-4)}.people-import-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.people-columns{gap:var(--space-3) var(--space-4);margin:0 0 var(--space-4);font:var(--type-body);grid-template-columns:max-content minmax(0,1fr);display:grid}.people-columns dt{color:var(--muted)}.people-columns dd{margin:0}.people-columns code{padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--raised);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs);color:var(--text)}.people-import-grid .people-muted{margin-bottom:var(--space-3)}.people-import-result{margin-top:var(--space-8)}.people-import-summary{gap:var(--space-2);margin:0 0 var(--space-3);flex-wrap:wrap;display:flex}.people-import-result>.people-muted{margin-bottom:var(--space-3)}.people-import-details{font:var(--type-secondary);color:var(--muted);overflow-wrap:anywhere}@media (max-width:767px){.people-import-actions>.button{flex:100%}.people-columns{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.people-columns dd+dt{margin-top:var(--space-2)}.people-back.back-link{min-height:var(--touch)}}.panel-heading-row,.uploads-heading-row{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.panel-heading-row h2,.uploads-heading-row h2{margin:0}.uploads-heading-row .field{min-width:min(100%,320px)}.people-table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow-x:auto}.people-table{border-collapse:collapse;width:100%;font:var(--type-body)}.people-table th,.people-table td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.people-table th{font:var(--type-caption);color:var(--muted);background:var(--raised);white-space:nowrap}.people-table tbody tr:last-child td{border-bottom:0}.people-table td small{font:var(--type-secondary);color:var(--muted);display:block}.people-table a{color:var(--primary);font-weight:var(--weight-semibold)}.uploads-rows{max-height:70vh;overflow:auto}.uploads-rows thead th{background:var(--surface);z-index:1;position:sticky;top:0}.ach-page{gap:var(--space-5);min-width:0;display:grid}.ach-placeholder{background:var(--accent-amber-bg);width:100%;height:100%;min-height:120px;color:var(--accent-amber-fg);place-items:center;display:grid;position:relative;overflow:hidden}.ach-placeholder.is-compact{min-height:0}.ach-placeholder-piece{opacity:.18;font-size:96px;line-height:1;position:absolute;bottom:-14%;right:6%}.ach-placeholder.is-compact .ach-placeholder-piece{display:none}.ach-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin:0;padding:0;list-style:none;display:grid}.ach-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-rows:auto 1fr;min-width:0;display:grid;overflow:hidden}.ach-card-media{aspect-ratio:16/9;background:var(--raised);overflow:hidden}.ach-card-media img{object-fit:cover;width:100%;height:100%;display:block}.ach-card-body{align-content:start;gap:var(--space-2);padding:var(--space-4);min-width:0;display:grid}.ach-card-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.ach-card-title{font-size:var(--text-lg);line-height:var(--leading-snug);overflow-wrap:anywhere;margin:0}.ach-card-meta{color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0}.ach-note{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--text);font-size:var(--text-sm);overflow-wrap:anywhere}.ach-file-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.ach-file-list li{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.ach-file-name{overflow-wrap:anywhere;min-width:0;font-size:var(--text-sm)}.ach-form{gap:var(--space-4);min-width:0;display:grid}.ach-form h2{margin:0}.ach-fields{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ach-fields .form-field{min-width:0;margin:0}.ach-span-2{grid-column:1/-1}.ach-consent{padding:var(--space-3);border-radius:var(--radius-md);background:var(--tint);border:1px solid var(--border)}.ach-stored{gap:var(--space-2);display:grid}.ach-picker{gap:var(--space-2);min-width:0;display:grid}.ach-picker-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ach-progress{color:var(--muted);font-size:var(--text-sm);margin:0}.ach-pending{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.ach-pending-item{align-items:center;gap:var(--space-3);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;display:flex}.ach-pending-item.is-failed{border-color:var(--danger-border);background:var(--danger-bg)}.ach-pending-item.is-done{border-color:var(--success-border)}.ach-pending-thumb{border-radius:var(--radius-sm);background:var(--raised);width:56px;height:56px;color:var(--muted);flex:none;place-items:center;display:grid;overflow:hidden}.ach-pending-thumb img{object-fit:cover;width:100%;height:100%}.ach-pending-text{flex:1;gap:2px;min-width:0;display:grid}.ach-pending-text small{color:var(--muted)}.ach-queue-panel{gap:var(--space-4);padding-top:var(--space-4);min-width:0;display:grid}.ach-queue{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.ach-queue-row{align-items:stretch;gap:var(--space-2);min-width:0;display:flex}.ach-queue-item{gap:var(--space-3);min-width:0;padding:var(--space-3);text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;flex:1;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;display:grid}.ach-queue-item:hover{border-color:var(--primary);background:var(--tint)}.ach-queue-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ach-queue-thumb{border-radius:var(--radius-sm);background:var(--raised);width:72px;height:72px;overflow:hidden}.ach-queue-thumb img{object-fit:cover;width:100%;height:100%;display:block}.ach-queue-text{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.ach-queue-title{font-size:var(--text-base)}.ach-queue-badges{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;display:flex}.ach-order{gap:var(--space-1);align-content:center;display:grid}.ach-pager{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ach-review{gap:var(--space-5);min-width:0;display:grid}.ach-review-head{gap:var(--space-2);display:grid}.ach-review-head p{margin:0}.ach-review-title{font-size:var(--text-xl);overflow-wrap:anywhere;margin:0}.ach-details{gap:var(--space-2) var(--space-4);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.ach-details dt{color:var(--muted);font-size:var(--text-sm)}.ach-details dd{overflow-wrap:anywhere;margin:0}.ach-pre{white-space:pre-wrap}.ach-section{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border);min-width:0;display:grid}.ach-section h3{font-size:var(--text-lg);margin:0}.ach-gallery{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));margin:0;padding:0;list-style:none;display:grid}.ach-gallery-item{gap:var(--space-2);min-width:0;display:grid}.ach-gallery-media{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--raised);color:var(--muted);place-items:center;display:grid;overflow:hidden}.ach-gallery-media img{object-fit:cover;width:100%;height:100%}.ach-consent-line{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--raised);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.ach-cover{gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.ach-cover-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.ach-cover-option{align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;min-width:0;max-width:100%;display:flex}.ach-cover-option:has(input:checked){border-color:var(--primary);background:var(--tint)}.ach-cover-thumb{border-radius:var(--radius-sm);flex:none;width:48px;height:48px;overflow:hidden}.ach-cover-thumb img{object-fit:cover;width:100%;height:100%}.ach-preview{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--raised);display:grid}.ach-preview>h4{font-size:var(--text-base);margin:0}.ach-preview .ach-showcase-card{max-width:360px}.ach-danger{padding-top:var(--space-4);border-top:1px solid var(--border)}.ach-student-pick{gap:var(--space-2);display:grid}.ach-student-pick p{margin:0}.ach-student-results{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.ach-student-option{text-align:left;width:100%;font:inherit;color:var(--text);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer}.ach-student-option:hover{border-color:var(--primary);background:var(--tint)}.ach-compact{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.ach-compact li{gap:2px;display:grid}.ach-compact small{color:var(--muted)}.ach-compact-title{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.ach-coach-title{align-items:center;gap:var(--space-2);font-size:var(--text-md);margin:0 0 var(--space-3);display:flex}.ach-showcase{gap:var(--space-5);padding:var(--space-6) 2.2%;display:grid}.ach-showcase-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.ach-showcase-head h2{font-size:var(--text-2xl);margin:0}.ach-showcase-head .eyebrow{margin-bottom:var(--space-2)}.ach-showcase-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));margin:0;padding:0;list-style:none;display:grid}.ach-showcase-grid>li{min-width:0;display:grid}.ach-showcase-card{background:var(--surface);min-width:0;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.ach-showcase-media{aspect-ratio:4/3;background:var(--raised);overflow:hidden}.ach-showcase-media img{object-fit:cover;width:100%;height:100%;display:block}.ach-showcase-body{align-content:start;gap:var(--space-1);padding:var(--space-4);min-width:0;display:grid}.ach-showcase-body p{margin:0}.ach-showcase-kicker{color:var(--primary);font-size:var(--text-sm)}.ach-showcase-title{font-size:var(--text-lg);line-height:var(--leading-snug);overflow-wrap:anywhere;margin:0}.ach-showcase-name{font-weight:var(--weight-semibold)}.ach-showcase-event{color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere}.ach-showcase-body .ach-showcase-caption{margin-top:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-relaxed);overflow-wrap:anywhere}.ach-public{gap:var(--space-5);display:grid}.ach-public-head h1{margin:0 0 var(--space-2)}.ach-public-head p{margin:0}.ach-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.ach-chip{min-height:40px;padding:var(--space-2) var(--space-4);font:inherit;font-size:var(--text-sm);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer}.ach-chip:hover{border-color:var(--primary)}.ach-chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.ach-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (max-width:640px){.ach-fields{grid-template-columns:minmax(0,1fr)}.ach-queue-item{grid-template-columns:56px minmax(0,1fr)}.ach-queue-thumb{width:56px;height:56px}.ach-queue-badges{grid-column:1/-1;justify-content:flex-start}.ach-details{grid-template-columns:minmax(0,1fr);gap:0}.ach-details dd{margin-bottom:var(--space-2)}.ach-showcase{padding:var(--space-5) 5%}.ach-showcase-head h2{font-size:var(--text-xl)}}.ach-picker>.field-label,.ach-stored>.field-label,.ach-cover>.field-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:0}.ach-queue-text>span{font-size:var(--text-sm)}.ach-cover-option input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--primary);flex:none;margin:0;padding:0}.ach-cover-option .ach-file-name{overflow-wrap:anywhere;max-width:160px}.settings-stack{gap:var(--space-4);display:grid}.settings-stack>.error{margin:0}.settings-fieldset,.setting-fieldset{border:0;min-width:0;margin:0;padding:0}.settings-readonly{margin:0 0 var(--space-4);font:var(--type-secondary);color:var(--muted)}.settings-note{margin:var(--space-4) 0 0;font:var(--type-secondary);color:var(--muted)}.settings-break{word-break:break-all}.settings-copy{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.settings-copy code{min-width:0}.settings-callout{align-items:flex-start;gap:var(--space-3);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--warning-border);border-radius:var(--radius-md);background:var(--warning-bg);color:var(--text);font:var(--type-secondary);display:flex}.settings-callout>svg{color:var(--warning);margin-top:2px}.settings-callout p{margin:0}.settings-empty-preview{align-items:center;gap:var(--space-3);min-height:96px;padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--muted);font:var(--type-secondary);display:flex}.settings-preview .setting-control video,.settings-preview .setting-control iframe{border-radius:var(--radius-md);max-width:100%}.settings-links-card h3{margin:0 0 var(--space-2);font:var(--type-card-title)}.settings-link-list{margin:0;padding:0;list-style:none}.settings-link-list li+li{border-top:1px solid var(--border)}.settings-link-list a{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--touch);color:var(--text);font:var(--type-body);text-decoration:none;display:flex}.settings-link-list a svg{color:var(--subtle)}.settings-link-list a:hover{color:var(--primary)}.settings-link-list a:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}.settings-pane .skeleton-stack{padding:0}.request-filters{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.request-badges{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:inline-flex}.request-card--overdue{border-left:4px solid var(--danger)}:root{--gami-gold:var(--warning);--gami-gold-bg:var(--warning-bg);--gami-gold-border:var(--warning-border);--gami-gold-text:var(--warning);--gami-gold-fill:var(--primary);--gami-gold-fill-end:var(--primary);--gami-on-gold:var(--on-primary);--gami-done-text:var(--success)}.gamification-page{gap:var(--space-8);flex-direction:column;width:100%;min-width:0;display:flex}.gamification-page>.page-title{margin-bottom:calc(-1 * var(--space-2))}.gami-section-head{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.gami-section-head>div:first-child{min-width:0}.gami-section-title{font:var(--type-section-title);color:var(--text);margin:0}.gami-section-desc{margin:var(--space-1) 0 0;font:var(--type-secondary);color:var(--muted)}.gami-summary{gap:var(--space-5);padding:var(--space-6);flex-direction:column;display:flex}.gami-stats{padding-top:var(--space-5);border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.gami-stat{gap:var(--space-1);min-width:0;padding:0 var(--space-5);border-left:1px solid var(--border);flex-direction:column;display:flex}.gami-stat:first-child{border-left:0;padding-left:0}.gami-stat dt{align-items:center;gap:var(--space-2);font:var(--type-label);color:var(--muted);display:flex}.gami-stat dt svg{color:var(--subtle);flex:none}.gami-stat.is-hot dt svg{color:var(--warning)}.gami-stat dd{flex-direction:column;min-width:0;margin:0;display:flex}.gami-stat-value{font:var(--type-section-title);font-variant-numeric:tabular-nums;color:var(--text)}.gami-stat-hint{font:var(--type-secondary);color:var(--muted)}.gami-skeleton{gap:var(--space-6);flex-direction:column;display:flex}.gami-skeleton-summary{min-height:180px}.gami-skeleton-row{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gami-skeleton-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));display:grid}.level-badge{align-items:center;gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--raised);max-width:100%;color:var(--text);font:var(--type-caption);white-space:nowrap;vertical-align:middle;display:inline-flex}.level-badge--sm{min-height:22px;padding:0 var(--space-2)}.level-badge--md{min-height:26px;padding:0 var(--space-3);font:var(--type-label)}.level-badge--lg{min-height:32px;padding:0 var(--space-3);font:var(--type-label);font-weight:var(--weight-semibold)}.level-badge-icon{color:var(--primary);font-size:1.15em;line-height:1}.level-badge-level{color:var(--muted);font-weight:var(--weight-medium)}.level-badge-level--solo{color:var(--text)}.streak-flame{align-items:center;gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font:var(--type-label);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex}.streak-flame--sm{min-height:24px;padding:0 var(--space-2);font:var(--type-caption);font-weight:var(--weight-semibold)}.streak-flame--md{min-height:28px;padding:0 var(--space-3)}.streak-flame--lg{min-height:34px;padding:0 var(--space-3)}.streak-flame-icon{flex:none}.streak-flame--hot .streak-flame-icon{color:var(--warning)}.streak-flame--cold .streak-flame-icon{color:var(--subtle)}.streak-flame--cold{color:var(--muted)}.streak-flame-unit{color:var(--muted);font-weight:var(--weight-regular)}.streak-flame-freezes{margin-left:var(--space-1);padding-left:var(--space-2);border-left:1px solid var(--border);color:var(--info);align-items:center;gap:2px;display:inline-flex}.streak-flame-freeze-count{color:var(--text)}.xp-bar-container{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.xp-bar-summary{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.xp-bar-identity{align-items:center;gap:var(--space-4);min-width:0;display:flex}.xp-bar-label,.xp-bar-next-label{font:var(--type-label);color:var(--muted)}.xp-bar-total{font-weight:var(--weight-bold);font-size:var(--text-4xl);font-variant-numeric:tabular-nums;color:var(--text);line-height:1.2}.xp-bar-next{text-align:right}.xp-bar-next-value{font:var(--type-card-title);font-variant-numeric:tabular-nums;color:var(--text)}.xp-bar-progress{gap:var(--space-2);flex-direction:column;display:flex}.xp-bar-meta{justify-content:space-between;gap:var(--space-3);font:var(--type-secondary);font-variant-numeric:tabular-nums;color:var(--muted);display:flex}.xp-bar-track{border-radius:var(--radius-full);background:var(--raised);height:8px;overflow:hidden}.xp-bar-track--thin{height:6px}.xp-bar-fill{width:var(--xp-pct,0%);border-radius:inherit;background:var(--primary);height:100%;transition:width var(--duration-slow) var(--ease-out)}.xp-bar-compact{align-items:center;gap:var(--space-3);min-width:0;display:flex}.xp-bar-compact-body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.xp-bar-compact .xp-bar-meta{font:var(--type-caption)}.quest-list-container{min-width:0}.quest-groups{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start;display:grid}.quest-group{min-width:0;padding:0}.quest-group-head{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.quest-group-heading{font:var(--type-card-title);color:var(--text);margin:0}.quest-group-hint{font:var(--type-secondary);color:var(--muted)}.quest-rows{margin:0;padding:0;list-style:none}.omca-quest-card{align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head head""progress action";display:grid}.omca-quest-card:last-child{border-bottom:0}.quest-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);grid-area:head;display:flex}.quest-card-heading{min-width:0}.quest-card-title{font:var(--type-body);font-weight:var(--weight-semibold);color:var(--text);margin:0}.quest-card-desc{font:var(--type-secondary);color:var(--muted);margin:2px 0 0}.quest-xp-badge{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--raised);color:var(--text);font:var(--type-caption);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.quest-card-progress{align-items:center;gap:var(--space-3);grid-area:progress;min-width:0;display:flex}.quest-progress-track{border-radius:var(--radius-full);background:var(--raised);flex:1;height:6px;overflow:hidden}.quest-progress-fill{width:var(--quest-pct,0%);border-radius:inherit;background:var(--primary);height:100%;transition:width var(--duration-slow) var(--ease-out)}.quest-progress-fill--complete{background:var(--success)}.quest-progress-count{min-width:3.5em;font:var(--type-secondary);font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;flex:none}.quest-card-footer{grid-area:action;justify-content:flex-end;display:flex}.quest-status-in-progress{font:var(--type-secondary);color:var(--muted);white-space:nowrap}.quest-status-claimed{align-items:center;gap:var(--space-1);font:var(--type-label);color:var(--success);white-space:nowrap;display:inline-flex}.omca-quest-card--claimed .quest-card-title{color:var(--muted)}.quest-claim-btn{white-space:nowrap}.badge-showcase-container{min-width:0}.badge-title-row{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.badge-unlocked-pill{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--raised);color:var(--muted);font:var(--type-caption);font-variant-numeric:tabular-nums}.badge-filter-bar{min-width:0;max-width:100%}.badge-filter-bar .segmented{flex-wrap:wrap;max-width:100%}.badge-groups{gap:var(--space-6);flex-direction:column;display:flex}.badge-group-heading{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font:var(--type-label);color:var(--muted);display:flex}.badge-group-count{padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--raised);font:var(--type-caption);font-variant-numeric:tabular-nums}.badge-cards-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));margin:0;padding:0;list-style:none;display:grid}.omca-badge-card{align-items:flex-start;gap:var(--space-4);min-width:0;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:flex}.badge-icon-box{border-radius:var(--radius-full);background:var(--tint);width:44px;height:44px;color:var(--primary);flex:none;place-items:center;display:grid;position:relative}.omca-badge-card--locked .badge-icon-box{background:var(--raised);color:var(--subtle)}.badge-icon-lock{border:2px solid var(--surface);border-radius:var(--radius-full);background:var(--raised);width:20px;height:20px;color:var(--muted);place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.badge-card-content{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.badge-card-title{font:var(--type-body);font-weight:var(--weight-semibold);color:var(--text);overflow-wrap:anywhere;margin:0}.badge-card-meta{align-items:center;gap:var(--space-1);font:var(--type-caption);color:var(--muted);flex-wrap:wrap;margin:0;display:flex}.badge-rarity-pill,.badge-xp-bonus{font:inherit;color:inherit;text-transform:capitalize}.badge-card-desc{margin:var(--space-1) 0 0;font:var(--type-secondary);color:var(--muted);overflow-wrap:anywhere}.badge-card-how{font-weight:var(--weight-medium);color:var(--text)}.badge-kudos-quote{margin:var(--space-1) 0 0;padding-left:var(--space-3);border-left:2px solid var(--border-strong);font:var(--type-secondary);color:var(--text);overflow-wrap:anywhere;font-style:italic}.badge-status-unlocked{align-items:center;gap:var(--space-1);margin:var(--space-2) 0 0;font:var(--type-label);color:var(--success);flex-wrap:wrap;display:inline-flex}.badge-status-date{font-weight:var(--weight-regular);color:var(--muted)}.badge-card-bottom{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.badge-status-locked{align-items:center;gap:var(--space-1);font:var(--type-label);color:var(--muted);display:inline-flex}.badge-next-link{align-items:center;gap:var(--space-1);min-height:32px;font:var(--type-label);color:var(--primary);text-decoration:none;display:inline-flex}.badge-next-link:hover{text-underline-offset:3px;text-decoration:underline}.badge-next-link:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset);border-radius:var(--radius-xs)}.badge-next-hint{font:var(--type-secondary);color:var(--muted)}@media (max-width:1023px){.gami-stats{row-gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.gami-stat:nth-child(odd){border-left:0;padding-left:0}}@media (max-width:767px){.gamification-page{gap:var(--space-6)}.gami-summary{padding:var(--space-4);gap:var(--space-4)}.gami-stats{padding-top:var(--space-4);row-gap:var(--space-4)}.gami-stat{padding:0 var(--space-3)}.gami-stat-value{font:var(--type-card-title)}.xp-bar-total{font-size:var(--text-3xl)}.xp-bar-next{text-align:left}.xp-bar-summary{align-items:flex-start}.gami-skeleton-row{grid-template-columns:minmax(0,1fr)}.quest-group-head,.omca-quest-card{padding-left:var(--space-4);padding-right:var(--space-4)}.omca-quest-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""progress""action"}.quest-card-footer{justify-content:flex-start}.quest-card-footer:has(>.quest-status-in-progress){display:none}.quest-claim-btn{width:100%;min-height:var(--touch)}.omca-badge-card{padding:var(--space-4);gap:var(--space-3)}.badge-filter-bar{width:100%}.badge-next-link{min-height:var(--touch)}}.kudos-form{flex-direction:column;gap:14px;display:flex}.kudos-fieldset{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.kudos-fieldset legend{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);margin-bottom:8px;padding:0}.kudos-options-list{flex-direction:column;gap:8px;display:flex}.kudos-option{font:inherit;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;background:var(--surface);text-align:left;align-items:flex-start;gap:12px;width:100%;padding:12px;transition:background-color .15s,border-color .15s;display:flex}.kudos-option:hover{background-color:var(--raised);border-color:color-mix(in srgb, var(--muted) 45%, var(--border))}.kudos-option:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.kudos-option--selected,.kudos-option--selected:hover{border-color:var(--primary);background-color:var(--tint)}.kudos-option-icon{background:var(--raised);color:var(--muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;display:flex}.kudos-option--selected .kudos-option-icon{background:var(--primary);color:var(--on-primary)}.kudos-option-info{flex:1;min-width:0}.kudos-option-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;display:flex}.kudos-option-name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text)}.kudos-option-bonus{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--muted)}.kudos-option-desc{font-size:var(--text-sm);color:var(--muted);margin:3px 0 0;line-height:1.4}.kudos-form .kudos-reason-field{margin:0}.admin-gamification-page{flex-direction:column;gap:24px;display:flex}.admin-gamification-tabs [role=tab]{gap:var(--space-2)}.admin-gamification-table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.admin-gamification-table{border-collapse:collapse;text-align:left;width:100%;font:var(--type-body)}.admin-gamification-table th{background:var(--surface);padding:var(--space-3) var(--space-4);font:var(--type-caption);color:var(--muted);border-bottom:1px solid var(--border)}.admin-gamification-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);color:var(--text)}.admin-gamification-table tr:last-child td{border-bottom:0}.admin-gamification-table tr:hover td{background:var(--surface-hover)}@media (prefers-reduced-motion:reduce){.xp-bar-fill,.quest-progress-fill,.quest-claim-btn,.kudos-option{transition:none}.quest-claim-btn:hover:not(:disabled),.quest-claim-btn:active:not(:disabled){transform:none}}.report-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none}.report-row{align-items:start;gap:var(--space-4);padding:var(--space-5) var(--space-6);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.report-row+.report-row{border-top:1px solid var(--border)}.report-row-icon{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-md);background:var(--raised);color:var(--muted);place-items:center;display:grid}.report-row-title{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.report-row-title h3{font:var(--type-card-title);color:var(--text);margin:0}.report-row-text>p{margin:var(--space-1) 0 0;font:var(--type-secondary);color:var(--muted)}.report-row-text .error{margin:var(--space-3) 0 0}.report-row-action{align-self:center}.report-row-text .report-result{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);color:var(--text);overflow-wrap:anywhere;display:flex}.report-result svg{color:var(--success);flex:none;margin-top:2px}.report-result.is-empty svg{color:var(--info)}.report-range-error{margin:calc(-1 * var(--space-2)) 0 var(--space-4)}.report-note{margin:var(--space-3) 0 0;font:var(--type-secondary);color:var(--muted)}.admin-section .toolbar-bar .segmented{flex-wrap:wrap;max-width:100%}@media (max-width:767px){.report-row{padding:var(--space-4);gap:var(--space-3);grid-template-columns:auto minmax(0,1fr)}.report-row-action{grid-column:1/-1;width:100%}}.moderation-panel{outline:none}.moderation-panel:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}.moderation-sort{align-items:center;gap:var(--space-2);font:var(--type-label);color:var(--muted);white-space:nowrap;display:inline-flex}.moderation-sort select{width:auto;min-width:160px}.moderation-count{font:var(--type-secondary);color:var(--muted);margin-left:auto}.moderation-type{align-items:center;gap:var(--space-2);font:var(--type-secondary);color:var(--muted);white-space:nowrap;display:inline-flex}.moderation-type-icon{border-radius:var(--radius-sm);background:var(--raised);width:28px;height:28px;color:var(--muted);flex:none;place-items:center;display:inline-grid}.moderation-pgn-icon{font-size:var(--text-lg);line-height:1}.moderation-title{font-weight:var(--weight-semibold);color:var(--text);overflow-wrap:anywhere;display:block}.moderation-modal-actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;width:100%;display:flex}.moderation-review{gap:var(--space-5);display:grid}.moderation-review-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--raised);display:flex}.moderation-review-item .moderation-type-icon{width:var(--control-md);height:var(--control-md);background:var(--surface)}.moderation-review-title{margin:0 0 var(--space-2);font:var(--type-card-title);overflow-wrap:anywhere}.moderation-review-meta{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.moderation-review-meta dt{font:var(--type-caption);color:var(--muted)}.moderation-review-meta dd{font:var(--type-body);color:var(--text);margin:2px 0 0}.moderation-reason{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--border-strong);color:var(--text);white-space:pre-wrap}.moderation-records .data-table-bulk{display:none}.moderation-confirm-list,.moderation-result-list{margin:var(--space-2) 0 0;padding-left:var(--space-5)}@media (max-width:767px){.moderation-sort{flex:auto}.moderation-sort select{flex:1}.moderation-modal-actions{flex-direction:column-reverse}.moderation-modal-actions>.button{width:100%}}.batch-toolbar{margin-bottom:var(--space-3)}.batch-toolbar .toolbar-filters{flex:100%;align-items:center}.batch-toolbar .toolbar-filters select{width:auto;min-width:0;min-height:var(--control-md);flex:150px}.batch-search{display:block;position:relative}.batch-search>svg{left:var(--space-3);color:var(--subtle);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.batch-search input{width:100%;min-height:var(--control-md);padding-left:calc(var(--space-3) + 16px + var(--space-2))}.batch-seats-only{white-space:nowrap;min-height:var(--control-md);margin:0}.batch-seats-only>input{align-self:center;margin-top:0}.batch-list-meta{justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 0 var(--space-3);font:var(--type-secondary);display:flex}.batch-list-meta p{margin:0}.batch-list{gap:var(--space-3);display:grid;container:batch-list/inline-size}.batch-list-head{display:none}.batch-row{gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);display:grid;position:relative}.batch-row:hover{border-color:var(--border-strong)}.batch-row:has(.batch-row-open:focus-visible){outline:var(--focus-outline);outline-offset:var(--focus-offset)}.batch-row-main{align-items:center;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;min-width:0;display:grid}.batch-row-title{min-width:0}.batch-row-title h2{font:var(--type-card-title);margin:0}.batch-row-open{color:var(--text);text-decoration:none}.batch-row-open:after{content:"";border-radius:inherit;position:absolute;inset:0}.batch-row-open:focus-visible{outline:none}.batch-row-title p{align-items:center;gap:var(--space-1) var(--space-2);font:var(--type-secondary);color:var(--muted);flex-wrap:wrap;margin:0;display:flex}.batch-code{padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--raised);min-height:22px;color:var(--muted);font:var(--type-caption);letter-spacing:.02em;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-flex}.batch-facts{gap:var(--space-3) var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.batch-fact{min-width:0}.batch-fact dt{font:var(--type-caption);color:var(--muted);margin-bottom:2px}.batch-fact dd{font:var(--type-secondary);color:var(--text);overflow-wrap:anywhere;flex-direction:column;margin:0;display:flex}.batch-fact-sub{color:var(--muted)}.batch-fact-seats{grid-column:1/-1}.batch-no-coach{color:var(--warning);font-weight:var(--weight-medium)}@container batch-list (width>=960px){.batch-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);gap:0;overflow:hidden}.batch-list-head,.batch-row{grid-template-columns:minmax(0,2.2fr) minmax(0,1.5fr) minmax(0,1.4fr) minmax(0,1.6fr)}.batch-list[data-manage] .batch-list-head,.batch-list[data-manage] .batch-row{grid-template-columns:minmax(0,2.2fr) minmax(0,1.5fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.6fr)}.batch-list-head{gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--raised);font:var(--type-label);color:var(--muted);display:grid}.batch-row{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:0 0;border:0;border-radius:0}.batch-row+.batch-row{border-top:1px solid var(--border)}.batch-row:hover{background:var(--surface-hover)}.batch-row:has(.batch-row-open:focus-visible){outline-offset:-2px}.batch-facts{display:contents}.batch-fact-seats{grid-column:auto}.batch-fact dt{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@container batch-list (width>=560px) and (width<=959px){.batch-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.batch-list-skeleton{gap:var(--space-3);display:grid}.batch-list-skeleton>div{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:grid}.batch-list-skeleton span{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--raised) 25%, var(--border) 37%, var(--raised) 63%);background-size:400% 100%;height:14px;animation:1.4s infinite skeleton-sweep;display:block}.batch-list-skeleton span:first-child{width:40%;height:18px}.batch-list-skeleton span:nth-child(3){width:70%}@media (prefers-reduced-motion:reduce){.batch-list-skeleton span{animation:none}}.batch-seats{gap:var(--space-1);flex-direction:column;width:100%;min-width:0;display:flex}.batch-seats-head{justify-content:space-between;gap:0 var(--space-2);font:var(--type-secondary);flex-wrap:wrap;display:flex}.batch-seats-head strong{font-weight:var(--weight-medium)}.batch-seats small{font:var(--type-caption);font-weight:var(--weight-regular)}.batch-seats-bar{--seat-fill:var(--success);appearance:none;border-radius:var(--radius-full);background:var(--raised);width:100%;height:6px;accent-color:var(--seat-fill);border:0;overflow:hidden}.batch-seats-bar[data-level=high]{--seat-fill:var(--warning)}.batch-seats-bar[data-level=full]{--seat-fill:var(--danger)}.batch-seats-bar::-webkit-progress-bar{background:var(--raised);border-radius:var(--radius-full)}.batch-seats-bar::-webkit-progress-value{background:var(--seat-fill);border-radius:var(--radius-full)}.batch-seats-bar::-moz-progress-bar{background:var(--seat-fill);border-radius:var(--radius-full)}.batch-back{align-items:center;gap:var(--space-1);min-height:var(--control-sm);margin-bottom:var(--space-3);font:var(--type-label);color:var(--muted);text-decoration:none;display:inline-flex}.batch-back:hover{color:var(--text)}.batch-detail-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4) var(--space-6);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.batch-detail-title{align-items:center;gap:var(--space-4);min-width:0;display:flex}.batch-detail-title h1{font:var(--type-page-title);overflow-wrap:anywhere;margin:0}.batch-detail-meta{align-items:center;gap:var(--space-1) var(--space-3);margin:var(--space-1) 0 0;font:var(--type-secondary);color:var(--muted);flex-wrap:wrap;display:flex}.batch-detail-actions{gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.batch-detail-actions .button{min-height:var(--control-md)}.batch-summary{margin-bottom:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.batch-summary-block{min-width:0;padding:var(--space-5) var(--space-6)}.batch-summary-block+.batch-summary-block{border-left:1px solid var(--border)}.batch-summary-block h2{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font:var(--type-label);color:var(--muted);display:flex}.batch-summary-block p{font:var(--type-secondary);margin:0}.batch-summary-block p.batch-summary-meta{margin-top:var(--space-2);color:var(--muted)}.batch-slots,.batch-coach-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.batch-slots li,.batch-coach-list li{justify-content:space-between;align-items:center;gap:var(--space-2);font:var(--type-body);display:flex}.batch-slots strong{font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.batch-coach-list .badge{align-items:center;gap:var(--space-1);display:inline-flex}.batch-seat-counts{gap:var(--space-2) var(--space-3);margin:var(--space-3) 0 0;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));display:grid}.batch-seat-counts dt{font:var(--type-caption);font-weight:var(--weight-regular);color:var(--muted)}.batch-seat-counts dd{font:var(--type-card-title);font-variant-numeric:tabular-nums;margin:0}.batch-over{font:var(--type-caption);color:var(--danger)}.batch-tabs{margin-bottom:var(--space-4)}@media (max-width:1023px){.batch-summary{grid-template-columns:1fr 1fr}.batch-summary-block:nth-child(3){border-left:0;border-top:1px solid var(--border);grid-column:1/-1}}@media (max-width:767px){.batch-detail-title h1{font-size:var(--text-2xl);line-height:1.4}.batch-detail-actions{width:100%}.batch-detail-actions .button{min-height:var(--touch);flex:auto}.batch-summary{margin-bottom:var(--space-5);grid-template-columns:1fr}.batch-summary-block{column-gap:var(--space-3);padding:var(--space-3) var(--space-4);grid-template-columns:96px minmax(0,1fr);align-items:start;display:grid}.batch-summary-block>*{grid-column:2}.batch-summary-block>h2{grid-area:1/1/span 4;min-height:24px;margin:0}.batch-summary-block p.batch-summary-meta{margin-top:var(--space-1)}.batch-summary-block+.batch-summary-block{border-left:0;border-top:1px solid var(--border)}.batch-summary-block:nth-child(3){grid-column:auto}.batch-seat-counts{display:none}.batch-back{min-height:var(--touch);margin-bottom:var(--space-1)}.batch-toolbar .toolbar-filters select,.batch-search input,.batch-seats-only{min-height:var(--touch)}}.batch-form{gap:var(--space-6);display:grid}.batch-form-group{gap:var(--space-4);border:0;min-width:0;margin:0;padding:0;display:grid}.batch-form-group+.batch-form-group{padding-top:var(--space-6);border-top:1px solid var(--border)}.batch-form-group>h3,.batch-form-group>legend,.batch-form .coach-picker legend{font:var(--type-card-title);color:var(--text);margin:0;padding:0}.batch-form-group>legend{float:left;width:100%;margin-bottom:var(--space-4)}.batch-form-group>legend+*{clear:both}.batch-form .form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.batch-form .batch-form-three{grid-template-columns:repeat(3,minmax(0,1fr))}.batch-form .field,.batch-form .form-field{margin:0}.batch-form-help{font:var(--type-secondary);color:var(--muted);margin:0}.batch-form .checkbox{min-height:var(--control-md);margin:0}.batch-form [aria-invalid=true],.override-box [aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.batch-programme{gap:var(--space-2);border:0;border-radius:0;min-width:0;margin:0;padding:0;display:grid}.batch-programme>legend{float:left;width:100%;margin:0 0 var(--space-2);font:var(--type-label);color:var(--text);padding:0}.batch-programme>legend+*{clear:both}.batch-programme-options{column-gap:var(--space-5);row-gap:var(--space-1);flex-wrap:wrap;display:flex}.batch-programme .checkbox{white-space:nowrap}.batch-schedule-row{align-items:end;gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;display:grid}.batch-schedule-row .field-error{grid-column:1/-1}.batch-schedule-remove{min-height:var(--control-md);min-width:var(--control-md)}.batch-schedule-add{justify-self:start}.batch-schedule-auto{align-items:end}.batch-form-actions{bottom:calc(var(--space-6) * -1);z-index:1;gap:var(--space-2);margin:0 calc(var(--space-6) * -1) calc(var(--space-6) * -1);padding:var(--space-4) var(--space-6);background:var(--surface);border-top:1px solid var(--border);display:grid;position:sticky}.batch-form-actions .field-error{margin:0}.batch-form-buttons{justify-content:flex-end;gap:var(--space-3);display:flex}@media (max-width:640px){.batch-form .form-grid,.batch-form .batch-form-three{grid-template-columns:minmax(0,1fr)}.batch-form-actions{bottom:calc(var(--space-4) * -1);margin:0 calc(var(--space-4) * -1) calc(var(--space-4) * -1);padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom))}.batch-form-buttons .button{min-height:var(--touch);flex:1 1 0}.batch-schedule-remove{min-height:var(--touch);min-width:var(--touch)}}.override-box{border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-3) 0}.override-box .checkbox{margin:0}.warning-text{color:var(--warning)}.bulk-seats{margin:0 0 var(--space-3);font:var(--type-secondary)}.bulk-chosen{gap:var(--space-2);margin:0 0 var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.bulk-chosen li{align-items:center;gap:var(--space-1);min-height:32px;padding:0 var(--space-1) 0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--raised);font:var(--type-secondary);color:var(--text);display:inline-flex}.bulk-chip-remove{border-radius:var(--radius-full);width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.bulk-chip-remove:hover{background:var(--surface-hover);color:var(--text)}.bulk-chip-remove:focus-visible{outline:var(--focus-outline);outline-offset:0}.bulk-search-input{display:block;position:relative}.bulk-search-input>svg{left:var(--space-3);color:var(--muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.bulk-search-input>input{width:100%;padding-left:calc(var(--space-3) + 24px)}.bulk-options{max-height:300px;margin:var(--space-3) 0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex;overflow-y:auto}.bulk-option{align-items:center;gap:var(--space-3);min-height:var(--control-md);padding:var(--space-2) var(--space-3);font:var(--type-body);cursor:pointer;display:flex}.bulk-option+.bulk-option{border-top:1px solid var(--border)}.bulk-option:hover{background:var(--surface-hover)}.bulk-option[data-checked]{background:var(--tint)}.bulk-option>input{flex:none;margin:0}.bulk-option-name{overflow-wrap:anywhere;min-width:0}.bulk-options-note{padding:var(--space-4) var(--space-3);font:var(--type-secondary);text-align:center;margin:0}.bulk-warning{margin:0 0 var(--space-3);font:var(--type-secondary)}@media (max-width:767px){.bulk-option,.bulk-chosen li{min-height:var(--touch)}.bulk-chip-remove{width:40px;height:40px}.bulk-options{max-height:40vh}}.bulk-result{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3);background:var(--raised)}.bulk-result ul{margin:var(--space-2) 0 0;gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.bulk-result li{gap:var(--space-1) var(--space-3);font-size:var(--text-md);flex-wrap:wrap;display:flex}.bulk-result li small{flex-basis:100%}.bulk-ok{color:var(--success)}.bulk-problem{color:var(--warning)}.coach-profile{gap:var(--space-5);flex-direction:column;display:flex}.coach-profile-head{align-items:center;gap:var(--space-4);display:flex}.coach-profile-head>div{gap:var(--space-1);justify-items:start;display:grid}.coach-profile-note{align-items:center;gap:var(--space-1);font:var(--type-caption);font-weight:var(--weight-regular);color:var(--muted);margin:0;display:inline-flex}.coach-profile-body{gap:var(--space-6);flex-direction:column;display:flex}.coach-profile-body h3{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font:var(--type-card-title);display:flex}.coach-profile-stats{border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.coach-profile-stats>div{padding:var(--space-4);min-width:0}.coach-profile-stats>div+div{border-left:1px solid var(--border)}.coach-profile-stats dt{align-items:center;gap:var(--space-1);font:var(--type-label);color:var(--muted);display:flex}.coach-profile-stats dd{margin:var(--space-1) 0 0;font:var(--type-section-title);font-variant-numeric:tabular-nums}.coach-profile-stats dd.coach-profile-sub{font:var(--type-secondary);color:var(--muted);margin:0}.coach-profile-batches{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.coach-profile-batches li{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);font:var(--type-secondary);display:inline-flex}.coach-profile-empty{font:var(--type-secondary);color:var(--muted);margin:0}@media (max-width:640px){.coach-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-profile-stats>div:nth-child(3){border-left:0}.coach-profile-stats>div:nth-child(n+3){border-top:1px solid var(--border)}}.remark-list{margin:0;padding:0;list-style:none;display:grid}.remark-list li{padding:var(--space-3) 0}.remark-list li+li{border-top:1px solid var(--border)}.remark-meta{justify-content:space-between;gap:var(--space-1) var(--space-3);margin:0 0 var(--space-1);font:var(--type-secondary);color:var(--muted);flex-wrap:wrap;display:flex}.remark-meta strong{color:var(--text);font-weight:var(--weight-medium)}.remark-text{font:var(--type-body);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.remarks-sheet{gap:var(--space-4);flex-direction:column;display:flex}.remarks-sheet-student{align-items:center;gap:var(--space-2);font:var(--type-label);color:var(--muted);margin:0;display:flex}.remarks-sheet-list .empty{min-height:0}.remarks-sheet-form{gap:var(--space-3);border-top:1px solid var(--border);padding-top:var(--space-4);display:grid}.remarks-sheet-actions{justify-content:flex-end;gap:var(--space-3);display:flex}@media (max-width:640px){.remarks-sheet-actions .button{min-height:var(--touch);flex:1 1 0}}.allocation-card{justify-content:space-between;gap:var(--space-3);padding:var(--space-4);flex-wrap:wrap;display:flex}.allocation-card-body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.allocation-card-meta{align-items:center;gap:var(--space-2) var(--space-4);font-size:var(--text-base);flex-wrap:wrap;display:flex}@media (max-width:640px){.allocation-card .button-row{width:100%}}.roster-bar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.roster-search{flex:240px;max-width:360px;position:relative}.roster-search>svg{left:var(--space-3);color:var(--subtle);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.roster-search input{width:100%;min-height:var(--control-md);padding-left:calc(var(--space-3) + 16px + var(--space-2))}.roster-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.roster-actions .button{min-height:var(--control-md)}.roster-count{margin:0 0 var(--space-2);font:var(--type-secondary);color:var(--muted)}.roster-list{container:roster/inline-size}.roster-list>ul{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.roster-head{display:none}.roster-row{gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.roster-who{align-items:center;gap:var(--space-3);grid-column:1/3;min-width:0;display:flex}.roster-who>div{flex-direction:column;min-width:0;display:flex}.roster-who strong{font:var(--type-body);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.roster-who small{font:var(--type-secondary);color:var(--muted)}.roster-status{place-self:center end}.roster-metric{font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;min-width:0;display:flex}.roster-metric strong{font:var(--type-body);font-weight:var(--weight-semibold)}.roster-label{font:var(--type-caption);font-weight:var(--weight-regular);color:var(--muted)}.roster-meter{border-radius:var(--radius-full);background:var(--raised);height:6px;display:block;overflow:hidden}.roster-meter>span{border-radius:inherit;background:var(--success);height:100%;display:block}.roster-row-actions{align-items:center;gap:var(--space-1);margin:0 calc(var(--space-2) * -1) calc(var(--space-2) * -1);padding-top:var(--space-2);border-top:1px solid var(--border);flex-wrap:wrap;grid-column:1/-1;display:flex}.roster-menu{margin-left:auto;position:relative}.roster-menu>summary{cursor:pointer;list-style:none}.roster-menu>summary::-webkit-details-marker{display:none}.roster-menu-list{right:0;top:calc(100% + var(--space-1));z-index:var(--z-dropdown);min-width:240px;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:grid;position:absolute}.roster-menu-list button{align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--text);font:var(--type-body);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.roster-menu-list button:hover:not(:disabled){background:var(--surface-hover)}.roster-menu-list button:focus-visible{outline:var(--focus-outline);outline-offset:-2px}.roster-menu-list button.is-danger{color:var(--danger)}.roster-menu-list button:disabled{color:var(--subtle);cursor:not-allowed}@container roster (width>=880px){.roster-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.roster-head,.roster-row{align-items:center;gap:var(--space-4);grid-template-columns:minmax(0,2.4fr) minmax(0,1fr) minmax(0,1.4fr) minmax(0,.9fr) minmax(0,.7fr) 248px}.roster-head{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--raised);border-radius:var(--radius-lg) var(--radius-lg) 0 0;font:var(--type-label);color:var(--muted);display:grid}.roster-list>ul{gap:0}.roster-row{padding:var(--space-3) var(--space-5);background:0 0;border:0;border-radius:0}.roster-row+.roster-row{border-top:1px solid var(--border)}.roster-row:hover{background:var(--surface-hover)}.roster-who{grid-column:auto}.roster-status{justify-self:start}.roster-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.roster-progress{align-items:center;gap:var(--space-2);grid-template-columns:minmax(40px,1fr) auto;display:grid}.roster-row-actions{border:0;flex-wrap:nowrap;grid-column:auto;justify-content:flex-end;margin:0;padding:0}}.roster-skeleton{gap:var(--space-2);display:grid}.roster-skeleton>div{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:2fr 1fr 1fr;display:grid}.roster-skeleton span{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--raised) 25%, var(--border) 37%, var(--raised) 63%);background-size:400% 100%;height:14px;animation:1.4s infinite skeleton-sweep;display:block}@media (prefers-reduced-motion:reduce){.roster-skeleton span{animation:none}}.roster-form{gap:var(--space-4);display:grid}.roster-form-lede{font:var(--type-body);color:var(--muted);margin:0}.roster-form-actions{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:767px){.roster-search{max-width:none}.roster-actions{width:100%}.roster-actions .button{min-height:var(--touch);flex:auto}.roster-search input,.roster-row-actions .button,.roster-menu>summary,.roster-menu-list button{min-height:var(--touch)}.roster-form-actions .button{min-height:var(--touch);flex:1 1 0}}.attendance{gap:var(--space-4);display:grid}.attendance-bar{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.attendance-session{flex:320px;max-width:560px;margin:0}.attendance-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.attendance-actions .button{min-height:var(--control-md)}.attendance-summary{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.attendance-summary p{font:var(--type-secondary);color:var(--muted);margin:0}.attendance-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none;container-type:inline-size}.attendance-row{gap:var(--space-3);padding:var(--space-3) var(--space-4);display:grid}.attendance-row+.attendance-row{border-top:1px solid var(--border)}.attendance-who{align-items:center;gap:var(--space-3);min-width:0;display:flex}.attendance-who strong{font:var(--type-body);font-weight:var(--weight-medium);overflow-wrap:anywhere}.attendance-marks{gap:var(--space-1);border-radius:var(--radius-md);background:var(--raised);grid-template-columns:repeat(4,minmax(0,1fr));padding:3px;display:grid}.attendance-mark{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--muted);font:var(--type-label);cursor:pointer;background:0 0;border:1px solid #0000;display:inline-flex}.attendance-mark:hover{color:var(--text)}.attendance-mark:focus-visible{outline:var(--focus-outline);outline-offset:0}.attendance-mark[aria-pressed=true]{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-xs);font-weight:var(--weight-semibold)}.attendance-mark[data-mark=present][aria-pressed=true]{color:var(--success)}.attendance-mark[data-mark=absent][aria-pressed=true]{color:var(--danger)}.attendance-mark[data-mark=late][aria-pressed=true]{color:var(--warning)}.attendance-mark[data-mark=excused][aria-pressed=true]{color:var(--info)}.attendance-note{width:100%;min-height:var(--control-sm)}@container (width>=760px){.attendance-row{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-5);grid-template-columns:minmax(0,1.2fr) minmax(320px,1.4fr) minmax(0,1.4fr)}}.attendance-skeleton{gap:var(--space-2);display:grid}.attendance-skeleton span{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--raised) 25%, var(--border) 37%, var(--raised) 63%);background-size:400% 100%;height:48px;animation:1.4s infinite skeleton-sweep;display:block}@media (prefers-reduced-motion:reduce){.attendance-skeleton span{animation:none}}@media (max-width:767px){.attendance-actions{width:100%}.attendance-actions .button{min-height:var(--touch);flex:1 1 0}.attendance-mark,.attendance-note{min-height:var(--touch)}}.access{gap:var(--space-4);display:grid}.access-bar{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.access-bar h3{font:var(--type-card-title);margin:0}.access-bar p{margin:var(--space-1) 0 0;max-width:64ch;font:var(--type-secondary);color:var(--muted)}.access-bar .button{min-height:var(--control-md)}.access-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);container:access/inline-size}.access-list>ul{margin:0;padding:0;list-style:none}.access-head{display:none}.access-row{gap:var(--space-3);padding:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.access-row+.access-row{border-top:1px solid var(--border)}.access-title{font:var(--type-body);font-weight:var(--weight-semibold);overflow-wrap:anywhere;grid-column:1/-1}.access-cell{gap:var(--space-1);flex-direction:column;min-width:0;margin:0;display:flex}.access-cell input[type=datetime-local]{width:100%;min-height:var(--control-sm)}.access-label{font:var(--type-caption);font-weight:var(--weight-regular);color:var(--muted)}.access-gate>input{align-self:center;margin-top:0}.access-gate{align-self:end;align-items:center;gap:var(--space-2);min-height:var(--control-sm);font:var(--type-label);flex-direction:row}.access-toggle{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--control-sm);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:var(--type-label);cursor:pointer;align-self:start;display:inline-flex}.access-toggle:hover{background:var(--surface-hover)}.access-toggle:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.access-toggle[data-on]{background:var(--raised)}.access-toggle[data-kind=lock][data-on]{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning)}@container access (width>=820px){.access-head,.access-row{align-items:center;gap:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.1fr) minmax(0,1fr)}.access-head{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--raised);border-radius:var(--radius-lg) var(--radius-lg) 0 0;font:var(--type-label);color:var(--muted);display:grid}.access-row{padding:var(--space-2) var(--space-5)}.access-title{grid-column:auto}.access-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.access-gate{align-self:center}}@media (max-width:767px){.access-bar .button{width:100%;min-height:var(--touch)}.access-toggle,.access-cell input[type=datetime-local],.access-gate{min-height:var(--touch)}}.heatmap{gap:var(--space-3);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.heatmap-bar{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.heatmap-bar h3{align-items:baseline;gap:0 var(--space-2);font:var(--type-card-title);flex-wrap:wrap;margin:0;display:flex}.heatmap-bar h3 small{font:var(--type-secondary);color:var(--muted)}.heatmap-legend{gap:var(--space-2) var(--space-4);font:var(--type-secondary);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.heatmap-legend li{align-items:center;gap:var(--space-1);display:inline-flex}.heatmap-swatch{border-radius:var(--radius-xs);place-items:center;width:20px;height:20px;display:inline-grid}.heatmap-swatch,.heatmap-cell{background:var(--raised);color:var(--subtle)}.heatmap-swatch[data-status=completed],.heatmap-cell[data-status=completed]{background:var(--success-bg);color:var(--success)}.heatmap-swatch[data-status=in_progress],.heatmap-cell[data-status=in_progress]{background:var(--warning-bg);color:var(--warning)}.heatmap-swatch[data-status=locked],.heatmap-cell[data-status=locked]{background:var(--surface);color:var(--subtle)}.heatmap-scroll{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:100%;position:relative;overflow-x:auto}.heatmap-scroll:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.heatmap-table{border-collapse:collapse;width:100%;font:var(--type-secondary)}.heatmap-table th,.heatmap-table td{border-bottom:1px solid var(--border)}.heatmap-table thead th{background:var(--raised);font:var(--type-label);color:var(--muted);text-align:left;padding:var(--space-2) var(--space-3);vertical-align:bottom}.heatmap-sticky{z-index:1;background:var(--surface);text-align:left;min-width:180px;padding:var(--space-2) var(--space-4);border-right:1px solid var(--border);position:sticky;left:0}.heatmap-table thead .heatmap-sticky{z-index:2;background:var(--raised)}.heatmap-student{align-items:center;gap:var(--space-2);font:var(--type-body);font-weight:var(--weight-medium);display:flex}.heatmap-table thead th.heatmap-lesson{text-align:center;min-width:72px;max-width:120px}.heatmap-lesson span{color:var(--text);display:block}.heatmap-lesson small{font:var(--type-caption);font-weight:var(--weight-regular);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.heatmap-cell{text-align:center;vertical-align:middle;border-left:1px solid var(--border);height:44px}.heatmap-total{min-width:96px;padding:var(--space-2) var(--space-3);text-align:center;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;border-left:1px solid var(--border)}.heatmap-total[data-level=high]{color:var(--success)}.batch-form .checkbox>input,.override-box .checkbox>input{align-self:center;margin-top:0}.past-sessions{gap:var(--space-4);display:grid}.past-sessions h3{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);flex-wrap:wrap;display:flex}.past-sessions-switch{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.past-sessions-switch>div:first-child{flex:320px}.past-sessions-actions{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.past-sessions-actions .field{min-width:min(100%,260px)}.past-sessions-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.past-sessions-list li{justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.referrals-page{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.referrals-page>.page-title,.referrals-page>.stat-cards{margin-bottom:0}.referral-hint{font:var(--type-secondary);color:var(--muted);margin:0}.panel.referral-hero{gap:var(--space-5);padding:var(--space-6);box-shadow:none;flex-direction:column;display:flex}.referral-hero-copy{align-items:center;gap:var(--space-4);display:flex}.referral-hero-copy h2{font:var(--type-section-title);margin:0 0 2px}.referral-hero-icon,.referral-card-icon{border-radius:var(--radius-lg);background:var(--tint);width:48px;height:48px;color:var(--primary);flex:none;justify-content:center;align-items:center;display:inline-flex}.referral-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:var(--weight-semibold);letter-spacing:.08em;color:var(--text)}.referral-share{align-items:flex-end;gap:var(--space-3) var(--space-2);flex-wrap:wrap;min-width:0;display:flex;container-type:inline-size}.referral-share>*{flex:100%;min-width:0}.referral-hero .referral-share{max-width:880px}.referral-link-row{align-items:flex-end;gap:var(--space-2);display:flex}.referral-link-field{flex:1;min-width:0;margin:0}.referral-link-field>label{font:var(--type-label);color:var(--text)}.referral-link-field input{background:var(--raised);width:100%;color:var(--text);text-overflow:ellipsis}.referral-link-row>.button{flex:none}.referral-share-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}@container (width>=720px){.referral-share>.referral-link-row{flex:420px}.referral-share>.referral-share-buttons{flex:none}.referral-share>.referral-hint{order:3}}@container (width<=440px){.referral-link-row{flex-direction:column;align-items:stretch}.referral-share-buttons>*{flex:auto}}.referrals-columns{gap:var(--space-6);grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;display:grid}.panel.referral-how,.panel.referral-people{padding:var(--space-6);box-shadow:none}.referral-how h2,.referral-people h2{font:var(--type-card-title);margin:0}.referral-steps{gap:var(--space-4);margin:var(--space-4) 0 0;counter-reset:referral-step;flex-direction:column;padding:0;list-style:none;display:flex}.referral-steps li{min-height:32px;padding-left:calc(32px + var(--space-3));counter-increment:referral-step;flex-direction:column;gap:2px;display:flex;position:relative}.referral-steps li:before{content:counter(referral-step);border-radius:var(--radius-full);background:var(--tint);width:32px;height:32px;color:var(--primary);font:var(--type-label);justify-content:center;align-items:center;display:inline-flex;position:absolute;top:0;left:0}.referral-steps strong{font:var(--type-label);font-size:var(--text-base);color:var(--text)}.referral-steps span{font:var(--type-secondary);color:var(--muted)}.referral-people-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.referral-list{margin:var(--space-3) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.referral-list li{align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-3) 0;border-top:1px solid var(--border);display:flex}.referral-list li:first-child{border-top:0}.referral-list li>.avatar{flex:none}.referral-list-text{flex-direction:column;flex:1;min-width:0;display:flex}.referral-list-text strong{font:var(--type-label);font-size:var(--text-base);color:var(--text);overflow-wrap:anywhere}.referral-list-text span{font:var(--type-secondary);color:var(--muted)}.referral-list-status{align-items:center;gap:var(--space-3);flex:none;display:flex}.referral-xp{font:var(--type-label);color:var(--success)}.referral-people .empty{padding:var(--space-8) var(--space-4)}.referrals-skeleton{gap:var(--space-6);flex-direction:column;display:flex}.referrals-skel{border-radius:var(--radius-lg);background:var(--raised);animation:pulse 1.6s var(--ease-in-out) infinite;display:block}.referrals-skel-hero{height:200px}.referrals-skel-stats{height:96px}.referrals-skel-list{height:240px}@media (prefers-reduced-motion:reduce){.referrals-skel{animation:none}}.referral-paused,.referral-invited{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--info-border);background:var(--info-bg);color:var(--text);font:var(--type-body);margin:0;display:flex}.referral-paused svg{color:var(--info);flex:none}.referral-invited{border-color:var(--success-border);background:var(--success-bg);margin:var(--space-3) 0}.referral-invited svg{color:var(--success);flex:none}.panel.referral-card{gap:var(--space-3);padding:var(--space-5);box-shadow:none;flex-direction:column;display:flex}.referral-card-head{align-items:center;gap:var(--space-3);display:flex}.referral-card-icon{border-radius:var(--radius-md);width:36px;height:36px}.referral-card-head h2{min-width:0;font:var(--type-card-title);flex:1;margin:0}.referral-card-more{align-items:center;gap:var(--space-1);min-height:var(--control-sm);font:var(--type-label);color:var(--primary);flex:none;display:inline-flex}@media (max-width:767px),(pointer:coarse){.referral-card-more{min-height:var(--touch)}}.referral-card-text{font:var(--type-secondary);color:var(--muted);margin:0}.referral-settings{gap:var(--space-3);max-width:420px;margin-top:var(--space-4);flex-direction:column;display:flex}.referral-toggle{align-items:center;gap:var(--space-2);min-height:var(--touch);display:flex}@media (max-width:1023px){.referrals-columns{grid-template-columns:minmax(0,1fr)}}@media (max-width:767px){.referrals-page>.stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.panel.referral-hero,.panel.referral-how,.panel.referral-people{padding:var(--space-4)}.referral-hero-icon{width:40px;height:40px}.referral-share .button{min-height:var(--touch)}.referral-list li{flex-wrap:wrap}.referral-list-status{margin-left:calc(var(--space-3) + 40px)}}@media (max-width:389px){.referral-list-status{margin-left:0}}.att-page,.att-shell,.att-overview{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.att-page-panel{gap:var(--space-4);flex-direction:column;display:flex}.att-controls{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.att-controls .segmented{max-width:100%;overflow-x:auto}.att-controls-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.att-needs h2{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font-size:var(--text-lg);display:flex}.att-needs h2 svg{color:var(--warning)}.att-needs>p{margin:0 0 var(--space-3)}.att-needs-list{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));margin:0;padding:0;list-style:none;display:grid}.att-needs-item{align-items:flex-start;gap:var(--space-1);width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;flex-direction:column;display:flex}.att-needs-item:hover{border-color:var(--primary)}.att-needs-item:focus-visible{box-shadow:var(--focus-ring);outline:none}.att-needs-title{font-weight:var(--weight-semibold)}.att-needs-meta{color:var(--muted);font-size:var(--text-sm)}.att-batch-row{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.att-batch-row>*{flex:240px;min-width:0}.att-layout{gap:var(--space-4);grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;display:grid}.att-class-list ul{gap:var(--space-2);flex-direction:column;max-height:70vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.att-class{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:2px;display:flex}.att-class:hover{border-color:var(--primary)}.att-class:focus-visible{box-shadow:var(--focus-ring);outline:none}.att-class[aria-pressed=true]{border-color:var(--primary);background:var(--tint)}.att-class-when{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.att-class-title{font-weight:var(--weight-semibold);overflow-wrap:anywhere}.att-class-meta{align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.att-class-source{color:var(--muted);font-size:var(--text-xs)}.att-register{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.att-register-head{justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}.att-register-heading{min-width:0}.att-register-heading h3{font-size:var(--text-lg);overflow-wrap:anywhere;margin:0}.att-register-when{align-items:center;gap:var(--space-2);margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.att-register-notes{margin:var(--space-2) 0 0;color:var(--text);font-size:var(--text-sm);white-space:pre-line}.att-register-manage{gap:var(--space-1);flex-wrap:wrap;align-items:flex-start;display:flex}.att-notice{padding:var(--space-2) var(--space-3);border:1px solid var(--info-border);border-radius:var(--radius-md);background:var(--info-bg);color:var(--text);font-size:var(--text-sm);margin:0}.att-tally{gap:var(--space-2) var(--space-4);color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;margin:0;display:flex}.att-tally strong{color:var(--text)}.att-register-tools{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.att-hint{color:var(--muted);font-size:var(--text-xs)}.att-rows{border-top:1px solid var(--border);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.att-row{gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--border);border-left:3px solid #0000;grid-template-columns:minmax(150px,1fr) auto minmax(140px,1fr);align-items:center;display:grid}.att-row.is-changed{border-left-color:var(--warning)}.att-row-who{align-items:center;gap:var(--space-2);min-width:0;display:flex}.att-row-who>div{flex-direction:column;min-width:0;display:flex}.att-row-who strong{overflow-wrap:anywhere}.att-row-who small{color:var(--muted);font-size:var(--text-xs)}.att-note{width:100%;min-width:0}.att-picker{gap:var(--space-1);border:0;flex-wrap:wrap;min-width:0;margin:0;padding:0;display:flex}.att-option{display:inline-flex;position:relative}.att-option input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.att-option span{min-height:36px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;align-items:center;display:inline-flex}.att-option input:hover+span{border-color:var(--muted)}.att-option input:focus-visible+span{box-shadow:var(--focus-ring)}.att-option-present input:checked+span{border-color:var(--success-border);background:var(--success-bg);color:var(--success);font-weight:var(--weight-semibold)}.att-option-late input:checked+span{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning);font-weight:var(--weight-semibold)}.att-option-absent input:checked+span{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger);font-weight:var(--weight-semibold)}.att-option-excused input:checked+span{border-color:var(--info-border);background:var(--info-bg);color:var(--info);font-weight:var(--weight-semibold)}.att-picker:disabled .att-option span{opacity:.65}.att-picker:disabled .att-option input{cursor:not-allowed}.att-savebar{justify-content:flex-end;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.att-savebar-state{color:var(--success);font-size:var(--text-sm);font-weight:var(--weight-medium)}.att-form{gap:var(--space-3);flex-direction:column;display:flex}.att-form-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));display:grid}.att-form-mode{gap:var(--space-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.att-form-mode legend{width:100%;margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.att-mode-option{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;display:inline-flex}.att-mode-option input{width:18px;height:18px;min-height:0;accent-color:var(--primary);flex:none;margin:0;padding:0}.att-mode-option span{white-space:nowrap}.att-mode-option:has(input:checked){border-color:var(--primary);background:var(--tint)}.att-summary{gap:var(--space-3);flex-direction:column;display:flex}.att-summary-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.att-summary-head p{flex:280px;margin:0}.att-summary-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.att-rate-cell{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.att-overview-section{gap:var(--space-2);flex-direction:column;display:flex}.att-overview-section>p{margin:0}.att-section-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.att-section-head h2{font-size:var(--text-lg);margin:0}.att-overview-batch{flex-direction:column;display:flex}@media (max-width:900px){.att-layout{grid-template-columns:minmax(0,1fr)}.att-class-list ul{max-height:260px}}@media (max-width:720px){.att-row{grid-template-columns:minmax(0,1fr)}.att-register{padding:var(--space-3)}}.att-batch-tab{gap:var(--space-3);flex-direction:column;display:flex}.att-batch-tab-link{justify-content:flex-end;margin:0;display:flex}
