@font-face{font-family:Fredoka;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/fredoka-latin.woff2)format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/bricolage-grotesque-latin.woff2)format("woff2")}:root{--font-display:"Fredoka", "Arial Rounded MT Bold", system-ui, sans-serif;--font-mono:var(--font-sans);--font-sans:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--ink:#1f2d3a;--blue:#2b44d6;--foam:#f6f5fb;--apricot:#ff9a57;--yellow:#ffd447;--muted:#4a5866}*{box-sizing:border-box}body{font:400 16px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--foam);margin:0}a{color:var(--blue);font-weight:700;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}:where(button,[role=button],[role=tab],label:has(>input[type=checkbox]),label:has(>input[type=radio]),a.primary,a.secondary,a.attendance-button,a.attendance-fab,.app-sidebar nav a,.mobile-tabs a,.mobile-more a,.shell-top-actions a,.shell-profile,.sidebar-brand,.tutor-back){-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:#1f2d3a1f}:where(button,[role=button],a.attendance-button,a.primary,a.secondary) img{-webkit-user-drag:none}:where(input,textarea,[contenteditable=true]){-webkit-user-select:text;user-select:text}:where(button,[role=button],a.attendance-button,a.primary,a.secondary):active:not(:disabled){filter:brightness(.94)}@media (pointer:coarse),(max-width:1024px){body .app-shell :is(.primary,.secondary,.attendance-button,.icon-button,.text-button)[class]{min-height:44px}body .app-shell :is(.icon-button,.attendance-button.icon-only)[class]{min-width:44px}input:not([type=checkbox]):not([type=radio]),body .app-shell textarea,body .app-shell select{font-size:16px}}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}h1,h2,p{margin-top:0}h1{font:700 32px/1.05 var(--font-display);letter-spacing:-.01em}h2{font:700 24px/1.2 var(--font-display);letter-spacing:-.01em;margin-bottom:12px}p{line-height:1.6}.eyebrow{letter-spacing:.13em;margin-bottom:18px;font-size:12px;font-weight:800;display:block}.muted,.hint{color:var(--muted)}.hint{margin:-4px 0 0;font-size:13px}.form-stack{gap:20px;margin-top:28px;display:grid}label{gap:8px;font-size:14px;font-weight:700;display:grid}input{border:2px solid var(--ink);width:100%;min-width:0;color:var(--ink);background:#fff;border-radius:12px;padding:13px 14px}.primary,.secondary{border:2px solid var(--ink);min-height:48px;color:var(--ink);border-radius:100px;padding:12px 22px;font-weight:750}.primary{background:var(--apricot);box-shadow:3px 3px 0 var(--ink)}.primary:hover:not(:disabled){background:#ffb07e}.secondary{background:#fff}.message{border-radius:12px;margin-bottom:0;padding:12px 16px}.error{color:#8c271c;background:#fdedeb;border:1px solid #e04a3a}.account-layout{max-width:1100px;margin:auto;padding:24px}.account-header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;gap:16px;padding-bottom:24px;display:flex}.account-logo{width:auto;height:64px;display:block}.welcome{padding:48px 0 20px}.account-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.panel{border:2px solid var(--ink);background:#fff;border-radius:24px;padding:28px}.sites{gap:16px;padding:0;list-style:none;display:grid}.sites li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.badge{background:var(--yellow);border:1px solid var(--ink);border-radius:100px;padding:6px 10px;font-size:12px;font-weight:700}.text-button{color:var(--blue);text-underline-offset:4px;background:0 0;border:0;margin-top:24px;padding:4px 0;font-size:14px;text-decoration:none}.error-page{max-width:680px;margin:auto;padding:80px 24px}@media (max-width:760px){.account-grid{grid-template-columns:1fr}.panel{padding:22px}}@media (max-width:640px){.account-logo{height:52px}}select,textarea{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html:has(dialog[open]){overflow:hidden}.account-header h1{margin:0}.account-layout .welcome{padding-top:24px}@media (max-width:1024px){.app-main .account-layout{padding:24px 16px 110px}}
