
:root{--ink:#1b2f3f;--muted:#667480;--paper:#f7f8fa;--line:#e2e7eb;--accent:#bb873a;--gold:#edc775;--teal:#247a78;--soft:#f1f5f7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans HK","PingFang HK","Microsoft JhengHei",sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent }button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #48a6b0;outline-offset:4px}button{color:var(--ink)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4vw,42px);line-height:1.35;letter-spacing:.01em}h2{font-size:24px;line-height:1.5}h3{font-size:19px;line-height:1.5}p{margin-bottom:18px}.shell{max-width:1180px;margin:auto;padding:0 28px}.site-header{background:white;border-bottom:1px solid var(--line)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:21px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--ink);color:var(--gold);border-radius:12px;font-family:serif;font-size:25px}.brand small{display:block;font-size:12px;font-weight:500;color:var(--muted);line-height:1.4;letter-spacing:2px}.top-nav{display:flex;gap:26px;align-items:center}.top-nav a{padding:24px 0;font-size:15px;font-weight:600;border-bottom:3px solid transparent}.top-nav a.active{border-color:var(--teal);color:var(--teal)}.header-progress{font-size:13px;color:var(--muted);padding:7px 12px;background:var(--soft);border-radius:30px}main{min-height:75vh;padding-top:27px;padding-bottom:60px}.breadcrumbs{font-size:14px;color:var(--muted);margin-bottom:20px}.breadcrumbs a:hover{color:var(--teal)}.hero{background:linear-gradient(115deg,#202c43 0%,#163d4c 100%);border-radius:20px;padding:34px 38px;color:white;display:grid;grid-template-columns:1fr 250px;gap:28px;margin-bottom:28px;overflow:hidden}.eyebrow{color:var(--teal);font-size:13px;font-weight:700;letter-spacing:2px;margin-bottom:12px}.hero .eyebrow{color:#9ad2cb}.hero h1{margin-bottom:16px}.hero p{max-width:640px;color:#d1dce3}.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.hero-meta span{border:1px solid #61717d;background:#ffffff08;border-radius:24px;padding:4px 13px;font-size:14px}.hero-meta strong{color:var(--gold);font-size:17px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:10px 20px;border-radius:9px;background:var(--ink);border:1px solid var(--ink);color:white;font-weight:650;font-size:15px;min-height:45px}.btn.gold{background:var(--gold);color:#243447;border-color:var(--gold)}.btn.outline{background:transparent;color:var(--ink);border-color:#bac7ce}.hero .btn.outline{color:white;border-color:#8095a4}.btn.light{background:white;color:var(--ink);border-color:var(--line)}.hero-visual{display:flex;align-items:center;justify-content:center;position:relative}.book{position:relative;width:168px;height:218px;border-radius:3px 12px 12px 3px;transform:rotate(7deg);background:#f5eddc;color:var(--ink);padding:29px 19px 22px 27px;box-shadow:11px 13px 0 #ffffff12;border-left:9px solid #dac9aa;display:flex;flex-direction:column;justify-content:space-between}.book:before{content:"";position:absolute;inset:12px;border:1px solid #bfa778;border-left:0;pointer-events:none}.book small{font-size:12px;letter-spacing:3px;color:#827052}.book strong{font-family:"Songti TC","Noto Serif TC",serif;font-size:29px;letter-spacing:5px;line-height:1.7}.book span{font-size:12px;color:#827052}.progress-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;background:white;border:1px solid var(--line);border-radius:13px;padding:19px 24px;margin-bottom:32px}.progress-panel p{margin:2px 0;font-size:14px;color:var(--muted)}.progress-panel strong{font-size:17px}.progress-track{height:7px;background:#e5ecec;border-radius:8px;overflow:hidden;margin-top:9px;min-width:200px}.progress-track span{display:block;height:100%;background:var(--teal)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:32px 0 19px}.section-heading h2{margin:0}.section-heading p{margin:0;font-size:14px;color:var(--muted)}.search{position:relative}.search input{width:100%;border:1px solid #ced9df;border-radius:10px;background:white;padding:12px 17px;font-size:16px}.course-search{max-width:350px;min-width:230px}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.chapter-card{border:1px solid var(--line);background:white;border-radius:14px;overflow:hidden;transition:border-color .2s}.chapter-card:hover{border-color:#aebfc8}.chapter-top{padding:23px 25px 15px;display:flex;gap:17px}.chapter-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:10px;flex-shrink:0;background:#edf3f3;color:var(--teal);font-size:25px}.chapter-number{font-size:12px;letter-spacing:2px;color:var(--accent);font-weight:700}.chapter-top h3{margin:2px 0 7px;font-size:20px}.chapter-top p{margin:0;color:var(--muted);font-size:14px}.lesson-list{list-style:none;margin:0;padding:0 25px 16px}.lesson-list li{border-top:1px solid #edf0f2}.lesson-list a{display:flex;align-items:center;gap:13px;padding:13px 0;line-height:1.55}.lesson-num{color:#738692;font-size:13px;font-variant-numeric:tabular-nums;flex-shrink:0}.lesson-list .title{flex:1;font-size:15px}.lesson-status{font-size:12px;color:var(--muted);white-space:nowrap}.lesson-status.done{color:var(--teal)}.lesson-list a:hover .title{color:var(--teal)}.empty{padding:42px 22px;text-align:center;color:var(--muted);border:1px dashed #bdcbd2;border-radius:12px;background:white;grid-column:1/-1}.footnote{font-size:13px;color:var(--muted);margin-top:25px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:24px}.page-heading h1{font-size:32px;margin-bottom:10px}.page-heading p{color:var(--muted);margin-bottom:0}.library-controls{display:grid;grid-template-columns:1fr 160px 190px;gap:12px;margin-bottom:18px}.library-controls input,.library-controls select{width:100%;border:1px solid #cdd7de;border-radius:9px;background:white;padding:12px 14px;font-size:15px}.result-info{font-size:14px;color:var(--muted);display:flex;justify-content:space-between;gap:16px;margin:17px 0}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.article-card{border:1px solid var(--line);border-radius:12px;background:white;padding:20px;display:flex;flex-direction:column}.article-date{font-size:12px;color:var(--muted)}.article-card h3{font-size:18px;margin:10px 0 4px;line-height:1.6}.article-summary{font-size:15px;line-height:1.8;margin:10px 0 12px}.article-kind{font-size:12px;color:var(--accent);margin-bottom:10px}.year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.year-card{display:block;background:white;border:1px solid var(--line);border-radius:12px;padding:18px}.year-card strong{display:block;color:var(--teal);font-size:22px}.year-card span{font-size:14px;color:var(--muted)}.year-card:hover{border-color:var(--teal)}.download-row{margin:18px 0}.article-title{font-size:13px;color:var(--muted);margin:0 0 11px}.article-card a:hover{color:var(--teal)}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:17px}.tag{font-size:12px;background:#eff4f6;padding:2px 7px;color:#567080;border-radius:5px}.article-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;border-top:1px solid #edf0f2;gap:10px}.source-link{font-size:14px;color:var(--teal);font-weight:650}.save-btn{font-size:13px;color:var(--muted);background:none;border:1px solid var(--line);border-radius:6px;padding:5px 8px}.save-btn.saved{color:var(--accent);border-color:#dfcbac;background:#fffaf0}.pager{display:flex;justify-content:center;gap:18px;align-items:center;margin-top:28px}.pager span{font-size:14px;color:var(--muted)}.pager button:disabled{opacity:.4;cursor:default}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:36px;align-items:start}.lesson-body{background:white;border:1px solid var(--line);border-radius:15px;padding:33px 38px}.lesson-header h1{font-size:34px;line-height:1.5;margin:12px 0}.lesson-header .desc{color:var(--muted)}.lesson-meta{font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);padding:0 0 24px;margin:0 0 26px}.keypoints{background:#f0f5f5;border:1px solid #dfe9e8;border-radius:11px;padding:21px 24px;margin-bottom:27px}.keypoints h2{font-size:17px;color:var(--teal);margin-bottom:8px}.keypoints ul{padding-left:20px;margin:0}.keypoints li{margin:5px 0}.label{display:inline-block;font-size:12px;color:var(--teal);font-weight:650;letter-spacing:1px;margin-bottom:7px}.author-note{border-left:3px solid #c4a66b;padding:0 0 0 17px;margin-bottom:27px}.author-note .label{color:#987437}.reading-section{margin-top:25px}.reading-section h2{font-size:21px;margin-bottom:10px}.example,.task{background:#f6f8fa;border:1px solid var(--line);border-radius:10px;padding:20px 23px;margin:24px 0}.example h2,.task h2{font-size:17px;margin-bottom:9px}.example p,.task p{margin-bottom:0}.quiz{border:1px solid #d6e2e6;border-radius:12px;padding:22px;margin:27px 0}.quiz h2{font-size:19px;margin-bottom:5px}.quiz-option{display:block;width:100%;text-align:left;line-height:1.65;padding:12px 15px;border:1px solid var(--line);border-radius:8px;margin:9px 0;background:white;font-size:15px}.quiz-option:hover{background:var(--soft)}.quiz-option.correct{background:#edf7f0;border-color:#76a187}.quiz-option.wrong{background:#fff4ee;border-color:#bca08d}.quiz-feedback{font-size:15px;margin:13px 0 0;color:var(--teal)}.sources{border-top:1px solid var(--line);padding-top:22px;margin-top:27px}.sources h2{font-size:18px;margin-bottom:11px}.sources ul{list-style:none;padding:0;margin:0}.sources li{margin:9px 0}.sources a{font-size:14px;color:var(--teal);text-decoration:underline;text-underline-offset:3px}.sources .tag{margin-right:8px}.lesson-bottom{margin-top:28px;border-top:1px solid var(--line);padding-top:25px}.lesson-pagination{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.lesson-pagination a{border:1px solid var(--line);border-radius:9px;padding:15px;font-size:14px}.lesson-pagination a:last-child{text-align:right}.lesson-pagination small{display:block;color:var(--muted);margin-bottom:4px}.lesson-sidebar{position:sticky;top:25px;background:white;border:1px solid var(--line);padding:23px;border-radius:12px}.lesson-sidebar h2{font-size:18px;margin:5px 0 15px}.lesson-sidebar .lesson-list{padding:0}.lesson-sidebar .lesson-list .title{font-size:14px}.lesson-sidebar .lesson-list a.current{color:var(--teal);font-weight:650}.sidebar-return{display:block;margin-top:19px;font-size:14px;color:var(--teal)}.about{background:white;border:1px solid var(--line);border-radius:14px;padding:35px;max-width:870px;margin:auto}.about h1{font-size:31px}.about h2{font-size:21px;margin-top:27px}.about a{color:var(--teal);text-decoration:underline}footer{background:white;border-top:1px solid var(--line);padding:25px 0}.footer-inner{display:flex;justify-content:space-between;align-items:start;gap:30px;font-size:13px;color:var(--muted)}.footer-inner strong{display:block;color:var(--ink);font-size:16px}.footer-inner p{margin:5px 0;max-width:700px}.storage-alert{background:#fff7e4;color:#805c23;padding:9px 15px;border-radius:8px;font-size:14px;margin-bottom:20px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;border-radius:10px;box-shadow:0 4px 20px #0002;font-size:14px;z-index:5}.skip{position:absolute;top:-100px;left:15px;background:white;padding:12px;z-index:10}.skip:focus{top:8px}
@media(max-width:960px){.header-progress{display:none}.hero{grid-template-columns:1fr 175px}.book{width:145px;height:200px}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout{grid-template-columns:minmax(0,1fr) 235px;gap:22px}.lesson-body{padding:28px}.lesson-sidebar{padding:18px}}
@media(max-width:720px){.year-grid{grid-template-columns:repeat(2,1fr)}.shell{padding:0 18px}.header-inner{flex-wrap:wrap;gap:0;padding:15px 0 0}.brand{font-size:19px}.top-nav{width:100%;justify-content:space-between;gap:15px}.top-nav a{padding:13px 0;font-size:14px}.hero{padding:25px;grid-template-columns:1fr}.hero-visual{display:none}.hero h1{font-size:29px}.hero p{font-size:15px}.progress-panel{padding:17px;align-items:flex-start;gap:16px}.progress-track{min-width:0}.progress-panel>div{flex:1}.progress-panel .btn{font-size:13px;padding:9px 12px}.section-heading{flex-wrap:wrap;gap:13px}.course-search{max-width:none;width:100%}.course-grid{grid-template-columns:1fr}.chapter-top{padding:21px 20px 13px}.lesson-list{padding:0 20px 13px}.library-controls{grid-template-columns:1fr 1fr;gap:9px}.library-controls .search{grid-column:1/-1}.library-controls input,.library-controls select{font-size:14px}.article-grid{grid-template-columns:1fr}.lesson-layout{grid-template-columns:1fr}.lesson-sidebar{position:static;grid-row:2}.lesson-body{padding:23px 21px}.lesson-header h1{font-size:27px}.lesson-pagination{grid-template-columns:1fr}.lesson-pagination a:last-child{text-align:left}.footer-inner{flex-direction:column;gap:12px}.about{padding:24px}.page-heading h1{font-size:29px}.result-info{flex-wrap:wrap}.chapter-top h3{font-size:19px}.brand small{font-size:12px}}
main:focus{outline:none}
.language-switch{border:1px solid var(--accent);border-radius:8px;background:#fff9ed;padding:8px 12px;font-size:14px;line-height:1.5;white-space:nowrap;min-height:44px}.header-inner{gap:18px;flex-wrap:wrap}.header-progress{white-space:nowrap}.case-study{margin:30px 0;padding:25px;border:1px solid #c9dedd;border-left:5px solid var(--teal);border-radius:12px;background:#f2f9f8}.case-study h2{margin:5px 0 20px;scroll-margin-top:25px}.case-study h3{font-size:16px;margin:22px 0 7px}.case-date{color:var(--muted);font-size:14px!important;margin:5px 0}.case-study .label{color:var(--teal)}.case-reflection{margin-top:24px;border-top:1px solid #c9dedd}.case-reflection summary{cursor:pointer;font-weight:600;color:var(--teal)}.case-reflection details p{margin-top:12px}.case-jump{color:var(--teal);font-weight:600;font-size:15px}.case-source-list{padding-left:22px}.case-source-list li{margin-bottom:18px}.case-source-list a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.case-source-list small{display:block;color:var(--muted)}html[lang="zh-HK"] .hero h1{font-family:"Noto Sans HK","PingFang HK","Microsoft JhengHei",sans-serif;letter-spacing:0}html[lang="zh-HK"] .hero-index p{font-family:inherit;font-style:normal}.case-study,.case-source-list{overflow-wrap:anywhere}@media(max-width:720px){.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;padding-bottom:0}.brand{font-size:17px}.brand small{font-size:10px;letter-spacing:.5px}.brand-mark{width:35px;height:35px;flex-shrink:0}.top-nav{grid-row:2;grid-column:1/-1}.language-switch{grid-row:1;grid-column:2;font-size:12px;padding:7px 9px}.case-study{padding:20px 17px}.case-study h2{font-size:22px}}
@media print{header,footer,.lesson-sidebar,.quiz,.lesson-bottom,.toast{display:none}.lesson-layout{display:block}.lesson-body{border:0;padding:0}.shell{max-width:none}body{background:white}a{text-decoration:underline}.hero{color:black;background:white}}

.hero-index{border-left:1px solid #ffffff35;padding:10px 0 10px 28px}.hero-index p{font:italic 36px Georgia,serif;margin:4px 0;color:#edc775}.hero-index small{display:block;font-size:14px;line-height:1.7;margin-top:15px;color:#cfdae1}.index-label{font-size:12px;letter-spacing:2px}.book{display:none}.hero-index{align-self:center}.brand small,.chapter-number,.chapter-icon{font-size:14px}.chapter-icon{font-family:Georgia,serif}.article-date,.label,.footnote,.lesson-num,.lesson-status,.header-progress,.save-btn{font-size:14px}.lesson-body p,.lesson-body li{font-size:16px}.hero h1{font-family:Georgia,serif;letter-spacing:-.025em}.top-nav{gap:20px}.brand{white-space:normal}.shell{max-width:1240px}.library-controls{grid-template-columns:1fr 220px auto}.article-summary{font-size:16px} @media(max-width:720px){.hero-index{display:none}.library-controls{grid-template-columns:1fr}.top-nav{flex-wrap:wrap}.header-inner{gap:8px}.brand{font-size:18px}.lesson-pagination{grid-template-columns:1fr}.hero p{font-size:16px}.article-grid{grid-template-columns:1fr}}
