/* Shared extension of the selected geometric workbench (style 4).
   Presentation only: no route, form owner, business value, visibility, layout grid,
   drag target, roller geometry, fullscreen owner or submit handler is replaced.
   Repeated :root intentionally outranks accumulated legacy skin paint rules. */
:root:root:root body {
 --geo-paper:#faf9f5;--geo-surface:#fffefa;--geo-soft:#f0efea;--geo-ink:#101114;--geo-muted:#61636b;--geo-line:#d6d6d1;
 --geo-blue:#0054d9;--geo-blue-ink:#034cab;--geo-blue-soft:#e7efff;--geo-red:#dd1727;--geo-red-ink:#b51221;--geo-red-soft:#fff0f0;
 --geo-yellow:#ffb52d;--geo-yellow-ink:#714800;--geo-yellow-soft:#fff2cf;--geo-success:#136446;--geo-success-soft:#e5f3eb;--geo-on-action:#fff;
 --geo-icon-filter:brightness(0);--geo-shadow:0 4px 18px #10111412;
 --st-paper:var(--geo-paper);--st-surface:var(--geo-surface);--st-soft:var(--geo-soft);--st-ink:var(--geo-ink);--st-muted:var(--geo-muted);--st-line:var(--geo-line);
 --st-blue:var(--geo-blue);--st-blue-soft:var(--geo-blue-soft);--st-red:var(--geo-red);--st-red-soft:var(--geo-red-soft);--st-pink:var(--geo-red);--st-purple:var(--geo-yellow);--st-purple-soft:var(--geo-yellow-soft);--st-lime:var(--geo-yellow);
 --bg:var(--geo-paper);--panel:var(--geo-surface);--text:var(--geo-ink);--muted:var(--geo-muted);--line:var(--geo-line);--line-soft:var(--geo-line);
 --primary:var(--geo-blue);--primary-strong:var(--geo-blue-ink);--danger:var(--geo-red-ink);--success:var(--geo-success);
 --blue-soft:var(--geo-blue-soft);--rose-soft:var(--geo-red-soft);--green-soft:var(--geo-success-soft);--amber-soft:var(--geo-yellow-soft);--teal-soft:var(--geo-blue-soft);
 --glass:var(--geo-surface);--shadow:none;--shadow-soft:none;--shadow-pop:var(--geo-shadow);
 --titanium-canvas:var(--geo-paper);--titanium-surface:var(--geo-soft);--titanium-panel:var(--geo-surface);--titanium-graphite:var(--geo-ink);--titanium-muted:var(--geo-muted);--titanium-line:var(--geo-line);--titanium-line-strong:var(--geo-line);--titanium-blue:var(--geo-blue);--titanium-blue-soft:var(--geo-blue-soft);
 --workspace-accent:var(--geo-blue);--workspace-focus:var(--geo-blue);--wb-ink:var(--geo-ink);--wb-lime:var(--geo-yellow);
 --skin-hit:var(--geo-yellow);--skin-selection:var(--geo-yellow);--skin-spark:var(--geo-blue);--skin-focus:var(--geo-blue);--skin-action:var(--geo-red);--skin-action-ink:#fff;
 --header-context-bg:var(--geo-soft);--header-context-ink:var(--geo-ink);
 font-family:'Noto Sans CJK SC','Microsoft YaHei','PingFang SC',Arial,sans-serif!important;
}
:root:root:root body:is([data-theme=opal_obsidian],.theme-opal-obsidian) {
 --geo-paper:#1b1d21;--geo-surface:#24272c;--geo-soft:#2b2e34;--geo-ink:#f8f5ec;--geo-muted:#c0c2c7;--geo-line:#4a4d54;
 --geo-blue:#8bb8ff;--geo-blue-ink:#b1cfff;--geo-blue-soft:#223757;--geo-red:#f15c66;--geo-red-ink:#ffabb0;--geo-red-soft:#47272d;
 --geo-yellow:#ffbd45;--geo-yellow-ink:#ffcf76;--geo-yellow-soft:#443923;--geo-success:#97d7b5;--geo-success-soft:#233d32;
 --geo-on-action:#101114;--geo-icon-filter:brightness(0) invert(1);--geo-shadow:0 6px 24px #0004;
}
:root:root:root body:not(.page-home){background:var(--geo-paper)!important;background-image:none!important;background-blend-mode:normal!important;color:var(--geo-ink)!important;color-scheme:light;}
:root:root:root body:is([data-theme=opal_obsidian],.theme-opal-obsidian):not(.page-home){color-scheme:dark;}
:root:root:root body :is(h1,h2,h3,h4,legend){color:var(--geo-ink)!important;text-shadow:none!important;}
:root:root:root body h1{font-weight:950!important;letter-spacing:-.045em!important;}
:root:root:root body :is(h2,h3){font-weight:850!important;letter-spacing:-.025em!important;}
:root:root:root body :is(.muted,.meta,.teacher-meta,.eyebrow,.topbar-date,.wb-heading time){color:var(--geo-muted)!important;}
/* Typography keeps the already-correct class/date alignment and header controls. */
:root:root:root body :is(.topbar,.wb-heading){color:var(--geo-ink)!important;background:transparent!important;border-color:var(--geo-line)!important;box-shadow:none!important;}
:root:root:root body :is(.topbar h1,.wb-heading h1,.wb-heading strong){background:transparent!important;background-image:none!important;color:var(--geo-ink)!important;border:0!important;box-shadow:none!important;text-shadow:none!important;border-radius:0!important;}
:root:root:root body .topbar h1,:root:root:root body .wb-heading h1{font-size:clamp(32px,3.6vw,58px)!important;line-height:1.14!important;white-space:normal!important;}
:root:root:root body .topbar h1::before,:root:root:root body .topbar h1::after,:root:root:root body .wb-heading h1::before,:root:root:root body .wb-heading h1::after,:root:root:root body .wb-heading strong::before,:root:root:root body .wb-heading strong::after{display:none!important;content:none!important;}
:root:root:root body :is(.topbar-user-context,.wb-heading-context){background:transparent!important;border:0!important;box-shadow:none!important;color:var(--geo-ink)!important;}
:root:root:root body :is(.topbar-user-context,.wb-heading-context) .teacher-meta{background:transparent!important;color:var(--geo-ink)!important;}
:root:root:root body :is(.topbar-date,.wb-heading time){background:transparent!important;color:var(--geo-muted)!important;font-variant-numeric:tabular-nums;}
:root:root:root body :is(.management-header-class-selector,.header-whiteboard-class-selector,.seat-header-class-selector) select{background:var(--geo-soft)!important;color:var(--geo-ink)!important;border:1px solid var(--geo-line)!important;border-radius:9px!important;box-shadow:none!important;font-weight:800!important;}
/* Retain all four original cut navigation controls and their target rectangles. */
:root:root:root body .desktop-side-nav{background:var(--geo-paper)!important;border:0!important;border-right:1px solid var(--geo-line)!important;box-shadow:none!important;}
:root:root:root body .desktop-side-brand{background:transparent!important;color:var(--geo-ink)!important;border:0!important;box-shadow:none!important;}
:root:root:root body .desktop-side-brand::before,:root:root:root body .desktop-side-brand::after,:root:root:root body .desktop-side-brand .brand-letter::before,:root:root:root body .desktop-side-brand .brand-letter::after{display:none!important;content:none!important;}
:root:root:root body .desktop-side-brand .brand-letter{top:auto!important;background:transparent!important;color:var(--geo-ink)!important;transform:none!important;box-shadow:none!important;font-weight:950!important;}
:root:root:root body .desktop-side-links a{background:transparent!important;color:#fff!important;border:0!important;box-shadow:none!important;}
:root:root:root body .desktop-side-links a::before{background:#121316!important;filter:none!important;}
:root:root:root body .desktop-side-links a::after{display:none!important;}
:root:root:root body .desktop-side-links a.active{color:#101114!important;}
:root:root:root body .desktop-side-links a.active::before{background:var(--geo-yellow)!important;filter:none!important;}
:root:root:root body .desktop-side-links a:not(.active) img{filter:brightness(0) invert(1)!important;}
:root:root:root body .desktop-side-links a.active img{filter:brightness(0)!important;}
/* Remove nested poster panels. Each information section remains in its original layout. */
:root:root:root body :is(.panel,.class-command-deck,.tools-command-deck,.whiteboard-stage,.classroom-tool-panel,.seat-board-panel,.parent-hero,.brand-panel,.login-help-panel,.report-section,.empty-state){background:transparent!important;background-image:none!important;color:var(--geo-ink)!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;}
:root:root:root body .panel>.panel{background:transparent!important;border:0!important;box-shadow:none!important;padding-inline:0!important;}
:root:root:root body .panel::before,:root:root:root body .panel::after{background:none!important;box-shadow:none!important;}
:root:root:root body :is(.summary-box,.stat-card,.quick-card,.class-card,.teacher-card,.school-card,.class-bento-card,.tool-card,.tool-entry,.report-card,.whiteboard-entry){background:transparent!important;background-image:none!important;color:var(--geo-ink)!important;border:0!important;border-bottom:1px solid var(--geo-line)!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;}
:root:root:root body :is(.quick-card,.class-card,.class-bento-card,.whiteboard-entry,.tool-card,.tool-entry)::before,:root:root:root body :is(.quick-card,.class-card,.class-bento-card,.whiteboard-entry,.tool-card,.tool-entry)::after{display:none!important;content:none!important;}
:root:root:root body :is(.quick-card,.class-card,.class-bento-card,.tool-entry,.whiteboard-entry):is(a,button):hover{background:var(--geo-soft)!important;}
:root:root:root body :is(.stat-card,.summary-box) > strong{color:var(--geo-blue)!important;font-weight:900!important;}
:root:root:root body :is(.whiteboard-entry,.class-bento-card,.tool-entry,.quick-card) :is(span,strong,h2,h3){color:var(--geo-ink)!important;}
:root:root:root body :is(.whiteboard-entry,.class-bento-card,.tool-entry,.quick-card) small{color:var(--geo-muted)!important;}
:root:root:root body :is(.student-card,.score-card):not(.score-card-total-only){background:var(--geo-surface)!important;color:var(--geo-ink)!important;border:1px solid var(--geo-line)!important;border-radius:7px!important;box-shadow:none!important;}
:root:root:root body :is(.student-avatar,.honor-student-avatar,.student-number,.score-pill){background:var(--geo-blue-soft)!important;color:var(--geo-blue-ink)!important;box-shadow:none!important;border-color:var(--geo-blue)!important;}
/* Native controls: strong red action, quiet supporting actions, real focus states. */
:root:root:root body :is(.secondary-btn,.mini-btn,.icon-link,.wb-key,.console-key,.classroom-action-btn,.honor-rule-option,.honor-score-step-btn,.score-roller-sound){background:var(--geo-soft)!important;background-image:none!important;color:var(--geo-ink)!important;border:1px solid var(--geo-line)!important;border-radius:8px!important;box-shadow:none!important;text-shadow:none!important;font-weight:800!important;}
:root:root:root body :is(.primary-btn,.wb-primary,.classroom-save-btn,.floating-main-actions>[data-floating-main-original]){background:var(--geo-red)!important;background-image:none!important;color:var(--geo-on-action)!important;border:1px solid var(--geo-red)!important;border-radius:7px!important;box-shadow:none!important;}
:root:root:root body :is(.primary-btn,.wb-primary,.classroom-save-btn,.floating-main-actions>[data-floating-main-original])::before,:root:root:root body :is(.primary-btn,.wb-primary,.classroom-save-btn,.floating-main-actions>[data-floating-main-original])::after{display:none!important;content:none!important;}
:root:root:root body :is(.primary-btn,.wb-primary,.classroom-save-btn,.floating-main-actions>[data-floating-main-original]) :is(span,strong){color:inherit!important;}
:root:root:root body .danger-btn{background:var(--geo-red-soft)!important;color:var(--geo-red-ink)!important;border:1px solid var(--geo-red)!important;border-radius:7px!important;box-shadow:none!important;}
:root:root:root body :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not(.score-roller-input),select,textarea){background:var(--geo-surface)!important;color:var(--geo-ink)!important;border:1px solid var(--geo-line)!important;border-radius:7px!important;box-shadow:none!important;}
:root:root:root body :is(input,textarea)::placeholder{color:var(--geo-muted)!important;opacity:1;}
:root:root:root body :is(input[type=checkbox],input[type=radio]){accent-color:var(--geo-blue);}
:root:root:root body :is(button,input,select,textarea,a,summary):focus-visible{outline:3px solid var(--geo-blue)!important;outline-offset:3px!important;}
:root:root:root body :is(.secondary-btn,.mini-btn,.icon-link,.console-key,.wb-key):hover:not(:disabled):not([aria-disabled=true]){border-color:var(--geo-blue)!important;}
:root:root:root body :is(button,input,select,textarea):disabled,:root:root:root body [aria-disabled=true]{opacity:.52!important;box-shadow:none!important;}
/* Status remains redundant: readable labels, selected checkmark and border style are retained. */
:root:root:root body :is(.homework-name-key,.recitation-student-btn,.discipline-student-btn,.homework-paint-tool,.recitation-paint-tool){background:var(--geo-surface)!important;color:var(--geo-ink)!important;border:1px solid var(--geo-line)!important;border-radius:7px!important;box-shadow:none!important;text-shadow:none!important;}
:root:root:root body :is(.homework-status-student-card[data-status=excellent] .homework-name-key,.discipline-student-btn.excellent,.homework-paint-tool[data-status=excellent]){background:var(--geo-yellow-soft)!important;color:var(--geo-yellow-ink)!important;border-color:var(--geo-yellow)!important;}
:root:root:root body :is(.homework-status-student-card[data-status=completed] .homework-name-key,.discipline-student-btn.normal,.recitation-student-btn.completed,.homework-paint-tool[data-status=completed]){background:var(--geo-blue-soft)!important;color:var(--geo-blue-ink)!important;border-color:var(--geo-blue)!important;}
:root:root:root body :is(.homework-status-student-card[data-status=incomplete] .homework-name-key,.discipline-student-btn.violation,.recitation-student-btn.pending,.homework-paint-tool[data-status=incomplete]){background:var(--geo-red-soft)!important;color:var(--geo-red-ink)!important;border-color:var(--geo-red)!important;border-style:dashed!important;}
:root:root:root body .homework-status-student-card[data-status=unrecorded] .homework-name-key{background:var(--geo-soft)!important;color:var(--geo-muted)!important;border-color:var(--geo-line)!important;}
:root:root:root body .homework-paint-tool[aria-pressed=true]{outline:3px solid var(--geo-ink)!important;outline-offset:2px;box-shadow:none!important;border-style:solid!important;}
:root:root:root body .homework-paint-tool[aria-pressed=true][data-status=excellent]{background:var(--geo-yellow)!important;color:#101114!important;}
:root:root:root body .homework-paint-tool[aria-pressed=true][data-status=completed]{background:var(--geo-blue)!important;color:var(--geo-on-action)!important;}
:root:root:root body .homework-paint-tool[aria-pressed=true][data-status=incomplete]{background:var(--geo-red)!important;color:var(--geo-on-action)!important;}
:root:root:root body .homework-paint-tool[aria-pressed=true][data-status=excellent]::after{filter:brightness(0)!important;}
:root:root:root body :is(.homework-status-student-grid.readonly,.discipline-student-grid.readonly)>span{background:var(--geo-surface)!important;color:var(--geo-ink)!important;border:1px solid var(--geo-line)!important;box-shadow:none!important;}
:root:root:root body :is(.homework-status-student-grid.readonly,.discipline-student-grid.readonly)>.excellent{background:var(--geo-yellow-soft)!important;color:var(--geo-yellow-ink)!important;border-color:var(--geo-yellow)!important;}
:root:root:root body :is(.homework-status-student-grid.readonly,.discipline-student-grid.readonly)>:is(.completed,.normal){background:var(--geo-blue-soft)!important;color:var(--geo-blue-ink)!important;border-color:var(--geo-blue)!important;}
:root:root:root body :is(.homework-status-student-grid.readonly,.discipline-student-grid.readonly)>:is(.incomplete,.violation){background:var(--geo-red-soft)!important;color:var(--geo-red-ink)!important;border-color:var(--geo-red)!important;border-style:dashed!important;}
:root:root:root body :is(.homework-status-subject-row,.homework-custom-subject-tab,.score-options,.recitation-option-row,.recitation-page-grid,.discipline-mode-row) :is(label,span){background:var(--geo-soft)!important;color:var(--geo-ink)!important;border-color:var(--geo-line)!important;box-shadow:none!important;}
:root:root:root body :is(.homework-status-subject-row label,.homework-custom-subject-tab):has(input:checked)>span,:root:root:root body :is(.score-options,.recitation-option-row,.recitation-page-grid,.discipline-mode-row) label:has(input:checked),:root:root:root body :is(.score-options,.recitation-option-row,.recitation-page-grid,.discipline-mode-row) input:checked+span{background:var(--geo-yellow)!important;color:#101114!important;border-color:#101114!important;box-shadow:none!important;}
:root:root:root body :is(.honor-rule-option,.honor-board-student-grid .student-card):has(input:checked){background:var(--geo-blue-soft)!important;color:var(--geo-blue-ink)!important;border-color:var(--geo-blue)!important;outline-color:var(--geo-blue)!important;box-shadow:none!important;}
:root:root:root body .honor-score-form[data-score-mode=deduction] .honor-board-student-grid .student-card:has(input:checked),:root:root:root body .honor-rule-option.is-deduction:has(input:checked){background:var(--geo-red-soft)!important;color:var(--geo-red-ink)!important;border-color:var(--geo-red)!important;outline-color:var(--geo-red)!important;}
:root:root:root body .honor-board-student-grid .student-card :is(strong,span){color:inherit!important;}
/* Seat and classroom controls keep their original dimensions and interaction geometry. */
:root:root:root body .seat-board-cell{background:var(--geo-surface)!important;background-image:none!important;color:var(--geo-ink)!important;border-color:var(--geo-line)!important;box-shadow:none!important;}
:root:root:root body .seat-board-cell :is(strong,span,small){color:inherit!important;}
:root:root:root body .seat-board-cell.selected{background:var(--geo-yellow)!important;color:#101114!important;border-color:#101114!important;outline-color:var(--geo-blue)!important;}
:root:root:root body .seat-front-board{background:var(--geo-soft)!important;color:var(--geo-ink)!important;border-color:var(--geo-line)!important;box-shadow:none!important;}
:root:root:root body :is(.classroom-group-card,.random-group-card,.group-result-card,.classroom-call-result,.classroom-result-card){background:transparent!important;color:var(--geo-ink)!important;border-color:var(--geo-line)!important;box-shadow:none!important;}
:root:root:root body :is(.classroom-timer-display,.classroom-timer-time,.timer-display){color:var(--geo-blue)!important;text-shadow:none!important;}
:root:root:root body .wb-welcome strong{color:var(--geo-ink)!important;font-weight:900!important;letter-spacing:-.035em!important;}
:root:root:root body .wb-welcome p{color:var(--geo-muted)!important;}
/* Low-noise tabular data and reports; no nested white panel stack. */
:root:root:root body table{background:transparent!important;color:var(--geo-ink)!important;border-color:var(--geo-line)!important;box-shadow:none!important;}
:root:root:root body th{background:var(--geo-soft)!important;color:var(--geo-ink)!important;border-bottom:1px solid var(--geo-line)!important;}
:root:root:root body td{background:transparent!important;color:var(--geo-ink)!important;border-color:var(--geo-line)!important;}
:root:root:root body tbody tr:hover{background:var(--geo-soft)!important;}
:root:root:root body :is(.list-row,.backup-table-list>div,.check-row,.student-score-row){background:transparent!important;color:var(--geo-ink)!important;border-color:var(--geo-line)!important;box-shadow:none!important;}
:root:root:root body :is(.notice,.readonly-notice,.backup-warning){background:var(--geo-yellow-soft)!important;color:var(--geo-yellow-ink)!important;border:1px solid var(--geo-yellow)!important;border-radius:7px!important;box-shadow:none!important;}
:root:root:root body :is(.notice.error,.notice.danger,.error-message){background:var(--geo-red-soft)!important;color:var(--geo-red-ink)!important;border-color:var(--geo-red)!important;}
:root:root:root body .notice.success{background:var(--geo-success-soft)!important;color:var(--geo-success)!important;border-color:var(--geo-success)!important;}
/* Menus and floating actions keep their established placement and script owners. */
:root:root:root body :is(.site-dock,.wb-dock){background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;}
:root:root:root body .site-context-controls{background:transparent!important;border-color:var(--geo-line)!important;}
:root:root:root body .site-context-controls>.console-key:not(.primary-btn){background:var(--geo-surface)!important;color:var(--geo-ink)!important;border:1px solid var(--geo-line)!important;box-shadow:var(--geo-shadow)!important;}
:root:root:root body :is(dialog,.console-menu,.wb-sheet){background:var(--geo-surface)!important;color:var(--geo-ink)!important;border:1px solid var(--geo-line)!important;border-radius:12px!important;box-shadow:var(--geo-shadow)!important;}
:root:root:root body dialog::backdrop{background:#10111499!important;backdrop-filter:none!important;}
:root:root:root body :is(.console-menu-grid,.wb-menu-grid) :is(.console-key,.wb-key){background:var(--geo-soft)!important;color:var(--geo-ink)!important;border:1px solid var(--geo-line)!important;border-radius:8px!important;box-shadow:none!important;}
:root:root:root body :is(.console-menu-grid,.wb-menu-grid) :is(.console-key,.wb-key)::before,:root:root:root body :is(.console-menu-grid,.wb-menu-grid) :is(.console-key,.wb-key)::after{display:none!important;content:none!important;}
:root:root:root body :is(.console-menu-grid,.wb-menu-grid) :is(.console-key,.wb-key) :is(span,strong){color:var(--geo-ink)!important;}
:root:root:root body :is(.console-menu-footer,.wb-sheet-footer){border-color:var(--geo-line)!important;background:transparent!important;}
:root:root:root body :is(.site-primary-link,.site-primary-link.is-active){color:var(--geo-ink)!important;background:transparent!important;}
:root:root:root body .site-primary-link.is-active{background:var(--geo-yellow)!important;color:#101114!important;}
:root:root:root body :is(.console-key img,.wb-key img,.site-primary-link img,.titanium-icon,.class-bento-icon){filter:var(--geo-icon-filter)!important;background:transparent!important;box-shadow:none!important;}
:root:root:root body :is(.site-primary-link.is-active,.primary-btn,.wb-primary,.classroom-save-btn) img{filter:brightness(0)!important;}
:root:root:root body:not([data-theme=opal_obsidian]):not(.theme-opal-obsidian) :is(.primary-btn,.wb-primary,.classroom-save-btn) img{filter:brightness(0) invert(1)!important;}
:root:root:root body :is([data-theme-choice],[data-skin-choice])[aria-pressed=true]{outline:3px solid var(--geo-blue)!important;outline-offset:3px;box-shadow:none!important;}
:root:root:root body.login-page .login-shell{padding-top:48px;}
:root:root:root body.parent-page .parent-shell,:root:root:root body.install-page .app-shell{padding-top:40px;}
:root:root:root body #app-shell-recovery{background:var(--geo-yellow-soft)!important;color:var(--geo-yellow-ink)!important;border-bottom:1px solid var(--geo-yellow)!important;}
@media(max-width:760px){
 :root:root:root body .topbar h1,:root:root:root body .wb-heading h1{font-size:clamp(25px,5.2vw,36px)!important;}
 :root:root:root body .site-dock{background:var(--geo-paper)!important;border:1px solid var(--geo-line)!important;}
 :root:root:root body.login-page .login-shell{padding-top:24px;}
}
@media(forced-colors:active){
 :root:root:root body:not(.page-home){background:Canvas!important;color:CanvasText!important;}
 :root:root:root body :is(.panel,.stat-card,.summary-box,.student-card,.seat-board-cell,.console-menu,.wb-sheet,dialog){background:Canvas!important;color:CanvasText!important;border-color:CanvasText!important;}
 :root:root:root body :is(h1,h2,h3,h4,legend,.muted,.meta,.topbar-date){color:CanvasText!important;}
 :root:root:root body :is(.primary-btn,.secondary-btn,.wb-key,.console-key,.homework-name-key,.recitation-student-btn,.discipline-student-btn){background:ButtonFace!important;color:ButtonText!important;border:1px solid ButtonText!important;}
 :root:root:root body :is(button,input,select,textarea,a,summary):focus-visible{outline-color:Highlight!important;}
}
@media print{
 :root:root:root body{--geo-paper:#fff;--geo-surface:#fff;--geo-soft:#f2f2f2;--geo-ink:#111;--geo-muted:#444;--geo-line:#aaa;--geo-blue:#124f9f;--geo-blue-ink:#124f9f;background:#fff!important;color:#111!important;color-scheme:light;}
 :root:root:root body :is(.panel,.stat-card,.summary-box,.report-section){box-shadow:none!important;background:transparent!important;}
 :root:root:root body :is(h1,h2,h3,h4,legend){color:#111!important;}
}
/* Explicit high-specificity legacy whiteboard paints; visibility rules untouched. */
:root:root:root body.wb-titanium main .panel{background:transparent!important;background-image:none!important;color:var(--geo-ink)!important;border:0!important;box-shadow:none!important;}
:root:root:root body.wb-titanium .whiteboard-entry{background:transparent!important;color:var(--geo-ink)!important;border:0!important;border-bottom:1px solid var(--geo-line)!important;box-shadow:none!important;}
:root:root:root body.wb-titanium .whiteboard-entry :is(strong,span){color:var(--geo-ink)!important;}
:root:root:root body .classroom-group-result-card{background:transparent!important;color:var(--geo-ink)!important;border:0!important;border-bottom:1px solid var(--geo-line)!important;border-radius:0!important;box-shadow:none!important;}
/* Preserve original option-2 score material and its direct-entry paper/ink pair. */
:root:root:root body.page-scores .score-card-total-only:has(.score-roller-control)>h3{color:#101112!important;}

:root:root:root body:is([data-theme=opal_obsidian],.theme-opal-obsidian) .homework-paint-tool[aria-pressed=true]::after{filter:brightness(0)!important;}
/* Printing is always the light ink/paper system, even from a saved dark theme. */
@media print{
 :root:root:root:root body{
 --geo-paper:#fff;--geo-surface:#fff;--geo-soft:#f2f2f2;--geo-ink:#111;--geo-muted:#444;--geo-line:#aaa;
 --geo-blue:#034cab;--geo-blue-ink:#034cab;--geo-blue-soft:#e7efff;--geo-red:#b51221;--geo-red-ink:#b51221;--geo-red-soft:#fff0f0;
 --geo-yellow:#d89612;--geo-yellow-ink:#714800;--geo-yellow-soft:#fff2cf;--geo-success:#136446;--geo-success-soft:#e5f3eb;--geo-on-action:#fff;--geo-icon-filter:brightness(0);
 background:#fff!important;color:#111!important;color-scheme:light;
 }
}
:root:root:root body :is(.tool-command-card,.tool-icon-pedestal){background:transparent!important;background-image:none!important;color:var(--geo-ink)!important;border:0!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;}
:root:root:root body .tool-command-card{border-bottom:1px solid var(--geo-line)!important;}
:root:root:root body .tool-command-card::before,:root:root:root body .tool-command-card::after,:root:root:root body .tool-icon-pedestal::before,:root:root:root body .tool-icon-pedestal::after{display:none!important;content:none!important;}
:root:root:root body .tool-command-card strong{color:var(--geo-ink)!important;}
:root:root:root body .tool-command-card :is(em,small){color:var(--geo-muted)!important;}
:root:root:root body .tool-command-card:hover{background:var(--geo-soft)!important;}
:root:root:root body .wb-key.wb-selected{background:var(--geo-yellow)!important;color:#101114!important;border-color:#101114!important;outline:3px solid var(--geo-blue)!important;outline-offset:2px;box-shadow:none!important;}
:root:root:root body .wb-key.wb-selected :is(span,strong){color:#101114!important;}
:root:root:root body .wb-key.wb-selected img{filter:brightness(0)!important;}
/* Existing skin IDs retain preview/apply/cancel/reset behavior within one family. */
:root:root:root[data-skin=ivory] body:not(.page-home){--geo-paper:#fffbed;--geo-surface:#fffef8;--geo-soft:#f4efdf;}
:root:root:root[data-skin=cobalt] body:not(.page-home){--geo-paper:#f4f7fc;--geo-surface:#fbfcff;--geo-soft:#e9eef6;}
:root:root:root[data-skin=ivory] body:is([data-theme=opal_obsidian],.theme-opal-obsidian):not(.page-home){--geo-paper:#24211b;--geo-surface:#2f2b23;--geo-soft:#383227;}
:root:root:root[data-skin=cobalt] body:is([data-theme=opal_obsidian],.theme-opal-obsidian):not(.page-home){--geo-paper:#18212c;--geo-surface:#212d3c;--geo-soft:#293647;}
:root:root:root body .skin-choice{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:9px!important;padding:18px!important;border:1px solid var(--geo-line)!important;box-shadow:none!important;background:var(--geo-surface)!important;color:var(--geo-ink)!important;}
:root:root:root body .skin-choice strong{color:var(--geo-ink)!important;}
:root:root:root body .skin-choice>span{color:var(--geo-muted)!important;}
:root:root:root body .skin-choice[aria-pressed=true]{border-color:var(--geo-blue)!important;outline:3px solid var(--geo-blue)!important;}
@media print{
 :root:root:root:root:root[data-skin] body:not(.page-home){--geo-paper:#fff;--geo-surface:#fff;--geo-soft:#f2f2f2;background:#fff!important;}
}
/* Legacy whiteboard imposed green text directly on every descendant span.
   Restore inheritance from each explicitly paired semantic control/surface. */
:root body.wb-titanium main :where(p,label,strong,span,small){color:inherit!important;}
:root:root:root body.wb-titanium main :is(.muted,.meta,.classroom-group-heading small){color:var(--geo-muted)!important;}
:root:root:root body.page-classroom_tools [data-call-result] :is(.call-result-names,.call-result-name){color:var(--geo-ink)!important;}
:root:root:root body.page-classroom_tools [data-call-result] :is(.call-result-prompt,.call-result-separator){color:var(--geo-muted)!important;}
:root:root:root body{--geo-control-line:#858a92;}
:root:root:root body:is([data-theme=opal_obsidian],.theme-opal-obsidian){--geo-control-line:#7d8491;}
:root:root:root body :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not(.score-roller-input),select,textarea,.secondary-btn,.mini-btn,.icon-link,.score-roller-sound){border-color:var(--geo-control-line)!important;}
@media print{:root:root:root:root body{--geo-control-line:#777;}}
@media print{:root:root:root:root:root:root body,:root:root:root:root:root:root body :is(input,select,textarea){color-scheme:light!important;}}
/* Shared content hierarchy: every ordinary page uses the same module-heading
   scale and slim heading surface. Content areas stay open; native details,
   summary markers, searches, forms and score-card geometry keep their owners. */
:root:root:root body:not(.page-home){--geo-module-title:clamp(22px,1.85vw,27px);--geo-fold-title:clamp(20px,1.6vw,23px);--geo-subsection-title:18px;--geo-module-gap:22px;}
:root:root:root body:not(.page-home) :is(.panel>h2,.panel>.section-head>h2,.panel>.section-head>div>h2,.score-entry-heading>h2,.retention-account-panel>div>h2,.class-command-head>div>h2,.tools-command-head>div>h2){
 color:var(--geo-ink)!important;font-size:var(--geo-module-title)!important;font-weight:900!important;line-height:1.3!important;letter-spacing:-.025em!important;
 border:0!important;border-left:4px solid var(--geo-blue)!important;padding:0 0 0 13px!important;margin:0 0 16px!important;background:transparent!important;box-shadow:none!important;
}
:root:root:root body:not(.page-home) :is(.panel>.section-head,.score-entry-heading,.class-command-head,.tools-command-head){border-bottom:1px solid var(--geo-line)!important;padding-bottom:12px!important;margin-bottom:18px!important;}
:root:root:root body:not(.page-home) :is(.panel>.section-head>h2,.panel>.section-head>div>h2,.score-entry-heading>h2,.class-command-head>div>h2,.tools-command-head>div>h2){margin-bottom:0!important;}
:root:root:root body:not(.page-home) :is(details.tool-collapse,details.score-entry-tool,details.whiteboard-after-class,.tool-maintenance-drawer) > summary{
 color:var(--geo-ink)!important;background:var(--geo-soft)!important;border:1px solid var(--geo-line)!important;border-left:4px solid var(--geo-blue)!important;border-radius:7px!important;box-shadow:none!important;
 padding:12px 16px!important;font-size:var(--geo-fold-title)!important;font-weight:850!important;line-height:1.35!important;letter-spacing:-.02em!important;
}
:root:root:root body:not(.page-home) :is(details.tool-collapse,details.score-entry-tool,details.whiteboard-after-class,.tool-maintenance-drawer)[open] > summary{margin-bottom:18px!important;}
:root:root:root body:not(.page-home) :is(.class-student-entry-row,.score-entry-tools){margin-bottom:var(--geo-module-gap)!important;}
:root:root:root body:not(.page-home) :is(.student-management-panel,.classes-management-grid,.exam-management-grid,.tool-maintenance-drawer){margin-block-start:var(--geo-module-gap)!important;}
:root:root:root body:not(.page-home) details.score-paste-panel > summary{background:transparent!important;color:var(--geo-ink)!important;border:0!important;border-bottom:1px solid var(--geo-line)!important;padding:10px 0!important;font-size:var(--geo-subsection-title)!important;font-weight:800!important;line-height:1.4!important;}
:root:root:root body:not(.page-home) .skin-settings-summary{background:var(--geo-soft)!important;color:var(--geo-ink)!important;border:1px solid var(--geo-line)!important;border-left:4px solid var(--geo-blue)!important;border-radius:7px!important;padding:12px 16px!important;box-shadow:none!important;}
:root:root:root body:not(.page-home) .skin-settings-summary>h2{font-size:var(--geo-module-title)!important;font-weight:900!important;line-height:1.3!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--geo-ink)!important;}
:root:root:root body:not(.page-home) .skin-settings[open]>.skin-settings-summary{margin-bottom:16px!important;}
:root:root:root body:not(.page-home) .theme-setting-head h3{font-size:var(--geo-subsection-title)!important;font-weight:800!important;color:var(--geo-ink)!important;}
:root:root:root body.page-materials .materials-priority-panel{border-top:1px solid var(--geo-line)!important;padding-top:18px!important;}
/* Whiteboard preserves its density while retaining the same visual hierarchy. */
:root:root:root:root body.wb-titanium:not(.page-home){--geo-module-title:clamp(20px,1.5vw,24px);--geo-fold-title:clamp(19px,1.35vw,22px);--geo-module-gap:16px;}
:root:root:root:root body.wb-titanium:not(.page-home) :is(.panel>.section-head,.score-entry-heading){padding-bottom:8px!important;margin-bottom:12px!important;}
@media(max-width:760px){:root:root:root body:not(.page-home){--geo-module-title:22px;--geo-fold-title:20px;--geo-subsection-title:17px;--geo-module-gap:18px;}}
/* Latest header rule: keep the existing teacher OR class control, left of date.
   CSS does not create, duplicate or change the native class selector. */
:root:root:root:root:root body :is(.topbar-user-context,.wb-heading-context){
 flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap;gap:14px!important;
 width:auto!important;max-width:54%!important;min-width:0!important;flex:0 1 auto!important;padding:0!important;
}
:root:root:root:root:root body :is(.topbar-user-context,.wb-heading-context)>:is(.management-header-class-selector,.header-whiteboard-class-selector,.seat-header-class-selector){
 flex:0 1 240px!important;width:clamp(170px,18vw,270px)!important;max-width:270px!important;min-width:0!important;margin:0!important;
}
:root:root:root:root:root body :is(.topbar-user-context,.wb-heading-context)>:is(.management-header-class-selector,.header-whiteboard-class-selector,.seat-header-class-selector) select{max-width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;font-size:18px!important;line-height:1.3!important;}
:root:root:root:root:root body :is(.topbar-user-context,.wb-heading-context)>:is(.teacher-meta,.wb-heading-class){
 flex:0 1 auto!important;min-width:0;max-width:280px!important;margin:0!important;padding:0!important;
 font-size:clamp(17px,1.3vw,20px)!important;font-weight:750!important;line-height:1.35!important;color:var(--geo-ink)!important;background:transparent!important;overflow-wrap:anywhere;
}
:root:root:root:root:root body :is(.topbar-user-context,.wb-heading-context)>:is(.topbar-date,time){
 display:block!important;flex:0 0 auto!important;width:auto!important;min-width:max-content;margin:0!important;padding:0!important;
 color:var(--geo-muted)!important;font-size:clamp(16px,1.2vw,19px)!important;font-weight:600!important;line-height:1.35!important;white-space:nowrap!important;text-align:right!important;
}
@media(max-width:900px){
 :root:root:root:root:root body :is(.topbar-user-context,.wb-heading-context){flex-wrap:wrap!important;column-gap:10px!important;row-gap:5px!important;max-width:48%!important;}
 :root:root:root:root:root body :is(.topbar-user-context,.wb-heading-context)>:is(.management-header-class-selector,.header-whiteboard-class-selector,.seat-header-class-selector){flex:0 1 100%!important;width:100%!important;max-width:240px!important;}
 :root:root:root:root:root body :is(.topbar-user-context,.wb-heading-context)>:is(.teacher-meta,.wb-heading-class){font-size:17px!important;}
 :root:root:root:root:root body :is(.topbar-user-context,.wb-heading-context)>:is(.topbar-date,time){font-size:16px!important;}
}
@media print{
 :root:root:root:root body:not(.page-home) :is(details.tool-collapse,details.score-entry-tool,details.whiteboard-after-class,.tool-maintenance-drawer,.skin-settings)>summary{background:transparent!important;color:#111!important;border-color:#888!important;}
}

@media(max-width:600px){
 :root:root:root:root:root body :is(.topbar-user-context,.wb-heading-context){max-width:100%!important;}
 /* The title needs its own row: account/date text otherwise leaves only one
    Chinese character of width beside the mobile Back control. */
 :root:root:root:root:root body.site-touch-layout .topbar{grid-template-columns:minmax(0,1fr)!important;}
 :root:root:root:root:root body.site-touch-layout .topbar>div:first-child{width:100%;min-width:0;}
 :root:root:root:root:root body.site-touch-layout .topbar-title-row>h1{flex:1 1 auto;min-width:0;}
 :root:root:root:root:root body.site-touch-layout .topbar-user-context{justify-content:flex-start!important;}
 :root:root:root:root:root body.wb-titanium .wb-heading{padding-block:8px!important;}
 :root:root:root:root:root body.wb-titanium .wb-heading-context{row-gap:3px!important;}
 :root:root:root:root:root body.wb-titanium .wb-heading-context>time{font-size:14px!important;}
 :root:root:root:root:root body.wb-titanium .wb-heading-context>.wb-heading-class{font-size:16px!important;}
}

@media(max-width:900px){:root:root:root:root:root body :is(.topbar-user-context,.wb-heading-context)>:is(.management-header-class-selector,.header-whiteboard-class-selector,.seat-header-class-selector) select{font-size:16px!important;}}

/* Classroom weekly summary: one shared row for ordinary, whiteboard and
   fullscreen views. Keep other pages' statistics and existing card paint. */
:root:root:root body.page-lesson_evaluations .stats-grid{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;
}
:root:root:root body.page-lesson_evaluations .stats-grid>.stat-card{min-width:0;}
:root:root:root body.page-lesson_evaluations .stats-grid>.stat-card>span{
 color:var(--geo-muted)!important;font-size:16px!important;font-weight:600!important;line-height:1.4!important;
}
:root:root:root body.page-lesson_evaluations .stats-grid>.stat-card>strong{
 display:block;font-size:clamp(28px,2.4vw,34px)!important;line-height:1.2!important;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;
}
@media(max-width:760px){
 :root:root:root body.page-lesson_evaluations .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
}
@media(max-width:360px){
 :root:root:root body.page-lesson_evaluations .stats-grid{grid-template-columns:minmax(0,1fr)!important;}
}

/* Discipline status tools share the existing module title row. Only the visible
   toolbar moves; radios, student IDs and save fields stay in their original form. */
:root:root:root body.page-discipline_statuses [data-discipline-heading]{
 display:flex!important;flex-wrap:wrap;align-items:center!important;gap:12px 18px;
}
:root:root:root body.page-discipline_statuses [data-discipline-heading]>h2{flex:1 1 auto;}
:root:root:root body.page-discipline_statuses [data-discipline-heading]>.homework-paint-toolbar{
 display:flex;flex:0 1 auto;flex-wrap:wrap;gap:10px;margin-left:auto;min-width:0;
}
:root:root:root body.page-discipline_statuses [data-discipline-heading] .homework-paint-tool{
 min-width:96px;min-height:52px;padding:10px 16px;font-size:18px;
}
@media(max-width:600px){
 :root:root:root body.page-discipline_statuses [data-discipline-heading]>.homework-paint-toolbar{flex:1 1 100%;margin-left:0;}
 :root:root:root body.page-discipline_statuses [data-discipline-heading] .homework-paint-tool{flex:1;min-width:0;}
}

/* A fifth same-level entry can wrap without shrinking type or the brand. */
:root:root:root:root body .desktop-side-links a[href*="page=inspiration"]>span{white-space:normal!important;overflow-wrap:anywhere;}
