/* v17 — blue and white campus learning system. Local pages own only their layouts. */
:root{--ui-blue:#3564A3;--ui-ink:#243447;--ui-bg:#F4F7FB;--ui-paper:#FFF;--ui-muted:#5D6B79;--ui-line:#DCE3EB;--ui-green:#347052;--ui-red:#B33442;--ui-amber:#886018;--ui-blue-soft:#EDF3FA;--ui-green-soft:#EFF8F2;--ui-red-soft:#FFF1F3;--ui-amber-soft:#FFF6E5;--blue:var(--ui-blue);--ink:var(--ui-ink);--bg:var(--ui-bg);--paper:var(--ui-paper);--muted:var(--ui-muted);--line:var(--ui-line);--green:var(--ui-green);--red:var(--ui-red);--pending:var(--ui-amber);--learn-blue:var(--ui-blue);--learn-ink:var(--ui-ink);--learn-muted:var(--ui-muted);--learn-green:var(--ui-green);font-family:"Microsoft YaHei","PingFang SC","Heiti SC",system-ui,sans-serif;font-size:16px;color:var(--ink);background:var(--bg);color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:inherit;font-size:1rem;line-height:1.7}a{color:var(--blue);text-underline-offset:3px}button,input,select,textarea{font-family:inherit}button,.button,.primary,.secondary,input:not([type=checkbox]):not([type=radio]):not(.inline-code-gap),select,textarea:not(.inline-code-gap){border-radius:8px}button,a.button,a.primary,a.secondary,input:not([type=checkbox]):not([type=radio]):not(.inline-code-gap),select{min-height:44px}button,.button{font-size:14px}button{border:1px solid var(--line)}button:hover:not(:disabled){border-color:var(--blue)}button:disabled{cursor:default;opacity:.55}.primary,button.primary,a.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover:not(:disabled){background:#2B5288;color:white}.secondary{color:var(--ink);background:white;border:1px solid var(--line)}.danger{color:var(--red);background:white;border-color:#DBACB3}
:where(button,a,input,textarea,select,summary):focus-visible{outline:3px solid var(--blue);outline-offset:3px}h1,.practice-hero h1,.scheme-hero h1,.module-heading h1,.learning-shell h1{font-size:28px;line-height:1.45;letter-spacing:0}h2{font-size:20px;line-height:1.5}h3{font-size:17px}.muted,.hint,.learning-muted,small{color:var(--muted)}.muted,.hint,.learning-muted,.eyebrow,.question-meta,.meta,.quota-badge,.entry-progress,.progress-note{font-size:13px}.panel,.card,.surface,.question,.exam-card,.module-card,.round,.stage,.scheme-hero,.result-banner,.resume-card,.hero,.tile,.learning-panel,.practice-entry,.course-directory,.paper-result-layout>details{border:1px solid var(--line);border-radius:12px;background:white;box-shadow:none}dialog,#learning-dialog,#login-dialog{border:1px solid var(--line);border-radius:12px;color:var(--ink);background:white;max-width:min(600px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:24px}dialog::backdrop{background:#24344766}.status,.pass,.complete,.correct-label,.save-message{color:var(--green)}.wrong-label,.learning-errors,.error{color:var(--red)}.note,.pending,.hint.pending{color:var(--pending)}.note,.learning-banner,.learning-conflict{background:var(--ui-amber-soft);color:var(--pending)}.option.selected,.learning-option[aria-pressed=true]{background:var(--ui-blue-soft);border-color:var(--blue)}.option.correct,.feedback.good,.learning-feedback{background:var(--ui-green-soft)}.option.wrong,.feedback.bad{background:var(--ui-red-soft)}.type-tag,.tag{color:var(--blue);background:var(--ui-blue-soft);border-radius:6px;font-size:13px}.option,.learning-option{border-radius:8px}.option-key{border-radius:6px}.feedback{border-radius:8px}.quota-badge{border-radius:6px;padding:6px 10px}
.site-shell.site-header{position:relative;z-index:30;display:block;height:auto;min-height:0;padding:0;background:white;border-bottom:1px solid var(--line);box-shadow:none;backdrop-filter:none}.site-header-inner{display:flex;align-items:center;gap:24px;max-width:1240px;min-height:80px;margin:auto;padding:14px 24px}.site-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;color:var(--ink);text-decoration:none;font-size:16px;font-weight:700;line-height:1.4}.site-brand small{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:4px}.site-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--blue);color:white;font:700 15px system-ui}.site-shell #site-navigation{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;order:initial;flex-basis:auto}.site-shell nav > a,.site-record-nav > a{display:flex;align-items:center;min-height:44px;padding:10px 9px;font-size:14px;white-space:nowrap;color:var(--muted);text-decoration:none;border-radius:8px}.site-shell a[aria-current=page]{color:var(--blue);font-weight:700}.site-shell nav a[aria-current=page]{background:var(--ui-blue-soft)}.site-record-nav{display:flex;align-items:center}.site-record-menu{position:relative}.site-record-menu summary{display:grid;place-items:center;min-width:30px;min-height:44px;padding:0;list-style:none;color:var(--muted);cursor:pointer;border-radius:8px}.site-menu{display:none;background:white;color:var(--blue);padding:8px 12px;white-space:nowrap}.site-account{min-width:0;margin-left:auto}.site-shell #account,.site-shell #auth-widget{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;font-size:13px;min-width:0;margin:0!important;padding:0!important;border:0;flex-basis:auto}.site-shell #account button,.site-shell #auth-widget button,.site-shell #auth-widget>a{padding:8px 12px;border-radius:8px;white-space:nowrap}.site-shell #auth-widget>a{border:1px solid var(--line);display:flex;align-items:center;min-height:44px;text-decoration:none}.site-account-menu{position:relative;min-width:0}.site-account-menu summary{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;list-style:none}.site-account-menu summary>span:first-child{max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-shell summary::-webkit-details-marker{display:none}.site-popover{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;max-width:calc(100vw - 32px);padding:8px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #24344714;display:grid;gap:4px;z-index:40}.site-popover a,.site-popover button{display:flex;align-items:center;text-decoration:none;min-height:44px;text-align:left;padding:10px 12px;white-space:normal}.site-popover>span{overflow-wrap:anywhere;padding:8px 12px;color:var(--muted);font-size:13px;max-width:280px}.site-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;max-width:1240px;margin:auto;padding:12px 24px 0;color:var(--muted);font-size:13px}.site-tools:empty{display:none}.site-tools .module-title{margin-right:auto}.site-tools #return-study{margin-right:auto}.learning-statusbar{background:var(--ui-blue-soft);color:var(--muted);min-height:36px;padding:6px max(24px,calc((100vw - 1192px)/2));font:13px/1.7 inherit;display:flex;justify-content:flex-end;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.learning-statusbar>a{margin-right:auto;text-decoration:none}.learning-statusbar button{padding:0 10px;background:white;min-height:28px;font-size:13px}.learning-statusbar button[hidden]{display:none}.learning-statusbar span{overflow-wrap:anywhere}
main#app,.learning-shell,main#center-main,main#mini-main,body[data-site-page=admin]>main{max-width:1240px;margin:0 auto;padding:28px 24px 48px}body[data-site-page=account]>main{max-width:600px;margin:0 auto;padding:28px 24px 48px}body[data-site-page=paper-result]>main,main#exam-main{max-width:1240px;margin:auto;padding:28px 24px 130px}.shell{max-width:1240px;margin:auto;min-height:calc(100dvh - 116px)}#sidebar{width:220px;height:calc(100dvh - 24px);margin-top:24px;border:1px solid var(--line);border-radius:12px;padding:24px 18px;top:12px}#main{max-width:960px;padding:24px 24px 48px}.exam-active #main{max-width:960px}.study-grid{grid-template-columns:minmax(0,1fr) 220px;gap:20px}.learning-layout{grid-template-columns:210px minmax(0,1fr);gap:24px}.learning-heading{margin-bottom:24px}.practice-entries{gap:16px}.practice-entry{padding:22px;display:flex;flex-direction:column}.practice-entry h2{margin-bottom:8px}.practice-entry>p{font-size:14px;margin-bottom:16px}.practice-entry .button{align-self:flex-start;margin-top:12px;padding:10px 16px;font-size:14px}.course-row strong{font-size:14px}.course-row small{font-size:13px}.course-directory a{font-size:14px}.course-directory small{font-size:13px}.course-directory{padding:16px}.course-directory summary{min-height:44px}.learning-next{padding:20px;margin:0 0 24px;background:white;border:1px solid var(--line);border-radius:12px}.learning-next h2{margin:0 0 12px}.learning-next .learning-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.learning-next a{display:block;padding:12px 16px;min-height:44px;background:var(--ui-blue-soft);border-radius:8px;text-decoration:none;color:var(--blue);font-weight:600}.learning-next a small{display:block;margin-top:4px;font-weight:400}.learning-home{margin:0 0 24px}.learning-home h2{margin:0 0 12px}.learning-metrics{gap:16px}.learning-metric strong{font-size:28px;color:var(--blue)}.learning-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;gap:8px;padding:0 0 16px}.learning-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 8px;border:1px solid var(--line);background:white;border-radius:8px;white-space:normal;text-align:center;font-size:14px}.learning-nav a[aria-current=true]{background:var(--ui-blue-soft);border-color:var(--blue);font-weight:600}.learning-panel{padding:24px;margin:20px 0}.learning-shell input,.learning-shell select,.learning-shell button{min-height:44px;border-radius:8px}.learning-filters{gap:12px;padding:12px 0}.learning-detail pre,pre,code,.code-scroll,.inline-code-gap{font-family:Consolas,"Cascadia Mono","SFMono-Regular",monospace}.learning-detail pre{white-space:pre;overflow-x:auto;overflow-wrap:normal}.code-scroll,pre,.template,.table-scroll,.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}main,.main,.learning-content,.case-content,.question,.panel,.card,.exam-grid>*{min-width:0}.exam-actions{padding-bottom:max(12px,env(safe-area-inset-bottom));box-shadow:none}.exam-active .heading{background:var(--bg)}.site-keyboard-open .exam-actions,.site-keyboard-open .actionbar,.site-keyboard-open #bottom-nav{position:static;height:auto}.site-keyboard-open #bottom-nav{display:none}
@media(min-width:1360px){.practice-entries{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px) and (min-width:960px){.site-header-inner{gap:12px}.site-brand{font-size:14px}.site-shell nav>a,.site-record-nav>a{padding:10px 7px;font-size:13px}.site-account-menu summary>span:first-child{max-width:84px}}
@media(max-width:959px){.site-header-inner{flex-wrap:wrap;gap:10px;padding:12px 16px;min-height:72px}.site-brand{font-size:14px}.site-brand small{font-size:12px}.site-mark{width:32px;height:32px}.site-menu{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;order:2}.site-account{order:1;margin-left:auto}.site-shell #site-navigation{display:none;order:3;flex-basis:100%;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:1px solid var(--line);padding-top:12px}.site-shell.menu-open #site-navigation{display:grid}.site-shell nav>a,.site-record-nav>a{font-size:14px}.site-record-nav{grid-column:1/-1}.site-record-nav>a{flex:1}.site-shell #account button{padding:8px 10px}.site-account-menu summary>span:first-child{max-width:90px}.site-shell #account>[data-action=signup]{display:none}.site-shell.menu-open #account>[data-action=signup]{display:inline-flex}.learning-statusbar{padding:6px 16px;font-size:13px}.site-tools{padding:12px 16px 0}.site-tools .mobile-brand,.site-tools .desktop-caption{display:none}#sidebar{display:none}.shell{display:block}.study-grid{grid-template-columns:1fr}.learning-layout,.paper-result-layout{grid-template-columns:1fr;gap:20px}.course-directory,.paper-result-layout>details{position:static}.learning-heading{align-items:flex-start;flex-wrap:wrap}.learning-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.learning-nav a:nth-child(4){grid-column:1}.learning-nav a:nth-child(5){grid-column:2/4}.course-row{grid-template-columns:minmax(0,1fr) 94px;gap:8px}.course-row>div,.course-row progress{grid-column:1}.course-row>span,.course-row>a{grid-column:2}.course-row a{text-align:right}.course-directory:not([open]) summary{padding:0}.learning-next .learning-actions{grid-template-columns:1fr 1fr}.learning-filters>*{max-width:100%}}
@media(max-width:600px){h1,.practice-hero h1,.scheme-hero h1,.module-heading h1,.learning-shell h1{font-size:24px}.site-header-inner{gap:8px}.site-brand{font-size:13px;gap:7px}.site-brand small{font-size:11px}.site-account-menu summary{padding:8px}.site-account-menu summary>span:first-child{max-width:62px}.site-shell #account>span,.site-shell #auth-widget>span{max-width:75px;font-size:12px}.site-shell #account button,.site-shell #auth-widget>a{padding:8px 10px}.site-menu{padding:8px 10px}.learning-statusbar{gap:8px;justify-content:flex-start;flex-wrap:wrap}.learning-statusbar>a{display:none}.learning-statusbar span{flex:1}.learning-statusbar button{min-height:32px}.site-tools{gap:8px}.site-tools .return-link{font-size:13px}main#app,.learning-shell,main#center-main,main#mini-main,body[data-site-page=admin]>main,body[data-site-page=account]>main,body[data-site-page=paper-result]>main{padding:24px 16px 48px}#main{padding:24px 16px calc(110px + env(safe-area-inset-bottom))}.has-question #main{padding-bottom:calc(180px + env(safe-area-inset-bottom))}main#exam-main{padding:24px 16px calc(140px + env(safe-area-inset-bottom))}.panel,.question,.learning-panel,.hero,.scheme-hero,.tile{padding:20px}.practice-entries{grid-template-columns:1fr}.practice-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:20px}.practice-entry h2,.practice-entry>p{grid-column:1;margin:0}.practice-entry .button{grid-column:2;grid-row:1/4;align-self:center;margin:0;padding:10px 12px;white-space:nowrap}.practice-entry .entry-progress{font-size:13px}.learning-next{padding:20px}.learning-next .learning-actions{grid-template-columns:1fr}.learning-nav a{font-size:13px;padding:10px 4px}.learning-actions,.learning-filters{align-items:stretch}.learning-row{overflow-wrap:anywhere}.learning-row>div{min-width:0;width:100%}.learning-metrics{grid-template-columns:1fr}.learning-table td,.learning-table th{font-size:13px}.learning-home .learning-actions a{min-height:44px;font-size:13px}.paper-result-layout .controls{grid-template-columns:repeat(2,minmax(0,1fr))}.history-actions{gap:12px}.site-popover{min-width:180px}.exam-top{gap:12px}.exam-actions{gap:8px;padding-inline:16px}.exam-actions button{padding:9px 12px}dialog,#learning-dialog,#login-dialog{padding:20px}.controls label{min-width:0}.learning-shell h1{margin-top:8px}}
body[data-site-page]{background:var(--bg);color:var(--ink);font-family:inherit;font-size:1rem}body[data-site-page] h1{font-size:28px;letter-spacing:0}body[data-site-page] #main{max-width:960px}.site-tools button{padding:8px 12px}.site-tools .icon-button{font-size:18px}.site-tools .module-title{font-size:14px}.learning-home .learning-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0}.learning-home .learning-actions{margin-top:16px}.learning-statusbar{font-size:13px;line-height:1.7}.option:disabled,.mini-option:disabled{opacity:1}.case-tile,.case-context,.prompt-block,.study-answer{border-radius:12px;box-shadow:none}.site-tools .return-link{margin-bottom:0}
main#mini-main:has(.mini-practical),.learning-shell:has(#learning-theory),.learning-shell:has(#learning-practical){max-width:960px}.mini-answer-layout>article{max-width:960px}.mini-feedback{border-radius:8px;background:var(--ui-red-soft);border-color:#E6B4BC;color:var(--ink)}.mini-feedback>strong{color:var(--red)}.mini-feedback.correct{background:var(--ui-green-soft);border-color:#A4CBB4}.mini-feedback.correct>strong{color:var(--green)}.mini-question-buttons .wrong{color:var(--red);background:var(--ui-red-soft)}.mini-question-buttons .correct{color:var(--green);background:var(--ui-green-soft)}[data-result-filter][aria-pressed=true]{color:white;background:var(--blue);border-color:var(--blue)}.big-score small{color:var(--muted)}.mini-practical-wrong:has([data-mastered="true"])>span{color:var(--pending)}
@media(max-width:959px){.learning-layout>.course-directory{order:2}.learning-layout>.learning-content{order:1}.course-row>div,.course-row>span{grid-row:1}.course-row progress,.course-row>a{grid-row:2}}
@media(max-width:600px){body[data-site-page] h1{font-size:24px}.learning-home .learning-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
