/* Layout only. Component appearance comes from design-system/components.css. */
.shell{max-width:var(--layout-content);margin:auto;padding:var(--space-6)}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:var(--border-width) solid var(--color-line)}
.brand{display:flex;gap:var(--space-3);align-items:center;text-decoration:none;color:var(--color-text);font-size:var(--font-subtitle);font-weight:var(--weight-bold)}
.brand img{width:var(--object-default);height:var(--object-default)}
.language{width:auto;max-width:100%}.workspace{display:grid;grid-template-columns:var(--layout-sidebar) minmax(0,1fr);gap:var(--space-8);padding-top:var(--space-8)}
.sidebar{display:flex;flex-direction:column;gap:var(--space-2);align-self:start}.nav-link{display:flex;gap:var(--space-3);align-items:center;min-height:var(--control-student);padding:var(--space-3);border-radius:var(--radius-control);color:var(--color-muted);text-decoration:none}
.nav-link:hover{background:var(--color-surface)}.nav-link[aria-current=page]{background:var(--color-course-math);color:var(--color-primary);font-weight:var(--weight-bold)}.nav-link[aria-current=page]::before{content:'•'}
main{min-width:0}.page-head{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}
.hero{display:grid;grid-template-columns:minmax(0,1fr) var(--layout-sidebar);gap:var(--space-6);align-items:center;padding:var(--space-8);background:var(--color-course-math);border-radius:var(--radius-control)}.hero img{width:100%;max-height:var(--layout-sidebar)}
.section{margin-top:var(--space-8)}.section-title{margin-bottom:var(--space-4)}
.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.course-tile{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface)}.course-tile .btn{align-self:start;margin-top:auto}.course-top{display:flex;justify-content:space-between;gap:var(--space-4)}
.theme-math{background:var(--color-course-math)}.theme-info{background:var(--color-course-info)}.theme-logic{background:var(--color-course-logic)}.theme-code{background:var(--color-course-code)}.theme-ai{background:var(--color-course-ai)}
.auth-layout{max-width:var(--layout-content);margin:auto;padding:var(--space-6)}.auth-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-16);align-items:center;padding:var(--space-12) 0}.auth-story{display:flex;flex-direction:column;gap:var(--space-6);align-items:start}.auth-story img{width:var(--layout-sidebar);align-self:center}.auth-form{padding:var(--space-8)}.tabs{display:flex;gap:var(--space-2);flex-wrap:wrap}.tabs .btn[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.form-grid .full{grid-column:1/-1}.reading{max-width:var(--layout-reading)}.empty{background:var(--color-surface)}.empty h2{margin-bottom:var(--space-3)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:var(--font-small)}td,th{text-align:left;padding:var(--space-3);border-bottom:var(--border-width) solid var(--color-line);vertical-align:top}th{color:var(--color-muted)}.identifier{font-size:var(--font-caption)}
.metric{font-size:var(--font-display);font-weight:var(--weight-bold)}.footer{padding:var(--space-8) 0;color:var(--color-muted);font-size:var(--font-small)}
.skip{position:absolute;top:var(--space-2);left:var(--space-2);transform:translateY(-200%);z-index:1}.skip:focus{transform:none}.notice:empty{display:none}.student-view main{font-size:var(--font-student)}.student-view main .btn{min-height:var(--control-student);font-size:var(--font-student)}
@media(max-width:1199px){.workspace{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;gap:var(--space-2)}.nav-link{padding:var(--space-2) var(--space-3)}.hero{grid-template-columns:minmax(0,1fr) var(--layout-sidebar)}}
@media(max-width:767px){.shell,.auth-layout{padding:var(--space-4)}.topbar{flex-wrap:wrap}.workspace{gap:var(--space-6);padding-top:var(--space-4)}.course-grid,.form-grid,.auth-body{grid-template-columns:1fr}.auth-body{gap:var(--space-6);padding:var(--space-6) 0}.auth-story img{display:none}.auth-story h1{font-size:var(--font-title)}.auth-form{padding:var(--space-5)}.hero{grid-template-columns:1fr;padding:var(--space-6)}.hero img{width:var(--layout-sidebar);max-height:var(--layout-sidebar);justify-self:center;order:-1}.hero h1{font-size:var(--font-title)}.grid{grid-template-columns:1fr}.nav-link{min-height:var(--control-student)}.sidebar{border-bottom:var(--border-width) solid var(--color-line);padding-bottom:var(--space-4)}}
