:root{--navy:#112b4a;--ink:#18334f;--muted:#53657b;--teal:#067276;--teal-pale:#e8f5f3;--paper:#f4f7fa;--line:#dce4ec;--white:#fff;--gold:#bf8423;--radius:16px;--shadow:0 8px 32px #20365008}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,"Segoe UI","Microsoft YaHei",system-ui,sans-serif;font-size:15px;line-height:1.75}a{color:inherit;text-decoration:none}a:hover{color:var(--teal)}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #28aca9;outline-offset:3px}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(29px,3.8vw,47px);letter-spacing:-1.3px;line-height:1.25;margin-bottom:20px}h2{font-size:23px;line-height:1.4;letter-spacing:-.4px;margin-bottom:17px}h3{font-size:17px;margin-bottom:10px}p{margin-bottom:16px}small{font-size:12px}.eyebrow{display:block;font-size:11px;letter-spacing:2.5px;font-weight:750;color:var(--teal);margin-bottom:17px}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:"Cascadia Code",Consolas,monospace}.site-head{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 5%;gap:44px}.brand{font-size:24px;font-weight:850;letter-spacing:2px;color:var(--navy);display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{width:30px;height:30px;display:grid;grid-template-columns:repeat(2,10px);grid-template-rows:repeat(2,10px);gap:4px;transform:rotate(-7deg)}.brand-mark i{background:var(--teal);border-radius:2px}.brand-mark i:nth-child(2){background:var(--navy)}.brand-mark i:nth-child(3){background:#aacbce}.head-nav{display:flex;align-items:center;gap:30px;font-weight:650}.head-nav a.active{color:var(--teal)}.local-label{margin-left:auto;border:1px solid var(--line);border-radius:30px;padding:4px 12px;font-size:12px;color:var(--muted);white-space:nowrap}.frame{max-width:1370px;margin:0 auto;display:grid;grid-template-columns:210px minmax(0,1fr);gap:42px;padding:34px 42px 70px}.sidebar{padding-top:13px}.side-label{font-size:11px;font-weight:750;letter-spacing:1.6px;color:#8b99a9;margin:0 13px 13px}.side-nav{display:flex;flex-direction:column;gap:6px}.side-nav a{display:block;padding:10px 13px;border-radius:9px;font-size:14px;font-weight:600}.side-nav a.active{background:#e5eeee;color:var(--teal)}.side-nav a:hover{background:#eaf0f5}.side-note{margin-top:38px;border-top:1px solid var(--line);padding:23px 13px;color:var(--muted);font-size:12px}.side-note strong{display:block;color:var(--ink);font-size:13px;margin-bottom:7px}.crumbs{font-size:12px;color:var(--muted);display:flex;gap:9px;flex-wrap:wrap;margin-bottom:27px}.crumbs span{color:#9aa8b7}.hero{position:relative;background:var(--navy);border-radius:20px;padding:42px 44px;color:white;overflow:hidden;margin-bottom:28px}.hero:after{content:"";position:absolute;width:280px;height:280px;border:1px solid #ffffff16;border-radius:50%;right:-110px;top:-60px;box-shadow:0 0 0 45px #ffffff04,0 0 0 90px #ffffff04;pointer-events:none}.hero .eyebrow{color:#8bd2cf}.hero p{color:#d3e0ec;max-width:650px;margin-bottom:0}.hero h1{max-width:740px;position:relative;z-index:1}.hero .actions{margin-top:25px}.hero.light{background:#eaf1f5;color:var(--navy);border:1px solid #dee7ee}.hero.light p{color:var(--muted)}.hero.light .eyebrow{color:var(--teal)}.hero.light:after{border-color:#112b4a12;box-shadow:0 0 0 45px #112b4a03,0 0 0 90px #112b4a03}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:11px 18px;border-radius:9px;line-height:1.4;font-size:14px;font-weight:700;min-height:44px}.btn:hover{border-color:var(--teal);color:var(--teal);background:#f7fcfb}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn.primary:hover{background:#056a6c}.btn.ghost{background:transparent;border-color:#ffffff55;color:#fff}.btn.small{padding:8px 13px;min-height:38px;font-size:12px}.text-link{font-weight:700;color:var(--teal);font-size:13px;display:inline-block}.text-link:after{content:" →"}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:var(--shadow)}.card p:last-child{margin-bottom:0}.section{margin-top:34px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}.section-head h2{margin:0}.subject-card{padding:28px;display:flex;flex-direction:column;min-height:225px}.subject-card .subject-code{font-size:12px;font-weight:700;letter-spacing:1.8px;color:var(--teal);margin-bottom:19px}.subject-card p{font-size:14px;color:var(--muted);flex:1}.tag{display:inline-flex;border-radius:5px;font-size:11px;padding:3px 8px;font-weight:650;background:#edf2f6;color:var(--muted);line-height:1.6}.tag.green{background:var(--teal-pale);color:var(--teal)}.tag.gold{background:#fff5df;color:#88601a}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.paper-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center}.paper-card h3{font-size:19px;margin:0 0 9px}.paper-card p{margin-bottom:12px}.paper-card .actions{justify-content:flex-end}.paper-card+.paper-card{margin-top:14px}.count{font-size:11px;color:var(--muted);font-weight:500}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.step{padding:24px;position:relative}.step+.step{border-left:1px solid var(--line)}.step:before{counter-increment:step;content:"0" counter(step);display:block;font-size:12px;color:var(--teal);font-weight:800;margin-bottom:10px}.step p{font-size:13px;color:var(--muted);margin:0}.notice{background:#eef4f8;border-left:3px solid #87a6b8;padding:14px 18px;font-size:13px;border-radius:0 9px 9px 0;color:#4b657a;margin:20px 0}.notice.warning{border-color:#d4a352;background:#fff9ed;color:#806331}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.fact{padding:18px 23px;border-bottom:1px solid var(--line)}.fact:nth-last-child(-n+3){border-bottom:none}.fact:not(:nth-child(3n)){border-right:1px solid var(--line)}.fact-label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.fact-value{font-size:14px;font-weight:650}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px}.detail-grid .card+.card{margin-top:20px}.outline-list{list-style:none;padding:0;margin:0}.outline-list li{display:flex;gap:18px;padding:13px 0;border-bottom:1px solid #eaf0f5;font-size:13px}.outline-list li:last-child{border-bottom:0;padding-bottom:0}.outline-list strong{min-width:100px}.outline-list span{color:var(--muted)}.anchor-card{position:sticky;top:25px;height:fit-content}.anchor-card .btn{width:100%;margin-top:10px}.anchor-card h3{margin-bottom:8px}.anchor-card .hint{font-size:12px;color:var(--muted);margin-top:13px}.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:17px 21px}.faq summary{font-weight:650;cursor:pointer;font-size:14px}.faq p{font-size:13px;color:var(--muted);margin:14px 0 0}.empty{background:#fff;border:1px dashed #bdcbd6;border-radius:var(--radius);padding:36px;text-align:center}.empty p{color:var(--muted);font-size:14px}.file-item{display:flex;gap:16px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--line)}.file-item:first-child{padding-top:0}.file-item:last-child{border-bottom:0;padding-bottom:0}.file-icon{flex:0 0 46px;height:54px;background:#edf3f8;color:var(--navy);border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.file-info{flex:1;min-width:0}.file-info h3{margin-bottom:5px}.file-info p{font-size:12px;color:var(--muted);margin-bottom:12px;overflow-wrap:anywhere}.preview-wrap{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#e5ebef}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;background:#fff;font-size:13px;border-bottom:1px solid var(--line);gap:12px}.preview{display:block;width:100%;height:680px;border:0;background:#e5ebef}.preview-fallback{display:block;max-height:700px;max-width:100%;margin:auto;object-fit:contain}.preview-caption{padding:10px 16px;font-size:12px;color:var(--muted);background:#fff}.preview-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.preview-tabs .btn[aria-pressed=true]{color:var(--teal);border-color:var(--teal);background:var(--teal-pale)}.practice-heading h1{font-size:32px;margin-bottom:10px}.practice-layout{display:grid;grid-template-columns:minmax(0,1fr) 226px;gap:22px;align-items:start}.question-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.question-top{padding:19px 26px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);align-items:center}.question-top h2{font-size:17px;margin:0}.question-body{padding:24px 26px}.question-image{display:block;width:100%;height:auto;border-radius:4px;background:#fff}.image-hint{font-size:11px;color:var(--muted);margin-top:8px;display:block}.question-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.option{position:relative;display:flex;align-items:center;gap:12px;border:1px solid #cfdbe5;border-radius:9px;padding:14px 16px;cursor:pointer;background:white;min-height:54px}.option:hover{background:#f4f9fa;border-color:#7aaeb1}.option:has(input:checked){border:2px solid var(--teal);padding:13px 15px;background:var(--teal-pale)}.option input{accent-color:var(--teal);width:17px;height:17px;margin:0}.option strong{font-size:14px}.numeric-input{width:100%;max-width:320px;border:1px solid #b9c9d6;border-radius:8px;padding:12px;margin-top:10px;color:var(--ink)}.question-footer{padding:20px 26px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.question-footer .actions{gap:7px}.answer-panel{margin-top:23px;border-top:1px solid var(--line);padding-top:21px}.result{padding:14px 17px;border-radius:9px;font-size:14px;margin-bottom:18px;background:#e8f6ef;color:#1b6c49}.result.incorrect{background:#fff2ea;color:#994b25}.answer-image{display:block;width:100%;height:auto;margin-top:14px}.practice-sidebar .card{padding:22px}.practice-sidebar .card+.card{margin-top:16px}.practice-sidebar h3{font-size:15px}.progress-track{height:6px;border-radius:9px;background:#e8eef3;overflow:hidden;margin:15px 0}.progress-fill{background:var(--teal);height:100%;transition:width .2s}.question-dots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.question-dot{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;height:38px;font-size:12px;font-weight:700}.question-dot.current{outline:2px solid var(--teal);outline-offset:1px}.question-dot.done{background:var(--teal-pale);border-color:#b9dfd6;color:var(--teal)}.scoreline{font-size:26px;font-weight:750;letter-spacing:-.7px;line-height:1.3;margin-top:20px}.scoreline small{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0}.score-caption{font-size:11px;color:var(--muted);margin-top:4px}.save-status{font-size:11px;color:var(--muted);line-height:1.6;margin-top:16px}.reset-button{border:0;background:none;color:#7c6660;padding:0;font-size:12px;text-decoration:underline;text-underline-offset:4px;margin-top:16px}.practice-help{font-size:12px;color:var(--muted)}.practice-help p{margin-bottom:10px}.status-message{font-size:12px;color:#994b25;min-height:20px;margin-top:12px}.mobile-context{display:none}.site-footer{max-width:1370px;margin:auto;padding:20px 42px 28px 294px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.hidden{display:none!important}.error-page{padding:50px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.split-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.availability{color:var(--teal);font-weight:650}.file-scope{font-size:12px;background:#f5f7fa;border-radius:8px;padding:12px;margin:10px 0}.list-summary{font-size:13px;color:var(--muted);margin-bottom:22px}.skip-link{position:absolute;left:20px;top:-100px;z-index:10;background:white;padding:12px}.skip-link:focus{top:10px}
@media(min-width:1500px){.frame{gap:52px}}
@media(max-width:1150px){.frame{grid-template-columns:175px minmax(0,1fr);gap:26px;padding:28px}.detail-grid{grid-template-columns:minmax(0,1fr) 245px}.practice-layout{grid-template-columns:minmax(0,1fr) 200px}.hero{padding:34px}.site-footer{padding-left:229px}.paper-card{grid-template-columns:1fr}.paper-card .actions{justify-content:flex-start}.fact{padding:17px}.card{padding:23px}}
@media(max-width:900px){.frame{display:block;padding:24px}.sidebar{display:none}.head-nav{gap:22px}.site-head{padding:0 24px;gap:30px}.site-footer{padding:20px 24px}.detail-grid{grid-template-columns:minmax(0,1fr) 240px}.practice-layout{grid-template-columns:minmax(0,1fr) 190px}.mobile-context{display:block}.hero h1{max-width:600px}}
@media(max-width:700px){body{font-size:14px}.site-head{height:auto;min-height:70px;padding:16px 20px;gap:20px;flex-wrap:wrap}.brand{font-size:22px}.head-nav{font-size:13px;margin-left:auto;gap:18px}.local-label{display:none}.frame{padding:22px 18px 40px}.crumbs{font-size:11px;margin-bottom:20px}.hero{padding:30px 25px;border-radius:14px;margin-bottom:22px}h1{font-size:31px}.hero p{font-size:14px}.hero:after{right:-180px}.hero .actions .btn{flex:1}.grid-2,.grid-3,.detail-grid,.practice-layout{grid-template-columns:1fr}.subject-card{min-height:0;padding:24px}.grid-2{gap:14px}.section{margin-top:28px}.section-head{align-items:flex-start}.section-head h2,h2{font-size:21px}.steps{grid-template-columns:1fr}.step{padding:20px 23px}.step+.step{border-left:0;border-top:1px solid var(--line)}.step:before{margin-bottom:5px}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fact{padding:15px}.fact:not(:nth-child(3n)){border-right:0}.fact:not(:nth-child(2n)){border-right:1px solid var(--line)}.fact:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.fact:nth-last-child(-n+2){border-bottom:0}.anchor-card{position:static}.card{padding:23px}.paper-card{padding:23px}.paper-card h3{font-size:18px}.paper-card .btn{flex:1}.site-footer{padding:18px;display:block}.site-footer span{display:block;margin-bottom:5px}.preview{height:530px}.preview-toolbar{align-items:flex-start;padding:12px;flex-wrap:wrap}.preview-caption{padding:10px 12px}.practice-heading h1{font-size:27px}.practice-sidebar{display:grid;grid-template-columns:1fr;gap:14px}.practice-sidebar .card+.card{margin:0}.question-top{padding:17px 20px}.question-body{padding:18px}.question-options{gap:10px}.option{padding:13px}.option:has(input:checked){padding:12px}.question-footer{padding:18px}.question-footer>.btn{width:100%}.question-footer>.actions{width:100%}.question-footer>.actions .btn{flex:1}.outline-list li{display:block}.outline-list strong{display:block;margin-bottom:3px}.file-item{gap:12px}.question-dots{grid-template-columns:repeat(8,minmax(0,1fr))}.scoreline{font-size:24px}.btn{padding:11px 15px}.split-title{display:block}.preview-tabs .btn{flex:1}.error-page{padding:25px}.question-image{border-radius:0}.card p{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.article-exam-nav{display:flex;flex-wrap:wrap;gap:10px}.article-teaser{display:flex;align-items:center;justify-content:space-between;gap:25px}.article-teaser .eyebrow{margin-bottom:10px}.article-teaser h2{margin-bottom:8px}.article-teaser p{margin-bottom:0;max-width:580px}.article-teaser .actions{flex-shrink:0}.filter-row{display:flex;align-items:flex-start;gap:20px;margin-top:19px}.filter-label{font-size:12px;color:var(--muted);flex:0 0 62px;padding-top:7px}.filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{border:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px;border-radius:7px;padding:7px 13px;min-height:37px}.filter-chip:hover{border-color:var(--teal);color:var(--teal)}.filter-chip[aria-pressed=true]{background:var(--teal-pale);border-color:#7cbeb7;color:var(--teal);font-weight:700}.filter-summary{margin:24px 0 16px;font-size:12px;color:var(--muted)}.article-empty{text-align:center;background:#f6f9fb;border:1px dashed #c5d3df;border-radius:12px;padding:30px 24px}.article-empty .eyebrow{margin-bottom:12px}.article-empty h3{font-size:19px}.article-empty p{font-size:13px;color:var(--muted);max-width:540px;margin:0 auto}.article-direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.article-direction-grid .eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:15px}.article-skeleton{border:1px dashed #c4d0db;border-radius:11px;padding:7px 20px;background:#f8fafc}.article-skeleton>div{padding:19px 0;border-bottom:1px dashed #d6e0e9;display:flex;justify-content:space-between;gap:20px;align-items:center}.article-skeleton>div:last-child{border-bottom:0}.article-skeleton span{font-size:14px;font-weight:650}.article-skeleton em{font-style:normal;font-size:11px;color:#8593a2;text-align:right}.frame>main{min-width:0}
@media(max-width:1150px){.article-teaser{display:block}.article-teaser .actions{margin-top:18px}.article-direction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.article-direction-grid{grid-template-columns:1fr}.article-exam-nav .btn{flex:1;min-width:90px;font-size:12px;padding:10px}.filter-row{display:block;margin-top:20px}.filter-label{display:block;padding:0;margin-bottom:9px}.filter-chip{min-height:40px;padding:8px 12px}.article-empty{padding:25px 18px}.article-skeleton{padding:4px 16px}.article-skeleton>div{display:block;padding:16px 0}.article-skeleton em{display:block;text-align:left;margin-top:7px}.article-teaser .btn{width:100%}.article-teaser .actions{display:block}.article-teaser .btn+.btn{margin-top:10px}}

/* Readable body and controls at the original 375px acceptance width. */
@media(max-width:760px){body{font-size:16px}main p,main li,main label,main input,main select,main textarea,main button,main .btn{font-size:16px}.paper-study-hero .paper-study-lead,.paper-study-hero .paper-study-scope{font-size:16px}}
