*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f2f5fa;color:#172638;font-family:system-ui,-apple-system,"Segoe UI","Microsoft JhengHei",sans-serif;line-height:1.85;font-size:17px}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:#145cad;text-underline-offset:4px}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #e7a724;outline-offset:4px}header{background:#101b2d;color:white;padding:20px 4%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px;color:white;text-decoration:none;font-size:14px;letter-spacing:1.5px;font-weight:750}.logo{display:grid;place-items:center;width:36px;height:36px;background:#b8ef65;color:#101b2d;border-radius:8px;font-size:24px}.edition{color:#aab9cc;font-weight:400;letter-spacing:0;margin-left:14px}.quiet{background:none;border:0;color:inherit;font-size:14px;padding:8px}.shell{max-width:1360px;margin:auto;display:grid;grid-template-columns:285px minmax(0,1fr);gap:44px;padding:40px 36px 70px}.sidebar{align-self:start;position:sticky;top:24px;background:none;padding:0;border:0;color:inherit}.eyebrow{font-size:13px;font-weight:750;color:#56677c;letter-spacing:2px}.sidebar h2{font-size:27px;line-height:1.4;margin:12px 0}.muted,.local-note{color:#586a7d}.muted{font-size:15px}.progress-label{display:flex;justify-content:space-between;font-size:13px;margin-top:26px}progress{width:100%;height:6px;appearance:none;border:0;background:#dce4ec;display:block;margin:8px 0 24px}progress::-webkit-progress-bar{background:#dce4ec}progress::-webkit-progress-value{background:#24694c}nav{display:grid;gap:5px}nav a{color:#42556c;text-decoration:none;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;font-size:15px}nav a.active{background:#152c49;color:white}nav a:hover:not(.active){background:#e3eaf3}.num{font-size:12px;opacity:.7;width:22px}.done{margin-left:auto;color:#368456}.active .done{color:#b8ef65}.exam-button{width:100%;border:1px solid #b8c7d8;border-radius:8px;padding:11px 12px;margin-top:18px;background:white;color:#193652;text-align:left;font-weight:650}.exam-button span{float:right;font-size:13px;font-weight:400}.local-note{font-size:12px;line-height:1.8;margin:22px 0 0}.reset{padding-left:0;color:#52637a}main{min-width:0}.hero{background:#152c49;color:white;border-radius:18px;padding:38px 40px;position:relative;overflow:hidden}.hero .eyebrow{color:#b8ef65}.hero h1{font-size:clamp(30px,3.5vw,46px);line-height:1.35;margin:17px 0}.hero p{max-width:620px;color:#c9d6e6;margin-bottom:25px}.pill{font-size:12px;border:1px solid #667e9b;border-radius:20px;padding:5px 12px;margin-right:7px}.primary{background:#b8ef65;color:#15271a;border:0;border-radius:8px;padding:12px 22px;font-weight:750}.primary.blue{background:#175c9f;color:white}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.module-card{background:white;border:1px solid #dce4ec;border-radius:12px;padding:23px;text-decoration:none;color:inherit;transition:transform .15s,border-color .15s}.module-card:hover{transform:translateY(-2px);border-color:#598dc4}.module-card h3{font-size:20px;margin:8px 0}.module-card p{font-size:15px;margin:0;color:#586a7d}.module-card .eyebrow{color:#326699}.lesson-header{margin-bottom:24px}.lesson-header h1{font-size:34px;line-height:1.4;margin:10px 0}.lesson-header p{color:#586a7d;margin:0}.paper{background:white;border:1px solid #dce4ec;border-radius:14px;padding:30px 36px}.paper p:first-child{margin-top:0}h3{font-size:23px;margin:30px 0 14px}table{border-collapse:collapse;width:100%;margin:20px 0;font-size:16px}th{text-align:left;background:#edf3fa;color:#254563;font-size:14px}td,th{padding:13px 15px;border-bottom:1px solid #e2e9f1;vertical-align:top}td:first-child{font-weight:650;min-width:120px;overflow-wrap:anywhere}pre{background:#101b2d;color:#dae9f8;padding:24px;border-radius:9px;overflow:auto;font:14px/1.8 Consolas,monospace;tab-size:2}code{background:#ecf2f8;border-radius:4px;padding:2px 5px;font-size:.88em;overflow-wrap:anywhere}pre code{background:none}article aside{background:#edf6ff;border-left:4px solid #2773b5;padding:18px 22px;margin:25px 0;font-size:16px}.flow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:24px 0}.flow span{background:#edf3fa;border:1px solid #d0dfef;padding:12px;border-radius:8px;font-size:15px}.flow small{display:block;color:#596d81;font-size:12px}.flow b{color:#5e7d9d}.source{font-size:14px;margin-top:26px;padding-top:20px;border-top:1px solid #e0e7ef}.lesson-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;flex-wrap:wrap}.secondary{border:1px solid #bac9d9;background:white;color:#234362;padding:11px 18px;border-radius:8px}.quiz-intro{color:#586a7d}.question{border:1px solid #dce4ec;border-radius:12px;background:white;padding:25px;margin:18px 0;min-width:0}.question legend{font-size:13px;letter-spacing:1px;color:#3e627f;padding:0 7px}.question h3{font-size:19px;margin:0 0 15px}.option{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;margin:8px 0;border:1px solid #dce4ec;border-radius:8px;cursor:pointer;font-size:16px}.option:has(input:checked){border-color:#2773b5;background:#edf6ff}.option input{margin-top:8px;accent-color:#175c9f}.explanation{padding:15px;background:#edf7f0;border-radius:8px;margin-top:15px;font-size:15px}.explanation.wrong{background:#fff2e9;color:#763716}.explanation a{display:inline-block;margin-top:8px}.score{background:#152c49;color:white;padding:28px;border-radius:14px;margin:22px 0}.score strong{font-size:42px;color:#b8ef65}.score p{margin:4px 0}.score a{color:#c5e5ff}.quiz-controls{display:flex;gap:12px;flex-wrap:wrap}.status{color:#8d3b12;font-size:15px}.notice{background:#fff5df;padding:12px 18px;border-radius:8px;font-size:14px}footer{border-top:1px solid #dce4ec;padding:25px;text-align:center;color:#64768a;font-size:12px}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}@media(max-width:850px){.shell{grid-template-columns:1fr;padding:22px 18px;gap:25px}.sidebar{position:static}.sidebar h2 br{display:none}.sidebar h2{font-size:24px}.sidebar nav{display:flex;overflow-x:auto;padding-bottom:8px}.sidebar nav a{white-space:nowrap}.local-note,.reset,.sidebar .muted{display:none}.progress-label{margin-top:12px}.exam-button{margin-top:8px}.hero{padding:28px}.paper{padding:24px}.edition{display:none}.lesson-header h1{font-size:29px}}@media(max-width:480px){.home-grid{grid-template-columns:1fr}.brand{font-size:11px;gap:8px}.paper{padding:18px}td,th{padding:10px 8px;font-size:14px}.question{padding:18px}.lesson-actions>*{width:100%;text-align:center}pre{padding:16px;font-size:12px}.hero{padding:24px}}@media print{header,.sidebar,footer,.lesson-actions,.quiz-controls,.skip{display:none}.shell{display:block;padding:0}.paper,.question{border:0;padding:0}.hero,.score{background:white;color:black}body{background:white;font-size:12pt}pre{white-space:pre-wrap;background:#eee;color:black}a{color:black}}.sidebar{min-width:0}table{table-layout:fixed}td,th{overflow-wrap:anywhere}.pill{display:inline-block;margin-bottom:6px}
.button-link{display:inline-block;text-decoration:none}.all-levels{display:block;margin-bottom:24px;font-size:14px}.select-label{display:block;font-size:13px;margin:18px 0 6px}select{width:100%;padding:11px 9px;border:1px solid #bac9d9;border-radius:8px;background:white;color:#193652;font:inherit;font-size:14px}h2{font-size:27px;line-height:1.45;margin-top:34px}.paper h2:first-child{margin-top:0}.hero+.notice{margin-top:20px}.level-number{font-size:44px;color:#195b94;font-weight:800;line-height:1.3;margin-top:15px}.card-progress{display:block;margin-top:18px;font-size:13px;color:#356a4e}.interview{margin-top:30px;padding:24px;background:#f0f5fb;border-radius:10px}.interview h3{margin-top:10px}details{border-top:1px solid #cbd9e8;padding:15px 0}summary{cursor:pointer;color:#155d9e;font-weight:650}summary:focus-visible,select:focus-visible{outline:3px solid #e7a724;outline-offset:4px}.notes{margin-top:24px}.notes label{display:block;margin-bottom:10px}.notes textarea{display:block;width:100%;padding:15px;border:1px solid #bac9d9;border-radius:9px;resize:vertical;line-height:1.8;background:white;color:#172638}.notes span[role=status],#noteStatus{font-size:13px;color:#386647}.table-scroll{overflow:auto}.paper p{overflow-wrap:anywhere}.quiz-controls a{text-decoration:none}.sidebar .reset{display:block;margin-top:5px;font-size:13px}@media(max-width:850px){.sidebar h2{display:none}.all-levels{margin-bottom:10px}.sidebar .reset{display:inline-block;margin-right:10px}.local-note{display:block}.sidebar nav a{white-space:normal;min-width:205px}.sidebar select{max-width:100%}.interview{padding:16px}.notes label .muted{display:block}}@media print{.notes{display:none}details>p{display:block}.level-card{break-inside:avoid}.button-link{display:none}}
.deep-section{margin:38px 0}.deep-section h2{margin-top:6px}.flow{display:grid;gap:10px;padding:20px;background:#eaf0f8;border-radius:10px}.flow span{display:block;overflow-wrap:anywhere}.case{padding:26px;background:#eef4f9;border-left:4px solid #246697;border-radius:8px;margin:28px 0}.case li{margin:12px 0}.transfer{padding:20px;background:#fff5df;border-radius:8px;margin:24px 0}.transfer h2,.transfer h3{margin-top:0}.retrieval{border:1px dashed #769462;padding:20px;border-radius:8px}.assessment{margin-top:25px}.assessment textarea{width:100%;display:block;margin:12px 0 24px;padding:15px;border:1px solid #aebdcd;border-radius:8px;resize:vertical;line-height:1.8;min-height:170px}.assessment details{margin:20px 0}.criterion{display:grid;grid-template-columns:1fr 210px;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid #d9e1e9}.criterion select{font-size:14px}.deep-section table{width:100%}main{min-width:0}li{overflow-wrap:anywhere}@media(max-width:600px){.criterion{grid-template-columns:1fr;gap:6px}.case{padding:16px}.deep-section{margin:28px 0}.deep-section table{font-size:14px}.paper{padding:20px}}@media print{.case,.transfer{break-inside:avoid}.assessment textarea{min-height:160px}.assessment details{display:block}}
