@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&family=Source+Serif+4:opsz,wght@8..60,500;8..60,650&display=swap";:root{font-family:Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#17211b;background:#f7f8f6;font-synthesis:none;text-rendering:optimizeLegibility;--green-950: #0b3324;--green-900: #10472f;--green-800: #155d3c;--green-700: #176b45;--green-600: #1d8051;--green-500: #2b9864;--green-200: #bfe3ce;--green-100: #ddf2e5;--green-50: #edf8f1;--ink: #17211b;--muted: #59645d;--line: #d9dedb;--paper: #ffffff;--cream: #f8f6ef;--gold: #d8a72a;--red: #b43f3f;--red-soft: #fff0ef;--shadow: 0 15px 40px rgba(19, 54, 37, .09);--shadow-sm: 0 5px 18px rgba(19, 54, 37, .07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#f7f8f6}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{text-wrap:balance}button:focus-visible,a:focus-visible,input:focus-visible,.code-editor:focus-within{outline:3px solid rgba(29,128,81,.3);outline-offset:3px}.page-container{width:min(1160px,calc(100% - 40px));margin:0 auto}.page-pad{padding-top:64px;padding-bottom:90px}.skip-link{position:fixed;z-index:999;left:16px;top:-100px;padding:12px 18px;background:#fff;color:var(--green-900);border:2px solid var(--green-700);border-radius:8px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:100;height:74px;background:#fffffff5;border-bottom:1px solid #e6e9e7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-header-inner{width:min(1200px,calc(100% - 36px));height:100%;margin:0 auto;display:flex;align-items:center;gap:36px}.brand-link{text-decoration:none}.brand{position:relative;width:188px;height:40px;overflow:hidden;border-radius:5px;background:#fff}.brand-logo-source{position:absolute;top:-50px;left:-27px;width:238px;max-width:none;height:auto;display:block}.main-nav{display:flex;align-self:stretch;align-items:stretch;gap:4px}.main-nav a{position:relative;display:flex;align-items:center;gap:8px;padding:0 15px;color:#4f5b54;text-decoration:none;font-size:14px;font-weight:600}.main-nav a:after{position:absolute;content:"";left:14px;right:14px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--green-700);transform:scaleX(0);transition:transform .16s ease}.main-nav a:hover,.main-nav a.active{color:var(--green-800)}.main-nav a.active:after{transform:scaleX(1)}.profile-chip{margin-left:auto;display:flex;align-items:center;gap:11px}.profile-copy{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.profile-copy strong{font-size:13px}.profile-copy small{color:#768078;font-size:11px}.avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:var(--green-950);color:#fff;font-weight:800}.mobile-menu-button{display:none;border:0;background:transparent;color:var(--ink)}.site-footer{min-height:160px;padding:42px max(20px,calc((100vw - 1160px)/2));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;background:var(--green-950);color:#ffffffb3}.site-footer .brand{box-shadow:0 0 0 7px #fffffff5}.site-footer p{margin:0}.site-footer>span{font-size:13px}.hero{min-height:520px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 90% 0%,rgba(97,167,123,.25),transparent 34%),linear-gradient(135deg,#e8f4eb,#f5f8f3 60%,#eef3ea);border-bottom:1px solid #dce5de}.hero-grid{padding:68px 0;display:grid;grid-template-columns:1fr .86fr;align-items:center;gap:90px}.eyebrow,.section-label{display:inline-block;color:var(--green-700);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.eyebrow.light{color:#b8e2c8}.hero h1,.page-header h1,.lesson-hero h1,.exam-intro-hero h1,.results-hero h1{margin:14px 0 20px;font-family:"Source Serif 4",Noto Sans SC,serif;font-size:clamp(42px,6vw,70px);line-height:1.06;letter-spacing:-.045em;color:var(--green-950)}.hero p{max-width:650px;margin-bottom:30px;color:#435149;font-size:18px;line-height:1.85}.hero-actions,.editor-actions,.results-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.primary-button,.secondary-button,.completion-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:7px;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.primary-button{border:1px solid var(--green-700);background:var(--green-700);color:#fff;box-shadow:0 5px 13px #176b4529}.primary-button:hover:not(:disabled){background:var(--green-800);transform:translateY(-1px)}.primary-button:disabled{opacity:.48;cursor:not-allowed}.secondary-button{border:1px solid #aab4ae;background:#fff;color:#24342a}.secondary-button:hover:not(:disabled){border-color:var(--green-700);color:var(--green-800)}.large{min-height:50px;padding:13px 23px;font-size:15px}.full{width:100%}.text-button,.text-link,.arrow-link,.back-link{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--green-700);font-weight:700;text-decoration:none;cursor:pointer}.text-button{padding:0}.hero-console{position:relative;border:1px solid rgba(12,55,37,.32);border-radius:13px;overflow:hidden;background:#11261c;color:#dce9e0;box-shadow:0 28px 55px #0d322138;transform:perspective(1100px) rotateY(-4deg) rotateX(1deg)}.hero-console:after{position:absolute;content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.05),transparent 30%)}.console-top{height:42px;padding:0 14px;display:flex;align-items:center;gap:7px;background:#0b1c14;border-bottom:1px solid rgba(255,255,255,.08)}.console-top span{width:9px;height:9px;border-radius:50%;background:#d55e56}.console-top span:nth-child(2){background:#d5a84d}.console-top span:nth-child(3){background:#50a966}.console-top small{margin-left:auto;color:#8aa396}.hero-console pre{min-height:210px;margin:0;padding:28px;font:14px/1.75 Consolas,SFMono-Regular,monospace;white-space:pre-wrap}.code-purple{color:#d2a6ff}.code-blue{color:#76c9ff}.code-green{color:#a9dd8f}.console-output{padding:12px 28px;border-top:1px solid rgba(255,255,255,.08);background:#0e2117;color:#88dda8;font-family:Consolas,monospace}.dashboard-content{padding:48px 0 90px}.overview-card{margin-top:-86px;position:relative;z-index:3;min-height:210px;padding:34px 38px;display:grid;grid-template-columns:1.1fr .7fr 1.25fr;align-items:center;gap:38px;border:1px solid #e2e6e3;border-radius:14px;background:#fff;box-shadow:var(--shadow)}.overview-copy h2,.section-heading-row h2,.content-section h2,.result-section>h2{margin:8px 0 10px;font-family:"Source Serif 4",serif;font-size:30px;letter-spacing:-.025em}.overview-copy p{margin:0;color:var(--muted)}.overview-progress{display:flex;align-items:center;gap:18px}.progress-orb{width:92px;height:92px;flex:0 0 auto;display:grid;align-content:center;place-items:center;border-radius:50%;background:conic-gradient(var(--green-600) var(--progress, 60%),var(--green-100) 0);box-shadow:inset 0 0 0 12px #fff}.progress-orb strong{font-size:21px}.progress-orb span{color:var(--muted);font-size:10px}.progress-wrap{width:100%}.progress-label{margin-bottom:8px;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:13px}.progress-label strong{color:var(--green-800)}.progress-track{height:8px;overflow:hidden;border-radius:99px;background:#e5ebe7}.progress-track span{height:100%;display:block;border-radius:inherit;background:var(--green-600);transition:width .3s ease}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr)}.stat-grid>div{padding:3px 18px;display:grid;grid-template-columns:auto 1fr;gap:1px 10px;border-left:1px solid var(--line)}.stat-grid svg{grid-row:1 / 3;align-self:center;color:var(--green-600)}.stat-grid strong{font-size:22px}.stat-grid span{color:var(--muted);font-size:11px}.dashboard-grid{margin-top:36px;display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.feature-card{min-height:285px;padding:32px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #dfe4e1;border-radius:13px;background:#fff;box-shadow:var(--shadow-sm)}.feature-card h2{margin:8px 0;font-size:24px}.feature-card p{color:var(--muted);line-height:1.65}.feature-icon{width:52px;height:52px;margin-bottom:24px;display:grid;place-items:center;border-radius:10px;background:var(--green-100);font-size:28px}.feature-icon.dark{background:var(--green-900);color:#fff}.arrow-link{margin-top:auto}.tag-row{display:flex;gap:7px;flex-wrap:wrap}.tag{padding:5px 9px;border:1px solid #cce0d3;border-radius:999px;background:var(--green-50);color:var(--green-800);font:600 11px/1.2 Consolas,monospace}.section-block{margin-top:64px}.section-heading-row{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.lesson-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.mini-lesson{position:relative;min-height:210px;padding:25px 21px;display:flex;flex-direction:column;border:1px solid #dfe4e1;border-radius:11px;background:#fff;color:var(--ink);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}.mini-lesson:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}.lesson-number{position:absolute;right:17px;top:15px;color:#a8b0aa;font-weight:800}.mini-lesson-icon{margin-bottom:22px;font-size:30px}.mini-lesson strong{font-size:16px}.mini-lesson small{margin-top:7px;color:var(--muted);line-height:1.5}.done-icon{position:absolute;right:15px;bottom:15px;color:var(--green-600)}.page-header{max-width:820px;margin-bottom:55px}.page-header h1{margin-bottom:15px;font-size:clamp(42px,5vw,60px)}.page-header>p{color:var(--muted);font-size:17px;line-height:1.75}.header-progress{width:min(520px,100%);margin-top:30px}.unit-section{margin-top:55px}.unit-heading{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:18px}.unit-heading span{color:var(--green-700);font-size:12px;font-weight:800;letter-spacing:.12em}.unit-heading h2{margin:0;font-family:"Source Serif 4",serif;font-size:28px}.curriculum-list{margin-top:20px;display:grid;gap:13px}.curriculum-card{min-height:145px;padding:24px 28px;display:grid;grid-template-columns:54px 70px 1fr auto;align-items:center;gap:22px;border:1px solid #dde3df;border-radius:11px;background:#fff;text-decoration:none;box-shadow:0 2px #1e463105;transition:border-color .15s ease,box-shadow .15s ease}.curriculum-card:hover{border-color:#a8c9b5;box-shadow:var(--shadow-sm)}.lesson-state{width:45px;height:45px;display:grid;place-items:center;border:2px solid #c7d0ca;border-radius:50%;color:#778279;font-weight:800}.lesson-state.done{border-color:var(--green-600);background:var(--green-600);color:#fff}.curriculum-icon{font-size:38px;text-align:center}.curriculum-copy>span{color:var(--green-700);font-size:11px;font-weight:800;text-transform:uppercase}.curriculum-copy h3{margin:4px 0;font-size:21px}.curriculum-copy p{margin:0;color:var(--muted)}.lesson-meta{margin-top:13px;display:flex;gap:18px;flex-wrap:wrap;color:#778078;font-size:11px}.lesson-meta span{display:inline-flex;align-items:center;gap:5px}.card-chevron{color:#849087}.lesson-hero{padding:46px 0 58px;background:linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(135deg,#dfeee4,#f2f6f0);background-size:34px 34px,34px 34px,auto;border-bottom:1px solid #d4dfd7}.back-link{margin-bottom:40px;color:#4c6255;font-size:13px}.lesson-hero-grid{display:grid;grid-template-columns:1fr 150px;align-items:center}.lesson-hero h1{margin:10px 0;font-size:clamp(42px,5vw,62px)}.lesson-subtitle{margin:0;color:#53645a;font-size:19px}.lesson-hero-icon{width:130px;height:130px;display:grid;place-items:center;border-radius:22px 22px 22px 8px;background:#fff;font-size:62px;box-shadow:var(--shadow);transform:rotate(3deg)}.lesson-layout{padding-top:48px;padding-bottom:95px;display:grid;grid-template-columns:minmax(0,790px) 270px;align-items:start;gap:55px}.lesson-article{min-width:0}.story-callout,.pitfall-callout,.textbook-callout,.lesson-practice-cta{padding:25px 27px;display:flex;align-items:flex-start;gap:19px;border-radius:10px}.story-callout{background:var(--green-950);color:#fff}.socrates-avatar{width:45px;height:45px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#b9e2c8;font-family:"Source Serif 4",serif;font-size:24px}.story-callout span,.pitfall-callout span,.textbook-callout span{display:block;margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.08em}.story-callout p,.textbook-callout p{margin:0;line-height:1.8}.content-section{position:relative;padding:49px 0;border-bottom:1px solid var(--line)}.content-section>p{color:#47534c;font-size:16px;line-height:1.9}.concept-section{padding-left:55px}.concept-index{position:absolute;left:0;top:55px;color:var(--green-300, #8dbba0);font:800 14px/1 Consolas,monospace}.objective-list{margin:22px 0 0;padding:0;display:grid;gap:13px;list-style:none}.objective-list li{display:flex;align-items:flex-start;gap:11px;line-height:1.6}.objective-list svg{margin-top:4px;flex:0 0 auto;color:var(--green-600)}.objective-list.compact{margin:15px 0 22px;padding:16px 20px;border-radius:8px;background:#f5f7f5}.objective-list.compact li:before{content:"•";color:var(--green-600)}.code-block{overflow:auto;margin:18px 0;padding:19px 21px;border:1px solid #263f32;border-radius:8px;background:#12271d;color:#e2eee6;font:13px/1.75 Consolas,SFMono-Regular,monospace;white-space:pre-wrap;-moz-tab-size:4;tab-size:4}.code-block.large{padding:24px;font-size:14px}.pitfall-callout{margin-top:45px;background:#fff7e3;border:1px solid #e7d395;color:#5e4a16}.pitfall-callout>svg{flex:0 0 auto;color:#a87909}.pitfall-callout ul{margin:0;padding-left:19px;display:grid;gap:8px;line-height:1.65}.textbook-callout{margin-top:20px;background:var(--green-50);border:1px solid #cce5d5;color:var(--green-950)}.textbook-callout>svg{flex:0 0 auto;color:var(--green-700)}.textbook-callout strong{display:block;margin-bottom:8px}.textbook-callout p{color:#52675a;font-size:13px}.lesson-practice-cta{margin-top:45px;align-items:center;background:#fff;border:1px solid #d7dfda;box-shadow:var(--shadow-sm)}.lesson-practice-cta>svg{width:34px;height:34px;flex:0 0 auto;color:var(--gold)}.lesson-practice-cta h2{margin:5px 0}.lesson-practice-cta p{margin:0;color:var(--muted);font-size:13px}.lesson-practice-cta .primary-button{margin-left:auto;flex:0 0 auto}.lesson-complete{padding-top:35px;display:flex;justify-content:center}.completion-button{border:1px solid var(--green-600);background:#fff;color:var(--green-700)}.completion-button.done{background:var(--green-600);color:#fff}.lesson-sidebar{position:sticky;top:100px;display:grid;gap:16px}.sidebar-card{padding:21px;border:1px solid #dde3df;border-radius:9px;background:#fff}.sidebar-card>span{display:block;margin-bottom:14px;color:#68736c;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tag-row.vertical{align-items:flex-start;flex-direction:column}.lesson-nav-card a{padding:12px 0;display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;border-top:1px solid #edf0ee}.lesson-nav-card a:first-of-type{border-top:0}.lesson-nav-card a>span{flex:1;display:flex;flex-direction:column;font-size:12px;font-weight:600}.lesson-nav-card small{color:#869088;font-size:10px}.practice-catalog{display:grid;gap:14px}.practice-module-card{min-height:150px;padding:24px 28px;display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:22px;border:1px solid #dde3df;border-radius:11px;background:#fff;text-decoration:none;transition:box-shadow .15s ease,border-color .15s ease}.practice-module-card:hover{border-color:#aacbb7;box-shadow:var(--shadow-sm)}.practice-module-icon{font-size:40px;text-align:center}.practice-module-card span{color:var(--green-700);font-size:11px;font-weight:700}.practice-module-card h2{margin:4px 0;font-size:21px}.practice-module-card p{margin:0;color:var(--muted)}.practice-counts{margin-top:13px;display:flex;gap:18px}.practice-counts span{display:flex;align-items:center;gap:5px;color:#7b857e;font-weight:500}.module-progress{display:flex;align-items:center;gap:16px;color:var(--green-700);font-weight:800}.practice-session-header{padding:40px 0 46px;background:#e8f2ea;border-bottom:1px solid #d4e0d6}.practice-session-header .back-link{margin-bottom:25px}.practice-session-header>div>span{color:var(--green-700);font-size:12px;font-weight:800;letter-spacing:.08em}.practice-session-header h1{margin:8px 0;font-family:"Source Serif 4",serif;font-size:42px}.practice-session-header p{margin:0;color:var(--muted)}.practice-question-stack{width:min(900px,calc(100% - 40px));padding:44px 0 90px;display:grid;gap:28px}.question-card{padding:34px 38px;border:1px solid #dce2de;border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}.question-kicker{margin-bottom:9px;color:var(--green-700);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.question-card h3{margin-bottom:22px;font-family:"Source Serif 4",Noto Sans SC,serif;font-size:24px;line-height:1.5}.question-prompt{color:#47544c;line-height:1.8}.option-list{margin:20px 0 25px;display:grid;gap:10px}.option{min-height:58px;padding:11px 15px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:13px;border:1px solid #cfd7d2;border-radius:7px;background:#fff;cursor:pointer;line-height:1.55;transition:background .13s ease,border-color .13s ease}.option:hover{border-color:#8eaa98}.option.selected{border:2px solid var(--green-700);padding:10px 14px;background:var(--green-50)}.option.correct{border-color:#3b9b61;background:#e7f7ed}.option.wrong{border-color:#c55b55;background:var(--red-soft)}.option input{position:absolute;opacity:0;pointer-events:none}.option-letter{width:32px;height:32px;display:grid;place-items:center;border:1.5px solid #6f7b73;border-radius:50%;font-weight:800}.option.selected .option-letter,.option.correct .option-letter{border-color:var(--green-700);background:var(--green-700);color:#fff}.option.wrong .option-letter{border-color:var(--red);background:var(--red);color:#fff}.option-status{color:var(--green-700)}.option.wrong .option-status{color:var(--red)}.option-status.faint{color:#b7c0ba}.feedback{margin-top:22px;padding:19px 21px;border-radius:8px}.feedback strong{display:block;margin-bottom:4px}.feedback p{margin:0 0 9px;line-height:1.65}.feedback.success{background:#e8f7ed;border:1px solid #9fd0af;color:#185b36}.feedback.error{background:var(--red-soft);border:1px solid #e1a7a2;color:#78312d}.code-editor{overflow:hidden;border:1px solid #b9c4bd;border-radius:8px;background:#fff}.code-editor .cm-editor{font-size:13px}.editor-actions{margin-top:15px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.run-result{margin-top:20px;padding:20px;border-radius:8px;background:#10231a;color:#e3ede7}.result-heading{margin-bottom:15px;display:flex;justify-content:space-between;gap:15px}.result-heading span{color:#a1b6aa;font-size:12px}.console-label{display:block;margin:12px 0 5px;color:#8fa79b;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.run-result pre{overflow:auto;margin:0;padding:12px;border-radius:5px;background:#0a1811;color:#bce8cb;font:12px/1.6 Consolas,monospace;white-space:pre-wrap}.run-result pre.stderr,pre.stderr{color:#ffaaa3}.test-list{margin:15px 0 0;padding:0;display:grid;gap:7px;list-style:none}.test-list li{display:flex;gap:9px;align-items:flex-start}.test-list li.passed{color:#98e3b2}.test-list li.failed{color:#ffaaa3}.test-list span{display:flex;flex-direction:column}.test-list small{margin-top:3px;color:#c9d5ce;white-space:pre-wrap}.practice-end-card{padding:28px;display:flex;align-items:center;gap:18px;border:1px solid #cde1d4;border-radius:10px;background:var(--green-50)}.practice-end-card>svg{color:var(--green-600)}.practice-end-card h2{margin:0 0 4px;font-size:19px}.practice-end-card p{margin:0;color:var(--muted)}.practice-end-card .secondary-button{margin-left:auto}.exam-intro-page{min-height:80vh}.exam-intro-hero,.results-hero{padding:65px 0;background:radial-gradient(circle at 85% 10%,rgba(87,161,112,.32),transparent 32%),var(--green-950);color:#fff}.exam-intro-hero h1,.results-hero h1{margin-bottom:14px;color:#fff;font-size:clamp(42px,5vw,60px)}.exam-intro-hero p{margin:0;color:#bfd1c6;font-size:17px}.exam-intro-layout{padding:48px 0 90px;display:grid;grid-template-columns:1fr 340px;align-items:start;gap:42px}.exam-instructions{padding:34px;border:1px solid #dce2de;border-radius:12px;background:#fff}.exam-instructions>h2{margin:8px 0 25px;font-family:"Source Serif 4",serif;font-size:32px}.instruction-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dfe4e1;border-radius:8px}.instruction-grid>div{min-height:120px;padding:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-left:1px solid #dfe4e1}.instruction-grid>div:first-child{border-left:0}.instruction-grid svg{margin-bottom:9px;color:var(--green-700)}.instruction-grid strong{font-size:14px}.instruction-grid span{margin-top:3px;color:var(--muted);font-size:10px}.rule-list{padding:30px 0}.rule-list h3{font-size:17px}.rule-list ul{margin:0;padding:0;display:grid;gap:13px;list-style:none}.rule-list li{display:flex;gap:10px;color:#48544d}.rule-list svg{flex:0 0 auto;color:var(--green-600)}.exam-readiness{padding:18px;display:flex;gap:13px;border-radius:8px;background:#f4f6f4}.exam-readiness svg{flex:0 0 auto;color:var(--green-700)}.exam-readiness p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.exam-start-card{position:sticky;top:100px;padding:29px;border:1px solid #cad7ce;border-radius:12px;background:var(--green-50);box-shadow:var(--shadow-sm)}.exam-start-card>span{color:var(--green-700);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.exam-start-card h2{margin:10px 0;font-size:23px}.exam-start-card p{color:var(--muted);line-height:1.65}.exam-start-card small{display:block;margin-top:12px;color:#6f7d74;text-align:center}.exam-shell{min-height:100vh;background:#f4f5f3}.exam-topbar{position:sticky;top:0;z-index:50;height:72px;padding:0 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#fff;border-bottom:1px solid #cfd5d1}.exam-brand{display:flex;align-items:center;gap:16px}.exam-brand .brand{width:152px;height:33px;flex:0 0 auto}.exam-brand .brand-logo-source{top:-41px;left:-22px;width:193px}.exam-brand span{padding-left:16px;border-left:1px solid #d4d9d6;color:#59645d;font-size:12px}.exam-timer{display:grid;grid-template-columns:auto auto;gap:0 8px;color:#506057}.exam-timer svg{grid-row:1 / 3;align-self:center;color:var(--green-700)}.exam-timer span{font-size:9px;letter-spacing:.08em}.exam-timer strong{color:var(--ink);font:800 19px/1 Consolas,monospace}.exam-timer.warning strong,.exam-timer.warning svg{color:var(--red)}.nav-toggle{display:none;justify-self:end;align-items:center;gap:7px;border:0;background:transparent;color:var(--green-800);font-weight:700}.exam-body{min-height:calc(100vh - 72px);display:grid;grid-template-columns:260px minmax(0,1fr)}.exam-navigator{position:sticky;top:72px;height:calc(100vh - 72px);padding:28px 22px;display:flex;flex-direction:column;border-right:1px solid #d5dad7;background:#fff}.navigator-mobile-head{display:none}.exam-progress-copy{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.exam-progress-copy strong{color:var(--ink)}.exam-question-grid{margin-top:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.exam-question-grid button{position:relative;aspect-ratio:1;border:1px solid #bfc8c2;border-radius:4px;background:#fff;color:#46524b;font-weight:700;cursor:pointer}.exam-question-grid button.answered{background:#dff2e6;border-color:#80b495;color:var(--green-800)}.exam-question-grid button.current{border:2px solid var(--green-800);box-shadow:0 0 0 2px #cce5d6}.exam-question-grid button svg{position:absolute;top:2px;right:2px;color:#b06e0a}.navigator-legend{margin-top:20px;display:grid;gap:8px;color:#69746d;font-size:10px}.navigator-legend span{display:flex;align-items:center;gap:7px}.navigator-legend i{width:13px;height:13px;display:inline-block;border:1px solid #aab5ae}.navigator-legend .legend-current{border:2px solid var(--green-800)}.navigator-legend .legend-answered{border-color:#80b495;background:#dff2e6}.submit-exam-button{min-height:46px;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #1b2d23;border-radius:5px;background:#1b2d23;color:#fff;font-weight:700;cursor:pointer}.exam-question-area{width:min(920px,calc(100% - 48px));margin:0 auto;padding:38px 0 70px}.exam-question-meta{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;color:#68736c;font-size:11px}.question-type-pill{padding:5px 8px;border-radius:4px;background:#e5e9e6;color:#4d5951;font-weight:700}.flag-button{justify-self:end;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#69736d;font-weight:700;cursor:pointer}.flag-button.active{color:#996104}.exam-question-card{min-height:540px;margin-top:13px;padding:42px 48px;border:1px solid #d1d7d3;border-radius:5px;background:#fff;box-shadow:0 2px 4px #142d1e0a}.exam-question-card h1{margin-bottom:25px;font-family:"Source Serif 4",Noto Sans SC,serif;font-size:25px;line-height:1.65}.code-block.exam-code{border-color:#cbd3ce;background:#f4f6f4;color:#1d3226}.exam-options{margin-top:28px}.exam-options .option{min-height:66px;border-radius:3px}.exam-code-prompt{color:#39473f;line-height:1.8}.exam-objectives{margin:20px 0 25px;padding:17px 20px 17px 38px;border-left:3px solid var(--green-600);background:#f4f7f4;color:#4b5850;line-height:1.7}.exam-run-note{color:#707b74;font-size:11px}.run-result.exam-preview{padding:16px}.exam-pager{margin-top:18px;display:flex;justify-content:space-between}.grading-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0a1d13c2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.grading-overlay>div{width:min(450px,calc(100% - 40px));padding:38px;border-radius:12px;background:#fff;text-align:center;box-shadow:var(--shadow)}.grading-overlay svg{width:42px;height:42px;color:var(--green-700)}.grading-overlay h2{margin:18px 0 8px}.grading-overlay p{margin:0;color:var(--muted);line-height:1.7}.results-hero{padding:50px 0}.results-hero-inner{display:grid;grid-template-columns:1fr 190px 260px;align-items:center;gap:45px}.results-hero h1{margin:8px 0}.results-hero p{margin:0;color:#b9cec1}.score-ring{width:170px;height:170px;display:grid;grid-template-columns:auto auto;align-content:center;justify-content:center;border:2px solid #7fbd96;border-radius:50%;background:#ffffff0a}.score-ring svg{grid-column:1 / 3;margin:0 auto 3px;color:#e3bd51}.score-ring strong{font-size:47px;line-height:1}.score-ring span{align-self:end;color:#a9c2b3}.score-summary{display:grid;gap:12px}.score-summary>div{padding:13px 16px;display:flex;justify-content:space-between;border:1px solid rgba(255,255,255,.15);border-radius:5px}.score-summary span{color:#b4c9bc;font-size:12px}.results-content{padding:55px 0 95px}.result-section{margin-bottom:60px}.knowledge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.knowledge-card{padding:19px;border:1px solid #dce2de;border-radius:8px;background:#fff}.knowledge-card>span{min-height:28px;display:block;color:var(--muted);font:600 11px/1.4 Consolas,monospace}.knowledge-card>strong{display:block;margin:10px 0 8px;font-size:24px}.knowledge-card small{display:block;margin-top:7px;color:#7d877f}.review-list{display:grid;gap:13px}.review-card{padding:24px;display:grid;grid-template-columns:95px 1fr;gap:20px;border:1px solid #dce2de;border-left:4px solid var(--green-600);border-radius:7px;background:#fff}.review-card.wrong{border-left-color:var(--red)}.review-status{display:flex;align-items:center;gap:7px;color:var(--green-700);font-size:12px;font-weight:800}.review-card.wrong .review-status{color:var(--red)}.review-card h3{margin-bottom:10px;font-size:16px;line-height:1.6}.review-card p{margin:4px 0;color:var(--muted);font-size:13px}.review-card .correct-answer{color:var(--green-700);font-weight:700}.explanation{margin-top:13px;padding:13px;border-radius:5px;background:#f2f5f3;color:#47544c;font-size:13px;line-height:1.65}.code-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.code-result-card{padding:23px;border:1px solid #dce2de;border-radius:8px;background:#fff}.code-result-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.code-result-head>svg{color:var(--green-700)}.code-result-head span{color:var(--muted);font-size:10px}.code-result-head h3{margin:2px 0 0;font-size:16px}.code-result-head>strong{font-size:21px}.code-result-card ul{margin:18px 0 0;padding:0;display:grid;gap:7px;list-style:none}.code-result-card li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;color:#58645c;font-size:12px}.code-result-card li svg{width:16px}.code-result-card li.passed svg{color:var(--green-600)}.code-result-card li.failed svg{color:var(--red)}.code-result-card pre{overflow:auto;margin-top:14px;padding:10px;border-radius:4px;background:#291b1a;font:11px/1.5 Consolas,monospace;white-space:pre-wrap}.results-actions{padding:30px;border:1px solid #cde1d4;border-radius:10px;background:var(--green-50)}.results-actions>div{margin-right:auto}.results-actions h2{margin-bottom:5px}.results-actions p{margin:0;color:var(--muted)}.empty-page{min-height:65vh;display:grid;place-content:center;justify-items:center;text-align:center}.page-loader{min-height:70vh;display:grid;place-items:center;color:var(--green-700);font-weight:700}.empty-page>span{color:var(--green-200);font:800 100px/1 "Source Serif 4",serif}.empty-page p{color:var(--muted)}@media(max-width:1000px){.hero-grid{gap:40px}.overview-card{grid-template-columns:1fr 1fr}.stat-grid{grid-column:1 / 3}.stat-grid>div:first-child{border-left:0}.lesson-strip{grid-template-columns:repeat(2,1fr)}.lesson-layout{grid-template-columns:1fr}.lesson-sidebar{position:static;grid-template-columns:1fr 1fr}.exam-intro-layout{grid-template-columns:1fr}.exam-start-card{position:static}.instruction-grid{grid-template-columns:repeat(2,1fr)}.instruction-grid>div:nth-child(3){border-left:0;border-top:1px solid #dfe4e1}.instruction-grid>div:nth-child(4){border-top:1px solid #dfe4e1}.results-hero-inner{grid-template-columns:1fr 170px}.score-summary{grid-column:1 / 3;grid-template-columns:repeat(2,1fr)}.knowledge-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.page-container{width:min(100% - 28px,1160px)}.page-pad{padding-top:44px}.site-header{height:64px}.site-header-inner{width:calc(100% - 28px);gap:14px}.brand{width:160px;height:34px}.brand-logo-source{top:-43px;left:-23px;width:203px}.mobile-menu-button{margin-left:auto;display:grid;place-items:center}.main-nav{position:fixed;left:14px;right:14px;top:72px;padding:10px;display:none;align-self:auto;flex-direction:column;border:1px solid #dce2de;border-radius:10px;background:#fff;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{min-height:48px;border-radius:6px}.main-nav a.active{background:var(--green-50)}.main-nav a:after{display:none}.profile-chip{display:none}.hero{min-height:auto}.hero-grid{padding:55px 0 120px;grid-template-columns:1fr}.hero h1{font-size:45px}.hero p{font-size:16px}.hero-console{display:none}.overview-card{margin-top:-80px;padding:25px;grid-template-columns:1fr}.overview-progress{display:none}.stat-grid{grid-column:auto;grid-template-columns:1fr}.stat-grid>div{min-height:65px;border-left:0;border-top:1px solid var(--line)}.dashboard-grid,.lesson-strip{grid-template-columns:1fr}.section-heading-row{align-items:flex-start;flex-direction:column}.site-footer{padding:35px 20px;grid-template-columns:1fr;text-align:center;justify-items:center}.unit-heading{grid-template-columns:1fr;gap:5px}.curriculum-card{padding:20px;grid-template-columns:42px 1fr auto;gap:13px}.curriculum-icon{display:none}.lesson-meta span:nth-child(3){display:none}.lesson-hero-grid{grid-template-columns:1fr}.lesson-hero-icon{display:none}.lesson-hero h1{font-size:43px}.lesson-layout{padding-top:28px;gap:35px}.concept-section{padding-left:34px}.lesson-practice-cta{align-items:flex-start;flex-direction:column}.lesson-practice-cta .primary-button{width:100%;margin-left:0}.lesson-sidebar{grid-template-columns:1fr}.practice-module-card{padding:20px;grid-template-columns:1fr auto}.practice-module-icon{display:none}.practice-counts{flex-direction:column;gap:5px}.question-card{padding:25px 20px}.option{grid-template-columns:31px 1fr auto;padding:10px}.practice-end-card{align-items:flex-start;flex-wrap:wrap}.practice-end-card .secondary-button{width:100%;margin-left:0}.exam-intro-hero{padding:50px 0}.exam-instructions{padding:24px 18px}.instruction-grid{grid-template-columns:1fr 1fr}.exam-topbar{height:66px;padding:0 14px;grid-template-columns:1fr auto auto;gap:12px}.exam-brand span,.exam-timer span{display:none}.exam-timer{grid-template-columns:auto auto}.exam-timer svg{grid-row:auto}.exam-timer strong{font-size:16px}.nav-toggle{display:inline-flex;font-size:0}.exam-body{display:block}.exam-navigator{position:fixed;z-index:200;top:0;right:0;bottom:0;left:auto;width:min(330px,90vw);height:100vh;transform:translate(105%);box-shadow:-10px 0 30px #0a1e1333;transition:transform .18s ease}.exam-navigator.open{transform:translate(0)}.navigator-mobile-head{margin-bottom:25px;display:flex;align-items:center;justify-content:space-between}.navigator-mobile-head button{border:0;background:transparent}.exam-question-area{width:calc(100% - 24px);padding-top:24px}.exam-question-meta{grid-template-columns:1fr auto}.question-type-pill{display:none}.exam-question-card{min-height:auto;padding:27px 19px}.exam-question-card h1{font-size:21px}.exam-pager .primary-button,.exam-pager .secondary-button{padding:9px 12px}.results-hero-inner{grid-template-columns:1fr;justify-items:center;text-align:center}.score-summary{width:100%;grid-column:auto}.knowledge-grid{grid-template-columns:repeat(2,1fr)}.review-card,.code-result-grid{grid-template-columns:1fr}.results-actions{align-items:stretch;flex-direction:column}.results-actions>div{margin-right:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
