@import"https://fonts.googleapis.com/css2?family=Lexend:wght@400;500;600;700&display=swap";:root{--font-app: "Lexend", system-ui, sans-serif;font-family:var(--font-app);color:#26352d;background:#f7f3ea;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #26352d;--muted: #667169;--forest: #183e32;--forest-light: #275d49;--cream: #f7f3ea;--paper: #fffdf8;--line: #dcd8cd;--terracotta: #a95135;--danger: #a83d35;--success: #276749}*{box-sizing:border-box;font-family:inherit}html,body{min-width:320px;min-height:100%;margin:0;background:var(--cream)}body{min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}.auth-layout{display:grid;grid-template-columns:minmax(380px,.92fr) minmax(460px,1.08fr);min-height:100vh}.story-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:52px clamp(44px,6vw,92px) 58px;overflow:hidden;color:#f9f5eb;background:radial-gradient(circle at 8% 88%,rgb(200 109 74 / 26%),transparent 28%),radial-gradient(circle at 96% 10%,rgb(122 161 129 / 18%),transparent 29%),var(--forest)}.story-panel:after{position:absolute;right:-85px;bottom:10%;width:280px;height:430px;border:1px solid rgb(255 255 255 / 10%);border-radius:50% 0 0 50%;content:"";transform:rotate(-14deg)}.brand{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;width:fit-content;color:inherit;font-size:20px;font-weight:700;letter-spacing:-.04em}.brand-mark{display:grid;width:32px;height:32px;color:#d8a17f;place-items:center}.brand-mark svg{width:100%;height:100%;overflow:visible;fill:currentColor}.brand-mark path:last-child{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2}.story-copy{position:relative;z-index:1;max-width:540px;margin:auto 0;padding:72px 0}.eyebrow{margin:0 0 14px;color:var(--terracotta);font-size:12px;font-weight:700;letter-spacing:.15em;line-height:1.5;text-transform:uppercase}.eyebrow.light{color:#d8a17f}.story-copy h2,.auth-card h1,.setup-card h1,.class-menu h1,.class-workspace h1,.create-class-form h2{margin:0;font-family:var(--font-app);font-weight:600;letter-spacing:-.035em}.story-copy h2{max-width:600px;font-size:clamp(44px,5.3vw,74px);line-height:.98}.story-copy>p:last-child{max-width:490px;margin:28px 0 0;color:#f9f5ebb8;font-size:16px;line-height:1.7}blockquote{position:relative;z-index:1;max-width:420px;margin:0;color:#f9f5ebb8;font-family:var(--font-app);font-size:17px;line-height:1.5}blockquote cite{display:block;margin-top:5px;font-family:var(--font-app);font-size:11px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.form-panel{display:grid;min-height:100vh;padding:50px clamp(36px,7vw,112px);background:linear-gradient(rgb(38 53 45 / 3%) 1px,transparent 1px),linear-gradient(90deg,rgb(38 53 45 / 3%) 1px,transparent 1px),var(--cream);background-size:32px 32px;place-items:center}.mobile-brand{display:none}.auth-card{width:min(100%,440px);padding:46px;border:1px solid rgb(38 53 45 / 10%);border-radius:4px;background:#fffdf8f0;box-shadow:0 28px 70px #1f352a17}.auth-card-header h1{color:var(--ink);font-size:clamp(36px,4vw,46px);line-height:1.05}.auth-intro{margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:30px 0 26px;padding:4px;border-radius:8px;background:#eee9de}.mode-switch button{padding:9px 12px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:13px;font-weight:600;transition:.16s ease}.mode-switch button.active{color:var(--forest);background:var(--paper);box-shadow:0 2px 8px #26352d14}.field{margin-bottom:18px}.field label{display:block;margin-bottom:7px;color:#35433b;font-size:12px;font-weight:700;letter-spacing:.02em}.field input{width:100%;height:48px;padding:0 14px;border:1px solid var(--line);border-radius:5px;outline:0;color:var(--ink);background:#fffefa;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.field input::placeholder{color:#a7aaa4}.field input:focus{border-color:var(--forest-light);box-shadow:0 0 0 3px #275d491f}.password-field{position:relative}.password-field input{padding-right:62px}.show-password{position:absolute;top:50%;right:12px;padding:4px;border:0;color:var(--forest-light);background:transparent;font-size:11px;font-weight:700;transform:translateY(-50%)}.form-message{min-height:18px;margin:3px 0 12px}.error-message,.success-message{margin:0;font-size:12px;line-height:1.5}.error-message{color:var(--danger)}.success-message{color:var(--success)}.primary-button{width:100%;min-height:49px;padding:12px 18px;border:1px solid var(--forest);border-radius:5px;color:#fffdf8;background:var(--forest);font-size:13px;font-weight:700;transition:background .15s ease,transform .15s ease}.primary-button:hover:not(:disabled){background:var(--forest-light)}.primary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:focus-visible,.primary-link:focus-visible,.secondary-link:focus-visible,.portal-switch a:focus-visible,.mode-switch button:focus-visible,.show-password:focus-visible,.text-button:focus-visible,.secondary-button:focus-visible,.class-tile:focus-visible,.back-button:focus-visible{outline:3px solid #7d3927;outline-offset:2px}.primary-button:disabled{opacity:.66}.privacy-note{margin:19px 0 0;color:#848a84;font-size:10px;line-height:1.5;text-align:center}.portal-switch{margin:14px 0 0;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}.portal-switch a{color:var(--forest-light);font-weight:700;text-underline-offset:3px}.centered-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:32px;color:var(--forest);background:var(--cream)}.centered-screen>p{color:var(--muted);font-size:13px}.loader{width:27px;height:27px;margin:32px 0 8px;border:2px solid #d7d0c3;border-top-color:var(--forest);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.setup-screen{gap:30px;background:radial-gradient(circle at 50% 10%,rgb(39 93 73 / 8%),transparent 35%),var(--cream)}.setup-card{width:min(100%,650px);padding:clamp(28px,5vw,50px);border:1px solid var(--line);border-radius:5px;background:var(--paper);box-shadow:0 22px 60px #1f352a14}.setup-card h1{font-size:clamp(34px,5vw,48px)}.setup-card>p{color:var(--muted);line-height:1.65}.setup-card pre{padding:18px;overflow-x:auto;border-radius:5px;color:#e8f2eb;background:#20372d;font-size:12px;line-height:1.7}.setup-card .setup-warning{margin-bottom:0;color:var(--danger);font-size:12px;font-weight:600}.setup-card .primary-button{width:auto;margin-top:12px}.account-context{font-size:12px;overflow-wrap:anywhere}.screen-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.screen-actions .primary-button{margin-top:0}.primary-link,.secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:5px;font-size:12px;font-weight:700;text-decoration:none}.primary-link{border:1px solid var(--forest);color:#fffdf8;background:var(--forest)}.primary-link:hover{background:var(--forest-light)}.secondary-link{border:1px solid var(--line);color:var(--forest);background:var(--paper)}.secondary-link:hover{border-color:var(--forest-light)}.teacher-shell{min-height:100vh;padding:0 clamp(24px,6vw,90px);color:var(--ink);background:radial-gradient(circle at 88% 72%,rgb(200 109 74 / 10%),transparent 27%),linear-gradient(rgb(38 53 45 / 2.5%) 1px,transparent 1px),linear-gradient(90deg,rgb(38 53 45 / 2.5%) 1px,transparent 1px),var(--cream);background-size:auto,36px 36px,36px 36px,auto}.teacher-nav{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1220px;height:90px;margin:0 auto;border-bottom:1px solid var(--line)}.teacher-nav-actions,.teacher-account{display:flex;align-items:center}.teacher-nav-actions{gap:22px}.teacher-account{gap:9px;min-width:0;color:var(--muted);font-size:11px}.teacher-avatar{display:grid;flex:0 0 auto;width:30px;height:30px;border-radius:50%;color:var(--paper);background:var(--terracotta);font-size:12px;font-weight:700;place-items:center}.teacher-email{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button{flex:0 0 auto;padding:8px 0;border:0;color:var(--forest);background:transparent;font-size:12px;font-weight:700}.class-menu{max-width:1220px;margin:0 auto;padding:clamp(54px,8vw,92px) 0 84px}.class-menu-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.class-menu-heading h1{font-size:clamp(44px,6vw,68px);line-height:1}.class-menu-heading h1:focus,.class-workspace h1:focus{outline:3px solid #7d3927;outline-offset:6px}.class-menu-heading>div>p:last-child{max-width:580px;margin:18px 0 0;color:var(--muted);font-size:15px;line-height:1.65}.class-count{flex:0 0 auto;margin-bottom:5px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--paper);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.menu-message{min-height:29px;margin:23px 0 5px}.empty-class-copy{margin:0 0 24px;color:var(--muted);font-size:13px;line-height:1.6}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:0;padding:0;list-style:none}.class-grid li{min-width:0}.class-tile{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:228px;padding:25px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--paper);box-shadow:0 12px 30px #1f352a0d;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.class-tile:hover:not(:disabled){border-color:#275d497a;box-shadow:0 19px 42px #1f352a1a;transform:translateY(-3px)}.class-tile:disabled{opacity:.65}.create-class-tile{justify-content:flex-end;border-style:dashed;border-color:#275d496b;color:var(--forest);background:#fffdf894;box-shadow:none}.create-icon{display:grid;width:42px;height:42px;margin-bottom:auto;border:1px solid rgb(39 93 73 / 30%);border-radius:50%;background:#275d4912;font-size:25px;font-weight:400;line-height:1;place-items:center}.class-tile-topline{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:auto;color:var(--terracotta);font-size:20px}.class-bookmark{width:27px;height:36px;background:var(--forest-light);clip-path:polygon(0 0,100% 0,100% 100%,50% 77%,0 100%)}.class-tile-name{display:block;max-width:100%;margin-top:22px;overflow-wrap:anywhere;font-size:21px;font-weight:600;letter-spacing:-.025em;line-height:1.22}.class-tile-detail{display:block;margin-top:10px;color:var(--muted);font-size:11px;line-height:1.5}.class-status{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:228px;padding:30px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#fffdf8b8}.class-status .loader{margin:0 0 12px}.class-status h2{margin:0 0 9px;color:var(--ink);font-size:19px}.class-status p{max-width:590px;margin:0;font-size:13px;line-height:1.65}.class-status .secondary-button{margin-top:19px}.secondary-button,.back-button{min-height:42px;padding:10px 16px;border:1px solid var(--line);border-radius:5px;color:var(--forest);background:var(--paper);font-size:12px;font-weight:700}.secondary-button:hover:not(:disabled),.back-button:hover:not(:disabled){border-color:var(--forest-light)}.class-workspace{max-width:850px;margin:0 auto;padding:clamp(54px,10vw,110px) 0 80px}.back-button{margin-bottom:54px;border:0;background:transparent}.back-button span{margin-right:7px}.class-workspace h1{max-width:800px;overflow-wrap:anywhere;font-size:clamp(48px,8vw,78px);line-height:1}.class-workspace>p:not(.eyebrow,.error-message){max-width:650px;margin:24px 0 19px;color:var(--muted);font-size:16px;line-height:1.7}.class-workspace time{color:var(--forest-light);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.workspace-message{margin-top:22px}.create-dialog{width:min(calc(100% - 32px),510px);padding:0;border:0;border-radius:10px;color:var(--ink);background:var(--paper);box-shadow:0 32px 100px #10231b4d}.create-dialog::backdrop{background:#10231b9e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.create-class-form{padding:clamp(28px,6vw,45px)}.create-class-form h2{margin:0;font-size:clamp(30px,5vw,39px);line-height:1.08}.create-class-form>p:not(.eyebrow){margin:13px 0 28px;color:var(--muted);font-size:13px;line-height:1.6}.dialog-message{min-height:20px;margin-top:-7px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.dialog-actions .primary-button{width:auto}.dialog-actions button:disabled{opacity:.66}@media(max-width:850px){.auth-layout{display:block}.story-panel{display:none}.form-panel{display:flex;flex-direction:column;min-height:100vh;padding:28px 22px 42px}.mobile-brand{display:block;width:min(100%,440px);margin:0 auto 30px}.auth-card{margin:auto}.teacher-shell{padding-inline:22px}.class-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media(max-width:660px){.teacher-nav{align-items:center;height:76px}.teacher-account{display:none}.class-menu-heading{align-items:flex-start}.class-count{display:none}.class-grid{grid-template-columns:1fr}.class-tile{min-height:200px}}@media(max-width:520px){.auth-card{padding:30px 24px;box-shadow:0 18px 45px #1f352a12}.form-panel{padding-inline:14px}.mobile-brand{padding-inline:10px}.teacher-shell{padding-inline:14px}.teacher-nav{padding-inline:8px}.class-menu{padding-top:45px}.class-menu-heading{padding-inline:8px}.menu-message,.empty-class-copy{margin-inline:8px}.class-workspace{padding-inline:8px}.dialog-actions{flex-direction:column}.dialog-actions .primary-button,.dialog-actions .secondary-button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
