/* Pracownia: a shared light/dark palette and the student's study space. */
.student-account-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.student-account-actions .text-button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;font-size:12px}
.student-account-actions .delete-student-button{color:var(--red)}
.student-account-actions .delete-student-button:hover{background:var(--soft-red)}
.student-account-row>span{min-width:0;overflow-wrap:anywhere}
.student-account-actions button:disabled{opacity:.55;cursor:wait}
:root,[data-theme=light]{--bg:#d5c6e1;--ink:#34253e;--muted:#5c4866;--purple:#56317f;--purple-dark:#432166;--purple-pale:#cebce0;--line:#b09abe;--white:#e4d9eb;--surface:#e4d9eb;--surface-alt:#cbb8dc;--studio-hero:#cbb8dc;--on-accent:#fff8ef;--green:#2c664c;--red:#8d3c36;--soft-green:#c6d9bf;--soft-red:#e5beb2;--amber:#6c480e;--soft-amber:#dfc999;--studio-grid:#7051891c;--studio-radius:28px}
[data-theme=dark]{--bg:#1e2128;--ink:#eeedf5;--muted:#b0b1c2;--purple:#b9a5fb;--purple-dark:#cbbaff;--purple-pale:#38304b;--line:#424552;--white:#282c35;--surface:#282c35;--surface-alt:#323641;--studio-hero:#282c35;--on-accent:#201837;--green:#a4dbbf;--red:#f2b0a2;--soft-green:#293d34;--soft-red:#492f2c;--amber:#e7ca89;--soft-amber:#463b27;--studio-grid:#55576524;--studio-radius:20px}
body{background:var(--bg);color:var(--ink);font-family:'DM Sans','Segoe UI',sans-serif}
[hidden]{display:none!important}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
.topbar{height:auto;min-height:78px;padding-block:12px;gap:15px;flex-wrap:wrap;background:var(--surface);border-color:var(--line)}
.brand{gap:10px;flex:none;border-radius:8px;line-height:0;--brand-ink:#56317f;--brand-strip:#56317f;--brand-caption:#fff3dc}
[data-theme=dark] .brand{--brand-ink:#fff3dc;--brand-strip:#b9a5fb;--brand-caption:#1e2128}
.brand-icon{display:block;flex:none;width:42px;height:42px}
.brand-wordmark{display:block;flex:none;width:126px;height:70px;overflow:visible}
.brand-letters{fill:var(--brand-ink)}.brand-strip{fill:var(--brand-strip)}.brand-caption{fill:var(--brand-caption)}
.studio-top-actions{display:flex;align-items:center;gap:15px;margin-left:auto;min-width:0}
.theme-toggle,.logout-button{min-height:42px;border:1px solid var(--line);background:var(--surface);color:var(--purple);border-radius:10px;padding:8px 12px;font:600 12px 'DM Sans','Segoe UI',sans-serif;cursor:pointer;white-space:nowrap}
.theme-toggle{background:var(--purple-pale);border-color:transparent}
.account-area{color:var(--muted);font-size:12px;min-width:0}.account-area #account-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-meta{font-size:11px;color:var(--muted)}
.local-dot{background:var(--green);box-shadow:none}
main{padding-top:34px}
.panel,.tutor-fold,.content-dialog{background:var(--surface);border-color:var(--line);border-radius:var(--studio-radius);box-shadow:0 7px 24px #00000006;color:var(--ink)}
.primary-button{background:var(--purple);color:var(--on-accent);box-shadow:none;font-family:'DM Sans','Segoe UI',sans-serif}
.text-button,.answer-form input,.login-form input,.content-fields input,.content-fields select,.content-fields textarea,.student-settings input,.tutor-student-picker select{font-family:'DM Sans','Segoe UI',sans-serif}
.primary-button:hover{background:var(--purple-dark)}
.text-button,.eyebrow,.logout-button,.exam-original-link,.demo-credentials code{color:var(--purple)}
.subheading,.muted,.top-meta,.summary-label,.result-name,.task-subtopic,.login-subtitle,.login-form label,.student-settings label,.quota-control>span,.grade-control label,.tutor-student-picker label,.create-student-form label,.content-fields label,.account-area,.problem-label,.hint-text,.exam-response-note,.exam-source,.report-path,.report-time,.tc-heading p{color:var(--muted)}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{background:var(--surface);color:var(--ink);border-color:var(--line);caret-color:var(--purple)}
html[data-theme] select,html[data-theme] textarea,html[data-theme] select option{background:var(--surface);color:var(--ink)}
.answer-form input,.exam-response textarea{color:var(--ink);border-color:var(--muted);background:var(--surface);box-shadow:none}
.answer-form input:disabled,input:disabled,textarea:disabled,.exam-response textarea:read-only{background:var(--surface-alt);color:var(--ink);opacity:1}
input::placeholder,textarea::placeholder,.answer-form input::placeholder{color:var(--muted);opacity:1}
.answer-form input:focus,.login-form input:focus,.exam-response textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-pale)}
.problem,.exam-question,.exam-original-text{color:var(--ink)}
.hint-row .text-button,.below-note .text-button,.back-button{color:var(--purple);min-height:38px}
.below-note,.below-note span,.tutor-footer{color:var(--muted)}
.feedback.good{background:var(--soft-green);color:var(--green)}.feedback.try{background:var(--soft-red);color:var(--red)}
.feedback button{color:inherit;min-height:40px}.feedback .primary-button{color:var(--on-accent)}
.review-note{color:var(--red)}
.exam-review,.exam-assessed,.account-message{background:var(--purple-pale);color:var(--ink);border-color:var(--line)}
.exam-choice:hover,.exam-choice:has(input:checked),.topic-emoji,.login-mark,.student-settings .quota-control button,.dialog-close,.tutor-fold-summary:after{background:var(--purple-pale);color:var(--purple)}
.exam-choice-group,.exam-response select,.exam-response textarea,.class-checks,.student-settings input,.content-fields input,.content-fields textarea,.content-fields select{border-color:var(--line)}
.problem-image,.exam-figure,.content-image-preview,.curriculum-exercise-row img{background:#fff;border-color:var(--line)}
.tutor-error,.login-error,#task-report-message{color:var(--red)}.tutor-error{background:var(--soft-red);border-color:var(--red)}
.tutor-fold-summary,.summary-card strong,.result-value,.student-account-row,.quota-control strong{color:var(--ink)}
.summary-icon,.summary-icon.lavender{background:var(--purple-pale);color:var(--purple)}.summary-icon.mint{background:var(--soft-green);color:var(--green)}.summary-icon.peach{background:var(--soft-amber);color:var(--amber)}
.student-account-row,.scope-department,.demo-credentials code{background:var(--surface-alt)}.scope-department,.scope-topics{border-color:var(--line)}.scope-topic{color:var(--muted)}
.result-bar{background:var(--surface-alt)}.result-bar span{background:var(--purple)}
.tutor-report,.report-status{background:var(--soft-amber);color:var(--amber);border-color:var(--line)}.report-task-text,.report-task-context{color:var(--ink)}.report-issue{color:var(--muted)}.tutor-report.is-resolved,.is-resolved .report-status{background:var(--soft-green);color:var(--green)}
.content-fields input[type=file]{background:var(--surface-alt)}.content-fields small,.curriculum-count{color:var(--muted)}
.content-dialog::backdrop{background:#080b13aa}
.tc-control,.tc-today,.tc-refresh{background:var(--purple-pale);color:var(--purple);border-color:var(--line)}
.tc-heading h2,.tc-month-controls h3,.tc-details h3{color:var(--ink)}
.tc-summary,.tc-details{background:var(--surface-alt);color:var(--muted);border-color:var(--line)}
.tc-weekdays,.tc-note,.tc-legend,.tc-detail-values dt,.tc-activity,.tc-detail-status{color:var(--muted)}.tc-detail-values dd{color:var(--ink)}
.tc-day{background:var(--surface);border-color:var(--line);color:var(--muted)}
.tc-day.tc-overdue{background:var(--soft-red);border-color:transparent;color:var(--red)}
.tc-day.tc-done{background:var(--soft-green);border-color:transparent;color:var(--green)}
.tc-day.tc-late{background:var(--soft-amber);border-color:transparent;color:var(--amber)}
.tc-day.tc-current{background:var(--purple-pale);border-color:transparent;color:var(--purple)}
.tc-day.tc-paused,.tc-day.tc-activity{background:var(--surface-alt);border-color:transparent;color:var(--muted)}
.tc-day[aria-pressed=true]{outline-color:var(--purple)}
.tc-dot.tc-overdue{background:var(--red)}.tc-dot.tc-done{background:var(--green)}.tc-dot.tc-late{background:var(--amber)}.tc-dot.tc-current{background:var(--purple)}.tc-dot.tc-paused{background:var(--muted)}
.math-keyboard{background:var(--bg);color:var(--ink);border-color:var(--line);box-shadow:0 -8px 35px #00000028}
.mk-heading,.mk-placeholder{color:var(--muted)}.mk-done{color:var(--purple)}
.mk-preview{background:var(--surface);color:var(--ink);border-color:var(--line)}
.mk-key{background:var(--surface);color:var(--ink);border-color:var(--line)}.mk-command{background:var(--surface-alt)}
.mk-tab{color:var(--muted)}.mk-tab[aria-selected=true],.mk-key[aria-pressed=true]{background:var(--purple);color:var(--on-accent)}
.mk-navigation button{background:var(--surface-alt);color:var(--ink)}.mk-navigation .mk-native{background:transparent;color:var(--muted)}
.mk-alphabets button{color:var(--muted);border-color:var(--line)}.mk-alphabets button[aria-pressed=true]{background:var(--purple-pale);color:var(--purple)}
.mk-key:active,.mk-navigation button:active{background:var(--purple-pale)}
.mk-toggle{background:var(--purple-pale);color:var(--purple);border-color:var(--line)}.mk-toggle[aria-expanded=true]{background:var(--purple);color:var(--on-accent);border-color:var(--purple)}
footer{border-color:var(--line);color:var(--muted)}
/* Student home: fewer competing surfaces, one clear next step. */
#student-home{max-width:920px;margin:0 auto}
.studio-greeting{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px}
.studio-greeting .eyebrow{font-size:11px;letter-spacing:1.4px;margin-bottom:7px;color:var(--muted)}
.studio-date{color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:1.2px;margin:0 0 13px}
.studio-greeting h1{font:500 39px/1.2 Georgia,serif;letter-spacing:-1px;margin:0;overflow-wrap:anywhere}
.studio-note{font:italic 17px Georgia,serif;color:var(--purple);transform:rotate(-5deg);white-space:nowrap}
.studio-home-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:30px;align-items:start}
.studio-plan{padding:27px;position:relative;isolation:isolate;overflow:hidden;background-image:linear-gradient(var(--studio-grid) 1px,transparent 1px),linear-gradient(90deg,var(--studio-grid) 1px,transparent 1px);background-size:20px 20px}
.studio-plan-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:11px;letter-spacing:1.3px;font-weight:700}
.studio-plan-meta strong{color:var(--purple);font-size:14px;font-weight:600;letter-spacing:0}
.studio-plan h2{position:relative;z-index:1;max-width:330px;font:500 35px/1.25 Georgia,serif;letter-spacing:-.7px;margin:25px 0 30px;overflow-wrap:anywhere}
.studio-progress{height:5px;border-radius:20px;background:var(--line);overflow:hidden;position:relative;z-index:1}
.studio-progress>span{display:block;height:100%;width:0;background:var(--purple);border-radius:20px}
.studio-start{width:100%;min-height:50px;margin-top:22px;border-radius:12px;font-size:14px;text-align:left;padding:12px 18px;position:relative;z-index:1}
.studio-plan #home-message{font-size:12px;line-height:1.6;color:var(--muted);margin:15px 0 0;position:relative;z-index:1}
.studio-formula{position:absolute;top:105px;right:20px;font:italic 23px Georgia,serif;color:var(--muted);opacity:.18;transform:rotate(-10deg);pointer-events:none;z-index:0}
.studio-followups{margin:1px 0 24px}
.studio-followup{display:flex;align-items:center;gap:12px;padding:17px 0;border:0;border-bottom:1px solid var(--line);width:100%;background:transparent;color:var(--ink);font:500 14px 'DM Sans','Segoe UI',sans-serif;text-align:left}
button.studio-followup{cursor:pointer}.studio-followup:last-child{border-bottom:0}
.studio-followup-icon{display:grid;place-items:center;flex:none;width:37px;height:37px;background:var(--purple-pale);color:var(--purple);border-radius:11px;font-size:24px;font-weight:400}
.studio-followup small{display:block;font-size:11px;color:var(--muted);margin-top:5px;font-weight:400}
.studio-followup strong{margin-left:auto;font:500 27px Georgia,serif}
html[data-theme=light] .studio-plan{background:var(--studio-hero);background-image:none}
html[data-theme=light] .studio-plan>.studio-followups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:19px 0 0;padding-top:16px;border-top:1px solid var(--line);position:relative;z-index:1}
html[data-theme=light] .studio-plan .studio-followup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0;border:0;font-size:12px;align-items:center}
html[data-theme=light] .studio-plan .studio-followup-icon{display:none}
html[data-theme=light] .studio-plan .studio-followup strong{font-size:25px}
html[data-theme=light] .studio-plan .studio-followup small{font-size:11px;line-height:1.5}
html[data-theme=light] .studio-plan .studio-followup>span{min-width:0}
html[data-theme=light] .studio-side{padding-top:10px}
html[data-theme=light] .studio-week-day strong{border-radius:11px}
.studio-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.studio-section-heading h2{font:700 14px 'DM Sans','Segoe UI',sans-serif;margin:0}
.studio-text-button{border:0;background:none;color:var(--purple);font:500 11px 'DM Sans','Segoe UI',sans-serif;padding:8px 0;min-height:38px;cursor:pointer}
.studio-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.studio-week-day{display:flex;flex-direction:column;align-items:center;gap:9px;background:none;border:0;color:var(--muted);padding:5px 0;font:400 11px 'DM Sans','Segoe UI',sans-serif;min-width:0;cursor:pointer}
.studio-week-day strong{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-weight:500;font-size:12px}
.studio-week-day:disabled{cursor:default}.studio-week-day.is-done strong{background:var(--soft-green);color:var(--green)}.studio-week-day.is-late strong{background:var(--soft-amber);color:var(--amber)}.studio-week-day.is-overdue strong{background:var(--soft-red);color:var(--red)}.studio-week-day.is-paused strong{background:var(--surface-alt)}.studio-week-day.is-today strong{background:var(--purple);color:var(--on-accent)}
#student-subjects-home{margin-top:29px}.student-topics-panel{padding:0;background:transparent;box-shadow:none;border:0;border-top:1px solid var(--line);border-radius:0;overflow:visible}
.student-topics-heading{padding:20px 0;min-height:55px}.student-topics-heading h2{font:700 15px 'DM Sans','Segoe UI',sans-serif}.student-topics-chevron{background:none;color:var(--purple);font-size:20px;transition:transform .18s ease}
.student-topics-body{padding:0 0 17px}.student-topics-body .list-label{color:var(--muted);font-size:11px;letter-spacing:1.1px;margin:3px 0 14px}
.topic-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px}.topic-button{color:var(--ink);font-size:14px;min-width:0;padding:11px 0;gap:13px;font-weight:400;align-items:center}
.topic-button>span:last-child{min-width:0;overflow-wrap:anywhere}.studio-subject-symbol{color:var(--purple);width:35px;flex:none;text-align:center;font:italic 23px Georgia,serif}
.studio-subjects-pane .student-topics-panel{border-top:0}.studio-subjects-pane .student-topics-heading h2{font:500 31px Georgia,serif}.studio-subjects-pane .topic-list{grid-template-columns:1fr}.studio-subjects-pane .topic-button{padding:17px 0;border-bottom:1px solid var(--line)}
.student-calendar{margin-top:0}.student-calendar .tc-heading h2{font:500 28px Georgia,serif}.student-calendar .tc-heading p{margin-top:9px}.student-calendar .tc-day{min-height:68px}.student-calendar .tc-day-count{font-size:17px}
.studio-navigation{display:flex;align-items:center;gap:5px;position:fixed;z-index:30;bottom:14px;left:50%;transform:translateX(-50%);width:min(480px,calc(100% - 32px));border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:7px;box-shadow:0 6px 30px #00000015}
.studio-navigation button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:50px;background:none;border:0;border-radius:13px;color:var(--muted);font:500 11px 'DM Sans','Segoe UI',sans-serif;cursor:pointer}
.studio-navigation button>span{font:400 21px Georgia,serif;line-height:1.1}
.studio-navigation [aria-current=page]{background:var(--purple-pale);color:var(--purple)}
body[data-role=student][data-screen=home]{padding-bottom:92px}
body[data-screen=exercise] .studio-navigation{display:none}
@media(max-width:760px){
 .topbar{min-height:72px;height:auto;padding:12px 16px;gap:9px 14px}.brand{gap:8px}.brand-icon{width:34px;height:34px}.brand-wordmark{width:108px;height:60px}.studio-top-actions{gap:9px}.theme-toggle,.logout-button{min-height:40px;padding:7px 9px;font-size:11px}.account-area{font-size:11px;gap:9px}.account-area #account-label{max-width:120px}.top-meta{display:none}
 main{padding:26px 18px 32px}.studio-greeting{margin-bottom:24px;gap:10px}.studio-greeting h1{font-size:33px}.studio-greeting .eyebrow,.studio-date{font-size:11px}.studio-note{font-size:14px}
 .studio-home-grid{grid-template-columns:minmax(0,1fr);gap:6px}.studio-plan{padding:23px}.studio-plan h2{font-size:31px;max-width:270px;margin:22px 0 27px}.studio-plan #home-message{font-size:11px}.studio-start{min-height:49px}.studio-side{margin-top:8px}.studio-followups{margin-bottom:19px}.studio-followup{padding:15px 0}.studio-followup strong{font-size:25px}
 #student-subjects-home{margin-top:26px}.topic-list{grid-template-columns:1fr}.topic-button{font-size:14px}.student-calendar{padding:17px 13px}.student-calendar .tc-heading h2{font-size:25px}.student-calendar .tc-day{min-height:55px}.student-calendar .tc-day-count{font-size:15px}.student-calendar .tc-month-controls h3{font-size:15px}
 .studio-navigation{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:480px}.studio-navigation button{min-height:51px}body[data-role=student][data-screen=home]{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
 .exam-response textarea,.login-form input,.student-settings input,.content-fields input,.content-fields select,.content-fields textarea{font-size:16px}
}
@media(max-width:480px){.studio-top-actions{display:contents}.theme-toggle{margin-left:auto}.account-area{flex-basis:100%;justify-content:flex-end}.topbar:has(.account-area:not([hidden])){row-gap:6px}.account-area #account-label{max-width:210px}.studio-note{font-size:13px}.studio-greeting{align-items:flex-end}.studio-formula{right:12px}}
@media(max-width:340px){main{padding-inline:14px}.studio-plan{padding:19px}.studio-greeting h1{font-size:30px}.studio-note{display:none}.studio-plan h2{font-size:29px}.student-calendar{padding-inline:9px}.studio-week-day strong{width:31px;height:31px}}
@media(prefers-reduced-motion:reduce){.student-topics-chevron{transition:none}}
