/* Compact application shell, shared semantic colours for both display modes. */
body{--surface:#fff;--page:#f6f7fb;--ink:#202438;--muted:#62677b;--line:#dce0ea;background:var(--page);color:var(--ink);font-size:15px}
body.rose{--page:#fcf7fa;--accent:#884367;--wash:#f6e8f0;--soft:#ead4e0}
body[data-display=dark]{color-scheme:dark;--page:#11131e;--surface:#202330;--ink:#f3f4fa;--muted:#b8bed1;--line:#41465c;--accent:#a8baff;--wash:#2c3553;--soft:#3c4869}
body.rose[data-display=dark]{--accent:#efb3d1;--wash:#432e40;--soft:#624459}
.sidebar{width:208px;padding:20px 14px;border-radius:0;background:var(--surface);border-right:1px solid var(--line);box-shadow:none;overflow-y:auto}.sidebar nav{gap:3px}.sidebar nav a{padding:10px 12px;font-size:14px;min-height:44px;color:var(--muted)}.sidebar nav a[aria-current]{background:var(--wash);color:var(--accent);font-weight:750;border-left:3px solid var(--accent)}.brand{font-size:21px}.sidebar-foot{padding-top:12px}.sidebar-foot p{font-size:12px}
main{margin-left:208px;padding:12px 24px;max-width:1536px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0;min-height:44px}.display-switch{margin:0}.display-switch button{padding:8px 14px;min-height:44px;font-size:13px}.mobile-menu{display:none}.topbar .pill{display:none}
h1,.welcome h1,.folder-heading h1,.chat-heading h1{font-size:25px;line-height:1.25;letter-spacing:-.5px;margin:0 0 8px}h2{font-size:19px;margin:0 0 12px}h3{font-size:16px}.welcome{padding:8px 0 12px}.welcome p{margin:6px 0}.eyebrow{font-size:11px}.folder-heading{margin:10px 0 14px;gap:12px}.folder-heading .eyebrow{display:none}.breadcrumbs{font-size:12px;margin:4px 0}.notice{margin:6px 0 10px;padding:8px 12px;background:var(--surface);border-color:var(--line)}
.card,.day-card,.bubble.reply,.tutor-card,.talk-launch,.study-shortcut,.quick-actions a,.folder-tabs a{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:none}.card{padding:16px;border-radius:14px}.spaced{margin-top:16px}.course-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.folder-card{min-height:104px;padding:16px;overflow-wrap:anywhere}.folder-card h3{margin:12px 0 0}.folder-card .eyebrow:before{content:'▱ ';font-size:22px}.folder-card.folder-rose{border-bottom-color:#c774a1}.folder-card.folder-blue{border-bottom-color:#658be0}.folder-card.folder-violet{border-bottom-color:#a486dd}.folder-card.folder-green{border-bottom-color:#62ac8e}
input,textarea,select{background:var(--surface);color:var(--ink);border-color:var(--line)}button,.button{min-height:44px;border-radius:12px;padding:10px 15px}button.secondary,.button.secondary{background:var(--wash);color:var(--accent);border:1px solid var(--line)}body[data-display=dark] button:not(.secondary):not(.text-button),body[data-display=dark] .button:not(.secondary){background:var(--accent);color:#171925}p,.small{color:var(--muted)}.preserve{color:var(--ink)}a{color:var(--accent)}.pill,.subject,.tutor-badge{background:var(--wash);color:var(--accent)}blockquote,.source-preview,.grade-summary article{background:var(--wash);color:var(--ink)}footer{margin-top:20px;padding-top:12px}
.folder-tabs{gap:4px;padding:0 0 8px;margin:0;flex-wrap:wrap}.folder-tabs a{padding:10px 12px;font-size:13px;min-height:44px;border-radius:8px}.folder-tabs a[aria-current]{background:var(--wash);color:var(--accent);font-weight:750;box-shadow:inset 0 -3px var(--accent)}.workspace-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.folder-workbench{grid-template-columns:minmax(0,1fr) minmax(280px,350px);gap:16px;align-items:start}.folder-workbench.actions-hidden{grid-template-columns:1fr}.folder-content{max-height:calc(100dvh - 255px);overflow:auto;padding:4px}.folder-actions{top:12px;padding:16px;max-height:calc(100dvh - 80px);overflow:auto}.folder-actions h2{margin:8px 0}.folder-action-buttons{grid-template-columns:1fr 1fr;gap:8px}.folder-action-buttons button{font-size:13px;padding:10px;min-height:48px}.lesson-row{margin:6px 0;padding:10px 12px;display:flex;align-items:start;gap:12px;justify-content:space-between}.lesson-choice{flex:1;min-width:0;gap:10px}.lesson-choice h3{font-size:15px;margin:3px 0;overflow-wrap:anywhere}.lesson-choice input{width:24px;height:24px;margin:10px}.lesson-row details{margin:0;max-width:260px}.lesson-row summary{font-size:12px;padding:10px 4px}.saved-support{margin:6px 0}.saved-support h3{margin:0}.saved-support p{margin-bottom:0}.tutor-badge{margin-bottom:8px}.folder-chat-link{margin-top:12px}.panel-close{float:right;font-size:12px}.mobile-folder-jump{display:none}
.workspace-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:20px;width:min(700px,calc(100vw - 24px));max-height:85dvh;overflow:auto}.workspace-dialog::backdrop{background:#080d20aa}.dialog-close{float:right;margin-left:12px}.workspace-dialog>h2{padding:12px 0}.workspace-dialog .card{box-shadow:none}.workspace-dialog .course-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.workspace-dialog .spaced{margin-top:8px}.workspace-dialog details>summary{font-size:15px}.actions-dialog .folder-actions{position:static;max-height:none;border:0;padding:0}
.exam-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);gap:16px;align-items:start}.exam-history{margin-top:0;position:sticky;top:16px}.exam-history .course-grid{grid-template-columns:1fr}.exam-workspace fieldset{max-height:260px;overflow:auto;padding:4px}.exam-workspace label{margin:10px 0}.exam-workspace details p{font-size:13px}.exam-workspace form>p.small{font-size:12px}.chat-layout{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.chat-info .card{padding:14px}.chat-intro{padding:18px}.chat-heading{margin:8px 0}.chat-composer{padding:16px}.chat-exchange{margin-bottom:16px}.bubble{padding:12px 16px}.chat-info{position:sticky;top:12px;align-self:start}
.pop-hero,.drama-hero{min-height:0;max-height:240px;margin:8px 0 16px;border-radius:16px;grid-template-columns:1fr 1fr}.pop-copy,.drama-copy{padding:18px 22px}.pop-copy h1,.drama-copy h1{font-size:30px;margin:10px 0}.pop-copy p,.drama-copy p{font-size:13px;margin:7px 0}.pop-visual,.drama-visual{min-height:0;height:240px}.home-assistant{margin-top:0}.tutor-card{padding:16px;max-width:none;margin-bottom:16px}.tutor-card h2{font-size:22px}.discovery{min-height:130px;padding:16px}.discovery-visual{max-height:150px}.daily-discovery{margin:16px 0}.launchpad{padding:12px}.launchpad h1{font-size:32px}.two-columns{gap:16px}
@media(max-width:1100px){main{padding:12px 18px}.chat-layout{grid-template-columns:minmax(0,1fr) 240px}.sidebar{width:208px}.folder-workbench{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:850px){.mobile-menu{display:block;position:fixed;top:10px;left:12px;z-index:30}.sidebar{display:none;position:fixed;top:62px;left:8px;bottom:auto;max-height:calc(100dvh - 75px);width:260px;height:auto;border:1px solid var(--line);border-radius:14px;z-index:40;padding:14px;box-shadow:0 8px 30px #0004}.sidebar.menu-open{display:block}.sidebar .brand,.sidebar>.eyebrow{display:none}.sidebar nav{display:flex;flex-direction:column;gap:3px;margin:0;overflow:visible}.sidebar nav a{text-align:left;font-size:14px;padding:10px 12px;white-space:normal}.sidebar-foot{display:block;position:static;margin-top:10px;border-top:1px solid var(--line)}.sidebar-foot>strong,.sidebar-foot>p{display:block}.sidebar-foot>.avatar{display:none}.sidebar-foot .text-button{font-size:13px}main{margin:0;padding:10px 14px}.topbar{padding-left:104px;min-height:44px}.topbar>span:first-child{display:none}.display-switch{margin-left:auto}.topbar>form{display:block}.folder-workbench,.chat-layout,.exam-workspace,.two-columns{grid-template-columns:1fr}.folder-content{max-height:none;overflow:visible;padding:0}.folder-actions{position:static;max-height:none}.workspace-toolbar{position:sticky;top:0;background:var(--page);padding:8px 0;z-index:5}.folder-tabs{display:flex;flex-wrap:wrap;overflow:visible;gap:4px}.folder-tabs a{font-size:12px;padding:10px 8px}.folder-tabs span{margin-left:3px}.folder-heading h1{font-size:22px}.folder-heading{align-items:center}.course-grid{grid-template-columns:1fr}.folder-card{min-height:68px;display:flex;align-items:center;gap:12px;border-bottom-width:1px;border-left:4px solid;padding:12px}.folder-card h3{margin:0;font-size:16px}.lesson-row{flex-wrap:wrap}.lesson-row details{max-width:100%}.lesson-row details:not([open]){margin-left:auto}.chat-info{position:static;display:block}.exam-history{position:static}.pop-hero,.drama-hero{grid-template-columns:1fr 100px;max-height:210px}.pop-copy,.drama-copy{padding:16px}.pop-copy h1,.drama-copy h1{font-size:24px}.pop-copy p,.drama-copy p,.pop-note,.sticker,.drama-label{display:none}.pop-visual,.drama-visual{height:210px}.discovery-grid{grid-template-columns:1fr}.workspace-dialog{padding:16px}.folder-heading .button{font-size:12px}h1,.welcome h1{font-size:24px}.week-grid{grid-template-columns:1fr}.notice{font-size:11px}.panel-close{min-height:44px}}
.exam-view-controls{display:none}@media(max-width:850px){.exam-view-controls{display:flex;gap:8px;margin:8px 0 12px}.exam-view-controls button[aria-pressed=true]{box-shadow:inset 0 -3px var(--accent);font-weight:750}.exam-workspace>.mobile-inactive{display:none}}
/* Keep banner actions visible instead of clipping them at the compact height. */
.pop-hero,.drama-hero{max-height:none;grid-template-columns:1.4fr 1fr}.pop-copy,.drama-copy{padding:14px 20px}.pop-copy h1,.drama-copy h1{font-size:25px;line-height:1.2;margin:8px 0}.pop-copy h1 br,.drama-copy h1 br{display:none}.pop-copy p,.drama-copy p,.pop-copy .pop-note,.drama-copy .pop-note{display:none}.pop-visual,.drama-visual{height:170px}.pop-copy .button,.drama-copy .button{margin-top:4px}body[data-display=dark] .drama-hero{background:var(--surface)}body[data-display=dark] .drama-copy h1,body[data-display=dark] .drama-copy .studio-label{color:var(--accent)}.tutor-card label{margin:8px 0}.tutor-card textarea{min-height:90px}.tutor-card .voice-panel{padding:10px;margin:10px 0}.tutor-card .voice-panel p{font-size:12px;margin:8px 0}.tutor-card .quick-actions{justify-content:flex-start}.tutor-card .quick-actions button{font-size:13px}
@media(max-width:850px){.pop-hero,.drama-hero{grid-template-columns:1fr 90px}.pop-visual,.drama-visual{height:165px}.pop-copy,.drama-copy{padding:12px}.pop-copy h1,.drama-copy h1{font-size:22px}}

@media(max-width:850px){.folder-card.folder-rose{border-left-color:#c774a1}.folder-card.folder-blue{border-left-color:#658be0}.folder-card.folder-violet{border-left-color:#a486dd}.folder-card.folder-green{border-left-color:#62ac8e}}
/* All-rubric pass: density is structural, not just smaller headings. */
.home-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:12px;align-items:start}.home-dashboard>.pop-hero,.home-dashboard>.drama-hero{grid-column:1/-1;margin:0;grid-template-columns:1fr 120px;max-height:none}.home-dashboard .pop-visual,.home-dashboard .drama-visual{height:90px}.home-dashboard .pop-copy,.home-dashboard .drama-copy{padding:10px 14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.home-dashboard .studio-label,.home-dashboard .drama-label{display:none}.home-dashboard .pop-copy h1,.home-dashboard .drama-copy h1{font-size:22px;margin:0;flex:1}.home-dashboard .pop-copy .button,.home-dashboard .drama-copy .button{margin:0;font-size:12px}.home-dashboard #mon-assistante{margin:0;padding:14px}.home-next{display:grid;gap:12px;min-width:0}.home-next>.card{margin:0;padding:14px}.home-next h2{font-size:16px}.home-next .attempt{font-size:13px;padding:8px 0}.home-next p{font-size:13px}.home-dashboard #mon-assistante h2{font-size:19px;margin:0 0 6px}.home-dashboard #mon-assistante>p{font-size:12px;margin:6px 0}.home-dashboard .chat-composer{padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-dashboard .chat-composer>label{grid-column:1/-1;margin:0;font-size:13px}.home-dashboard .chat-composer textarea{min-height:72px;padding:8px}.home-dashboard .chat-composer select{padding:8px;margin-top:4px}.home-dashboard .chat-composer [data-voice]{grid-column:1;align-self:start}.home-dashboard .chat-composer [data-voice] p{font-size:11px;margin:5px 0}.home-dashboard .chat-composer>button{grid-column:2;align-self:start}.home-dashboard .quick-actions{grid-column:1/-1;justify-content:flex-start;gap:6px}.home-dashboard .quick-actions button{padding:8px;font-size:12px}.home-dashboard #mon-assistante>a{font-size:12px}.section-switcher{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 10px}.section-switcher [aria-pressed=true]{box-shadow:inset 0 -3px var(--accent)}.home-sections .section-heading,.home-sections .section-heading h2{margin:6px 0}.home-sections #choisir-cours,.home-sections #choisir-cours+p,.home-sections #cours h2{display:none}.home-sections .course-card{padding:12px}.home-sections .course-card h3{margin:8px 0}.home-sections .course-card p{margin:6px 0}.screen-index{position:fixed;left:218px;top:70px;bottom:20px;width:154px;overflow:auto;display:flex;flex-direction:column;gap:5px;padding:5px;margin:0}.screen-index a{display:block;font-size:12px;line-height:1.4;padding:10px;border-radius:8px;background:var(--surface);color:var(--ink);overflow-wrap:anywhere;white-space:normal}.with-screen-index{padding-left:184px}.screen-index a:focus,.screen-index a:hover{background:var(--wash);color:var(--accent)}.activity-workspace{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;align-items:start}.activity-workspace>.card{margin:0;max-width:none}.activity-workspace label{margin:8px 0}.activity-workspace p{margin:8px 0}.voice-trial{max-width:none}.voice-trial label{font-size:13px}.voice-trial select{padding:8px}.week-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.week-navigation{margin:12px 0}.actions{padding-top:10px}.section-heading{margin-top:14px}.section-heading h2{margin-bottom:10px}.chat-main .chat-intro{padding:12px;margin-bottom:12px}.chat-main .chat-composer label{margin:8px 0}.chat-main .chat-composer textarea{min-height:80px}.chat-info p{margin:8px 0}.welcome>p{font-size:13px;max-width:80ch}.tutor-card{margin:0 0 12px}.voice-panel{padding:12px;margin:12px 0}.voice-panel p{font-size:12px;margin:8px 0}.source-preview{max-height:300px}.learning-path{margin:12px 0;max-width:none}.path-node{padding-bottom:12px}.grade-summary h3,.grade-mark{font-size:24px}
@media(min-width:1200px){body[data-page=study] .tutor-card{float:right;width:44%;margin:0 0 16px 16px}body[data-page=study] main>.two-columns{grid-template-columns:1fr}body[data-page=study] footer{clear:both}}
@media(max-width:1100px){.screen-index{position:sticky;left:auto;top:0;bottom:auto;width:auto;flex-direction:row;flex-wrap:wrap;background:var(--page);z-index:8;padding:5px 0;max-height:120px}.screen-index a{font-size:11px;padding:8px}.with-screen-index{padding-left:18px}.home-dashboard{grid-template-columns:minmax(0,1fr) 245px}}
@media(max-width:850px){.home-dashboard{grid-template-columns:1fr}.home-dashboard>.pop-hero,.home-dashboard>.drama-hero{grid-template-columns:1fr 70px}.home-dashboard .pop-visual,.home-dashboard .drama-visual{height:85px}.home-dashboard .pop-copy h1,.home-dashboard .drama-copy h1{font-size:19px}.home-dashboard .pop-copy .button,.home-dashboard .drama-copy .button{display:none}.home-next{grid-template-columns:1fr 1fr;gap:8px}.home-next .card{padding:10px}.home-next .attempt{font-size:12px}.home-next .button{font-size:12px;padding:8px}.home-next h2{font-size:15px}.with-screen-index{padding-left:14px}.activity-workspace{grid-template-columns:1fr}.screen-index{position:static;max-height:none}.screen-index a{min-height:44px;display:flex;align-items:center}.section-switcher{gap:5px}.section-switcher button{font-size:12px;padding:8px}.home-next p{font-size:12px}}
/* UX simplification: fewer concurrent choices, readable content. */
.sidebar .secondary-nav{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}
.sidebar nav a{font-size:15px}.sidebar .secondary-nav a{font-size:14px;padding-block:8px}
.local-tabs{display:flex;flex-wrap:wrap;gap:16px;margin:8px 0 22px;border-bottom:1px solid var(--line);padding-bottom:10px}.local-tabs a{padding:8px 0;color:var(--muted)}.local-tabs a[aria-current]{color:var(--ink);font-weight:700;border-bottom:2px solid var(--accent)}
.today-primary{max-width:760px;padding:24px}.today-primary h2{font-size:22px}
.welcome .eyebrow,.folder-heading .eyebrow{display:none}h1,h2,h3{letter-spacing:normal!important}h1{font-weight:650!important}
p,label,.preserve,.source-preview{font-size:16px;line-height:1.6}.small,[data-status],footer{font-size:13px!important;line-height:1.5!important}
.screen-index{display:none}main.with-screen-index{padding-left:24px}.folder-workbench:has(> .folder-content:only-child){grid-template-columns:1fr}
.folder-workbench.actions-hidden{grid-template-columns:1fr}.workspace-toolbar:empty{display:none}
.support-filter{display:flex;align-items:end;gap:12px;max-width:500px;margin:12px 0}.support-filter label{flex:1}
.question-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px 0}.question-nav span{font-size:14px}
[data-question][hidden]{display:none!important}[data-question]{max-width:850px;margin-top:12px!important}[data-question] h2{font-size:21px;line-height:1.4}
body[data-page="study"] .tutor-card{float:none;width:auto;margin:20px 0}body[data-page="study"] .source-preview{max-height:none}
.voice-trial{max-width:800px}.voice-trial .voice-actions{align-items:end}.voice-trial select{min-width:170px}
.card details{margin:14px 0}summary{cursor:pointer;min-height:36px;padding:6px 0}button.text-button{background:transparent}
@media(max-width:850px){.local-tabs{gap:12px;margin-bottom:14px}.local-tabs a{font-size:14px;min-height:44px}.today-primary{padding:18px}.question-nav{position:static}.question-nav button{padding:8px}.welcome{margin:14px 0!important}[data-question] h2{font-size:19px}.folder-tabs a{min-height:44px}.support-filter{align-items:stretch}.card{padding:16px}}
.folder-tabs a[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:inset 0 -3px var(--accent);font-weight:700}
.workspace-toolbar button:not([data-toggle-actions]){background:transparent;border-color:transparent;font-weight:500}
.question-nav{max-width:850px}.practice-panel{margin:20px 0}.support-filter button{align-self:end}
body.rose .folder-tabs a[aria-current=page]{background:var(--surface);color:var(--ink)}
