.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-header{background:var(--surface);border-bottom:1px solid var(--border)}.header-inner{max-width:1328px;margin:auto;padding:0 40px;height:84px;display:flex;align-items:center;justify-content:space-between;gap:25px}.desktop-nav{display:flex;gap:6px}.nav-item{display:flex;align-items:center;gap:9px;padding:12px 18px;border-radius:8px;font-size:13px;font-weight:550;color:var(--text-secondary);transition:transform .15s ease}.nav-item:hover{color:var(--foreground);background:var(--surface-muted)}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.header-actions{display:flex;align-items:center;gap:18px}.theme-toggle{display:inline-flex;background:var(--surface-muted);border:1px solid var(--border);padding:3px;border-radius:8px}.theme-toggle button{display:grid;place-items:center;width:30px;height:30px;border:0;background:transparent;color:var(--text-muted);border-radius:5px}.theme-toggle button[aria-pressed=true]{background:var(--surface-raised);color:var(--foreground);box-shadow:var(--shadow)}.theme-toggle button:hover{color:var(--accent)}.profile-control{position:relative}.profile-control>summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;list-style:none;border-radius:8px}.profile-control>summary::-webkit-details-marker{display:none}.profile-control[open]>summary{background:var(--surface-muted)}.profile-menu{position:absolute;z-index:50;right:0;top:calc(100% + 14px);width:265px;background:var(--surface-raised);border:1px solid var(--border);border-radius:12px;padding:15px;box-shadow:var(--shadow-raised)}.profile-name{font-size:14px;font-weight:650;padding:4px 8px;overflow-wrap:anywhere}.profile-role{color:var(--text-muted);font-size:11px;padding:0 8px 14px}.profile-role strong{font-weight:500}.profile-menu a,.profile-menu form button{width:100%;display:flex;align-items:center;gap:12px;padding:11px 8px;border-radius:6px;background:transparent;border:0;color:var(--foreground);text-align:left}.profile-menu a:hover,.profile-menu form button:hover{background:var(--surface-muted)}.profile-menu form{margin-top:8px;border-top:1px solid var(--border);padding-top:7px}.profile-theme{padding:10px 8px}.profile-theme,.workspace-bar{display:flex;align-items:center;justify-content:space-between}.workspace-bar{width:100%;max-width:1328px;margin:0 auto;padding:21px 40px 0;gap:16px;font-size:11px;color:var(--text-muted)}.workspace-label{display:inline-flex;align-items:center;gap:8px}.studio-dot{width:6px;height:6px;background:var(--accent);transform:rotate(45deg)}.workspace-motto{font-family:var(--font-geist-mono),monospace;font-size:10px;letter-spacing:.4px}.student-selector{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%}.student-selector select{padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--foreground);max-width:220px;min-width:0}.linked-builder strong{color:var(--foreground);font-weight:550}.main-content{width:100%;max-width:1328px;padding:0 40px;margin:0 auto;flex:1}.main-content:focus{outline:none}.studio-footer{max-width:1328px;width:100%;margin:0 auto;padding:32px 40px;display:flex;justify-content:space-between;gap:20px;color:var(--text-muted);font-family:var(--font-geist-mono),monospace;font-size:9px;letter-spacing:1px}.mobile-nav{display:none}.skip-link{position:fixed;z-index:100;top:-80px;left:20px;background:var(--accent);color:var(--on-accent);padding:15px;border-radius:8px}.skip-link:focus{top:12px}@media (max-width:1100px){.header-inner{padding:0 28px;gap:18px}.header-theme{display:none}.nav-item{padding:12px 16px}.main-content,.workspace-bar{padding-left:28px;padding-right:28px}}.student-shell{--student-bg:#f5f5fb;--student-surface:#ffffff;--student-ink:#20203c;--student-muted:#73738b;--student-line:#e4e4ef;--student-soft:#eeebff;--student-violet:#6949e8;--student-pink:#ffe4ef;--student-mint:#dff5e9;--student-hero:#eee9ff;--student-shadow:0 8px 30px #38335406;--background:var(--student-bg);--surface:var(--student-surface);--surface-raised:var(--student-surface);--surface-muted:var(--student-soft);--foreground:var(--student-ink);--text-secondary:var(--student-muted);--text-muted:var(--student-muted);--border:var(--student-line);--border-strong:var(--student-line);--accent:var(--student-violet);--accent-hover:#7956f5;--accent-soft:var(--student-soft);--secondary-soft:#d7ccff;--focus:#ef82c0;--on-accent:#ffffff;--shadow:var(--student-shadow);color:var(--student-ink);background:var(--student-bg);font-family:var(--font-dm-sans),sans-serif;font-size:16px;transition:background .25s,color .25s}:root[data-theme=dark] .student-shell{--student-bg:#14141e;--student-surface:#20202e;--student-ink:#f4f2ff;--student-muted:#adaac3;--student-line:#353446;--student-soft:#302744;--student-violet:#b29aff;--student-pink:#3c283b;--student-mint:#203b35;--student-hero:#2d2447;--student-shadow:0 8px 30px #0002;--accent-hover:#c2afff;--secondary-soft:#302744}.student-shell .app-header{height:96px;border-bottom-color:var(--student-line);background:transparent}.student-shell .header-inner{width:100%;max-width:1440px;height:95px;padding:0 5%;justify-content:flex-start;gap:65px}.student-brand{display:flex;gap:13px;align-items:center;flex:none}.student-brandmark{font:700 45px/1 var(--font-space-grotesk),sans-serif;letter-spacing:-4px}.student-brandmark span{color:var(--student-violet);font-size:28px;vertical-align:top;margin-left:5px;letter-spacing:0}.student-brandname{border-left:1px solid var(--student-line);padding-left:13px;font-size:10px;font-weight:800;letter-spacing:1px;line-height:1.45}.student-shell .student-primary-nav{display:flex;align-items:center;align-self:stretch;gap:30px}.student-shell .student-primary-nav .nav-item{align-self:stretch;position:relative;padding:0;border-radius:0;background:transparent;color:var(--student-muted);font-size:14px;font-weight:700}.student-shell .student-primary-nav .nav-item:hover,.student-shell .student-primary-nav .nav-item[aria-current=page]{color:var(--student-violet);background:transparent}.student-shell .student-primary-nav .nav-item[aria-current=page]:after{content:"";position:absolute;right:0;bottom:0;left:0;height:3px;border-radius:3px;background:var(--student-violet)}.student-shell .student-primary-nav .nav-icon{display:none}.student-shell .header-actions{margin-left:auto;gap:22px}.student-shell .student-theme-toggle{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:1px solid var(--student-line);border-radius:30px;background:var(--student-surface);color:var(--student-ink);font-size:14px}.student-shell .profile-control>summary{gap:0;border-radius:50%}.student-shell .profile-control>summary>svg{display:none}.student-shell .profile-control .avatar-small{width:44px;height:44px;border:4px solid var(--student-surface);background:#d7ccff;color:#4a308f;font-size:13px;font-weight:700}.student-shell .profile-menu{border-radius:18px;background:var(--student-surface)}.student-shell .workspace-bar{display:none}.student-shell .main-content{max-width:1240px;padding:38px 28px 60px}.student-shell .studio-footer{max-width:1184px;border-top:1px solid var(--student-line);padding:24px 0 32px;color:var(--student-muted);font-family:var(--font-dm-sans),sans-serif;font-size:11px;letter-spacing:1px}.student-shell .studio-footer b{margin:0 10px;color:var(--student-violet)}.student-shell :focus-visible{outline-color:#ef82c0;outline-offset:5px}@media (max-width:1000px){.student-shell .header-inner{padding:0 25px;gap:25px}.student-shell .student-brandname{display:none}.student-shell .student-primary-nav{gap:22px}.student-shell .header-theme{display:block}.student-shell .main-content{padding-right:28px;padding-left:28px}.student-shell .studio-footer{margin:0 28px;width:auto}.student-shell{padding-bottom:0}}@media (max-width:650px){.student-shell .app-header{height:auto}.student-shell .header-inner{height:auto;min-height:113px;flex-wrap:wrap;padding:16px 20px 0;gap:8px}.student-shell .student-brandmark{font-size:37px}.student-shell .header-actions{gap:12px}.student-shell .student-theme-toggle{padding:6px 12px;font-size:18px}.student-shell .student-theme-toggle span:last-child{display:none}.student-shell .profile-control .avatar-small{width:37px;height:37px;border-width:3px}.student-shell .student-primary-nav{order:3;width:100%;height:49px;justify-content:space-between;gap:0}.student-shell .student-primary-nav .nav-item{padding:15px 0;font-size:14px}.student-shell .main-content{padding:25px 18px 40px}.student-shell .studio-footer{margin:0 20px;padding-top:24px;font-size:9px;gap:15px}.student-shell .studio-footer span:last-child{display:inline;text-align:right}}@media (max-width:1100px){.workspace-bar:has(.student-selector){flex-wrap:wrap}.student-selector select{min-height:40px;max-width:min(220px,60vw)}html{scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom))}:is(a,button,summary,select,input){scroll-margin-bottom:100px}.header-inner{height:72px;padding:0 22px}.desktop-nav{display:none}.main-content,.workspace-bar{padding-left:22px;padding-right:22px}.workspace-motto{display:none}.app-shell{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:repeat(var(--nav-count,4),minmax(0,1fr));background:var(--surface);border-top:1px solid var(--border);padding:8px 12px calc(8px + env(safe-area-inset-bottom));box-shadow:var(--shadow-raised)}.mobile-nav .nav-item{flex-direction:column;gap:5px;font-size:10px;padding:9px 5px;margin:0 3px}.studio-footer{padding:27px 22px 0}.studio-footer span:last-child{display:none}.profile-menu{top:calc(100% + 7px)}.workspace-bar{font-size:10px}}@media (max-width:380px){.header-inner,.main-content,.workspace-bar{padding-left:16px;padding-right:16px}.brand{gap:8px}.workspace-bar{flex-wrap:wrap}}.desktop-nav.instructor-nav{gap:2px;min-width:0}.desktop-nav.instructor-nav .nav-item{padding:10px 8px;gap:6px;font-size:12px}.instructor-nav .nav-item span{overflow-wrap:anywhere}@media (max-width:1100px){.mobile-nav.instructor-nav .nav-item{padding:7px 0;margin:0;text-align:center;min-width:0}.student-shell{padding-bottom:0}.student-shell .desktop-nav.student-primary-nav{display:flex}.student-shell .header-theme{display:block}.student-shell .header-inner{height:95px;padding:0 25px}.student-shell .main-content{padding-right:28px;padding-left:28px}.student-shell .studio-footer span:last-child{display:inline}}@media (max-width:650px){.student-shell .header-inner{height:auto;padding:16px 20px 0}.student-shell .main-content{padding:25px 18px 40px}}