/* Keep the site's typography, paper, ink, blue/lime accents and square edges. */
.ui-icon { width:20px; height:20px; display:inline-block; flex-shrink:0; vertical-align:middle; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline:2px solid var(--blue)!important; outline-offset:3px!important; }
.site-header .header-nav > a, .site-header .header-nav > details > summary { gap:7px; min-height:44px; }
.site-header .header-nav > a[aria-current="page"], .site-header .navigation-group--current > summary { box-shadow:inset 0 -3px var(--blue); }
.site-header .navigation-group__panel a { gap:8px; }
.account-menu > summary, .account-tools > a { min-height:44px!important; display:flex!important; align-items:center; gap:8px; }
.home-page :focus-visible { scroll-margin-block:8px; }
.ui-footer-links { display:flex; flex-wrap:wrap; gap:18px; }
.ui-footer-links a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; word-break:keep-all; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:4px; }
.home-page .function-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border:0; }
.home-page .function-list a { display:flex; align-items:center; justify-content:flex-start; gap:14px; min-height:92px; padding:18px; border:1px solid var(--ink); }
.home-page .function-list a > .ui-icon { width:28px; height:28px; }
.home-page .feature-access-label { display:none; }
.learning-shortcuts { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-block:24px; }
.learning-shortcuts a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:18px 8px; min-height:110px; border:1px solid var(--ink); font-weight:800; text-align:center; }
.learning-shortcuts .ui-icon { width:28px; height:28px; }
.learning-shortcuts a:hover { background:#fff; box-shadow:inset 3px 0 0 var(--blue); }
.dashboard-heading > a { min-height:44px; }
.dashboard-focus { margin-block:28px; }
.dashboard-focus > header { margin-bottom:10px; }
.dashboard-focus h3 { font-size:16px; }
.dashboard-assignments h3, .dashboard-focus h3 { display:flex; align-items:center; gap:10px; }
.dashboard-list > a > div { flex:1; }
.dashboard-list > a > span { margin-left:auto; }
.dashboard-next-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border:0; }
.dashboard-next-grid > a { align-items:flex-start; justify-content:flex-start; flex-wrap:wrap; border:1px solid var(--ink); min-height:100px; padding:16px; }
.dashboard-next-grid > a strong { width:calc(100% - 48px); }
.dashboard-next-grid > a > span { margin:0 0 0 46px; text-align:left; }
.dashboard-secondary { border-top:1px solid var(--ink); margin-top:18px; padding:18px 0; }
.dashboard-secondary > summary { cursor:pointer; display:flex; align-items:center; gap:10px; font-weight:800; list-style:none; min-height:44px; }
.dashboard-secondary > summary::after { content:'+'; margin-left:auto; font-size:22px; }
.dashboard-secondary[open] > summary::after { content:'−'; }
.dashboard-secondary > summary::-webkit-details-marker { display:none; }
.dashboard-secondary > div { margin-top:16px; }
.dashboard-summary { margin-top:24px; border-top:1px solid var(--ink); }
.dashboard-summary > a { min-height:94px; padding:16px; display:grid; grid-template-columns:20px 1fr; gap:8px; }
.dashboard-summary > a + a { border-left:1px solid var(--line); }
.dashboard-summary > a:hover { background:#fff; }
.dashboard-summary > a strong { grid-column:2; }
.goal-progress { display:block; width:100%; height:6px; accent-color:var(--ink); margin-top:10px; }
.ui-state { display:inline-flex; align-items:center; gap:6px; padding:5px 9px; border:1px solid var(--line); }
.ui-error { border-left:3px solid var(--red); padding:16px; }
.record-row > details { grid-column:1/-1; }
.record-page .ui-error button, .learning-dashboard .ui-error button { min-height:44px; padding:10px 14px; border:1px solid var(--blue); background:var(--blue); color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.learning-dashboard .ui-error button { margin:10px 0 0; font-size:14px; }
.record-page .ui-error button > span { color:inherit; font:inherit; }
.record-panel > section { margin-block:28px; }
.record-page .record-empty--actions { padding:16px 0 24px; text-align:left; }
.record-empty-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.record-empty-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; border:1px solid var(--blue); background:var(--blue); color:#fff; font:inherit; font-weight:700; box-sizing:border-box; }
.record-empty-actions a:hover { filter:brightness(.94); }
.record-panel h2 { display:flex; gap:10px; align-items:center; }
.record-page .record-panel h2 > .ui-icon { width:32px; height:32px; padding:6px; background:var(--lime); color:var(--blue); }
.record-page .record-row > a { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.record-page .record-row > a:hover { filter:brightness(.94); }
.record-page .record-row > a[data-learning-role="practice"] { background:var(--blue); border-color:var(--blue); color:#fff; }
.record-page .ui-state[data-state="active"] { background:var(--lime); border-color:var(--ink); color:var(--ink); }
.record-row > a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 10px; border:1px solid var(--ink); }
.record-row > a:hover { background:var(--ink); color:var(--paper); }
.record-row summary { cursor:pointer; padding-block:10px; }
.record-page .record-row summary { width:fit-content; min-height:44px; padding:10px 12px; border:1px solid var(--ink); color:var(--ink); font-weight:700; box-sizing:border-box; }
.record-page .record-row summary:hover { text-decoration:underline; text-underline-offset:3px; }
.record-page .record-row > details > p { margin-block:12px; line-height:1.6; }
.record-page .record-row > details > a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 12px; border:1px solid var(--ink); color:var(--ink); font-size:14px; font-weight:700; box-sizing:border-box; }
.record-page .record-row > details > a:hover { background:var(--ink); color:var(--paper); }
.record-page .record-row > details > a > span { color:inherit; font:inherit; }
.record-page .record-heading a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.record-page .record-row summary > span, .record-page .record-row > a > span { color:inherit; font:inherit; }
.record-page .record-row > strong, .record-page .record-row > .ui-state { word-break:keep-all; overflow-wrap:anywhere; }
.record-page .record-row, .record-page .record-row__summary { grid-template-columns:140px minmax(150px,1fr) 90px 110px 140px; }
.record-page .record-row > a, .record-page .record-row > .ui-state, .record-row__summary > .ui-state { justify-self:end; }
.record-page .record-row--written { display:block; }
.record-page .record-row .record-row__summary { display:grid; width:100%; gap:16px; align-items:center; padding:0; border:0; list-style:none; font-weight:400; }
.record-row__summary::-webkit-details-marker { display:none; }
.record-page .record-row .record-row__summary:hover { text-decoration:none; }
.record-page .record-row .record-row__summary > span:first-child { color:var(--muted); font-size:13px; }
.record-page .record-row .record-row__summary > .ui-state { font-size:13px; }
.record-row__toggle { justify-self:end; display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:10px 12px; border:1px solid var(--ink); font-weight:700!important; box-sizing:border-box; }
.record-row details[open] .record-row__toggle > .ui-icon { transform:rotate(90deg); }
.record-row__summary:hover .record-row__toggle { text-decoration:underline; text-underline-offset:3px; }
@media (max-width:900px) {
 .record-page .record-row, .record-page .record-row .record-row__summary { grid-template-columns:minmax(0,1fr) auto auto; }
 .record-page .record-row > :first-child, .record-page .record-row > strong:nth-child(2), .record-row__summary > :first-child, .record-row__summary > strong:nth-child(2) { grid-column:1/-1; }
}
@media (max-width:620px) {
 .record-page .record-row, .record-page .record-row .record-row__summary { grid-template-columns:1fr 1fr; }
 .record-page .record-row > :first-child, .record-page .record-row > strong:nth-child(2), .record-page .record-row > a, .record-row__summary > :first-child, .record-row__summary > strong:nth-child(2), .record-row__summary > .record-row__toggle { grid-column:1/-1; }
 .record-page .record-row > a, .record-row__summary > .record-row__toggle { justify-self:stretch; justify-content:center; }
}
.record-type-links { display:flex; gap:10px; flex-wrap:wrap; margin-block:16px; }
.record-type-links a { display:flex; align-items:center; gap:10px; padding:12px 16px; border:1px solid var(--ink); font-weight:800; }
.record-type-links a:hover { background:#fff; box-shadow:inset 3px 0 0 var(--blue); }
.map-updated { display:flex; align-items:center; gap:8px; color:var(--muted); }
.map-layout .leaflet-control-zoom a { width:44px; height:44px; line-height:44px; }
@media (max-width:760px) {
 .region-tabs { flex-wrap:wrap; padding-block:8px; overflow-x:visible; }
 .region-tabs .quick-view-button { flex:1 0 120px; margin-left:0; }
 .region-tabs #visible-count { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; }
}
.map-updated .status-dot { display:inline-block; }
.quick-center small:empty, .detail-distance:empty { display:none; }
.quick-center { position:relative; padding-right:32px; }
.quick-center::after { content:""; position:absolute; right:14px; top:50%; width:7px; height:7px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:translateY(-50%) rotate(45deg); }
.quick-center:hover::after, .quick-center:focus-visible::after { color:var(--lime); }
.map-empty { display:flex; flex:1; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:20px; min-height:320px; height:100%; padding:32px; background:var(--paper); color:var(--ink); }
.map-empty > svg { width:56px; height:56px; padding:12px; background:var(--lime); color:var(--blue); }
.map-empty h2 { font-size:24px; line-height:1.4; word-break:keep-all; overflow-wrap:break-word; }
.map-empty button { min-height:44px; padding:10px 16px; border:1px solid var(--blue); background:var(--blue); color:#fff; font:inherit; font-weight:800; cursor:pointer; }
.exam-guide-page .exam-guide-note { margin-top:18px; padding-block:16px; border-block:1px solid var(--ink); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; }
.exam-guide-page .exam-guide-note > span { min-width:0; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }
.exam-guide-page .exam-guide-note strong { display:block; margin-bottom:4px; }
@media (max-width:620px) { .exam-guide-page .exam-guide-note { grid-template-columns:1fr; } }
@media (max-width:620px) {
 .exam-guide-page .exam-comparison > div { min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .exam-guide-page .exam-comparison__head > :first-child { position:absolute; width:1px; height:1px; min-height:0!important; padding:0; overflow:hidden; clip-path:inset(50%); }
 .exam-guide-page .exam-comparison__head > :nth-child(2) { border-left:0; }
 .exam-guide-page .exam-comparison [role="rowheader"] { grid-column:1/-1; min-height:0; padding:8px 12px; }
 .exam-guide-page .exam-comparison [role="cell"] { padding:12px; border-top:1px solid var(--ink); word-break:keep-all; overflow-wrap:anywhere; }
 .exam-guide-page .exam-comparison [role="cell"]:nth-child(2) { border-left:0; }
}
@media(max-width:760px) {
 .site-header .header-nav > a, .site-header .header-nav > details > summary { min-height:44px; }
 .site-header .header-nav .ui-icon { width:18px; height:18px; }
 .home-page .function-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-page .function-list a { padding:14px; flex-direction:column; align-items:flex-start; }
 .learning-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .learning-shortcuts a { min-height:100px; padding:14px 6px; word-break:keep-all; }
 .dashboard-next-grid { grid-template-columns:1fr; }
 .dashboard-list > a { flex-wrap:wrap; }
 .dashboard-list > a > div { min-width:140px; }
 .dashboard-summary > a:nth-child(3) { border-left:0; border-top:1px solid var(--line); }
 .dashboard-summary > a:nth-child(4) { border-top:1px solid var(--line); }
 .map-updated { margin-top:12px; }
}
@media(prefers-reduced-motion:reduce) { .learning-shortcuts a { transition:none; } }

.site-header .header-nav .navigation-mobile { display:none; }
.dashboard-resume { margin-top:0; border-bottom:1px solid var(--ink); padding-block:20px; }
.dashboard-resume h3 { margin-bottom:14px; font-size:16px; }
#resume-actions article { display:flex; align-items:center; gap:16px; padding-block:12px; }
#resume-actions article > .ui-icon { width:28px; height:28px; }
#resume-actions article > div { flex:1; }
#resume-actions article > a { display:inline-flex; align-items:center; gap:8px; min-height:44px; border:1px solid var(--ink); padding:10px 14px; }
.resume-progress { display:flex; align-items:center; gap:10px; margin-top:10px; }
.resume-progress progress { width:min(220px,60%); height:8px; accent-color:var(--ink); }
.resume-progress small { color:var(--muted); }
.dashboard-list .ui-primary span { color:inherit; }
.dashboard-summary > div { display:grid; grid-template-columns:20px 1fr; gap:8px; }
.dashboard-summary > div strong { grid-column:2; }
@media(max-width:760px) {
 .site-header .header-nav > .navigation-desktop { display:none; }
 .site-header .header-nav > .navigation-mobile { display:block; }
 .site-header .header-nav { flex-wrap:nowrap; justify-content:space-between; width:100%; gap:0; }
 .site-header .header-nav > a, .site-header .header-nav > details > summary { padding-inline:6px; gap:5px; }
 .site-header .header-nav .navigation-group__panel a { min-height:44px; }
 #resume-actions article { flex-wrap:wrap; }
 #resume-actions article > div { min-width:180px; }
 #resume-actions article > a { margin-left:auto; }
}

#resume-actions .ui-primary { font-weight:800; }
@media(max-width:420px) {
 .site-header .header-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
 .site-header .header-nav > a, .site-header .header-nav > details > summary { width:100%; flex-direction:column; justify-content:center; padding:8px 2px; white-space:normal; text-align:center; word-break:keep-all; }
 .site-header .header-nav > details > summary::after { display:none; }
}

/* Purpose sets the main action; lime also marks progress and supporting emphasis. */
[data-learning-role] { --role-accent:var(--ink); --role-text:var(--paper); --role-border:var(--ink); --role-tint:var(--paper-deep); }
[data-learning-role="learn"] { --role-accent:var(--lime); --role-text:var(--ink); --role-border:var(--ink); --role-tint:color-mix(in srgb,var(--lime) 24%,var(--paper)); }
[data-learning-role="practice"] { --role-accent:var(--blue); --role-text:#fff; --role-border:var(--blue); --role-tint:color-mix(in srgb,var(--blue) 7%,var(--paper)); }
.ui-primary { background:var(--role-accent,var(--ink))!important; color:var(--role-text,var(--paper))!important; }
.ui-primary:hover { filter:brightness(.94); }
.site-header .header-nav a[aria-current="page"], .site-header .navigation-group--current > summary { background:var(--role-accent,var(--ink)); color:var(--role-text,var(--paper)); box-shadow:inset 0 -4px var(--lime); }
.site-header .header-nav a[aria-current="page"]:hover { color:var(--role-text,var(--paper)); }
.dashboard-resume { padding-inline:18px; border-left:4px solid var(--ink); background:var(--paper-deep); }
.dashboard-resume h3 { display:inline-flex; padding:6px 10px; background:var(--ink); color:var(--paper); }
.learning-shortcuts a, .home-page .function-list a, .dashboard-next-grid > a { border-color:var(--role-border,var(--ink)); background:var(--role-tint,var(--paper-deep)); }
.learning-shortcuts a:hover, .home-page .function-list a:hover, .dashboard-next-grid > a:hover { background:var(--role-tint,var(--paper-deep)); box-shadow:inset 4px 0 0 var(--role-accent,var(--ink)); }
.learning-shortcuts .ui-icon, .home-page .function-list a > .ui-icon { width:42px; height:42px; padding:8px; background:var(--role-accent); color:var(--role-text); }
.dashboard-next-grid > a > .ui-icon { width:32px; height:32px; padding:6px; background:var(--role-accent); color:var(--role-text); }
#resume-actions article > a { border-color:var(--role-border); color:var(--ink); }
.dashboard-list .ui-state { border-color:var(--ink); color:var(--ink); }
.dashboard-list .ui-state[data-learning-role="practice"] { border-color:var(--blue); color:var(--blue); }
.goal-progress, .dashboard-list .goal-progress { accent-color:var(--ink); }
.resume-progress progress { appearance:none; border:0; background:var(--paper); }
.resume-progress progress::-webkit-progress-bar { background:var(--paper); }
.resume-progress progress::-webkit-progress-value { background:var(--lime); }
.resume-progress progress::-moz-progress-bar { background:var(--lime); }
.resume-progress progress { border:1px solid var(--ink); }
.learning-shortcuts a[data-learning-role="practice"] .ui-icon, .home-page .function-list a[data-learning-role="practice"] > .ui-icon, .dashboard-next-grid > a[data-learning-role="practice"] > .ui-icon { background:var(--lime); color:var(--blue); }

.home-page :is(.learning-shortcuts a,.function-list a,.dashboard-next-grid > a), .home-page .dashboard-resume { background:var(--paper); }
.home-page :is(.learning-shortcuts a,.function-list a,.dashboard-next-grid > a):hover { background:var(--paper); }
.home-page .dashboard-next-grid > a.ui-primary { background:var(--paper)!important; color:var(--ink)!important; box-shadow:inset 0 4px var(--role-accent,var(--ink)); }
.home-page .dashboard-next-grid > a.ui-primary:hover { filter:none; }

/* Purpose accents continue inside the feature; correctness and errors keep their own cues. */
main[data-learning-role="learn"] :is(.lesson-heading,.guide-heading,.concept-tool-heading) { background:var(--role-tint); border-top:6px solid var(--lime); padding:20px; }
main[data-learning-role="learn"] .theory-index h1 { padding:14px 12px; background:var(--lime); color:var(--ink); }
main[data-learning-role="learn"] .theory-panel .page-context { width:fit-content; max-width:100%; padding:3px 8px; background:var(--lime); color:var(--ink); }
main[data-learning-role="learn"] input[type="checkbox"] { accent-color:var(--lime); }
main[data-learning-role="learn"] :is(.lesson-callout,.try-block):not(.lesson-warning) { border-left-color:var(--lime); background:var(--role-tint); }
main[data-learning-role="learn"] :is(.lesson-index nav a[aria-current="true"],.theory-index nav a[aria-current="page"],.guide-index button[aria-current="true"],.dictionary-item[aria-current="true"],.concept-tool-tabs button[aria-selected="true"],.function-filters button[aria-pressed="true"],.use-case-tabs button[aria-selected="true"]) { background:var(--lime); color:var(--ink); border-color:var(--ink); box-shadow:inset 3px 0 var(--ink); }
main[data-learning-role="learn"] .guide-index button[aria-current="true"] :is(span,small) { color:var(--ink); }
main[data-learning-role="practice"] :is(.learning-heading,.quiz-heading,.tool-heading) { border-top:6px solid var(--lime); background:var(--role-tint); padding-inline:20px; }
main[data-learning-role="practice"] :is(.quiz-primary,.submit-quiz,.study-mode-card button:first-child,.trainer-setup button,.formula-entry .formula-submit,.trainer__actions button:last-child,.exam-catalog button,#begin-prepared-exam,.submission-form > button,.concept-next-row button,.question-actions button:last-child), #assignment-stage .assignment-primary { background:var(--blue); color:#fff; border-color:var(--blue); }
main[data-learning-role="practice"] .concept-controls button[aria-pressed="true"] { background:var(--lime); color:var(--ink); border-color:var(--ink); }
main[data-learning-role="practice"] :is(.trainer > header,.active-exam__bar) { background:var(--blue); color:#fff; }
main[data-learning-role="practice"] :is(.active-exam__bar span,.quiz-toolbar span,.exam-rule-strip strong,.concept-score strong) { color:#fff; }
main[data-learning-role="practice"] .quiz-progress span { background:var(--lime); }
main[data-learning-role="practice"] #question-grid button[data-answered="true"] { background:var(--lime); color:var(--ink); box-shadow:inset 0 -3px var(--ink); }
main[data-learning-role="practice"] .question-option[aria-checked="true"]:not(.concept-option--correct):not(.concept-option--wrong) { background:color-mix(in srgb,var(--lime) 24%,var(--paper)); border-color:var(--blue); box-shadow:3px 3px var(--blue); }
main[data-learning-role="practice"] .question-option[aria-checked="true"]:not(.concept-option--correct):not(.concept-option--wrong) .option-number { background:var(--lime); color:var(--ink); }
main[data-learning-role="practice"] :is(#question-position,#concept-position,#exam-status,#exercise-position) { display:inline-block; padding:4px 8px; background:var(--lime); color:var(--ink); }
.trainer__progress #exercise-progress { background:var(--lime); }
.concept-feedback { background:color-mix(in srgb,var(--lime) 24%,var(--paper)); }
#assignment-stage .assignment-progress { border-top:5px solid var(--blue); background:var(--role-tint); padding:16px; }
:is(#quiz-result,#concept-result) :is(.result-score,.concept-result__score) { background:var(--paper-deep); color:var(--ink); }
#quiz-result .result-score strong { color:var(--ink); }
#concept-result .concept-result__copy :is(#retry-concept,a[href="/quiz"],a.concept-quiz-link,#change-concept) { min-height:44px; background:var(--paper); color:var(--ink); border-color:var(--ink); }
#concept-result .concept-result__copy :is(#retry-concept,a[href="/quiz"],a.concept-quiz-link).concept-result-primary { background:var(--blue); color:#fff; border-color:var(--blue); }
#concept-result .concept-result__copy h2 { text-decoration:underline; text-decoration-color:var(--lime); text-decoration-thickness:5px; text-underline-offset:6px; }
.concept-page .concept-controls :is(button,select), .concept-page #next-concept { min-height:44px; }
@media (max-width:620px) { .concept-page .concept-question-card { min-height:0; } }
#concept-result #retry-concept, :is(.lesson-index__actions,.lesson-next,.result-actions,.concept-result__copy) a[href="/quiz"], :is(.lesson-index__actions,.lesson-next,.result-actions,.concept-result__copy) a[href="/functions"], :is(.lesson-index__actions,.lesson-next,.result-actions,.concept-result__copy) a[href="/practical"], .lesson-index__exam { background:var(--blue); color:#fff; border-color:var(--blue); }
#quiz-result #retry-quiz { background:var(--role-accent); color:var(--role-text); }
#quiz-result .result-actions .result-action-secondary { background:transparent; color:var(--ink); }
#quiz-result .result-recommendation { background:var(--paper-deep); }
:is(#quiz-result,#concept-result) a[href="/theory"], :is(#quiz-result,#concept-result) a[href="/study"] { background:var(--lime); color:var(--ink); }
.wrong-page :is(#retry-visible,#retry-selected,[data-question-retry]) { background:var(--blue); color:#fff; }
.wrong-page :is(#select-visible,[data-question-select]) { accent-color:var(--lime); }
.wrong-page:not([data-has-selection="true"]) #retry-selected, .wrong-page[data-has-selection="true"] #retry-visible { background:var(--paper); color:var(--ink); border-color:var(--ink); }
.wrong-page .wrong-categories > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; cursor:pointer; list-style:none; border-bottom:1px solid var(--ink); }
.wrong-page .wrong-categories > summary::-webkit-details-marker { display:none; }
.wrong-page .wrong-categories > summary h2 { margin:0; }
.wrong-page .wrong-categories > summary::after { content:'+'; display:grid; place-items:center; width:28px; height:28px; background:var(--lime); color:var(--ink); font-size:22px; }
.wrong-page .wrong-categories[open] > summary::after { content:'−'; }
.wrong-page .wrong-categories > header:has(#clear-category[hidden]) { display:none; }
.wrong-page .wrong-categories > header { margin-top:10px; }
.guide-lesson > header > a[href="/functions"] { background:var(--blue); color:#fff; border-color:var(--blue); }
.guide-section-links { display:flex; flex-wrap:wrap; gap:8px; margin-block:16px; }
.guide-section-links a { display:flex; align-items:center; min-height:44px; padding:8px 12px; border:1px solid var(--ink); color:var(--ink); font-weight:800; }
.guide-section-links a:first-child { background:var(--lime); }
.guide-section-links a:hover { box-shadow:inset 3px 0 var(--blue); }
.guide-workspace + .formula-basics { margin-top:40px; }
.assignment-heading h1, .wrong-heading h1, .exam-guide-page .page-intro h1 { display:inline-block; padding-bottom:6px; border-bottom:5px solid var(--lime); }
.assignment-card > a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; background:var(--ink); border-color:var(--ink); color:var(--paper); }
.assignment-card > a[data-learning-role="practice"] { background:var(--blue); border-color:var(--blue); color:#fff; }
.theory-selection-page { background:var(--paper); }
.theory-site .theory-selection { font-family:inherit; color:var(--ink); }
.theory-site .theory-selection h1 { display:inline-block; padding-bottom:6px; border-bottom:5px solid var(--lime); }
.theory-site .theory-selection :is(.back,.edition,.number) { color:var(--blue); }
.theory-site .theory-selection nav { border-top-color:var(--ink); }
.theory-site .theory-selection nav a:hover { background:var(--paper-deep); box-shadow:inset 4px 0 var(--lime); }
@media(max-width:560px) {
 .function-guide-page .guide-picker { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .guide-picker > label:first-child { grid-column:1/-1; }
 .guide-picker > p { text-align:left; align-self:center; padding:0; }
 .guide-section-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .guide-section-links a { font-size:13px; }
}
.trainer__actions #show-answer { background:var(--lime); color:var(--ink); }
.formula-feedback.formula-feedback--answer { background:color-mix(in srgb,var(--lime) 24%,var(--paper)); border-left-color:var(--lime); color:var(--ink)!important; }

/* Group navigation by purpose, and keep reversible saving below final submission. */
.learning-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.shortcut-group { min-width:0; }
.shortcut-group h3 { margin:0 0 12px; padding:8px 12px; border-left:5px solid var(--role-accent); font-size:16px; }
.shortcut-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.learning-shortcuts a { flex-direction:row; justify-content:flex-start; text-align:left; padding:14px; min-height:82px; }
.home-page .dashboard-heading > a { border:0; padding:8px 0; text-decoration:underline; text-underline-offset:4px; }
.home-page .dashboard-heading > a:hover { background:var(--paper); color:var(--blue); }
.home-page .dashboard-resume { padding-inline:0; border-left:0; }
.home-page .dashboard-resume h3 { background:var(--paper); color:var(--ink); padding:0 0 6px; border-bottom:4px solid var(--lime); }
.home-page .dashboard-next-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; border-top:1px solid var(--ink); }
.home-page .dashboard-next-grid > a { display:grid; grid-template-columns:28px minmax(0,1fr) 20px; gap:4px 12px; min-height:76px; padding:14px 0; border:0; border-bottom:1px solid var(--line); }
.home-page .dashboard-next-grid > a strong { width:auto; grid-column:2; grid-row:1; }
.home-page .dashboard-next-grid > a > span { margin:0; text-align:left; grid-column:2; grid-row:2; }
.home-page .dashboard-next-grid > a > .ui-icon:first-child { width:28px; height:28px; padding:0; background:transparent; color:var(--role-border); grid-column:1; grid-row:1/3; align-self:center; }
.home-page .dashboard-next-grid > a > .ui-icon:last-child { width:18px; height:18px; padding:0; background:transparent; color:var(--blue); grid-column:3; grid-row:1/3; align-self:center; }
.home-page .dashboard-next-grid > a.ui-primary { grid-column:1/-1; min-height:116px; padding:22px 18px; margin-bottom:8px; border-bottom:1px solid var(--ink); grid-template-columns:48px minmax(0,1fr) 24px; gap:8px 18px; }
.home-page .dashboard-next-grid > a.ui-primary strong { font-size:clamp(18px,2.2vw,24px); }
.home-page .dashboard-next-grid > a.ui-primary > .ui-icon:first-child { width:48px; height:48px; padding:10px; background:var(--role-accent,var(--ink)); color:var(--role-text,var(--paper)); }
.home-page .learning-shortcuts { margin-block:32px 24px; gap:32px; }
.home-page .shortcut-group h3 { display:inline-block; margin-bottom:8px; }
.home-page .shortcut-group[data-learning-role="learn"] h3 { background:var(--lime); border-left:0; }
.home-page .shortcut-grid { gap:0 20px; }
.home-page .learning-shortcuts a { min-height:52px; padding:12px 0; border:0; border-bottom:1px solid var(--line); gap:10px; font-size:16px; }
.home-page .learning-shortcuts a > .ui-icon { width:24px; height:24px; padding:0; background:transparent; color:var(--role-border); }
@media(max-width:760px) {
 .home-page .dashboard-next-grid { grid-template-columns:1fr; }
 .home-page .learning-shortcuts { gap:18px; }
 .home-page .shortcut-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.assignment-save-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-block:16px; }
#wrong-start { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; text-decoration:none; }
#wrong-main:not([data-has-unresolved="true"]) .support-entry { display:none!important; }
#wrong-main .support-entry { min-height:44px; align-content:center; }
.review-item { padding:0; }
.review-item > summary { display:flex; align-items:center; gap:12px; min-height:56px; padding:12px 16px; cursor:pointer; list-style:none; }
.review-item > summary::-webkit-details-marker { display:none; }
.review-item > summary span { flex:1; min-width:0; overflow-wrap:anywhere; }
.review-item > summary::after { content:'+'; font-size:20px; }
.review-item[open] > summary::after { content:'−'; }
.review-body { padding:8px 16px 20px; }
.review-explanation { padding:14px; background:color-mix(in srgb,var(--lime) 24%,var(--paper)); }
.result-recommendation > summary { min-height:44px; cursor:pointer; font-weight:800; }
.submission-confirm { width:min(440px,calc(100vw - 32px)); margin:auto; padding:24px; border:2px solid var(--ink); background:var(--paper); color:var(--ink); }
.submission-confirm::backdrop { background:rgba(17,17,17,.55); }
.submission-confirm h2 { font-size:24px; }
#submission-confirm-file { margin-block:18px; padding:14px; border:1px solid var(--line); overflow-wrap:anywhere; font-weight:800; }
#submission-confirm-condition { color:var(--muted); font-size:14px; }
.submission-confirm form > div { display:flex; justify-content:flex-end; gap:10px; margin-top:24px; }
.submission-confirm button { min-height:44px; padding:10px 16px; border:1px solid var(--ink); font:inherit; background:transparent; color:var(--ink); cursor:pointer; }
.submission-confirm button[value="submit"] { border-color:var(--blue); background:var(--blue); color:white; font-weight:800; }
.assignment-save-row .assignment-save-status { margin:0; min-height:0; }
#assignment-save { background:transparent; border-color:var(--blue); color:var(--blue); }
#assignment-stage .assignment-item-actions { justify-content:space-between; }
#assignment-next { background:var(--role-tint); border-color:var(--blue); color:var(--blue); }
.assignment-submit-row { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:12px; }
#assignment-submit-condition, #submission-condition { font-size:13px; color:var(--muted); }
.submission-form #submission-condition { margin:0; }
@media(max-width:760px) {
 .learning-shortcuts { grid-template-columns:1fr; gap:20px; }
 .learning-shortcuts a { padding:12px; gap:10px; font-size:14px; }
 .learning-shortcuts .ui-icon { width:36px; height:36px; padding:7px; }
}

.concept-review { grid-column:1/-1; margin-top:28px; border-top:1px solid var(--ink); padding:20px; }
.concept-review h2 { margin-bottom:16px; font-size:20px; }
.concept-review-item { border-bottom:1px solid var(--line); padding-block:12px; }
.concept-review-item > summary { cursor:pointer; min-height:44px; display:flex; align-items:center; font-weight:800; }
.concept-review-item > summary::before { content:'+'; margin-right:12px; }
.concept-review-item[open] > summary::before { content:'−'; }
.concept-review-item > summary::-webkit-details-marker { display:none; }
.concept-review-item p { margin-top:12px; line-height:1.7; }
.concept-review-explanation { background:color-mix(in srgb,var(--lime) 24%,var(--paper)); padding:14px; }
.trainer__actions { flex-wrap:wrap; }
.function-page #exercise-prompt { word-break:keep-all; overflow-wrap:anywhere; }
.function-page .excel-workbook[data-read-only="true"] .sheet-target::after { display:none; }
.function-page .function-history-record { grid-template-columns:minmax(0,1fr) minmax(0,.8fr) auto auto; gap:16px; padding-block:16px; }
.function-history-record > div { min-width:0; overflow-wrap:anywhere; }
.function-history-record > span { padding:5px 9px; border:1px solid var(--ink); background:var(--paper-deep); }
.function-history-record > span[data-state="active"] { background:var(--lime); }
.function-history-record > button { min-height:44px; padding:8px 14px; border:1px solid var(--ink); background:var(--ink); color:var(--paper); font:inherit; font-weight:800; cursor:pointer; }
.function-history-record > span[data-state="active"] + button { background:var(--blue); border-color:var(--blue); color:#fff; }
.function-history-record > button:disabled { opacity:.55; cursor:wait; }
.function-history-record > button:hover:not(:disabled) { filter:brightness(.94); }
.function-history header button { min-height:44px; }
.trainer__actions button { min-height:44px; }
@media(max-width:760px) {
 .function-page .function-history-record { grid-template-columns:minmax(0,1fr) auto; gap:12px; }
 .function-history-record > div:first-child, .function-history-record > button { grid-column:1/-1; }
 .function-history-record > span { justify-self:end; }
}
@media(max-width:600px) {
 .formula-entry { grid-template-columns:70px 32px minmax(0,1fr); gap:4px; }
 .formula-entry .formula-fx { display:none; }
 .formula-entry input { grid-column:1/-1; grid-row:2; width:100%; height:44px; font-size:16px; }
 .formula-entry .formula-submit { grid-column:1/-1; grid-row:3; min-height:44px; margin:0; border-left:1px solid var(--blue); }
 .formula-entry .formula-control { min-height:44px; }
 .trainer__actions #next-exercise { flex:1; }
 .concept-result__copy > div { display:flex; flex-wrap:wrap; gap:8px; }
 .concept-result__copy > div :is(a,button) { min-height:44px; }
}

@media(max-width:760px) {
 .wrong-page :is(button,select), .review-filters button { min-height:44px; }
 .wrong-selection > label { min-height:44px; display:flex; align-items:center; gap:8px; }
}

#submission-file-hint { margin-top:8px; font-size:13px; }
.submission-form[hidden] { display:none!important; }
#practical-open-error { margin-block:20px; }
#practical-open-error button { margin-top:12px; min-height:44px; padding:8px 16px; border:1px solid var(--ink); background:var(--paper); color:var(--ink); font:inherit; cursor:pointer; }

.practical-grade-groups { margin-top:20px; border-top:1px solid var(--ink); }
.practical-grade-group { border-bottom:1px solid var(--line); }
.practical-grade-group > summary { display:flex; align-items:center; gap:12px; min-height:56px; padding:12px; cursor:pointer; }
.practical-grade-group > summary::before { content:'+'; }
.practical-grade-group[open] > summary::before { content:'−'; }
.practical-grade-group > summary::-webkit-details-marker { display:none; }
.practical-grade-group > summary span { margin-left:auto; }
.practical-grade-group .practical-grade-items { margin:0; padding-inline:12px; }
.question-navigation > summary { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:44px; padding:8px 0; cursor:pointer; font-size:14px; font-weight:800; list-style:none; }
.question-navigation > summary::-webkit-details-marker { display:none; }
.question-navigation > summary::before { content:"+"; display:grid; place-items:center; width:24px; height:24px; border:1px solid var(--ink); background:var(--lime); color:var(--ink); font-size:20px; font-weight:500; }
.question-navigation[open] > summary::before { content:"−"; }
.question-navigation-count { margin-left:auto; color:var(--muted); font-size:13px; white-space:nowrap; }
.question-navigation #question-grid { margin-top:12px; }
.question-card #question-error { margin-bottom:12px; }
.question-save-status { min-height:22px; margin-top:8px; color:var(--muted); font-size:13px; }
.question-save-status:not(:empty)::before { content:""; display:inline-block; width:12px; height:12px; margin-right:7px; vertical-align:-2px; border:2px solid var(--paper-deep); border-top-color:var(--blue); border-radius:50%; animation:answer-saving 800ms linear infinite; }
.question-option[data-saving="true"] { outline:2px dashed var(--blue); outline-offset:2px; }
.question-card .question-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.question-card .question-actions button { min-width:0; min-height:44px; padding-inline:6px; font-size:14px; }
main[data-learning-role="practice"] .question-card #submit-quiz { min-height:44px; margin-top:18px; background:var(--paper-deep); border-color:var(--ink); color:var(--ink); }
main[data-learning-role="practice"] .question-card #submit-quiz:hover { background:var(--lime); }
@keyframes answer-saving { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .question-save-status:not(:empty)::before { animation:none; } }
@media (max-width:900px) {
  .question-nav .submit-quiz { margin-top:12px; }
  .question-navigation #question-grid button { min-height:44px; }
}
@media (max-width:600px) {
  .assignment-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; }
  .assignment-card > div { display:contents; }
  .assignment-card > div > h2, .assignment-card > div > p:not(:last-child) { grid-column:1/-1; margin-top:0; }
  .assignment-card > div > p:last-child { align-self:center; margin-top:0; }
  .assignment-card > a { align-self:center; justify-self:end; }
}
#assignment-start { background:var(--blue); border-color:var(--blue); color:#fff; }
#assignment-content #assignment-next { background:var(--blue); color:#fff; }
#assignment-content #assignment-submit { background:var(--paper-deep); border-color:var(--ink); color:var(--ink); }
#assignment-content #assignment-submit:hover { background:var(--lime); }
.exam-guide__links a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; font-size:14px; }
.exam-guide__links a:first-child { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.exam-guide-link-icon { flex:none; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.exam-guide-page .pass-rule > span { width:fit-content; padding-bottom:4px; border-bottom:3px solid var(--lime); color:var(--ink); }
@media (max-width:760px) {
  .map-layout--empty .map-column, .map-layout--error .map-column { display:none; }
  .map-layout--empty .detail-panel, .map-layout--error .detail-panel { min-height:0; }
}
.apply-link { display:flex; align-items:center; justify-content:center; gap:8px; border-color:var(--blue); background:var(--blue); color:#fff; font-size:14px; }
.apply-link:focus-visible { background:var(--blue); color:#fff; }
.apply-link:hover { background:var(--ink); color:var(--paper); }
.schedule-link-icon { flex:none; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.admin-page .matrix-extra > summary { width:fit-content; min-height:44px; padding-block:12px; box-sizing:border-box; font-size:14px; cursor:pointer; }
.practical-page #begin-prepared-exam:disabled { background:var(--paper); color:var(--ink); border-color:var(--ink); }
.practical-page .practical-preparation-actions:has(#begin-prepared-exam:disabled) #download-before-start { background:var(--blue); color:#fff; border-color:var(--blue); }
.quick-apply { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; border-color:var(--blue); background:var(--blue); color:#fff; font-size:14px; }
.quick-apply:hover, .quick-apply:focus-visible { background:var(--ink); color:var(--paper); }
.filter-bar :disabled, .region-tabs button:disabled { opacity:.55; cursor:default; }
#retry-schedules { min-height:44px; margin-top:16px; padding:10px 14px; border:1px solid var(--paper); background:var(--paper); color:var(--ink); font:inherit; font-size:14px; font-weight:700; cursor:pointer; }

.admin-page :is(#main,.student-dialog) button { min-height:44px; }
.admin-page :is(.admin-section > nav button,#support-gaps-refresh) { padding:8px 14px; border:1px solid var(--ink); border-radius:0; background:var(--paper); color:var(--ink); font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.admin-page :is(.admin-section > nav button,#support-gaps-refresh):disabled { opacity:.5; cursor:default; }
.admin-page .admin-section > nav { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; }

.admin-page .admin-contents { position:sticky; top:0; z-index:5; display:flex; gap:8px; overflow-x:auto; padding:8px 0; margin-bottom:24px; background:var(--paper); border-block:1px solid var(--ink); }
.admin-page .admin-contents a { flex:0 0 auto; display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; border:1px solid var(--ink); color:var(--ink); font-size:14px; font-weight:700; text-decoration:none; white-space:nowrap; }
.admin-page .admin-contents a:hover { background:var(--lime); }
.admin-page .admin-section :is(h2[id],summary[id]) { scroll-margin-top:88px; }

.admin-page .student-dialog-heading { position:sticky; top:0; z-index:2; background:var(--paper); box-shadow:0 -24px var(--paper); }
@media (max-width:700px) { .admin-page .student-dialog-heading { box-shadow:0 -16px var(--paper); } }

.map-intro { grid-template-columns:minmax(0,1fr); }

.support-theory-page .support-main { max-width:900px; padding-block:32px 64px; }
.support-theory-page :is(#support-back,.support-card > a) { display:inline-flex; align-items:center; min-height:44px; padding-block:8px; font-size:14px; }
.support-theory-page .support-heading { margin-top:16px; padding-bottom:16px; border-bottom:2px solid var(--ink); }
.support-theory-page h1 { width:fit-content; margin:0; padding-bottom:6px; border-bottom:5px solid var(--lime); font-size:clamp(28px,4vw,40px); }
.support-theory-page :is(h1,h2,p,li,a) { word-break:keep-all; overflow-wrap:anywhere; }
.support-theory-page .support-card { padding-top:24px; }
.support-theory-page .support-card h2 { margin:24px 0 12px; font-size:20px; }
.support-theory-page .support-card :is(p,li) { line-height:1.8; white-space:pre-line; }
.support-theory-page .support-card :is(ul,ol) { padding-left:24px; }
.support-theory-page .support-card li { margin-block:8px; }
.support-theory-page .support-keywords { display:flex; flex-wrap:wrap; gap:8px; }
.support-theory-page .support-keywords span { border:1px solid var(--ink); border-bottom:3px solid var(--lime); padding:6px 10px; font-size:14px; }
.support-theory-page .support-card summary { width:fit-content; min-height:44px; padding-block:10px; cursor:pointer; font-size:14px; }
.support-theory-page #theory-reload { min-height:44px; padding:8px 14px; border:1px solid var(--ink); background:var(--paper); color:var(--ink); font:inherit; font-size:14px; cursor:pointer; }
.support-theory-page #theory-error { color:#9d352c; margin-block:20px; }
.support-theory-page #theory-status:empty { display:none; }

#support-main :is(.support-check,.support-check-options button,.support-focus select,.support-focus button) { border-radius:0; }
#support-main .support-check { border-color:var(--ink); border-top:4px solid var(--lime); }
#support-main .support-check-options button:not([aria-pressed="true"]) { border-color:var(--ink); }
#support-main .support-actions button[data-original-question] { background:transparent; color:var(--blue); }
#support-main .support-actions button[data-original-question]:hover { background:color-mix(in srgb,var(--blue) 7%,var(--paper)); }

@media (max-width:600px) {
  .quick-row { grid-template-columns:minmax(0,1fr) 64px; }
  .quick-center { grid-column:1/-1; padding:12px 32px 12px 12px; }
  .quick-center strong { font-size:14px; line-height:1.5; }
  .quick-center small { color:rgba(255,255,255,.72); }
  .quick-slot { min-width:0; padding:10px 12px; border-left:0; border-top:1px solid rgba(255,255,255,.22); }
  .quick-slot strong { font-size:14px; }
  .quick-slot span { font-size:13px; }
  .quick-apply { min-height:64px; border-top:1px solid rgba(255,255,255,.22); }
}

.detail-map-back { display:none; }
@media (max-width:980px) {
  .detail-map-back { display:flex; align-items:center; gap:8px; width:fit-content; min-height:44px; margin-bottom:12px; padding:8px 12px; border:1px solid rgba(255,255,255,.45); color:var(--paper); font-size:14px; font-weight:700; }
  .detail-map-back svg { width:18px; height:18px; }
  .detail-map-back:hover, .detail-map-back:focus-visible { color:var(--ink); background:var(--lime); border-color:var(--lime); }
  .quick-panel > .detail-map-back { margin:16px 20px 0; }
}


/* Resume disclosure keeps older unfinished attempts reachable. */
#resume-more { margin-top:12px; border-top:1px solid var(--ink); }
#resume-more > summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:10px 12px; cursor:pointer; font-weight:800; }
#resume-more > summary::after { content:"+"; font-size:20px; }
#resume-more[open] > summary::after { content:"−"; }
#resume-more > summary:hover, #resume-more > summary:focus-visible { background:var(--lime); }

/* Closed function records link directly to the matching lesson. */
.trainer__meta #exercise-functions a { display:inline-flex; align-items:center; min-height:44px; padding-inline:6px; background:var(--lime); color:var(--ink); font:inherit; text-decoration:underline; text-underline-offset:3px; }

/* Fixed exam presets are separate from the custom practice filters. */
.function-page .trainer-setup { padding:16px; }
.function-page .trainer-exam-presets { padding-bottom:16px; margin-bottom:4px; border-bottom:1px solid #b8c0c7; }

@media (max-width:600px) {
  #inspection-dialog .focus-question-nav { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr); gap:8px; }
  #inspection-dialog #focus-previous { grid-column:1; grid-row:1; }
  #inspection-dialog .focus-question-nav label { grid-column:2; grid-row:1; min-width:0; flex-direction:column; gap:4px; text-align:center; }
  #inspection-dialog #focus-next { grid-column:3; grid-row:1; }
  #inspection-dialog .focus-question-nav > span { grid-column:1/-1; grid-row:2; margin:0; text-align:center; }
  #inspection-dialog .focus-question-nav :is(button,select) { width:100%; min-width:0; min-height:44px; padding-inline:6px; border-radius:0; }
}

.admin-page #student-overview-export:not(:disabled) { background:var(--blue); border-color:var(--blue); color:#fff !important; }
.admin-page #student-overview-export:not(:disabled):hover { background:color-mix(in srgb,var(--blue) 88%,var(--ink)); }

/* Keep location actions recognizable without adding explanatory copy. */
.detail-contact, .detail-actions a { gap:8px; }

/* Quick rows adapt to the panel width, including narrow desktop sidebars. */
.quick-panel { container:quick-schedule / inline-size; }
@container quick-schedule (max-width:420px) {
  .quick-row { grid-template-columns:minmax(0,1fr) 64px; }
  .quick-center { grid-column:1/-1; padding:12px 32px 12px 12px; }
  .quick-center strong { font-size:14px; line-height:1.5; }
  .quick-center small { color:rgba(255,255,255,.72); }
  .quick-slot { min-width:0; padding:10px 12px; border-left:0; border-top:1px solid rgba(255,255,255,.22); }
  .quick-slot strong { font-size:14px; }
  .quick-slot span { font-size:13px; }
  .quick-apply { min-height:64px; border-top:1px solid rgba(255,255,255,.22); }
}
