/* Shared application chrome. Authored lesson and widget formatting stays in its own scope. */
:root{--panel:#fff;--bg:#f4f7fb;--accent:#2864d2;--ui-font:Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--ui-side:#eaf0fa;--ui-soft:#edf3fc;--ui-border:#e4eaf3;--ui-shadow:0 4px 20px #24334a04;--ui-radius:24px;font-family:var(--ui-font);--muted:#65748b;--border:var(--ui-border)}
body{background:var(--bg);font-size:17px}button,.button{border-radius:999px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s}input,select,textarea{border-radius:15px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}h1{font-weight:600;letter-spacing:-1px;line-height:1.25}h2{font-weight:600;letter-spacing:-.4px}h3{font-weight:600}.brandmark{border-radius:13px;flex-shrink:0}.logo{font-weight:700;font-size:17px}.logo>span:last-child{overflow-wrap:anywhere}.shell{grid-template-columns:230px minmax(0,1fr);gap:0}.sidebar{background:var(--ui-side);border:0;padding:26px 14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.sidebar nav{gap:7px;margin-top:28px}.nav-item{border-radius:16px;padding:12px;color:var(--muted);font-size:15px;gap:11px;min-width:0;width:100%}.nav-item svg{width:19px;height:19px;flex-shrink:0}.nav-label{min-width:0;overflow-wrap:anywhere;text-align:left}.nav-item.active{background:var(--panel);color:var(--accent);box-shadow:var(--ui-shadow)}.nav-item.active:before{display:none}.sidebar-foot{border-color:#d9e3f1;padding-top:18px;margin-top:auto}.sidebar-foot>.row{flex-wrap:nowrap;min-width:0}.sidebar-foot>.row>div:last-child{min-width:0}.sidebar-foot>button{margin-top:14px}.avatar{flex-shrink:0}.user-name{max-width:155px}.main{padding:28px 32px 60px;align-self:start;min-width:0}.topline{border:0;gap:12px;flex-wrap:wrap;padding-bottom:0;margin-bottom:28px}.topline>.row:last-child{margin-left:auto}.topline .version{background:var(--ui-side)}.ui-icon{width:38px;height:38px;padding:0;flex-shrink:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.ui-icon svg{width:19px;height:19px}.ui-icon[title]{position:relative}.shell.nav-compact{grid-template-columns:76px minmax(0,1fr)}.nav-compact .sidebar .logo{justify-content:center}.nav-compact .sidebar .logo>span:last-child,.nav-compact .sidebar .nav-label,.nav-compact .sidebar-foot>.row>div:last-child,.nav-compact .sidebar-foot>button{display:none}.nav-compact .sidebar .nav-item{justify-content:center;padding:13px 8px}.nav-compact .sidebar-foot>.row{justify-content:center}.card,.list-card,.empty,.work-block{border-radius:var(--ui-radius);border-color:var(--ui-border);box-shadow:var(--ui-shadow)}.card,.list-card{border-color:transparent}.list-card{padding:22px 24px;gap:18px;align-items:center}.list-card>div{min-width:0}.list-card h3,.list-card p,.page-head h1,.page-head p{overflow-wrap:anywhere}.page-head>div:first-child{min-width:0;flex:1}.page-head{gap:18px}.cards{gap:20px}.stat{font-weight:500}.section{margin-top:30px}.table-wrap{border-radius:22px;border-color:var(--ui-border)}th{background:var(--ui-soft);color:var(--muted);font-weight:500}td{border-top-color:var(--ui-border)}.table-wrap table:not(.ws-table){min-width:480px}.pill{padding:5px 11px}.form-error,.feedback,.invite-code{border-radius:16px}.empty{padding:40px 24px}.empty-icon{opacity:.6}dialog{border-radius:30px;border-color:var(--ui-border);padding:28px;box-shadow:0 24px 80px #14233a26}dialog::backdrop{background:#13223c4d}.auth-story{background:var(--ui-side)}.auth-note{border-radius:24px;border:0;background:#ffffff99}.auth-tabs{background:var(--ui-soft);border:0;border-radius:999px;padding:5px;gap:4px}.auth-tabs button{border-radius:999px;padding:9px 17px;border:0}.auth-tabs button.active{background:var(--panel);color:var(--accent);border:0}.auth-form .primary{border-radius:999px}.auth-form h1{font-weight:600}.work-header{border-color:var(--ui-border)}.option,.order-row{border-radius:16px}.start-card{border-radius:30px}.progressbar{height:6px}.python-window{font-family:var(--ui-font);border-radius:22px}.python-controls button{border-radius:999px}.python-run{border-radius:999px}.python-code,.python-stdin,.python-output,pre,code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
/* Workspace: keep the 72px row / 16px gap geometry used by the placement engine. */
.workspace-page{--ws-line:var(--ui-border);--ws-soft:var(--ui-soft);--ws-ink:#24334a}.ws-block,.ws-widget{border-radius:24px;border-color:var(--ui-border);box-shadow:var(--ui-shadow)}.ws-block:not(.ws-image-block){padding:20px}.ws-side .ws-block:not(.ws-image-block){padding:16px}.ws-block-title{font-weight:600}.ws-page-title{font-weight:600}.ws-heading{gap:16px}.ws-page-tools{gap:7px}.ws-icon-button{border-radius:50%}.ws-page-picker,.ws-page-picker select{border-radius:999px}.ws-link-card,.ws-board-column,.ws-task{border-radius:16px}.ws-board-column{background:var(--ui-soft)}.ws-task{border-color:var(--ui-border)}.ws-task-name{font-weight:500}.ws-navigation h3{font-size:18px;font-weight:600}.ws-navigation button{color:var(--muted);border-radius:12px}.ws-navigation button:hover{color:var(--accent)}.ws-catalog,.ws-palette{border-radius:22px;border-color:var(--ui-border);background:var(--panel)}.ws-catalog-group h3{font-weight:600;letter-spacing:0;text-transform:none}.ws-catalog-item{border-radius:14px}.ws-widget-choice,.ws-widget-mini{border-radius:16px}.ws-editable{border-radius:12px}.ws-table .ws-column-name{background:var(--ui-soft);font-weight:600}.ws-timetable-scroll{border-radius:20px;border-color:var(--ui-border)}.ws-time-head{font-weight:500;padding:12px 6px;background:var(--panel)}.ws-time-event{border-radius:13px!important;padding:6px!important;border-right-width:1px}.ws-time-event .ws-schedule-student{font-weight:600}.ws-event{border-radius:12px;padding:7px!important}.ws-working-hours{padding:10px 0}.ws-calendar{border-radius:16px}.ws-day{min-width:0}.ws-calendar-agenda .ws-event,.ws-schedule-agenda .ws-event{padding:12px!important}.ws-format{border-radius:16px!important;box-shadow:0 6px 24px #24334a18!important}.ws-format button{border-radius:10px}.ws-image-block{border-radius:22px}.ws-image-block .ws-image-widget img{border-radius:0}.ws-image-block .ws-block-top button{box-shadow:0 2px 12px #24334a12}.ws-trash{border-radius:50%}.ws-grid>.ws-empty-slot{border-radius:24px}
/* Material folders and files share the same actions and ownership checks. */
.material-grid{gap:20px;padding-top:12px;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.material-card{border:0;border-radius:24px;padding:20px;background:var(--panel);box-shadow:var(--ui-shadow);position:relative;overflow-wrap:anywhere}.material-card>.row{gap:5px}.material-card .ws-icon-button,.material-card .ws-trash{border-radius:50%;background:var(--ui-soft)!important}.material-card.material-folder-card{align-self:start;min-height:180px;background:#e3edfc;border-radius:0 24px 24px 24px;margin-top:12px}.material-folder-card:before{content:'';position:absolute;top:-12px;left:0;width:42%;height:18px;border-radius:12px 12px 0 0;background:inherit}.material-folder-card:nth-child(3n+2){background:#e9f2ed}.material-folder-card:nth-child(3n){background:#fff1dc}.material-folder-card .material-file-icon{width:30px;height:30px;background:transparent;font-size:25px}.material-file-card .material-file-icon{width:100%;height:100px;background:var(--ui-soft);border-radius:16px;font-size:22px;font-weight:500}.material-open{font-size:17px;border-radius:0;gap:12px;justify-content:flex-start}.material-open:hover{background:transparent}.material-open strong{font-weight:600;line-height:1.5}.material-file-icon svg{width:27px;height:27px}.material-preview-image{border-radius:16px}.material-dialog{border-radius:30px;font-family:var(--ui-font);background:var(--panel);color:inherit;border-color:var(--ui-border)}.material-dialog-top>button,.material-search{border-radius:15px}.material-choice,.material-attachment{border-radius:18px;border-color:var(--ui-border);background:var(--panel)}.material-choice:hover{background:var(--ui-soft)}.material-dialog .material-breadcrumbs button{border-radius:999px;background:var(--ui-soft);border-color:var(--ui-border)}
/* Mock exams, statistics and beta settings inherit these surfaces. */
.exam-catalog{gap:20px}.exam-catalog-card{padding:24px;border-radius:24px}.exam-hero{border-radius:30px;background:#e6efff}.exam-hero h1{font-weight:600}.exam-work-nav{border-radius:24px}.exam-number-grid button{border-radius:14px}.exam-number-grid button:focus-visible{outline-offset:2px}.exam-score .stat{font-weight:500}.exam-hero-mark{font-weight:600}.exam-matrix th{font-weight:500}
/* Teacher-authored font, color, size and radius are deliberately not overridden. */
body.lesson-editor{font-family:var(--ui-font);background:#f4f7fb;font-size:16px}body.lesson-editor>header{border-color:var(--ui-border);padding:12px 20px}body.lesson-editor>.layout>.left{background:var(--ui-side);border-right:0}body.lesson-editor>.layout>.right{border-color:var(--ui-border);background:var(--panel);border-radius:24px 0 0 24px}body.lesson-editor>.layout>.left h3,body.lesson-editor>.layout>.right h3{font-weight:600;letter-spacing:0;text-transform:none}body.lesson-editor .outline{border-radius:14px;background:transparent;border-color:transparent}body.lesson-editor .outline.active{background:white;border-color:#d8e4f7}body.lesson-editor .sheet{border-radius:28px;border-color:var(--ui-border);box-shadow:var(--ui-shadow)}body.lesson-editor .tabs button{border-radius:999px}body.lesson-editor .field input,body.lesson-editor .field select,body.lesson-editor .field textarea{border-radius:14px}body.lesson-editor #floating{border-radius:18px;border-color:var(--ui-border);font-family:var(--ui-font)}body.lesson-editor #floating button{border-radius:9px}body.lesson-editor .block-drag-handle{border-radius:50%}body.lesson-editor .label{font-family:var(--ui-font);font-weight:500;letter-spacing:0}body.lesson-editor .material-dialog{--panel:white}
body.student-dark{--ui-side:#1b2a41;--ui-soft:#26374f;--ui-border:#384a62;--ui-shadow:none;--muted:#a6b6cc}.student-dark .nav-item.active{color:#b9d3ff}.student-dark .sidebar-foot{border-color:var(--ui-border)}.student-dark .workspace-page{--ws-ink:#e6edf8}.student-dark .material-folder-card{background:#253957;color:#e6edf8}.student-dark .material-folder-card:nth-child(3n+2){background:#244337}.student-dark .material-folder-card:nth-child(3n){background:#463c28}.student-dark .exam-hero{background:#26374f}.student-dark .material-search,.student-dark .material-dialog-top>button{background:var(--panel);color:inherit;border-color:var(--ui-border)}
@media(max-width:1050px){.shell{grid-template-columns:210px minmax(0,1fr)}.main{padding:26px 24px 50px}.sidebar{padding:24px 12px}}
@media(max-width:760px){.shell,.shell.nav-compact{display:block}.sidebar{height:auto;position:static;border-radius:0 0 24px 24px;padding:16px;overflow:visible}.sidebar .logo{justify-content:flex-start}.nav-compact .sidebar .logo>span:last-child,.nav-compact .sidebar .nav-label{display:block}.sidebar nav{margin-top:16px;display:flex;gap:6px;overflow-x:auto;padding-bottom:3px}.nav-item,.nav-compact .sidebar .nav-item{width:auto;flex-shrink:0;padding:10px 12px;gap:7px;white-space:nowrap}.nav-label{white-space:nowrap}.sidebar-foot{display:none}.main{padding:24px 16px 40px}.topline{margin-bottom:24px}.ui-nav-toggle{display:none}.list-card{padding:20px;align-items:flex-start}.page-head{align-items:flex-start}.workspace-page .ws-block:not(.ws-image-block){padding:16px}.card,.list-card,.work-block{border-radius:22px}.materials-page .page-head>.row{width:100%}.exam-hero{padding:24px}.auth-story{border-radius:0 0 28px 28px}body.lesson-editor>.layout>.right{border-radius:24px}.table-wrap{max-width:100%}h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}

.material-folder-grid{margin-bottom:24px}.material-grid:empty{display:none}

.demo-note{margin-bottom:24px}.demo-filters{margin-bottom:26px}.result-question form{margin-top:18px;max-width:620px}.result-question details{margin:14px 0}.result-question textarea{min-height:100px}.result-question summary{color:var(--accent);cursor:pointer}

.exam-explanation{margin-top:16px}.exam-explanation summary{cursor:pointer;color:var(--accent);font-weight:600}.exam-explanation .lesson-rich{margin-top:14px}

.lesson-rich:has(table),.rich-display:has(table),.rich:has(table){overflow-x:auto}.lesson-rich table,.rich-display table,.rich table{width:100%;border-collapse:collapse;margin:18px 0;font-size:16px}.lesson-rich th,.rich-display th,.rich th{background:var(--soft,#edf3fc)}.lesson-rich td,.lesson-rich th,.rich-display td,.rich-display th,.rich td,.rich th{padding:10px 14px;border:1px solid var(--line,#dbe4ef);text-align:left}.lesson-rich pre{overflow-x:auto;padding:18px;border-radius:16px;background:var(--soft,#edf3fc)}

.exam-explanation.card{padding:14px 20px;margin:8px 0}.exam-result-tables>.table-wrap{min-width:0}.exam-result-tables table{min-width:0}

/* Compact paired invitations and workspace switcher. */
.beta-pair-person{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:210px;padding:8px 0}.beta-pair-person strong{overflow-wrap:anywhere}.beta-pairs>button{margin-bottom:16px}.ws-page-picker{margin:12px 0 20px;max-width:560px}.ws-page-picker select{min-width:0;max-width:100%;flex:1;text-overflow:ellipsis}

