*{box-sizing:border-box}body{margin:0;background:#fcf8f1;color:#24584b;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif}header{max-width:850px;margin:auto;padding:25px;display:flex;justify-content:space-between;font-size:14px}a{color:inherit}main{max-width:720px;margin:20px auto;padding:0 24px 60px}.progress{height:4px;border-radius:5px;background:#e1e7df;margin-bottom:30px}#bar{height:100%;background:#b88b47;transition:width .3s}.eyebrow,.tag{font-size:13px;color:#96723a;letter-spacing:.08em}h1{font-size:clamp(30px,5vw,44px);line-height:1.45;letter-spacing:-.03em}h2{font-size:22px;line-height:1.5}p{line-height:1.85;color:#53685f}label{display:block;line-height:1.7;margin:14px 0}select,textarea{width:100%;padding:16px;border:1px solid #b9cdc1;border-radius:14px;background:white;font:inherit;color:#24584b}textarea{height:125px;resize:vertical}fieldset{border:0;padding:15px 0}legend{font-weight:600}.primary{display:block;width:100%;border:0;border-radius:35px;padding:19px;margin-top:28px;background:#24584b;color:white;font:inherit;font-weight:650;text-align:center;text-decoration:none;cursor:pointer}.back{padding:16px;background:transparent;border:0;font:inherit;color:#24584b;cursor:pointer}.topic{display:flex;gap:12px;align-items:center;background:white;padding:18px;border:1px solid #d5ded4;border-radius:16px}.topic:has(input:checked){border:2px solid #24584b;background:#eaf0e8}.summary,.practice,.course{padding:24px;border-radius:22px;margin:24px 0;background:#e9efe7}.course{background:white;border:1px solid #dfceb1}.scope{font-size:13px;color:#93713b}.practice img{max-height:420px;width:100%;object-fit:contain}.week{display:grid;grid-template-columns:75px 1fr;gap:16px;padding:20px 0;border-top:1px solid #d8dfd4}.week span{color:#a07a40;font-size:14px}.week h3{margin:0;font-size:19px}.week p{font-size:14px;margin-bottom:0}.next-note{font-size:14px;text-align:center}#error{color:#a13b32}footer{display:flex;justify-content:center;gap:25px;padding:25px;font-size:14px}section[hidden]{display:none}@media(prefers-reduced-motion:reduce){#bar{transition:none}}/* Warm editorial cards, with clear selected states. */
:root{--ink:#183c35;--sage:#e6ede4;--blue:#dcebf4;--cream:#fffaf0;--gold:#d8ac68}body{background:var(--cream);color:var(--ink)}header{max-width:1040px;padding:28px 36px;border-bottom:1px solid #e8e3d6;align-items:center}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:22px;font-weight:700}.brand img{height:48px;width:48px}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:.05em;margin-top:4px}.return-link{font-size:13px;text-decoration:none;color:#61736a}main{max-width:880px;padding:0 36px 70px;margin-top:40px}h1{font-size:clamp(30px,4.3vw,48px);letter-spacing:-.04em;line-height:1.35;margin:26px 0 18px}h2{font-size:28px;letter-spacing:-.025em}p{color:#4e655d}.progress{background:#e6e8dc;height:5px;margin-bottom:25px}#bar{background:#284e42}.eyebrow{font-size:12px;letter-spacing:.08em;color:#6f7b6c}.tag{display:inline-block;background:#eee4c7;padding:9px 16px;border-radius:30px;color:#5b5a43;font-size:12px;letter-spacing:.03em}#topics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0 15px}.topic{margin:0;position:relative;padding:23px 18px;border-radius:22px;gap:14px;min-height:120px;background:#fffefb;border:1px solid #e2ded2;box-shadow:0 5px 12px #263d2f04;transition:background .18s,box-shadow .18s,transform .18s}.topic:hover{transform:translateY(-2px);box-shadow:0 7px 20px #263d2f0b}.topic input{position:absolute;width:1px;height:1px;opacity:0}.topic:focus-within{outline:3px solid #bca371;outline-offset:3px}.topic-icon{background:#e5eee8;width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;font-size:13px;font-weight:700;letter-spacing:.05em}.topic:nth-child(2) .topic-icon{background:#f7e7df}.topic:nth-child(3) .topic-icon{background:#e5edf4}.topic:nth-child(4) .topic-icon{background:#ece5f2}.topic:nth-child(5) .topic-icon{background:#f3eccf}.topic:nth-child(6) .topic-icon{background:#f0e4e7}.topic-copy strong{display:block;font-size:19px;line-height:1.4}.topic-copy small{display:block;font-size:13px;color:#718078;line-height:1.7;margin-top:7px}.topic-check{display:grid;place-items:center;border:1px solid #ccd5c9;width:23px;height:23px;border-radius:7px;font-size:15px;color:transparent;margin-left:auto;flex-shrink:0}.topic:has(input:checked){border:1px solid #214e40;background:#eaf0e8;box-shadow:inset 0 0 0 1px #214e40}.topic:has(input:checked) .topic-check{background:#24584b;color:white;border-color:#24584b}.selection-note{font-size:13px;margin:16px 3px;color:#698071}.primary{background:#244b3f;padding:20px 28px;box-shadow:0 5px 10px #193c2e0a;font-size:17px;letter-spacing:.02em}.primary:disabled{opacity:.65;cursor:wait}.summary{background:#e6eef2;border:0;border-radius:26px;padding:30px;margin:30px 0}.summary>span{font-size:12px;text-transform:uppercase;letter-spacing:.05em}.summary h2{margin:14px 0;font-size:26px}.section-caption{margin:48px 0 24px}.section-caption h2{margin-top:16px}.course-group{margin:32px 0 44px}.course-group-heading{font-size:15px;letter-spacing:.06em;color:#6b776a;margin-bottom:15px}.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.course{margin:0;padding:28px 25px;border-radius:24px;border:1px solid #e5dfd3;background:white;box-shadow:0 6px 18px #243e2f07;display:flex;flex-direction:column}.course:nth-child(even){background:#f2f6ef}.scope{margin:0 0 18px;display:inline-block;align-self:flex-start;background:#efe9d7;padding:6px 12px;border-radius:20px;font-size:12px;color:#5c634b}.course h3{font-size:23px;line-height:1.5;letter-spacing:-.02em;margin:0 0 16px}.course .excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.8;color:#68766d;font-size:15px;margin:0}.excerpt-end{color:#7a8275;font-size:22px;margin-bottom:18px}.course-footer{border-top:1px solid #e1e6dc;padding-top:17px;margin-top:auto;display:flex;justify-content:space-between;font-size:12px;color:#657760}.practice{background:#dce9e3;border-radius:30px;padding:32px;margin-top:40px}.practice img{max-height:480px;border-radius:24px;margin-top:15px}.plan-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:26px 0}.plan-tabs button{border:1px solid #d4ded3;background:white;color:#4f6557;border-radius:25px;padding:12px 18px;font:inherit;font-size:14px;cursor:pointer}.plan-tabs button.active{background:#254d40;color:white;border-color:#254d40}.week{grid-template-columns:45px 1fr 65px;align-items:center;padding:23px;margin:12px 0;border:1px solid #e1e4d7;border-radius:19px;background:#fffefb}.week-num{font-size:22px!important;color:#b7bba5!important}.week-label{font-size:12px!important}.week h3{font-size:19px}.week p{font-size:13px;color:#7a8375}.back{margin-top:15px;color:#6b796f}select{border-color:#d6ddd0;padding:20px;border-radius:18px}fieldset{margin-top:20px}fieldset label{border:1px solid #e1e5d9;padding:14px 18px;border-radius:15px;background:#fffef9}fieldset input{accent-color:#24584b;margin-right:10px}footer{border-top:1px solid #e3e2d6;background:#f6f3e9}
@media(max-width:650px){header{padding:20px}.brand img{width:40px;height:40px}.brand{font-size:19px}main{padding:0 20px 45px;margin-top:28px}#topics{grid-template-columns:1fr;gap:12px;margin-top:26px}.topic{min-height:105px;padding:21px 18px}.topic-copy strong{font-size:18px}.course-grid{grid-template-columns:1fr}.course{padding:26px}.summary,.practice{padding:25px}.week{grid-template-columns:30px 1fr 55px;gap:12px;padding:18px 15px}.week h3{font-size:17px}.return-link{font-size:12px}}@media(prefers-reduced-motion:reduce){.topic{transition:none}.topic:hover{transform:none}}

.login-options{display:grid;gap:14px;margin:32px 0}.login-options button{width:100%}.line-login{background:#06a64a}.next-note a{color:inherit;text-decoration:underline}#account-status{line-height:1.7}

[hidden]{display:none!important}
