/* Local interaction fixes; approved illustration crops and responsive grids are unchanged. */
html.dsr-sheet-open{overflow:hidden}
.dsr-app :is(button,a,input,select,summary):focus-visible{outline:3px solid #007aff;outline-offset:3px}
.dsr-app .dsr-header-actions>a,.dsr-app .dsr-menu>summary{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
.dsr-app .dsr-button{min-height:44px;white-space:normal}
.dsr-app .dsr-ui-notice,.dsr-app .dsr-ui-empty{padding:14px 18px;background:#eaf4ff;border-radius:16px;color:#54688e;font-size:14px;line-height:1.45;margin:12px 0}
.dsr-app .dsr-ui-empty h2{font-size:21px;margin-bottom:10px}
.dsr-app .dsr-ui-empty .dsr-button{font-size:16px;margin-top:12px}
.dsr-app .dsr-dialog,.dsr-app .sch229-dialog{position:fixed;width:min(600px,calc(100vw - 28px));max-width:100%;max-height:85dvh;overflow:auto;inset:0;margin:auto;border:1px solid #d1e5f9;border-radius:24px;background:#fff;padding:28px;color:#090f3b;box-shadow:0 24px 80px #12295740;font-size:16px;line-height:1.5;overscroll-behavior:contain}
.dsr-app .dsr-dialog::backdrop,.dsr-app .sch229-dialog::backdrop{background:#13274466;backdrop-filter:blur(4px)}
.dsr-app .dsr-dialog h2{font-size:24px;padding-right:35px;margin:0 0 16px;line-height:1.25}
.dsr-app .dsr-dialog p{font-size:16px;line-height:1.5;margin:12px 0}
.dsr-app .dsr-dialog-close{position:absolute;top:10px;right:10px;width:44px;height:44px;font-size:30px;border-radius:50%;background:#f1f7ff}
.dsr-app .dsr-dialog footer{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.dsr-app .dsr-dialog footer>*{flex:1}
.dsr-app .dsr-dialog .dsr-button{font-size:16px;padding:12px 20px;border-radius:14px;min-height:46px}
.dsr-app .dsr-dialog a{color:var(--mauto-ds-color-primary,#3c78da)}
.dsr-app .dsr-save-status{position:fixed;bottom:84px;left:50%;transform:translateX(-50%);z-index:20;max-width:calc(100% - 24px);background:#fff;border:1px solid #d7e9fb;border-radius:14px;padding:10px 16px;font-size:14px;box-shadow:0 5px 20px #102f6620}
.dsr-save-status:empty{display:none}
.dsr-app .dsr-ui-choices,.dsr-app .dsr-mode-options{display:grid;gap:10px}
.dsr-app .dsr-ui-choices label,.dsr-app .dsr-library-filter-choice{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px;border:1px solid #dceaf9;border-radius:12px;cursor:pointer}
.dsr-app .dsr-library-filter-choice{margin:8px 0}
.dsr-app .dsr-ui-choices input,.dsr-app .dsr-library-filter-choice input{width:20px;height:20px;accent-color:var(--mauto-ds-color-primary,#3c78da)}
.dsr-app .dsr-mode-options a{padding:16px;border-radius:14px;display:grid;gap:6px}
.dsr-app .dsr-mode-options span{font-size:14px;color:#64779c}
.dsr-app [data-library-empty]{padding:22px;margin:16px 0;font-size:16px}
.dsr-app [data-library-empty] h2{font-size:22px}.dsr-app [data-library-empty] p{font-size:15px;margin:12px 0}
.dsr-app [data-library-empty] .dsr-button{font-size:16px}
.dsr-app .dsr-lesson-context{max-width:950px;margin:24px auto;padding:0 22px 100px;font-size:16px;line-height:1.5}
.dsr-app .dsr-lesson-context h1{font-size:clamp(30px,4vw,48px);margin:16px 0}
.dsr-app .dsr-lesson-context .dsr-panel{padding:24px;display:grid;gap:18px}
.dsr-app .dsr-lesson-context h2{font-size:24px}.dsr-app .dsr-lesson-context p{font-size:16px}
.dsr-app .dsr-lesson-context a{color:var(--mauto-ds-color-primary,#3c78da)}.dsr-app .dsr-lesson-context .dsr-button{font-size:16px;color:#fff}
.dsr-app .dsr-lesson-links{display:flex;gap:12px;flex-wrap:wrap}
.dsr-app .sch229-dialog{padding:0;width:min(720px,calc(100vw - 28px))}
.dsr-app .sch229-dialog form{padding:0}
.dsr-app .sch229-dialog header{display:flex;align-items:flex-start;gap:20px;padding:24px;background:#f5faff}
.dsr-app .sch229-dialog header span{font-size:11px;letter-spacing:1px;color:var(--mauto-ds-color-primary,#3c78da)}
.dsr-app .sch229-dialog header h2{font-size:24px;line-height:1.2;margin:6px 0 12px}
.dsr-app .sch229-dialog header p{font-size:14px;line-height:1.5}
.dsr-app .sch229-dialog header button{flex:none;width:44px;height:44px;background:#e8f3ff;border-radius:50%}
.dsr-app .sch229-dialog .dsr-icon{width:24px;height:24px}
.dsr-app .sch229-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px}
.dsr-app .sch229-form-grid>label:not(.sch229-consent){display:grid;gap:6px;font-size:14px}
.dsr-app .sch229-form-grid :is(input:not([type=checkbox]),select,textarea){display:block;width:100%;max-width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #cddff0;border-radius:10px;background:#fff;color:#101a3c;font-size:16px;box-sizing:border-box}
.dsr-app .sch229-wide{grid-column:1/-1}
.dsr-app .sch229-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.5}
.dsr-app .sch229-consent input{min-height:22px;width:22px;flex:none;accent-color:var(--mauto-ds-color-primary,#3c78da)}
.dsr-app .sch229-dialog footer{position:sticky;bottom:0;padding:16px 24px;background:#fff;border-top:1px solid #dceafa}
.dsr-app .sch229-dialog footer p{margin-bottom:8px;font-size:14px}
.dsr-app .sch229-primary,.dsr-app .sch229-success button{min-height:46px;border-radius:12px;padding:12px 20px;background:var(--mauto-ds-action-blue,linear-gradient(110deg,#5996ef,#3c78da));color:#fff;border:0;font-size:16px;box-shadow:var(--mauto-ds-action-depth)}
.dsr-app .sch229-primary:disabled{opacity:.55}
.dsr-app .sch229-success{padding:30px;display:grid;gap:18px}.dsr-app .sch229-success h2{font-size:24px}.dsr-app .sch229-success p{font-size:16px}
.dsr-app .sch229-toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:14px 20px;color:#fff;background:#102952;border-radius:12px;z-index:40;font-size:14px}
@media(max-width:767px){
.dsr-app .dsr-dialog,.dsr-app .sch229-dialog{inset:auto 0 0;width:100%;max-height:90dvh;margin:0;border-radius:24px 24px 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom))}
.dsr-app .dsr-dialog{padding:24px 20px}.dsr-app .dsr-dialog h2{font-size:22px}
.dsr-app .dsr-dialog footer{position:sticky;bottom:-24px;background:#fff;padding:12px 0 max(16px,env(safe-area-inset-bottom));margin-bottom:-20px}
.dsr-app .dsr-topic-tabs button,.dsr-app .dsr-catalog-chips button,.dsr-app .dsr-media-chips button{min-height:44px}
.dsr-app .dsr-media .dsr-test-actions .dsr-button{min-height:44px;height:auto;padding:10px;font-size:15px}
.dsr-app .dsr-media .dsr-test-answers label{min-height:44px;height:auto;padding:10px;font-size:14px}
.dsr-app .dsr-media .dsr-test-answers{height:auto}
.dsr-app .dsr-media-more{min-width:44px;min-height:44px}
.dsr-app .dsr-media .dsr-test-question{height:auto;min-height:0;padding-bottom:16px}
.dsr-app .dsr-media .dsr-test-answers{position:relative;left:auto;right:auto;top:auto;margin-top:14px}
.dsr-app .sch229-dialog header{padding:18px;gap:12px}.dsr-app .sch229-dialog header p{font-size:13px}
.dsr-app .sch229-form-grid{grid-template-columns:1fr;padding:18px;gap:14px}
.dsr-app .sch229-dialog footer{padding:12px 18px max(16px,env(safe-area-inset-bottom))}.dsr-app .sch229-primary{width:100%}
}
.dsr-app .dsr-lesson-context>a{display:inline-flex;align-items:center;min-height:44px}
.dsr-app .dsr-lesson-context .dsr-button.dsr-soft{color:var(--mauto-ds-color-primary,#3c78da)}

.dsr-app .dsr-dialog a.dsr-button{color:#fff}
.dsr-app .dsr-dialog a.dsr-button.dsr-soft{color:var(--mauto-ds-color-primary,#3c78da)}
.dsr-app .dsr-topic-search button,.dsr-app .dsr-rule-search button{min-width:44px;min-height:44px}

@media(max-width:767px){
.dsr-app .dsr-school-card{height:auto;min-height:156px}
.dsr-app .dsr-school-photo{align-self:start;aspect-ratio:275/245}
.dsr-app .dsr-school-copy{display:flex;flex-direction:column}
.dsr-app .dsr-school-copy header{align-items:flex-start;gap:6px}
.dsr-app .dsr-school-copy header h3{max-width:none;white-space:normal;flex:1}
.dsr-app .dsr-school-rating{position:static;flex-shrink:0}
.dsr-app .dsr-school-actions{position:static;margin-top:auto;padding-top:4px}
.dsr-app .dsr-school-actions .dsr-button{font-size:12px}
.dsr-app .dsr-school-copy li{font-size:11px;line-height:1.35}
.dsr-app .dsr-catalog-main>.dsr-catalog-help{height:auto;flex-wrap:wrap}
.dsr-app .dsr-catalog-help>div{min-width:0;flex:1}
.dsr-app .dsr-catalog-help p{white-space:normal}
.dsr-app .dsr-catalog-help .dsr-button{flex-basis:100%;margin-left:0;font-size:13px}
.dsr-app .dsr-catalog-search{min-height:44px}
.dsr-app .dsr-catalog-search input,.dsr-app .dsr-topic-search input,.dsr-app .dsr-rule-search input{font-size:16px}
}

@media(max-width:767px){.dsr-app .sch229-dialog{padding-bottom:0}}

/* Native text sizes stay readable independently of the illustration scale. */
.dsr-app .dsr-quick-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dsr-app .dsr-quick-card { height:auto;min-height:140px;min-width:0;max-width:100%;display:flex;flex-direction:column;padding:12px 10px 8px; }
.dsr-app .dsr-quick-card h3 { min-width:0;max-width:100%;font-size:14px;line-height:1.3;white-space:normal;overflow-wrap:anywhere;letter-spacing:-.2px; }
.dsr-app .dsr-quick-card p { min-width:0;max-width:100%;font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;word-break:normal;color:var(--mauto-ds-color-text-secondary,#61758d); }
.dsr-app .dsr-quick-card > .dsr-arrow { position:static;width:44px;height:44px;min-height:44px;margin:4px -5px -5px auto; }
.dsr-app .dsr-quick-card > .dsr-art { max-width:100%;flex-shrink:0; }
.dsr-app .dsr-content-status { display:block;margin:6px 0 0;font-size:12px;line-height:1.4;color:var(--mauto-ds-color-text-secondary,#61758d); }
.dsr-app .dsr-topic-card { height:auto;min-height:150px; }
.dsr-app .dsr-topic-card-progress { margin-top:10px; }
.dsr-app .dsr-topic-card-progress > div:first-child { font-size:12px;line-height:1.35; }
.dsr-app .dsr-topic-card h2 { font-size:max(14px,calc(24 * var(--u)));line-height:1.3; }
.dsr-app .dsr-topic-card-copy > p { font-size:max(12px,calc(18 * var(--u)));line-height:1.4; }
.dsr-app .dsr-media .dsr-video-status { position:static;grid-column:2;justify-self:start;min-height:26px;height:auto;margin:6px 0 0;padding:5px 8px;gap:0;white-space:normal;font-size:12px;line-height:1.3;background:var(--mauto-ds-color-surface-soft,#eef5fd);color:var(--mauto-ds-color-text-secondary,#61758d); }
.dsr-app .dsr-video-status i { display:none; }
.dsr-app .dsr-media .dsr-video-copy h2 { font-size:max(14px,calc(22 * var(--u)));line-height:1.3;padding-right:34px; }
.dsr-app .dsr-media .dsr-video-description,.dsr-app .dsr-media .dsr-video-views { font-size:max(12px,calc(15 * var(--u)));line-height:1.4;color:var(--mauto-ds-color-text-secondary,#61758d); }
.dsr-app .dsr-media-more,.dsr-app .dsr-section-heading > button { min-width:44px;min-height:44px; }
.dsr-app .dsrp-week-row { flex-wrap:wrap;gap:10px 16px; }
.dsr-app .dsrp-week-row > p { flex:1 1 240px;min-width:0;font-size:14px;line-height:1.45; }
.dsr-app .dsrp-week-row > .dsr-button { flex:0 0 auto;min-width:150px;min-height:44px;font-size:14px;padding:10px 14px;white-space:nowrap; }
.dsr-app .dsrp-lesson-actions > :is(a,button) { min-width:110px;min-height:44px;height:auto;font-size:14px;padding:10px 14px;line-height:1.3;white-space:normal;gap:8px; }
.dsr-app .dsrp-lesson-actions > :is(a,button) .dsr-icon { width:20px;height:20px;flex-shrink:0; }
@media (max-width:1099px) {
  .dsr-app .dsr-bottom-nav {
    height:auto!important;
    min-height:calc(72px + env(safe-area-inset-bottom,0px));
    padding:6px 4px calc(8px + env(safe-area-inset-bottom,0px));
    margin:0;
    border-radius:24px 24px 0 0;
    border-top:1px solid #e2ecf7;
  }
  .dsr-app .dsr-bottom-nav a { width:20%;min-width:0;min-height:52px;font-size:11px;line-height:1.25;gap:5px;text-align:center; }
  .dsr-app .dsr-bottom-nav .dsr-icon { width:24px;height:24px; }
  .dsr-app .dsr-content { padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))!important; }
  html.dsr-sheet-open .dsr-bottom-nav { visibility:hidden;pointer-events:none; }
  .dsr-app .dsr-media .dsr-video-card { align-items:start;column-gap:12px;padding:10px; }
  .dsr-app .dsr-media .dsr-video-thumb { grid-column:1;grid-row:1 / span 2; }
  .dsr-app .dsr-media .dsr-video-copy { padding-top:0; }
  .dsr-app .dsr-media .dsr-video-description br { display:none; }
  .dsr-app .dsr-media .dsr-video-views { margin-top:6px; }
  .dsr-app .dsr-media .dsr-video-card > .dsr-media-more { top:0;right:0; }
  .dsr-app .dsr-personal .dsrp-lesson { height:auto;min-height:140px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px 12px;padding:12px; }
  /* Keep the absolute reference crop anchored to its compact artwork slot. */
  .dsr-app .dsrp-lesson-art { position:relative;inset:auto;grid-column:1;grid-row:1;width:64px;height:64px;align-self:start; }
  .dsr-app .dsrp-lesson-copy { grid-column:2;grid-row:1;margin:0; }
  .dsr-app .dsrp-lesson-copy > p { font-size:12px;line-height:1.4; }
  .dsr-app .dsrp-lesson-copy h3 { font-size:15px;line-height:1.35;white-space:normal; }
  .dsr-app .dsrp-location { font-size:12px;line-height:1.4;gap:6px; }
  .dsr-app .dsrp-location small { font-size:12px;line-height:1.4; }
  .dsr-app .dsrp-lesson > .dsrp-status { position:static;grid-column:1 / -1;grid-row:2;justify-self:start;align-self:center;margin-top:2px;height:auto;min-height:25px;padding:5px 8px;font-size:11px;line-height:1.3; }
  .dsr-app .dsrp-lesson-actions { position:static;grid-column:2;grid-row:2;justify-self:end;align-self:start; }
  .dsr-app .dsrp-lesson-actions > :is(a,button) { width:auto;max-width:100%; }
}
@media (min-width:640px) and (max-width:1099px) {
  .dsr-app .dsr-personal .dsrp-lesson { min-height:112px;grid-template-columns:64px minmax(0,1fr) auto;gap:6px 12px; }
  .dsr-app .dsrp-lesson-art { grid-row:1 / span 2;align-self:center; }
  .dsr-app .dsrp-lesson-copy { grid-row:1 / span 2;align-self:center; }
  .dsr-app .dsrp-lesson > .dsrp-status { grid-column:3;grid-row:1;justify-self:end;align-self:end;margin-top:0; }
  .dsr-app .dsrp-lesson-actions { grid-column:3;grid-row:2; }
}
@media (max-width:639px) {
  .dsr-app .dsr-quick-grid { gap:8px; }
  .dsr-app .dsr-quick-card h3 { font-size:13px; }
  .dsr-app .dsr-quick-card p br { display:initial; }
  .dsr-app .dsr-quick-access .dsr-section-heading { align-items:flex-start;gap:8px; }
  .dsr-app .dsr-quick-access .dsr-section-heading h2 { font-size:18px;line-height:1.25; }
  .dsr-app .dsr-quick-access .dsr-section-heading > a { font-size:12px;line-height:1.3;min-height:44px;align-items:flex-start; }
  .dsr-app .dsr-nearest-home footer a { font-size:13px;line-height:1.4; }
  .dsr-app .dsrp-lessons-heading { flex-wrap:wrap;gap:6px; }
  .dsr-app .dsr-personal .dsrp-show-all { min-height:44px;font-size:13px; }
}

/* Decorative SVG replacements inherit the same compact slots as their prior glyphs. */
.dsr-app .dsr-topic-recommend > .dsr-icon { width:16px;height:16px;flex-shrink:0;vertical-align:middle; }
.dsr-app .dsr-school-rating b > .dsr-icon { width:18px;height:18px;vertical-align:middle; }
.dsr-app .dsr-catalog-chips button > .dsr-icon { width:18px;height:18px;vertical-align:middle;margin-right:5px; }
