/* 071: decoration enriches the original shapes; it never clips content. */
@media screen {
 body { --control-radius:12px; }
 body[data-ambience=papier] { --ambient-illustration:url('/assets/appearance/recovered-8638438dbbf901f8.png'); --control-radius:10px 15px 11px 10px; }
 body[data-ambience=jardin] { --ambient-illustration:url('/assets/appearance/recovered-8638438dbbf901f8.png'); --control-radius:15px 10px 15px 10px; }
 body[data-ambience=automne] { --control-radius:14px 10px 14px 10px; }
 body[data-ambience=hiver] { --control-radius:15px; }
 body[data-ambience=voyage] { --control-radius:12px 18px 12px 12px; }
 .ambient-frame { opacity:.12; }
 .work-layout { --nav-width:244px; grid-template-columns:var(--nav-width) minmax(0,1fr); }
 .work-layout[data-menu-side=right] { grid-template-columns:minmax(0,1fr) var(--nav-width); }
 body[data-ambience] .work-nav { padding:18px 12px 24px; border-radius:28px 46px 28px 28px; background:color-mix(in srgb,var(--t-card3) 28%,var(--panel))!important; }
 body[data-ambience] .work-nav:before { content:none; }
 .nav-scroll { scrollbar-width:thin; padding:0 4px 0 0; }
 .nav-scroll::-webkit-scrollbar { width:4px; }
 .work-nav h2 { font:700 9px/1.5 'DM Sans',sans-serif; letter-spacing:.11em; margin:18px 9px 8px; }
 .work-nav .nav-item { grid-template-columns:minmax(0,1fr) 24px; margin-bottom:3px; }
 .work-nav .nav-item>button[data-action] { gap:8px; min-height:44px; padding:8px; border-radius:var(--control-radius); }
 .work-nav .nav-item>button>span:first-child { font-size:20px; width:20px; }
 .work-nav .nav-item>button>span:nth-child(2) { font:600 12px/1.4 'DM Sans',sans-serif; white-space:nowrap; word-break:normal; overflow-wrap:normal; }
 .work-nav .nav-controls button { width:24px; min-width:24px; min-height:44px; padding:4px; }
 /* Keep the colourful rounded banner and its ring with every decoration. */
 body[data-theme][data-ambience] .workspace-intro { padding:38px; min-height:300px; background:var(--color3,var(--t-blob,var(--t-note)))!important; color:var(--color3-ink,var(--ink)); border-radius:38px 110px 38px 38px; overflow:hidden; }
 body[data-theme][data-ambience] .workspace-intro:before,body[data-theme][data-ambience] .workspace-intro:after { content:none; }
 body[data-theme][data-ambience] .workspace-intro .intro-copy { position:relative; z-index:1; width:66%; max-width:680px; padding:0!important; }
 body[data-theme][data-ambience] .workspace-intro :is(h1,p,.overline) { color:inherit!important; }
 .workspace-intro .intro-orbit { position:absolute; z-index:0; width:clamp(240px,34vw,420px); aspect-ratio:1; right:-45px; bottom:-120px; border:30px solid var(--color2,var(--t-card1)); border-radius:50%; box-sizing:border-box; overflow:hidden; pointer-events:none; }
 .intro-illustration { position:absolute; inset:8% 10% 30%; background-image:var(--ambient-illustration); background-position:var(--ambient-position); background-size:var(--ambient-size); background-repeat:no-repeat; border-radius:50%; }
 body[data-ambience=none] .intro-illustration { display:none; }
 /* Cards retain their rounded silhouettes and palette; watermarks remain behind content. */
 body[data-ambience] .work-content .ambient-surface { padding:24px!important; background:var(--panel)!important; border:1px solid var(--border)!important; border-radius:24px 38px 24px 24px!important; box-shadow:none!important; }
 body[data-ambience] .ambient-surface:before { content:none; }
 body[data-ambience] .ambient-surface:after { width:70px; height:70px; max-width:25%; max-height:50%; right:14px; bottom:12px; border-radius:50%; opacity:.08; }
 .ambient-surface .ambient-surface:after,.table-wrap:after,.toolbar:after { content:none!important; }
 body[data-ambience] .work-content .detail-card:nth-child(2n) { background:var(--soft)!important; border-radius:38px 24px 24px 24px!important; }
 body[data-ambience] .work-content .metric { padding:20px!important; background:var(--soft)!important; border:0!important; }
 body[data-ambience] .work-content .metric.peach { background:var(--color2,var(--peach))!important; color:var(--color2-ink,var(--ink)); }
 body[data-ambience] .work-content .metric.lilac { background:var(--color3,var(--lilac))!important; color:var(--color3-ink,var(--ink)); }
 body[data-ambience] .work-content .metric :is(strong,small) { color:inherit; }
 .metrics { gap:12px; }
 .metric strong { font-size:32px; }
 .metric small { line-height:1.55; }
 body[data-ambience] .work-content .empty { padding:30px 24px!important; background:color-mix(in srgb,var(--panel) 94%,var(--t-card3))!important; }
 .work-content .empty h3 { font:650 24px/1.3 Fraunces,Georgia,serif; margin:14px 0 10px; }
 .work-content .empty p { font-size:13px; line-height:1.6; margin:0; }
 .work-content .empty>span { font-size:25px; }
 body[data-ambience] .work-content .detail-note { padding:14px 18px!important; background:var(--soft)!important; border:0!important; }
 body[data-ambience] .path-card { mask:none; border-radius:58px 18px 48px 18px!important; min-height:180px!important; padding:26px!important; }
 body[data-ambience] .path-item:nth-child(even) .path-card { border-radius:18px 50px 18px 48px!important; }
 body[data-ambience] .path-card:after { right:12px; bottom:12px; width:65px; height:65px; border-radius:50%; opacity:.12; }
 .work-content :is(button,.file-action),.editor :is(button,.file-action) { border-radius:var(--control-radius); font-size:13px; min-height:44px; padding:9px 13px; line-height:1.4; white-space:normal; word-break:normal; overflow-wrap:normal; max-width:100%; }
 body[data-ambience] .ambient-surface button { word-break:normal; overflow-wrap:normal; }
 .work-content :is(input,select,textarea),.editor :is(input,select,textarea) { border-radius:var(--control-radius); font-size:13px; padding:9px 11px; min-height:40px; min-width:0; max-width:100%; box-sizing:border-box; font-weight:400; }
 .work-content textarea,.editor textarea { min-height:100px; line-height:1.6; }
 .work-content input:is([type=checkbox],[type=radio]),.editor input:is([type=checkbox],[type=radio]) { min-height:18px; width:18px; height:18px; padding:0; }
 .work-content .section-tools select { min-height:40px; width:auto; font-size:13px; }
 .work-content .toolbar { display:flex; flex-direction:row; flex-wrap:wrap; align-items:end; justify-content:flex-start; gap:12px; padding:14px 16px!important; margin-bottom:18px; }
 .work-content .toolbar>label { flex:1 1 150px; width:auto; max-width:250px; min-width:0; font-size:11px; font-weight:500; display:grid; gap:6px; margin:0; }
 .work-content .toolbar>label :is(input,select) { width:100%; min-height:38px; font-size:12px; padding:8px 10px; }
 body[data-ambience] .work-content .panel>.toolbar,body[data-ambience] .work-content .prep-filters .toolbar { background:transparent!important; border:0!important; padding:0!important; box-shadow:none; }
 body[data-ambience] .work-content .prep-filters { padding:16px 18px!important; margin-bottom:18px; }
 .work-content .prep-filter-main { margin:0; display:grid; grid-template-columns:minmax(180px,2fr) repeat(3,minmax(115px,1fr)); }
 .work-content .prep-filter-main>label { max-width:none; width:auto; }
 .prep-filter-extra { border-top:1px solid var(--border); margin-top:12px; padding-top:8px; }
 .prep-filter-extra>summary { font-size:12px; color:var(--muted); cursor:pointer; min-height:36px; padding:8px 0; }
 .work-content .prep-filter-extra .toolbar { margin:10px 0 0; }
 body[data-ambience] .work-content .table-wrap { padding:0!important; border-radius:20px!important; }
 .work-content .table-wrap :is(th,td) { padding:12px 14px; font-size:13px; vertical-align:middle; }
 .work-content .table-wrap th { font-size:11px; font-weight:600; background:color-mix(in srgb,var(--soft) 65%,var(--panel)); }
 .work-content .table-wrap td>button { margin:3px; }
 .work-content .table-row-actions { display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-start; gap:6px; margin:0; }
 .work-content .table-row-actions>.secondary-actions { margin-left:0; }
 .work-content .table-wrap select { width:auto; min-width:135px; }
 body .palette-disclosure>.palette-popup { width:min(420px,calc(100vw - 28px)); }
 .palette-popup .palette-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .palette-popup .palette-option { display:flex; align-items:center; gap:7px; font-size:12px!important; padding:9px 10px!important; min-height:44px; min-width:0; white-space:normal; border-radius:var(--control-radius); }
 .palette-popup .palette-name { flex:1; min-width:0; overflow-wrap:normal; word-break:normal; line-height:1.35; }
 .palette-popup .swatches { display:flex; flex:none; }
 .palette-popup .swatches i { width:10px; height:10px; margin-left:-3px; }
 .palette-popup .swatches i:first-child { margin-left:0; }
 .palette-popup .palette-option .check { flex:none; margin-left:0; }
 .ambience-grid button { border-radius:var(--control-radius); }
 .work-content :is(p,h2,h3),body[data-ambience] .ambient-surface :is(h2,h3) { overflow-wrap:break-word; }
}
@media screen and (max-width:1100px) {
 .work-layout { --nav-width:230px; }
 .work-content .prep-filter-main { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
}
@media screen and (max-width:900px) {
 .work-layout,.work-layout[data-menu-side=right] { display:block; }
 body[data-ambience] .work-nav,.work-layout[data-menu-side=right] .work-nav { left:-320px; width:min(300px,calc(100vw - 24px)); padding:20px 16px 32px; border-radius:0 34px 34px 0; background:var(--bg)!important; }
 body[data-ambience] .work-nav.open,.work-layout[data-menu-side=right] .work-nav.open { left:0; }
 .nav-drawer-close { margin:0 0 20px; }
 .work-nav .nav-item>button>span:nth-child(2) { font-size:13px; }
 body[data-theme][data-ambience] .workspace-intro .intro-copy { width:72%; }
 .workspace-intro .intro-orbit { width:270px; right:-80px; bottom:-115px; border-width:24px; }
}
@media screen and (max-width:600px) {
 body[data-theme][data-ambience] .workspace-intro { padding:26px 24px 130px; min-height:0; border-radius:30px 70px 30px 30px; }
 body[data-theme][data-ambience] .workspace-intro .intro-copy { width:100%; max-width:100%; }
 .workspace-intro .intro-orbit { width:190px; right:-28px; bottom:-82px; border-width:18px; }
 .intro-illustration { bottom:42%; }
 .work-content .section-tools label { display:flex; gap:8px; }
 .work-content .section-tools label>span { font-size:10px; flex:none; margin:0; }
 .work-content .section-tools select { width:auto; min-width:0; flex:1; font-size:12px; }
 .work-content .toolbar>label { flex:1 1 125px!important; width:auto; max-width:none; }
 .work-content .prep-filter-main { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .work-content .prep-filter-main>.prep-search,.work-content .prep-filter-main>label:last-child { grid-column:1/-1; }
 body[data-ambience] .work-content .ambient-surface { padding:20px!important; }
 body[data-ambience] .path-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body[data-ambience] .path-card { min-height:170px!important; padding:21px 19px!important; }
 .work-content :is(input,select,textarea),.editor :is(input,select,textarea),.work-content .toolbar>label :is(input,select) { font-size:16px; min-height:44px; }
 body .palette-disclosure>.palette-popup { padding:16px; width:calc(100vw - 28px); }
}
@media screen and (max-width:360px) { body[data-ambience] .path-grid { grid-template-columns:minmax(0,1fr); } }
@media screen and (max-width:380px) { .palette-popup .palette-options { grid-template-columns:minmax(0,1fr); } }
/* Each ambience keeps its own contour. Only the background is masked. */
@media screen {
 .ambient-surface,.path-card { --surface-color:var(--panel); }
 .detail-card:nth-child(2n),.metric,.detail-note { --surface-color:var(--soft); }
 .metric.peach { --surface-color:var(--color2,var(--peach)); }
 .metric.lilac { --surface-color:var(--color3,var(--lilac)); }
 .empty { --surface-color:color-mix(in srgb,var(--panel) 94%,var(--t-card3)); }
 .path-card[data-path-index="1"] { --surface-color:var(--t-card1); }
 .path-card[data-path-index="2"] { --surface-color:var(--t-card2); }
 .path-card[data-path-index="3"] { --surface-color:var(--t-card3); }
 .path-card[data-path-index="4"] { --surface-color:var(--t-card4); }
 body:not([data-ambience=none]) .work-content .ambient-surface,
 body:not([data-ambience=none]) .work-content .path-card { background:transparent!important; border:0!important; mask:none; padding:28px!important; }
 body:not([data-ambience=none]) .work-content .ambient-surface:before,
 body:not([data-ambience=none]) .path-card:before { content:''; position:absolute; inset:0; z-index:-2; background:var(--surface-color); mask:var(--ambient-shape) center/100% 100% no-repeat; pointer-events:none; border:0; border-radius:0; }
 body:not([data-ambience=none]) .ambient-surface .ambient-surface:before,
 body:not([data-ambience=none]) .ambient-surface .toolbar:before { content:none; }
 body:not([data-ambience=none]) .work-content .ambient-surface .ambient-surface { background:transparent!important; border:1px solid var(--border)!important; border-radius:var(--control-radius)!important; padding:16px!important; }
 body:not([data-ambience=none]) .work-content .table-wrap { padding:16px!important; }
 body:not([data-ambience=none]) .work-content .prep-filters { padding:22px 24px!important; }
 body:not([data-ambience=none]) .work-content .prep-filters .toolbar { padding:0!important; border:0!important; }
 body[data-ambience] .work-content .personal-view-tools { padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; }
 .work-nav .nav-item { display:block; position:relative; }
 .work-nav .nav-item>button[data-action] { padding-right:38px; width:100%; }
 .work-nav .nav-item>.nav-controls { position:absolute; top:0; right:2px; bottom:0; display:flex; align-items:center; background:transparent; border:0; box-shadow:none; }
 .work-nav .nav-controls button,.work-content .nav-controls button,
 .work-content button.card-grip { border:0!important; background:transparent!important; box-shadow:none!important; border-radius:0; padding:0!important; width:32px; min-width:32px; height:44px; min-height:44px; }
 .work-nav .nav-item:has(>button.active) .nav-controls button { color:var(--reverse); }
 .work-nav .nav-controls button:hover,.work-content .nav-controls button:hover { background:transparent!important; }
 .path-item>.path-card { padding-right:54px!important; }
 .path-item>.nav-controls { top:16px; right:16px; bottom:auto; }
 .work-content>:is(.panel,.toolbar,.table-wrap,.empty,.report-document,.metrics,.card-grid,.detail-cards,.detail-note) { margin-block:0 18px; }
 .work-content :is(.card-grid,.detail-cards,.today-grid,.settings-grid,.period-grid) { gap:16px; }
 .work-content .ambient-surface>h2 { margin-top:0; margin-bottom:16px; }
 .work-content :is(.actions,.row) { gap:8px; }
 .work-content .legend { gap:8px; margin:12px 0 18px; }
 .editor { border-radius:26px 42px 26px 26px; padding:24px; }
 .editor label { min-width:0; }
 .editor .form-row { gap:14px; }
 .editor :is(input,select,textarea) { background:color-mix(in srgb,var(--panel) 96%,var(--t-card3)); }
 .work-content .toolbar>label :is(input,select) { background:color-mix(in srgb,var(--panel) 96%,var(--t-card3)); }
 .work-content .table-wrap td button { font-size:12px; }
}
@media screen and (max-width:600px) {
 body:not([data-ambience=none]) .work-content .ambient-surface { padding:24px!important; }
 body:not([data-ambience=none]) .work-content .table-wrap { padding:12px!important; }
 body:not([data-ambience=none]) .work-content .prep-filters { padding:20px!important; }
 body:not([data-ambience=none]) .work-content .prep-filters .toolbar { padding:0!important; }
}
@media print { .intro-orbit,.prep-filters { display:none!important; } }

/* 072: one contract for every command, field, status and interior surface. */
@media screen {
 body { --command-fill:color-mix(in srgb,var(--primary) 8%,var(--panel)); --field-fill:color-mix(in srgb,var(--panel) 96%,var(--t-card3)); }
 body .ui-control { display:inline-flex!important; align-items:center; justify-content:center; gap:7px; width:auto; min-width:44px; min-height:44px!important; height:auto; padding:8px 14px!important; margin:0; border:1px solid transparent!important; border-radius:var(--control-radius)!important; box-shadow:none!important; font:600 13px/1.4 'DM Sans',sans-serif!important; text-align:center; white-space:normal; word-break:normal; overflow-wrap:break-word; flex:0 1 auto!important; max-width:100%; box-sizing:border-box; }
 body .ui-control.ui-secondary { background:var(--command-fill)!important; color:var(--ink)!important; }
 body .ui-control.ui-primary { background:var(--primary)!important; color:var(--reverse,#fff)!important; }
 body .ui-control.ui-choice { background:var(--soft)!important; color:var(--ink)!important; }
 body .ui-control.ui-choice[aria-pressed=true] { background:var(--primary)!important; color:var(--reverse,#fff)!important; }
 body .ui-control:not(:disabled):hover { filter:none; background:color-mix(in srgb,var(--primary) 15%,var(--panel))!important; }
 body .ui-control.ui-primary:not(:disabled):hover,body .ui-control.ui-choice[aria-pressed=true]:hover { background:color-mix(in srgb,var(--primary) 92%,var(--ink))!important; color:var(--reverse,#fff)!important; }
 body .ui-control.ui-icon { background:transparent!important; color:var(--ink)!important; border:0!important; width:44px; min-width:44px; height:44px; padding:0!important; border-radius:var(--control-radius)!important; font-size:22px!important; flex:0 0 44px!important; }
 body .ui-control.ui-icon:hover { background:var(--soft)!important; }
 body .ui-control.ui-icon.card-grip { width:32px; min-width:32px; flex-basis:32px!important; background:transparent!important; }
 body .ui-control:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
 body .action-popup .ui-control { justify-content:flex-start; text-align:left; width:100%; background:transparent!important; border-radius:var(--control-radius)!important; padding:10px 12px!important; }
 body .action-popup .ui-control:hover { background:var(--soft)!important; }
 body .ui-field { background:var(--field-fill)!important; color:var(--ink); border:1px solid color-mix(in srgb,var(--border) 80%,transparent); border-radius:var(--control-radius)!important; padding:9px 12px!important; min-height:44px!important; font:400 13px/1.5 'DM Sans',sans-serif!important; min-width:0; max-width:100%; box-sizing:border-box; }
 body textarea.ui-field { min-height:112px!important; resize:vertical; }
 body .ui-field:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
 body .work-content .toolbar { align-items:end; gap:12px 16px; justify-content:flex-start; }
 body .work-content .toolbar>label.filter-field { flex:0 1 210px!important; width:210px; max-width:240px; min-width:0; display:grid; gap:6px; margin:0; font:500 12px/1.4 'DM Sans',sans-serif; }
 body .work-content .toolbar>label.filter-date { flex:0 1 176px!important; width:176px; max-width:190px; }
 body .work-content .toolbar>label.filter-number { flex:0 1 140px!important; width:140px; max-width:160px; }
 body .work-content .toolbar>label.filter-search { flex:1 1 260px!important; width:auto; max-width:420px; }
 body .work-content .toolbar>label :is(input,select) { width:100%; }
 body .work-content .prep-filter-main>label.filter-field { width:auto; max-width:none; }
 body .work-content .toolbar>.secondary-actions { margin-left:auto; }
 body .work-content .toolbar>.actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0; }
 body .work-content .actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px!important; margin-top:16px; }
 body .work-content .toolbar .actions,body .work-content .table-row-actions { margin:0; }
 body .work-content .table-row-actions { flex-wrap:nowrap; }
 body .work-content .local-actions { justify-content:flex-start; }
 body .work-content .card-tools { gap:6px; margin-bottom:10px; }
 body .work-content .badge { display:inline-flex; align-items:center; max-width:100%; min-height:26px; padding:4px 9px; border:0; border-radius:var(--control-radius); font:500 11px/1.4 'DM Sans',sans-serif; white-space:normal; overflow-wrap:break-word; }
 body .work-content .legend>span { border-radius:var(--control-radius); padding:6px 10px; font-size:12px; }
 body .work-content .welcome-steps { gap:16px; margin:20px 0; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); }
 body .work-content .welcome-steps>li { display:flex; flex-direction:column; align-items:flex-start; gap:0; min-width:0; }
 body .work-content .welcome-steps>li>h3 { font:600 18px/1.4 'DM Sans',sans-serif; margin:14px 0 10px; }
 body .work-content .welcome-steps>li>p { font:400 13px/1.65 'DM Sans',sans-serif; margin:0 0 18px; }
 body .work-content .welcome-steps>li>.actions { margin-top:auto; padding-top:2px; }
 body .work-content .welcome-steps>li>.badge { align-self:flex-start; }
 body:not([data-ambience=none]) .work-content .ambient-surface .ambient-surface { position:relative; isolation:isolate; background:transparent!important; border:0!important; border-radius:0!important; padding:24px!important; }
 body:not([data-ambience=none]) .work-content .ambient-surface .ambient-surface:before { content:''!important; position:absolute; inset:0; z-index:-2; pointer-events:none; border:0; border-radius:0; background:var(--surface-color); mask:var(--ambient-shape) center/100% 100% no-repeat; }
 .welcome-steps>li { --surface-color:color-mix(in srgb,var(--panel) 94%,var(--t-card3)); }
 body:not([data-ambience=none]) .work-content .ambient-surface.toolbar { padding:20px 24px!important; }
 body:not([data-ambience=none]) .work-content .ambient-surface :is(.toolbar,.table-wrap).ambient-surface { padding:16px!important; }
 body:not([data-ambience=none]) .work-content .prep-filters .toolbar { background:transparent!important; padding:0!important; border:0!important; }
 body:not([data-ambience=none]) .work-content .prep-filters .toolbar:before { content:none!important; }
 body .work-content .personal-view-tools { padding:0!important; min-height:36px; }
 body .work-content .empty { border-style:solid; }
 body .work-content .empty>.ui-control { margin-top:18px; }
 body .work-content :is(.soft-note,.detail-note,.calendar-banner) { --surface-color:var(--soft); font:400 13px/1.6 'DM Sans',sans-serif; }
 body .editor :is(fieldset,.phase-editor,.station-editor,.criterion-editor,.report-row-editor,.custom-field-row) { background:var(--field-fill); border:1px solid var(--border); border-radius:var(--control-radius); padding:16px; margin:16px 0; min-width:0; }
 body .editor fieldset>legend { padding:0 6px; font-size:12px; font-weight:600; }
 body .editor footer { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; padding-top:18px; }
 body .editor .dialog-head>.ui-icon { flex:none!important; }
 body .work-content .period>article { margin:14px 0; }
}
@media screen and (max-width:600px) {
 body .ui-field { font-size:16px!important; }
 body .work-content .toolbar>label.filter-field { flex:1 1 155px!important; width:auto; max-width:none; }
 body .work-content .toolbar>label.filter-date { flex:0 1 176px!important; max-width:190px; }
 body .work-content .toolbar>label.filter-number { flex:0 1 140px!important; max-width:160px; }
 body .work-content .toolbar>label.filter-search { flex:1 1 100%!important; max-width:none; }
 body .work-content .welcome-steps { grid-template-columns:minmax(0,1fr); }
 body:not([data-ambience=none]) .work-content .ambient-surface .ambient-surface { padding:22px!important; }
 body:not([data-ambience=none]) .work-content .ambient-surface.toolbar { padding:18px 20px!important; }
 body:not([data-ambience=none]) .work-content .prep-filters .toolbar { padding:0!important; }
 body .work-content .prep-filter-main>label.filter-field { width:auto; }
}

/* 071.2: every visible silhouette follows the selected ambience. Text is never masked. */
@media screen {
 .shape-field { display:inline-grid; position:relative; isolation:isolate; width:100%; min-width:0; max-width:100%; vertical-align:middle; box-sizing:border-box; --shape-fill:var(--field-fill); }
 .shape-field>.ui-field { width:100%; }
 .decor-contour { --shape-fill:var(--panel); }
 .shape-field.decor-contour { --shape-fill:var(--field-fill); }
 .ui-secondary.decor-contour { --shape-fill:var(--command-fill); }
 .ui-primary.decor-contour,.nav-item>button.active.decor-contour { --shape-fill:var(--primary); }
 .ui-choice.decor-contour { --shape-fill:var(--soft); }
 .ui-choice.decor-contour[aria-pressed=true] { --shape-fill:var(--primary); }
 .workspace-intro.decor-contour { --shape-fill:var(--color3,var(--t-note)); }
 .work-nav.decor-contour { --shape-fill:color-mix(in srgb,var(--t-card3) 28%,var(--panel)); }
 .work-nav .nav-item>button.decor-contour { --shape-fill:transparent; }
 .work-nav .nav-item>button.active.decor-contour { --shape-fill:var(--primary); }
 .welcome-disclosure>summary.decor-contour,.legend>span.decor-contour,.report-position.decor-contour { --shape-fill:var(--soft); }
 .badge.decor-contour { --shape-fill:var(--soft); }
 .badge.good.decor-contour { --shape-fill:#d3ecdc; }
 .badge.warm.decor-contour { --shape-fill:#f3dcbd; }
 body:not([data-ambience=none]) .decor-contour { position:relative; isolation:isolate; background:transparent!important; border-color:transparent!important; border-radius:0!important; }
 body:not([data-ambience=none]) .decor-contour:before { content:''!important; position:absolute; inset:0; z-index:-1; background:var(--shape-fill)!important; mask:var(--ambient-shape) center/100% 100% no-repeat; border:0!important; border-radius:0!important; box-shadow:none; pointer-events:none; }
 body:not([data-ambience=none]) .shape-field>.ui-field { background:transparent!important; border-color:transparent!important; border-radius:0!important; }
 body:not([data-ambience=none]) .shape-field:before { box-shadow:none; }
 body:not([data-ambience=none]) .shape-field:focus-within { outline:2px solid var(--primary); outline-offset:2px; }
 body:not([data-ambience=none]) .shape-field .ui-field:focus-visible { outline:none; }
 body:not([data-ambience=none]) .ui-control.decor-contour:not(:disabled):hover { background:transparent!important; }
 body:not([data-ambience=none]) .ui-control.decor-contour:not(:disabled):hover:before { filter:brightness(.96); }
 body:not([data-ambience=none]) .workspace-intro.decor-contour { padding:42px!important; overflow:hidden; min-height:310px; }
 body[data-theme][data-ambience]:not([data-ambience=none]) .workspace-intro.decor-contour:before { content:''; background:var(--shape-fill)!important; inset:0; }
 body[data-ambience]:not([data-ambience=none]) .work-nav.decor-contour { background:transparent!important; padding-left:18px; padding-right:18px; }
 body[data-ambience]:not([data-ambience=none]) .work-nav.decor-contour:before { content:''; inset:0!important; }
 body:not([data-ambience=none]) .action-popup.decor-contour { position:fixed; padding:18px; background:transparent!important; box-shadow:none; }
 body:not([data-ambience=none]) .palette-popup.decor-contour { padding:28px; }
 body:not([data-ambience=none]) .editor.decor-contour { padding:28px; }
 body:not([data-ambience=none]) .action-popup .ui-control.decor-contour { --shape-fill:transparent; }
 body:not([data-ambience=none]) .action-popup .ui-control.decor-contour:hover { --shape-fill:var(--soft); }
 body:not([data-ambience=none]) .palette-option[aria-pressed=true],body:not([data-ambience=none]) .ambience-grid>button[aria-pressed=true] { --shape-fill:var(--soft); }
 .toolbar>label .shape-field { width:100%; }
 .table-wrap .shape-field { width:auto; min-width:135px; }
 .table-wrap .shape-field>.ui-field { width:100%; }
 .section-tools .shape-field { width:auto; }
}
@media screen and (max-width:900px) {
 body[data-ambience]:not([data-ambience=none]) .work-nav.decor-contour { position:fixed; }
}
@media screen and (max-width:600px) {
 body[data-theme][data-ambience]:not([data-ambience=none]) .workspace-intro.decor-contour { padding:30px 28px 130px!important; min-height:0; }
 body:not([data-ambience=none]) .editor.decor-contour { padding:24px; }
 body:not([data-ambience=none]) .palette-popup.decor-contour { padding:24px; }
}
@media screen {
 body:not([data-ambience=none]) .palette-popup.decor-contour { position:absolute; }
 body:not([data-ambience=none]) .work-nav.decor-contour { position:sticky; }
 body:not([data-ambience=none]) :is(.palette-option,.ambience-grid>button,.theme-grid>button)[aria-pressed=true].decor-contour { outline:0; --shape-fill:var(--soft); }
}
@media screen and (max-width:900px) { body:not([data-ambience=none]) .work-nav.decor-contour { position:fixed; } }
@media screen {
 body[data-theme][data-ambience]:not([data-ambience=none]) .workspace-intro.decor-contour { background:transparent!important; --shape-fill:var(--color3,var(--t-blob,var(--t-note))); }
 body .work-content .welcome-steps>li>h3 { min-height:50px; }
 body .work-content .detail-cards>.detail-card { display:flex; flex-direction:column; align-items:flex-start; }
 body .work-content .detail-cards>.detail-card>.actions { margin-top:auto; padding-top:16px; }
 body .work-content .detail-cards>.detail-card>.card-tools { flex:none; }
 body .editor .checkline,body .editor .chips>label { display:flex; align-items:flex-start; gap:9px; line-height:1.5; }
 body .editor .checkline>input,body .editor .chips>label>input { flex:none; margin-top:2px; }
}
@media screen and (min-width:901px) {
 body .ui-control:not(.ui-icon) { min-height:40px!important; padding:8px 12px!important; font-size:12px!important; }
 body .ui-field { min-height:40px!important; padding:8px 12px!important; font-size:13px!important; }
 body .work-content .table-wrap .ui-control:not(.ui-icon) { min-height:36px!important; }
}
@media screen {
 body:not([data-ambience=none]) .ui-control.ui-choice.decor-contour[aria-pressed=true] { background:transparent!important; }
}

/* Overlay frames remain painted while their content scrolls. */
@media screen {
 body[data-theme] { --soft:color-mix(in srgb,var(--primary) 12%,var(--panel)); --field-fill:color-mix(in srgb,var(--primary) 8%,var(--panel)); }
 body .metric { --surface-color:color-mix(in srgb,var(--primary) 14%,var(--panel)); }
 body .metric:nth-child(4n) { --surface-color:color-mix(in srgb,var(--color2,var(--t-card2)) 24%,var(--panel)); }
 body .metric.peach { --surface-color:var(--color2,var(--peach)); }
 body .metric.lilac { --surface-color:var(--color3,var(--lilac)); }
 body[data-theme][data-ambience]:not([data-ambience=none]) .work-content .metric.ambient-surface { background:transparent!important; }
 body[data-theme][data-ambience]:not([data-ambience=none]) .work-content .metric.ambient-surface:before { background:var(--surface-color)!important; }
 body:not([data-ambience=none]) .shape-field:focus-within { outline:none; }
 body:not([data-ambience=none]) .shape-field:has(>.ui-field:focus-visible) { outline:2px solid var(--primary); outline-offset:2px; }
 body .ui-field:focus:not(:focus-visible) { outline:none!important; box-shadow:none!important; }
 body .editor.decor-contour,body:not([data-ambience=none]) :is(.editor,.palette-popup,.action-popup).decor-contour { overflow:hidden; padding:0!important; }
 body .editor.decor-contour>form,body .overlay-scroll { max-height:inherit; overflow:auto; overscroll-behavior:contain; box-sizing:border-box; padding:28px; scrollbar-gutter:stable; }
 body .action-popup>.overlay-scroll { padding:18px; }
 body,body .editor>form,body .overlay-scroll,body .nav-scroll,body .table-wrap { scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--primary) 60%,var(--panel)) var(--panel); }
 body ::-webkit-scrollbar { width:6px; height:6px; }
 body ::-webkit-scrollbar-track { background:var(--panel); border-radius:8px; }
 body ::-webkit-scrollbar-thumb { background:color-mix(in srgb,var(--primary) 60%,var(--panel)); border-radius:8px; }
 body ::-webkit-scrollbar-button { display:none; }
}
@media screen and (max-width:600px) {
 body .editor.decor-contour>form,body .palette-popup>.overlay-scroll { padding:24px; }
}

/* The undecorated atelier uses the same asymmetric family as the home cards. */
@media screen {
 body[data-ambience=none] { --control-radius:12px; }
 body[data-ambience=none] .work-content .ambient-surface { border-radius:38px 14px 34px 14px!important; }
 body[data-ambience=none] .work-content .metric { background:var(--surface-color)!important; }
 body[data-ambience=none] :is(.work-nav,.editor,.palette-popup,.action-popup).decor-contour { border-radius:24px!important; }
 body[data-ambience=none] .welcome-disclosure>summary { border-radius:22px 9px 22px 9px; background:var(--soft); }
 body[data-ambience=none] .editor.decor-contour { background:var(--panel)!important; }
 body[data-ambience=none] .ui-field:focus:not(:focus-visible) { border-color:transparent!important; }
 body .shape-field:has(>.ui-field:focus:not(:focus-visible)) { outline:none!important; }
}

@media screen {
 body[data-input-mode=pointer] .ui-field:focus { outline:none!important; box-shadow:none!important; border-color:transparent!important; }
 body[data-input-mode=pointer] .shape-field:focus-within { outline:none!important; }
}

/* Inset scrolling keeps content and its thumb inside the decorative edge. */
@media screen {
 body .editor.decor-contour,body:not([data-ambience=none]) .editor.decor-contour { padding:16px!important; }
 body .editor.decor-contour>form { padding:12px; max-height:calc(90dvh - 32px); scrollbar-gutter:stable; }
 body,body .editor>form,body .overlay-scroll,body .nav-scroll,body .table-wrap { scrollbar-color:color-mix(in srgb,var(--primary) 60%,var(--panel)) transparent; }
 body[data-theme][data-ambience=none] .workspace-intro { border-radius:58px 18px 48px 18px!important; }
 body[data-theme][data-ambience] .workspace-intro .intro-orbit { width:260px; right:30px; top:50%; bottom:auto; transform:translateY(-50%); border-width:20px; }
 .intro-illustration { inset:8%; }
}
/* Standard scrollbar colours override WebKit pseudo elements in Chromium.
   Restore the custom thumb so tracks and arrow buttons really disappear. */
@supports selector(::-webkit-scrollbar) {
 html,body,body .editor>form,body .overlay-scroll,body .nav-scroll,body .table-wrap,body textarea { scrollbar-width:auto; scrollbar-color:auto; }
 html::-webkit-scrollbar,body ::-webkit-scrollbar { width:4px; height:4px; background:transparent!important; }
 html::-webkit-scrollbar-track,body ::-webkit-scrollbar-track { background:transparent!important; box-shadow:none!important; border:0!important; }
 html::-webkit-scrollbar-thumb,body ::-webkit-scrollbar-thumb { background:color-mix(in srgb,var(--primary,#255fbd) 60%,transparent); border-radius:8px; }
 html::-webkit-scrollbar-button,body ::-webkit-scrollbar-button { display:none!important; width:0!important; height:0!important; background:transparent!important; }
 html::-webkit-scrollbar-corner,body ::-webkit-scrollbar-corner { background:transparent!important; }
}
@media screen and (max-width:900px) {
 body[data-theme][data-ambience] .workspace-intro .intro-orbit { width:180px; right:24px; border-width:14px; }
}
@media screen and (max-width:600px) {
 body[data-theme][data-ambience] .workspace-intro { padding:30px 28px 180px!important; }
 body[data-theme][data-ambience] .workspace-intro .intro-copy { width:100%; }
 body[data-theme][data-ambience] .workspace-intro .intro-orbit { width:140px; right:28px; top:auto; bottom:24px; transform:none; border-width:12px; }
}

/* Reference palettes declared --soft with two theme attributes. Match that
   specificity so their fixed grey cannot override the chosen palette tint. */
@media screen {
 body[data-theme][data-ambience] {
  --t-note:color-mix(in srgb,var(--color2,var(--t-card2)) 20%,var(--panel));
  --soft:var(--t-note);
  --t-section:color-mix(in srgb,var(--color3,var(--t-card3)) 14%,var(--panel));
  --field-fill:color-mix(in srgb,var(--color3,var(--t-card3)) 12%,var(--panel));
  --command-fill:color-mix(in srgb,var(--color2,var(--t-card2)) 18%,var(--panel));
 }
 body .empty,body .welcome-steps>li { --surface-color:var(--soft); }
}

@media screen {
 body[data-theme][data-ambience] .path-card[data-path-index="1"] { color:var(--card1-ink,var(--ink))!important; }
 body[data-theme][data-ambience] .path-card[data-path-index="2"] { color:var(--card2-ink,var(--ink))!important; }
 body[data-theme][data-ambience] .path-card[data-path-index="3"] { color:var(--card3-ink,var(--ink))!important; }
 body[data-theme][data-ambience] .path-card[data-path-index="4"] { color:var(--card4-ink,var(--ink))!important; }
 body[data-theme][data-ambience] .path-card :is(strong,small,.symbol) { color:inherit!important; }
 body .work-content .meter { background:var(--soft)!important; }
 body .work-content .meter.gold { background:color-mix(in srgb,var(--color2,var(--t-card2)) 20%,var(--panel))!important; }
 body .work-content .meter.terra { background:color-mix(in srgb,var(--color3,var(--t-card3)) 20%,var(--panel))!important; }
}

/* 071.3: reference tabs, palette listboxes and quiet card tools. */
@media screen {
 body[data-theme][data-ambience] .workspace-intro .intro-art{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;overflow:hidden}
 body[data-theme][data-ambience]:not([data-ambience=none]) .intro-art{mask:var(--ambient-shape) center/100% 100% no-repeat}
 body[data-theme][data-ambience] .workspace-intro .intro-orbit{width:clamp(310px,35vw,440px);right:-50px;top:auto;bottom:-155px;transform:none;border-width:28px}
 body[data-theme][data-ambience] .workspace-intro .intro-illustration{inset:8%;background-size:cover}
 body[data-theme][data-ambience] .more-trigger.ui-control{background:transparent!important;border:0!important;box-shadow:none!important;outline-offset:2px;font-weight:400;padding:0!important;color:var(--muted);width:36px;min-width:36px;min-height:44px}
 body[data-theme][data-ambience] .more-trigger.ui-control:hover{background:transparent!important;color:var(--ink)}
 .more-trigger svg{fill:currentColor;display:block;flex:none}
 body[data-theme][data-ambience] :is(.card-grip,.nav-drag-handle){font-weight:400!important;color:var(--muted);opacity:.7}
 body[data-theme][data-ambience] .teacher-profile{display:inline-grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;border:0;border-radius:50%!important;background:var(--soft);color:var(--ink);font:500 13px/1 'DM Sans',sans-serif;padding:0;margin-left:12px;overflow:hidden;flex:none}
 .teacher-profile img{display:block;width:100%;height:100%;object-fit:cover}
 body[data-theme][data-ambience] .section-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 24px;padding:0 0 10px;border-bottom:1px solid var(--border)}
 body[data-theme][data-ambience] .section-tools>button{flex:0 1 auto;font:500 13px/1.4 'DM Sans',sans-serif;padding:10px 16px;min-height:40px;color:var(--muted);background:transparent;border:0;box-shadow:none}
 body[data-theme][data-ambience] .section-tools>button:before{background:transparent}
 body[data-theme][data-ambience] .section-tools>button[aria-current]{color:var(--ink);background:var(--soft);box-shadow:inset 0 -2px var(--primary)}
 body[data-theme][data-ambience] .section-tools>button[aria-current]:before{background:var(--soft)}
 body[data-theme][data-ambience=none] .section-tools>button{border-radius:16px 8px 0 0!important}
 body[data-theme][data-ambience] .select-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;pointer-events:none}
 body[data-theme][data-ambience] button.select-trigger{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:40px;width:100%;padding:9px 14px;border:0;box-shadow:none;background:transparent!important;color:var(--ink);font:400 13px/1.4 'DM Sans',sans-serif;text-align:left;white-space:normal}
 .select-trigger:after{content:'';width:6px;height:6px;border-right:1.3px solid currentColor;border-bottom:1.3px solid currentColor;transform:rotate(45deg);flex:none;margin:0 3px 4px}
 .select-trigger[aria-expanded=true]:after{transform:rotate(225deg);margin-bottom:0}
 body[data-theme][data-ambience] .select-popup{position:fixed;z-index:10000;isolation:isolate;padding:8px;overflow:hidden;background:var(--panel)!important;color:var(--ink);border:1px solid var(--border);border-radius:20px 10px 18px 10px;box-shadow:0 8px 28px color-mix(in srgb,var(--ink) 12%,transparent);box-sizing:border-box}
 body[data-theme][data-ambience]:not([data-ambience=none]) .select-popup{padding:14px;background:transparent!important;border:0;border-radius:0;filter:drop-shadow(0 6px 12px color-mix(in srgb,var(--ink) 12%,transparent))}
 body[data-theme][data-ambience] .select-popup:before{background:var(--panel)}
 .select-popup .overlay-scroll{max-height:inherit;padding:0;overflow:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--primary) 60%,transparent) transparent}
 body[data-theme][data-ambience] .select-popup .overlay-scroll{max-height:calc(100% - 16px)}
 body[data-theme][data-ambience] .select-option{font:400 13px/1.45 'DM Sans',sans-serif;padding:10px 12px;border-radius:var(--control-radius);margin:2px 0;cursor:pointer;color:var(--ink);white-space:normal;overflow-wrap:anywhere}
 body[data-theme][data-ambience] .select-option:is(:hover,.is-active,[aria-selected=true]){background:var(--soft);color:var(--ink)}
 .select-option[aria-selected=true]:after{content:'✓';float:right;margin-left:12px;font-size:12px;color:var(--ink)}
 body[data-theme][data-ambience] .select-option[aria-disabled=true]{opacity:.45;cursor:default}
 .select-group{font:500 11px/1.4 'DM Sans',sans-serif;color:var(--muted);padding:10px 12px 4px}
 .select-popup::-webkit-scrollbar,.select-popup .overlay-scroll::-webkit-scrollbar{width:4px;height:4px}
 .select-popup .overlay-scroll::-webkit-scrollbar-track{background:transparent}
 .select-popup .overlay-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 60%,transparent);border-radius:8px}
 .select-popup .overlay-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}
 body[data-input-mode=pointer] .select-trigger:focus{outline:none!important;box-shadow:none!important}
 body[data-input-mode=keyboard] .select-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
 @media(max-width:900px){body[data-theme][data-ambience] .workspace-intro .intro-orbit{width:300px;right:-70px;bottom:-140px;border-width:24px}}
 @media(max-width:600px){body[data-theme][data-ambience] .workspace-intro .intro-orbit{width:250px;right:-38px;bottom:-125px;border-width:20px}body[data-theme][data-ambience] .section-tools>button{font-size:12px;padding:10px 12px}body[data-theme][data-ambience] button.select-trigger{min-height:44px}.work-context .teacher-profile{width:36px;height:36px;min-width:36px;min-height:36px;margin-left:8px}}
}

/* Les contrôles natifs suivent eux aussi la palette choisie. */
@media screen{body[data-theme] input[type="checkbox"],body[data-theme] input[type="radio"],body[data-theme] input[type="range"]{accent-color:var(--primary)}}

/* 071.4: stable page commands, explicit current section, compact unframed header. */
@media screen {
 body[data-theme][data-ambience] .work-header{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none;position:relative;min-height:60px;height:auto;padding:8px 28px;gap:14px}
 body[data-theme] .work-header .ox-logo{width:150px}
 body[data-theme] .work-context{gap:12px;max-width:none}
 body[data-theme] .work-context>span{border:0;padding:0}
 body[data-theme] .work-context .shape-field{width:auto}
 body[data-theme] .work-context .teacher-profile{width:36px;height:36px;min-width:36px;min-height:36px;margin-left:4px}
 body[data-theme][data-ambience] .work-page-head.page-heading{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px}
 body[data-theme] .work-page-head.page-heading>div:first-child{flex:1 1 300px;min-width:0;width:auto}
 body[data-theme] .work-page-head .page-actions{display:flex;flex:0 0 auto;width:auto;max-width:100%;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px!important;margin:0;padding-top:12px}
 body[data-theme] .work-page-head .page-actions>button{flex:0 1 auto!important;width:auto!important;margin:0}
 body[data-theme] .work-page-head .page-actions>.secondary-actions{position:relative;margin:0!important;align-self:center;flex:none}
 body[data-theme][data-ambience] .section-tools{gap:6px;padding-bottom:0;margin-bottom:22px;align-items:stretch}
 body[data-theme][data-ambience] .section-tools>button.ui-control{--shape-fill:transparent!important;background:transparent!important;color:var(--muted)!important;box-shadow:none!important;position:relative;min-height:42px;padding:10px 16px;font-weight:500;border:0}
 body[data-theme][data-ambience] .section-tools>button.ui-control:before{background:transparent!important}
 body[data-theme][data-ambience] .section-tools>button.ui-control[aria-current="page"]{--shape-fill:var(--panel)!important;background:var(--panel)!important;color:var(--primary)!important;font-weight:600}
 body[data-theme][data-ambience] .section-tools>button.ui-control[aria-current="page"]:before{background:var(--panel)!important}
 body[data-theme][data-ambience] .section-tools>button.ui-control[aria-current="page"]:after{content:'';position:absolute;bottom:0;left:10px;right:10px;height:3px;background:var(--primary);border-radius:2px;pointer-events:none}
 body[data-theme][data-ambience]:not([data-ambience=none]) .section-tools>button.ui-control[aria-current="page"]{background:transparent!important}
 body[data-theme][data-ambience] .section-tools>button.ui-control:not([aria-current]):hover{color:var(--ink)!important}
 @media(max-width:900px){body[data-theme][data-ambience] .work-header{padding:7px 18px}body[data-theme] .work-header .ox-logo{width:125px}}
 @media(max-width:600px){body[data-theme][data-ambience] .work-header{padding:6px 14px;min-height:56px;gap:8px}body[data-theme] .work-header .ox-logo{width:105px}body[data-theme] .work-context{gap:4px;flex:1;min-width:0}body[data-theme] .work-context>span:first-child{flex:1;min-width:0}body[data-theme] .work-context .select-trigger{font-size:11px;padding:6px 8px;gap:8px;min-width:0}body[data-theme] .work-page-head.page-heading>div:first-child{flex-basis:100%}body[data-theme] .work-page-head .page-actions{justify-content:flex-start;padding-top:0}body[data-theme][data-ambience] .section-tools{flex-wrap:nowrap;overflow-x:auto}body[data-theme][data-ambience] .section-tools>button.ui-control{flex:none;padding:10px 12px;font-size:12px}}
}

@media screen{.journal-day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 14px}.journal-day-heading h2{margin:0;font-size:20px}.journal-day-heading>.actions{display:flex;align-items:center;gap:6px;flex:none;margin:0}.journal-day-heading .secondary-actions{margin:0}.month-day-head{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.month-day-head>.journal-day-menu{margin-left:auto}.bilan{padding:18px 20px;margin-top:16px;border-left:3px solid var(--primary);background:var(--soft);color:var(--ink)}.bilan .eyebrow{font-size:11px;color:var(--primary)}@media(max-width:600px){.journal-day-heading{align-items:flex-start}.journal-day-heading h2{font-size:17px}.journal-day-heading>.actions>button{font-size:11px;padding:8px}}}
/* 071.6: compact teacher matrices and calmer reading rhythm. */
@media screen {
 .work-content>.page-head h1{font-size:clamp(28px,3vw,36px);line-height:1.12}
 .work-content .page-head p{font-size:14px;line-height:1.55;max-width:65ch}
 .work-content .panel h2,.work-content .detail-card h2{font-size:20px;line-height:1.3}
 .work-content .panel h3{font-size:17px;line-height:1.35}
 .work-content .panel p,.work-content .detail-card p,.work-content .detail-card li{font-size:14px;line-height:1.55}
 .work-content>.table-wrap,.work-content>.panel,.work-content>.card-grid,.work-content>.detail-cards,.work-content>.analysis-details{margin-block:20px}
 .work-content .toolbar{row-gap:12px;column-gap:16px;margin-bottom:18px;align-items:end}
 .work-content .toolbar label{font-size:12px;line-height:1.5}
 .matrix-actions{display:flex;gap:10px;margin:14px 0 20px}
 .matrix-hint{font-size:12px;margin:12px 0;color:var(--ink);opacity:.8}
 .assessment-matrix{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto}
 .assessment-matrix caption{font-size:12px}
 .assessment-matrix thead th{font:500 12px/1.4 'DM Sans',sans-serif;vertical-align:bottom;width:150px;min-width:115px;max-width:190px;overflow-wrap:anywhere;padding:12px 10px;text-align:center}
 .assessment-matrix th small{display:block;font:400 10px/1.45 'DM Sans',sans-serif;margin-top:4px}
 .assessment-matrix tbody th{font:500 13px/1.4 'DM Sans',sans-serif;min-width:150px;text-align:left;padding:10px 14px;position:sticky;left:0;background:var(--panel);z-index:1}
 .assessment-matrix td{padding:7px 10px;vertical-align:middle;text-align:center;height:54px}
 body[data-theme][data-ambience] .assessment-cell.ui-control{--shape-fill:var(--cell-fill)!important;background:var(--cell-fill)!important;color:var(--cell-ink,var(--ink))!important;font:500 12px/1.3 'DM Sans',sans-serif;width:66px;min-width:66px;min-height:40px;padding:9px 6px;margin:0;box-shadow:none!important;position:relative}
 body[data-theme][data-ambience] .assessment-cell.ui-control:before{background:var(--cell-fill)!important}
 body[data-theme][data-ambience] .assessment-cell.ui-control:hover{filter:brightness(.97)}
 .assessment-cell.has-comment:after{content:'';position:absolute;right:9px;top:7px;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.55}
 .assessment-unavailable{font-size:12px;opacity:.5}
 .analysis-details{padding:16px 20px;background:var(--panel);border-radius:var(--control-radius)}
 .analysis-details>summary{cursor:pointer;font:500 14px/1.5 'DM Sans',sans-serif;color:var(--ink)}
 .analysis-details[open]>summary{margin-bottom:18px}
 .analysis-details .panel,.analysis-details .card-grid{margin-block:18px}
 .detail-cards{gap:20px}
 .detail-card li{margin:10px 0}
 .detail-card li small{display:block;font-size:11px;opacity:.75}
 .detail-card .report-position{font-size:12px;padding:6px 10px}
 .work-content .metrics{gap:14px;margin:18px 0}
 .work-content .metric strong{font-size:27px;line-height:1.25}
 .work-content .metric span{font-size:12px}
 .work-content .metric small{font-size:11px;line-height:1.5}
 .work-content .legend{font-size:12px;gap:10px;flex-wrap:wrap;margin:16px 0}
 .editor textarea[name=studentPaste]{min-height:220px;font-size:14px;line-height:1.6}
 @media(max-width:600px){.assessment-matrix tbody th{min-width:112px;padding:8px;font-size:12px}.assessment-matrix thead th{min-width:100px;padding:8px}.assessment-matrix td{padding:6px}.analysis-details{padding:14px}.work-content .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
}

@media screen{.assessment-matrix .matrix-rate{font:500 13px/1.4 DM Sans,sans-serif;color:var(--primary);white-space:nowrap}}

@media screen{
 body[data-theme][data-ambience] .assessment-matrix button.assessment-cell.ui-control{font:500 12px/1.3 'DM Sans',sans-serif!important;white-space:nowrap!important;overflow-wrap:normal!important;box-sizing:border-box!important;width:66px!important;min-width:66px!important;max-width:66px!important;flex:none!important;padding:9px 6px!important;min-height:40px!important;max-height:40px!important;height:40px!important}
 body[data-theme][data-ambience] .legend>span.result-a{--shape-fill:#d4efdd!important;background:#d4efdd!important;color:#24334a!important}
 body[data-theme][data-ambience] .legend>span.result-ec{--shape-fill:#fff0c4!important;background:#fff0c4!important;color:#24334a!important}
 body[data-theme][data-ambience] .legend>span.result-na{--shape-fill:#f8d8d1!important;background:#f8d8d1!important;color:#24334a!important}
 body[data-theme][data-ambience] .legend>span.result-a:before{background:#d4efdd!important}
 body[data-theme][data-ambience] .legend>span.result-ec:before{background:#fff0c4!important}
 body[data-theme][data-ambience] .legend>span.result-na:before{background:#f8d8d1!important}
}

@media screen{.assessment-matrix .matrix-column-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:12px;line-height:1.4}.assessment-matrix thead th{padding-block:12px;vertical-align:bottom}}
/* Competency-first workflow: the reference grading colors stay stable across palettes. */
@media screen{
 .competency-filters{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px!important}
 .competency-filters>label{min-width:0!important;max-width:none!important;width:auto!important}
 .competency-context{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:16px 0}
 .competency-context>label{display:grid;gap:6px;min-width:160px;font-size:12px;flex:0 1 210px}
 body[data-theme][data-ambience] .competency-legend>span[style]{--shape-fill:var(--mark-color)!important;background:var(--mark-color)!important;color:#24334a!important}
 body[data-theme][data-ambience] .competency-legend>span[style]:before{background:var(--mark-color)!important}
 .competency-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}
 body[data-theme][data-ambience] .competency-choices>button.ui-control{--shape-fill:var(--mark-color)!important;background:var(--mark-color)!important;color:var(--mark-ink,#24334a)!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 6px!important;min-height:82px!important}
 body[data-theme][data-ambience] .competency-choices>button.ui-control:before{background:var(--mark-color)!important}
 .competency-choices strong{font:600 18px/1 'DM Sans',sans-serif}.competency-choices small{font:400 10px/1.35 'DM Sans',sans-serif}
 .competency-matrix thead th{height:58px}.competency-matrix tfoot th,.competency-matrix tfoot td{padding:14px 10px;border-top:1px solid var(--border)}
 .competency-help{margin-top:20px;font-size:12px;color:var(--muted)}.competency-help>summary{cursor:pointer}.competency-help p{max-width:80ch;line-height:1.6}
 .competency-bar{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(80px,1fr) 55px;gap:14px;align-items:center;margin:18px 0;font-size:13px}
 .competency-bar-track{height:12px;border-radius:var(--control-radius);background:var(--soft);overflow:hidden}.competency-bar-track i{display:block;height:100%}.competency-bar>small{grid-column:1/-1;font-size:11px;margin-top:-9px;color:var(--muted)}
 @media(max-width:760px){.competency-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.competency-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.competency-context>label{flex:1 1 130px;min-width:0}.competency-bar{grid-template-columns:minmax(110px,1.3fr) minmax(50px,1fr) 45px;gap:10px}}
}

/* 071.8 browser QA: grading colors paint the shaped layer, not its rectangular host. */
@media screen{
 body[data-theme][data-ambience]:not([data-ambience=none]) :is(.assessment-cell.ui-control,.competency-choices>button.ui-control,.competency-legend>span[style],.legend>span.result-a,.legend>span.result-ec,.legend>span.result-na).decor-contour{background:transparent!important}
}

/* 072: put classroom data before secondary controls. */
@media screen{
 .competency-workspace .page-heading{margin:0 0 12px!important}
 .competency-workspace .page-heading h1{font-size:30px!important;line-height:1.15;margin:4px 0!important}
 .competency-workspace .page-heading .overline{display:none}
 .competency-workspace .page-heading p{font-size:13px;margin:6px 0!important}
 .competency-workspace .section-tools{margin:8px 0 14px!important;padding:0!important}
 .competency-primary{display:flex;align-items:end;gap:12px;flex-wrap:wrap;position:relative;margin:8px 0}
 .competency-primary>label{display:grid;gap:4px;flex:1 1 180px;max-width:260px;min-width:0;font-size:12px}
 .competency-more{flex:1 1 230px;min-width:0;padding-bottom:10px;font-size:12px}
 .competency-more>summary,.competency-grid-details>summary,.need-review>summary{cursor:pointer;color:var(--primary);font-size:13px;font-weight:500;padding:8px 0}
 .competency-secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 0}
 .competency-secondary>label{display:grid;gap:4px;min-width:0;font-size:12px}
 .competency-workspace .legend{margin:10px 0!important;gap:8px!important}
 .competency-workspace .assessment-matrix td{height:44px;padding:3px 8px}
 .competency-workspace .assessment-matrix tbody th{padding:5px 12px}
 .competency-workspace .competency-matrix thead th{height:40px;padding-block:8px}
 .competency-distribution{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;margin:12px 0}
 .competency-grid-details{margin-top:16px}
 .need-evidence-list{list-style:none;padding:0;margin:8px 0}
 .need-evidence-list>li{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:9px 0;font-size:13px}
 .need-evidence-list small{display:block;font-size:11px;margin-top:4px;color:var(--muted)}
 body .need-evidence-action.ui-control{flex:none!important;min-height:34px!important;padding:6px 10px!important;font-size:12px!important}
 body[data-theme][data-ambience] .workspace-intro{min-height:180px!important;padding:24px 30px!important}
 .workspace-intro h1{font-size:clamp(26px,3vw,36px)!important;margin:8px 0!important}
 .workspace-intro .intro-orbit{width:240px!important;bottom:-160px!important}
 @media(hover:hover){.work-nav .nav-drag-handle{opacity:0}.work-nav .nav-item:hover .nav-drag-handle,.work-nav .nav-item:focus-within .nav-drag-handle{opacity:1}}
 @media(max-width:760px){.competency-primary>label{max-width:none;flex-basis:130px}.competency-more{flex-basis:100%;padding-bottom:0}.competency-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.competency-workspace .page-heading h1{font-size:26px!important}.need-evidence-list>li{align-items:flex-start}body[data-theme][data-ambience] .workspace-intro{padding:22px!important}}
}
/* Live review 072: keep the table above the fold and handles quiet. */
.competency-workspace .page-heading p{display:none}
.competency-workspace .page-heading{min-height:44px;margin-bottom:6px!important}
.competency-workspace .section-tools{margin-top:4px!important;margin-bottom:8px!important;min-height:34px}
.competency-workspace .section-tools button{min-height:34px;padding-block:8px!important}
@media(hover:hover){body[data-theme][data-ambience] .work-nav .nav-drag-handle{opacity:0!important}body[data-theme][data-ambience] .work-nav [data-nav-item]:hover .nav-drag-handle,body[data-theme][data-ambience] .work-nav [data-nav-item]:focus-within .nav-drag-handle{opacity:.7!important}}
.report-position.result-e{background:#6dbba1;color:#173b31}.report-position.result-pa{background:#f3ce77;color:#573d0d}
/* 073 — Compact working typography and contextual tools. Print styles stay separate. */
@media screen {
 body[data-theme][data-ambience] .work-content {font-size:14px;line-height:1.5}
 body[data-theme][data-ambience] .work-content .page-heading h1 {font-size:28px!important;line-height:1.2;font-weight:550;margin-block:4px 8px}
 body[data-theme][data-ambience] .work-content :is(.detail-card,.prep-card,.panel,.lesson,.agenda-entry,.period) :is(h2,h3) {font-family:'DM Sans',sans-serif!important;font-size:16px!important;font-weight:500!important;line-height:1.35;margin-block:6px 10px}
 body[data-theme][data-ambience] .work-content :is(.detail-card,.prep-card,.panel,.lesson,.agenda-entry,.period) :is(p,li) {font-size:14px!important;line-height:1.5;font-weight:400;margin-block:6px}
 body[data-theme][data-ambience] .work-content :is(.label,.subject,.badge,th,strong) {font-weight:550}
 body[data-theme][data-ambience] .work-content :is(.label,.subject,.badge) {font-size:12px;letter-spacing:.015em}
 body[data-theme][data-ambience] .ui-control {font-weight:450!important;font-size:13px!important}
 body[data-theme][data-ambience] :is(.detail-card,.prep-card,.lesson,.panel).has-card-tools {padding-top:14px!important}
 body[data-theme][data-ambience] .card-tools {display:flex;align-items:center;justify-content:flex-end;gap:4px;margin:0 0 4px!important;min-height:32px}
 body[data-theme][data-ambience] .card-tools .card-grip {margin-right:auto}
 body[data-theme][data-ambience] :is(.more-trigger,.card-action-icon,.card-grip).ui-control {width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;flex:0 0 32px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--ink)!important;font-weight:400!important}
 body[data-theme][data-ambience] :is(.more-trigger,.card-action-icon,.card-grip):before {content:none!important}
 .action-accessible-label {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 body[data-theme][data-ambience] .detail-card:nth-child(2n) {--command-fill:var(--panel)}
 body[data-theme][data-ambience] .action-popup .ui-control {font-size:13px!important;font-weight:400!important;min-height:34px!important;padding:7px 10px!important;line-height:1.35;white-space:normal}
 body[data-theme][data-ambience] .action-popup {padding:10px!important}
 body[data-theme][data-ambience] .work-content .learningbook-list {display:grid;grid-template-columns:1fr;gap:10px}
 body[data-theme][data-ambience] .work-content .learningbook-row {padding:16px 20px!important;display:block;min-height:0}
 body[data-theme][data-ambience] .learningbook-row .card-tools {float:right;margin-left:16px!important}
 body[data-theme][data-ambience] .learningbook-row h2 {margin:4px 0!important}
 body[data-theme][data-ambience] .learningbook-row p {margin:3px 0!important;font-size:13px!important}
 body[data-theme][data-ambience] .learningbook-row .actions {margin-top:6px}
 body[data-theme][data-ambience] .competency-workspace .table-wrap {padding:0!important;max-height:65vh;overflow:auto;isolation:isolate;scrollbar-gutter:stable;overscroll-behavior:contain}
 body[data-theme][data-ambience] .assessment-matrix thead th {position:sticky!important;top:0;z-index:4;background:var(--panel)!important}
 body[data-theme][data-ambience] .assessment-matrix :is(tbody,tfoot) th {position:sticky!important;left:0;z-index:3;background:var(--panel)!important;box-shadow:1px 0 var(--border)}
 body[data-theme][data-ambience] .assessment-matrix thead th:first-child {left:0;z-index:6;min-width:150px;box-shadow:1px 0 var(--border)}
 body[data-theme][data-ambience] .assessment-matrix td {position:relative;z-index:0}
 body[data-theme][data-ambience] .journal-day-heading h2 {font-size:20px;font-weight:500}
 body[data-theme][data-ambience] .lesson-time strong {font-size:15px;font-weight:550}
 body[data-theme][data-ambience] .lesson-main .phase-summary {margin-block:8px}
 body[data-theme][data-ambience] .lesson-main small {font-size:12px;line-height:1.4}
}
@media screen and (pointer:coarse) {
 body[data-theme][data-ambience] :is(.more-trigger,.card-action-icon,.card-grip).ui-control {width:44px!important;min-width:44px!important;min-height:44px!important;height:44px!important;flex-basis:44px!important}
}
@media screen and (max-width:600px) {
 body[data-theme][data-ambience] .work-content .page-heading h1 {font-size:25px!important}
 body[data-theme][data-ambience] .learningbook-row .card-tools {float:none;margin-left:0!important}
 body[data-theme][data-ambience] .work-content :is(input,textarea,select) {font-size:16px!important}
}
@media screen {
 body[data-theme][data-ambience] .work-content h2 {font-size:21px;font-weight:550;line-height:1.3}
 body[data-theme][data-ambience] .work-content h3 {font-size:17px;font-weight:550;line-height:1.35}
 body[data-theme][data-ambience] .work-content .card-tools>.secondary-actions {margin-left:0;width:32px;min-width:32px;flex:0 0 32px!important}
 body[data-theme][data-ambience] .work-content .learningbook-row .card-tools {width:auto;max-width:45%}
 body[data-theme][data-ambience] .lesson-phases {font-size:13px;margin:8px 0;color:var(--muted)}
 body[data-theme][data-ambience] .lesson-phases summary {cursor:pointer;min-height:28px;line-height:28px;font-weight:400}
}
@media screen and (max-width:600px) {body[data-theme][data-ambience] .work-content .learningbook-row .card-tools {max-width:100%;width:100%}}
@media screen and (min-width:761px) {
 body[data-theme][data-ambience] .work-content .learningbook-row {display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.7fr) auto;gap:4px 20px;align-items:center;padding:16px 20px!important}
 body[data-theme][data-ambience] .learningbook-row>h2 {grid-column:1;grid-row:1}
 body[data-theme][data-ambience] .learningbook-row>.label {grid-column:1;grid-row:2;font-size:10px;letter-spacing:0;text-transform:none;font-weight:400}
 body[data-theme][data-ambience] .learningbook-row>p:first-of-type {grid-column:2;grid-row:1}
 body[data-theme][data-ambience] .learningbook-row>p:nth-of-type(2) {grid-column:2;grid-row:2}
 body[data-theme][data-ambience] .work-content .learningbook-row>.card-tools {grid-column:3;grid-row:1/3;float:none;width:auto;max-width:none;align-self:center;margin:0!important}
 body[data-theme][data-ambience] .learningbook-row>.soft-note {grid-column:1/-1}
}
@media screen {body[data-theme][data-ambience] .work-content .calendar-banner {padding:12px 20px!important;min-height:0;margin-block:8px 12px;font-size:12px}}

/* 074 — shared controls and typography, all workspace views and dialogs. */
@media screen {
 body[data-theme][data-ambience] :is(.work-content,.editor) {font-size:14px;line-height:1.5}
 body[data-theme][data-ambience] :is(.work-content,.editor) :is(p,li,td,label) {font-size:14px;font-weight:400}
 body[data-theme][data-ambience] :is(.work-content,.editor) :is(strong,b,th) {font-weight:500!important}
 body[data-theme][data-ambience] :is(.work-content,.editor) :is(h2,h3,h4) {font-family:'DM Sans',sans-serif!important;font-weight:500!important;line-height:1.35}
 body[data-theme][data-ambience] .work-content h2 {font-size:19px!important}
 body[data-theme][data-ambience] :is(.work-content,.editor) h3 {font-size:16px!important}
 body[data-theme][data-ambience] :is(.agenda-day,.week-day,.period)>h2 {font-size:16px!important;margin-block:4px 12px}
 body[data-theme][data-ambience] .agenda-entry {padding:12px!important}
 body[data-theme][data-ambience] .work-content .agenda-entry h3 {font-size:14px!important;line-height:1.4;margin-block:6px}
 body[data-theme][data-ambience] .agenda-entry :is(time,.badge) {font-size:12px!important;font-weight:400!important}
 body[data-theme][data-ambience] :is(.agenda-day,.week-day) .calendar-banner {padding:7px 10px!important;font-weight:400}
 body[data-theme][data-ambience] button.select-trigger {border-bottom:1px solid color-mix(in srgb,var(--ink) 32%,transparent)!important;border-radius:var(--control-radius)!important;min-height:36px;padding:7px 12px;font-size:13px}
 body[data-theme][data-ambience] button.select-trigger:hover {border-bottom-color:var(--primary)!important}
 body[data-theme][data-ambience] .action-popup {padding:5px!important}
 body[data-theme][data-ambience] .action-popup>.overlay-scroll {display:grid;grid-template-columns:minmax(0,1fr);padding:0!important;scrollbar-gutter:auto}
 body[data-theme][data-ambience] .action-popup .ui-control {width:100%;min-height:32px!important;padding:6px 10px!important;white-space:normal}
 body[data-theme][data-ambience] .teacher-profile {display:flex!important;align-items:center;justify-content:center;position:relative;line-height:1!important;padding:0!important;gap:0!important;text-indent:0}
 body[data-theme][data-ambience] .teacher-profile:before,body[data-theme][data-ambience] .teacher-profile:after {content:none!important}
 body[data-theme][data-ambience] .teacher-profile>span {display:block;margin:0;padding:0;line-height:1;transform:none}
 body[data-theme][data-ambience] .teacher-profile img {object-position:center;margin:0;flex:none}
 body[data-theme][data-ambience] .avatar {display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;box-sizing:border-box;flex-shrink:0;padding:0;font-size:13px;font-weight:500;vertical-align:middle;background:var(--color2,var(--soft));color:var(--color2-ink,var(--ink))}
 body[data-theme][data-ambience] .detail-card:nth-child(even)>.avatar {background:var(--panel);color:var(--ink)}
 body[data-theme][data-ambience] .detail-card:nth-child(3n)>.avatar {background:var(--color3,var(--soft));color:var(--color3-ink,var(--ink))}
 body[data-theme][data-ambience] tr:nth-child(even) .avatar {background:var(--color3,var(--soft));color:var(--color3-ink,var(--ink))}
 body[data-theme][data-ambience] .pupil-photo {object-position:center}
 body[data-theme][data-ambience] button.matrix-title-toggle {display:-webkit-box;width:100%;min-width:0;min-height:44px;padding:0;background:transparent!important;border:0;border-radius:0;box-shadow:none;text-align:left;font:500 12px/1.4 'DM Sans',sans-serif;color:inherit;cursor:pointer}
 body[data-theme][data-ambience] .column-title-expanded .matrix-title-toggle {-webkit-line-clamp:unset;display:block;overflow:visible}
 body[data-theme][data-ambience] .matrix-title-toggle:focus-visible {outline:2px solid var(--primary);outline-offset:3px}
 body[data-theme][data-ambience] .workspace-intro {min-height:0!important;padding:18px 24px!important}
 body[data-theme][data-ambience] .workspace-intro h1 {font-size:28px!important;line-height:1.15;margin:5px 0!important}
 body[data-theme][data-ambience] .workspace-intro p {margin:6px 0!important;font-size:13px}
 body[data-theme][data-ambience] .workspace-intro .cta {margin-top:6px!important;min-height:34px;padding:7px 12px!important}
}
@media screen and (pointer:coarse) {body[data-theme][data-ambience] :is(button.select-trigger,.action-popup .ui-control) {min-height:44px!important}}

@media screen {body[data-theme][data-ambience]:not([data-ambience=none]) .action-popup.decor-contour {filter:drop-shadow(0 3px 8px color-mix(in srgb,var(--ink) 22%,transparent));isolation:isolate}}

/* 076 — one type scale and one heading/metadata color across working views. */
@media screen {
 body[data-theme][data-ambience] {--work-copy:13px;--work-title:15px;--work-meta:12px}
 body[data-theme][data-ambience] :is(.work-content,.editor) {font-size:var(--work-copy)!important;line-height:1.45}
 body[data-theme][data-ambience] :is(.work-content,.editor) :is(p,li,td,label) {font-size:var(--work-copy)!important;line-height:1.45;font-weight:400}
 body[data-theme][data-ambience] .work-content :is(.detail-card,.prep-card,.panel,.work-panel,.lesson,.agenda-entry,.period,.agenda-day,.week-day,.empty) :is(h2,h3,h4) {font-size:var(--work-title)!important;font-weight:500!important;color:var(--ink)!important;line-height:1.4;letter-spacing:0;margin-block:6px 8px}
 body[data-theme][data-ambience] .work-content :is(.detail-card,.prep-card,.panel,.work-panel,.lesson,.agenda-entry,.period,.agenda-day,.week-day) :is(p,li) {font-size:var(--work-copy)!important;line-height:1.45}
 body[data-theme][data-ambience] .work-content :is(.label,.subject,.eyebrow,.overline) {font-size:var(--work-meta)!important;font-weight:400!important;color:var(--muted)!important;letter-spacing:0;text-transform:none}
 body[data-theme][data-ambience] .work-content :is(.detail-card,.prep-card,.panel,.work-panel,.lesson,.agenda-entry,.period,.agenda-day,.week-day) :is(small,time) {font-size:var(--work-meta)!important;font-weight:400;color:var(--muted)!important;line-height:1.4}
 body[data-theme][data-ambience] .work-content :is(.page-heading,.work-page-head) h1 {font-size:26px!important;line-height:1.2;color:var(--ink)!important}
 body[data-theme][data-ambience] .work-content :is(.page-heading,.work-page-head)>p,body[data-theme][data-ambience] .work-content :is(.page-heading,.work-page-head)>div>p {font-size:13px!important;margin-block:6px 12px}
 body[data-theme][data-ambience] .editor :is(h2,h3) {font-size:17px!important;font-weight:500!important;color:var(--ink)!important}
 body[data-theme][data-ambience] .work-content .agenda-entry h3 {font-size:14px!important}
 body[data-theme][data-ambience] .work-content :is(.session,.path-card) strong {font-size:15px!important;font-weight:500!important}
 body[data-theme][data-ambience] .work-content .session strong {color:var(--ink)!important}
 body[data-theme][data-ambience] .work-content .path-card strong {color:inherit!important}
 body[data-theme][data-ambience] .work-content .section-label {font-size:18px!important;font-weight:500!important;color:var(--ink)!important}
}
/* 077 — aperçu compact de préparation hebdomadaire */
.weekly-planning{margin-block:16px}.weekly-planning table{width:100%;border-collapse:collapse}.weekly-planning th,.weekly-planning td{padding:8px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line,#d8dfe9);font-size:13px;font-weight:400}.weekly-planning select{max-width:100%;min-width:0}.weekly-planning td:nth-child(2){width:44%}.weekly-planning h2{font-size:17px;font-weight:500}.weekly-planning .checkline{margin-block:12px}@media(max-width:650px){.weekly-planning table,.weekly-planning tbody,.weekly-planning tr,.weekly-planning td{display:block;width:100%!important}.weekly-planning thead{display:none}.weekly-planning tr{margin-bottom:14px}.weekly-planning td{padding:6px 0}.weekly-planning select{width:100%}}
/* 078–082: same records, compact local expansion and alternate relationship views. */
.workspace-modes{display:flex;gap:.4rem;margin:.35rem 0 .8rem}.workspace-modes button{font-size:12px;padding:.35rem .7rem;background:transparent;border:1px solid var(--t-border);border-radius:14px}.workspace-modes button[aria-pressed=true]{background:var(--t-accent);color:var(--t-reverse)}
.workspace-fold>summary{cursor:pointer;padding:.7rem .3rem;font-size:14px;font-weight:500;line-height:1.5;list-style-position:inside}.workspace-fold>summary small{margin-left:.6rem;font-size:11px;font-weight:400;opacity:.75}.workspace-body{padding:.4rem .3rem}.workspace-fold:not([open]){min-height:0}.prep-card:has(>.workspace-fold),.sequence-card:has(>.workspace-fold){padding:1rem;min-height:0}.workspace-tree .card-grid{display:block}.workspace-branch{margin:0 0 1rem;padding-left:1rem;border-left:2px solid var(--t-accent)}.workspace-branch h2{font-size:14px;font-weight:500}.workspace-tree .prep-card,.workspace-tree .sequence-card,.workspace-tree .lesson{margin:.6rem 0 .6rem 1rem;position:relative}.workspace-tree .lesson:before{content:'';position:absolute;left:-.8rem;top:0;bottom:-.6rem;border-left:1px solid var(--t-accent)}
dialog.editor.inline-editor[open]{position:static;display:block;width:100%;max-width:none;max-height:none;margin:.7rem 0;padding:1rem;overflow:visible;box-shadow:none;border:1px solid var(--t-border);box-sizing:border-box;background:var(--panel,var(--t-panel))}.inline-editor form{max-height:none!important;overflow:visible!important}.inline-editor .dialog-head{position:static}.inline-editor h2{font-size:16px}.workspace-start{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:.6rem 0 1rem}.workspace-start button{display:flex;flex-direction:column;text-align:left;padding:.8rem;border:1px solid var(--t-border);border-radius:18px;background:var(--panel,var(--t-panel));color:inherit;font-size:13px;font-weight:500}.workspace-start small{font-size:11px;font-weight:400;margin-top:.35rem}.workspace-intro{min-height:140px!important;padding:1rem 1.5rem!important}.workspace-intro h1{font-size:clamp(22px,3vw,32px)!important}.workspace-intro .intro-art{max-height:140px}.workspace-intro p{font-size:13px}.workspace-body .actions{flex-wrap:wrap}
@media(max-width:700px){.workspace-start{grid-template-columns:1fr}.workspace-tree .prep-card,.workspace-tree .sequence-card,.workspace-tree .lesson{margin-left:.4rem}.inline-editor .form-grid{grid-template-columns:1fr}}
.agenda-canvas{margin-top:.7rem}.agenda-days.agenda-day{grid-template-columns:1fr}.agenda-days.agenda-week{grid-template-columns:repeat(7,minmax(165px,1fr));overflow-x:auto}.agenda-days.agenda-month{grid-template-columns:repeat(7,minmax(125px,1fr));overflow-x:auto}.agenda-day{min-width:0}.agenda-track{position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,var(--t-border) 60px);margin-top:.5rem}.agenda-slot{position:absolute;left:2px;right:2px;box-sizing:border-box;padding:.4rem .45rem 1rem;border:1px solid var(--t-accent);border-radius:12px;background:var(--panel,var(--t-panel));font-size:12px;z-index:1;overflow:hidden;touch-action:auto}.agenda-slot>span{display:block;line-height:1.3}.agenda-slot small{font-size:10px}.agenda-slot-head{display:flex;align-items:center;gap:.3rem}.agenda-slot button{background:transparent;border:0;color:inherit;padding:1px 5px;min-height:20px;font-size:12px}.agenda-slot [data-agenda-gesture]{touch-action:none;cursor:grab}.agenda-slot .agenda-resize{position:absolute;bottom:0;left:0;width:100%;height:12px;min-height:12px;padding:0;line-height:8px;cursor:ns-resize}.agenda-month .agenda-slot{position:relative;margin-bottom:.4rem;padding-bottom:.4rem}.agenda-month .agenda-track{background:none}.agenda-days.agenda-day{grid-template-columns:1fr}.agenda-slot:focus-within{z-index:3}.agenda-canvas .agenda-days{max-height:70vh;overflow:auto}.agenda-canvas .agenda-day>h2{position:sticky;top:0;background:var(--panel,var(--t-panel));z-index:5;font-size:12px;padding:.3rem}
.lesson:has(>.workspace-fold){display:block!important}.workspace-tree .sequence-preps{border-left:1px solid var(--t-accent);padding-left:1rem}.workspace-modes button[aria-current=page]{color:var(--t-accent);border-bottom:2px solid currentColor}.journal-month .lesson:has(>.workspace-fold){padding:.25rem!important;margin:.3rem 0}.journal-month .workspace-fold>summary{font-size:11px}.journal-month .workspace-fold[open]{min-width:220px}.inline-editor{color:var(--ink,var(--t-ink))}
.agenda-hour{position:absolute;left:1px;font-size:9px;opacity:.65;pointer-events:none}.agenda-slot{left:27px;min-height:32px}.agenda-slot:active{z-index:8}.agenda-month .agenda-slot{left:0}

body[data-theme][data-ambience] .workspace-intro{min-height:140px!important;padding:18px 26px!important}

@media print{.workspace-fold>.workspace-body,.workspace-fold>details{display:block!important}.workspace-modes,.workspace-start,.agenda-resize,[data-agenda-gesture]{display:none!important}.agenda-canvas .agenda-days{max-height:none;overflow:visible;display:block}.agenda-track{height:auto!important;background:none}.agenda-slot{position:static;height:auto!important;min-height:0;margin-bottom:.4rem}.agenda-hour{display:none}.agenda-day{break-inside:avoid}}
/* Linked planning views: same cards and actions, progressive disclosure. */
.workspace-modes{flex-wrap:wrap;max-width:100%}.workspace-fold>summary{overflow-wrap:anywhere}.workspace-fold>summary small{display:inline-block}
.workspace-tree .period-grid{display:block}.workspace-tree .period{margin-bottom:1rem}.program-branch>summary{font-size:15px;cursor:pointer;padding:.65rem 0}.workspace-tree .objective-card{margin:.6rem 0 .6rem 1rem;padding:.65rem;border-left:2px solid var(--t-accent)}
.learning-path{display:block!important}.learning-node{min-width:0;position:relative}.learning-branches{margin-left:1.3rem;padding-left:.8rem;border-left:2px solid var(--t-accent)}.learning-branches:empty{display:none}.learning-branches>.learning-node:before{content:'';position:absolute;left:-.8rem;top:1.9rem;width:.8rem;border-top:2px solid var(--t-accent)}.learning-node>.progression-card{margin:.7rem 0!important;width:auto!important;max-width:100%;min-width:0}.learning-relations{border-top:1px solid var(--t-border);margin-top:.6rem;padding-top:.4rem}.learning-relations>summary{cursor:pointer;font-size:12px;padding:.5rem 0}.learning-relations ul{padding-left:1rem}.learning-relations button{background:transparent;border:0;text-align:left;color:var(--ink);text-decoration:underline;text-underline-offset:3px;white-space:normal;overflow-wrap:anywhere;padding:.35rem .2rem}
.work-content :is(.workspace-body,.learning-node,.program-branch,.inline-editor,.objective-card){min-width:0;box-sizing:border-box;overflow-wrap:anywhere}.work-content .workspace-body :is(input,select,textarea){max-width:100%;box-sizing:border-box}.work-content :is(button,summary,input,select,textarea):focus-visible{outline:2px solid var(--t-accent);outline-offset:3px}.work-content .workspace-body .actions{gap:.35rem}.learning-path .progression-card:focus-within{position:relative;z-index:2}
@media(max-width:700px){.work-content .workspace-modes button,.work-content .learning-relations button,.work-content .workspace-fold>summary{min-height:44px}.learning-branches{margin-left:.45rem;padding-left:.55rem}.learning-branches>.learning-node:before{left:-.55rem;width:.55rem}.workspace-fold>summary small{display:block;margin-left:0}.work-content .inline-editor{padding:.65rem}.work-content .inline-editor .form-row{display:grid;grid-template-columns:minmax(0,1fr)}.journal-month .workspace-fold[open]{min-width:0}.agenda-canvas .agenda-days{max-width:100%;overscroll-behavior:contain}.work-content .learning-relations{max-width:100%}.workspace-tree .objective-card{margin-left:.2rem}}
@media(pointer:coarse){.agenda-slot .agenda-resize{height:20px;min-height:20px}.agenda-slot{padding-bottom:22px}.agenda-slot [data-agenda-gesture=move]{min-width:32px;min-height:32px}.work-content .more-trigger{min-width:44px;min-height:44px;background:transparent;border:0}}
@media(prefers-reduced-motion:reduce){.work-content *{scroll-behavior:auto!important;transition:none!important}}
@media print{.learning-branches{margin-left:.5rem}.learning-relations button{text-decoration:none}.program-branch>*{display:block!important}}
.work-content button.quiet-icon{background:transparent!important;border:0!important;box-shadow:none!important;min-width:34px;min-height:34px;padding:6px!important;color:var(--ink)!important;display:inline-flex;align-items:center;justify-content:center}.quiet-icon>[aria-hidden]{font-size:18px;line-height:1}.work-content .action-popup .quiet-icon{justify-content:flex-start;width:100%}.work-content .action-popup .quiet-icon .sr-only{position:static;width:auto;height:auto;clip:auto;clip-path:none;white-space:normal;margin-left:.5rem;overflow:visible}.work-content .learning-relations h4{font-size:12px!important;color:var(--ink)!important;font-weight:500}
@media(pointer:coarse),(max-width:700px){.work-content button.quiet-icon{min-width:44px;min-height:44px}}
.learning-branches .learning-branches .learning-branches .learning-branches{margin-left:0;padding-left:0;border-left:0}.learning-branches .learning-branches .learning-branches .learning-branches>.learning-node:before{display:none}.learning-relations li>details>summary{cursor:pointer;min-height:36px;padding:.4rem 0;overflow-wrap:anywhere}.work-content [role=region]:focus-visible{outline:2px solid var(--t-accent);outline-offset:3px}@media(max-width:700px){.learning-relations li>details>summary{min-height:44px}}

.diagnostic-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:.85rem}

/* Points 8/9/13/21 — same content, distinct reading modes. */
.workspace-discipline>h2{font-size:16px;font-weight:500;margin:1.2rem 0 .6rem}
.workspace-branch>h3{font-size:14px;font-weight:500;margin:.6rem 0}
.journal-day-fold>summary{cursor:pointer;padding:.65rem .35rem;font-size:13px;line-height:1.5;min-height:44px;box-sizing:border-box}
.workspace-tree .journal-week,.workspace-tree .journal-month{display:block}
.workspace-tree .month-weekdays{display:none}
.workspace-tree .journal-week>.week-day,.workspace-tree .journal-month>.month-day{margin:0 0 1rem;padding:1rem;min-height:0}
.workspace-tree .journal-month>.outside-month{display:none}
.workspace-tree .journal-day-fold>.lesson{border-left:2px solid var(--primary);margin-left:.5rem}
.agenda-hour{position:absolute;left:2px;font-size:10px;color:var(--muted);pointer-events:none}
.agenda-track:has(.agenda-hour){margin-left:0;padding-left:0}
.agenda-track:has(.agenda-hour)>.agenda-slot{left:34px}
/* Keep the resize strip separate from the move handle, including short slots. */
body[data-theme][data-ambience] .agenda-slot [data-agenda-gesture].ui-control{min-width:32px;min-height:24px!important;height:24px;padding:0!important;background:transparent!important;line-height:1!important}
body[data-theme][data-ambience] .agenda-slot .agenda-resize.ui-control{left:36px;right:0;width:calc(100% - 36px);min-width:0;min-height:12px!important;height:12px;padding:0!important}
@media(pointer:coarse){body[data-theme][data-ambience] .agenda-slot [data-agenda-gesture=move].ui-control{min-width:40px;min-height:32px!important;height:32px}body[data-theme][data-ambience] .agenda-slot .agenda-resize.ui-control{left:44px;width:calc(100% - 44px);min-height:20px!important;height:20px}}
.agenda-empty{position:relative;margin:0 0 0 38px;padding:1.5rem .35rem .35rem;font-size:12px}
@media print{.journal-day-fold>summary{display:none}.journal-day-fold>article{display:block!important}.workspace-discipline{break-inside:auto}.agenda-empty{margin:0;padding:0}}

/* 081.17 — keep each home card and its controls on the same readable palette. */
@media screen {
 body[data-theme][data-ambience=none] .path-item>.path-card {background:var(--surface-color)!important}
 .path-item:has(>.path-card[data-path-index="1"]) {--path-ink:var(--card1-ink,var(--ink))}
 .path-item:has(>.path-card[data-path-index="2"]) {--path-ink:var(--card2-ink,var(--ink))}
 .path-item:has(>.path-card[data-path-index="3"]) {--path-ink:var(--card3-ink,var(--ink))}
 .path-item:has(>.path-card[data-path-index="4"]) {--path-ink:var(--card4-ink,var(--ink))}
 body[data-theme][data-ambience] .path-item>.nav-controls button {color:var(--path-ink,var(--ink))!important;opacity:1}
}

/* 081.18 — keep Soleil's pink cards readable and the banner label on its own ink. */
@media screen {
 body[data-theme=soleil] {--card1-ink:#59253f;--card2-ink:#59253f;--card3-ink:#59253f;--card4-ink:#59253f}
 body[data-theme][data-ambience] .workspace-intro .overline {color:inherit!important}
}
/* Reference composition: one reading column and commands on a shared row. */
.work-content .workspace-command-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;margin:0 0 1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem;min-width:0}
body[data-theme][data-ambience] .work-content .workspace-command-bar>.section-tools,.work-content .workspace-command-bar>.workspace-modes{margin:0;padding:0;border:0;max-width:100%;min-width:0}
.work-content[data-workspace-view=sequences]>.card-grid,.work-content[data-workspace-view=preps]>.card-grid,.work-content[data-workspace-view=progressions]>.detail-cards{grid-template-columns:minmax(0,1fr);align-items:start;gap:.7rem}
body .work-content[data-workspace-view=progressions] .progression-card{display:block;min-height:0;height:auto;padding:1rem;align-self:start}
.work-content[data-workspace-view=progressions] .progression-card>.workspace-fold,.work-content .sequence-card>.workspace-fold,.work-content .prep-card>.workspace-fold{width:100%;min-width:0}
.work-content[data-workspace-view=progressions] .workspace-fold:not([open]){margin:0}
@media(max-width:700px){.work-content .workspace-command-bar{align-items:flex-start}.work-content .workspace-command-bar>.section-tools{flex-basis:100%}.work-content .workspace-command-bar>.workspace-modes{flex-wrap:wrap}}
/* Period -> discipline -> objective, without changing the saved curriculum. */
.work-content[data-workspace-view=program].workspace-tree .period-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}
.work-content[data-workspace-view=program].workspace-tree .period{margin:0;padding:1rem;min-height:0}
.program-branch>summary,.program-subject>summary{cursor:pointer;padding:.65rem .3rem;overflow-wrap:anywhere}
.program-subject{margin:.6rem 0 .3rem 1rem;padding-left:1rem;border-left:2px solid var(--border);min-width:0}
.program-subject>summary{font-size:13px;font-weight:500;color:var(--primary)}
.work-content .program-subject>.objective-card{position:relative;margin:.4rem 0;padding:.4rem .6rem;border-left:0;min-width:0}
.program-subject>.objective-card:before{content:'';position:absolute;left:-1rem;top:1.6rem;width:1rem;border-top:1px solid var(--border)}
/* Both journal presentations keep an explicit time column; Flux adds the path. */
.work-content[data-workspace-view=journal] .lesson.journal-entry{display:grid!important;grid-template-columns:76px minmax(0,1fr);gap:0 .75rem;padding:.85rem!important;margin:.7rem 0;min-width:0}
.journal-entry>.workspace-fold{width:100%;min-width:0;grid-column:2}
.journal-time-marker{position:relative;grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding-top:.75rem;font-size:13px;color:var(--primary);min-width:0}
.journal-entry>.workspace-fold>summary small,.journal-entry .workspace-body .lesson-time{display:none!important}
.work-content.journal-flow .journal-entry:before{content:none}
.journal-flow .journal-time-marker:after{content:'';position:absolute;left:50%;top:3.3rem;bottom:-1.55rem;border-left:2px solid var(--border);pointer-events:none}
.journal-flow .journal-entry-last>.journal-time-marker:after{content:none}
.journal-flow-gap{grid-column:2;padding:.25rem .3rem .4rem;color:var(--muted)}
@media(max-width:700px){.work-content[data-workspace-view=journal] .lesson.journal-entry{grid-template-columns:58px minmax(0,1fr);gap:0 .4rem;padding:.6rem!important}.program-subject{margin-left:.3rem;padding-left:.7rem}.program-subject>.objective-card:before{left:-.7rem;width:.7rem}.journal-time-marker{font-size:12px}}
@media print{.program-branch,.program-subject{content-visibility:visible}.program-branch>summary,.program-subject>summary{display:block}.program-branch>*:not(summary),.program-subject>*:not(summary){display:block!important}.journal-time-marker:after{display:none}}
/* Imad, 6 October: Sans décor uses regular corners and no component outlines. */
@media screen {
 body[data-ambience=none]{--control-radius:7px}
 html:root body[data-theme][data-ambience=none] :is(.ambient-surface,.panel,.work-panel,.detail-card,.prep-card,.period,.lesson,.metric,.empty,.toolbar,.table-wrap,.soft-note,.detail-note,.calendar-banner,.agenda-day,.agenda-entry,.agenda-slot,.month-day,.week-day,.work-nav,.workspace-intro,.path-card,.editor,.palette-popup,.action-popup,.select-popup,.decor-contour,.shape-field,fieldset,.phase-editor,.station-editor,.criterion-editor,.report-row-editor,.bilan,.workspace-body,.workspace-fold){border:0!important;border-radius:8px!important;box-shadow:none!important;outline:none;mask:none!important;clip-path:none!important}
 html:root body[data-theme][data-ambience=none] :is(button,input,select,textarea,.file-action,.ui-control,.ui-field,.badge,.report-position,.legend>span){border:0!important;border-radius:7px!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience=none] :is(.ambient-surface,.decor-contour,.shape-field,.path-card):before{content:none!important}
 body[data-ambience=none] :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--primary)!important;outline-offset:3px}
 /* Keep real branches and focus indicators: these are information, not frames. */
 html:root body .work-content.workspace-reference :is(.sequence-card,.prep-card,.progression-card,.objective-card,.period){padding:0!important;min-height:0!important;border:0!important;box-shadow:none!important;border-radius:8px!important;mask:none!important;background:var(--panel)!important}
 body .work-content.workspace-reference :is(.sequence-card,.prep-card,.progression-card,.objective-card,.period):before,body .work-content.workspace-reference :is(.sequence-card,.prep-card,.progression-card,.objective-card,.period):after{content:none}
 .workspace-reference .workspace-fold>summary{padding:13px 15px;font:500 14px/1.45 'DM Sans',sans-serif;min-height:0}
 .workspace-reference .workspace-fold>summary small{display:block;margin:4px 0 0;font-size:12px;font-weight:400}
 .workspace-reference .workspace-body{padding:12px 15px;border-top:1px solid var(--border)}
 .workspace-reference .workspace-command-bar{border:0;margin:12px 0;gap:8px}
 .workspace-reference .workspace-command-bar :is(.section-tools,.workspace-modes){gap:6px}
 .workspace-reference .workspace-modes button{border:0;border-radius:7px;padding:7px 10px;min-height:34px}
 .workspace-reference .workspace-tree-origin{display:inline-block;background:var(--soft);padding:12px 18px;border-radius:8px;margin:4px 0 0;font-size:14px}
 .workspace-reference.workspace-tree[data-workspace-view=preps]>.card-grid{display:block;margin:0 0 18px 24px;padding:18px 0 0 24px;border-left:1px solid var(--border)}
 .workspace-discipline{position:relative;margin:0 0 18px}
 .workspace-discipline:before{content:'';position:absolute;top:20px;left:-24px;width:24px;border-top:1px solid var(--border)}
 .workspace-discipline>summary{padding:10px 14px;background:var(--panel);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}
 .workspace-leaves{margin-left:24px;border-left:1px solid var(--border);padding:14px 0 0 24px}
 body .workspace-reference .workspace-leaves>.prep-card{position:relative;margin:0 0 8px}
 html:root body[data-theme][data-ambience=none] .workspace-leaves>.prep-card:before, .workspace-leaves>.prep-card:before{content:''!important;position:absolute;left:-24px;top:24px;width:24px;border-top:1px solid var(--border)}
 .workspace-reference.workspace-tree[data-workspace-view=sequences]>.card-grid{margin:15px 0 10px 16px;border-left:1px solid var(--border);padding-left:24px}
 body .workspace-reference.workspace-tree .sequence-card{position:relative;margin:12px 0}
 html:root body[data-theme][data-ambience=none] .workspace-reference.workspace-tree .sequence-card:before, .workspace-reference.workspace-tree .sequence-card:before{content:''!important;position:absolute;left:-24px;top:27px;width:24px;border-top:1px solid var(--border)}
 .workspace-reference .sequence-preps{padding:14px 0 0 24px!important;margin:12px 0 0 24px;border-left:1px solid var(--border);list-style:none}
 .workspace-reference .sequence-prep{margin:0 0 8px!important;position:relative}
 .workspace-reference .sequence-prep:before{content:''!important;position:absolute;left:-24px;top:24px;width:24px;border-top:1px solid var(--border)}
 .workspace-reference .learning-path{padding:18px 0 20px}
 .workspace-reference .learning-node{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px 32px;position:relative;margin-left:22px;padding:0 0 26px 24px;border-left:1px solid var(--border)}
 .learning-step-marker{align-self:start;background:var(--soft);border-radius:8px;padding:14px;font-size:14px;position:relative}
 .learning-step-marker:before{content:'';position:absolute;left:-24px;width:24px;top:26px;border-top:1px solid var(--border)}
 .learning-step-marker:after{content:'';position:absolute;right:-32px;width:32px;top:26px;border-top:1px solid var(--border)}
 body .workspace-reference .learning-node>.progression-card{margin:0!important;align-self:start;grid-column:2}
 .workspace-reference .learning-node>.progression-card .workspace-fold>summary small{display:none}
 .workspace-reference .learning-branches{grid-column:1/-1;margin:0;padding:0;border:0}
 .workspace-reference .learning-branches>.learning-node:before{content:none}
 /* The timeline is outside the compact expandable lesson, as in the reference. */
 body .work-content.workspace-reference[data-workspace-view=journal] .lesson.journal-entry{display:grid!important;grid-template-columns:65px minmax(0,1fr);gap:0 15px;position:relative;padding:0!important;margin:16px 0!important;background:transparent!important;border:0!important;box-shadow:none!important;mask:none!important;border-radius:0!important}
 body .work-content.workspace-reference.journal-flow .lesson.journal-entry{grid-template-columns:100px minmax(0,1fr);gap:0 16px;margin:0!important;padding-bottom:20px!important}
 .workspace-reference .journal-entry>.workspace-fold{background:var(--panel);border-radius:8px;grid-column:2;min-width:0}
 .workspace-reference .journal-time-marker{grid-row:1/span 3;align-items:flex-start;gap:4px;padding-top:14px;font-size:14px}
 .workspace-reference.journal-flow .journal-time-marker{padding-top:16px}
 .workspace-reference .journal-flow-dot{display:none}
 .workspace-reference.journal-flow .journal-flow-dot{display:block;position:absolute;right:0;top:19px;width:13px;height:13px;background:var(--primary);border:3px solid var(--bg);border-radius:50%;z-index:1;box-sizing:border-box}
 .workspace-reference.journal-flow .journal-time-marker:after{left:auto;right:6px;top:26px;bottom:-20px;border-left:1px solid var(--border)}
 .workspace-reference.journal-flow .journal-entry-last>.journal-time-marker:after{content:none}
 .workspace-reference .journal-realisation{grid-column:2;padding:6px 0 0}
 body .workspace-reference button.journal-realisation-control{display:inline-flex;align-items:center;gap:6px;min-width:0;width:auto;height:auto;min-height:34px;padding:2px 0;background:transparent!important;border:0;box-shadow:none;border-radius:0;font-size:12px;color:var(--ink)}
 .workspace-reference .journal-flow-gap{grid-column:2;margin:10px 0 0;padding:0;font-size:12px}
 .workspace-reference[data-workspace-view=program].workspace-tree .period{background:transparent!important;padding:0!important}
 .workspace-reference .program-subject>.objective-card{margin:8px 0!important}
 @media(max-width:700px){
  .workspace-reference.workspace-tree[data-workspace-view=preps]>.card-grid{margin-left:8px;padding-left:14px}
  .workspace-discipline:before,.workspace-leaves>.prep-card:before,.workspace-reference .sequence-prep:before{left:-14px;width:14px}
  .workspace-leaves,.workspace-reference .sequence-preps{margin-left:8px!important;padding-left:14px!important}
  .workspace-reference .learning-node{grid-template-columns:minmax(0,1fr);gap:12px;margin-left:8px;padding-left:14px}
  .learning-step-marker:before{left:-14px;width:14px}.learning-step-marker:after{display:none}
  body .workspace-reference .learning-node>.progression-card{grid-column:1}
  body .work-content.workspace-reference[data-workspace-view=journal] .lesson.journal-entry,body .work-content.workspace-reference.journal-flow .lesson.journal-entry{grid-template-columns:58px minmax(0,1fr);gap:0 10px}
  .workspace-reference .journal-time-marker{font-size:12px}
  .workspace-reference .workspace-fold>summary,.workspace-reference .workspace-modes button,.workspace-discipline>summary{min-height:44px}
 }
}

/* Palette surfaces and slim desktop density, requested after review on 6 October. */
@media screen {
 html:root body[data-theme]{--panel:color-mix(in srgb,var(--t-panel,#fffef9) 88%,var(--t-leaf,#245b50) 12%)}
 html:root body[data-theme] .work-content :is(.ambient-surface.toolbar,.prep-filters){padding:14px 16px!important}
 html:root body[data-theme] .work-content :is(.work-panel,.panel,.detail-card,.empty,.report-document):not(.sequence-card,.prep-card,.progression-card,.objective-card,.period,.lesson){padding:18px!important}
 html:root body[data-theme] .workspace-reference .workspace-fold>summary{padding:9px 12px;font-size:13px}
 .workspace-reference .workspace-fold>summary small{font-size:11px;margin-top:2px}
 .workspace-reference .workspace-body{padding:10px 12px}
 .workspace-reference .workspace-discipline>summary{padding:8px 12px;font-size:13px}
 .workspace-reference .learning-node{margin-left:22px;padding-bottom:16px;gap:12px 24px}
 .workspace-reference .learning-step-marker{padding:10px 12px;font-size:13px}
 .workspace-reference .learning-step-marker:before,.workspace-reference .learning-step-marker:after{top:20px}
 .workspace-reference .learning-step-marker:after{right:-24px;width:24px}
 .learning-prerequisites{display:block;margin-top:6px;font-size:11px;line-height:1.4;color:var(--muted)}
 .workspace-reference .sequence-preps-title{font:500 14px/1.4 'DM Sans',sans-serif;margin:14px 0 6px}
 html:root body[data-theme] .work-content .toolbar{gap:8px}
 @media(min-width:701px) and (pointer:fine){
  html:root body[data-theme] :is(.ui-control:not([data-agenda-gesture]):not([data-timetable-stretch]),.section-tools>button,.workspace-modes>button,.work-nav .nav-item>button[data-action]){min-height:34px!important;padding:6px 10px!important;font-weight:500!important}
  html:root body[data-theme] .work-nav .nav-controls button{min-height:34px!important}
  html:root body[data-theme] :is(.ui-field,.select-trigger){min-height:34px!important;padding:6px 10px!important}
  html:root body[data-theme] :is(.ui-icon:not([data-agenda-gesture]),.card-action-icon,.more-trigger,.card-grip){min-height:32px!important;height:32px!important;padding:0!important}
  html:root body[data-theme] .journal-realisation-control{min-height:28px!important;padding:2px 0!important}
 }
 @media(max-width:700px),(pointer:coarse){
  html:root body[data-theme] :is(.ui-control:not([data-agenda-gesture]):not([data-timetable-stretch]),.section-tools>button,.workspace-modes>button,.work-nav .nav-item>button[data-action],.select-trigger){min-height:44px!important}
  .workspace-reference .learning-node{margin-left:8px}
 }
}

/* 0.81.27 — period nodes, readable calendars and subtle control boundaries. */
@media screen {
 .learning-period{margin:12px 0;min-width:0}
 .learning-period>summary{display:list-item;cursor:pointer;background:var(--soft);border-radius:7px;padding:8px 12px;font-size:13px;width:fit-content}
 .learning-period-steps{padding:12px 0 0 14px}
 html:root body[data-theme][data-ambience] .work-content .filter-field .select-trigger{background:var(--field-fill)!important;border-bottom:1px solid color-mix(in srgb,var(--ink) 35%,transparent)!important}
 html:root body[data-theme][data-ambience] .work-content .filter-field .shape-field{background:var(--field-fill)!important;border-radius:7px!important}
 html:root body[data-theme][data-ambience] .work-content .filter-field input{border-bottom:1px solid color-mix(in srgb,var(--ink) 35%,transparent)!important}
 html:root body[data-theme][data-ambience] :is(.action-popup,.select-popup){background:color-mix(in srgb,var(--t-panel) 94%,var(--t-leaf) 6%)!important;border:1px solid color-mix(in srgb,var(--ink) 24%,transparent)!important;box-shadow:0 5px 18px color-mix(in srgb,var(--ink) 12%,transparent)!important}
 html:root body[data-theme][data-ambience] .more-trigger:hover,html:root body[data-theme][data-ambience] .more-trigger[aria-expanded=true]{background:var(--soft)!important}
 html:root body[data-theme][data-ambience] .bilan .eyebrow{color:inherit!important;opacity:1}
 html:root body[data-theme][data-ambience] :is(.agenda-days,.journal-week,.period-grid,.timetable-calendar)[data-scrolled-x]{box-shadow:inset 8px 0 10px -9px var(--ink)!important}
 html:root body[data-theme][data-ambience] :is(.agenda-days,.journal-week,.period-grid,.timetable-calendar)[data-scrolled-y]{box-shadow:inset 0 8px 10px -9px var(--ink)!important}
 html:root body[data-theme][data-ambience] .agenda-days{gap:4px;margin:12px 0;align-items:start}
 html:root body[data-theme][data-ambience] .agenda-days.agenda-week{grid-template-columns:repeat(7,minmax(190px,1fr))}
 html:root body[data-theme][data-ambience] .agenda-days>.agenda-day{padding:5px!important;border-radius:7px!important;background:var(--panel)!important;mask:none!important}
 html:root body[data-theme][data-ambience] .agenda-day>h2{font-size:12px!important;padding:8px 4px!important;margin:0!important;background:var(--soft)!important;color:var(--ink)!important;text-align:center;line-height:1.4}
 html:root body[data-theme][data-ambience] .agenda-day>.calendar-banner{padding:4px!important;margin:4px 0!important;font-size:10px!important}
 html:root body[data-theme][data-ambience] .agenda-slot{padding:3px 6px 14px!important;background:var(--soft)!important;border-radius:4px!important;border-left:2px solid var(--primary)!important;mask:none!important;clip-path:none!important;min-width:0}
 html:root body[data-theme][data-ambience] .agenda-slot:before,html:root body[data-theme][data-ambience] .timetable-slot:before{content:none!important}
 html:root body[data-theme][data-ambience] .agenda-slot time{font-size:10px!important;color:var(--ink)!important;white-space:nowrap}
 .agenda-slot-head{gap:2px}
 html:root body[data-theme][data-ambience] .agenda-slot :is([data-edit],[data-work-edit],[data-journal-day]){min-height:22px!important;height:22px!important;padding:0 4px!important}
 html:root body[data-theme][data-ambience] .timetable-grid.timetable-calendar{display:grid!important;grid-template-columns:repeat(var(--timetable-days,5),minmax(200px,1fr));overflow:auto;max-height:70vh;gap:4px;align-items:start}
 html:root body[data-theme][data-ambience] .timetable-calendar>.period{padding:5px!important;background:var(--panel)!important;mask:none!important}
 html:root body[data-theme][data-ambience] .timetable-calendar>.period>h2{position:sticky;top:0;z-index:5;padding:8px 4px;margin:0!important;text-align:center;font-size:12px!important;background:var(--soft)!important}
 .timetable-track{position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 119px,var(--border) 120px);margin-top:8px}
 html:root body[data-theme][data-ambience] .timetable-calendar .timetable-slot{position:absolute!important;left:34px;right:2px;box-sizing:border-box;padding:4px 6px!important;overflow:hidden;background:var(--soft)!important;color:var(--ink)!important;mask:none!important;clip-path:none!important;border-radius:4px!important;border-left:2px solid var(--primary)!important;min-height:0}
 html:root body[data-theme][data-ambience] .timetable-slot :is(h3,strong,small){font-size:11px!important;line-height:1.3!important;color:var(--ink)!important;margin:2px 0!important}
 html:root body[data-theme][data-ambience] .timetable-slot .card-tools{margin:0!important;gap:2px;float:right}
 html:root body[data-theme][data-ambience] .timetable-slot .card-action-icon,html:root body[data-theme][data-ambience] .timetable-slot .more-trigger{min-height:24px!important;height:24px!important;min-width:24px!important;width:24px!important}
 @media(pointer:coarse){html:root body[data-theme][data-ambience] .agenda-slot{padding-bottom:22px!important}html:root body[data-theme][data-ambience] .timetable-slot .more-trigger{min-height:44px!important;height:44px!important;min-width:44px!important;width:44px!important}}
}

@media screen{html:root body[data-theme][data-ambience] .timetable-slot .card-grip{position:static!important;float:right;width:24px!important;min-width:24px!important;margin:0!important;top:auto;left:auto}html:root body[data-theme][data-ambience] .timetable-slot>strong{display:block;clear:both}html:root body[data-theme][data-ambience] .timetable-slot>small{display:block}}

/* Keep quick commands visible above the resize edge, including short slots. */
@media screen{
 html:root body[data-theme][data-ambience] .agenda-slot>div:not(.agenda-slot-head){position:absolute;right:3px;bottom:14px;display:flex;gap:2px;background:var(--soft);z-index:2}
 html:root body[data-theme][data-ambience] .agenda-slot>div:not(.agenda-slot-head)>button{width:22px;min-width:22px;min-height:22px!important;height:22px!important;padding:0!important;font-size:12px!important;background:transparent!important}
 html:root body[data-theme][data-ambience] .agenda-slot>div:not(.agenda-slot-head)>[data-personalize-entity]{font-size:0!important}
 .agenda-slot>div:not(.agenda-slot-head)>[data-personalize-entity]:after{content:'⚙';font-size:12px}
 html:root body[data-theme][data-ambience] :is(.agenda-days,.timetable-calendar)[data-scrolled-y] :is(.agenda-day,.period)>h2{box-shadow:0 3px 7px color-mix(in srgb,var(--ink) 18%,transparent)!important}
 @media(pointer:coarse){html:root body[data-theme][data-ambience] .agenda-slot>div:not(.agenda-slot-head){bottom:22px}html:root body[data-theme][data-ambience] .agenda-slot>div:not(.agenda-slot-head)>button{width:32px;min-width:32px;min-height:32px!important;height:32px!important}}
}

@media print{.timetable-calendar{display:block!important;overflow:visible!important;max-height:none!important}.timetable-track{height:auto!important;background:none!important}.timetable-track>.agenda-hour{display:none!important}.timetable-track>.timetable-slot{position:static!important;height:auto!important;top:auto!important;overflow:visible!important}}

/* 0.81.31 — compact working space, close to the planning reference. */
@media screen {
 html:root body[data-theme]{--panel:color-mix(in srgb,var(--t-panel) 95%,var(--primary) 5%);--soft:color-mix(in srgb,var(--t-panel) 82%,var(--primary) 18%);--field-fill:color-mix(in srgb,var(--t-panel) 94%,var(--primary) 6%)}
 html:root body[data-theme][data-ambience] .work-header{height:58px;min-height:58px;padding:6px 24px;gap:12px}
 html:root body[data-theme] .work-header .ox-logo{width:142px}
 html:root body[data-theme][data-ambience] .work-layout{padding:12px 24px 24px;gap:20px;grid-template-columns:206px minmax(0,1fr)}
 html:root body[data-theme][data-ambience] .work-layout[data-menu-side=right]{grid-template-columns:minmax(0,1fr) 206px}
 html:root body[data-theme][data-ambience] .work-nav{align-self:start;height:auto;max-height:calc(100dvh - 90px);padding:8px 9px!important;background:color-mix(in srgb,var(--t-panel) 88%,var(--primary) 12%)!important;border-radius:8px!important;mask:none!important;clip-path:none!important}
 html:root body[data-theme] .work-nav h2{margin:12px 8px 5px;letter-spacing:.1em;font-size:9px}
 html:root body[data-theme] .work-nav h2:first-child{margin-top:5px}
 html:root body[data-theme] .work-nav .nav-item{margin-bottom:1px}
 html:root body[data-theme] .work-nav .nav-item>button>span:nth-child(2){font-size:12px;font-weight:500}
 html:root body[data-theme] .work-nav .nav-item>button>span:first-child{font-size:18px;width:18px}
 html:root body[data-theme] .nav-scroll{max-height:calc(100dvh - 125px);scrollbar-gutter:auto}
 html:root body[data-theme][data-ambience] .work-page-head.page-heading{margin:0 0 10px;gap:8px;align-items:center}
 html:root body[data-theme] .work-page-head.page-heading>div:first-child{display:flex;align-items:center;gap:8px;flex:1 1 220px}
 html:root body[data-theme][data-ambience] .work-page-head h1{font-size:24px!important;margin:4px 0!important}
 html:root body[data-theme] .work-page-head .page-actions{padding-top:0;gap:4px!important}
 .page-help{position:relative;flex:none;font-size:13px;color:var(--primary)}
 .page-help>summary{cursor:pointer;list-style:none;display:grid;place-items:center;width:28px;height:32px}
 .page-help>summary::-webkit-details-marker{display:none}
 html:root body[data-theme] .page-help>p{position:absolute;z-index:20;left:0;top:30px;min-width:220px;width:min(320px,65vw);background:var(--t-panel);padding:12px;margin:0;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #0001;font:400 12px/1.5 'DM Sans',sans-serif;color:var(--ink)}
 html:root body[data-theme][data-ambience] .section-tools{margin:0 0 10px;padding:0 0 4px;gap:4px}
 html:root body[data-theme][data-ambience] .workspace-command-bar{margin:0 0 12px;padding-bottom:4px}
 html:root body[data-theme][data-ambience] .work-content .toolbar{margin-bottom:10px;padding:8px 10px!important;gap:8px}
 .calendar-command-bar{display:flex;align-items:end;flex-wrap:wrap;gap:6px 10px;margin:0 0 8px}
 html:root body[data-theme][data-ambience] .work-content .calendar-command-bar>.toolbar{display:flex;flex:1 1 390px;align-items:end;background:transparent!important;mask:none!important;border-radius:0!important;padding:0!important;margin:0!important}
 html:root body[data-theme][data-ambience] .calendar-command-bar>.workspace-modes{margin:0;gap:3px;flex:none}
 html:root body[data-theme] .calendar-command-bar :is(.filter-field,.filter-field .shape-field){margin:0;min-width:0;max-width:200px}
 html:root body[data-theme] .calendar-command-bar .filter-field>span{font-size:10px;margin-bottom:2px}
 html:root body[data-theme] .calendar-command-bar .workspace-modes>button{font-size:11px!important;padding:6px 8px!important}
 html:root body[data-theme][data-ambience] .agenda-canvas{margin:0}
 .calendar-help{display:inline-block;position:relative;font-size:11px;margin:0;color:var(--muted)}
 .calendar-help>summary{cursor:pointer;list-style:none}
 .calendar-help>p{position:absolute;z-index:10;top:20px;left:0;width:280px;padding:12px;background:var(--t-panel);border:1px solid var(--border);border-radius:6px;color:var(--ink)}
 #agenda-feedback:empty{display:none}
 html:root body[data-theme][data-ambience] .agenda-days{gap:1px;margin:5px 0 10px;background:color-mix(in srgb,var(--primary) 14%,var(--t-panel))!important}
 html:root body[data-theme][data-ambience] .agenda-days.agenda-week{grid-template-columns:repeat(var(--agenda-days,7),minmax(135px,1fr))}
 html:root body[data-theme][data-ambience] .agenda-days>.agenda-day,html:root body[data-theme][data-ambience] .timetable-calendar>.period{padding:0 3px!important;background:var(--t-panel)!important;border-radius:0!important;min-height:0}
 html:root body[data-theme][data-ambience] .agenda-day>.calendar-banner{display:none}
 html:root body[data-theme][data-ambience] .agenda-day>h2,html:root body[data-theme][data-ambience] .timetable-calendar>.period>h2{font-size:11px!important;font-weight:600!important;padding:7px 2px!important;background:color-mix(in srgb,var(--primary) 8%,var(--t-panel))!important;white-space:nowrap}
 html:root body[data-theme][data-ambience] :is(.agenda-track,.timetable-track){margin-top:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--calendar-hour-height,120px) - 1px),color-mix(in srgb,var(--primary) 12%,transparent) calc(var(--calendar-hour-height,120px) - 1px),color-mix(in srgb,var(--primary) 12%,transparent) var(--calendar-hour-height,120px))}
 html:root body[data-theme][data-ambience] .agenda-hour{font-size:9px;left:0;color:var(--muted);background:var(--t-panel)}
 html:root body[data-theme][data-ambience] .agenda-slot,html:root body[data-theme][data-ambience] .timetable-calendar .timetable-slot{left:28px!important;right:2px;padding:2px 5px 12px!important;background:color-mix(in srgb,var(--primary) 23%,var(--t-panel))!important;color:var(--ink)!important;border-radius:4px!important;border-left:2px solid var(--primary)!important}
 html:root body[data-theme][data-ambience] .agenda-slot[data-agenda-kind=plannerEvent],html:root body[data-theme][data-ambience] .agenda-slot[data-agenda-kind=appointment]{background:color-mix(in srgb,var(--accent) 24%,var(--t-panel))!important;border-left-color:var(--accent)!important}
 html:root body[data-theme] .agenda-slot>span{font-size:11px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 html:root body[data-theme][data-ambience] .agenda-slot time{font-size:9px!important}
 html:root body[data-theme][data-ambience] .agenda-slot-head{height:18px;padding:0;gap:1px}
 html:root body[data-theme][data-ambience] .agenda-slot [data-agenda-gesture=move].ui-control{min-width:18px;min-height:18px!important;height:18px!important;padding:0!important;font-size:12px}
 html:root body[data-theme][data-ambience] .agenda-slot>small{display:none}
 html:root body[data-theme][data-ambience] .agenda-slot>div:not(.agenda-slot-head){top:1px;bottom:auto;right:2px;background:color-mix(in srgb,var(--primary) 23%,var(--t-panel))!important}
 html:root body[data-theme][data-ambience] .agenda-slot>div:not(.agenda-slot-head)>button{width:20px;min-width:20px;min-height:20px!important;height:20px!important}
 html:root body[data-theme][data-ambience] .timetable-grid.timetable-calendar{grid-template-columns:repeat(var(--timetable-days,5),minmax(150px,1fr));gap:1px;background:color-mix(in srgb,var(--primary) 14%,var(--t-panel))!important}
 html:root body[data-theme][data-ambience] .timetable-slot .card-tools{position:absolute!important;right:2px;top:1px;margin:0!important;float:none;gap:0;z-index:4;background:color-mix(in srgb,var(--primary) 23%,var(--t-panel))!important}
 html:root body[data-theme][data-ambience] .timetable-slot .card-grip{position:absolute!important;left:2px;top:0;width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important}
 html:root body[data-theme][data-ambience] .timetable-slot>strong{margin:1px 0 3px 19px!important;font-size:9px!important;clear:none;line-height:18px!important;white-space:nowrap}
 html:root body[data-theme][data-ambience] .timetable-slot>h3{margin:0!important;font-size:11px!important;line-height:1.25!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 html:root body[data-theme][data-ambience] .timetable-slot>small{display:none}
 html:root body[data-theme] .timetable-resize{position:absolute;bottom:0;left:0;right:0;width:100%;min-height:12px;height:12px;padding:0;border:0;background:transparent;color:var(--primary);cursor:ns-resize;touch-action:none;line-height:8px}
 html:root body[data-theme][data-ambience] .workspace-footer{margin-top:12px;padding:10px 0;font-size:11px}
 @media(hover:hover) and (pointer:fine){html:root body[data-theme] .agenda-slot>div:not(.agenda-slot-head),html:root body[data-theme] .timetable-slot .card-tools{opacity:0;pointer-events:none}html:root body[data-theme] .agenda-slot:hover>div:not(.agenda-slot-head),html:root body[data-theme] .agenda-slot:focus-within>div:not(.agenda-slot-head),html:root body[data-theme] .timetable-slot:hover .card-tools,html:root body[data-theme] .timetable-slot:focus-within .card-tools{opacity:1;pointer-events:auto}}
 @media(max-width:900px){html:root body[data-theme][data-ambience] .work-layout,html:root body[data-theme][data-ambience] .work-layout[data-menu-side]{display:block;padding:10px 14px 40px}html:root body[data-theme][data-ambience] .work-nav{height:100dvh;max-height:100dvh;padding:16px 12px!important;background:var(--t-panel)!important;border-radius:0!important}html:root body[data-theme] .nav-scroll{max-height:calc(100dvh - 80px)}html:root body[data-theme] .work-header{padding:6px 14px}.calendar-command-bar{align-items:center}.calendar-command-bar>.calendar-density{margin-left:auto}}
 @media(pointer:coarse){html:root body[data-theme][data-ambience] .agenda-days.agenda-week{grid-template-columns:repeat(var(--agenda-days,7),minmax(210px,1fr))}html:root body[data-theme][data-ambience] .timetable-calendar{grid-template-columns:repeat(var(--timetable-days,5),minmax(230px,1fr))}html:root body[data-theme][data-ambience] .agenda-slot{padding-bottom:22px!important}html:root body[data-theme][data-ambience] .agenda-slot-head{height:32px}html:root body[data-theme][data-ambience] .agenda-slot [data-agenda-gesture=move].ui-control{min-width:40px;min-height:32px!important;height:32px!important}html:root body[data-theme][data-ambience] .agenda-slot>div:not(.agenda-slot-head){top:auto;bottom:22px}html:root body[data-theme][data-ambience] .agenda-slot>div:not(.agenda-slot-head)>button{width:32px;min-width:32px;min-height:32px!important;height:32px!important}html:root body[data-theme] .timetable-resize{min-height:20px;height:20px}}
}

@media screen and (pointer:fine){
 html:root body[data-theme] [data-calendar-density=overview] .agenda-slot>span,html:root body[data-theme] [data-calendar-density=overview] .timetable-slot>h3{-webkit-line-clamp:1}
 html:root body[data-theme] .nav-scroll{overflow-y:auto}
}

/* Gesture strips are never decorated as ordinary buttons. */
@media screen{
 html:root body[data-theme][data-ambience] .timetable-slot>button.timetable-resize{position:absolute!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;min-width:0!important;height:12px!important;min-height:12px!important;padding:0!important;background:transparent!important;color:var(--primary)!important;border:0!important;box-shadow:none!important;mask:none!important;clip-path:none!important;border-radius:0!important;font-size:11px!important;line-height:8px!important}
 @media(pointer:coarse){html:root body[data-theme][data-ambience] .timetable-slot>button.timetable-resize{height:20px!important;min-height:20px!important}}
}
@media screen{html:root body[data-theme] .calendar-command-bar .select-trigger>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html:root body[data-theme] .timetable-calendar+p.soft-note{font-size:11px;margin:8px 0;padding:6px!important}}
/* Month cells keep their entries inside the day and unfold the rest on demand. */
@media screen{
 html:root body[data-theme][data-ambience] .agenda-month .agenda-slot{position:relative!important;left:0!important;right:auto!important;width:100%!important;height:auto!important;top:auto!important;min-height:40px;margin:3px 0;padding:2px 5px 6px!important}
 html:root body[data-theme][data-ambience] .agenda-month .agenda-day{min-height:64px}
 html:root body[data-theme][data-ambience] .agenda-month .agenda-track{background:none!important}
 html:root body[data-theme][data-ambience] .agenda-month .agenda-empty{margin:0;padding:7px 3px;font-size:10px}
 .calendar-more>summary{font-size:11px;color:var(--primary);cursor:pointer;padding:4px 2px}
}
@media print{.calendar-more>summary{display:none!important}.calendar-more>*:not(summary){display:block!important}}

/* Keep the move grip clear of titles and independent of generic button sizing. */
@media screen{html:root body[data-theme][data-ambience] .timetable-slot>button.card-grip.ui-control[data-card-drag-handle]{height:20px!important;min-height:20px!important;width:20px!important;min-width:20px!important;z-index:5!important}}

/* 0.81.37 — unified product surfaces and parallel navigation, approved 6 October. */
@media screen{
 html:root body[data-theme][data-ambience]{--ox-rail:76px;--ox-nav-bg:color-mix(in srgb,var(--primary) 28%,#142e3b);--ox-wash:color-mix(in srgb,var(--primary) 12%,var(--t-panel));--ox-field:color-mix(in srgb,var(--primary) 5%,var(--t-panel));}
 html:root body[data-theme][data-ambience] .workspace{background:color-mix(in srgb,var(--primary) 7%,var(--t-work))!important}
 html:root body[data-theme][data-ambience] .work-layout.unified-layout{display:block;padding:14px 24px 28px calc(var(--ox-rail) + 30px);min-height:calc(100dvh - 58px)}
 html:root body[data-theme][data-ambience] .unified-layout .work-nav{position:fixed!important;inset:0 auto 0 0!important;width:var(--ox-rail)!important;height:100dvh!important;max-height:100dvh!important;padding:8px 4px!important;background:var(--ox-nav-bg)!important;color:#f2f8fa!important;border-radius:0!important;box-shadow:none!important;z-index:60;overflow:auto;transform:none}
 html:root body[data-theme][data-ambience] .unified-layout .nav-scroll{max-height:none!important;overflow:visible;padding:0;display:flex;flex-direction:column;gap:3px}
 html:root body[data-theme][data-ambience] .unified-layout .nav-scroll>h2{display:none}
 html:root body[data-theme][data-ambience] .unified-layout .nav-item{width:100%;margin:0!important;padding:0!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>button[data-action]{display:flex!important;flex-direction:column!important;justify-content:center;align-items:center;gap:4px!important;width:100%!important;min-height:51px!important;height:auto!important;padding:7px 2px!important;background:transparent!important;color:#e5eff3!important;border:0!important;border-radius:4px!important;box-shadow:none!important;white-space:normal!important;line-height:1.2!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>button>span:nth-child(2){font:400 10px/1.25 'DM Sans',sans-serif!important;white-space:normal!important;overflow-wrap:anywhere;text-align:center}
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>button>span:first-child{font-size:20px!important;color:inherit!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>button:is(.active,[aria-expanded=true],:hover){background:color-mix(in srgb,var(--primary) 42%,#264858)!important;color:#fff!important}
 html:root body[data-theme][data-ambience] .unified-layout .rail-brand{display:flex!important;justify-content:center;width:100%!important;margin:22px 0!important;padding:0!important;min-height:46px}
 html:root body[data-theme][data-ambience] .unified-layout .rail-brand .ox-logo{width:66px!important;filter:brightness(0) invert(1);margin:0!important}
 html:root body[data-theme][data-ambience] .work-header{margin-left:calc(var(--ox-rail) + 12px);background:var(--t-panel)!important;border:0!important;box-shadow:0 1px 0 color-mix(in srgb,var(--primary) 10%,transparent)}
 html:root body[data-theme][data-ambience] .parallel-navigation{position:fixed;inset:0 auto 0 var(--ox-rail);width:208px;padding:20px 12px;background:color-mix(in srgb,var(--ox-wash) 96%,transparent);backdrop-filter:blur(16px);color:var(--ink);z-index:59;box-shadow:7px 0 20px #142e3b16;animation:ox-parallel-in .18s ease-out}
 html:root body[data-theme][data-ambience] .parallel-navigation[hidden]{display:none!important}
 html:root body[data-theme][data-ambience] .parallel-heading{display:flex;gap:6px;align-items:center;margin-bottom:22px;font-size:13px}
 html:root body[data-theme][data-ambience] .parallel-heading strong{font-weight:500;margin-right:auto}
 html:root body[data-theme][data-ambience] .parallel-navigation button{background:transparent;color:var(--ink);border:0;border-radius:4px;box-shadow:none;padding:9px 8px;font:400 13px/1.35 'DM Sans',sans-serif}
 html:root body[data-theme][data-ambience] .parallel-navigation>button{display:block;width:100%;text-align:left;margin:0 0 5px;min-height:38px}
 html:root body[data-theme][data-ambience] .parallel-navigation>button:is([aria-current],:hover){background:var(--t-panel);box-shadow:inset 3px 0 var(--primary)}
 html:root body[data-theme][data-ambience] .navigation-seam{position:fixed;inset:0 auto 0 var(--ox-rail);width:12px;padding:0;min-width:0;border:0;border-radius:0;background:var(--ox-wash);color:var(--ink);z-index:61;box-shadow:none;cursor:pointer}
 html:root body[data-theme][data-ambience] .subnav-open .navigation-seam{left:calc(var(--ox-rail) + 208px)}
 html:root body[data-theme][data-ambience] .work-content{max-width:none;min-width:0;transform-origin:left center}
 html:root body[data-theme][data-ambience] .unified-layout .section-tools{display:none!important}
 html:root body[data-theme][data-ambience=none] :is(.panel,.work-panel,.detail-card,.prep-card,.period,.lesson,.metric,.workspace-fold,.workspace-body,.editor,.empty){background:var(--panel)!important;border-radius:5px!important;box-shadow:none!important;mask:none!important;clip-path:none!important}
 html:root body[data-theme][data-ambience=none] :is(.toolbar,.soft-note,.detail-note,.workspace-fold>summary){background:var(--ox-wash)!important;border-radius:4px!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,.select-trigger){background:var(--ox-field)!important;color:var(--ink)!important;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--t-panel))!important;border-radius:4px!important;box-shadow:none!important;font-weight:400}
 html:root body[data-theme][data-ambience] :is(input,textarea,.select-trigger):focus-visible{outline:2px solid var(--primary)!important;outline-offset:2px}
 html:root body[data-theme][data-ambience] :is(.action-popup,.select-popup,.palette-popup){background:var(--t-panel)!important;color:var(--ink)!important;border-radius:5px!important;box-shadow:0 8px 24px #142e3b22!important}
 html:root body[data-theme][data-ambience] .unified-layout[data-menu-side=right]{padding:14px calc(var(--ox-rail) + 30px) 28px 24px}
 html:root body[data-theme][data-ambience] .unified-layout[data-menu-side=right] .work-nav{left:auto!important;right:0!important}
 html:root body[data-theme][data-ambience] .unified-layout[data-menu-side=right] :is(.parallel-navigation,.navigation-seam){left:auto;right:var(--ox-rail)}
 html:root body[data-theme][data-ambience] .unified-layout[data-menu-side=right].subnav-open .navigation-seam{right:calc(var(--ox-rail) + 208px)}
 @media(min-width:1200px){html:root body[data-theme][data-ambience] .unified-layout.subnav-open{padding-left:calc(var(--ox-rail) + 238px)}html:root body[data-theme][data-ambience] .unified-layout[data-menu-side=right].subnav-open{padding-left:24px;padding-right:calc(var(--ox-rail) + 238px)}}
 @media(max-width:900px){
 html:root body[data-theme][data-ambience] .work-header{margin-left:0}
 html:root body[data-theme][data-ambience] .unified-layout,.unified-layout[data-menu-side=right]{padding:10px 14px 28px!important}
 html:root body[data-theme][data-ambience] .unified-layout .work-nav:not(.open){display:none!important}
 html:root body[data-theme][data-ambience] .unified-layout .work-nav.open{display:block!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-drawer-close{display:flex;justify-content:center;color:inherit}
 html:root body[data-theme][data-ambience] .unified-layout .nav-drawer-close>span{display:none}
 html:root body[data-theme][data-ambience] .unified-layout .nav-drawer-close>button{color:inherit;background:transparent}
 html:root body[data-theme][data-ambience] .navigation-seam{display:none}
 html:root body[data-theme][data-ambience] .parallel-navigation{width:min(208px,calc(100vw - var(--ox-rail)));z-index:61}
 }
 @media(pointer:coarse){html:root body[data-theme][data-ambience] .parallel-navigation button{min-height:44px}html:root body[data-theme][data-ambience] .parallel-heading{gap:0}}
 @media(prefers-reduced-motion:reduce){.parallel-navigation{animation:none!important}}
}
@keyframes ox-parallel-in{from{opacity:.4;transform:translateX(-8px)}to{opacity:1;transform:none}}
@media print{.parallel-navigation,.navigation-seam{display:none!important}}
@media screen{
 html:root body[data-theme][data-ambience] .unified-layout .work-nav:before,html:root body[data-theme][data-ambience] .unified-layout .work-nav:after{content:none!important}
 html:root body[data-theme][data-ambience] .workspace:has(.unified-layout[data-menu-side=right])>.work-header{margin-left:0;margin-right:calc(var(--ox-rail) + 12px)}
 @media(max-width:900px){html:root body[data-theme][data-ambience] .workspace:has(.unified-layout)>.work-header{margin:0}}
}
@media screen{
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>.nav-controls{position:absolute!important;top:0!important;right:0!important;left:auto!important;bottom:auto!important;width:18px!important;height:18px!important;pointer-events:none}
 html:root body[data-theme][data-ambience] .unified-layout .work-nav .nav-controls .nav-drag-handle{width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;color:#edf6f8!important;pointer-events:auto}
 html:root body[data-theme][data-ambience] .unified-layout .work-nav .nav-controls .nav-drag-handle svg{width:9px;height:14px}
 @media(pointer:coarse){html:root body[data-theme][data-ambience] .unified-layout .nav-item>.nav-controls{position:static!important;width:100%!important;height:auto!important;justify-content:flex-end}html:root body[data-theme][data-ambience] .unified-layout .work-nav .nav-controls .nav-drag-handle{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}}
}
@media screen{
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>button>span:nth-child(2){font-size:10px!important;letter-spacing:-.2px;white-space:nowrap!important;overflow-wrap:normal!important;width:100%!important;flex:none!important}
 html:root body[data-theme][data-ambience] .work-content :is(h1,h2,h3){font-family:'DM Sans',sans-serif!important;font-weight:500!important}
}
/* New chrome is isolated from legacy global button decorations. */
@media screen{
 html:root body[data-theme][data-ambience] .unified-layout .parallel-navigation button{background:transparent!important;color:var(--ink)!important;border:0!important;border-radius:4px!important;box-shadow:none!important;mask:none!important;clip-path:none!important;text-align:left!important;padding:9px 8px!important;min-width:0!important;font:400 13px/1.35 'DM Sans',sans-serif!important}
 html:root body[data-theme][data-ambience] .unified-layout .parallel-navigation>button{width:100%!important;display:block!important}
 html:root body[data-theme][data-ambience] .unified-layout .parallel-navigation>button:is([aria-current],:hover){background:var(--t-panel)!important;box-shadow:inset 3px 0 var(--primary)!important}
 html:root body[data-theme][data-ambience] .unified-layout .parallel-heading>button{width:28px!important;min-height:32px!important;padding:4px!important;text-align:center!important;flex:none}
 html:root body[data-theme][data-ambience] .unified-layout .navigation-seam{width:12px!important;min-width:0!important;height:100dvh!important;padding:0!important;border:0!important;border-radius:0!important;background:var(--ox-wash)!important;color:var(--ink)!important;box-shadow:none!important;mask:none!important;clip-path:none!important}
 @media(max-width:900px){html:root body[data-theme][data-ambience] .unified-layout .navigation-seam{display:none!important}}
 @media(pointer:coarse){html:root body[data-theme][data-ambience] .unified-layout .parallel-heading>button{width:44px!important;min-height:44px!important}}
}
@media screen{
 html:root body[data-theme][data-ambience=none] .today-grid>.work-panel{background:var(--ox-wash)!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience=none] .today-grid>.work-panel :is(h2,.small){color:inherit!important}
}
/* Dense teaching lists keep the same controls without the empty card margins. */
@media screen{
 html:root body[data-theme][data-ambience] .work-content .evaluation-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:12px;margin-block:14px}
 html:root body[data-theme][data-ambience] .work-content .evaluation-card{position:relative;min-height:0!important;padding:14px!important;gap:0}
 html:root body[data-theme][data-ambience] .evaluation-card>.card-tools{position:absolute!important;right:8px;top:8px;margin:0!important}
 html:root body[data-theme][data-ambience] .evaluation-card>.label{padding-right:100px;min-height:24px;display:block}
 html:root body[data-theme][data-ambience] .evaluation-card>.actions{padding-top:8px!important;margin-top:8px!important}
 html:root body[data-theme][data-ambience] .evaluation-card :is(p,li){font-size:12px!important;margin-block:4px!important}
 html:root body[data-theme][data-ambience] .evaluation-card h2{font-size:14px!important;margin:4px 0 6px!important}
 html:root body[data-theme][data-ambience=none] .workspace-reference :is(.prep-card,.progression-card):has(>.workspace-fold:not([open])){margin:5px 0!important;padding:0!important}
 html:root body[data-theme][data-ambience=none] .workspace-reference .workspace-fold>summary{padding:9px 12px!important;min-height:40px;background:var(--ox-wash)!important;border-radius:4px!important}
 html:root body[data-theme][data-ambience=none] .workspace-reference .workspace-fold>summary small{display:inline-block!important;margin-left:10px!important;margin-top:0!important}
 html:root body[data-theme][data-ambience=none] .prep-filters{padding:10px 12px!important}
 html:root body[data-theme][data-ambience=none] .prep-filters>.toolbar{margin:0!important}
 @media(pointer:coarse){html:root body[data-theme][data-ambience=none] .workspace-reference .workspace-fold>summary{min-height:44px}}
}
/* A secondary action keeps the same appearance on every card, including even rows. */
@media screen{
 html:root body[data-theme][data-ambience=none] .ui-control.ui-secondary:not(.danger):not(.ui-icon):not(.card-action-icon):not(.more-trigger):not(.card-grip):not(.timetable-resize):not([data-agenda-gesture]){background:var(--ox-wash)!important;color:var(--ink)!important;border-radius:4px!important;box-shadow:none!important;border:0!important}
}

/* 0.81.40 — coloured canvas, quiet work surfaces, original Oxaleo identity. */
@media screen {
 html:root body[data-theme][data-ambience]{--ox-rail:216px;--ox-canvas:color-mix(in srgb,var(--primary) 7%,var(--t-work));--ox-nav-bg:color-mix(in srgb,var(--primary) 12%,var(--t-panel));}
 html:root body[data-theme]:not([data-theme=nuit])[data-ambience]{--panel:#fff!important;--t-panel:#fff!important}
 html:root body[data-theme][data-ambience] .workspace{background-color:var(--ox-canvas)!important;background-image:radial-gradient(ellipse at 98% 8%,color-mix(in srgb,var(--primary) 7%,transparent) 0 13%,transparent 13.2%),radial-gradient(ellipse at 0 90%,color-mix(in srgb,var(--accent) 5%,transparent) 0 16%,transparent 16.2%)!important;background-attachment:fixed!important;isolation:isolate}
 html:root body[data-theme][data-ambience] .ambient-frame{z-index:-1;opacity:.12;inset:0;pointer-events:none}
 html:root body[data-theme][data-ambience] .work-header{background:transparent!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] .unified-layout .work-nav{padding:14px 10px!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>button[data-action]{flex-direction:row!important;justify-content:flex-start;gap:10px!important;min-height:42px!important;padding:9px 13px!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>button>span:nth-child(2){font-size:12px!important;letter-spacing:0!important;text-align:left!important;width:auto!important;flex:1!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>button:is(.active,[aria-expanded=true],:hover){background:color-mix(in srgb,var(--primary) 17%,var(--panel))!important;color:var(--ink)!important;box-shadow:inset 3px 0 var(--primary)!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-scroll>h2{display:block;font:500 9px/1.4 'DM Sans',sans-serif;letter-spacing:1px;color:var(--muted);margin:14px 12px 4px}
 html:root body[data-theme][data-ambience] .unified-layout .rail-brand{margin:0 0 10px!important;min-height:46px}
 html:root body[data-theme][data-ambience] .unified-layout .rail-brand .ox-logo{width:136px!important;filter:none!important}
 html:root body[data-theme][data-ambience] .unified-layout .work-nav .nav-controls .nav-drag-handle{color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .parallel-navigation{background:var(--ox-nav-bg)!important;backdrop-filter:none}
 html:root body[data-theme][data-ambience] .work-content :is(.work-panel,.panel,.detail-card,.prep-card,.evaluation-card,.period,.report-document,.metric){--surface-color:var(--panel);background:var(--panel)!important}
 html:root body[data-theme][data-ambience] .work-content :is(.workspace-fold,.workspace-body,.workspace-fold>summary,.period>article){background:transparent!important}
 html:root body[data-theme][data-ambience] .work-content .workspace-reference .workspace-fold>summary{background:transparent!important}
 html:root body[data-theme][data-ambience] .work-content .today-grid>.work-panel{background:var(--panel)!important}
 html:root body[data-theme][data-ambience] .work-content :is(.toolbar,.prep-filters){background:transparent!important}
 /* Coloured path cards, introduction, status badges and calendar events retain their meaning. */
 @media(max-width:900px){
  html:root body[data-theme][data-ambience]{--ox-rail:76px}
  html:root body[data-theme][data-ambience] .unified-layout .work-nav{padding:8px 4px!important}
  html:root body[data-theme][data-ambience] .unified-layout .nav-item>button[data-action]{flex-direction:column!important;justify-content:center;padding:7px 2px!important;gap:4px!important;min-height:51px!important}
  html:root body[data-theme][data-ambience] .unified-layout .nav-item>button>span:nth-child(2){font-size:10px!important;text-align:center!important;width:100%!important;flex:none!important}
  html:root body[data-theme][data-ambience] .unified-layout .nav-scroll>h2{display:none}
  html:root body[data-theme][data-ambience] .unified-layout .rail-brand .ox-logo{width:66px!important}
 }
}
@media screen{
 html:root body[data-theme][data-ambience] .discipline-chip{display:inline-flex;align-items:center;gap:6px;font:400 11px/1.4 'DM Sans',sans-serif;color:var(--ink)!important;margin:0 6px 5px 0;padding:3px 7px;border-radius:4px;background:color-mix(in srgb,var(--discipline-color) 14%,var(--panel))!important}
 .discipline-chip:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--discipline-color);flex:none}
 html:root body[data-theme][data-ambience] .work-content :is(.agenda-slot,.timetable-slot)[data-subject]{background:color-mix(in srgb,var(--discipline-color) 23%,var(--panel))!important;border-left-color:var(--discipline-color)!important;color:var(--ink)!important}
 .subject-color-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
 .subject-color-editor label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}
 .subject-color-editor input[type=color]{width:48px;min-width:48px;height:36px;min-height:36px;padding:2px;cursor:pointer}
 html:root body[data-theme][data-ambience]:has(.demo-strip) .unified-layout .work-nav{padding-top:42px!important}
}

.discipline-chip{margin-right:8px}.discipline-heading:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--discipline-color);margin-right:8px}

/* 0.81.42 — approved Soleil/Mandarine family, original oxaleo.com typography. */
@media screen {
 html:root body[data-theme][data-ambience]{--ox-rail:210px;--ox-nav-bg:var(--panel);--ox-canvas:color-mix(in srgb,var(--primary) 4%,var(--t-work));font-family:'DM Sans',sans-serif}
 html:root body[data-theme][data-ambience] .work-content :is(h1,h2,h3,h4,.path-card strong,.metric strong){font-family:'Fraunces',Georgia,serif!important;font-weight:650!important;font-variation-settings:'SOFT' 20,'WONK' 1;letter-spacing:-.02em}
 html:root body[data-theme][data-ambience] .work-content .work-page-head h1{font-size:28px!important}
 html:root body[data-theme][data-ambience] .unified-layout .work-nav{padding:14px 0!important;border-right:1px solid color-mix(in srgb,var(--primary) 65%,var(--panel))!important;background:var(--panel)!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-scroll{gap:3px!important;padding:0!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-scroll>h2{margin:12px 18px 5px;font-size:9px}
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>button[data-action]{padding:10px 18px!important;border-radius:0 8px 8px 0!important;min-height:42px!important;gap:12px!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>button.active{background:var(--primary)!important;color:var(--color1-ink,var(--reverse))!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>button:not(.active):hover{background:color-mix(in srgb,var(--primary) 10%,var(--panel))!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .unified-layout .rail-brand{margin:4px 0 16px!important;min-height:58px}
 html:root body[data-theme][data-ambience] .unified-layout .rail-brand .ox-logo{width:150px!important;filter:none!important}
 html:root body[data-theme][data-ambience] .unified-layout .section-tools{display:flex!important;gap:4px;padding:0 0 8px!important;margin:0 0 14px!important;border-bottom:1px solid color-mix(in srgb,var(--primary) 20%,transparent)!important;overflow-x:auto;flex-wrap:nowrap;max-width:100%;scrollbar-width:thin}
 html:root body[data-theme][data-ambience] .unified-layout .section-tools>button{flex:none;background:transparent!important;color:var(--ink)!important;border:0!important;border-radius:8px 8px 0 0!important;box-shadow:none!important;padding:9px 14px!important;font:400 13px/1.3 'DM Sans',sans-serif!important;min-height:38px!important;white-space:nowrap}
 html:root body[data-theme][data-ambience] .unified-layout .section-tools>button[aria-current]{background:color-mix(in srgb,var(--primary) 12%,var(--panel))!important;box-shadow:inset 0 -2px var(--primary)!important}
 html:root body[data-theme][data-ambience] .unified-layout .navigation-seam{width:14px!important;background:var(--panel)!important;border-right:1px solid color-mix(in srgb,var(--primary) 20%,transparent)!important}
 /* Motifs remain optional, regular content boundaries never tear or clip fields. */
 html:root body[data-theme][data-ambience] :is(.ambient-surface,.decor-contour,.shape-field,.path-card){mask:none!important;clip-path:none!important;--ambient-shape:none}
 html:root body[data-theme][data-ambience] :is(.ambient-surface,.decor-contour,.shape-field,.path-card):before{content:none!important}
 html:root body[data-theme][data-ambience] .work-content :is(.work-panel,.panel,.detail-card,.prep-card,.metric,.evaluation-card){border-radius:14px!important;box-shadow:0 3px 12px #18243505!important;border:1px solid color-mix(in srgb,var(--primary) 9%,var(--panel))!important}
 html:root body[data-theme][data-ambience] :is(.toolbar,.prep-filters){border-radius:10px!important;border:1px solid color-mix(in srgb,var(--primary) 15%,var(--panel))!important;background:var(--panel)!important}
 html:root body[data-theme][data-ambience] :is(.shape-field,.select-trigger){border-radius:8px!important}
 html:root body[data-theme][data-ambience] .work-content .workspace-intro{position:relative;isolation:isolate;background:transparent!important;border:0!important;border-radius:20px!important;min-height:205px!important;padding:30px 32px!important;overflow:hidden!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] .work-content .workspace-intro:before{content:''!important;display:block!important;position:absolute;inset:8px 0;z-index:-1;background:color-mix(in srgb,var(--t-blob,var(--primary)) 30%,var(--panel))!important;border-radius:20px 28px 18px 30px;transform:skewY(1deg);mask:none!important;clip-path:none!important}
 html:root body[data-theme=argile][data-ambience] .work-content .workspace-intro:before{background:var(--color3)!important}
 html:root body[data-theme][data-ambience] .workspace-intro .intro-copy{position:relative;z-index:2;max-width:76%}
 html:root body[data-theme][data-ambience] .work-content .workspace-intro h1{font-family:'Fraunces',Georgia,serif!important;font-size:clamp(26px,3vw,42px)!important;font-weight:650!important;line-height:1.1;margin:8px 0!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .workspace-intro .intro-art{display:block!important;position:absolute!important;right:-20px!important;bottom:-25px!important;top:auto!important;width:290px!important;height:200px!important;max-height:none!important;opacity:.65;pointer-events:none}
 html:root body[data-theme][data-ambience] .workspace-intro .intro-orbit{display:block!important;width:270px;height:270px;border:24px solid color-mix(in srgb,var(--primary) 45%,transparent);border-radius:50%;background:none!important}
 html:root body[data-theme][data-ambience] .workspace-intro .intro-illustration{display:block!important;position:absolute;width:80px;height:90px;right:60px;top:0;background:var(--primary)!important;border-radius:70% 40% 65% 45%;transform:rotate(18deg)}
 html:root body[data-theme][data-ambience] #dashboard .path-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px!important;padding:0 0 30px!important;margin:12px 0 20px!important;align-items:start}
 html:root body[data-theme][data-ambience] .path-item{min-width:0;background:none!important}
 html:root body[data-theme][data-ambience] .path-item:nth-child(even){margin-top:24px!important}
 html:root body[data-theme][data-ambience] .path-item>.path-card{position:relative;isolation:isolate;width:100%;min-height:156px!important;height:auto!important;padding:24px 20px!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;background:var(--panel)!important;color:var(--ink)!important;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--panel))!important;box-shadow:none!important;transform:none!important}
 html:root body[data-theme][data-ambience] .path-card[data-path-index="1"]{border-radius:55px 14px 55px 14px!important;background:var(--primary)!important;color:var(--color1-ink,var(--reverse))!important}
 html:root body[data-theme][data-ambience] .path-card[data-path-index="2"]{border-radius:48% 48% 14px 14px!important;padding-top:34px!important;border-color:var(--color2,var(--accent))!important}
 html:root body[data-theme][data-ambience] .path-card[data-path-index="3"]{border-radius:14px 24px 14px 24px!important;background:transparent!important;border:0!important}
 html:root body[data-theme][data-ambience] .path-card[data-path-index="3"]:before{content:''!important;display:block!important;position:absolute;inset:0;z-index:-1;transform:skewY(3deg);border-radius:14px 24px 14px 24px;background:color-mix(in srgb,var(--color3,var(--accent)) 45%,var(--panel));mask:none!important;clip-path:none!important}
 html:root body[data-theme][data-ambience] .path-card[data-path-index="4"]{border-radius:14px 55px 14px 55px!important}
 html:root body[data-theme][data-ambience] .work-content .path-card strong{font-family:'Fraunces',Georgia,serif!important;font-size:23px!important;font-weight:650!important;line-height:1.2;color:inherit!important}
 html:root body[data-theme][data-ambience] .path-card :is(.symbol,small){color:inherit!important}
 html:root body[data-theme][data-ambience] .path-card .symbol{font-size:28px!important;line-height:1}
 html:root body[data-theme][data-ambience] .path-card small{font-size:12px!important;font-weight:400}
 html:root body[data-theme][data-ambience] .path-item>.nav-controls{color:var(--ink)!important;top:8px!important;right:8px!important}
 html:root body[data-theme][data-ambience] .workspace-start{margin:12px 0;gap:10px}
 html:root body[data-theme][data-ambience] .workspace-start button{padding:9px 12px;border-radius:9px;background:var(--panel)!important}
 html:root body[data-theme][data-ambience] .welcome-disclosure{margin-top:18px}
 html:root body[data-theme][data-ambience] .work-content .today-grid>.work-panel{background:var(--panel)!important}
 html:root body[data-theme][data-ambience] .ambient-frame{opacity:.06!important}
 @media(max-width:1100px){html:root body[data-theme][data-ambience] #dashboard .path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
 @media(max-width:900px){
 html:root body[data-theme][data-ambience]{--ox-rail:76px}
 html:root body[data-theme][data-ambience] .unified-layout .rail-brand .ox-logo{width:66px!important}
 html:root body[data-theme][data-ambience] .unified-layout .nav-item>button[data-action]{padding:8px 2px!important;gap:4px!important}
 html:root body[data-theme][data-ambience] .unified-layout .work-nav{padding:8px 0!important}
 html:root body[data-theme][data-ambience] .workspace-intro .intro-copy{max-width:100%}
 html:root body[data-theme][data-ambience] .workspace-intro .intro-art{opacity:.2}
 html:root body[data-theme][data-ambience] .work-content .workspace-intro{padding:24px 20px!important}
 }
 @media(max-width:480px){
 html:root body[data-theme][data-ambience] #dashboard .path-grid{gap:10px!important}
 html:root body[data-theme][data-ambience] .path-item>.path-card{padding:28px 14px 20px!important;min-height:156px!important}
 html:root body[data-theme][data-ambience] .work-content .path-card strong{font-size:19px!important}
 html:root body[data-theme][data-ambience] .workspace-start{grid-template-columns:1fr}
 }
}
@media screen {
 html:root body[data-theme=soleil][data-ambience]{--primary:#f2c54b;--accent:#7771ab;--color1:#f2c54b;--color1-ink:#253045;--color2:#7771ab;--color2-ink:#fff;--color3:#df9159;--color3-ink:#253045;--t-blob:#f2c54b;--t-leaf:#f2c54b;--t-accent:#7771ab;--ink:#253045;--t-ink:#253045;--reverse:#253045;--t-reverse:#253045;--t-work:#fffcf5;--t-card1:#f2c54b;--t-card2:#7771ab;--t-card3:#df9159;--t-card4:#7771ab;--card1-ink:#253045;--card2-ink:#fff;--card3-ink:#253045;--card4-ink:#fff}
 html:root body[data-theme=soleil][data-ambience] .ox-logo{--ox-logo-ink:#253045}
}
@media screen {
 html:root body[data-theme][data-ambience] .work-content .workspace-intro:before{width:auto!important;height:auto!important;border:0!important;margin:0!important;opacity:1!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] .work-content .workspace-intro:after{content:none!important}
 html:root body[data-theme][data-ambience] .workspace-intro .intro-art{left:auto!important;mask:none!important}
 html:root body[data-theme][data-ambience] .workspace-intro .intro-orbit{right:-15px!important;bottom:-125px!important;top:auto!important;width:270px!important;height:270px!important;transform:none!important}
 html:root body[data-theme][data-ambience] .work-content .period-grid{grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr))!important}
 html:root body[data-theme][data-ambience] .workspace-start>button{background:var(--panel)!important;border:1px solid color-mix(in srgb,var(--primary) 15%,var(--panel))!important}
}
@media screen and (max-width:900px){
 html:root body[data-theme][data-ambience] .work-page-head.page-heading{display:flex;flex-direction:column;align-items:flex-start!important;justify-content:flex-start;gap:10px!important;min-height:0!important;padding:0!important;margin:4px 0 12px!important}
 html:root body[data-theme][data-ambience] .work-page-head.page-heading>div:first-child{flex:0 0 auto!important;width:100%;min-height:0!important}
 html:root body[data-theme][data-ambience] .work-page-head .page-actions{flex:0 0 auto!important;align-self:flex-start}
}
/* Contraste des commandes indépendant des anciennes couleurs de carte. */
html:root body[data-theme][data-ambience] .path-item>.nav-controls button{color:var(--ink)!important}
html:root body[data-theme][data-ambience] .path-item:has(.path-card[data-path-index="1"])>.nav-controls button{color:var(--color1-ink,var(--reverse))!important}
html:root body[data-theme=nuit][data-ambience] .path-card[data-path-index="3"]:before{background:color-mix(in srgb,var(--color3,var(--accent)) 15%,var(--panel))!important}

/* 0.81.44: functional surfaces take precedence over decorative legacy rules. */
@layer usability44 {
 dialog.editor[open]{background:var(--panel,#fff)!important;opacity:1!important;filter:none!important;mask:none!important;clip-path:none!important;border:1px solid var(--line)!important;border-radius:14px!important}
 dialog::backdrop{background:#20332d60!important;backdrop-filter:blur(3px)!important}
 .competency-choices button{background:var(--mark-color)!important;color:var(--mark-ink)!important;border-radius:12px!important;min-height:76px!important}
 .assessment-cell{background:var(--cell-fill)!important;color:var(--cell-ink)!important;border:0!important;border-radius:12px!important;min-height:42px!important;width:54px!important}
 .competency-legend [style]{background:var(--mark-color)!important;color:#24334a!important}
 .competency-primary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 16px!important;align-items:start!important}
 .competency-more{grid-column:1/-1!important;width:100%!important}.competency-secondary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
 .competency-primary label,.competency-secondary label{min-width:0!important;width:100%!important}
 .competency-primary .select-trigger,.competency-secondary .select-trigger{height:38px!important;min-height:38px!important;width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 [data-attendance]{width:180px!important;min-width:180px!important;height:38px!important;font-size:13px!important}
 .action-popup{background:var(--panel)!important;padding:5px!important;max-width:330px!important;border:1px solid var(--line)!important;box-shadow:0 8px 24px #20332d20!important}
 .action-popup button{background:transparent!important;font-size:13px!important;padding:8px 10px!important;min-height:34px!important}.action-popup button:hover{background:var(--soft)!important}
 .panel,.work-panel,.detail-card,.prep-card,.evaluation-card{border-top:3px solid color-mix(in srgb,var(--discipline-color,var(--primary)) 65%,white)!important}
 .pupil-profile-card{border-top:0!important;border-left:4px solid var(--profile-accent,var(--primary))!important}.pupil-profile-card[data-pupil-sex=F]{--profile-accent:#a574ad}.pupil-profile-card[data-pupil-sex=M]{--profile-accent:#4c999f}
 .assessment-matrix{table-layout:fixed!important;min-width:100%!important}.assessment-matrix thead th{position:relative!important;padding-right:15px!important}
 .matrix-column-resize{position:absolute!important;right:-3px!important;top:0!important;bottom:0!important;width:10px!important;min-width:10px!important;height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;cursor:col-resize!important;touch-action:none!important;z-index:4!important}
 .matrix-column-resize::after{content:'';position:absolute;top:8px;bottom:8px;left:4px;width:2px;background:var(--primary);opacity:.4}.matrix-column-resize:hover::after,.matrix-column-resize:focus-visible::after{opacity:1}
 .matrix-expanded .matrix-column-title{display:block!important;-webkit-line-clamp:unset!important;white-space:normal!important;overflow:visible!important;max-height:none!important}
 .calendar-command-bar>.calendar-density{flex-basis:100%!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:6px!important;margin:0!important}.calendar-density button{min-height:28px!important;padding:3px 8px!important}
 .calendar-zoom{display:flex!important;align-items:center!important;gap:8px!important;width:auto!important;margin:0!important;font-size:11px!important}.calendar-zoom input{width:95px!important;min-height:20px!important;padding:0!important}.calendar-zoom output{min-width:48px!important}
 .timetable-slot,.agenda-slot{background:color-mix(in srgb,var(--discipline-color,var(--primary)) 25%,var(--panel))!important;border-left:4px solid var(--discipline-color,var(--primary))!important;border-radius:7px!important;padding:4px 8px 15px!important}
 .timetable-slot:hover,.agenda-slot:hover{box-shadow:0 3px 10px #20332d25!important}
 .timetable-slot .card-tools,.agenda-slot>div:not(.agenda-slot-head){position:absolute!important;right:3px!important;top:3px!important;left:auto!important;width:auto!important;max-width:75%!important;background:var(--panel)!important;padding:2px!important;border-radius:5px!important}
 [data-timetable-stretch],.agenda-resize{position:absolute!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;height:14px!important;min-height:14px!important;padding:0!important;border:0!important;border-radius:0!important;z-index:6!important;touch-action:none!important;cursor:ns-resize!important;background:transparent!important;color:var(--ink)!important;pointer-events:auto!important}
 [data-timetable-stretch]:disabled,.agenda-resize:disabled{opacity:.25!important;pointer-events:none!important}
 .timetable-slot h3,.agenda-slot>span{font-family:'DM Sans',sans-serif!important;font-size:12px!important;line-height:1.35!important;font-weight:500!important}
 .prep-flow{display:grid!important;grid-template-columns:1fr!important}.prep-flow-node{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.sequence-parent-node{position:relative;background:var(--panel);padding:14px;border-left:3px solid var(--primary);border-radius:8px}.sequence-parent-node button{display:block;margin-top:8px}.sequence-parent-node::after{content:'';position:absolute;right:-24px;top:25px;width:24px;border-top:2px solid var(--line)}
 .sequence-flow>.sequence-preps{border-left:2px solid var(--line)!important;margin:10px 0 0 16px!important;padding-left:18px!important}.sequence-flow>.sequence-preps-title{margin:12px 0 0!important}
 .journal-day-path{position:relative;display:flex;flex-direction:column;gap:20px;padding:12px 0}.journal-day-path::before{content:'';position:absolute;left:50%;top:32px;bottom:32px;width:2px;background:color-mix(in srgb,var(--primary) 40%,var(--panel))}
 .journal-path-start,.journal-path-end{align-self:center;position:relative;background:var(--panel);border-radius:20px;padding:5px 14px;font-size:12px;z-index:1}
 .journal-path .journal-entry{position:relative!important;display:flex!important;flex-direction:column!important;gap:6px!important;width:calc(50% - 28px)!important;min-height:0!important;margin:0!important;padding:12px!important;background:var(--panel)!important;border-top:3px solid var(--discipline-color,var(--primary))!important}
 .journal-path [data-path-side=left]{align-self:flex-start!important}.journal-path [data-path-side=right]{align-self:flex-end!important}
 .journal-path .journal-entry::before{content:''!important;position:absolute!important;top:22px!important;left:auto!important;right:-29px!important;width:29px!important;height:2px!important;background:var(--discipline-color,var(--primary))!important;border:0!important;transform:none!important}.journal-path [data-path-side=right]::before{left:-29px!important;right:auto!important}
 .journal-path .journal-time-marker{position:static!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:auto!important;min-height:0!important;text-align:left!important}.journal-path .journal-flow-dot{display:none!important}
 .journal-path .lesson-main{width:100%!important;min-width:0!important}.journal-path .workspace-fold>summary{min-height:32px!important}.journal-path .workspace-fold>summary>small{display:none!important}.journal-path .journal-flow-gap{position:static!important;font-size:11px!important}
 @media(max-width:700px){.competency-primary,.competency-secondary{grid-template-columns:1fr!important}.prep-flow-node{grid-template-columns:1fr}.sequence-parent-node::after{display:none}.journal-day-path::before{left:12px}.journal-path .journal-entry{width:calc(100% - 38px)!important;align-self:flex-end!important}.journal-path .journal-entry::before{left:-26px!important;right:auto!important;width:26px!important}.calendar-zoom{flex-wrap:wrap!important}}
}
@layer usability44 {
 .journal-path .journal-entry{overflow:visible!important;border-radius:8px!important}
 .journal-path .journal-entry::before{display:block!important;opacity:1!important}
 .journal-path .journal-entry>.workspace-fold{margin:0!important;padding:0!important;border:0!important;min-height:0!important}
 .journal-path .journal-entry>.workspace-fold>summary{padding:5px 8px!important;margin:0!important}
 .journal-path .journal-realisation{margin:0!important;padding:0!important;min-height:0!important}
 .journal-path .journal-time-marker{margin:0!important;padding:0!important}
 .work-nav [data-nav-item=parents] .nav-icon{font-size:17px!important;display:inline-block!important;width:20px!important;overflow:hidden!important}
}
@layer usability44 {
 .calendar-zoom{flex-direction:row!important;flex-wrap:nowrap!important;white-space:nowrap!important;max-width:none!important}
 .calendar-zoom input{margin:0!important;flex:0 0 95px!important}.calendar-zoom output{margin:0!important}
 @media(pointer:coarse){.competency-primary .select-trigger,.competency-secondary .select-trigger{min-height:44px!important}}
}
@layer usability44 {
 [data-attendance]+.select-trigger{width:180px!important;min-width:180px!important;max-width:180px!important;height:38px!important;font-size:13px!important;white-space:nowrap!important}
 @media(pointer:coarse){[data-attendance]+.select-trigger{height:44px!important;min-height:44px!important}}
}
@layer usability44 {
 /* Short slots keep their action menu above the lower resize strip. */
 .timetable-slot .card-tools,.agenda-slot>div:not(.agenda-slot-head){z-index:8!important}
}

@layer usability44 {
 /* Compact sequence nodes and genuinely branching programming. */
 .sequence-parent-node{padding:9px 12px!important;font-size:12px!important;line-height:1.4!important;border-radius:7px!important;border-left-width:2px!important}
 .sequence-parent-node button{padding:2px 0!important;min-height:24px!important;background:transparent!important;border:0!important;font-size:11px!important;text-decoration:underline;text-underline-offset:3px!important}
 .program-tree .period{background:transparent!important;border:0!important;padding:8px 0!important}
 .program-tree .program-branch{display:grid!important;grid-template-columns:145px minmax(0,1fr)!important;gap:12px 26px!important;border:0!important;padding:0!important;background:transparent!important}
 .program-tree .program-branch>summary{grid-column:1!important;grid-row:1!important;align-self:start!important;padding:12px!important;background:var(--panel)!important;border-left:3px solid var(--color2,var(--primary))!important;border-radius:7px!important;font-size:15px!important}
 .program-tree .program-branch:not([open])>:not(summary),.program-tree .program-subject:not([open])>:not(summary){display:none!important}
 .program-tree .program-branch>p{grid-column:2!important;margin:0!important;font-size:11px!important}
 .program-tree .program-subject{grid-column:2!important;position:relative!important;display:grid!important;grid-template-columns:160px minmax(0,1fr)!important;gap:8px 22px!important;border:0!important;border-left:2px solid var(--discipline-color,var(--line))!important;margin:0!important;padding:0 0 0 14px!important;background:transparent!important}
 .program-tree .program-subject::before{content:'';position:absolute;top:20px;left:-28px;width:28px;border-top:2px solid var(--line)}
 .program-tree .program-subject>summary{grid-column:1!important;grid-row:1!important;align-self:start!important;padding:10px!important;border-radius:7px!important;background:var(--panel)!important;font-size:12px!important}
 .program-tree .objective-card{grid-column:2!important;position:relative!important;padding:0!important;margin:0!important;min-height:0!important;background:var(--panel)!important;border:0!important;border-radius:7px!important;overflow:visible!important}
 .program-tree .objective-card::before{content:''!important;display:block!important;position:absolute!important;left:-22px!important;top:20px!important;width:22px!important;height:1px!important;background:var(--discipline-color,var(--line))!important}
 .program-tree .objective-card>.workspace-fold,.program-tree .objective-card>.workspace-fold>summary{margin:0!important;padding:8px 10px!important;min-height:0!important;border:0!important}
 .program-tree .objective-card>.workspace-fold>summary .discipline-chip{display:none!important}
 .work-content:has(.objective-card):not(.program-tree) .objective-card{padding:0!important;margin:6px 0!important;min-height:0!important;border-radius:7px!important;border-left:2px solid var(--discipline-color,var(--line))!important}
 .work-content:has(.objective-card):not(.program-tree) .objective-card>.workspace-fold>summary{padding:9px 12px!important;min-height:0!important}
 .calendar-zoom input[type=range]{appearance:none!important;height:4px!important;min-height:4px!important;border:0!important;border-radius:9px!important;background:var(--line)!important;box-shadow:none!important}
 .calendar-zoom input::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--primary);cursor:ns-resize}.calendar-zoom input::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--primary)}
 .calendar-axis{position:absolute!important;top:0!important;bottom:0!important;left:0!important;width:29px!important;min-width:29px!important;height:100%!important;min-height:0!important;border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;z-index:3!important;cursor:ns-resize!important;touch-action:none!important;padding:0!important}
 .calendar-axis:hover,.calendar-axis:focus-visible{background:color-mix(in srgb,var(--color2,var(--primary)) 14%,transparent)!important}
 .agenda-hour{pointer-events:none!important;z-index:4!important}
 .agenda-resize:not(:disabled)::after,.timetable-resize:not(:disabled)::after{content:'';display:block;position:absolute;left:calc(50% - 13px);top:6px;width:26px;height:3px;border-radius:2px;background:var(--discipline-color,var(--primary));box-shadow:0 0 0 2px var(--panel)}
 .agenda-resize:not(:disabled),.timetable-resize:not(:disabled){font-size:0!important;opacity:1!important}
 .agenda-resize:disabled::after{content:'•';font-size:10px;color:var(--muted)}
 .work-content{background-image:radial-gradient(ellipse at 95% 12%,color-mix(in srgb,var(--color2,var(--t-card2)) 11%,transparent),transparent 33%),radial-gradient(ellipse at 7% 75%,color-mix(in srgb,var(--color3,var(--t-card3)) 9%,transparent),transparent 30%)!important}
 .work-content::after{content:'';position:fixed;right:24px;bottom:22px;width:96px;height:96px;pointer-events:none;opacity:.1;background:var(--color3,var(--primary));mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M8 19q18-7 36 0v33q-18-7-36 0zM44 19q18-7 36 0v33q-18-7-36 0M19 27h14m-14 8h14m22-8h14m-14 8h14M22 76l27-19 5 7-27 19-9 2zM72 69v14m-7-7h14'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
 @media(max-width:800px){.program-tree .program-branch{grid-template-columns:1fr!important}.program-tree .program-branch>summary{grid-row:auto!important}.program-tree .program-branch>:not(summary){grid-column:1!important;margin-left:16px!important}.program-tree .program-subject{grid-template-columns:1fr!important}.program-tree .program-subject>summary{grid-row:auto!important}.program-tree .objective-card{grid-column:1!important;margin-left:14px!important}}
}
@layer usability44 {
 .print-layout-dialog form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}.print-layout-dialog h2,.print-layout-dialog p,.print-layout-dialog .actions{grid-column:1/-1!important}
 .print-layout-dialog label{min-width:0!important}.print-layout-dialog select{width:100%!important}
 @media print{
  .work-content::after,.calendar-axis,.calendar-zoom,.calendar-density,.calendar-command-bar,[data-print-layout],.agenda-resize,.timetable-resize,.card-tools,.more-trigger,.journal-realisation{display:none!important}
  .work-content{background:none!important;padding:0!important;margin:0!important;width:100%!important;max-width:none!important}
  .program-tree .program-branch,.program-tree .program-subject{display:block!important;break-inside:auto!important}
  .program-tree .program-branch>summary,.program-tree .program-subject>summary{margin:8px 0!important}
  .program-tree .objective-card{margin:5px 0 5px 16px!important;break-inside:avoid!important}
  .journal-day-path{display:block!important;padding:0!important}.journal-day-path::before,.journal-path .journal-entry::before{display:none!important}
  .journal-path .journal-entry{display:block!important;width:100%!important;margin:6px 0!important;break-inside:avoid!important;box-shadow:none!important}
  .journal-path-start,.journal-path-end{padding:4px 0!important}
  .table-wrap,.agenda-days,.timetable-calendar{max-height:none!important;overflow:visible!important}
  .assessment-matrix{width:100%!important;min-width:0!important;font-size:8pt!important}.assessment-matrix col{width:auto!important}.assessment-matrix th,.assessment-matrix td{white-space:normal!important;overflow-wrap:anywhere!important}.matrix-column-resize{display:none!important}
  body[data-print-density=compact] .work-content{font-size:9pt!important}body[data-print-density=normal] .work-content{font-size:11pt!important}
  body[data-print-colors=no] .work-content{filter:grayscale(1)!important}
  .prep-flow-node{break-inside:avoid!important}.agenda-slot,.timetable-slot{print-color-adjust:exact!important}
 }
}
@layer usability44 {
 @media print {
  body{background:white!important}.page-help,.view-help,.page-info,.workspace-help,.work-content>footer{display:none!important}
  .work-content h1{font-size:20pt!important;margin:0 0 10pt!important}.work-content h2{font-size:14pt!important}
  body[data-print-density=compact] .work-content :is(p,li,td,th,summary,label,small,span){font-size:9pt!important;line-height:1.3!important}
  body[data-print-density=compact] .work-content p{margin:4pt 0!important}
  .program-tree .objective-card::before{display:none!important}
 }
}
@layer usability44 {
 @media print {
  .work-page-head{min-height:0!important;padding:0 0 8pt!important;margin:0 0 8pt!important}
  .work-content :is(.workspace-body,.lesson-main,.lesson-phases,.workspace-fold){padding:4pt!important;min-height:0!important;box-shadow:none!important}
  .work-content :is(.phase-list li,.phase-list p){margin:3pt 0!important;padding:0!important}
  .work-content .journal-entry{padding:6pt!important}
 }
}
@layer usability44 {
 @media print {
  .program-tree .program-subject{break-inside:avoid!important}
  .program-tree .program-subject>summary,.program-tree .program-branch>summary{break-after:avoid!important}
 }
}
@layer usability44 {
 /* Fine visual grip, generous invisible touch target. */
 .agenda-resize:not(:disabled)::after,.timetable-resize:not(:disabled)::after{height:2px!important;width:20px!important;left:calc(50% - 10px)!important;top:7px!important;box-shadow:0 0 0 1px var(--panel)!important}
 .agenda-resize:disabled::after,.timetable-resize:disabled::after{content:''!important;display:block!important;position:absolute!important;left:calc(50% - 10px)!important;top:7px!important;width:20px!important;height:2px!important;background:var(--muted)!important}
 .agenda-resize:disabled,.timetable-resize:disabled{opacity:.55!important}
 .work-content .toolbar,.work-content .prep-filters,.competency-primary,.competency-secondary{border:0!important;box-shadow:none!important;background:transparent!important;padding:8px 0!important}
 .work-content:has(.objective-card) .period{background:transparent!important;border:0!important;box-shadow:none!important;padding:8px 0!important}
 .work-content .objective-card{border:1px solid color-mix(in srgb,var(--discipline-color,var(--primary)) 22%,var(--panel))!important;background:var(--panel)!important;margin:8px 0!important}
 .work-content .objective-card>.workspace-fold{padding:0!important}
 .program-tree .program-branch{gap:16px 38px!important;grid-template-columns:145px minmax(0,1fr)!important}
 .program-tree .program-subject{gap:10px 36px!important;padding-left:0!important;border:0!important;grid-template-columns:160px minmax(0,1fr)!important;margin:8px 0!important}
 .program-tree .program-subject>summary{color:var(--ink)!important;border:1px solid color-mix(in srgb,var(--discipline-color,var(--primary)) 25%,var(--panel))!important}
 .program-tree .objective-card{margin:0 0 8px!important}
 .curved-flow{position:relative!important;isolation:isolate}
 .flow-curves{position:absolute!important;left:0!important;top:0!important;pointer-events:none!important;overflow:visible!important;z-index:-1!important}
 .flow-curves path{stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.7}
 .curved-flow .program-subject::before,.curved-flow .objective-card::before,.curved-flow .sequence-parent-node::after,.curved-flow .journal-day-path::before,.curved-flow .journal-entry::before,.curved-flow .learning-node::before,.curved-flow .learning-node::after{display:none!important}
 .curved-flow .sequence-flow>.sequence-preps{border:0!important;margin-left:24px!important}
 .curved-flow .journal-day-path{gap:28px!important}
 .agenda-slot .card-tools,.agenda-slot>div:not(.agenda-slot-head),.timetable-slot .card-tools{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important}
 .agenda-slot button:not(.agenda-resize),.timetable-slot .card-tools button,.timetable-slot .card-tools [data-more-trigger]{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--ink)!important}
 .hours-statistics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 22px}.hours-statistics article{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--primary);padding:16px;border-radius:8px}.hours-statistics span{display:block;font-size:12px}.hours-statistics strong{display:block;font:500 25px 'Fraunces',serif;margin-top:7px}
 @media(max-width:800px){.program-tree .program-branch,.program-tree .program-subject{grid-template-columns:1fr!important}.hours-statistics{grid-template-columns:1fr 1fr}.program-tree .program-subject{margin-left:16px!important}}
 @media print{.flow-curves{display:none!important}}
}
@layer usability44 {.curved-flow .learning-node,.curved-flow .learning-branches{border-left:0!important}.curved-flow .learning-step-marker::after,.curved-flow .learning-step-marker::before{display:none!important}}
@layer usability44 {.curved-flow .journal-entry::after{display:none!important}}
@layer usability44 {
 .curved-flow .sequence-parent-node button{display:block!important;width:fit-content!important;margin-top:4px!important}
 .curved-flow>.card-grid{border-left:0!important;margin-left:0!important;padding-left:0!important}
}
@layer usability44 {
 .curved-flow .sequence-flow{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
 .curved-flow .sequence-flow::before{display:none!important}
 .curved-flow .sequence-flow>.workspace-fold{background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:7px!important}
 .curved-flow .sequence-flow>.sequence-preps-title{font:400 11px 'DM Sans',sans-serif!important;margin-left:42px!important}
}

@layer usability44 {
 .work-content:has(.agenda-canvas) .calendar-command-bar{margin-bottom:2px!important}
}

@layer usability44 {
 .program-tree .program-branch{display:block!important;padding:0!important}
 .program-tree .program-branch>summary{width:fit-content!important;min-width:100px!important;margin:0 0 16px!important;background:var(--soft)!important;border:0!important;border-radius:7px!important}
 .program-tree .program-subject{margin:0 0 20px 104px!important;grid-template-columns:180px minmax(0,1fr)!important;gap:10px 32px!important}
 .program-tree .program-subject>summary{align-self:start!important;background:var(--soft)!important;border:0!important;min-height:48px!important;padding:12px 28px 12px 12px!important;border-radius:7px!important}
 .program-tree .objective-card{border:1px solid var(--line)!important;border-top:3px solid var(--discipline-color,var(--primary))!important;border-radius:9px!important;min-height:48px!important}
 .program-tree .program-branch>p{font-size:11px!important;margin:0 0 10px 104px!important;color:var(--muted)!important}
 .prep-flow-node{grid-template-columns:240px minmax(0,1fr)!important;align-items:start!important;gap:30px!important}
 .prep-flow-node>.sequence-parent-node{box-sizing:border-box!important;min-height:64px!important;height:64px!important;margin:0!important;display:flex!important;align-items:center!important;gap:8px!important;padding:8px 28px 8px 12px!important;background:var(--soft)!important}
 .sequence-parent-node>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1;line-height:1.4}
 .curved-flow .sequence-parent-node button:not(.flow-grip){display:inline-flex!important;flex:none!important;margin:0!important;text-decoration:none!important;font-size:17px!important}
 .prep-flow-node>.prep-card{margin:0!important;min-height:64px!important;box-sizing:border-box!important}
 .prep-flow-node>.prep-card>.workspace-fold>summary{min-height:60px!important;box-sizing:border-box!important;padding-right:28px!important}
 .flow-positioned{position:relative!important;translate:var(--flow-x,0px) var(--flow-y,0px);overflow:visible!important}
 .flow-grip{position:absolute!important;right:3px!important;top:3px!important;width:22px!important;min-width:22px!important;height:22px!important;min-height:22px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--muted)!important;font:16px/22px 'DM Sans',sans-serif!important;cursor:grab!important;touch-action:none!important;z-index:8!important;opacity:.7}
 .flow-grip:hover,.flow-grip:focus-visible{color:var(--primary)!important;opacity:1}.flow-dragging{z-index:20!important;filter:drop-shadow(0 5px 8px #0002)}.flow-dragging .flow-grip{cursor:grabbing!important}
 .flow-reset{margin-left:auto!important;font-size:10px!important;padding:3px 6px!important;min-height:26px!important;background:transparent!important;color:var(--muted)!important}
 .journal-path .journal-entry{padding:10px 28px 10px 12px!important;gap:4px!important;border:1px solid var(--line)!important;border-top:3px solid var(--discipline-color,var(--primary))!important;box-shadow:0 4px 12px color-mix(in srgb,var(--discipline-color,var(--primary)) 7%,transparent)!important}
 .journal-path .journal-entry>.journal-realisation{align-self:flex-start;margin:0!important}.journal-path .journal-flow-gap{margin:2px 0!important}.journal-path .journal-time-marker{border-bottom:1px solid var(--line);padding-bottom:5px!important}
 .workspace-body h3,.lesson-phases h3{color:color-mix(in srgb,var(--discipline-color,var(--primary)) 58%,var(--ink))!important;font-size:14px!important;border-left:3px solid var(--discipline-color,var(--primary));padding:5px 9px!important;background:color-mix(in srgb,var(--discipline-color,var(--primary)) 8%,var(--panel));border-radius:0 5px 5px 0;margin:14px 0 6px!important}
 .workspace-body>details{border-top:1px solid var(--line)!important;padding-top:8px!important}.workspace-body>details>summary{color:color-mix(in srgb,var(--primary) 60%,var(--ink))!important}
 .workspace-body>p:first-child{color:color-mix(in srgb,var(--discipline-color,var(--primary)) 65%,var(--ink))!important}
 .workspace-body>ul,.workspace-body>ol{border-left:1px solid var(--line);padding-left:22px!important}.workspace-body li{margin:5px 0!important}
 .calendar-command-bar .filter-field:has(#timetable-model){min-width:250px!important;max-width:330px!important;flex:1 1 250px!important}
 .calendar-command-bar .filter-field:has(#timetable-model) .select-trigger{white-space:nowrap!important}
 .agenda-slot>.agenda-resize,.timetable-slot>.timetable-resize{inset:auto 0 0!important;width:100%!important;min-width:0!important;height:14px!important;min-height:14px!important;border:0!important;mask:none!important;clip-path:none!important;box-shadow:none!important;transform:none!important}
 .agenda-resize::after,.timetable-resize::after{top:auto!important;bottom:2px!important;left:calc(50% - 12px)!important;width:24px!important;height:2px!important;border-radius:2px!important;box-shadow:0 0 0 1px var(--panel)!important}
 .agenda-resize:not(:disabled)::after,.timetable-resize:not(:disabled)::after{background:var(--ink)!important}
 .agenda-resize:disabled::after,.timetable-resize:disabled::after{background:var(--muted)!important;box-shadow:none!important}
 .agenda-slot>span{max-height:calc(100% - 24px)!important;overflow:hidden!important;padding-bottom:0!important;margin-bottom:8px!important}
 .agenda-resize:not(:disabled):hover::after,.timetable-resize:not(:disabled):hover::after{background:var(--primary)!important;box-shadow:0 0 0 2px var(--panel)!important}
 @media(max-width:800px){.program-tree .program-subject{margin-left:24px!important;grid-template-columns:1fr!important}.program-tree .program-branch>p{margin-left:24px!important}.prep-flow-node{grid-template-columns:1fr!important}.flow-positioned{translate:0 var(--flow-y,0px)!important}.flow-grip{width:26px!important;height:26px!important}.flow-reset{font-size:9px!important}}
 @media print{.flow-positioned{translate:none!important}.flow-grip,.flow-reset{display:none!important}}
}

@layer usability44 { .competency-legend>span,.legend>span{border-radius:999px!important;clip-path:none!important;mask:none!important;padding:5px 12px!important} }

@layer usability44 {
 .work-content::after{width:150px!important;height:150px!important;opacity:.075!important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M78 78Q25 77 30 30Q77 25 78 78ZM82 78Q83 25 130 30Q135 77 82 78ZM78 82Q25 83 30 130Q77 135 78 82ZM82 82Q83 135 130 130Q135 83 82 82ZM80 80v65'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat!important}
}

@layer usability44 { .program-tree .program-branch>summary{padding-right:28px!important;min-width:120px!important} }
@layer usability44 {
 html:root body[data-theme][data-ambience] dialog.editor .actions>button.primary{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:var(--primary)!important;color:var(--color1-ink,var(--reverse))!important;opacity:1!important;visibility:visible!important;mask:none!important;clip-path:none!important;border:1px solid var(--primary)!important;border-radius:7px!important;padding:8px 14px!important;min-height:36px!important}
 .print-layout-dialog .actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;position:sticky!important;bottom:0!important;background:var(--panel)!important;padding:10px 0 0!important}
}

@layer usability44 {
 /* Shared visual hierarchy for expanded pedagogical relationships. */
 .work-content .learning-relations{--relation-accent:var(--discipline-color,var(--primary));margin-top:12px!important;padding-top:10px!important}
 .work-content .learning-relations>summary{color:color-mix(in srgb,var(--relation-accent) 70%,var(--ink))!important;font-weight:600!important;border-bottom:1px solid color-mix(in srgb,var(--relation-accent) 30%,var(--panel))!important;padding:6px 0!important}
 .work-content .learning-relations>h4,.work-content .learning-relations>ul{--section-accent:var(--color2,var(--primary))}
 .work-content .learning-relations>h4:nth-of-type(2),.work-content .learning-relations>ul:nth-of-type(2){--section-accent:var(--color3,var(--primary))}
 .work-content .learning-relations>h4:nth-of-type(3),.work-content .learning-relations>ul:nth-of-type(3){--section-accent:var(--discipline-color,var(--primary))}
 html:root body[data-theme][data-ambience] .work-content .learning-relations>h4{font-family:var(--font-body,inherit)!important;font-size:13px!important;font-weight:600!important;line-height:1.4!important;color:color-mix(in srgb,var(--section-accent) 60%,var(--ink))!important;background:color-mix(in srgb,var(--section-accent) 13%,var(--panel))!important;border-left:3px solid var(--section-accent)!important;border-radius:0 6px 6px 0!important;padding:7px 10px!important;margin:14px 0 4px!important}
 .work-content .learning-relations>ul{list-style:none!important;padding:0 0 0 12px!important;margin:0 0 10px!important;border-left:1px solid color-mix(in srgb,var(--section-accent) 35%,var(--panel))!important}
 .work-content .learning-relations>ul>li{margin:0!important;padding:0!important}
 .work-content .learning-relations>ul>li>details>summary{color:color-mix(in srgb,var(--section-accent) 55%,var(--ink))!important;padding:8px 4px!important;border-bottom:1px solid color-mix(in srgb,var(--section-accent) 15%,var(--panel))!important;line-height:1.5!important}
 .work-content .learning-relations>p:first-of-type{padding:8px 10px!important;border-left:3px solid var(--relation-accent)!important;background:color-mix(in srgb,var(--relation-accent) 7%,var(--panel))!important;border-radius:0 6px 6px 0!important;color:color-mix(in srgb,var(--relation-accent) 55%,var(--ink))!important}
}

@layer usability44 {
 html:root body[data-theme][data-ambience] .workspace-command-bar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;column-gap:16px!important;row-gap:0!important;align-items:center!important}
 .workspace-command-bar>.section-tools{grid-column:1;grid-row:1}
 .workspace-command-bar>.workspace-modes[aria-label="Présentation"]{grid-column:2;grid-row:1;justify-self:end;display:flex!important;gap:14px!important;align-items:center!important}
 html:root body[data-theme][data-ambience] .workspace-modes[aria-label="Présentation"]>button{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;mask:none!important;clip-path:none!important;font-size:12px!important;font-weight:400!important;color:var(--muted)!important;padding:5px 0!important;min-height:28px!important;opacity:1!important;position:relative}
 html:root body[data-theme][data-ambience] .workspace-modes[aria-label="Présentation"]>button[aria-pressed=true]{color:var(--ink)!important;font-weight:500!important}
 .workspace-modes[aria-label="Présentation"]>button[aria-pressed=true]::after{content:'';position:absolute;left:0;right:0;bottom:1px;height:2px;background:var(--primary);border-radius:2px}
 .workspace-command-bar>.flow-reset{grid-column:1/-1;grid-row:2;justify-self:end;min-height:20px!important;padding:0!important}
 @media(max-width:800px){html:root body[data-theme][data-ambience] .workspace-command-bar{grid-template-columns:minmax(0,1fr)!important}.workspace-command-bar>.section-tools{grid-column:1;grid-row:1}.workspace-command-bar>.workspace-modes[aria-label="Présentation"]{grid-column:1;grid-row:2}.workspace-command-bar>.flow-reset{grid-row:3}}
 html:root body[data-theme][data-ambience] .agenda-slot>span{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:16px!important;max-height:none!important;font-size:12px!important}
 html:root body[data-theme][data-ambience] .agenda-slot-head{height:18px!important;min-height:18px!important;line-height:18px!important}
 html:root body[data-theme][data-ambience] .agenda-slot{padding-top:4px!important;padding-bottom:14px!important}
 .agenda-slot:has(.agenda-resize:disabled){cursor:default}
}
@layer usability44 {
 html:root body[data-theme][data-ambience] .agenda-slot.agenda-compact{padding-top:1px!important}
 html:root body[data-theme][data-ambience] .agenda-compact .agenda-slot-head{position:absolute!important;top:1px;left:2px}
 html:root body[data-theme][data-ambience] .agenda-compact .agenda-slot-head time{position:absolute;top:18px;left:2px;white-space:nowrap;font-size:8px!important;line-height:10px}
 html:root body[data-theme][data-ambience] .agenda-slot.agenda-compact>span{margin-left:18px!important;margin-right:2px!important;margin-bottom:0!important;padding-top:0!important;line-height:18px!important}
}

@layer usability44 {
 /* A distinct card per journal entry, including the chronological list. */
 html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry{background:var(--panel)!important;border:1px solid var(--line)!important;border-top:3px solid var(--discipline-color,var(--primary))!important;border-radius:12px!important;padding:8px 12px!important;margin:12px 0!important;gap:4px 12px!important}
 .workspace-reference:not(.journal-path) .journal-time-marker:after,.workspace-reference:not(.journal-path) .journal-flow-dot{display:none!important}
 .workspace-reference:not(.journal-path) .journal-time-marker{padding-top:8px!important}
 .workspace-reference:not(.journal-path) .journal-flow-gap{margin:0!important;font-size:11px!important;padding:2px 0!important}
 html:root body[data-theme][data-ambience] .journal-realisation-control{background:transparent!important;border:0!important;border-radius:0!important;padding:2px 0!important;min-height:26px!important;font-size:12px!important}
 html:root body[data-theme][data-ambience] .select-trigger{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 html:root body[data-theme][data-ambience] .toolbar{align-items:end!important}
 html:root body[data-theme][data-ambience] .toolbar :is(label,.filter-field):has(select){flex:1 1 var(--choice-width,24ch)!important;max-width:100%!important;min-width:0!important}
 html:root body[data-theme][data-ambience] .toolbar :is(label,.filter-field):has(#classroom-lesson){flex:1 1 42ch!important;width:min(100%,var(--choice-width,42ch))!important;max-width:none!important}
 html:root body[data-theme][data-ambience] .assessment-matrix{min-width:0!important;max-width:none!important;table-layout:fixed!important}
 html:root body[data-theme][data-ambience] .assessment-matrix th,html:root body[data-theme][data-ambience] .assessment-matrix td{min-width:0!important;overflow-wrap:anywhere}
 html:root body[data-theme][data-ambience] .assessment-matrix tbody :is(th,td){height:var(--matrix-row-height,44px)!important;padding-block:2px!important;box-sizing:border-box}
 .matrix-row-resize{position:absolute!important;bottom:-3px!important;left:0!important;right:0!important;width:100%!important;height:8px!important;min-height:8px!important;padding:0!important;border:0!important;background:transparent!important;cursor:row-resize!important;touch-action:none!important;z-index:5!important;box-shadow:none!important;mask:none!important;clip-path:none!important}
 .matrix-row-resize:hover:after,.matrix-row-resize:focus-visible:after{content:'';position:absolute;left:25%;right:25%;top:3px;height:2px;background:var(--primary)}
 @media print{.matrix-row-resize{display:none!important}.assessment-matrix{width:100%!important}}
}
@layer usability44 {
 html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry{grid-template-columns:65px minmax(0,1fr) auto!important}
 .workspace-reference:not(.journal-path) .journal-realisation{grid-column:3!important;grid-row:1!important;align-self:center;padding:0!important}
 .workspace-reference:not(.journal-path) .journal-flow-gap{grid-column:2/4!important}
 @media(max-width:700px){html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry{grid-template-columns:52px minmax(0,1fr)!important}.workspace-reference:not(.journal-path) .journal-realisation{grid-column:2!important;grid-row:2!important}.workspace-reference:not(.journal-path) .journal-flow-gap{grid-column:2!important}}
}

@layer usability44 {
 .curved-flow .journal-time-marker::after{display:none!important;content:none!important}
 .curved-flow .journal-day-path{gap:52px!important}
 .flow-curves .flow-connector{stroke-width:1.6;opacity:.8}
 .flow-curves .flow-arrow{stroke:none;opacity:.9}
 @media(max-width:700px){.curved-flow .journal-day-path{gap:34px!important}}
}

/* Catalogue officiel : surfaces et repères de la palette existante. */
dialog.curriculum-dialog{width:min(960px,94vw);max-width:960px;max-height:92dvh;padding:0}dialog.curriculum-dialog form{padding:20px;overflow:auto;max-height:90dvh}.curriculum-filters{display:grid;grid-template-columns:100px minmax(180px,1fr) minmax(140px,1fr) minmax(180px,1fr);gap:12px;align-items:end}.curriculum-filters label{display:grid;gap:6px;min-width:0}.curriculum-filters input,.curriculum-filters select{width:100%;min-width:0}.curriculum-filters [hidden]{display:none}.curriculum-results,.curriculum-preview{max-height:52dvh;overflow:auto;overscroll-behavior:contain;padding:2px 8px 8px 2px}.curriculum-item{border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent);padding:12px 4px}.curriculum-item>label{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.curriculum-item input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;margin-top:3px}.curriculum-item label span{display:grid;gap:4px;min-width:0}.curriculum-item small{opacity:.8}.curriculum-item details{margin:8px 0 0 32px}.curriculum-source-text{white-space:pre-wrap;line-height:1.55;overflow-wrap:anywhere}.curriculum-reference{margin:12px 0;max-width:100%;overflow-wrap:anywhere}.curriculum-reference summary,.curriculum-item summary{cursor:pointer;color:var(--t-ink,currentColor);font-weight:600}.curriculum-reference[open]{padding:12px;border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:8px}.curriculum-reference details{max-height:35vh;overflow:auto}.curriculum-dialog footer{position:sticky;bottom:-20px;background:var(--t-panel,#fff);padding:12px 0;z-index:2}.detail-card:has(.curriculum-reference) h2{overflow-wrap:anywhere}@media(max-width:650px){.curriculum-filters{grid-template-columns:1fr 1fr}dialog.curriculum-dialog form{padding:14px}.curriculum-results,.curriculum-preview{max-height:43dvh}.curriculum-item details{margin-left:0}}
body dialog.curriculum-dialog .curriculum-item>label{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:12px!important}body dialog.curriculum-dialog .curriculum-item>label>input{min-height:20px!important;max-height:20px;width:20px!important;min-width:20px}body dialog.curriculum-dialog [hidden]{display:none!important}body dialog.curriculum-dialog .curriculum-filters label:last-child{grid-column:auto / -1}@media(max-width:650px){body dialog.curriculum-dialog .curriculum-filters label:last-child{grid-column:1 / -1}}

/* Point 7: compact coverage markers, existing palette and typography. */
.program-coverage-summary{display:flex;flex-wrap:wrap;gap:.65rem;margin:.6rem 0}.program-coverage-summary>div{display:flex;align-items:baseline;gap:.45rem;border-inline-start:3px solid currentColor;padding:.25rem .7rem;background:var(--paper,#fff)}
.program-coverage-summary strong{font-size:1.3rem}.program-coverage-summary span{font-size:.85rem}
[data-coverage-state=unplanned]{color:var(--ink,#293641)}[data-coverage-state=planned]{color:#345f9b}[data-coverage-state=taught]{color:#8d521e}[data-coverage-state=evaluated]{color:#267153}
.program-filter-extra{margin:.4rem 0}.program-filters>label{min-width:145px;flex:1}.program-filters select{max-width:100%}.planning-tools{display:grid;gap:.5rem}.planning-estimate{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:1rem;border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent);padding:.65rem 0}.planning-estimate label{min-width:0}.planning-estimate input[type=number]{width:100%}
@media(max-width:600px){.planning-estimate{grid-template-columns:1fr}.program-coverage-summary{gap:.4rem}.program-coverage-summary>div{flex:1 1 40%}}
@media(max-width:600px){.toolbar.program-filters{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.45rem!important}.toolbar.program-filters>label{min-width:0!important;width:auto!important}.toolbar.program-filters label:has(input[type=search]){grid-column:1/-1}.toolbar.program-filters button{justify-self:start}.program-coverage-summary{margin:.2rem 0}.program-filter-extra{font-size:.85rem}}
/* 0.81.59 — shared action hierarchy and readable account workspace. */
@media screen {
 html:root body[data-theme][data-ambience] {font-weight:450;color:var(--ink)}
 html:root body[data-theme][data-ambience] :is(p,td,li,label,input,textarea,select){font-weight:450}
 html:root body[data-theme][data-ambience] :is(.ui-control,.select-trigger,.workspace-modes button,.section-tools button){font-weight:500!important}
 html:root body[data-theme][data-ambience] :is(.muted,.small,.detail-note,.soft-note,small){color:color-mix(in srgb,var(--ink) 78%,var(--panel))}
 html:root body[data-theme][data-ambience] .work-content :is(h1,h2,h3,h4){font-family:'Fraunces',Georgia,serif!important;font-weight:650!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .work-page-head{align-items:center;gap:14px;flex-wrap:wrap}
 html:root body[data-theme][data-ambience] .page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:100%}
 html:root body[data-theme][data-ambience] .page-actions>.secondary-actions:not(.print-actions){order:10}
 html:root body[data-theme][data-ambience] :is(.more-trigger,.card-action-icon){background:transparent!important;border:0!important;box-shadow:none!important;color:var(--ink)!important;border-radius:8px!important;min-width:36px!important;min-height:36px!important;padding:7px!important}
 html:root body[data-theme][data-ambience] :is(.more-trigger,.card-action-icon):hover{background:color-mix(in srgb,var(--primary) 12%,var(--panel))!important}
 html:root body[data-theme][data-ambience] .harmonized-card-heading{display:flex!important;align-items:center;flex-wrap:wrap;gap:8px;min-height:58px!important;padding:12px!important;border-radius:8px 8px 0 0!important;background:color-mix(in srgb,var(--discipline-color,var(--primary)) 16%,var(--panel))!important;border-top:3px solid var(--discipline-color,var(--primary))!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .work-content .workspace-fold>.harmonized-card-heading{background:color-mix(in srgb,var(--discipline-color,var(--primary)) 16%,var(--panel))!important}
 html:root body[data-theme][data-ambience] .card-heading-label{flex:1;min-width:120px;font:600 15px/1.4 'Fraunces',Georgia,serif;overflow-wrap:anywhere}
 html:root body[data-theme][data-ambience] .card-heading-label>.discipline-chip{display:block;width:fit-content;margin:0 0 5px;font:500 12px/1.4 'DM Sans',sans-serif;background:transparent;border:0;padding:0;color:var(--ink)}
 html:root body[data-theme][data-ambience] .card-heading-label>small{display:block!important;margin:5px 0 0!important;font:450 12px/1.4 'DM Sans',sans-serif}
 html:root body[data-theme][data-ambience] .harmonized-card-heading>.card-tools{position:static!important;float:none!important;display:flex;width:auto!important;max-width:100%;min-height:36px;margin:0 0 0 auto!important;padding:0!important;align-self:center;background:transparent!important;gap:2px}
 html:root body[data-theme][data-ambience] .harmonized-card-heading>.card-grip{position:static!important;flex:0 0 28px!important;min-width:28px!important;width:28px!important;margin:0!important;background:transparent!important;border:0!important}
 html:root body[data-theme][data-ambience] .action-popup{background:var(--panel)!important;opacity:1;min-width:210px!important}
 html:root body[data-theme][data-ambience] .action-popup button{font-weight:500!important;white-space:normal!important}
 .profile-menu{display:flex;align-items:center}.profile-menu-identity{display:grid;gap:4px;padding:12px;border-bottom:1px solid var(--border);margin-bottom:5px;overflow-wrap:anywhere}.profile-menu-identity small{font-size:12px}.profile-popup hr{border:0;border-top:1px solid var(--border);margin:6px}
 .account-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 20px;border-bottom:1px solid var(--border);padding-bottom:12px}
 .account-tabs button[aria-pressed=true]{background:var(--primary)!important;color:var(--on-primary,var(--panel))!important}
 .account-section[hidden]{display:none!important}.account-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.account-section>.panel{margin:0!important;min-width:0}.account-section>.account-identity,.account-section>.conflicts,.account-section>.welcome-guide{grid-column:1/-1}
 .account-identity{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.account-identity>div:nth-child(2){flex:1;min-width:180px}.account-identity p{overflow-wrap:anywhere;margin:4px 0}.account-avatar{width:64px;height:64px;display:grid;place-items:center;flex:0 0 64px;border-radius:50%;background:var(--soft);color:var(--ink);font-weight:600;font-size:22px;overflow:hidden}.account-avatar img{width:100%;height:100%;object-fit:cover}
 .account-help{margin:12px 0;font-size:13px}.account-help>summary{font-weight:500;color:var(--ink)}.account-session{grid-column:1/-1}.account-layout .actions{display:flex;gap:8px;flex-wrap:wrap}.account-layout .actions>.actions{display:contents}
 .excerpt-compose{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:18px 0}.excerpt-compose>label:not(.file-action){display:grid;gap:6px;min-width:180px}.sharing-help{margin:12px 0 20px;font-size:13px}
 @media(max-width:760px){.account-section{grid-template-columns:minmax(0,1fr)}.account-tabs{gap:6px}.account-tabs button{flex:1 1 130px}.account-identity{gap:12px}.excerpt-compose>label:not(.file-action){flex:1 1 100%}}
 @media(pointer:coarse){html:root body[data-theme][data-ambience] :is(.more-trigger,.card-action-icon){min-height:44px!important;min-width:44px!important}}
}

@media screen and (max-width:900px){
 html:root body[data-theme][data-ambience] .section-tools{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:6px!important;padding:4px 0 10px!important}
 html:root body[data-theme][data-ambience] .section-tools>button{flex:0 1 auto!important;width:auto!important;min-width:0!important;white-space:normal!important;padding:7px 10px!important;line-height:1.4!important}
 html:root body[data-theme][data-ambience] .workspace-command-bar{flex-wrap:wrap!important;gap:6px!important}
}

@media screen {html:root body[data-theme][data-ambience] .teacher-profile{border-radius:50%!important;width:40px!important;height:40px!important;padding:0!important;overflow:hidden!important}html:root body[data-theme][data-ambience] .teacher-profile img{width:100%;height:100%;object-fit:cover}}

@media screen{
 html:root body[data-theme][data-ambience] .harmonized-panel-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:10px}
 html:root body[data-theme][data-ambience] .harmonized-panel-heading>h2,html:root body[data-theme][data-ambience] .harmonized-panel-heading>h3{flex:1;min-width:120px;margin:0!important}
 html:root body[data-theme][data-ambience] .harmonized-panel-heading>.card-tools{position:static!important;float:none!important;width:auto!important;min-height:36px;margin:0 0 0 auto!important;align-self:center}
 html:root body[data-theme][data-ambience] [data-subject]>.harmonized-panel-heading{background:color-mix(in srgb,var(--discipline-color,var(--primary)) 16%,var(--panel))!important;padding:10px;border-radius:6px}
}

@media screen and (max-width:760px){html:root body[data-theme] .work-page-head>div:first-child{position:relative}html:root body[data-theme] .page-help{position:static}html:root body[data-theme] .page-help>p{left:0;right:auto;min-width:0;width:min(320px,calc(100vw - 48px));font-weight:450}}

@media screen {
 html:root body[data-theme] .page-help:not([open])>p{display:none!important}
 html:root body[data-theme][data-ambience] .teacher-profile{mask:none!important;clip-path:none!important;border-radius:50%!important}
}
@media screen and (max-width:760px){html:root body[data-theme] .work-page-head{position:relative!important}html:root body[data-theme] .work-page-head>div:first-child,html:root body[data-theme] .page-help{position:static!important}html:root body[data-theme] .page-help>p{left:0!important;right:auto!important;min-width:0!important;width:min(320px,calc(100vw - 48px))!important}}
@media screen{html:root body[data-theme] .table-wrap{position:relative!important}html:root body[data-theme] :is(.card-action-icon,.quiet-icon){position:relative!important}}


/* 0.81.61 — proposition journal intégrée, dimensions compactes et sélection colorée. */
@media screen {
 html:root body[data-theme][data-ambience] #app :is(.muted,.small,.detail-note,.soft-note,small,.subject,.discipline-chip){color:var(--ink)!important;opacity:1}
 html:root body[data-theme][data-ambience] #app .work-page-head h1{font-size:24px!important;line-height:1.25!important;font-weight:600!important}
 html:root body[data-theme][data-ambience] #app .card-heading-label,html:root body[data-theme][data-ambience] #app .harmonized-panel-heading :is(h2,h3){font-size:15px!important;line-height:1.45!important;font-weight:600!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] #app #workNav [data-nav-item]>button.active{background:var(--soft)!important;color:var(--ink)!important;font-weight:600!important}
 html:root body[data-theme][data-ambience] #app #workNav [data-nav-item]>button.active span{font-weight:600!important}
 html:root body[data-theme][data-ambience] #app :is(.prep-card,.objective-card,.progression-card,.sequence-card,.journal-refined){background:var(--panel) linear-gradient(to bottom,color-mix(in srgb,var(--discipline-color,var(--primary)) 11%,var(--panel)) 0,var(--panel) 56px)!important;border-top:2px solid var(--discipline-color,var(--primary))!important}
 html:root body[data-theme][data-ambience] #app :is(.harmonized-card-heading,.harmonized-panel-heading){background:transparent!important;border:0!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] #app .harmonized-panel-heading{padding:3px 0!important}
 html:root body[data-theme][data-ambience] #app .journal-refined{padding:9px 12px!important;margin:0!important;min-height:78px!important;grid-template-columns:62px minmax(0,1fr) auto!important;gap:10px!important;border-radius:14px!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] #app .journal-refined :is(.workspace-fold,.workspace-body,.lesson-main){background:transparent!important}
 html:root body[data-theme][data-ambience] #app .journal-refined .workspace-fold{margin:0!important;padding:0!important}
 html:root body[data-theme][data-ambience] #app .journal-refined .harmonized-card-heading{padding:0!important;min-height:56px!important}
 html:root body[data-theme][data-ambience] #app .journal-refined .journal-time-marker{position:static!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:4px!important;width:auto!important;padding:5px 0!important;align-self:start!important}
 html:root body[data-theme][data-ambience] #app .journal-time-marker strong{font:500 12px/1.4 'DM Sans',sans-serif!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] #app .journal-time-marker small{display:flex;flex-direction:column;align-items:center;gap:4px;font:400 11px/1.4 'DM Sans',sans-serif!important}
 .journal-time-marker small:before,.journal-time-marker small:after{content:'';height:9px;width:1px;background:var(--border)}
 html:root body[data-theme][data-ambience] #app .journal-refined .journal-realisation{padding:0!important;margin:0!important;align-self:center}
 html:root body[data-theme][data-ambience] #app .journal-refined :is(p,.phase-summary li){font-weight:400!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] #app .phase-summary{counter-reset:lesson-step}
 html:root body[data-theme][data-ambience] #app .phase-summary>li{counter-increment:lesson-step;position:relative;padding-left:18px!important;margin-bottom:9px}
 html:root body[data-theme][data-ambience] #app .phase-summary>li:before{content:counter(lesson-step)!important;position:absolute;display:grid;place-items:center;left:-18px!important;top:0;width:25px!important;height:25px!important;border-radius:10px 8px 11px 7px!important;background:color-mix(in srgb,var(--step-color,var(--discipline-color,var(--primary))) 18%,var(--panel))!important;color:var(--ink)!important;font:600 12px 'DM Sans',sans-serif!important;border:1px solid color-mix(in srgb,var(--step-color,var(--discipline-color,var(--primary))) 38%,var(--panel))!important}
 html:root body[data-theme][data-ambience] #app .phase-summary>li:nth-child(3n+2){--step-color:#d39526}
 html:root body[data-theme][data-ambience] #app .phase-summary>li:nth-child(3n){--step-color:#53ac7f}
 html:root body[data-theme][data-ambience] #app :is(.lesson-phases,.material,.learning-relations>p,.learning-relations h4,.learning-relations li>details){border-radius:12px!important}
 @media(max-width:760px){
 html:root body[data-theme][data-ambience] #app .journal-refined{grid-template-columns:46px minmax(0,1fr)!important;padding:9px!important;gap:5px!important}
 html:root body[data-theme][data-ambience] #app .journal-refined .journal-realisation{grid-column:2!important;justify-content:flex-end!important}
 html:root body[data-theme][data-ambience] #app .journal-refined .harmonized-card-heading{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;gap:5px!important}
 html:root body[data-theme][data-ambience] #app .journal-refined .card-heading-label{min-width:0!important}
 html:root body[data-theme][data-ambience] #app .journal-refined .card-tools{grid-column:2!important;margin:0!important;justify-content:flex-end!important}
 }
}
@media print{.journal-insert,.journal-local-actions,.journal-bilan-edit,.journal-day-sub{display:none!important}}
@media screen{html:root body[data-theme][data-ambience] #app #workNav [data-nav-item]>button:not(.active),html:root body[data-theme][data-ambience] #app #workNav [data-nav-item]>button:not(.active) span{font-weight:500!important}}
@media screen{html:root body[data-theme][data-ambience] #app .card-heading-label>.discipline-chip{background:transparent!important;padding:0!important;border:0!important;font-size:12px!important;color:var(--ink)!important}}

/* 0.81.62 — cahier journal aligné sur la proposition validée (version 10).
   Ce bloc vit dans la couche usability44 : une déclaration !important de couche l’emporte sur toute déclaration !important hors couche,
   quelle que soit sa spécificité. Hors couche, les règles du journal restaient sans effet (marges, colonnes, position de « Réalisée »). */
@layer usability44 {
@media screen {
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal]>.toolbar{margin:8px 0 16px!important}

 /* Titre du jour : période et nombre de séances sous le titre, actions du jour à droite. */
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-day-heading{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:8px 12px!important;margin:14px 0 8px!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-day-title{flex:0 1 auto!important;min-width:0!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-day-heading h2{font-family:var(--ox-font)!important;font-size:21px!important;line-height:1.35!important;font-weight:var(--ox-title-weight)!important;margin:0!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-day-sub{margin:5px 0 0!important;font:450 12px/1.5 'DM Sans',sans-serif!important;color:var(--ox-muted)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .calendar-banner[hidden]{display:none!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-local-actions{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:5px!important;margin:0 0 0 auto!important;padding:0!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .week-day .journal-local-actions{width:100%!important;margin-left:0!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-local-separator{flex:none!important;width:1px!important;height:17px!important;margin:0 3px!important;background:var(--ox-rule)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-local-actions :is(.secondary-actions,.print-actions){display:inline-flex!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] :is(.journal-new,.journal-local-icon,.journal-local-actions .more-trigger,.journal-local-actions [data-print-layout]){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;padding:7px!important;border:0!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;mask:none!important;clip-path:none!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-local-actions>.journal-new{width:auto!important;padding:6px 10px!important;border:1px solid var(--ox-rule)!important;background:var(--ox-soft)!important;font:500 13px/1.4 'DM Sans',sans-serif!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] :is(.journal-new,.journal-local-icon,.journal-local-actions .more-trigger,.journal-local-actions [data-print-layout]):hover{background:var(--ox-hover)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] :is(.journal-new,.journal-local-icon,.journal-local-actions .more-trigger,.journal-local-actions [data-print-layout]) svg{flex:none!important;width:18px!important;height:18px!important}

 /* Ajout entre deux séances : + discret, puis trois branches courbes vers les vrais éditeurs. */
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;grid-column:1/-1!important;clear:both!important;min-height:30px!important;margin:0!important;padding:0!important;transition:min-height .2s ease!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert.is-open{min-height:112px!important;padding-bottom:8px!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert-toggle{display:grid!important;place-items:center!important;width:46px!important;min-width:46px!important;height:28px!important;min-height:28px!important;padding:3px 10px!important;border:0!important;border-radius:6px!important;background:transparent!important;box-shadow:none!important;mask:none!important;clip-path:none!important;color:var(--ox-accent)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert-toggle svg{width:24px!important;height:20px!important;transition:transform .2s!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert-toggle[aria-expanded=true] svg{transform:rotate(45deg)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert-choices{position:relative!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;width:min(540px,100%)!important;padding:25px 0 10px!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert-choices[hidden]{display:none!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-branches{position:absolute!important;top:-4px!important;left:0!important;width:100%!important;height:30px!important;overflow:visible!important;pointer-events:none!important;color:color-mix(in srgb,var(--primary) 50%,var(--border))!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert-choices>button{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:auto!important;min-height:38px!important;padding:8px!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;mask:none!important;clip-path:none!important;font:550 13px/1.4 'DM Sans',sans-serif!important;color:var(--ink)!important;white-space:normal!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert-choices>button svg{flex:none!important;width:18px!important;height:18px!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] :is(.journal-insert-toggle,.journal-insert-choices>button):hover{background:var(--ox-hover)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert-library{display:grid!important;gap:5px!important;width:min(540px,100%)!important;max-height:260px!important;overflow:auto!important;padding:10px!important;border:1px solid var(--border)!important;border-radius:12px!important;background:var(--panel)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert-library button{text-align:left!important;font-size:13px!important}

 /* Carte de séance. Le dégradé reste limité à la zone du titre, dans les deux présentations. */
 html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal] .lesson.journal-entry.journal-refined{background:var(--panel) linear-gradient(to bottom,color-mix(in srgb,var(--discipline-color,var(--primary)) 11%,var(--panel)) 0,var(--panel) 56px)!important}
 html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined{padding:9px 12px!important;margin:0!important}
 html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined>.journal-realisation{grid-column:3!important;grid-row:1!important;align-self:start!important;padding:0!important;margin:0!important}
 html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined>.journal-flow-gap{display:none!important}
 html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined>.journal-time-marker{position:static!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:4px!important;width:auto!important;padding:8px 0!important;align-self:start!important}
 html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined>.journal-time-marker strong{font:600 13px/1.3 'DM Sans',sans-serif!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined>.journal-time-marker small{display:flex!important;flex-direction:column!important;align-items:center!important;gap:3px!important;margin:0!important;font:500 11px/1.4 'DM Sans',sans-serif!important;color:var(--ox-muted)!important;white-space:nowrap!important}
 html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined>.journal-time-marker small:before,html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined>.journal-time-marker small:after{content:''!important;width:1px!important;height:7px!important;background:var(--ox-rule)!important}
 html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined .card-grip{width:20px!important;min-width:20px!important;flex-basis:20px!important;opacity:.55!important}
 html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined .card-grip:is(:hover,:focus-visible){opacity:1!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .card-heading-label{font-family:var(--ox-font)!important;font-size:17px!important;line-height:1.4!important;font-weight:var(--ox-title-weight)!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .card-heading-label>small{display:none!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .card-heading-label>.discipline-chip{margin:0 0 4px!important;padding:0!important;border:0!important;background:transparent!important;font:500 12px/1.4 'DM Sans',sans-serif!important;color:var(--ox-muted)!important;opacity:1!important}

 /* Contenu déplié : texte foncé et lisible, matériel et déroulement dans des blocs doux. */
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .workspace-body{margin:8px 0 0!important;padding:16px 6px 8px!important;border-top:1px solid color-mix(in srgb,var(--ox-rule) 50%,var(--panel))!important;background:transparent!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .lesson-main{font:400 15px/1.65 'DM Sans',sans-serif!important;color:var(--ink)!important;background:transparent!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .lesson-main :is(p,.subject,summary){font-size:16px!important;font-weight:400!important;line-height:1.6!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .lesson-main .material{padding:10px 13px!important;border-left:2px solid var(--ox-rule)!important;border-radius:0 6px 6px 0!important;background:var(--ox-soft)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .lesson-main .lesson-phases{margin:14px 0!important;padding:10px 14px!important;border:1px solid color-mix(in srgb,var(--ox-rule) 70%,var(--panel))!important;border-radius:9px!important;background:var(--panel)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .phase-summary{list-style:none!important;margin:14px 0 4px 5px!important;padding:0 0 0 12px!important;border-left:1px solid var(--ox-rule)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .phase-summary>li{position:relative!important;margin:5px 0!important;padding:0 0 12px 6px!important;font-size:14px!important;font-weight:400!important;line-height:1.45!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .phase-summary>li:before{left:-23px!important;top:0!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .phase-summary>li strong{font-size:14px!important;font-weight:600!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .phase-summary>li p{margin:4px 0!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .lesson-main>small{font-size:12px!important;font-weight:400!important;color:var(--ox-muted)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .learning-relations :is(p,summary){font-size:15px!important;font-weight:400!important;line-height:1.5!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .learning-relations>summary{font-weight:600!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .learning-relations li>details{margin:7px 0!important;padding:8px 12px!important;border:1px solid color-mix(in srgb,var(--ox-rule) 70%,var(--panel))!important;border-radius:14px 10px 16px 9px!important;background:var(--panel)!important}

 /* Bilan du jour : bloc sobre, modifiable là où il se lit. */
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .bilan{margin:12px 0 0!important;padding:13px 16px!important;border:1px solid var(--border)!important;border-left:2px solid color-mix(in srgb,var(--primary) 30%,var(--panel))!important;border-radius:10px!important;background:var(--panel)!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .bilan :is(.eyebrow,p){color:var(--ink)!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .bilan p{margin:7px 0!important;font-size:13px!important}
 html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .bilan>.journal-bilan-edit{float:right!important;margin:-5px -7px 0 8px!important}

 @media (hover:hover) and (pointer:fine){
  html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined .card-tools button{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;padding:6px!important}
  html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined .card-tools>.secondary-actions{width:32px!important;min-width:32px!important;flex-basis:32px!important}
 }
 @media (max-width:760px){
  html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-local-actions{width:100%!important;margin-left:0!important;gap:1px!important}
  html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-local-separator{display:none!important}
  html:root body[data-theme][data-ambience] .work-content.workspace-reference[data-workspace-view=journal]:not(.journal-path) .lesson.journal-entry.journal-refined>.journal-time-marker{grid-row:1!important}
  html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert.is-open{min-height:130px!important}
  html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-insert-choices>button{flex-direction:column!important;gap:4px!important;padding:7px 5px!important;font-size:11px!important;text-align:center!important}
  html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .card-heading-label{font-size:16px!important}
  html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] .journal-refined .lesson-main :is(p,.subject,summary){font-size:15px!important}
 }
 @media (prefers-reduced-motion:reduce){
  html:root body[data-theme][data-ambience] .work-content[data-workspace-view=journal] :is(.journal-insert,.journal-insert-toggle svg){transition:none!important}
 }
}
}

/* 0.81.63 — harmonie générale : une seule écriture, des formes courbes partout, les outils toujours au même endroit,
   les sous-pages dans le menu. Même couche que le journal ; les sélecteurs sont ancrés sur #app pour l’emporter
   sur les règles de couche plus anciennes sans dépendre de leur spécificité. */
@layer usability44 {
@media screen {
 html:root{--ox-font:'Fraunces',Georgia,serif;--ox-r-control:6px;--ox-r-block:8px;--ox-r-pill:999px}
 html:root body[data-theme]{--ox-muted:color-mix(in srgb,var(--ink) 86%,var(--panel));--ox-rule:color-mix(in srgb,var(--primary) 16%,color-mix(in srgb,var(--ink) 10%,var(--panel)));--ox-soft:color-mix(in srgb,var(--primary) 4%,var(--panel));--ox-hover:color-mix(in srgb,var(--primary) 10%,var(--panel));--ox-accent:color-mix(in srgb,var(--primary) 50%,var(--ink));--ox-title-weight:650}
 html:root body[data-theme=nuit]{--ox-muted:var(--ink)}

 /* Écriture : la même famille pour tous les textes du site. */
 html:root body[data-theme]{font-family:var(--ox-font)!important;font-variant-numeric:lining-nums!important}
 html:root body[data-theme] #app *,html:root body[data-theme] #app *::before,html:root body[data-theme] #app *::after,html:root body[data-theme]>:is(dialog,.action-popup,.select-popup,.ox-tip,#toast),html:root body[data-theme]>:is(dialog,.action-popup,.select-popup,#toast) *,html:root body[data-theme]>:is(dialog,.action-popup,.select-popup) *::before{font-family:var(--ox-font)!important}

 /* Formes : rectangles courbes pour les blocs, commandes arrondies, pastilles pour les étiquettes. Aucun angle droit. */
 html:root body[data-theme][data-ambience=none] #app :is(button,.file-action,.ui-control,.select-trigger):not(.teacher-profile):not(.navigation-seam):not(.card-grip):not(.journal-realisation-control):not(.path-card):not(.calendar-axis):not([data-workspace-mode]),html:root body[data-theme][data-ambience=none] #app :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea,.ui-field,.shape-field),html:root body[data-theme][data-ambience=none]>:is(dialog,.action-popup,.select-popup) :is(button,.file-action,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea,.select-trigger,.shape-field){border-radius:var(--ox-r-control)!important}
 html:root body[data-theme][data-ambience=none] #app :is(.panel,.work-panel,.detail-card,.prep-card,.sequence-card,.objective-card,.progression-card,.evaluation-card,.rotation-card,.lesson,.metric,.empty,.table-wrap,.soft-note,.detail-note,.calendar-banner,.agenda-entry,.month-day,.bilan,.report-document,.weekly-planning,.material,.lesson-phases,.criterion-editor,.phase-editor,.material-editor,.inline-editor,.agenda-days,.timetable-calendar,.agenda-slot,.timetable-slot),html:root body[data-theme][data-ambience=none]>dialog.editor{border-radius:var(--ox-r-block)!important}
 html:root body[data-theme][data-ambience=none] #app :is(.badge,.discipline-chip,.legend>span,.report-position,.avatar,.program-coverage-summary>div){border-radius:var(--ox-r-pill)!important}
 html:root body[data-theme][data-ambience=none] #app :is(.learning-relations>h4,.workspace-body>h3,.month-lesson){border-radius:var(--ox-r-control)!important}
 html:root body[data-theme][data-ambience=none] #app #workNav [data-nav-item]>button[data-action]{border-radius:0!important}

 /* Aucun texte de commande souligné. */
 html:root body[data-theme] #app :is(button,.file-action,summary){text-decoration:none!important}

 /* Outils d’une carte : toujours en haut à droite, quelle que soit la longueur du titre. */
 html:root body[data-theme] #app .harmonized-panel-heading{display:flex!important;flex-wrap:nowrap!important;align-items:flex-start!important;gap:10px!important;width:100%!important;align-self:stretch!important;box-sizing:border-box!important}
 html:root body[data-theme] #app .harmonized-panel-heading>:is(h2,h3){flex:1 1 auto!important;min-width:0!important}
 html:root body[data-theme] #app .harmonized-panel-heading>.card-tools{flex:none!important;position:static!important;float:none!important;width:auto!important;margin:0 0 0 auto!important;align-self:flex-start!important}
 html:root body[data-theme] #app summary.harmonized-card-heading>.card-heading-label{flex:1 1 auto!important;min-width:0!important}
 html:root body[data-theme] #app summary.harmonized-card-heading>.card-tools{flex:none!important;margin-left:auto!important;align-self:flex-start!important}

 /* Carnets : sur une ligne large, les outils rejoignent le bord droit comme dans toutes les cartes. */
 @media (min-width:1000px){
  html:root body[data-theme] #app .learningbook-row>.harmonized-panel-heading{display:contents!important}
  html:root body[data-theme] #app .learningbook-row>.harmonized-panel-heading>:is(h2,h3){grid-column:1!important;grid-row:1!important}
  html:root body[data-theme] #app .learningbook-row>.harmonized-panel-heading>.card-tools{grid-column:3!important;grid-row:1!important;justify-self:end!important;align-self:start!important}
  html:root body[data-theme] #app .learningbook-row>.actions{grid-column:3!important;grid-row:2!important;justify-self:end!important}
 }

 /* Cartes : fin liseré de matière et dégradé léger, limité au haut de la carte ; toute la zone du titre déplie. */
 html:root body[data-theme] #app :is([data-lesson-card],.prep-card,.sequence-card,.objective-card,.progression-card):has(>.workspace-fold){cursor:pointer}
 html:root body[data-theme] #app :is([data-lesson-card],.prep-card,.sequence-card,.objective-card,.progression-card)>.workspace-fold>.workspace-body{cursor:auto}

 html:root body[data-theme][data-ambience=none] #app .objective-card{border:1px solid var(--line)!important;border-top:3px solid var(--discipline-color,var(--primary))!important;background:var(--panel) linear-gradient(to bottom,color-mix(in srgb,var(--discipline-color,var(--primary)) 11%,var(--panel)) 0,var(--panel) 56px)!important}
 /* Même lecture dans toutes les cartes dépliables : titre net, texte courant confortable. */
 html:root body[data-theme] #app :is(.prep-card,.sequence-card,.objective-card,.progression-card) .card-heading-label{font-size:17px!important;line-height:1.4!important;font-weight:var(--ox-title-weight)!important;color:var(--ink)!important}
 html:root body[data-theme] #app :is(.prep-card,.sequence-card,.objective-card,.progression-card) .card-heading-label>.discipline-chip{margin:0 0 4px!important;padding:0!important;border:0!important;background:transparent!important;font-size:12px!important;font-weight:500!important;line-height:1.4!important;color:var(--ox-muted)!important}
 html:root body[data-theme] #app :is(.prep-card,.sequence-card,.objective-card,.progression-card)>.workspace-fold>.workspace-body :is(p,.subject,li){font-size:15px!important;line-height:1.55!important;color:var(--ink)!important}
 html:root body[data-theme] #app :is(.prep-card,.sequence-card,.objective-card,.progression-card)>.workspace-fold>.workspace-body :is(small,.small,.label){font-size:13px!important;color:var(--ox-muted)!important}

 /* Référentiel et liens : rubriques en pastilles, éléments encadrés une seule fois, plus de filets doublés. */
 html:root body[data-theme] #app .learning-relations>summary{border-bottom:0!important}
 html:root body[data-theme] #app .learning-relations>p:first-of-type{border-left:0!important;border-radius:var(--ox-r-block)!important;padding:9px 14px!important}
 html:root body[data-theme] #app .learning-relations>h4{display:inline-flex!important;width:auto!important;border-left:0!important;border-radius:var(--ox-r-control)!important;padding:4px 14px!important;margin:12px 0 6px!important}
 html:root body[data-theme] #app .learning-relations>ul{display:grid!important;gap:6px!important;border-left:0!important;padding:0!important;margin:0 0 10px!important}
 html:root body[data-theme] #app .learning-relations>ul>li>details{margin:0!important;padding:6px 12px!important;border:1px solid color-mix(in srgb,var(--section-accent,var(--primary)) 22%,var(--panel))!important;border-radius:var(--ox-r-block)!important;background:var(--panel)!important}
 html:root body[data-theme] #app .learning-relations>ul>li>details>summary{border-bottom:0!important;padding:4px 0!important}
 html:root body[data-theme] #app .learning-relations>ul>li>details>button{margin:4px 0 6px!important}

 /* Compteurs de couverture : pastilles, sans barre latérale. */
 html:root body[data-theme] #app .program-coverage-summary>div{border-inline-start:0!important;border-radius:var(--ox-r-pill)!important;padding:5px 14px!important;background:var(--panel)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 24%,transparent)!important}
 html:root body[data-theme] #app .workspace-body>h3{border-left:0!important;display:inline-flex!important;padding:4px 14px!important}

 /* Pastille de matière : elle ouvre le choix de la couleur. */
 html:root body[data-theme] #app .discipline-chip[data-subject-color]{cursor:pointer!important}
 html:root body[data-theme] #app .discipline-chip[data-subject-color]:is(:hover,:focus-visible){outline:2px solid color-mix(in srgb,var(--discipline-color,var(--primary)) 45%,transparent)!important;outline-offset:2px!important}

 /* Menu : les pages d’une rubrique sous la rubrique, les favoris en tête. */
 html:root body[data-theme] #app #workNav .nav-item.nav-parent>button[data-action]{padding-right:54px!important}
 html:root body[data-theme] #app #workNav .nav-expand{position:absolute!important;top:8px!important;right:22px!important;display:grid!important;place-items:center!important;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;border:0!important;border-radius:var(--ox-r-control)!important;background:transparent!important;box-shadow:none!important;color:var(--ink)!important;opacity:.65!important;cursor:pointer}
 html:root body[data-theme] #app #workNav .nav-expand:is(:hover,:focus-visible){opacity:1!important;background:color-mix(in srgb,var(--primary) 12%,var(--panel))!important}
 html:root body[data-theme] #app #workNav .nav-expand svg{transition:transform .15s!important}
 html:root body[data-theme] #app #workNav .nav-expand[aria-expanded=true] svg{transform:rotate(90deg)!important}
 html:root body[data-theme] #app #workNav .nav-sub{display:grid!important;gap:2px!important;padding:2px 10px 8px 40px!important}
 html:root body[data-theme] #app #workNav .nav-favorites{display:grid!important;gap:2px!important;padding:0 10px 6px 8px!important}
 html:root body[data-theme] #app #workNav .nav-favorites>h2{margin:12px 10px 5px!important}
 html:root body[data-theme] #app #workNav .nav-subitem{display:flex!important;align-items:center!important;gap:2px!important;min-width:0!important}
 html:root body[data-theme] #app #workNav .nav-subitem>button[data-action]{flex:1 1 auto!important;min-width:0!important;min-height:30px!important;padding:5px 10px!important;border:0!important;border-radius:var(--ox-r-control)!important;background:transparent!important;box-shadow:none!important;color:var(--ink)!important;font-size:12px!important;font-weight:450!important;line-height:1.3!important;text-align:left!important;cursor:pointer}
 html:root body[data-theme] #app #workNav .nav-subitem>button[data-action]:hover{background:color-mix(in srgb,var(--primary) 8%,var(--panel))!important}
 html:root body[data-theme] #app #workNav .nav-subitem>button[aria-current=page]{background:color-mix(in srgb,var(--primary) 14%,var(--panel))!important;font-weight:600!important}
 html:root body[data-theme] #app #workNav .nav-subitem>.nav-star{flex:none!important;display:grid!important;place-items:center!important;width:26px!important;min-width:26px!important;height:26px!important;min-height:26px!important;padding:0!important;border:0!important;border-radius:var(--ox-r-control)!important;background:transparent!important;box-shadow:none!important;color:var(--ink)!important;opacity:0!important;cursor:pointer}
 html:root body[data-theme] #app #workNav .nav-subitem:hover>.nav-star,html:root body[data-theme] #app #workNav .nav-subitem>.nav-star:focus-visible{opacity:.7!important}
 html:root body[data-theme] #app #workNav .nav-subitem>.nav-star[aria-pressed=true]{opacity:1!important;color:color-mix(in srgb,var(--primary) 70%,var(--ink))!important}
 @media (pointer:coarse){html:root body[data-theme] #app #workNav .nav-subitem>.nav-star{opacity:.6!important}html:root body[data-theme] #app #workNav .nav-subitem>button[data-action]{min-height:40px!important}html:root body[data-theme] #app #workNav :is(.nav-expand,.nav-subitem>.nav-star){width:40px!important;height:40px!important}}

 /* Petit écran : le menu est un tiroir assez large pour porter les sous-pages et les favoris. */
 @media (max-width:900px){
  html:root body[data-theme] #app #workNav{width:min(300px,86vw)!important;max-width:86vw!important;padding-left:0!important;padding-right:0!important}
  html:root body[data-theme] #app #workNav .nav-drawer-close{justify-content:flex-end!important;margin:0 0 6px!important;padding:0 12px!important}
  html:root body[data-theme] #app #workNav .nav-scroll{width:100%!important;align-items:stretch!important}
  html:root body[data-theme] #app #workNav .nav-scroll>h2{display:block!important}
  html:root body[data-theme] #app #workNav .nav-item{width:100%!important}
  html:root body[data-theme] #app #workNav .nav-item>button[data-action]{flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:12px!important;width:100%!important;min-height:44px!important;padding:10px 18px!important;text-align:left!important}
  html:root body[data-theme] #app #workNav .nav-item>button[data-action]>span:nth-child(2){flex:1 1 auto!important;width:auto!important;font-size:13px!important;letter-spacing:0!important;text-align:left!important;white-space:normal!important}
  html:root body[data-theme] #app #workNav .nav-item.nav-parent>button[data-action]{padding-right:60px!important}
  html:root body[data-theme] #app #workNav .nav-expand{top:4px!important;right:12px!important;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important}
  /* Écran tactile : la poignée de rangement tient sur la ligne de la rubrique, au lieu d’occuper une ligne à elle seule. */
  html:root body[data-theme] #app #workNav .nav-item>.nav-controls{position:absolute!important;top:0!important;right:8px!important;width:44px!important;height:44px!important;display:grid!important;place-items:center!important}
  html:root body[data-theme] #app #workNav .nav-item.nav-parent>.nav-controls{right:52px!important}
  html:root body[data-theme] #app #workNav .nav-item:has(>.nav-controls)>button[data-action]{padding-right:60px!important}
  html:root body[data-theme] #app #workNav .nav-item.nav-parent:has(>.nav-controls)>button[data-action]{padding-right:104px!important}
  html:root body[data-theme] #app #workNav .nav-subitem>button[data-action]{min-height:40px!important;font-size:13px!important}
  html:root body[data-theme] #app #workNav .nav-subitem>.nav-star{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;opacity:.6!important}
 }

 /* Présentation Déroulé / Schéma sur la ligne du titre : une rangée de moins dans la page. */
 html:root body[data-theme] #app .work-page-head>div:first-child{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px 12px!important}
 html:root body[data-theme] #app .workspace-command-inline{display:inline-flex!important;align-items:center!important;gap:10px!important;margin:0 0 0 8px!important;padding:0!important;border:0!important;min-height:0!important;grid-template-columns:none!important}
 html:root body[data-theme] #app .work-page-head>div:first-child>.flow-reset[aria-hidden=true]{display:none!important}

 /* Bulle d’aide des icônes. */
 html:root body[data-theme]>.ox-tip{position:fixed!important;z-index:10000!important;max-width:260px!important;padding:5px 10px!important;border-radius:var(--ox-r-control)!important;background:var(--ink)!important;color:var(--panel)!important;font-size:12px!important;font-weight:500!important;line-height:1.35!important;pointer-events:none!important;box-shadow:0 4px 14px color-mix(in srgb,var(--ink) 22%,transparent)!important}
 html:root body[data-theme]>.ox-tip[hidden]{display:none!important}

 /* Choix d’une couleur de matière. */
 html:root body[data-theme]>dialog .subject-color-presets{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:10px 0 14px!important}
 html:root body[data-theme]>dialog .subject-color-presets>button{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;border:2px solid var(--panel)!important;border-radius:var(--ox-r-pill)!important;background:var(--swatch)!important;box-shadow:0 0 0 1px var(--border)!important;cursor:pointer}
 html:root body[data-theme]>dialog .subject-color-presets>button[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)!important}

 /* Agenda et emploi du temps : une seule ligne de réglages, les heures écrites une seule fois, des créneaux plus larges. */
 html:root body[data-theme] #app .calendar-command-bar{display:flex!important;flex-wrap:wrap!important;align-items:flex-end!important;gap:8px 14px!important;margin:0 0 8px!important}
 html:root body[data-theme] #app .calendar-command-bar>.toolbar{display:flex!important;flex-wrap:nowrap!important;align-items:flex-end!important;flex:0 1 auto!important;width:auto!important;margin:0!important;padding:0!important;background:transparent!important;gap:8px 12px!important}
 html:root body[data-theme] #app .calendar-command-bar>.toolbar :is(label,.filter-field){flex:0 1 190px!important;width:auto!important;min-width:140px!important}
 html:root body[data-theme] #app .calendar-command-bar>.toolbar :is(label,.filter-field):has(#timetable-model){flex:0 0 270px!important;min-width:min(270px,100%)!important}
 html:root body[data-theme] #app .calendar-command-bar>.toolbar :is(label,.filter-field):has(#timetable-model) .shape-field{width:100%!important;max-width:100%!important}
 /* Téléphone : les réglages passent à la ligne au lieu d’élargir la page. */
 @media (max-width:700px){
  html:root body[data-theme] #app .calendar-command-bar>.toolbar{flex-wrap:wrap!important;flex:1 1 100%!important;min-width:0!important}
  /* Deux réglages par ligne : la grille commence plus haut. */
  html:root body[data-theme] #app .calendar-command-bar>.toolbar :is(label,.filter-field){flex:1 1 calc(50% - 6px)!important;min-width:0!important;max-width:100%!important}
  html:root body[data-theme] #app .calendar-command-bar>.toolbar :is(label,.filter-field) .shape-field{width:100%!important;max-width:100%!important}
  html:root body[data-theme] #app .calendar-command-bar>.toolbar button.select-trigger{font-size:14px!important;gap:8px!important;padding-left:10px!important;padding-right:10px!important}
  html:root body[data-theme] #app .calendar-command-bar>.toolbar :is(label,.filter-field):has(#timetable-model){flex:1 1 100%!important;min-width:0!important}
 }
 html:root body[data-theme] #app .calendar-command-bar>.calendar-density{flex:0 0 auto!important;width:auto!important;margin:0 0 0 auto!important;gap:6px!important}
 html:root body[data-theme] #app .calendar-command-bar .calendar-zoom{display:inline-flex!important;align-items:center!important;gap:6px!important}
 html:root body[data-theme] #app .calendar-command-bar .calendar-zoom input{width:84px!important}
 html:root body[data-theme] #app :is(.agenda-days:not(.agenda-month),.timetable-calendar)>section:not(:first-child) .agenda-hour{color:transparent!important;background:transparent!important}
 html:root body[data-theme] #app :is(.agenda-days:not(.agenda-month),.timetable-calendar)>section:not(:first-child) .calendar-axis{display:none!important}
 html:root body[data-theme] #app :is(.agenda-days:not(.agenda-month),.timetable-calendar)>section:not(:first-child) :is(.agenda-slot,.timetable-slot){left:3px!important}

 /* 0.81.64 — accueil : le sous-titre d’une silhouette prend la couleur de sa carte. Depuis 0.81.61 une règle générale le forçait à l’encre,
    ce qui le rendait presque invisible sur la carte pleine (1,2:1 à 3,3:1 sur 11 palettes). */
 html:root body[data-theme][data-ambience] #app .path-card :is(small,.symbol){color:inherit!important}

 /* 0.81.64 — bascule Déroulé / Schéma : le mode actif se lit à son encre et à sa graisse, sans trait dessous. Elle reste discrète : ni fond ni contour. */
 html:root body[data-theme] #app .workspace-modes[aria-label="Présentation"]>button[aria-pressed=true]::after{content:none!important}
 /* Le trait épaissit la lettre sans changer sa largeur : la bascule ne bouge pas d’un pixel quand on change de mode. */
 html:root body[data-theme] #app .workspace-modes[aria-label="Présentation"]>button{font-weight:500!important}
 html:root body[data-theme] #app .workspace-modes[aria-label="Présentation"]>button[aria-pressed=true]{color:var(--ink)!important;-webkit-text-stroke:.45px currentColor}

 /* 0.81.64 — fenêtre de séance : place dans la programmation (domaine, sous-domaine, compétence, séquence, étape). */
 html:root body[data-theme] dialog.editor fieldset.lesson-links{display:grid!important;gap:12px!important}
 html:root body[data-theme] dialog.editor fieldset.lesson-links>:is(label,.form-row){margin:0!important}
 html:root body[data-theme] dialog.editor fieldset.lesson-links .form-row>label{margin:0!important}
 html:root body[data-theme] dialog.editor .lesson-links-hint{margin:0!important;font-size:13px!important;line-height:1.5!important;color:var(--ox-muted)!important}
 html:root body[data-theme] dialog.editor .lesson-links-hint:empty{display:none!important}

 /* 0.81.64 — carte d’une matière : plus de dégradé. Sa couleur tient dans un bandeau franc en haut de la carte, plus épais qu’avant (5 px au lieu de 3). */
 html:root body[data-theme][data-ambience] #app :is(.prep-card,.sequence-card,.objective-card,.progression-card,.evaluation-card,.detail-card,.lesson.journal-entry)[data-subject]{background:var(--panel)!important;background-image:none!important;border-top:var(--ox-subject-bar,5px) solid var(--discipline-color,var(--primary))!important}

 /* 0.81.66 — lisibilité. Demande du porteur : textes plus petits, gras réservé aux titres, cartes compactes,
    et le texte d’explication d’Oxaleo nettement en retrait du travail de l’enseignante.
    Une seule échelle : page 21 · section 16 · carte 14 · contenu 13,5 · repère 12 · explication 12.
    Le texte d’explication se distingue par sa taille, pas par une encre plus pâle : mesuré dans les pixels, un texte de 12 px
    plus clair que 86 % d’encre passe sous 4,5:1 sur plusieurs palettes. */
 html:root body[data-theme]{--ox-t-page:21px;--ox-t-section:16px;--ox-t-card:14px;--ox-t-body:13.5px;--ox-t-meta:12px;--ox-t-control:12.5px;--ox-quiet:var(--ox-muted)}

 /* Contenu : une taille, graisse normale. */
 html:root body[data-theme][data-ambience] #app .work-content :is(p,li,dd,td,th,summary,.multiline){font-size:var(--ox-t-body)!important;font-weight:400!important;line-height:1.5!important}
 html:root body[data-theme][data-ambience] #app .work-content :is(strong,b){font-weight:500!important}
 /* Titres : les seuls textes en gras. */
 html:root body[data-theme][data-ambience] #app .work-page-head h1{font-size:var(--ox-t-page)!important;font-weight:600!important}
 html:root body[data-theme][data-ambience] #app .work-content :is(h2,h3){font-size:var(--ox-t-card)!important;font-weight:600!important;line-height:1.3!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-day-title>h2{font-size:var(--ox-t-section)!important}
 html:root body[data-theme][data-ambience] #app .work-content .card-heading-label{font-size:var(--ox-t-card)!important;font-weight:600!important;line-height:1.3!important}
 html:root body[data-theme][data-ambience] #app .work-content h4{font-size:11.5px!important;font-weight:500!important}
 /* Repères : discipline, niveaux, durées, dates. */
 html:root body[data-theme][data-ambience] #app .work-content :is(small,.small,.label,.subject,.coverage-state,.journal-day-sub){font-size:var(--ox-t-meta)!important;font-weight:400!important;line-height:1.4!important}
 /* Explications d’Oxaleo : petites et atténuées, jamais au niveau du contenu de l’enseignante. */
 html:root body[data-theme][data-ambience] #app .work-content :is(.soft-note,.detail-note,.empty p,.page-help p,.panel>p:not(.multiline):not(.material),p.small,.calendar-help,.lesson-links-hint,main>p:not(.multiline)){font-size:12px!important;font-weight:400!important;line-height:1.45!important;color:var(--ox-quiet)!important}
 html:root body[data-theme][data-ambience] #app .work-content :is(.soft-note,.detail-note){padding:6px 10px!important;margin:6px 0!important;background:var(--ox-soft)!important;border:0!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] #app .work-content :is(.soft-note,.detail-note) :is(h2,h3,strong){font-size:12px!important;font-weight:500!important;color:var(--ox-quiet)!important}
 /* Commandes et champs. */
 html:root body[data-theme][data-ambience] #app .work-content :is(button,.file-action,.ui-control):not(.card-grip):not(.flow-grip):not(.matrix-row-resize):not(.matrix-column-resize):not(.agenda-resize):not(.timetable-resize):not(.select-trigger):not(.agenda-slot *):not(.timetable-slot *){font-size:var(--ox-t-control)!important;font-weight:450!important}
 html:root body[data-theme][data-ambience] #app .work-content :is(button.primary,button.cta){font-weight:500!important}
 html:root body[data-theme][data-ambience] #app .work-content :is(label,.filter-field){font-size:12px!important;font-weight:400!important}
 html:root body[data-theme][data-ambience] #app .work-content :is(.select-trigger,input,select,textarea){font-size:13px!important;font-weight:400!important}
 html:root body[data-theme][data-ambience] #app .work-header :is(.select-trigger,span,button){font-weight:450!important}

 /* Étapes du déroulement. */
 html:root body[data-theme][data-ambience] #app .work-content ol.phase-summary>li,html:root body[data-theme][data-ambience] #app .work-content ol.phase-summary>li>:is(p,strong){font-size:13px!important;line-height:1.45!important}
 html:root body[data-theme][data-ambience] #app .work-content ol.phase-summary>li>strong{font-weight:500!important}

 /* Liens et référentiel : un détail, pas le contenu. */
 html:root body[data-theme][data-ambience] #app .work-content .learning-relations :is(p,li,summary,small){font-size:12.5px!important}
 html:root body[data-theme][data-ambience] #app .work-content .learning-relations>summary{font-size:12.5px!important;font-weight:500!important}

 /* Tableaux. */
 html:root body[data-theme][data-ambience] #app .work-content :is(td,th){font-size:12.5px!important}
 html:root body[data-theme][data-ambience] #app .work-content thead th{font-size:11.5px!important;font-weight:500!important}

 /* Mode classe : le minuteur reste lisible de loin sans écraser la page. */
 html:root body[data-theme][data-ambience] #app .work-content .timer>strong{font-size:24px!important;font-weight:500!important}

 /* Journal : carte repliée basse, repère horaire resserré. */
 html:root body[data-theme][data-ambience] #app .work-content[data-workspace-view=journal] .lesson.journal-entry{padding-top:5px!important;padding-bottom:5px!important;min-height:0!important}
 html:root body[data-theme][data-ambience] #app .work-content[data-workspace-view=journal] .lesson.journal-entry>.journal-time-marker{padding:3px 0!important;gap:1px!important;font-size:12px!important}
 html:root body[data-theme][data-ambience] #app .work-content[data-workspace-view=journal] .lesson.journal-entry>.journal-time-marker>strong{font-size:12px!important;font-weight:500!important;line-height:1.2!important}
 html:root body[data-theme][data-ambience] #app .work-content[data-workspace-view=journal] .lesson.journal-entry>.journal-time-marker>small{font-size:11px!important;gap:1px!important;line-height:1.2!important;color:var(--ox-quiet)!important}
 html:root body[data-theme][data-ambience] #app .work-content .harmonized-card-heading{min-height:0!important}
 /* Séance dépliée : l’essentiel (activités) d’abord ; matériel, déroulement, version et liens en détail compact. */
 html:root body[data-theme][data-ambience] #app .work-content[data-workspace-view=journal] .journal-refined .lesson-main>p.material{font-size:12.5px!important;padding:3px 10px!important;margin:5px 0!important}
 html:root body[data-theme][data-ambience] #app .work-content[data-workspace-view=journal] .journal-refined details.lesson-phases{padding:3px 10px!important;margin:5px 0!important}
 html:root body[data-theme][data-ambience] #app .work-content[data-workspace-view=journal] .journal-refined details.lesson-phases>summary{font-size:12.5px!important;font-weight:500!important}
 html:root body[data-theme][data-ambience] #app .work-content[data-workspace-view=journal] .journal-refined .lesson-main>small{font-size:11.5px!important;color:var(--ox-quiet)!important}
 html:root body[data-theme][data-ambience] #app .work-content[data-workspace-view=journal] .journal-refined .lesson-main>.row>.subject{font-size:12px!important;color:var(--ox-quiet)!important}

 /* Agenda et emploi du temps : le titre d’abord, sur une ligne ; l’horaire dessous, petit. Rien de gras. */
 html:root body[data-theme][data-ambience] #app .work-content .timetable-slot{display:flex!important;flex-direction:column!important;padding:2px 8px 12px!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-slot>h3{order:1!important;margin:0!important;padding-left:20px!important;min-height:18px!important;font-size:11.5px!important;font-weight:450!important;line-height:18px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-slot>strong{order:2!important;margin:0!important;font-size:10px!important;font-weight:400!important;line-height:1.3!important;color:var(--ox-quiet)!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-slot>.actions{order:3!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-slot>span{font-size:11.5px!important;font-weight:450!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-slot .agenda-slot-head time{font-size:10px!important;font-weight:400!important;color:var(--ox-quiet)!important}
 html:root body[data-theme][data-ambience] #app .work-content :is(.agenda-day,.timetable-calendar>section)>h2{font-size:11px!important;font-weight:500!important}

 /* Pastilles de couverture de la programmation : à l’échelle des autres étiquettes. */
 html:root body[data-theme][data-ambience] #app .work-content .program-coverage-summary{gap:6px!important;margin:0 0 8px!important}
 html:root body[data-theme][data-ambience] #app .work-content .program-coverage-summary>*{padding:2px 10px!important;gap:5px!important;min-height:26px!important;align-items:center!important}
 html:root body[data-theme][data-ambience] #app .work-content .program-coverage-summary strong{font-size:13px!important;font-weight:600!important;line-height:1.2!important}
 html:root body[data-theme][data-ambience] #app .work-content .program-coverage-summary span{font-size:12px!important;font-weight:400!important}

 /* Souris : commandes moins hautes. Au doigt, elles gardent leur taille. */
 @media (min-width:701px) and (pointer:fine){
  html:root body[data-theme][data-ambience] #app .work-content :is(.actions,.row,.timer,.toolbar,.account-tabs)>:is(button,.file-action):not(.card-grip):not(.more-trigger):not(.quiet-icon):not(.card-action-icon){min-height:30px!important;padding:4px 11px!important}
 }
 html:root body[data-theme][data-ambience] #app .work-content .timetable-slot>.actions{margin-top:24px!important}
 /* Étapes du déroulement : plus serrées. */
 html:root body[data-theme][data-ambience] #app .work-content ol.phase-summary>li{margin:0 0 4px!important;padding-top:1px!important;padding-bottom:1px!important}
 html:root body[data-theme][data-ambience] #app .work-content ol.phase-summary>li>p{margin:0!important}

 /* 0.81.66 — menu : graisse normale partout ; seule la page ouverte est en gras, sur une bande qui prend toute la largeur du menu.
    Une rubrique dépliée dont une sous-page est ouverte n’a plus de fond : la bande est sur la sous-page. */
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>button[data-action]>span:nth-child(2){font-size:13px!important;font-weight:300!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item:not(.nav-open:has(.nav-subitem>button[aria-current=page]))>button[data-action].active>span:nth-child(2){font-weight:600!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item.nav-open:has(.nav-subitem>button[aria-current=page])>button[data-action].active{background:transparent!important;--shape-fill:transparent!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-sub{gap:0!important;padding:0 0 6px!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem{gap:0!important;border-radius:0!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem>button[data-action]{padding:5px 4px 5px 48px!important;border-radius:0!important;background:transparent!important;font-size:12.5px!important;font-weight:300!important;color:var(--ox-quiet)!important;text-align:left!important;justify-content:flex-start!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem:hover{background:color-mix(in srgb,var(--primary) 6%,var(--panel))!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem:has(>button[aria-current=page]){background:color-mix(in srgb,var(--primary) 14%,var(--panel))!important;box-shadow:inset 3px 0 0 var(--primary)!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem>button[aria-current=page]{font-weight:600!important;color:var(--ink)!important;background:transparent!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem>.nav-star{margin-right:10px!important}
 html:root body[data-theme][data-ambience] #app #workNav :is(.nav-scroll,.nav-favorites)>h2{font-size:10px!important;font-weight:400!important;letter-spacing:.09em!important;color:var(--ox-quiet)!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-favorites{padding-left:0!important;padding-right:0!important}

 /* 0.81.66 — fond de la zone de travail : uni. Les taches de couleur et la feuille en filigrane distrayaient du contenu.
    Une ambiance choisie par l’enseignante garde son décor. */
 html:root body[data-theme][data-ambience=none] #workspace.workspace{background-image:none!important}
 html:root body[data-theme][data-ambience=none] #app main.work-content{background-image:none!important}
 html:root body[data-theme][data-ambience=none] #app main.work-content::after{content:none!important}

 /* 0.81.66 — couleur d’une matière : une palette complète, dix teintes en quatre tons. */
 html:root body[data-theme]>dialog .subject-color-presets,html:root body[data-theme] #app dialog .subject-color-presets{display:grid!important;grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:7px!important;max-width:340px!important;margin:10px 0 12px!important}
 html:root body[data-theme]>dialog .subject-color-presets>button,html:root body[data-theme] #app dialog .subject-color-presets>button{width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;aspect-ratio:1!important;padding:0!important;border:2px solid var(--panel)!important;border-radius:var(--ox-r-pill)!important;background:var(--swatch)!important;box-shadow:0 0 0 1px var(--border)!important;cursor:pointer}
 html:root body[data-theme]>dialog .subject-color-presets>button[aria-pressed=true],html:root body[data-theme] #app dialog .subject-color-presets>button[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)!important}
 html:root body[data-theme] dialog .subject-color-free{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 10px!important}
 html:root body[data-theme] dialog .subject-color-free>input[type=color]{flex:none!important;width:46px!important;min-width:46px!important;height:28px!important;min-height:28px!important;padding:2px!important}

 /* 0.81.66 — fenêtres : la même échelle que les pages. */
 html:root body[data-theme] dialog.editor .dialog-head h2{font-size:16px!important;font-weight:600!important}
 html:root body[data-theme] dialog.editor :is(p,li,small){font-size:12.5px!important;font-weight:400!important;line-height:1.5!important;color:var(--ox-quiet)!important}
 html:root body[data-theme] dialog.editor :is(label,legend){font-size:12.5px!important;font-weight:400!important}
 html:root body[data-theme] dialog.editor legend{font-weight:500!important}
 html:root body[data-theme] dialog.editor :is(h3,h4){font-size:13px!important;font-weight:600!important}
 html:root body[data-theme] dialog.editor :is(button,.file-action):not(.select-trigger){font-size:12.5px!important;font-weight:450!important}
 html:root body[data-theme] dialog.editor button[type=submit]{font-weight:500!important}
 html:root body[data-theme] dialog.editor .form-error{color:var(--ink)!important;font-weight:500!important}
 @media (min-width:701px) and (pointer:fine){
  html:root body[data-theme] dialog.editor :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),select,textarea,.select-trigger){font-size:13.5px!important;font-weight:400!important}
  html:root body[data-theme] dialog.editor footer button{min-height:34px!important;padding:6px 14px!important}
 }
 html:root body[data-theme] dialog.editor label.subject-color-free{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;text-align:left!important}
 html:root body[data-theme] dialog.editor label.subject-color-free>.shape-field{flex:none!important;width:54px!important;min-width:54px!important}
 /* Journal : « Réalisée » et « Prévue » occupent la même largeur, pour que le crayon et le menu restent au même endroit sur toutes les cartes. */
 html:root body[data-theme][data-ambience] #app .work-content[data-workspace-view=journal] .lesson.journal-entry .journal-realisation-control{width:70px!important;min-width:70px!important;justify-content:flex-start!important}
 /* Grilles d’évaluation : elles gardent leurs petites tailles, sinon les noms passent à la ligne et les rangées ne se règlent plus. */
 html:root body[data-theme][data-ambience] #app .work-content .assessment-matrix tbody th{font-size:11px!important;line-height:1.4!important}
 html:root body[data-theme][data-ambience] #app .work-content .assessment-matrix th small{font-size:10px!important;line-height:1.45!important}
 html:root body[data-theme][data-ambience] #app .work-content .assessment-matrix td{font-size:13px!important;line-height:1.45!important}

 /* 0.81.66 — couleurs de palette : deux couleurs centrales, comme sur la page d’accueil du site.
    La couleur profonde de la palette porte le menu ; sa couleur vive, quand elle en a une distincte et lisible, porte l’action principale
    et le repère de la page ouverte. Les autres couleurs de la palette restent des touches (matières, étapes, états). */
 /* La couleur profonde est celle de la palette, assombrie : un menu calme sur les 14 palettes, toujours lisible en texte clair. */
 html:root body[data-theme]{--ox-brand:color-mix(in srgb,var(--t-footer) 62%,#0f1626);--ox-brand-ink:color-mix(in srgb,#fff 94%,var(--t-footer));--ox-mark:color-mix(in srgb,var(--t-footer) 35%,#fff)}
 html:root body:is([data-theme=classe],[data-theme=soleil],[data-theme=ref-terre],[data-theme=ref-rubis],[data-theme=ref-marin],[data-theme=ref-graphite],[data-theme=ref-carnaval]){--ox-mark:var(--t-card1)}
 /* Pastel : sa couleur profonde est claire ; avec le texte fin du menu elle ne donnait que 4,2:1. On l’assombrit un peu plus. */
 html:root body[data-theme=ref-pastel]{--ox-brand:color-mix(in srgb,var(--t-footer) 44%,#0f1626)}

 html:root body[data-theme][data-ambience] #app #workNav{background:var(--ox-brand)!important;color:var(--ox-brand-ink)!important;border-color:transparent!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] #app #workNav::before{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] #app #workNav .ox-logo{--ox-logo-ink:var(--ox-brand-ink)!important}
 html:root body[data-theme][data-ambience] #app #workNav :is(h2,button,button>span,.nav-star,.nav-expand,.nav-drag-handle,svg){color:var(--ox-brand-ink)!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>button[data-action]{background:transparent!important;--shape-fill:transparent!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>button[data-action]:hover{background:color-mix(in srgb,var(--ox-brand-ink) 10%,transparent)!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item:not(.nav-open:has(.nav-subitem>button[aria-current=page]))>button[data-action].active{background:color-mix(in srgb,var(--ox-brand-ink) 18%,transparent)!important;box-shadow:inset 3px 0 0 var(--ox-mark)!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem>button[data-action]{color:var(--ox-brand-ink)!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem:hover{background:color-mix(in srgb,var(--ox-brand-ink) 10%,transparent)!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem:has(>button[aria-current=page]){background:color-mix(in srgb,var(--ox-brand-ink) 18%,transparent)!important;box-shadow:inset 3px 0 0 var(--ox-mark)!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-expand:is(:hover,:focus-visible){background:color-mix(in srgb,var(--ox-brand-ink) 16%,transparent)!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem>.nav-star[aria-pressed=true]{color:var(--ox-mark)!important}
 html:root body[data-theme][data-ambience] #app #workNav :is(.nav-scroll,.nav-favorites)>h2{color:var(--ox-brand-ink)!important}

 /* Action principale et choix actif : la couleur vive, là où la palette en a une qui porte un texte lisible. */
 html:root body:is([data-theme=classe],[data-theme=ref-rubis],[data-theme=ref-marin],[data-theme=ref-graphite],[data-theme=ref-carnaval])[data-ambience] #app .work-content :is(button.primary,button.cta,[data-journal-mode][aria-pressed=true],[data-calendar-density][aria-pressed=true],.account-tabs>button[aria-pressed=true]),html:root body:is([data-theme=classe],[data-theme=ref-rubis],[data-theme=ref-marin],[data-theme=ref-graphite],[data-theme=ref-carnaval]) dialog.editor button[type=submit]{background:var(--t-card1)!important;--shape-fill:var(--t-card1)!important;color:var(--ink)!important;border-color:transparent!important}

 /* 0.81.67 — second retour du porteur.
    Menu : la page ouverte est un aplat dans la deuxième couleur de la palette (la couleur vive quand elle existe, sinon un aplat clair). */
 html:root body[data-theme]{--ox-select:var(--ox-brand-ink);--ox-select-ink:var(--ox-brand)}
 html:root body:is([data-theme=classe],[data-theme=soleil],[data-theme=ref-rubis],[data-theme=ref-marin],[data-theme=ref-graphite],[data-theme=ref-carnaval]){--ox-select:var(--t-card1);--ox-select-ink:#13203a}
 html:root body[data-theme=ref-terre]{--ox-select:var(--t-card1);--ox-select-ink:#10121a}
 html:root body[data-theme=argile]{--ox-select:var(--t-footer);--ox-select-ink:#10121a}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item:not(.nav-open:has(.nav-subitem>button[aria-current=page]))>button[data-action].active{background:var(--ox-select)!important;--shape-fill:var(--ox-select)!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item:not(.nav-open:has(.nav-subitem>button[aria-current=page]))>button[data-action].active :is(span,svg){color:var(--ox-select-ink)!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item .nav-subitem:has(>button[aria-current=page]){background:var(--ox-select)!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item .nav-subitem>button[data-action][aria-current=page],html:root body[data-theme][data-ambience] #app #workNav .nav-item .nav-subitem:has(>button[aria-current=page])>.nav-star,html:root body[data-theme][data-ambience] #app #workNav .nav-item .nav-subitem:has(>button[aria-current=page])>.nav-star svg{color:var(--ox-select-ink)!important}
 /* Libellés du menu sur une seule ligne : l’étoile se pose par-dessus, à droite, au lieu de réserver sa place. */
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem{position:relative!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem>button[data-action]{display:block!important;padding:6px 30px 6px 44px!important;font-size:12px!important;line-height:1.35!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-subitem>.nav-star{position:absolute!important;top:50%!important;right:4px!important;margin:0!important;transform:translateY(-50%)!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>button[data-action]>span:nth-child(2){white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

 /* Accueil : le bandeau prend la couleur centrale de la palette, comme sur la page d’accueil du site ; il était presque invisible
    sur treize palettes. Argile garde son bandeau vert, déjà franc. */
 html:root body[data-theme]{--ox-hero:var(--t-footer);--ox-hero-ink:var(--t-footertext);--ox-hero-btn:var(--ox-brand-ink);--ox-hero-btn-ink:var(--ox-brand)}
 /* Nuit : la couleur du pied de page se confond avec le fond sombre (1,1:1) ; le bandeau prend la première couleur de carte. */
 html:root body[data-theme=nuit]{--ox-hero:var(--t-card1)}
 html:root body:is([data-theme=classe],[data-theme=soleil],[data-theme=ref-terre],[data-theme=ref-rubis],[data-theme=ref-marin],[data-theme=ref-graphite],[data-theme=ref-carnaval]){--ox-hero-btn:var(--t-card1);--ox-hero-btn-ink:#13203a}
 /* Terre : l’encre bleu nuit ne donne que 4,2:1 sur l’orange ; encre presque noire, comme pour la ligne choisie du menu. */
 html:root body[data-theme=ref-terre]{--ox-hero-btn-ink:#10121a}
 html:root body[data-theme]:not([data-theme=argile])[data-ambience] #app .work-content .workspace-intro::before{background:var(--ox-hero)!important}
 html:root body[data-theme]:not([data-theme=argile])[data-ambience] #app .work-content .workspace-intro :is(h1,p,.overline,.overline *){color:var(--ox-hero-ink)!important}
 html:root body[data-theme]:not([data-theme=argile])[data-ambience] #app .work-content .workspace-intro .overline::before{background:var(--ox-hero-btn)!important}
 html:root body[data-theme]:not([data-theme=argile])[data-ambience] #app .work-content .workspace-intro button.cta{background:var(--ox-hero-btn)!important;--shape-fill:var(--ox-hero-btn)!important;color:var(--ox-hero-btn-ink)!important}
 html:root body[data-theme]:not([data-theme=argile])[data-ambience] #app .work-content .workspace-intro button.cta *{color:var(--ox-hero-btn-ink)!important}
 html:root body[data-theme]:not([data-theme=argile])[data-ambience] #app .work-content .workspace-intro .intro-orbit{border-color:color-mix(in srgb,var(--ox-hero-ink) 34%,transparent)!important}
 html:root body[data-theme]:not([data-theme=argile])[data-ambience] #app .work-content .workspace-intro .intro-illustration{background:var(--ox-hero-btn)!important}

 /* Texte coloré : à l’encre sur fond clair. Les liens et le référentiel ne sont plus teintés ; la couleur reste sur l’étiquette de la rubrique. */
 html:root body[data-theme][data-ambience] #app .work-content .learning-relations,html:root body[data-theme][data-ambience] #app .work-content .learning-relations :is(p,li,summary,small,h4,details){color:var(--ink)!important}
 /* Encadrés des liens : à la hauteur de leur texte. */
 html:root body[data-theme][data-ambience] #app .work-content .learning-relations li>details{padding:4px 10px!important;min-height:0!important;margin:0 0 4px!important}
 html:root body[data-theme][data-ambience] #app .work-content .learning-relations li>details>summary{padding:0!important;margin:0!important;min-height:0!important;line-height:1.5!important}
 html:root body[data-theme][data-ambience] #app .work-content .learning-relations li>details[open]>summary{margin-bottom:4px!important}
 html:root body[data-theme][data-ambience] #app .work-content .learning-relations>:is(ul,ol){margin:4px 0 8px!important;padding:0!important}
 html:root body[data-theme][data-ambience] #app .work-content .learning-relations>h4{margin:6px 0 4px!important;padding:1px 9px!important}
 html:root body[data-theme][data-ambience] #app .work-content .learning-relations>p{margin:3px 0!important;padding-top:4px!important;padding-bottom:4px!important}

 /* Créneaux d’agenda et d’emploi du temps : texte plus petit, sans gras ; au survol, les outils sont de petites icônes sur une pastille
    opaque, qui ne se mêlent plus au titre. */
 html:root body[data-theme][data-ambience] #app .work-content .timetable-slot>h3,html:root body[data-theme][data-ambience] #app .work-content .agenda-slot>span{font-size:11px!important;font-weight:400!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-slot>strong,html:root body[data-theme][data-ambience] #app .work-content .agenda-slot .agenda-slot-head time{font-size:9.5px!important;font-weight:400!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-slot>.card-tools,html:root body[data-theme][data-ambience] #app .work-content .agenda-slot>div:not(.agenda-slot-head){top:1px!important;right:3px!important;gap:0!important;min-height:0!important;height:20px!important;padding:0 2px!important;border-radius:var(--ox-r-control)!important;background:color-mix(in srgb,var(--discipline-color,var(--primary)) 30%,var(--panel))!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-slot>.card-tools :is(button,.secondary-actions),html:root body[data-theme][data-ambience] #app .work-content .agenda-slot>div:not(.agenda-slot-head)>button{width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;padding:0!important;background:transparent!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-slot>.card-tools svg{width:12px!important;height:12px!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-slot>div:not(.agenda-slot-head)>button{font-size:0!important;line-height:1!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-slot>div:not(.agenda-slot-head)>button>span:not(.sr-only){font-size:12px!important;line-height:1!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-slot>div:not(.agenda-slot-head)>button:nth-child(3){font-size:11px!important}

 /* Pastilles d’état et étiquettes : petites. */
 html:root body[data-theme][data-ambience] #app .work-content :is(.report-position,.badge){font-size:11.5px!important;font-weight:400!important;line-height:1.3!important;padding:2px 9px!important;min-height:0!important}

 /* Souris : tableaux, champs et encadrés à la hauteur de leur contenu. Au doigt, ils gardent leur taille. */
 @media (min-width:701px) and (pointer:fine){
  html:root body[data-theme][data-ambience] #app .work-content table:not(.assessment-matrix) :is(td,th){padding:5px 10px!important}
  html:root body[data-theme][data-ambience] #app .work-content table:not(.assessment-matrix) .avatar{width:26px!important;min-width:26px!important;height:26px!important;font-size:10.5px!important}
  html:root body[data-theme][data-ambience] #app .work-content table:not(.assessment-matrix) :is(.shape-field,.select-trigger,select){min-height:28px!important;height:28px!important}
  html:root body[data-theme][data-ambience] #app .work-content table:not(.assessment-matrix) .select-trigger{padding:2px 9px!important;font-size:12.5px!important}
  html:root body[data-theme][data-ambience] #app .work-content table:not(.assessment-matrix) :is(button,.file-action):not(.select-trigger):not(.more-trigger){min-height:26px!important;height:26px!important;padding:2px 9px!important;font-size:12px!important}
  html:root body[data-theme][data-ambience] #app .work-content table:not(.assessment-matrix) :is(.quiet-icon,.card-action-icon,.more-trigger){min-height:26px!important;height:26px!important;min-width:28px!important;width:28px!important;padding:0!important}
  html:root body[data-theme][data-ambience] #app .work-content :is(.toolbar,.prep-filters,.program-filters,.calendar-command-bar) :is(.shape-field,.select-trigger,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select){min-height:30px!important;height:30px!important}
  html:root body[data-theme][data-ambience] #app .work-content :is(.toolbar,.prep-filters,.program-filters,.calendar-command-bar) .select-trigger{padding:3px 9px!important}
 }
 /* Le message de confirmation informe sans bloquer : on peut cliquer ou glisser ce qui est dessous. */
 html:root body[data-theme]>#toast{pointer-events:none!important}
 /* 0.81.67 — troisième retour du porteur.
    Coins : un seul petit rayon partout (cadres 8 px, commandes 6 px). L’accueil suit : son bandeau et ses quatre cartes avaient des formes libres. */
 html:root body[data-theme][data-ambience] #app .work-content .workspace-intro,html:root body[data-theme][data-ambience] #app .work-content .workspace-intro::before,html:root body[data-theme][data-ambience] #app .work-content .workspace-intro .intro-art{border-radius:var(--ox-r-block)!important}
 html:root body[data-theme][data-ambience] #app .work-content .path-card,html:root body[data-theme][data-ambience] #app .work-content .path-card::before{border-radius:var(--ox-r-block)!important}
 html:root body[data-theme][data-ambience]>:is(.action-popup,.select-popup,.palette-popup),html:root body[data-theme][data-ambience] #app :is(.action-popup,.select-popup,.palette-popup){border-radius:var(--ox-r-block)!important}

 /* Menu replié : une colonne de symboles. Un clic sur un symbole sort les pages de la rubrique dans un panneau, à côté.
    Écran large seulement : sur petit écran le menu reste un tiroir avec ses mots. */
 @media(min-width:901px){
  html:root body[data-theme][data-ambience]:has(.unified-layout.rail-compact){--ox-rail:56px!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav{overflow-x:hidden!important}
  /* Le logo : le trèfle seul, sans le mot. */
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll>.rail-brand{justify-content:flex-start!important;overflow:hidden!important;min-height:44px!important;margin:2px 0 8px!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll>.rail-brand .ox-logo{flex:none!important;width:150px!important;min-width:150px!important;max-width:none!important;margin:0 0 0 5px!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll>.rail-brand .ox-ink{display:none!important}
  /* Les titres de groupe deviennent un simple filet. */
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll>h2{display:block!important;height:1px!important;min-height:0!important;margin:7px 14px!important;padding:0!important;font-size:0!important;line-height:0!important;overflow:hidden!important;background:color-mix(in srgb,var(--ox-brand-ink) 20%,transparent)!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll>h2:first-of-type{display:none!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll :is(.nav-expand,.nav-controls){display:none!important}
  /* Chaque rubrique : son symbole dans un carré de 40 px, centré. */
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-item[data-nav-item]>button[data-action],html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-favorites>.nav-fav-trigger{display:grid!important;place-items:center!important;place-content:center!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;margin:2px auto!important;padding:0!important;gap:0!important;border:0!important;border-radius:var(--ox-r-control)!important;box-shadow:none!important;cursor:pointer}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-item[data-nav-item]>button[data-action]>span:nth-child(2){display:none!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-item[data-nav-item]>button[data-action]>span:first-child{font-size:19px!important;line-height:1!important}
  /* La rubrique de la page ouverte garde l’aplat de la deuxième couleur, même quand son panneau est sorti. */
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-item[data-nav-item]>button[data-action].active{background:var(--ox-select)!important;--shape-fill:var(--ox-select)!important;box-shadow:none!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-item[data-nav-item]>button[data-action].active :is(span,svg){color:var(--ox-select-ink)!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-item[data-nav-item].nav-open>button[data-action]:not(.active),html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-favorites:is(.nav-open,:hover)>.nav-fav-trigger{background:color-mix(in srgb,var(--ox-brand-ink) 16%,transparent)!important}
  /* Favoris : une étoile ; ses pages sortent dans le même panneau. */
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-favorites{display:block!important;padding:0!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-favorites>.nav-fav-trigger{background:transparent;color:var(--ox-brand-ink)!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-favorites>.nav-fav-trigger svg{width:18px!important;height:18px!important}
  /* Le panneau : collé à la colonne, par-dessus la page et la languette, sur toute la hauteur. */
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav:has(.nav-open>.nav-sub){z-index:62!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll :is(.nav-item,.nav-favorites).nav-open>.nav-sub{position:fixed!important;z-index:2!important;top:0!important;bottom:0!important;left:var(--ox-rail)!important;right:auto!important;display:block!important;width:236px!important;margin:0!important;padding:16px 0 14px!important;overflow-y:auto!important;background:var(--ox-brand)!important;border-left:1px solid color-mix(in srgb,var(--ox-brand-ink) 14%,transparent)!important;box-shadow:10px 0 26px color-mix(in srgb,#000 24%,transparent)!important}
  html:root body[data-theme][data-ambience]:has(.demo-strip) #app .unified-layout.rail-compact #workNav .nav-scroll :is(.nav-item,.nav-favorites).nav-open>.nav-sub{padding-top:46px!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact[data-menu-side=right] #workNav .nav-scroll :is(.nav-item,.nav-favorites).nav-open>.nav-sub{left:auto!important;right:var(--ox-rail)!important;border-left:0!important;border-right:1px solid color-mix(in srgb,var(--ox-brand-ink) 14%,transparent)!important;box-shadow:-10px 0 26px color-mix(in srgb,#000 24%,transparent)!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll :is(.nav-item,.nav-favorites).nav-open>.nav-sub::before{content:attr(aria-label);display:block;margin:0 0 8px;padding:0 18px 10px;border-bottom:1px solid color-mix(in srgb,var(--ox-brand-ink) 14%,transparent);font:600 14px/1.3 'Fraunces',Georgia,serif;color:var(--ox-brand-ink)}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-sub>.nav-subitem>button[data-action]{padding:7px 34px 7px 18px!important;font-size:12.5px!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact[data-menu-side=right] #workNav .nav-scroll .nav-sub>.nav-subitem{border-radius:6px 0 0 6px!important}
 }
 /* 0.81.68 — quatrième retour du porteur.
    Schéma de la programmation : le nom d’une discipline tient sur une ligne (la colonne passe de 180 à 270 px, la place existe). */
 @media(min-width:801px){
  html:root body[data-theme][data-ambience] #app .program-tree .program-subject{grid-template-columns:var(--flow-label,270px) minmax(0,1fr)!important}
  html:root body[data-theme][data-ambience] #app .program-tree .program-subject>summary{min-height:0!important;padding:9px 16px 9px 12px!important;font-size:13px!important}
 }
 /* Cadres repliés d’une carte : le cadre suit le texte (28 px au lieu de 40). Souris seulement : au doigt il faut garder de la hauteur. */
 @media(pointer:fine){
  html:root body[data-theme][data-ambience] #app .work-content details.lesson-phases>summary{min-height:0!important;padding:0!important;line-height:1.6!important}
  html:root body[data-theme][data-ambience] #app .work-content details.learning-relations{padding-top:6px!important;margin-top:8px!important}
  html:root body[data-theme][data-ambience] #app .work-content details.learning-relations>summary{padding:2px 0!important;min-height:0!important}
 }
 /* Glissière (échelle des heures) : une piste visible sur toutes les palettes, pas seulement son bouton. */
 html:root body[data-theme][data-ambience] #app .work-content input[type=range]{-webkit-appearance:none!important;appearance:none!important;height:5px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:999px!important;background:color-mix(in srgb,var(--ink) 34%,var(--panel))!important;box-shadow:none!important;cursor:pointer}
 html:root body[data-theme][data-ambience] #app .work-content input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:var(--primary);border:2px solid var(--panel);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 34%,transparent)}
 html:root body[data-theme][data-ambience] #app .work-content input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--primary);border:2px solid var(--panel);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 34%,transparent)}
 html:root body[data-theme][data-ambience] #app .work-content span.shape-field:has(>input[type=range]){background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important;height:auto!important;padding:0!important;display:inline-flex!important;align-items:center!important}

 /* Menu : plus aucune bande. La page a deux coins arrondis du côté du menu, que le menu épouse ;
    la ligne de la page ouverte se fond, vers la page, dans la couleur de la page (0.81.71 ; remplace la bande de 0.81.70). */
 html:root body[data-theme][data-ambience] #app .unified-layout #workNav{border-right-width:0!important;border-left-width:0!important}
 html:root body[data-theme][data-ambience] #app .unified-layout .navigation-seam{box-shadow:none!important;padding-left:0!important;padding-right:0!important;border:0!important;background:transparent!important;overflow:visible!important}
 @media(min-width:901px){
  html:root body[data-theme][data-ambience] #app .unified-layout .navigation-seam::after{content:'';position:absolute;left:0;top:var(--ox-page-top,0px);bottom:0;width:26px;pointer-events:none;background:radial-gradient(circle at 100% 100%,transparent 25.5px,var(--ox-brand) 26px) left top/var(--ox-corner-top,26px) var(--ox-corner-top,26px) no-repeat,radial-gradient(circle at 100% 0,transparent 25.5px,var(--ox-brand) 26px) left bottom/var(--ox-corner-bottom,26px) var(--ox-corner-bottom,26px) no-repeat}
  html:root body[data-theme][data-ambience]:has(.demo-strip) #app .unified-layout .navigation-seam::after{top:var(--ox-page-top,34px)}
  html:root body[data-theme][data-ambience] #app .unified-layout[data-menu-side=right] .navigation-seam::after{left:auto;right:0;background:radial-gradient(circle at 0 100%,transparent 25.5px,var(--ox-brand) 26px) right top/var(--ox-corner-top,26px) var(--ox-corner-top,26px) no-repeat,radial-gradient(circle at 0 0,transparent 25.5px,var(--ox-brand) 26px) right bottom/var(--ox-corner-bottom,26px) var(--ox-corner-bottom,26px) no-repeat}
 }
 /* L’onglet : la page ouverte, arrondie à gauche, va jusqu’à la bande. */
 html:root body[data-theme][data-ambience] #app #workNav .nav-item:not(.nav-open:has(.nav-subitem>button[aria-current=page]))>button[data-action].active{margin-left:8px!important;width:calc(100% - 8px)!important;padding-left:10px!important;border-radius:6px 0 0 6px!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem{padding-left:40px!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem>button[data-action]{padding:6px 30px 6px 8px!important;border-radius:6px 0 0 6px!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem:has(>button[aria-current=page]){background:transparent!important;box-shadow:none!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem>button[data-action][aria-current=page]{background:linear-gradient(90deg,var(--ox-select) 0,var(--ox-select) var(--ox-fade-from,52%),var(--ox-canvas) 100%)!important;color:var(--ox-select-ink)!important;position:relative!important;overflow:visible!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item:not(.nav-open:has(.nav-subitem>button[aria-current=page]))>button[data-action].active{background:linear-gradient(90deg,var(--ox-select) 0,var(--ox-select) var(--ox-fade-from,52%),var(--ox-canvas) 100%)!important;--shape-fill:linear-gradient(90deg,var(--ox-select) 0,var(--ox-select) var(--ox-fade-from,52%),var(--ox-canvas) 100%)!important;position:relative!important;overflow:visible!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem>button[data-action][aria-current=page]::after,html:root body[data-theme][data-ambience] #app #workNav .nav-item:not(.nav-open:has(.nav-subitem>button[aria-current=page]))>button[data-action].active::after{content:'';position:absolute;right:0;top:-10px;bottom:-10px;width:10px;pointer-events:none;background:radial-gradient(circle at 0 0,transparent 9.5px,var(--ox-canvas) 10px) right top/10px 10px no-repeat,radial-gradient(circle at 0 100%,transparent 9.5px,var(--ox-canvas) 10px) right bottom/10px 10px no-repeat}
 html:root body[data-theme][data-ambience] #app .unified-layout[data-menu-side=right] #workNav .nav-item>.nav-sub>.nav-subitem>button[data-action][aria-current=page],html:root body[data-theme][data-ambience] #app .unified-layout[data-menu-side=right] #workNav .nav-item:not(.nav-open:has(.nav-subitem>button[aria-current=page]))>button[data-action].active{background:linear-gradient(270deg,var(--ox-select) 0,var(--ox-select) var(--ox-fade-from,52%),var(--ox-canvas) 100%)!important;--shape-fill:linear-gradient(270deg,var(--ox-select) 0,var(--ox-select) var(--ox-fade-from,52%),var(--ox-canvas) 100%)!important}
 html:root body[data-theme][data-ambience] #app .unified-layout[data-menu-side=right] #workNav .nav-item>.nav-sub>.nav-subitem>button[data-action][aria-current=page]::after,html:root body[data-theme][data-ambience] #app .unified-layout[data-menu-side=right] #workNav .nav-item:not(.nav-open:has(.nav-subitem>button[aria-current=page]))>button[data-action].active::after{right:auto;left:0;background:radial-gradient(circle at 100% 0,transparent 9.5px,var(--ox-canvas) 10px) left top/10px 10px no-repeat,radial-gradient(circle at 100% 100%,transparent 9.5px,var(--ox-canvas) 10px) left bottom/10px 10px no-repeat}
 /* L’étoile de la ligne ouverte est posée sur la partie fondue : elle prend l’encre de la page. */
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem:has(>button[aria-current=page])>.nav-star{color:var(--ink)!important}
 /* L’arbre : un tronc fin sous la rubrique, et pour chaque page une flèche courbe comme dans les schémas.
    Couleur neutre ; la flèche de la page ouverte prend la couleur de la palette. */
 html:root body[data-theme]{--ox-tree:color-mix(in srgb,var(--ox-brand-ink) 46%,transparent);--ox-branch:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -400 18 800'%3E%3Cpath d='M.9-400V400M.9 0C.9 8 4.5 11.5 12 11.5' fill='none' stroke='%23000' stroke-width='1.25' stroke-linecap='round'/%3E%3Cpath d='M11.6 8.4 17.4 11.5 11.6 14.6Z' fill='%23000'/%3E%3C/svg%3E");--ox-branch-end:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -400 18 800'%3E%3Cpath d='M.9-400V0C.9 8 4.5 11.5 12 11.5' fill='none' stroke='%23000' stroke-width='1.25' stroke-linecap='round'/%3E%3Cpath d='M11.6 8.4 17.4 11.5 11.6 14.6Z' fill='%23000'/%3E%3C/svg%3E");--ox-branch-line:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -400 18 800'%3E%3Cpath d='M.9-400V400' fill='none' stroke='%23000' stroke-width='1.25' stroke-linecap='round'/%3E%3C/svg%3E")}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem::before,html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem::after{content:'';position:absolute;left:25.75px;width:18px;pointer-events:none}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem::before{top:0;height:100%;z-index:0;background:var(--ox-tree);-webkit-mask:var(--ox-branch) 0 calc(50% - 11.5px)/18px 800px no-repeat;mask:var(--ox-branch) 0 calc(50% - 11.5px)/18px 800px no-repeat}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem:last-child::before{-webkit-mask:var(--ox-branch-end) 0 calc(50% - 11.5px)/18px 800px no-repeat;mask:var(--ox-branch-end) 0 calc(50% - 11.5px)/18px 800px no-repeat}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem::after{display:none}
 /* Au-dessus de la page ouverte : le trait à sa couleur passe droit, par-dessus ; les flèches neutres sortent de derrière lui. */
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem:has(~ .nav-subitem>button[aria-current=page])::after{display:block;top:0;height:100%;z-index:1;background:var(--ox-select);-webkit-mask:var(--ox-branch-line) 0 calc(50% - 11.5px)/18px 800px no-repeat;mask:var(--ox-branch-line) 0 calc(50% - 11.5px)/18px 800px no-repeat}
 /* La page ouverte : une seule flèche qui descend et tourne ; le trait neutre repart de derrière elle. */
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem:has(>button[aria-current=page])::before{z-index:1;background:var(--ox-select);-webkit-mask:var(--ox-branch-end) 0 calc(50% - 11.5px)/18px 800px no-repeat;mask:var(--ox-branch-end) 0 calc(50% - 11.5px)/18px 800px no-repeat}
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem:has(>button[aria-current=page]):not(:last-child)::after{display:block;top:calc(50% - 11.5px);bottom:0;z-index:0;background:var(--ox-tree);-webkit-mask:var(--ox-branch-line) 0 0/18px 800px no-repeat;mask:var(--ox-branch-line) 0 0/18px 800px no-repeat}
 /* Menu replié : le symbole de la rubrique ouverte se fond vers la page ; volet sorti, il reste plein. Dans le volet, les pages sont une simple liste. */
 @media(min-width:901px){
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-item[data-nav-item]>button[data-action].active{background:linear-gradient(90deg,var(--ox-select) 0,var(--ox-select) 58%,var(--ox-canvas) 100%)!important;--shape-fill:linear-gradient(90deg,var(--ox-select) 0,var(--ox-select) 58%,var(--ox-canvas) 100%)!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact[data-menu-side=right] #workNav .nav-scroll .nav-item[data-nav-item]>button[data-action].active{background:linear-gradient(270deg,var(--ox-select) 0,var(--ox-select) 58%,var(--ox-canvas) 100%)!important;--shape-fill:linear-gradient(270deg,var(--ox-select) 0,var(--ox-select) 58%,var(--ox-canvas) 100%)!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav:has(.nav-open>.nav-sub) .nav-scroll .nav-item[data-nav-item]>button[data-action].active{background:var(--ox-select)!important;--shape-fill:var(--ox-select)!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav:has(.nav-open>.nav-sub) .nav-scroll .nav-item[data-nav-item]>button[data-action].active::after{content:none!important}
  html:root body[data-theme][data-ambience] #app #workNav>svg.nav-flyout-art{position:fixed;inset:0;z-index:3;width:100vw;height:100dvh;overflow:visible;pointer-events:none}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-item[data-nav-item]>button[data-action].active{margin:2px 0 2px 8px!important;width:calc(100% - 8px)!important;padding:0 8px 0 0!important;border-radius:6px 0 0 6px!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-item>.nav-sub>.nav-subitem{padding-left:10px!important}
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-item>.nav-sub>.nav-subitem::before,html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll .nav-item>.nav-sub>.nav-subitem::after{display:none!important}
 }

 /* Déplacer : on saisit la carte ou le créneau lui-même (au doigt : appui long, puis glisser). Les points ne s’affichent plus qu’au clavier,
    où ils restent le moyen de déplacer (Entrée : choisir la position ; flèches dans l’agenda). */
 html:root body[data-theme][data-ambience] #app .work-content .grip-card .card-grip.card-grip,html:root body[data-theme][data-ambience] #app .work-content .agenda-slot button[data-agenda-gesture=move][data-agenda-gesture]{position:absolute!important;left:2px!important;top:2px!important;right:auto!important;width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;z-index:3!important}
 html:root body[data-theme][data-ambience] #app .work-content .grip-card .card-grip.card-grip:focus-visible,html:root body[data-theme][data-ambience] #app .work-content .agenda-slot button[data-agenda-gesture=move][data-agenda-gesture]:focus-visible{opacity:1!important;pointer-events:auto!important;background:var(--panel)!important;color:var(--ink)!important;border-radius:var(--ox-r-control)!important;box-shadow:0 0 0 2px var(--primary)!important;font-size:12px!important}
 html:root body[data-theme][data-ambience] #app .work-content :is(.agenda-slot:has(button[data-agenda-gesture=move]:not([disabled])),.timetable-slot:has(.card-grip:not([disabled]))){cursor:grab}
 html:root body[data-theme][data-ambience] #app .work-content :is(.agenda-slot.agenda-held,.grip-card.card-dragging){outline:2px solid var(--primary)!important;outline-offset:1px!important}
 @media(pointer:coarse){html:root body[data-theme][data-ambience] #app .work-content :is(.agenda-slot,.timetable-slot,.grip-card>.workspace-fold>summary){-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important}}
 /* 0.81.69 — mise en page des PDF : une grille de choix dans la fenêtre de téléchargement. « Autre couleur » n’apparaît que si elle est choisie. */
 html:root body[data-theme]>dialog .pdf-layout,html:root body[data-theme] #app dialog .pdf-layout{margin:12px 0!important;padding:8px 14px 12px!important;border:1px solid var(--ox-rule)!important;border-radius:var(--ox-r-block)!important;background:transparent!important}
 html:root body[data-theme]>dialog .pdf-layout>summary,html:root body[data-theme] #app dialog .pdf-layout>summary{font-weight:600!important;font-size:13.5px!important;cursor:pointer;padding:2px 0!important}
 html:root body[data-theme]>dialog .pdf-layout>p,html:root body[data-theme] #app dialog .pdf-layout>p{margin:4px 0 8px!important}
 html:root body[data-theme]>dialog .pdf-layout-grid,html:root body[data-theme] #app dialog .pdf-layout-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:8px 16px!important;align-items:end!important}
 html:root body[data-theme]>dialog .pdf-layout-grid>label,html:root body[data-theme] #app dialog .pdf-layout-grid>label{margin:0!important}
 html:root body[data-theme]>dialog .pdf-layout-custom,html:root body[data-theme] #app dialog .pdf-layout-custom{display:grid!important;gap:4px!important}
 html:root body[data-theme]>dialog .pdf-layout-custom input,html:root body[data-theme] #app dialog .pdf-layout-custom input{width:100%!important;height:32px!important;padding:2px!important}
 html:root body[data-theme]>dialog .pdf-layout-grid:not(:has(select[name=pdfAccent] option[value=custom]:checked)) .pdf-layout-custom,html:root body[data-theme] #app dialog .pdf-layout-grid:not(:has(select[name=pdfAccent] option[value=custom]:checked)) .pdf-layout-custom{display:none!important}
 /* 0.81.70 — Schéma : plus de points de repositionnement ; on saisit la boîte elle-même (au doigt : appui long).
    La colonne des boîtes (disciplines, étapes, séquences) s’étire ou se réduit par le bord droit d’une boîte ; le texte passe à la ligne selon la place. */
 @media(min-width:801px){
  html:root body[data-theme][data-ambience] #app .workspace-tree .prep-flow-node{grid-template-columns:var(--flow-label,240px) minmax(0,1fr)!important}
  html:root body[data-theme][data-ambience] #app .workspace-tree .learning-node{grid-template-columns:var(--flow-label,170px) minmax(0,1fr)!important}
 }
 html:root body[data-theme][data-ambience] #app .workspace-tree .flow-positioned>.flow-grip.flow-grip{opacity:0!important;pointer-events:none!important}
 html:root body[data-theme][data-ambience] #app .workspace-tree .flow-positioned>.flow-grip.flow-grip:focus-visible{opacity:1!important;pointer-events:auto!important;background:var(--panel)!important;border-radius:var(--ox-r-control)!important;box-shadow:0 0 0 2px var(--primary)!important}
 html:root body[data-theme][data-ambience] #app .workspace-tree :is(.sequence-parent-node,.learning-step-marker,.program-subject>summary,.program-branch>summary){cursor:grab}
 html:root body[data-theme][data-ambience] #app .workspace-tree .flow-dragging,html:root body[data-theme][data-ambience] #app .workspace-tree .flow-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}
 html:root body[data-theme][data-ambience] #app .workspace-tree .flow-resize{position:absolute;top:0;right:-6px;bottom:0;width:12px;cursor:ew-resize;touch-action:none;z-index:3}
 html:root body[data-theme][data-ambience] #app .workspace-tree .flow-resize::after{content:'';position:absolute;top:22%;bottom:22%;left:5px;width:2px;border-radius:2px;background:color-mix(in srgb,var(--ink) 34%,transparent);opacity:0;transition:opacity .12s}
 html:root body[data-theme][data-ambience] #app .workspace-tree .flow-positioned:hover>.flow-resize::after,html:root body[data-theme][data-ambience] #app .workspace-tree .flow-resize:hover::after{opacity:1}
 @media(max-width:800px){html:root body[data-theme][data-ambience] #app .workspace-tree .flow-resize{display:none!important}}
 @media(pointer:coarse){html:root body[data-theme][data-ambience] #app .workspace-tree .flow-positioned{-webkit-touch-callout:none!important}}
 /* 0.81.70 — cahier journal en PDF : un écran entier, réglages à gauche, aperçu de la feuille à droite. */
 html:root body[data-theme]>dialog.print-studio[open]{position:fixed!important;inset:0!important;display:grid!important;grid-template-columns:350px minmax(0,1fr)!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:color-mix(in srgb,var(--ink) 9%,var(--panel))!important;color:var(--ink)!important;overflow:hidden!important}
 html:root body[data-theme]>dialog.print-studio .ps-panel{overflow:auto!important;padding:16px 18px 40px!important;background:var(--panel)!important;border-right:1px solid var(--ox-rule)!important}
 html:root body[data-theme]>dialog.print-studio .ps-top{display:grid!important;gap:10px!important;margin:0 0 12px!important}
 html:root body[data-theme]>dialog.print-studio .ps-top>p{margin:0!important}
 html:root body[data-theme]>dialog.print-studio .ps-back{justify-self:start!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:4px 6px!important;font-size:13.5px!important;color:var(--ink)!important;cursor:pointer}
 html:root body[data-theme]>dialog.print-studio .ps-go{width:100%!important;min-height:42px!important;font-size:14px!important;font-weight:600!important;justify-content:center!important}
 html:root body[data-theme]>dialog.print-studio .ps-panel>details{padding:11px 0!important;border-top:1px solid var(--ox-rule)!important;background:transparent!important}
 html:root body[data-theme]>dialog.print-studio .ps-panel>details>summary{font-size:15px!important;font-weight:600!important;cursor:pointer;padding:2px 0!important}
 html:root body[data-theme]>dialog.print-studio .ps-label{margin:13px 0 6px!important;font-size:12.5px!important;color:var(--ox-muted)!important}
 html:root body[data-theme]>dialog.print-studio :is(.ps-chips,.ps-images,.ps-swatches){display:flex!important;flex-wrap:wrap!important;gap:6px!important}
 html:root body[data-theme]>dialog.print-studio :is(.ps-chip,.ps-images>button,.ps-fonts>button,.ps-seg>button){min-height:30px!important;height:auto!important;padding:4px 11px!important;border:1px solid var(--ox-rule)!important;border-radius:var(--ox-r-control)!important;background:var(--panel)!important;--shape-fill:var(--panel)!important;box-shadow:none!important;color:var(--ink)!important;font-size:13px!important;font-weight:400!important;cursor:pointer}
 html:root body[data-theme]>dialog.print-studio :is(.ps-chip,.ps-images>button,.ps-fonts>button,.ps-seg>button)[aria-pressed=true]{background:color-mix(in srgb,var(--primary) 18%,var(--panel))!important;--shape-fill:color-mix(in srgb,var(--primary) 18%,var(--panel))!important;border-color:color-mix(in srgb,var(--primary) 55%,var(--panel))!important;font-weight:600!important}
 html:root body[data-theme]>dialog.print-studio .ps-chip[aria-pressed=false]{color:var(--ox-muted)!important}
 html:root body[data-theme]>dialog.print-studio .ps-seg{display:inline-flex!important;gap:0!important}
 html:root body[data-theme]>dialog.print-studio .ps-seg>button:first-child{border-radius:var(--ox-r-control) 0 0 var(--ox-r-control)!important}
 html:root body[data-theme]>dialog.print-studio .ps-seg>button:last-child{border-radius:0 var(--ox-r-control) var(--ox-r-control) 0!important;margin-left:-1px!important}
 html:root body[data-theme]>dialog.print-studio .ps-fonts{display:grid!important;gap:5px!important}
 html:root body[data-theme]>dialog.print-studio .ps-fonts>button{text-align:left!important;justify-content:flex-start!important}
 html:root body[data-theme]>dialog.print-studio .ps-stepper{display:flex!important;align-items:center!important;gap:6px!important;margin:8px 0!important;font-size:13px!important}
 html:root body[data-theme]>dialog.print-studio .ps-stepper>span{flex:1 1 auto!important}
 html:root body[data-theme]>dialog.print-studio .ps-stepper>output{min-width:26px!important;text-align:center!important;font-weight:600!important}
 html:root body[data-theme]>dialog.print-studio .ps-stepper>small{min-width:20px!important;color:var(--ox-muted)!important}
 html:root body[data-theme]>dialog.print-studio .ps-stepper>button{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;border:1px solid var(--ox-rule)!important;border-radius:var(--ox-r-control)!important;background:var(--panel)!important;--shape-fill:var(--panel)!important;box-shadow:none!important;color:var(--ink)!important;font-size:16px!important;cursor:pointer}
 html:root body[data-theme]>dialog.print-studio .ps-swatches>button{width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;border:2px solid var(--panel)!important;border-radius:999px!important;background:var(--swatch)!important;--shape-fill:var(--swatch)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 28%,transparent)!important;cursor:pointer}
 html:root body[data-theme]>dialog.print-studio .ps-swatches>button[aria-pressed=true]{box-shadow:0 0 0 2.5px var(--ink)!important}
 html:root body[data-theme]>dialog.print-studio .ps-check{display:flex!important;align-items:center!important;gap:8px!important;margin:12px 0 2px!important;font-size:13px!important;cursor:pointer}
 html:root body[data-theme]>dialog.print-studio .ps-file{display:grid!important;gap:5px!important;margin-top:10px!important;font-size:12.5px!important}
 html:root body[data-theme]>dialog.print-studio .ps-preview{overflow:auto!important;padding:26px 28px 60px!important;display:flex!important;justify-content:center!important;align-items:flex-start!important}
 html:root body[data-theme]>dialog.print-studio .ps-paper{flex:none!important;box-shadow:0 2px 16px color-mix(in srgb,#000 20%,transparent)!important;overflow:hidden!important}
 html:root body[data-theme]>dialog.print-studio .ps-paper.ps-portrait{width:210mm!important;min-height:297mm!important}
 html:root body[data-theme]>dialog.print-studio .ps-paper.ps-landscape{width:297mm!important;min-height:210mm!important}
 /* Petit écran : les réglages, puis la feuille dessous. */
 @media(max-width:820px){
  html:root body[data-theme]>dialog.print-studio[open]{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;overflow:auto!important}
  html:root body[data-theme]>dialog.print-studio .ps-panel{overflow:visible!important;border-right:0!important}
  html:root body[data-theme]>dialog.print-studio .ps-preview{overflow:visible!important;padding:16px 10px 40px!important}
 }
 /* Case à cocher et texte d’aide du panneau : à l’échelle des autres réglages. */
 html:root body[data-theme]>dialog.print-studio .ps-check>input{flex:none!important;width:17px!important;min-width:17px!important;height:17px!important;min-height:17px!important;margin:0!important;padding:0!important;appearance:auto!important;-webkit-appearance:auto!important;accent-color:var(--primary)!important;background:none!important;border:0!important;box-shadow:none!important}
 html:root body[data-theme]>dialog.print-studio .ps-top>p{font-size:12px!important;line-height:1.45!important;color:var(--ox-muted)!important}
 html:root body[data-theme]>dialog.print-studio .ps-file>input{min-height:32px!important;padding:4px 9px!important;font-size:13px!important}
 /* 0.81.71 — PDF : l’écran de personnalisation est commun à cinq pages ; aperçu page par page, deux modèles de feuille, entourages et leurs couleurs. */
 html:root body[data-theme]>dialog.print-studio [hidden]{display:none!important}
 html:root body[data-theme]>dialog.print-studio .ps-name{margin:0!important;font-size:19px!important;font-weight:650!important;line-height:1.2!important;color:var(--ink)!important}
 html:root body[data-theme]>dialog.print-studio .ps-preview{position:relative!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important}
 html:root body[data-theme]>dialog.print-studio .ps-count{flex:none!important;margin:0!important;font-size:12.5px!important;color:var(--ox-muted)!important}
 html:root body[data-theme]>dialog.print-studio .ps-paper{display:grid!important;gap:22px!important;justify-items:center!important;width:auto!important;min-height:0!important;box-shadow:none!important;overflow:visible!important}
 html:root body[data-theme]>dialog.print-studio .ps-paper>.jp-page{box-shadow:0 2px 16px color-mix(in srgb,#000 20%,transparent)}
 html:root body[data-theme]>dialog.print-studio .ps-measure{position:absolute!important;left:-100000px!important;top:0!important;visibility:hidden!important;pointer-events:none!important}
 html:root body[data-theme]>dialog.print-studio .ps-tiles{display:grid!important;gap:7px!important}
 html:root body[data-theme]>dialog.print-studio .ps-styles{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html:root body[data-theme]>dialog.print-studio .ps-surrounds{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 html:root body[data-theme]>dialog.print-studio .ps-tile{display:grid!important;justify-items:center!important;align-content:start!important;gap:5px!important;width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;padding:7px 3px 6px!important;border:1px solid var(--ox-rule)!important;border-radius:var(--ox-r-control)!important;background:var(--panel)!important;--shape-fill:var(--panel)!important;box-shadow:none!important;color:var(--ink)!important;font-size:11.5px!important;font-weight:400!important;line-height:1.2!important;text-align:center!important;white-space:normal!important;cursor:pointer}
 html:root body[data-theme]>dialog.print-studio .ps-tile[aria-pressed=true]{background:color-mix(in srgb,var(--primary) 18%,var(--panel))!important;--shape-fill:color-mix(in srgb,var(--primary) 18%,var(--panel))!important;border-color:color-mix(in srgb,var(--primary) 55%,var(--panel))!important;font-weight:600!important}
 html:root body[data-theme]>dialog.print-studio .ps-tile>svg{width:56px!important;height:40px!important;color:var(--primary)!important}
 html:root body[data-theme]>dialog.print-studio .ps-thumb{position:relative!important;display:block!important;width:40px!important;height:56px!important;background:#fff!important;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent)!important;border-radius:2px!important;overflow:hidden!important}
 html:root body[data-theme]>dialog.print-studio .ps-thumb>.jp-surround{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
 html:root body[data-theme]>dialog.print-studio .ps-thumb>.jp-watermark{width:76%!important;opacity:.3!important}
 html:root body[data-theme]>dialog.print-studio .ps-swatches{align-items:center!important}
 html:root body[data-theme]>dialog.print-studio .ps-tint-row{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important}
 html:root body[data-theme]>dialog.print-studio .ps-custom{display:inline-flex!important;align-items:center!important;margin:0!important}
 html:root body[data-theme]>dialog.print-studio :is(.ps-tint-row,.ps-custom)>input[type=color]{flex:none!important;width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;padding:1px!important;border:1px solid var(--ox-rule)!important;border-radius:var(--ox-r-control)!important;background:var(--panel)!important;box-shadow:none!important;appearance:auto!important;-webkit-appearance:auto!important;cursor:pointer}
 html:root body[data-theme]>dialog.print-studio .ps-custom.ps-custom-on>input[type=color]{box-shadow:0 0 0 2.5px var(--ink)!important}
 html:root body[data-theme]>dialog.print-studio .ps-reset{min-height:30px!important;height:auto!important;padding:4px 10px!important;border:1px solid var(--ox-rule)!important;border-radius:var(--ox-r-control)!important;background:var(--panel)!important;--shape-fill:var(--panel)!important;box-shadow:none!important;color:var(--ink)!important;font-size:12.5px!important;font-weight:400!important;cursor:pointer}
 html:root body[data-theme]>dialog.print-studio .ps-file>select{min-height:32px!important;padding:4px 9px!important;font-size:13px!important}
 html:root body[data-theme]>dialog.print-studio .ps-hint{margin:2px 0 0!important;font-size:12px!important;line-height:1.4!important;color:var(--ox-muted)!important}
 html:root body[data-theme]>dialog.print-studio .ps-check{flex-direction:row!important;justify-content:flex-start!important;text-align:left!important}
 /* 0.81.72 — téléphone. Cahier journal : le titre de la séance prend toute la largeur ; ses commandes passent dessous, l’état « Réalisée » aussi.
    Avant, le titre n’avait plus que 20 px et s’écrivait une syllabe par ligne. */
 @media(max-width:560px){
  html:root body[data-theme][data-ambience] #app .work-content .lesson.journal-entry.journal-refined{grid-template-columns:52px minmax(0,1fr)!important}
  html:root body[data-theme][data-ambience] #app .work-content .lesson.journal-entry.journal-refined>.journal-realisation{grid-column:2!important;grid-row:auto!important;justify-self:start!important;align-self:start!important;margin:0 0 4px!important}
  html:root body[data-theme][data-ambience] #app .work-content .lesson.journal-entry.journal-refined>.workspace-fold{grid-column:2!important;min-width:0!important}
  html:root body[data-theme][data-ambience] #app .work-content .lesson.journal-entry.journal-refined>.workspace-fold>summary.harmonized-card-heading{grid-template-columns:minmax(0,1fr)!important;height:auto!important;min-height:0!important}
  html:root body[data-theme][data-ambience] #app .work-content .lesson.journal-entry.journal-refined>.workspace-fold>summary.harmonized-card-heading>.card-heading-label{grid-column:1!important;grid-row:1!important;min-width:0!important}
  html:root body[data-theme][data-ambience] #app .work-content .lesson.journal-entry.journal-refined>.workspace-fold>summary.harmonized-card-heading>.card-tools{grid-column:1!important;grid-row:2!important;justify-self:start!important;margin-left:-10px!important}
 }
 /* Écran tactile : les petites commandes se touchent sans viser. Les onglets de vue, l’insertion d’une séance et l’état « Réalisée » grandissent ;
    les commandes des créneaux (agenda, emploi du temps) gardent leur taille mais se touchent dix pixels plus loin. */
 @media(pointer:coarse){
  html:root body[data-theme][data-ambience] #app .work-content .workspace-modes>button.ui-choice{min-height:38px!important;padding-left:12px!important;padding-right:12px!important}
  html:root body[data-theme][data-ambience] #app .work-content .journal-insert-toggle{min-height:40px!important}
  html:root body[data-theme][data-ambience] #app .work-content .journal-realisation-control{min-height:38px!important;padding:6px 10px!important}
  html:root body[data-theme][data-ambience] #app .work-content .agenda-slot .quiet-icon{position:relative!important}
  html:root body[data-theme][data-ambience] #app .work-content :is(.agenda-slot .quiet-icon,.timetable-track .card-tools>button)::after{content:'';position:absolute;inset:-10px -6px}
  html:root body[data-theme][data-ambience] #app .work-content :is(.agenda-resize,.timetable-resize)::after{content:'';position:absolute;inset:-10px 0}
 }
 /* Écran PDF sur petit écran : le bouton reste en haut, l’aperçu vient tout de suite (les feuilles côte à côte, on les fait glisser), les réglages dessous. */
 @media(max-width:820px){
  html:root body[data-theme]>dialog.print-studio[open]{display:flex!important;flex-direction:column!important;overflow:auto!important}
  html:root body[data-theme]>dialog.print-studio .ps-panel{display:contents!important}
  html:root body[data-theme]>dialog.print-studio .ps-top{order:1!important;position:sticky!important;top:0!important;z-index:2!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:6px 10px!important;margin:0!important;padding:10px 14px!important;background:var(--panel)!important;border-bottom:1px solid var(--ox-rule)!important}
  html:root body[data-theme]>dialog.print-studio .ps-top>.ps-go{grid-column:1/-1!important}
  html:root body[data-theme]>dialog.print-studio .ps-top>p.small{display:none!important}
  html:root body[data-theme]>dialog.print-studio .ps-preview{order:2!important;flex:none!important;align-items:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;padding:10px 12px 16px!important;scroll-snap-type:x proximity}
  html:root body[data-theme]>dialog.print-studio .ps-paper{grid-auto-flow:column!important;grid-auto-columns:max-content!important;justify-content:start!important;justify-items:start!important;gap:14px!important}
  html:root body[data-theme]>dialog.print-studio .ps-paper>.jp-page{scroll-snap-align:start}
  html:root body[data-theme]>dialog.print-studio .ps-panel>details{order:3!important;padding:11px 16px!important;background:var(--panel)!important}
 }
 /* Petit écran : un bouton ne coupe plus un mot en deux (« programmati-on », « Réali-sée », « Exception » lettre à lettre) ; il prend au moins la largeur de son mot le plus long. */
 @media(max-width:900px){
  html:root body[data-theme][data-ambience] #app .work-content :is(.actions,.compact-actions,.table-row-actions)>:is(button,.file-action){min-width:min-content!important;overflow-wrap:normal!important;word-break:normal!important}
  html:root body[data-theme][data-ambience] #app .work-content .journal-realisation{width:auto!important;min-width:0!important}
  html:root body[data-theme][data-ambience] #app .work-content .journal-realisation-control{width:auto!important;white-space:nowrap!important}
 }
 /* 0.81.75 — le menu défile sans barre. Quand il est plus haut que l’écran, sa barre de défilement prenait quelques pixels sur son bord
    et coupait la ligne ouverte de la page. On défile toujours (molette, doigt, clavier) ; la barre ne s’affiche plus. Pareil pour le volet du menu replié. */
 html:root body[data-theme][data-ambience] #app #workNav,html:root body[data-theme][data-ambience] #app #workNav .nav-scroll,html:root body[data-theme][data-ambience] #app #workNav .nav-sub{scrollbar-width:none!important}
 html:root body[data-theme][data-ambience] #app #workNav::-webkit-scrollbar,html:root body[data-theme][data-ambience] #app #workNav .nav-scroll::-webkit-scrollbar,html:root body[data-theme][data-ambience] #app #workNav .nav-sub::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
 /* 0.81.75 — le volet du menu replié n’a plus d’ombre : elle grisait la page à son bord, et le fondu de la ligne ouverte comme les coins arrondis
    ne tombaient plus sur la vraie couleur de la page. Le volet se lit par sa couleur, comme le menu ouvert. */
 @media(min-width:901px){
  html:root body[data-theme][data-ambience] #app .unified-layout.rail-compact #workNav .nav-scroll :is(.nav-item,.nav-favorites).nav-open>.nav-sub{box-shadow:none!important}
 }
 /* 0.81.75 — au survol, les lignes du menu glissent de 3 px ; la ligne ouverte, elle, est attachée à la page : elle ne bouge pas (sinon elle dépasse du menu). */
 html:root body[data-theme][data-ambience] #app #workNav .nav-item>.nav-sub>.nav-subitem>button[data-action][aria-current=page],html:root body[data-theme][data-ambience] #app #workNav .nav-item:not(.nav-open:has(.nav-subitem>button[aria-current=page]))>button[data-action].active{transform:none!important}
 /* 0.81.75 — menu : plus de points de déplacement. On saisit la ligne elle-même (au doigt : appui long) ; le point n’apparaît qu’au clavier. */
 html:root body[data-theme][data-ambience] #app #workNav .nav-drag-handle{position:absolute!important;right:6px!important;top:50%!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important}
 html:root body[data-theme][data-ambience] #app #workNav .nav-drag-handle:focus-visible{width:18px!important;height:18px!important;margin-top:-9px!important;opacity:1!important;overflow:visible!important}
 /* 0.81.75 — emploi du temps : l’horaire d’un créneau en colonne à gauche (début en haut, tirets, fin en bas) ; toute la carte est au titre.
    Ses commandes secondaires (durée, blocage, exception) sont dans « Autres actions », plus sur la face de la carte où elles étaient coupées. */
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;column-gap:8px!important;row-gap:0!important;align-items:start!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article>.slot-time{grid-column:1!important;grid-row:1/-1!important;align-self:stretch!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:space-between!important;min-height:0!important;margin:0!important;padding:0!important;font-size:11px!important;font-weight:600!important;line-height:1.15!important;white-space:nowrap!important;font-variant-numeric:tabular-nums}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article>.slot-time>.slot-dash{flex:1 1 auto!important;min-height:3px!important;width:0!important;margin:2px 0!important;border-left:1.5px dashed currentColor!important;font-size:0!important;opacity:.5!important;overflow:hidden!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article>h3{grid-column:2!important;grid-row:1!important;min-width:0!important;margin:0!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article>small{grid-column:2!important;grid-row:2!important;min-width:0!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article>.actions{display:none!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article>h3{padding:0 2px 0 0!important;white-space:normal!important;overflow:hidden!important;text-overflow:clip!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:var(--slot-lines,2)!important;line-height:1.25!important;overflow-wrap:anywhere}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article>.slot-time{font-variant-numeric:tabular-nums!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article>.slot-time{margin-bottom:-10px!important;line-height:13px!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article>.slot-time>span:not(.slot-dash){line-height:13px!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article.slot-compact>.slot-time>.slot-dash{min-height:0!important;margin:0!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article.timetable-slot>.card-tools.card-tools{margin:0!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article.timetable-slot>.card-tools.card-tools :is(button,.secondary-actions,.more-trigger){width:26px!important;min-width:26px!important;max-width:26px!important;flex:0 0 26px!important}

 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article>h3{min-height:0!important;max-height:calc(var(--slot-lines,2)*1.25em)!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article.timetable-slot>button.timetable-resize{left:46px!important;right:0!important;width:auto!important}
 /* 0.81.76 — le titre d'un créneau est au centre de sa carte (il y reste quand la carte grandit) ; l'agenda reçoit la carte de l'emploi du temps. */
 /* Marges égales en haut et en bas : le centre de la zone de texte est le centre de la carte. L'horaire, lui, garde les coins. */
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article.timetable-slot,html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot{padding-top:7px!important;padding-bottom:7px!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article>.slot-time{margin-top:-5px!important;margin-bottom:-5px!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article>h3{grid-row:1/-1!important;align-self:center!important;justify-self:stretch!important;text-align:center!important;padding:0 2px!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;column-gap:8px!important;row-gap:0!important;align-items:center!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot>.agenda-slot-head{grid-column:1!important;grid-row:1!important;align-self:stretch!important;position:static!important;display:block!important;width:auto!important;height:auto!important;min-height:0!important;line-height:13px!important;margin:-5px 0!important;padding:0!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot>.agenda-slot-head>time{position:static!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:space-between!important;height:100%!important;margin:0!important;padding:0!important;font-size:11px!important;font-weight:600!important;line-height:13px!important;color:var(--ink)!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot>.agenda-slot-head>time>span:not(.slot-dash){line-height:13px!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot>.agenda-slot-head>time>.slot-dash{flex:1 1 auto!important;min-height:3px!important;width:0!important;margin:2px 0!important;border-left:1.5px dashed currentColor!important;font-size:0!important;opacity:.5!important;overflow:hidden!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot.slot-compact>.agenda-slot-head>time>.slot-dash{min-height:0!important;margin:0!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot>span{grid-column:2!important;grid-row:1!important;align-self:center!important;justify-self:stretch!important;text-align:center!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0 2px!important;white-space:normal!important;overflow:hidden!important;text-overflow:clip!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:var(--slot-lines,2)!important;line-height:1.25!important;max-height:calc(var(--slot-lines,2)*1.25em)!important;overflow-wrap:anywhere}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot>small{display:none!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot>div:not(.agenda-slot-head){top:1px!important;bottom:auto!important;right:3px!important}
 html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot>button.agenda-resize{left:46px!important;right:0!important;width:auto!important}
 /* Là où les outils sont toujours affichés (au doigt), le titre se centre dans la place qui reste sous eux. */
 @media not ((hover:hover) and (pointer:fine)){
  html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article:not(.slot-compact)>h3,html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot:not(.slot-compact)>span{margin-top:15px!important}
 }
 /* 0.81.76 — petits menus (compte, « Autres actions ») et bulle d'aide : écriture normale ; seul le nom, en tête du menu du compte, reste un titre. */
 html:root body[data-theme][data-ambience]>.action-popup.action-popup :is(button,.file-action,a){font-weight:400!important}
 html:root body[data-theme][data-ambience]>.action-popup.profile-popup .profile-menu-identity>strong{font-weight:600!important}
 html:root body[data-theme][data-ambience]>.action-popup.profile-popup .profile-menu-identity>small{font-weight:400!important}
 html:root body[data-theme][data-ambience]>.ox-tip.ox-tip{font-weight:400!important}
 /* 0.81.77 — à la souris, les outils d'un créneau se posent à cheval sur le bord haut de la carte : ils ne passent plus sur le titre, même sur une carte basse. */
 @media (hover:hover) and (pointer:fine){
  html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article.timetable-slot,html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot{overflow:visible!important}
  html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article.timetable-slot:is(:hover,:focus-within),html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot:is(:hover,:focus-within){z-index:6!important}
  html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article.timetable-slot>.card-tools.card-tools,html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot.agenda-slot>div:not(.agenda-slot-head){top:-13px!important;box-shadow:0 1px 4px color-mix(in srgb,var(--ink) 18%,transparent)!important}
 }
 /* 0.81.77 — écran PDF : sous « Télécharger le PDF », un bouton discret « Imprimer ». */
 html:root body[data-theme]>dialog.print-studio .ps-print{width:100%!important;min-height:36px!important;margin-top:6px!important;justify-content:center!important;background:var(--ox-wash)!important;color:var(--ink)!important;border:0!important;box-shadow:none!important;border-radius:var(--ox-r-control)!important;font-size:13px!important;font-weight:400!important}
 @media(max-width:820px){html:root body[data-theme]>dialog.print-studio .ps-top>.ps-print{grid-column:1/-1!important;margin-top:0!important}}
 /* 0.81.77 — au doigt, chaque commande offre au moins 40 px : volets à déplier, « à propos », icônes, pastilles de discipline, outils des créneaux. */
 @media (pointer:coarse){
  html:root body[data-theme][data-ambience] #app .work-content details:not(.workspace-fold):not(.page-help)>summary:not(.harmonized-card-heading){padding-block:10px!important}
  html:root body[data-theme][data-ambience] #app .work-content details.page-help>summary{min-width:40px!important;min-height:40px!important;text-align:center!important;place-content:center!important;align-content:center!important}
  html:root body[data-theme][data-ambience] #app .work-content button.quiet-icon,html:root body[data-theme][data-ambience] #app #workNav button.nav-star{min-width:40px!important}
  html:root body[data-theme][data-ambience] #app .work-content .discipline-chip[role=button],html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot>div:not(.agenda-slot-head)>button,html:root body[data-theme][data-ambience] #app .work-content .timetable-track .card-tools .more-trigger,html:root body[data-theme][data-ambience] #app .work-content :is(.matrix-row-resize,.matrix-column-resize){position:relative!important}
  html:root body[data-theme][data-ambience] #app .work-content .discipline-chip[role=button]::after{content:'';position:absolute;inset:-12px -4px}
  html:root body[data-theme][data-ambience] #app .work-content .agenda-track>article.agenda-slot>div:not(.agenda-slot-head)>button::after,html:root body[data-theme][data-ambience] #app .work-content .timetable-track .card-tools .more-trigger::after{content:'';position:absolute;inset:-10px -6px}
  html:root body[data-theme][data-ambience] #app .work-content .matrix-row-resize::after{content:'';position:absolute;inset:-13px 0}
  html:root body[data-theme][data-ambience] #app .work-content .matrix-column-resize::after{content:'';position:absolute;inset:0 -12px}
  html:root body[data-theme][data-ambience] #app .work-content :is(.agenda-track,.timetable-track)>.agenda-hour{font-size:10.5px!important}
 }
 /* 0.81.77 — tableau en fiches (téléphone) : un libellé ne se coupe plus au milieu d'un mot, sa colonne prend la largeur de son mot le plus long. */
 html:root body[data-theme] table.mobile-records :is(td,tbody th){grid-template-columns:minmax(min-content,.8fr) minmax(0,1.2fr)!important}
 html:root body[data-theme] table.mobile-records :is(td,tbody th)::before{overflow-wrap:normal!important;word-break:normal!important}
 @media (pointer:coarse){
  html:root body[data-theme][data-ambience] #app .work-content button.quiet-icon.quiet-icon.ui-control,html:root body[data-theme][data-ambience] #app .work-content .page-actions button.quiet-icon.quiet-icon,html:root body[data-theme][data-ambience] #app #workNav .nav-controls button.nav-star.nav-star{width:40px!important;min-width:40px!important;flex-basis:40px!important}
  html:root body[data-theme][data-ambience] #app .work-content :is(.agenda-resize,.timetable-resize){position:absolute!important}
  html:root body[data-theme][data-ambience] #app .work-content :is(.agenda-resize,.timetable-resize)::after{content:'';position:absolute;inset:-8px 0 0}
  html:root body[data-theme][data-ambience] #app .work-content .calendar-density input[type=range]{box-sizing:content-box!important;border-block:12px solid transparent!important;background-clip:padding-box!important}
 }
 @media (pointer:coarse){html:root body[data-theme][data-ambience] #app .work-content .nav-controls button.nav-star.nav-star{width:40px!important;min-width:40px!important;flex-basis:40px!important}}
 /* 0.81.77 — accueil : plus de points sur les tuiles « Suivre une idée » (on saisit la tuile ; le point reste pour le clavier). */
 html:root body[data-theme][data-ambience] #app .work-content .path-item .nav-drag-handle{position:absolute!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important}
 html:root body[data-theme][data-ambience] #app .work-content .path-item .nav-drag-handle:focus-visible{position:static!important;width:28px!important;height:28px!important;opacity:1!important;overflow:visible!important}
 /* 0.81.77 — petit écran : un titre de rubrique et son bouton passent sur deux lignes plutôt que de sortir de l'écran. */
 @media(max-width:560px){html:root body[data-theme][data-ambience] #app .work-content .section-title{flex-wrap:wrap!important;row-gap:6px!important}html:root body[data-theme][data-ambience] #app .work-content .section-title>:is(button,.file-action){max-width:100%!important}}
 /* 0.81.77 — petit écran : le bouton rond des couleurs ne recouvre plus « Enregistrer » (il s'efface quand une fenêtre de saisie est ouverte) ni la fin de la page. */
 @media(max-width:560px){
  html:root body[data-theme]:has(dialog[open]) .palette-dock.palette-disclosure:not([open]){display:none!important}
  html:root body[data-theme][data-ambience] #app .work-content{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
 }
 /* 0.81.78 — les périodes de la classe, rappelées dans Programmation et Progressions ; la proposition de périodes. Gras pour le nom seulement. */
 html:root body[data-theme][data-ambience] #app .work-content .period-strip{display:flex!important;align-items:center!important;gap:10px 14px!important;flex-wrap:wrap!important;margin:0 0 12px!important;padding:8px 12px!important;border:1px solid var(--ox-rule)!important;border-radius:8px!important;background:var(--panel)!important}
 html:root body[data-theme][data-ambience] #app .work-content .period-strip>ul{display:flex!important;flex-wrap:wrap!important;gap:6px 8px!important;margin:0!important;padding:0!important;list-style:none!important;flex:1 1 320px!important;min-width:0!important}
 html:root body[data-theme][data-ambience] #app .work-content .period-strip li{display:inline-flex!important;align-items:baseline!important;gap:6px!important;margin:0!important;padding:3px 9px!important;border-radius:999px!important;background:var(--ox-wash)!important;font-size:12px!important;color:var(--ox-quiet)!important;white-space:nowrap!important}
 html:root body[data-theme][data-ambience] #app .work-content .period-strip li>strong{font-weight:600!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] #app .work-content .period-strip>p{flex:1 1 260px!important;margin:0!important;font-size:13px!important;color:var(--ox-quiet)!important}
 html:root body[data-theme][data-ambience] #app .work-content .period-strip>p>strong{font-weight:600!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] #app .work-content .period-strip>.actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:0!important}
 html:root body[data-theme]>dialog .period-proposal,html:root body[data-theme] dialog .period-proposal{list-style:none!important;margin:12px 0!important;padding:0!important;display:grid!important;gap:6px!important}
 html:root body[data-theme]>dialog .period-proposal>li,html:root body[data-theme] dialog .period-proposal>li{display:flex!important;justify-content:space-between!important;align-items:baseline!important;gap:12px!important;flex-wrap:wrap!important;margin:0!important;padding:8px 12px!important;border-radius:6px!important;background:var(--ox-wash)!important;font-size:13.5px!important}
 html:root body[data-theme]>dialog .period-proposal>li>strong,html:root body[data-theme] dialog .period-proposal>li>strong{font-weight:600!important}
 html:root body[data-theme]>dialog .period-proposal>li>span,html:root body[data-theme] dialog .period-proposal>li>span{color:var(--ox-quiet)!important;font-weight:400!important}
 /* 0.81.78 — fenêtre « Vos périodes » : trois origines possibles pour les vacances, l'import, les jours fériés, l'aperçu. */
 html:root body[data-theme] dialog [data-period-proposal] fieldset{margin:0 0 12px!important;padding:10px 12px!important;border:1px solid var(--ox-rule)!important;border-radius:8px!important;min-width:0!important}
 html:root body[data-theme] dialog [data-period-proposal] legend{padding:0 6px!important;font-size:13px!important;font-weight:600!important}
 html:root body[data-theme] dialog [data-period-proposal] .checkline{display:flex!important;align-items:center!important;gap:8px!important;margin:4px 0!important;font-weight:400!important;font-size:13.5px!important}
 html:root body[data-theme] dialog [data-period-proposal] [data-period-when]{margin:2px 0 10px 26px!important;display:grid!important;gap:8px!important}
 html:root body[data-theme] dialog [data-period-proposal] [data-period-when][hidden]{display:none!important}
 html:root body[data-theme] dialog [data-period-proposal] textarea{width:100%!important;min-height:104px!important;font-size:13px!important;line-height:1.45!important}
 html:root body[data-theme] dialog [data-period-proposal] .period-file{justify-self:start!important;font-size:13px!important;font-weight:400!important}
 html:root body[data-theme] dialog [data-period-proposal] .period-holidays{display:flex!important;flex-wrap:wrap!important;gap:4px 22px!important}
 html:root body[data-theme] dialog [data-period-proposal] .period-year{margin:0 0 6px!important;font-size:12.5px!important;color:var(--ox-quiet)!important}
 html:root body[data-theme] dialog [data-period-proposal] .period-unread{margin:0 0 10px!important;padding:8px 12px!important;border-radius:6px!important;background:color-mix(in srgb,#c2410c 10%,var(--panel))!important;font-size:13px!important;font-weight:400!important}
 html:root body[data-theme] dialog [data-period-proposal] .period-unread>strong{font-weight:600!important}
 html:root body[data-theme] dialog [data-period-proposal] .period-closed{margin:6px 0 10px!important;font-size:13px!important}
 html:root body[data-theme] dialog [data-period-proposal] .period-closed>summary{cursor:pointer!important;padding:6px 0!important;font-weight:400!important;color:var(--ox-quiet)!important}
 html:root body[data-theme] dialog [data-period-proposal] .period-closed ul{margin:4px 0 0!important;padding:0 0 0 18px!important;color:var(--ox-quiet)!important;max-height:170px!important;overflow:auto!important}
 /* 0.81.78 — le cahier journal se remplit depuis l'emploi du temps : la journée vide propose, la semaine vide propose, l'avis de reprise permet d'annuler. Gras pour les nombres et le choix seulement. */
 html:root body[data-theme][data-ambience] #app .work-content .journal-empty-day .empty{display:grid!important;justify-items:center!important;gap:6px!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-slots{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:6px 8px!important;margin:4px 0 8px!important;padding:0!important;list-style:none!important;max-width:760px!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-slots>li{display:inline-flex!important;align-items:baseline!important;gap:6px!important;margin:0!important;padding:3px 10px!important;border-radius:999px!important;background:var(--ox-wash)!important;font-size:12.5px!important;font-weight:400!important;color:var(--ink)!important;white-space:nowrap!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-slots>li>span{color:var(--ox-quiet)!important;font-variant-numeric:tabular-nums!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-actions{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:8px!important;margin:6px 0 0!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-actions>button{font-weight:400!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-mode{margin:10px 0 0!important;font-size:12.5px!important;font-weight:400!important;color:var(--ox-quiet)!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-mode>strong{font-weight:600!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-mode>button{min-height:0!important;margin:0 0 0 4px!important;padding:2px 4px!important;border:0!important;background:none!important;box-shadow:none!important;font-size:12.5px!important;font-weight:400!important;color:var(--brand)!important;text-decoration:underline!important;text-underline-offset:2px!important;cursor:pointer!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-week,html:root body[data-theme][data-ambience] #app .work-content .journal-filled{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px 14px!important;margin:0 0 12px!important;padding:10px 14px!important;border:1px solid var(--ox-rule)!important;border-radius:8px!important;background:var(--panel)!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-week>p:first-child,html:root body[data-theme][data-ambience] #app .work-content .journal-filled>p:first-child{flex:1 1 320px!important;margin:0!important;font-size:13.5px!important;font-weight:400!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-week>p>strong,html:root body[data-theme][data-ambience] #app .work-content .journal-filled>p>strong{font-weight:600!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-week>.journal-fill-actions,html:root body[data-theme][data-ambience] #app .work-content .journal-filled>.journal-fill-actions{justify-content:flex-end!important;margin:0!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-week>.journal-fill-mode{flex:1 1 100%!important;margin:0!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-filled{border-color:color-mix(in srgb,var(--brand) 45%,var(--ox-rule))!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-day{display:block!important;width:100%!important;margin:6px 0 0!important;padding:7px 10px!important;border:1px dashed var(--ox-rule)!important;border-radius:6px!important;background:none!important;box-shadow:none!important;font-size:12.5px!important;font-weight:400!important;color:var(--ink)!important;text-align:center!important;white-space:normal!important;cursor:pointer!important}
 html:root body[data-theme][data-ambience] #app .work-content .journal-fill-day:hover,html:root body[data-theme][data-ambience] #app .work-content .journal-fill-day:focus-visible{border-style:solid!important;border-color:var(--brand)!important;background:var(--ox-wash)!important}
 html:root body[data-theme] dialog .journal-fill-modes{margin:0 0 12px!important;padding:10px 12px!important;border:1px solid var(--ox-rule)!important;border-radius:8px!important;min-width:0!important;display:grid!important;gap:4px!important}
 html:root body[data-theme] dialog .journal-fill-modes>legend{padding:0 6px!important;font-size:13px!important;font-weight:600!important}
 html:root body[data-theme] dialog .journal-fill-modes>.checkline{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:0!important;padding:8px 6px!important;border-radius:6px!important;font-weight:400!important;cursor:pointer!important}
 html:root body[data-theme] dialog .journal-fill-modes>.checkline:has(input:checked){background:var(--ox-wash)!important}
 html:root body[data-theme] dialog .journal-fill-modes>.checkline>input{margin-top:3px!important;flex:0 0 auto!important}
 html:root body[data-theme] dialog .journal-fill-modes>.checkline>span{display:grid!important;gap:2px!important;min-width:0!important}
 html:root body[data-theme] dialog .journal-fill-modes>.checkline strong{font-size:14px!important;font-weight:600!important}
 html:root body[data-theme] dialog .journal-fill-modes>.checkline small{font-size:12.5px!important;font-weight:400!important;line-height:1.45!important;color:var(--ox-quiet)!important}
 @media (max-width:560px){
  html:root body[data-theme][data-ambience] #app .work-content .journal-fill-actions>button{flex:1 1 100%!important}
  html:root body[data-theme][data-ambience] #app .work-content .journal-fill-week>.journal-fill-actions,html:root body[data-theme][data-ambience] #app .work-content .journal-filled>.journal-fill-actions{flex:1 1 100%!important;justify-content:stretch!important}
 }
 /* 0.81.78 — ce que le journal déduit seul : « la fois précédente » dans une séance à faire, l avancement d une étape de progression. */
 html:root body[data-theme][data-ambience] #app .work-content .lesson-previous{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:4px 8px!important;margin:6px 0 8px!important;padding:6px 10px!important;border-radius:6px!important;background:var(--ox-wash)!important;font-size:12.5px!important;font-weight:400!important;line-height:1.45!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] #app .work-content .lesson-previous>span{font-weight:600!important;color:var(--ox-quiet)!important}
 html:root body[data-theme][data-ambience] #app .work-content .lesson-previous>button{min-height:0!important;margin:0!important;padding:2px 4px!important;border:0!important;background:none!important;box-shadow:none!important;font-size:12.5px!important;font-weight:400!important;color:var(--brand)!important;text-decoration:underline!important;text-underline-offset:2px!important;cursor:pointer!important}
 html:root body[data-theme][data-ambience] #app .work-content .step-progress{display:flex!important;align-items:baseline!important;gap:8px!important;margin:2px 0 8px!important;font-size:12.5px!important;font-weight:400!important;line-height:1.45!important;color:var(--ink)!important}
 html:root body[data-theme][data-ambience] #app .work-content .step-progress::before{content:""!important;flex:0 0 8px!important;width:8px!important;height:8px!important;border-radius:50%!important;align-self:center!important;background:var(--ox-rule)!important}
 html:root body[data-theme][data-ambience] #app .work-content .step-progress[data-step-state=started]::before{background:var(--brand)!important}
 html:root body[data-theme][data-ambience] #app .work-content .step-progress[data-step-state=done]::before{background:#2f8a57!important}
 /* 0.81.79 — deux créneaux à la même heure (un groupe sort, deux niveaux séparés) : côte à côte dans leur jour, jamais l'un sur l'autre. */
 html:root body[data-theme][data-ambience] #app .work-content :is(.timetable-track,.agenda-track)>article[data-slot-lanes]{left:calc(28px + (100% - 30px) * var(--slot-lane) / var(--slot-lanes))!important;right:auto!important;width:calc((100% - 30px) / var(--slot-lanes) - 2px)!important}
 /* 0.81.79 — fenêtre « Importer mon emploi du temps » : la zone de saisie, puis ce qui a été compris, jour par jour. */
 html:root body[data-theme] dialog [data-timetable-import] textarea{width:100%!important;min-height:150px!important;font-size:13px!important;line-height:1.45!important;white-space:pre!important;overflow:auto!important}
 html:root body[data-theme] dialog [data-timetable-import] .period-file{display:block!important;margin:8px 0 12px!important;font-size:13px!important;font-weight:400!important}
 html:root body[data-theme] dialog [data-timetable-import] .period-year{margin:0 0 8px!important;font-size:13px!important;font-weight:400!important;color:var(--ink)!important}
 html:root body[data-theme] dialog [data-timetable-import] .period-year>strong{font-weight:600!important}
 html:root body[data-theme] dialog [data-timetable-import] .period-unread{margin:0 0 10px!important;padding:8px 12px!important;border-radius:6px!important;background:color-mix(in srgb,#c2410c 10%,var(--panel))!important;font-size:13px!important;font-weight:400!important}
 html:root body[data-theme] dialog [data-timetable-import] .period-unread>strong{font-weight:600!important}
 html:root body[data-theme] dialog .timetable-import-day{margin:0 0 8px!important;padding:8px 12px!important;border-radius:6px!important;background:var(--ox-wash)!important}
 html:root body[data-theme] dialog .timetable-import-day>h3{margin:0 0 4px!important;font-size:13.5px!important;font-weight:600!important}
 html:root body[data-theme] dialog .timetable-import-day>ul{margin:0!important;padding:0!important;list-style:none!important;display:grid!important;gap:2px!important}
 html:root body[data-theme] dialog .timetable-import-day li{margin:0!important;font-size:13px!important;font-weight:400!important;line-height:1.45!important}
 html:root body[data-theme] dialog .timetable-import-day li>span{display:inline-block!important;min-width:102px!important;color:var(--ox-quiet)!important;font-variant-numeric:tabular-nums!important}
 html:root body[data-theme] dialog .timetable-import-day li>em{font-style:normal!important;color:var(--ox-quiet)!important}
 /* 0.81.79 — « Couleurs des matières » : ajouter la sienne. */
 html:root body[data-theme] dialog .subject-own{margin:14px 0 0!important;padding:10px 12px!important;border:1px solid var(--ox-rule)!important;border-radius:8px!important;min-width:0!important}
 html:root body[data-theme] dialog .subject-own>legend{padding:0 6px!important;font-size:13px!important;font-weight:600!important}
 html:root body[data-theme] dialog .subject-own .checkline{display:flex!important;align-items:center!important;gap:8px!important;margin:4px 0!important;font-weight:400!important;font-size:13.5px!important}
 /* Dans une demi-largeur, l horaire en colonne mangeait le titre : il passe sur une ligne au-dessus, le titre prend toute la largeur. Carte basse : le titre seul (l horaire reste dans la bulle). */
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article[data-slot-lanes]{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;padding-left:7px!important;padding-right:5px!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article[data-slot-lanes]>.slot-time{grid-column:1!important;grid-row:1!important;flex-direction:row!important;justify-content:flex-start!important;align-items:baseline!important;align-self:start!important;gap:2px!important;margin:0!important;font-size:10.5px!important;white-space:nowrap!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article[data-slot-lanes]>.slot-time>.slot-dash{flex:0 0 auto!important;width:auto!important;min-height:0!important;margin:0!important;border:0!important;font-size:10.5px!important;opacity:.7!important;overflow:visible!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article[data-slot-lanes]>h3{grid-column:1!important;grid-row:2!important;align-self:start!important;text-align:left!important;-webkit-line-clamp:var(--slot-lane-lines,1)!important;max-height:calc(var(--slot-lane-lines,1)*1.25em)!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article[data-slot-lanes]>small{display:none!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article[data-slot-lanes].slot-compact>.slot-time{display:none!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article[data-slot-lanes].slot-compact>h3{grid-row:1!important;-webkit-line-clamp:1!important;max-height:1.25em!important}
 html:root body[data-theme][data-ambience] #app .work-content .timetable-track>article[data-slot-lanes].timetable-slot>button.timetable-resize{left:0!important}
 /* 0.81.82 — « 108 h » : sous chaque compteur, ses événements (réunion, formation, conseil…) et les gestes en un clic : fait, reporter, annuler. */
 html:root body[data-theme][data-ambience] #app .work-content .hours-events{list-style:none!important;display:grid!important;gap:8px!important;width:100%!important;margin:12px 0 14px!important;padding:0!important}
 html:root body[data-theme][data-ambience] #app .work-content .hours-events>li{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:2px 12px!important;margin:0!important;padding:10px 12px!important;border:1px solid var(--ox-rule)!important;border-radius:8px!important;background:var(--panel)!important}
 html:root body[data-theme][data-ambience] #app .work-content .hours-event-when{grid-column:1!important;grid-row:1!important;font-size:12.5px!important;line-height:1.4!important;font-weight:400!important;color:var(--ox-quiet)!important;font-variant-numeric:tabular-nums!important}
 html:root body[data-theme][data-ambience] #app .work-content .hours-event-title{grid-column:1!important;grid-row:2!important;font-size:15px!important;line-height:1.35!important;font-weight:400!important;color:var(--ink)!important;overflow-wrap:anywhere!important}
 html:root body[data-theme][data-ambience] #app .work-content .hours-event-weight{grid-column:2!important;grid-row:1 / span 2!important;justify-self:end!important;padding:4px 10px!important;border-radius:999px!important;background:var(--ox-wash)!important;font-size:12.5px!important;line-height:1.4!important;font-weight:400!important;color:var(--ink)!important;white-space:nowrap!important}
 html:root body[data-theme][data-ambience] #app .work-content .hours-events>li[data-status=cancelled] .hours-event-title{text-decoration:line-through!important;color:var(--ox-quiet)!important}
 html:root body[data-theme][data-ambience] #app .work-content .hours-event-actions{grid-column:1 / -1!important;grid-row:3!important;display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:6px 0 0!important;padding:0!important}
 html:root body[data-theme][data-ambience] #app .work-content .hours-events-empty{margin:10px 0 14px!important;font-size:13.5px!important;color:var(--ox-quiet)!important}
 @media (max-width:640px){
  html:root body[data-theme][data-ambience] #app .work-content .hours-events>li{grid-template-columns:minmax(0,1fr)!important}
  html:root body[data-theme][data-ambience] #app .work-content .hours-event-weight{grid-column:1!important;grid-row:3!important;justify-self:start!important;margin-top:4px!important}
  html:root body[data-theme][data-ambience] #app .work-content .hours-event-actions{grid-row:4!important}
 }
}
}
