.student-access-welcome,.student-code-entry{--student-bg:#0b1627;--student-surface:#13243a;--student-text:#e8eef7;--student-muted:#a7b8cd;--student-line:#94b4d633;--student-accent:#9bdbe8;color:var(--student-text)}.student-code-entry{position:relative;margin-block:1.5rem .25rem;border:1px solid var(--student-line);border-radius:18px;background:var(--student-bg);text-align:start}.student-code-entry summary{min-height:64px;padding:1rem;cursor:pointer;list-style:none}.student-code-entry summary::-webkit-details-marker{display:none}.student-code-entry summary>span{display:block;position:relative;padding-inline-end:30px}.student-code-entry summary strong{display:block;font-size:15px;font-weight:650}.student-code-entry summary small{display:block;margin-top:4px;font-size:12px;line-height:1.7;color:var(--student-muted)}.student-code-chevron{position:absolute;inset-inline-end:0;top:0;font-size:22px;transition:transform .15s}.student-code-entry[open] .student-code-chevron{transform:rotate(180deg)}.student-code-body{padding:0 1rem 1rem;font-size:14px;line-height:1.8}.student-code-body h3{font-size:16px;font-weight:650;margin-block:0 .6rem}.student-code-body p{margin-block:.5rem}.student-code-account{color:var(--student-muted);font-size:12px}.student-code-input label{display:block;margin-block:.65rem .35rem;font-size:13px;font-weight:600}.student-code-input input{display:block;width:100%;min-height:48px;padding:10px 13px;border:1px solid var(--student-line);border-radius:11px;background:var(--student-surface);color:var(--student-text);font-size:16px;font-family:inherit;letter-spacing:.06em}.student-code-input small{display:block;margin-top:.4rem;color:var(--student-muted);font-size:12px}.student-code-confirm{border-block-start:1px solid var(--student-line);padding-top:1rem;margin-top:1rem}.student-code-confirm ul{list-style:none;display:grid;gap:.55rem;margin-block:.5rem;padding:0}.student-code-confirm li{position:relative;padding-inline-start:20px}.student-code-confirm li:before{content:"✓";position:absolute;inset-inline-start:0;color:var(--student-accent)}.student-code-energy{border-inline-start:2px solid var(--student-accent);padding-inline-start:10px}.student-code-terms{color:var(--student-muted);font-size:12px}.student-access-primary,.student-access-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:11px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;text-align:center}.student-access-primary{margin-top:.8rem;background:var(--student-accent);color:#12293b;border:1px solid transparent}.student-access-secondary{border:1px solid var(--student-line);color:var(--student-text);background:transparent}.student-code-confirm .student-access-secondary{margin-inline-end:.5rem}.student-access-primary:disabled,.student-access-secondary:disabled{opacity:.5;cursor:default}.student-access-welcome :is(button,a):focus-visible,.student-code-entry :is(input,button,a,summary):focus-visible{outline:2px solid var(--student-accent);outline-offset:3px}.student-access-error{color:#ffc4b7;font-size:13px;line-height:1.8}.student-code-message{padding:0 1rem 1rem;color:var(--student-muted);font-size:13px}.student-access-welcome{min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) 20px max(32px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 0,#335a782e,transparent 60%),var(--student-bg)}.student-access-welcome-inner{width:min(100%,760px);margin:clamp(12px,4vh,48px) auto 0}.student-access-welcome header{margin-bottom:1.5rem}.student-access-welcome h1{font-size:clamp(24px,4vw,34px);line-height:1.5;font-weight:650;text-wrap:balance;margin-block:.75rem .4rem}.student-access-welcome header>p{max-width:55ch;color:var(--student-muted);font-size:15px;line-height:1.9}.student-access-expiry{padding:1rem;border-inline-start:3px solid var(--student-accent);background:var(--student-surface);border-radius:12px}.student-access-expiry p{margin:0;font-size:13px;line-height:1.8}.student-access-expiry strong{display:block;margin-block:.3rem;font-size:16px;font-weight:650}.student-access-energy{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-block:1rem;color:var(--student-muted);font-size:12px;line-height:1.8}.student-access-energy bdi{color:var(--student-text);font-size:17px;font-weight:650;margin-inline-start:.4rem}.student-access-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-block:1.5rem}.student-access-destinations a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;min-width:0;padding:1rem;border:1px solid var(--student-line);border-radius:15px;color:var(--student-text);background:var(--student-surface);font-size:15px;font-weight:600;text-decoration:none}.student-access-destinations a:first-child{grid-column:1/-1}.student-access-destinations a span:last-child{color:var(--student-accent);font-size:22px}.student-access-destinations a:hover{border-color:var(--student-accent)}.student-access-welcome-note{color:var(--student-muted);font-size:12px;line-height:1.9}.student-access-welcome-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:1rem}:root[data-theme=light] :is(.student-code-entry,.student-access-welcome){--student-bg:#f8fafc;--student-surface:#edf3fa;--student-text:#17314c;--student-muted:#50677e;--student-line:#708fa94d;--student-accent:#236b80}:root[data-theme=light] .student-access-primary{color:#fff}:root[data-theme=light] .student-access-error{color:#a53529}@media(max-width:359px){.student-access-welcome{padding-inline:16px}.student-access-destinations{grid-template-columns:minmax(0,1fr)}.student-access-destinations a{min-height:58px}.student-code-body,.student-code-entry summary{padding-inline:12px}}@media(prefers-reduced-motion:reduce){.student-access-welcome *,.student-code-entry *{transition:none!important;animation:none!important}}html[data-motion=reduced] :is(.student-code-entry,.student-access-welcome) *{transition:none!important;animation:none!important}