/* Site chrome and four main spaces. Learning, grading and account data stay in their existing renderers. */
body.site-polish {
  --sc-bg: #f6f0e4;
  --sc-surface: #fffcf5;
  --sc-ink: #30392d;
  --sc-text-secondary: #56624c;
  --sc-primary: #405b35;
  --sc-on-primary: #fff;
  --sc-accent: #8b5d25;
  --sc-border: #cdd0be;
  --sc-border-strong: #7c8470;
  --sc-focus: #315a87;
  --sc-danger: #a53e36;
  --sc-primary-soft: #e3ead3;
  --sc-surface-sunken: #f9f4ea;
  --sc-hero-bg: #e9eedc;
  --sc-warning-soft: #f5e6c9;
  --sc-warning-ink: #77501e;
  --sc-info-soft: #e4ebf1;
  --sc-info-ink: #2d5480;
  --sc-danger-soft: #f7e3de;
  --sc-shadow: 0 4px 16px #30392d05;
  --sc-serif: 'Songti SC', 'STSong', serif;
  font-family: 'PingFang SC', 'Microsoft YaHei', 'Noto Sans CJK SC', system-ui, sans-serif;
}
body.site-polish.student-theme {
  --canvas: var(--sc-bg); --surface: var(--sc-surface); --ink: var(--sc-ink);
  --muted: var(--sc-text-secondary); --line: var(--sc-border);
  --orange: var(--sc-primary); --orange-dark: #344b2b; --orange-soft: var(--sc-primary-soft);
  --green: var(--sc-primary); --green-soft: var(--sc-primary-soft); --blue: var(--sc-info-ink); --blue-soft: var(--sc-info-soft);
  background: var(--sc-bg); color: var(--sc-ink);
}
.site-polish :is(.student-app,.site-school,.school-auth) { font-size: 16px; line-height: 1.65; }
.site-polish :is(.student-app,.site-school,.school-auth) :is(button,a,summary,input,textarea,select):focus-visible { outline: 3px solid var(--sc-focus); outline-offset: 4px; }
.site-polish :is(.student-app,.site-school,.school-auth) :is(button,a) { scroll-margin-block: 24px 100px; }
.site-polish :is(.student-app,.site-school,.school-auth) .btn { min-height: 44px; font-size: 14px; border-radius: 10px; padding: 10px 16px; line-height: 1.5; white-space: normal; box-shadow: none; transition: background-color 140ms ease,border-color 140ms ease; }
.site-polish :is(.student-app,.site-school,.school-auth) .btn.small { min-height: 44px; font-size: 12px; padding: 8px 12px; }
.site-polish :is(.student-app,.site-school,.school-auth) .btn.primary { color: var(--sc-on-primary); background: var(--sc-primary); border-color: var(--sc-primary); }
.site-polish :is(.student-app,.site-school,.school-auth) .btn.primary:hover:not(:disabled) { background: #344b2b; box-shadow: none; transform: none; }
.site-polish :is(.student-app,.site-school,.school-auth) .btn.secondary { color: var(--sc-primary); background: var(--sc-surface); border-color: var(--sc-border-strong); }
.site-polish :is(.student-app,.site-school,.school-auth) .btn.ghost { color: var(--sc-text-secondary); background: transparent; }
.site-polish :is(.student-app,.site-school,.school-auth) .btn:hover:not(:disabled) { transform: none; background-color: var(--sc-primary-soft); }
.site-polish :is(.student-app,.site-school,.school-auth) .btn.danger { color: var(--sc-danger); background: var(--sc-danger-soft); border-color: #bc7469; }
.site-polish :is(.student-app,.site-school,.school-auth) button:disabled { opacity: .72; cursor: default; }
.site-polish :is(.site-home,.site-games,.site-school,.school-auth) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-family: inherit; font-size: 16px !important; min-height: 44px; max-width: 100%; border: 1px solid var(--sc-border-strong); border-radius: 10px; background: var(--sc-surface); color: var(--sc-ink); box-shadow: none; }
.site-polish :is(.site-home,.site-games,.site-school,.school-auth) :is(input,textarea)::placeholder { font-size: 16px; color: var(--sc-text-secondary); opacity: 1; }
.site-polish :is(.site-home,.site-games,.site-school,.school-auth) input:focus,
.site-polish :is(.site-home,.site-games,.site-school,.school-auth) select:focus,
.site-polish :is(.site-home,.site-games,.site-school,.school-auth) textarea:focus { border-color: var(--sc-focus); box-shadow: none; }
.site-polish .student-app .spark { display: none; }
.site-polish .student-app .sidebar { width: 224px; padding: 28px 16px 24px; background: var(--sc-surface); border-right: 1px solid var(--sc-border); color: var(--sc-text-secondary); }
.site-polish .student-app .workspace { margin-left: 224px; }
.site-polish .student-app .brand { padding: 0 8px; gap: 12px; font-size: 21px; color: var(--sc-ink); margin-bottom: 30px; }
.site-polish .student-app .brand-mark { width: 40px; height: 42px; flex-basis: 40px; border-radius: 11px; background: var(--sc-primary); color: white; font-family: var(--sc-serif); box-shadow: none; }
.site-polish .student-app .brand-sub { font-size: 12px; letter-spacing: .04em; color: var(--sc-text-secondary); }
.site-polish .student-app .nav-items { gap: 6px; }
.site-polish .student-app .nav-button { min-height: 46px; padding: 10px 12px; border-radius: 10px; font-size: 14px; color: var(--sc-text-secondary); line-height: 1.5; }
.site-polish .student-app .nav-button[aria-current=page] { background: var(--sc-primary-soft); color: var(--sc-primary); box-shadow: none; }
.site-polish .student-app .nav-button:hover { background: #edf0e4; color: var(--sc-primary); }
.site-polish .student-app .nav-button small { font-size: 12px; color: var(--sc-primary); background: #e1e8d7; }
.site-polish .student-app .student-nav-divider { margin: 16px 8px 10px; background: var(--sc-border); }
.site-polish .student-app .sidebar-foot { border-color: var(--sc-border); padding-top: 18px; font-size: 12px; color: var(--sc-text-secondary); }
.site-polish .student-app .sidebar-foot .student-account-name { font-size: 14px; color: var(--sc-ink); }
.site-polish .student-app .sidebar-foot .btn { min-height: 44px; min-width: 44px; }
.site-polish .student-app .topbar { height: auto; min-height: 72px; padding: 12px 32px; background: var(--sc-surface); border-color: var(--sc-border); gap: 16px; }
.site-polish .student-app .breadcrumb { font-size: 14px; color: var(--sc-text-secondary); }
.site-polish .student-app .breadcrumb strong { color: var(--sc-ink); }
.site-polish .student-app .grade-lock { font-size: 12px; color: var(--sc-text-secondary); }
.site-polish .student-app .avatar { width: 44px; height: 44px; min-width: 44px; min-height: 44px; font-size: 16px; border: 1px solid var(--sc-border); background: var(--sc-primary-soft); color: var(--sc-primary); }
.site-polish .student-app .school-demo-control { font-size: 12px; color: var(--sc-text-secondary); }
.site-polish .student-app .school-demo-control select { min-height: 44px !important; font-size: 14px !important; border-radius: 8px !important; background: var(--sc-surface) !important; border-color: var(--sc-border-strong) !important; }
.site-polish .student-app .page { max-width: 1232px; padding: 28px 32px 44px; }
.site-polish :is(.site-home,.site-games) { min-width: 0; }
.site-polish :is(.site-home,.site-games) .student-home-heading { margin-bottom: 20px; gap: 16px; align-items: start; }
.site-polish :is(.site-home,.site-games) .student-home-heading h1 { font-family: var(--sc-serif); font-size: 32px; line-height: 1.4; font-weight: 600; letter-spacing: .03em; color: var(--sc-ink); }
.site-polish :is(.site-home,.site-games) .student-date { color: var(--sc-text-secondary); font-size: 12px; margin-bottom: 6px; }
.site-polish :is(.site-home,.site-games) :is(.student-home-intro,.site-page-intro) { color: var(--sc-text-secondary); font-size: 16px; line-height: 1.65; margin-top: 6px; }
.site-polish :is(.site-home,.site-games) :is(.student-home-heading .btn,.student-question-actions .btn) { font-size: 14px; min-height: 44px; }
.site-polish .site-home .student-stat-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; align-items: center; gap: 12px; border: 1px solid var(--sc-border); border-radius: 12px; background: var(--sc-surface); padding: 16px 20px; margin-bottom: 20px; }
.site-polish .site-home .student-stat { border: 0; padding: 0 12px 0 0; min-width: 0; }
.site-polish .site-home .student-stat-num { display: block; color: var(--sc-ink); font-size: 26px; line-height: 1.35; font-variant-numeric: tabular-nums; font-weight: 650; }
.site-polish .site-home .student-stat-num small { font-size: 12px; color: var(--sc-text-secondary); }
.site-polish .site-home .student-stat-label { font-size: 12px; color: var(--sc-text-secondary); white-space: normal; line-height: 1.5; }
.site-polish .site-home .student-strip-link { display: inline-flex; align-items: center; gap: 8px; padding: 8px 0; min-height: 44px; background: none; border: 0; font-size: 12px; color: var(--sc-primary); }
.site-polish .site-home .student-strip-link svg { width: 18px; height: 18px; }
.site-polish .site-priority-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 20px; }
.site-polish .site-priority-links button { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 88px; border: 1px solid var(--sc-border); border-radius: 12px; padding: 14px; background: var(--sc-surface); color: var(--sc-ink); text-align: left; }
.site-polish .site-priority-links button:hover { background: #edf0e4; }
.site-polish .site-priority-links .site-entry-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 10px; background: var(--sc-primary-soft); color: var(--sc-primary); }
.site-polish .site-priority-links svg { width: 21px; height: 21px; }
.site-polish .site-priority-links button > svg { margin-left: auto; width: 16px; flex-shrink: 0; }
.site-polish .site-priority-links strong { font-size: 16px; font-weight: 650; display: block; }
.site-polish .site-priority-links small { display: block; color: var(--sc-text-secondary); font-size: 12px; margin-top: 4px; line-height: 1.5; }
.site-polish .site-home .student-desk { gap: 16px; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); margin-bottom: 20px; }
.site-polish .site-home :is(.student-next,.student-question-box) { border: 1px solid var(--sc-border); background: var(--sc-surface); border-radius: 16px; padding: 22px 24px; box-shadow: var(--sc-shadow); }
.site-polish .site-home .student-next { background: var(--sc-hero-bg); border-color: #c3cdae; }
.site-polish .site-home .student-question-box { background: var(--sc-surface); }
.site-polish .site-home .student-section-heading { margin-bottom: 16px; gap: 12px; }
.site-polish .site-home .student-section-heading h2 { color: var(--sc-ink); font-size: 18px; }
.site-polish .site-home .student-section-heading > span { color: var(--sc-text-secondary); font-size: 12px; }
.site-polish .site-home .student-subject { color: var(--sc-primary); font-size: 12px; }
.site-polish .site-home .student-next-body h3 { color: var(--sc-ink); font-size: 24px; line-height: 1.5; }
.site-polish .site-home .student-question-preview { font-size: 16px; color: var(--sc-ink); line-height: 1.9; }
.site-polish .site-home .student-question-source { font-size: 12px; color: var(--sc-text-secondary); white-space: normal; }
.site-polish .site-home .student-first-question > p:last-child { font-size: 16px; color: var(--sc-text-secondary); }
.site-polish .site-home .student-next-actions { border-color: #cdd6ba; flex-wrap: wrap; padding-top: 14px; gap: 8px; }
.site-polish .site-home .student-question-box label { font-size: 16px; color: var(--sc-text-secondary); margin-bottom: 12px; }
.site-polish .site-home .student-question-box textarea { line-height: 1.7; min-height: 140px; }
.site-polish .site-home .student-question-actions { gap: 8px; flex-wrap: wrap; }
.site-polish .site-home :is(.student-preferences,.student-library,.student-next-list) { background: var(--sc-surface); border: 1px solid var(--sc-border); border-radius: 14px; margin-bottom: 20px; padding: 16px 20px; }
.site-polish .site-home .student-preferences summary { min-height: 44px; color: var(--sc-ink); font-size: 14px; gap: 12px; flex-wrap: wrap; }
.site-polish .site-home :is(.student-preference-value,.student-preference-toggle) { font-size: 12px; color: var(--sc-text-secondary); }
.site-polish .site-home #learning-preferences { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.site-polish .site-home #learning-preferences .field { font-size: 16px; color: var(--sc-text-secondary); }
.site-polish .site-home .student-form-status { color: var(--sc-danger); font-size: 14px; grid-column: 1 / -1; }
.site-polish .site-home :is(.student-paper-row,.student-home-question-row) { min-height: 68px; padding: 14px 0; gap: 12px; border-color: var(--sc-border); }
.site-polish .site-home :is(.student-paper-name strong,.student-home-question-row strong) { color: var(--sc-ink); font-size: 16px; }
.site-polish .site-home :is(.student-paper-name small,.student-paper-kind,.student-paper-count,.student-row-subject,.student-home-question-row small,.student-inline-status) { color: var(--sc-text-secondary); font-size: 12px; }
.site-polish .site-home .student-inline-status { font-size: 16px; }
.site-polish .site-home .student-home-shortcuts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.site-polish .site-home .student-home-shortcuts button { min-height: 82px; padding: 14px; border: 1px solid var(--sc-border); border-radius: 12px; background: var(--sc-surface); }
.site-polish .site-home .student-home-shortcuts strong { color: var(--sc-ink); font-size: 14px; }
.site-polish .site-home .student-home-shortcuts small { color: var(--sc-text-secondary); font-size: 12px; }
.site-polish .site-home .student-home-shortcuts svg { color: var(--sc-primary); }
.site-polish .site-home .today-buddy { grid-template-columns: 168px minmax(0,1fr); padding: 20px 24px; gap: 20px; border-color: var(--sc-border); background: #fbf6ea; border-radius: 16px; box-shadow: none; }
.site-polish .site-home .today-buddy-pet { min-height: 44px; }
.site-polish .site-home .today-buddy-pet:hover { transform: none; background: var(--sc-surface); }
.site-polish .site-home .today-buddy-avatar { width: 124px; }
.site-polish .site-home .today-buddy-bubble { background: var(--sc-surface); color: var(--sc-ink); font-size: 16px; box-shadow: none; }
.site-polish .site-home :is(.today-buddy-stage,.today-buddy-lv,.today-buddy-stats,.today-buddy-concept,.today-buddy-hint,.today-buddy-concepts-label) { font-size: 12px; color: var(--sc-text-secondary); }
.site-polish .site-home .today-buddy-hunger { background: #dcd7c4; }
.site-polish .site-home .today-buddy-hunger i { background: var(--sc-primary); }
.site-polish .site-home :is(.teacher-push-card,.badges-card,.teacher-push-box) { border-color: var(--sc-border); background: var(--sc-surface); box-shadow: none; border-radius: 14px; }
.site-polish .site-home .teacher-push-row { border-color: var(--sc-border); background: var(--sc-surface); min-height: 68px; }
.site-polish .site-home .teacher-push-main { min-width: 0; }
.site-polish .site-home .teacher-push-main small { color: var(--sc-text-secondary); font-size: 12px; }
.site-polish .site-home :is(.teacher-push-meta,.teacher-push-q-ans) { color: var(--sc-text-secondary); font-size: 14px; }
.site-polish .site-home .teacher-push-section { font-size: 16px; }
.site-polish .site-home .student-live-link { color: var(--sc-info-ink); background: var(--sc-info-soft); border-color: #afbdc9; font-size: 16px; min-height: 54px; }
.site-polish .site-home .student-live-link .muted { color: var(--sc-info-ink); font-size: 12px; }
.site-polish .site-home .student-live-banner { color: white; background: var(--sc-primary); box-shadow: none; font-size: 16px; min-height: 54px; }
.site-polish .site-home .badges-card summary { min-height: 44px; flex-wrap: wrap; font-size: 16px; gap: 8px; }
.site-polish .site-home :is(.badges-card summary .muted,.badge-prog,.badge-name) { color: var(--sc-text-secondary); font-size: 12px; }

/* Game centre: the pet illustrations belong here, while the classroom and real-question routes stay distinct. */
.site-polish .site-games > .school-stats { gap: 12px; margin: 20px 0; }
.site-polish .site-games .school-stats > div { padding: 16px 20px; border-radius: 12px; background: var(--sc-surface); border-color: var(--sc-border); min-width: 0; }
.site-polish .site-games .school-stats span, .site-polish .site-games .school-stats small { color: var(--sc-text-secondary); font-size: 12px; }
.site-polish .site-games .school-stats strong { color: var(--sc-ink); font-size: 25px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.site-polish .site-games .school-stats > div:last-child strong { font-size: 16px; }
.site-polish .site-games > .panel { margin: 20px 0 0; padding: 22px 24px; border-color: var(--sc-border); background: var(--sc-surface); border-radius: 16px; box-shadow: var(--sc-shadow); }
.site-polish .site-games .section-heading { gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.site-polish .site-games .section-heading h2 { font-size: 20px; color: var(--sc-ink); }
.site-polish .site-games .section-heading p { font-size: 16px; color: var(--sc-text-secondary); margin-top: 5px; }
.site-polish .site-games .badge { color: var(--sc-primary); background: var(--sc-primary-soft); font-size: 12px; }
.site-polish .site-games .badge.blue { color: var(--sc-info-ink); background: var(--sc-info-soft); }
.site-polish .site-game-partners { margin: 24px 0; }
.site-polish .site-partner-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.site-polish .site-partner-card { min-width: 0; display: flex; flex-direction: column; align-items: start; padding: 20px; border: 1px solid var(--sc-border); background: #fbf6ea; border-radius: 16px; box-shadow: none; gap: 12px; }
.site-polish .site-partner-art { display: block; width: 132px; height: 132px; max-width: 100%; background-position: center; background-size: contain; background-repeat: no-repeat; margin: 0 auto; }
.site-polish .art-dog { background-image: url('/pets/battle-polish-20261001/ember-fluff-dog-portrait.webp'); }
.site-polish .art-fox { background-image: url('/pets/battle-polish-20261001/sprout-tail-fox-portrait.webp'); }
.site-polish .art-eagle { background-image: url('/pets/battle-polish-20261001/night-patrol-eagle-portrait.webp'); }
.site-polish .site-mode-label { display: block; color: var(--sc-primary); font-size: 12px; margin-bottom: 5px; }
.site-polish .site-partner-card h3 { color: var(--sc-ink); font-size: 18px; line-height: 1.5; }
.site-polish .site-partner-card p { color: var(--sc-text-secondary); font-size: 16px; margin-top: 7px; }
.site-polish .site-partner-card .btn { width: 100%; margin-top: auto; }
.site-polish .site-game-practice .game-subject-filter { font-size: 16px; color: var(--sc-text-secondary); max-width: 340px; }
.site-polish .site-game-practice .lesson-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.site-polish .site-game-practice .game-card { min-width: 0; min-height: 182px; padding: 18px; align-items: start; text-align: left; border: 1px solid var(--sc-border); border-radius: 12px; background: var(--sc-surface-sunken); box-shadow: none; }
.site-polish .site-game-practice .subject-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: var(--sc-primary); background: var(--sc-primary-soft); }
.site-polish .site-game-practice .subject-icon svg { width: 23px; height: 23px; }
.site-polish .site-game-practice .game-card strong { font-size: 16px; color: var(--sc-ink); }
.site-polish .site-game-practice .game-card > span:not(.subject-icon), .site-polish .site-game-practice .game-card small { font-size: 12px; color: var(--sc-text-secondary); }
.site-polish .site-game-practice .game-card:hover { background: var(--sc-primary-soft); border-color: var(--sc-primary); transform: none; }
.site-polish .site-community-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.site-polish .site-community-link { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 6px; min-height: 92px; min-width: 0; text-align: left; border: 1px solid var(--sc-border); border-radius: 12px; padding: 16px 44px 16px 16px; color: var(--sc-ink); background: var(--sc-surface); }
.site-polish .site-community-link strong { font-size: 16px; }
.site-polish .site-community-link span { font-size: 12px; color: var(--sc-text-secondary); }
.site-polish .site-community-link > b { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 20px; color: var(--sc-primary); }
.site-polish .site-game-rank #game-rank-body { overflow-x: auto; }
.site-polish .site-game-rank .game-rank-table { color: var(--sc-ink); font-size: 14px; }
.site-polish .site-game-rank .game-rank-table td { border-bottom: 1px solid var(--sc-border); }
.site-polish .site-game-rank .game-rank-grade { display: block; font-size: 12px; color: var(--sc-text-secondary); }
.site-polish .site-game-rank .mine { background: var(--sc-primary-soft); }
.site-polish .site-load-error h1 { font-size: 24px; }
.site-polish .site-load-error p { font-size: 16px; margin: 12px 0 16px; }

/* Adult spaces share the palette, but use restrained facts and task panels instead of game scenery. */
.site-polish .site-school {
  --campus-bg: var(--sc-bg); --campus-surface: var(--sc-surface); --campus-ink: var(--sc-ink); --campus-muted: var(--sc-text-secondary);
  --campus-green: var(--sc-primary); --campus-line: var(--sc-border); --campus-radius: 14px;
  --teacher-canvas: var(--sc-bg); --teacher-surface: var(--sc-surface); --teacher-surface-2: var(--sc-surface-sunken);
  --teacher-ink: var(--sc-ink); --teacher-muted: var(--sc-text-secondary); --teacher-muted-2: var(--sc-text-secondary);
  --teacher-accent: var(--sc-primary); --teacher-accent-2: #344b2b; --teacher-line: var(--sc-border); --teacher-line-strong: var(--sc-border-strong);
  --accent: var(--sc-primary); --accent-dark: #344b2b; --muted: var(--sc-text-secondary); --ink: var(--sc-ink);
  color: var(--sc-ink); background: var(--sc-bg);
}
.site-polish .site-school.role-teacher .sidebar, .site-polish .site-school.role-parent .sidebar { width: 232px; padding: 28px 16px; background: var(--sc-surface); border-color: var(--sc-border); }
.site-polish .site-school.role-teacher .sidebar, .site-polish .site-school.role-parent .sidebar {
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.site-polish .site-school .sidebar > .brand,
.site-polish .site-school .sidebar > .nav-items,
.site-polish .site-school .sidebar > .sidebar-foot { flex-shrink: 0; }
.site-polish .site-school .nav-items { padding-bottom: 8px; }
.site-polish .site-school.role-teacher .workspace, .site-polish .site-school.role-parent .workspace { margin-left: 232px; }
.site-polish .site-school .brand { font-size: 21px; color: var(--sc-ink); margin-bottom: 30px; gap: 12px; padding: 0 8px; }
.site-polish .site-school .brand-mark { background: var(--sc-primary); width: 40px; height: 42px; font-family: var(--sc-serif); border-radius: 11px; }
.site-polish .site-school .brand-sub { color: var(--sc-text-secondary); font-size: 12px; }
.site-polish .site-school .nav-items { gap: 6px; }
.site-polish .site-school .nav-button { min-height: 46px; color: var(--sc-text-secondary); font-size: 14px; border-radius: 10px; padding: 10px 12px; gap: 10px; }
.site-polish .site-school .nav-button[aria-current=page] { background: var(--sc-primary-soft); color: var(--sc-primary); border-color: transparent; box-shadow: none; }
.site-polish .site-school .school-nav-symbol { color: var(--sc-primary); background: #edf0e4; font-size: 12px; border: 0; }
.site-polish .site-school .nav-button[aria-current=page] .school-nav-symbol { background: var(--sc-primary); color: white; }
.site-polish .site-school .sidebar-foot { border-color: var(--sc-border); color: var(--sc-text-secondary); }
.site-polish .site-school .sidebar-foot .badge { background: var(--sc-primary-soft); color: var(--sc-primary); font-size: 12px; }
.site-polish .site-school-more { display: none; }
.site-polish .site-school.role-teacher .topbar, .site-polish .site-school.role-parent .topbar { min-height: 72px; height: auto; padding: 12px 32px; background: var(--sc-surface); border-color: var(--sc-border); }
.site-polish .site-school .breadcrumb { font-size: 14px; color: var(--sc-text-secondary); }
.site-polish .site-school .breadcrumb strong { color: var(--sc-ink); }
.site-polish .site-school .avatar { width: 44px; height: 44px; color: var(--sc-primary); background: var(--sc-primary-soft); border-color: var(--sc-border); }
.site-polish .site-school .teacher-top-live { background: var(--sc-primary-soft); color: var(--sc-primary); border-color: var(--sc-border); border-radius: 10px; min-height: 44px; }
.site-polish .site-school.role-teacher .school-page, .site-polish .site-school.role-parent .school-page { max-width: 1232px; padding: 28px 32px 44px; }
.site-polish .site-school .page-heading { margin-bottom: 20px; gap: 16px; }
.site-polish .site-school.role-teacher .page-heading h1, .site-polish .site-school.role-parent .page-heading h1 { color: var(--sc-ink); font-size: 30px; line-height: 1.5; letter-spacing: 0; font-weight: 650; }
.site-polish .site-school .page-heading p { font-size: 16px; color: var(--sc-text-secondary); line-height: 1.7; }
.site-polish .site-school .eyebrow { font-size: 12px; color: var(--sc-primary); letter-spacing: .05em; }
.site-polish .site-school .panel { color: var(--sc-ink); background: var(--sc-surface); border-color: var(--sc-border); padding: 22px 24px; box-shadow: var(--sc-shadow); border-radius: 14px; min-width: 0; }
.site-polish .site-school .panel h2 { color: var(--sc-ink); font-size: 20px; }
.site-polish .site-school :is(.panel p,.school-notes,.field,.school-empty p,.school-family-task > p,.school-feedback,.feed-main,.weekly-summary p) { font-size: 16px; color: var(--sc-text-secondary); line-height: 1.75; }
.site-polish .site-school :is(.muted,.school-stats span,.school-stats small,.school-person small,.school-task-row small,.school-task-count span,.school-child-picker,.school-invite span,.teacher-class-row small,.teacher-class-meta,.school-form-status,.feed-time,.ws-head .muted) { font-size: 12px; color: var(--sc-text-secondary); }
.site-polish .site-school .badge { font-size: 12px; color: var(--sc-primary); background: var(--sc-primary-soft); }
.site-polish .site-school .badge.orange { color: var(--sc-warning-ink); background: var(--sc-warning-soft); }
.site-polish .site-school .badge.blue { color: var(--sc-info-ink); background: var(--sc-info-soft); }
.site-polish .site-school .badge.red { color: var(--sc-danger); background: var(--sc-danger-soft); }
.site-polish .site-school :is(.teacher-hero,.school-hero) { background: var(--sc-hero-bg); border: 1px solid #c3cdae; box-shadow: none; padding: 24px 28px; border-radius: 16px; grid-template-columns: minmax(0,1fr) 180px; gap: 24px; }
.site-polish .site-school :is(.teacher-hero-copy h2,.school-hero h2) { color: var(--sc-ink); font-size: 28px; line-height: 1.6; font-weight: 600; }
.site-polish .site-school :is(.teacher-hero-copy p,.school-hero p) { color: var(--sc-text-secondary); font-size: 16px; line-height: 1.75; max-width: 640px; }
.site-polish .site-school .teacher-hero-board { color: var(--sc-primary); background: #eef2e2; box-shadow: none; border: 1px solid #c3cdae; border-radius: 12px; min-height: 138px; }
.site-polish .site-school .teacher-hero-board::before, .site-polish .site-school .teacher-hero-board::after { display: none; }
.site-polish .site-school .teacher-hero-board strong { color: var(--sc-primary); }
.site-polish .site-school .teacher-hero-board span { color: var(--sc-text-secondary); font-size: 12px; }
.site-polish .site-school .teacher-hero-board .board-grid { opacity: .35; }
.site-polish .site-school .school-hero-mark { transform: none; color: var(--sc-primary); background: #e0e8cf; width: 148px; height: 156px; border-radius: 48px 48px 16px; font-family: var(--sc-serif); box-shadow: none; }
.site-polish .site-school .school-hero-mark span { font-family: inherit; color: var(--sc-text-secondary); font-size: 12px; letter-spacing: .08em; }
.site-polish .site-school .teacher-flow { margin: 0 0 16px; }
.site-polish .site-school .teacher-flow-step { color: var(--sc-text-secondary); font-size: 14px; }
.site-polish .site-school .teacher-flow-step span { color: var(--sc-primary); background: var(--sc-primary-soft); }
.site-polish .site-school .teacher-flow-step small { color: var(--sc-text-secondary); font-size: 12px; }
.site-polish .site-school .school-stats { gap: 12px; margin: 20px 0; grid-template-columns: repeat(3,minmax(0,1fr)); }
.site-polish .site-school .school-stats > div { background: var(--sc-surface); border-color: var(--sc-border); border-radius: 12px; padding: 18px 20px; box-shadow: none; min-width: 0; }
.site-polish .site-school .school-stats strong { color: var(--sc-ink); font-size: 28px; font-variant-numeric: tabular-nums; }
.site-polish .site-school .teacher-quick-grid { gap: 12px; margin: 20px 0; }
.site-polish .site-school .teacher-quick-card { min-width: 0; padding: 18px; background: var(--sc-surface); border-color: var(--sc-border); box-shadow: none; border-radius: 12px; }
.site-polish .site-school .teacher-quick-card b { color: var(--sc-ink); font-size: 16px; }
.site-polish .site-school .teacher-quick-card small { color: var(--sc-text-secondary); font-size: 12px; }
.site-polish .site-school .teacher-quick-icon, .site-polish .site-school .teacher-class-mark { color: var(--sc-primary); background: var(--sc-primary-soft); box-shadow: none; }
.site-polish .site-school .teacher-class-row { min-width: 0; flex-wrap: wrap; row-gap: 8px; padding: 16px 0; border-color: var(--sc-border); }
.site-polish .site-school .teacher-class-row > span:nth-child(2) { min-width: 0; flex: 1 1 160px; }
.site-polish .site-school .school-card-actions { gap: 8px; }
.site-polish .site-school :is(.school-person,.school-task-row) { gap: 12px; min-width: 0; border-color: var(--sc-border); min-height: 64px; }
.site-polish .site-school .school-person { flex-wrap: wrap; }
.site-polish .site-school .school-person > span { min-width: 0; flex: 1 1 128px; overflow-wrap: anywhere; }
.site-polish .site-school .school-task-row h3 { font-size: 16px; }
.site-polish .site-school .school-task-count strong { color: var(--sc-ink); font-size: 24px; }
.site-polish .site-school .school-invite { color: var(--sc-ink); border-color: var(--sc-border-strong); background: var(--sc-surface-sunken); }
.site-polish .site-school .school-invite strong { color: var(--sc-primary); }
.site-polish .site-school .school-roster summary { min-height: 44px; padding: 8px 0; color: var(--sc-text-secondary); font-size: 14px; }
.site-polish .site-school :is(.dashboard-grid,.school-form-grid,.school-class-grid) { gap: 16px; }
.site-polish .site-school .school-empty { background: var(--sc-surface); border-color: var(--sc-border); padding: 32px 20px; }
.site-polish .site-school .school-empty h2 { color: var(--sc-ink); }
.site-polish .site-school .report-table-wrap { max-width: 100%; overflow-x: auto; }
.site-polish .site-school .report-table { font-size: 16px; color: var(--sc-ink); }
.site-polish .site-school .report-table th { color: var(--sc-text-secondary); font-size: 14px; background: var(--sc-surface-sunken); }
.site-polish .site-school .report-table :is(th,td) { border-color: var(--sc-border); }
.site-polish .site-school .weekly-summary { background: var(--sc-surface); border-color: var(--sc-border); }
.site-polish .site-school .ws-head { flex-wrap: wrap; gap: 8px; }
.site-polish .site-school .feed-item { gap: 10px; flex-wrap: wrap; }
.site-polish .site-school .feed-item.unread { background: var(--sc-surface-sunken); }
.site-polish .site-school .feed-icon { display: inline-grid; place-items: center; color: var(--sc-primary); background: var(--sc-primary-soft); width: 28px; height: 28px; border-radius: 7px; font-size: 12px; }
.site-polish .site-school .feed-main { min-width: 0; flex-basis: 170px; }
.site-polish .site-school .feed-main p { font-size: 16px; }
.site-polish .site-school .feed-time { margin-left: auto; }
.site-polish .site-school .school-child-picker { font-size: 14px; }
.site-polish .site-school .school-form-status { font-size: 14px; color: var(--sc-primary); min-height: 24px; }

/* The existing registration / demo contract remains intact; only its presentation shares the site system. */
body.site-polish.auth-dark { background: var(--sc-bg); color: var(--sc-ink); }
.site-polish .school-auth { color: var(--sc-ink); background: var(--sc-bg); }
.site-polish .school-auth .auth-intro { background: var(--sc-hero-bg); color: var(--sc-ink); border-color: var(--sc-border); }
.site-polish .school-auth .auth-intro .brand { color: var(--sc-ink); }
.site-polish .school-auth .auth-intro h1 { color: var(--sc-ink); font-family: var(--sc-serif); letter-spacing: .02em; }
.site-polish .school-auth .auth-intro p, .site-polish .school-auth .eyebrow { color: var(--sc-text-secondary); }
.site-polish .school-auth .brand-mark { color: white; background: var(--sc-primary); box-shadow: none; }
.site-polish .school-auth .auth-card { background: var(--sc-surface); color: var(--sc-ink); border: 1px solid var(--sc-border); border-radius: 18px; box-shadow: none; }
.site-polish .school-auth .auth-card h2 { color: var(--sc-ink); }
.site-polish .school-auth .field { color: var(--sc-text-secondary); font-size: 16px; }
.site-polish .school-auth :is(.auth-role-tabs,.auth-tabs) button { min-height: 44px; font-size: 16px; color: var(--sc-text-secondary); }
.site-polish .school-auth :is(.auth-role-tabs,.auth-tabs) button.active { background: var(--sc-primary-soft); color: var(--sc-primary); border-color: var(--sc-border); }
.site-polish .school-auth .auth-role-link { min-height: 44px; font-size: 14px; color: var(--sc-primary); }
.site-polish .school-auth :is(.muted,.auth-role-foot,.auth-signup-note) { color: var(--sc-text-secondary); font-size: 14px; }
.site-polish .school-auth #auth-error { color: var(--sc-danger); font-size: 14px; }

@media(max-width:1150px) {
  .site-polish .site-priority-links button > svg { display: none; }
  .site-polish .site-priority-links .site-entry-icon { width: 32px; height: 32px; flex-basis: 32px; }
  .site-polish .site-game-practice .lesson-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-polish .site-school .teacher-quick-grid { grid-template-columns: 1fr; }
}
@media(max-width:960px) {
  .site-polish .student-app .page { padding: 24px; }
  .site-polish .student-app .topbar { padding: 12px 24px; }
  .site-polish .site-home .student-desk { grid-template-columns: 1fr; }
  .site-polish .site-priority-links { grid-template-columns: 1fr; gap: 8px; }
  .site-polish .site-priority-links button { min-height: 72px; }
  .site-polish .site-priority-links button > svg { display: block; }
  .site-polish .site-home .student-stat-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .site-polish .site-home .student-strip-link { grid-column: 1 / -1; justify-self: end; padding: 0; }
  .site-polish .site-partner-grid { grid-template-columns: 1fr; }
  .site-polish .site-partner-card { display: grid; grid-template-columns: 108px minmax(0,1fr); gap: 10px 16px; align-items: center; padding: 18px; }
  .site-polish .site-partner-art { grid-row: 1 / 3; width: 108px; height: 108px; }
  .site-polish .site-partner-card .btn { grid-column: 2; width: fit-content; }
  .site-polish .site-games > .school-stats { grid-template-columns: 1fr; }
  .site-polish .site-games .school-stats > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 12px; }
  .site-polish .site-games .school-stats strong { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 22px; text-align: right; }
  .site-polish .site-games .school-stats small { grid-column: 1; }
  .site-polish .site-school :is(.teacher-hero,.school-hero) { grid-template-columns: minmax(0,1fr); }
  .site-polish .site-school :is(.teacher-hero-board,.school-hero-mark) { display: none; }
  .site-polish .site-school .dashboard-grid { grid-template-columns: 1fr; }
  .site-polish .site-school .school-stats { grid-template-columns: 1fr; }
  .site-polish .site-school .school-stats > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 12px; }
  .site-polish .site-school .school-stats strong { grid-column: 2; grid-row: 1 / 3; align-self: center; }
  .site-polish .site-school .school-stats small { grid-column: 1; }
}
@media(max-width:720px) {
  .site-polish .student-app { padding-bottom: calc(90px + env(safe-area-inset-bottom)); }
  .site-polish .student-app .workspace { margin-left: 0; }
  .site-polish .student-app .sidebar { inset: auto 0 0; width: 100%; height: auto; min-height: 76px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: var(--sc-surface); border: 0; border-top: 1px solid var(--sc-border); box-shadow: none; }
  .site-polish .student-app .nav-items { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 4px; overflow: visible; }
  .site-polish .student-app .sidebar .nav-button { min-width: 0; min-height: 56px; padding: 5px 2px; font-size: 12px; gap: 5px; flex-direction: column; line-height: 1.35; }
  .site-polish .student-app .student-more-nav { display: block; position: relative; }
  .site-polish .student-app .student-more-nav > summary { min-height: 56px; height: auto; font-size: 12px; border-radius: 10px; gap: 5px; color: var(--sc-text-secondary); }
  .site-polish .student-app .student-more-nav > div { min-width: 210px; max-width: calc(100vw - 24px); right: 0; bottom: calc(100% + 16px); border-radius: 12px; background: var(--sc-surface); border-color: var(--sc-border); padding: 8px; }
  .site-polish .student-app .student-more-nav .nav-button { min-height: 48px; flex-direction: row; padding: 10px 12px; font-size: 14px; gap: 12px; }
  .site-polish .student-app .topbar { min-height: 66px; gap: 8px; padding: 10px 16px; flex-wrap: wrap; }
  .site-polish .student-app .breadcrumb { font-size: 12px; flex: 1 1 auto; }
  .site-polish .student-app .top-actions { gap: 8px; }
  .site-polish .student-app .grade-lock { display: none; }
  .site-polish .student-app .school-demo-control { font-size: 0; }
  .site-polish .student-app .school-demo-control select { max-width: 100px; font-size: 14px !important; min-height: 44px !important; }
  .site-polish .student-app .page { padding: 24px 16px 32px; }
  .site-polish :is(.site-home,.site-games) .student-home-heading { gap: 12px; flex-wrap: wrap; }
  .site-polish :is(.site-home,.site-games) .student-home-heading h1 { font-size: 28px; }
  .site-polish .site-home :is(.student-next,.student-question-box) { padding: 18px 20px; }
  .site-polish .site-home .student-stat-strip { gap: 12px 8px; padding: 14px 16px; }
  .site-polish .site-home .student-strip-link { grid-column: 1 / -1; justify-self: stretch; justify-content: end; min-height: 44px; border-top: 1px solid var(--sc-border); padding-top: 8px; }
  .site-polish .site-home .student-stat-num { font-size: 24px; }
  .site-polish .site-home .student-home-shortcuts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-polish .site-home .today-buddy { grid-template-columns: 1fr; padding: 18px 20px; gap: 14px; text-align: left; }
  .site-polish .site-home .today-buddy-pet { display: flex; align-items: center; gap: 16px; text-align: left; }
  .site-polish .site-home .today-buddy-avatar { width: 92px; flex: 0 0 92px; margin: 0; }
  .site-polish .site-home .today-buddy-petinfo { align-items: start; }
  .site-polish .site-home .today-buddy-stats, .site-polish .site-home .today-buddy-concepts { justify-content: start; }
  .site-polish .site-home .student-library { padding: 16px 18px; }
  .site-polish .site-home .student-paper-row { flex-wrap: wrap; }
  .site-polish .site-home .student-paper-name { min-width: 0; }
  .site-polish .site-home .student-paper-count { font-size: 12px; }
  .site-polish .site-games > .panel { padding: 20px; }
  .site-polish .site-game-practice .lesson-grid { gap: 10px; }
  .site-polish .site-game-practice .game-card { padding: 14px; min-height: 164px; }
  .site-polish .site-community-grid { grid-template-columns: 1fr; }
  .site-polish .site-game-rank .game-tier-cell { font-size: 12px; }
  .site-polish .site-game-rank .game-rank-table td { padding: 10px 6px !important; }
  .site-polish .site-school.role-teacher, .site-polish .site-school.role-parent { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  .site-polish .site-school.role-teacher .workspace, .site-polish .site-school.role-parent .workspace { margin-left: 0; }
  .site-polish .site-school.role-teacher .sidebar, .site-polish .site-school.role-parent .sidebar { inset: auto 0 0; width: 100%; height: auto; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); border: 0; border-top: 1px solid var(--sc-border); box-shadow: none; }
  .site-polish .site-school.role-teacher .nav-items { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px; }
  .site-polish .site-school.role-parent .nav-items { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; }
  .site-polish .site-school.role-teacher .nav-items > [data-school-route=classes],
  .site-polish .site-school.role-teacher .nav-items > [data-school-route=papers],
  .site-polish .site-school.role-teacher .nav-items > [data-school-route=settings],
  .site-polish .site-school.role-teacher .nav-items > a { display: none; }
  .site-polish .site-school .sidebar .nav-button { min-width: 0; min-height: 58px; flex-direction: column; padding: 5px 2px; font-size: 12px; line-height: 1.35; gap: 5px; }
  .site-polish .site-school .sidebar .school-nav-symbol { width: 22px; height: 22px; font-size: 12px; }
  .site-polish .site-school-more { display: block; position: relative; }
  .site-polish .site-school-more > summary { cursor: pointer; min-height: 58px; list-style: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; font-size: 12px; color: var(--sc-text-secondary); border-radius: 10px; }
  .site-polish .site-school-more > summary::-webkit-details-marker { display: none; }
  .site-polish .site-school-more[open] > summary { background: var(--sc-primary-soft); color: var(--sc-primary); }
  .site-polish .site-school-more:has([aria-current=page]) > summary { background: var(--sc-primary-soft); color: var(--sc-primary); }
  .site-polish .site-school-more > div { position: absolute; right: 0; bottom: calc(100% + 16px); width: 214px; max-width: calc(100vw - 24px); padding: 8px; border: 1px solid var(--sc-border); border-radius: 12px; background: var(--sc-surface); box-shadow: 0 8px 24px #30392d12; }
  .site-polish .site-school-more .nav-button { min-height: 48px; flex-direction: row; padding: 10px 12px; font-size: 14px; justify-content: start; }
  .site-polish .site-school-more .nav-button > span:last-child { font-size: 14px; }
  .site-polish .site-school.role-teacher .topbar, .site-polish .site-school.role-parent .topbar { min-height: 66px; padding: 10px 16px; gap: 8px; flex-wrap: wrap; }
  .site-polish .site-school .breadcrumb { font-size: 12px; flex: 1 1 auto; }
  .site-polish .site-school .school-demo-control select { font-size: 14px; min-height: 44px; }
  .site-polish .site-school.role-teacher .school-page, .site-polish .site-school.role-parent .school-page { padding: 24px 16px 32px; }
  .site-polish .site-school .page-heading { flex-wrap: wrap; margin-bottom: 18px; }
  .site-polish .site-school.role-teacher .page-heading h1, .site-polish .site-school.role-parent .page-heading h1 { font-size: 26px; }
  .site-polish .site-school .page-heading .page-actions { width: 100%; }
  .site-polish .site-school .page-heading p { font-size: 16px; }
  .site-polish .site-school :is(.teacher-hero,.school-hero) { padding: 20px 22px; }
  .site-polish .site-school :is(.teacher-hero-copy h2,.school-hero h2) { font-size: 24px; }
  .site-polish .site-school .teacher-hero-actions { gap: 8px; flex-wrap: wrap; }
  .site-polish .site-school .teacher-flow { flex-wrap: wrap; gap: 8px; }
  .site-polish .site-school .teacher-flow-step { font-size: 12px; min-width: 0; }
  .site-polish .site-school .teacher-flow-line { width: 10px; }
  .site-polish .site-school .panel { padding: 20px; }
  .site-polish .site-school .school-stats > div { padding: 16px 18px; }
  .site-polish .site-school .school-form-grid { grid-template-columns: 1fr; }
  .site-polish .site-school .teacher-class-row .btn { margin-left: 0; }
  .site-polish .site-school .school-task-row { flex-wrap: wrap; gap: 8px 12px; }
  .site-polish .site-school .school-task-row > div:first-child { flex: 1 1 160px; }
  .site-polish .site-school .section-heading { gap: 12px; }
}
@media(max-width:390px) {
  .site-polish .student-app .page { padding: 20px 12px 28px; }
  .site-polish .student-app .topbar { padding: 10px 12px; }
  .site-polish .site-home .student-stat-strip { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .site-polish .site-home .student-stat { display: block; padding: 0; }
  .site-polish .site-home .student-stat-num { font-size: 24px; }
  .site-polish .site-home .student-strip-link { grid-column: 1 / -1; justify-self: stretch; justify-content: end; min-height: 44px; border-top: 1px solid var(--sc-border); padding-top: 8px; }
  .site-polish .site-home .student-home-shortcuts { grid-template-columns: 1fr; }
  .site-polish .site-home #learning-preferences { grid-template-columns: 1fr; }
  .site-polish .site-home :is(.student-next,.student-question-box) { padding: 16px; }
  .site-polish .site-home .student-next-body h3 { font-size: 22px; }
  .site-polish .site-priority-links button { padding: 12px; }
  .site-polish .site-partner-card { grid-template-columns: 78px minmax(0,1fr); padding: 16px; gap: 8px 12px; }
  .site-polish .site-partner-art { width: 78px; height: 78px; }
  .site-polish .site-partner-card h3 { font-size: 16px; }
  .site-polish .site-partner-card .btn { grid-column: 1 / -1; width: 100%; }
  .site-polish .site-game-practice .lesson-grid { grid-template-columns: 1fr; }
  .site-polish .site-game-practice .game-card { min-height: 126px; }
  .site-polish .site-games > .panel { padding: 16px; }
  .site-polish .site-games .school-stats > div { grid-template-columns: 1fr; }
  .site-polish .site-games .school-stats strong { grid-column: 1; grid-row: auto; text-align: left; }
  .site-polish .site-game-rank .game-tier-cell { display: none; }
  .site-polish .site-school.role-teacher .school-page, .site-polish .site-school.role-parent .school-page { padding: 20px 12px 28px; }
  .site-polish .site-school .panel { padding: 16px; }
  .site-polish .site-school :is(.teacher-hero,.school-hero) { padding: 18px; }
  .site-polish .site-school .teacher-flow-step { flex: 1 1 100%; }
  .site-polish .site-school .teacher-flow-line { display: none; }
  .site-polish .site-school .teacher-flow-step small { display: inline; }
}
@media(prefers-reduced-motion:reduce) {
  .site-polish :is(.site-home,.site-games,.site-school,.school-auth) *,
  .site-polish :is(.site-home,.site-games,.site-school,.school-auth) *::before,
  .site-polish :is(.site-home,.site-games,.site-school,.school-auth) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .site-polish #app.page-flip, .site-polish #app.page-flip-out { animation: none !important; transform: none; }
}
@media print {
  .site-polish :is(.student-app,.site-school) .sidebar, .site-polish :is(.student-app,.site-school) .topbar { display: none !important; }
  .site-polish :is(.student-app,.site-school) .workspace { margin: 0 !important; }
}
