:root{--ink:#243d37;--muted:#6e7e78;--green:#14816b;--green-dark:#116651;--paper:#fafbf7;--line:#e2e8de;--mint:#eaf3e6;--blue:#e9eff8;--yellow:#f3cd68;font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d2a338;outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:46px;line-height:1.4;letter-spacing:-1.5px}h2{font-size:26px;line-height:1.5}h3{font-size:19px}p{line-height:1.9}small{font-size:12px}.header{height:96px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:44px;padding:0 max(32px,calc((100vw - 1240px)/2));background:#fffdf8}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:21px;font-weight:750;letter-spacing:1px}.brand small{display:block;font-weight:400;color:var(--muted);font-size:11px;letter-spacing:3px;margin-top:4px}.brand-icon{display:grid;place-items:center;width:42px;height:46px;background:var(--green);color:white;font-size:26px;border-radius:14px 14px 20px 20px;transform:rotate(-6deg)}nav{display:flex;align-self:stretch;gap:28px;align-items:center;white-space:nowrap;font-size:14px}nav a{height:100%;display:flex;align-items:center;border-bottom:3px solid transparent;padding-top:3px}nav a.active{border-bottom-color:var(--green);color:var(--green);font-weight:650}.header-note{margin-left:auto;font-size:12px;white-space:nowrap;color:var(--muted)}i{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:6px}main{max-width:1240px;min-height:calc(100vh - 185px);margin:0 auto;padding:40px 0 56px}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:600;letter-spacing:2px;color:var(--green);margin-bottom:18px}.tag{display:inline-flex;padding:6px 11px;border-radius:6px;font-size:12px;background:#fff9;color:var(--green);line-height:1.5}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:370px;background:#eaf0e0;border:1px solid #dce5d4;border-radius:26px;overflow:hidden;position:relative}.hero-copy{padding:43px 0 40px 45px;z-index:1}.hero h1{margin-bottom:13px}.hero h1 em{font-style:normal;color:var(--green)}.hero p{color:#65735f;font-size:14px;margin-bottom:23px}.hero-art{position:relative;background:#f8f5eb;border-radius:50% 0 0 0;margin:25px 0 0 12px;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:normal}.hero-art .art-caption{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);padding:9px 18px;border-radius:30px;background:#fffc;font-size:12px;white-space:nowrap}.button{display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:45px;padding:12px 22px;border:1px solid transparent;border-radius:10px;font-size:14px;font-weight:600;background:var(--green);color:#fff}.button:hover{background:var(--green-dark)}.button.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.button.secondary:hover{background:#f0f4eb}.button.text{padding:8px 0;background:none;color:var(--green)}.button-row{display:flex;gap:12px;flex-wrap:wrap}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:34px 0 18px}.section-heading h2{margin:0;font-size:23px}.section-heading span{font-size:13px;color:var(--muted)}.courses{display:grid;grid-template-columns:1fr 1fr;gap:22px}.course-card{border:1px solid var(--line);background:#fff;border-radius:19px;overflow:hidden;display:grid;grid-template-columns:1fr 178px;position:relative;min-height:250px}.course-copy{padding:27px 0 25px 28px;z-index:1}.course-copy h3{font-size:22px;line-height:1.5;margin:13px 0 10px;letter-spacing:-.5px}.course-copy p{font-size:13px;color:var(--muted);max-width:295px;margin-bottom:17px}.course-card .character{align-self:stretch;margin-top:15px}.character{background-size:200% auto;background-position:0% 50%;background-repeat:no-repeat;mix-blend-mode:normal}.character.drug{background-position:100% 50%}.course-card.injury{background:#f0f5e9}.course-card.drug{background:#edf1f8}.course-card.drug .tag{color:#54739b}.course-meta{display:flex;gap:9px;align-items:center;font-size:12px}.course-actions{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:650;color:var(--green)}.course-actions a:hover{text-decoration:underline}.steps{margin-top:25px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:23px 28px;background:#fff;border:1px solid var(--line);border-radius:15px}.step{display:flex;align-items:center;gap:15px}.step b{color:var(--green);border:1px solid var(--line);width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-size:14px}.step strong{font-size:14px}.step p{font-size:12px;color:var(--muted);margin:4px 0 0}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:20px}.page-title h1{font-size:30px;letter-spacing:-.6px;margin:0 0 7px}.page-title p{font-size:13px;color:var(--muted);margin:0}.switcher{display:flex;background:#edf1e9;padding:5px;border-radius:12px;gap:4px}.switcher button{border:0;background:transparent;padding:11px 16px;border-radius:8px;font-size:13px;white-space:nowrap}.switcher button.selected{background:white;box-shadow:0 2px 7px #29452a0a;color:var(--green);font-weight:650}.workspace{display:grid;grid-template-columns:270px 1fr;gap:24px;align-items:start}.mentor-panel{background:var(--mint);border-radius:20px;padding:22px;border:1px solid #dce6d7}.mentor-panel.blue{background:var(--blue);border-color:#dce4ef}.mentor-panel .character{height:215px;width:100%;background-size:200% auto;margin:-6px 0 10px}.mentor-name{text-align:center;margin-bottom:6px}.mentor-name h2{font-size:23px;margin-bottom:5px}.mentor-name p{font-size:12px;color:var(--muted);margin-bottom:16px}.mentor-panel .tag{background:#fff9}.topic-list{border-top:1px solid #d1ddc9;padding-top:17px;margin-top:17px}.topic-list strong{font-size:12px;font-weight:600}.topic-list div{font-size:13px;color:#61735e;margin-top:14px;display:flex;gap:10px}.topic-list div span{color:#89a384;font-size:11px}.note{font-size:12px;line-height:1.8;color:var(--muted);margin:20px 3px 0}.chat-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;min-height:625px}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 25px;border-bottom:1px solid var(--line);font-size:14px}.chat-header small{color:var(--muted);display:block;margin-top:5px}.plain{border:0;background:none;font-size:12px;color:var(--muted);padding:8px}.plain:hover{color:var(--green)}.messages{padding:27px 25px;overflow:auto;height:350px;flex:1;min-height:300px;max-height:520px;scroll-behavior:smooth}.message{display:flex;gap:10px;margin-bottom:23px}.avatar{width:34px;height:34px;border-radius:12px;background:var(--mint);flex-shrink:0;display:grid;place-items:center;font-size:14px;color:var(--green);font-weight:600}.message.user{justify-content:flex-end}.message.user .bubble{background:#eaf3e8;color:#244e3a}.bubble{padding:15px 19px;background:#f5f6f1;border-radius:2px 15px 15px;max-width:85%;font-size:14px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere}.message.user .bubble{border-radius:15px 2px 15px 15px}.suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:0 25px 18px}.suggestion{padding:9px 12px;border:1px solid var(--line);background:white;border-radius:9px;text-align:left;font-size:12px;line-height:1.6}.suggestion:hover{border-color:var(--green);color:var(--green)}.composer{border-top:1px solid var(--line);padding:17px 22px 14px}.input-row{display:flex;gap:12px;align-items:flex-end}.composer textarea{border:0;resize:none;min-height:54px;max-height:120px;flex:1;min-width:0;line-height:1.7;padding:7px 0;font-size:14px;color:var(--ink);background:transparent}.composer textarea:focus{outline:0}.composer:focus-within{box-shadow:none}.composer-bottom{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:10px;gap:10px}.error{color:#ad4537;background:#fcf0e9;padding:12px 16px;margin:0 24px 15px;border-radius:8px;font-size:13px;line-height:1.7}.hidden{display:none!important}.quiz-intro{display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden}.quiz-intro-copy{padding:45px}.quiz-intro h2{font-size:32px}.quiz-intro .character{height:395px;background-color:#f1f5e9;background-size:200% auto}.quiz-features{display:flex;gap:28px;margin:25px 0;font-size:12px;color:var(--muted)}.quiz-features b{font-size:25px;display:block;color:var(--green);margin-bottom:7px}.quiz-layout{display:grid;grid-template-columns:1fr 240px;gap:24px;align-items:start}.question-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;min-height:470px}.question-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;font-size:12px;color:var(--muted)}.progress-track{height:5px;background:#eef0e8;border-radius:5px;margin-bottom:27px;overflow:hidden}.progress-fill{height:100%;background:var(--green);transition:width .2s}.question-card h2{font-size:24px;font-weight:650;line-height:1.8;margin-bottom:20px}.question-kind{font-size:12px;color:var(--green);margin-bottom:14px}.options{display:flex;flex-direction:column;gap:12px}.option{width:100%;display:flex;align-items:center;text-align:left;gap:14px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:12px;line-height:1.7;font-size:15px}.option:hover{border-color:#87ae91;background:#fafcf7}.option.chosen{background:#edf6ec;border-color:var(--green);color:var(--green-dark)}.option-marker{border:1px solid #d4ddcf;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:12px}.chosen .option-marker{background:var(--green);color:white;border-color:var(--green)}.question-controls{display:flex;justify-content:space-between;align-items:center;margin-top:35px;gap:12px}.question-controls span{font-size:12px;color:var(--muted)}.answer-nav{padding:23px;background:#f0f3e9;border:1px solid var(--line);border-radius:17px}.answer-nav h3{font-size:15px;margin-bottom:6px}.answer-nav p{font-size:12px;color:var(--muted);line-height:1.8}.number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}.number-grid button{border:1px solid #d5ddcf;background:white;aspect-ratio:1;border-radius:7px;font-size:12px}.number-grid button.done{background:#d5e7d4;border-color:#bad2b8;color:#315d38}.number-grid button.current{background:var(--green);border-color:var(--green);color:white}.answer-nav .button{width:100%;margin-top:6px}.open-answer{width:100%;border:1px solid var(--line);border-radius:12px;padding:17px;resize:vertical;min-height:155px;background:#fbfcf8;font-size:15px;line-height:1.9}.hint{font-size:12px;color:var(--muted);line-height:1.9;margin:14px 0}.order-list{display:flex;flex-direction:column;gap:10px}.order-item{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:10px;padding:11px 15px;font-size:14px}.order-item span:first-child{color:var(--green);font-weight:650}.order-item strong{flex:1;font-weight:500}.order-item button{border:1px solid var(--line);border-radius:6px;background:white;padding:5px 9px}.result-hero{display:flex;align-items:center;gap:35px;background:#edf3e7;padding:30px 40px;border-radius:20px;margin-bottom:24px}.score{width:115px;height:115px;flex-shrink:0;border:7px solid #cdddbe;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:38px;color:var(--green);font-weight:700}.score small{font-size:12px;font-weight:400}.result-hero h2{margin-bottom:8px}.result-hero p{margin:0;font-size:13px;color:var(--muted)}.review{background:white;border:1px solid var(--line);border-radius:13px;margin-bottom:12px;padding:21px 24px}.review h3{font-size:15px;line-height:1.8;margin:10px 0}.review p{font-size:13px;line-height:1.85;margin:8px 0;color:#627067;white-space:pre-wrap}.status{font-size:12px;color:var(--green)}.status.wrong{color:#b55e41}.studio-layout{display:grid;grid-template-columns:340px 1fr;gap:24px}.stage{background:#eef3e8;border:1px solid var(--line);border-radius:20px;padding:20px;text-align:center}.stage .character{height:340px;background-size:200% auto}.stage video{width:100%;border-radius:12px}.stage p{font-size:12px;color:var(--muted)}.clip-list{display:flex;flex-direction:column;gap:12px}.clip{background:#fff;border:1px solid var(--line);padding:22px;border-radius:13px}.clip h3{font-size:15px;margin-bottom:12px}.clip p{font-size:14px;line-height:2;color:#506158}.clip-meta{font-size:11px;color:var(--muted);margin-bottom:10px}.clip .button{padding:8px 14px;min-height:35px;font-size:12px}.notice{padding:17px 21px;border:1px solid #e8dab4;background:#fcf6e7;border-radius:12px;font-size:13px;line-height:1.9;margin-bottom:22px}.notice p{margin:0}.code-input{width:130px;border:1px solid var(--line);padding:6px 9px;border-radius:6px;font-size:12px}.loading{padding:100px;text-align:center;color:var(--muted)}footer{max-width:1240px;margin:0 auto;padding:23px 0;border-top:1px solid var(--line);color:#859080;display:flex;justify-content:space-between;font-size:11px;line-height:1.8}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#243d37;color:white;border-radius:12px;padding:13px 22px;z-index:10;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90%;text-align:center}#toast.visible{opacity:1}.skip{position:fixed;top:-60px;left:20px;background:white;padding:12px;z-index:99}.skip:focus{top:10px}dialog{max-width:440px;width:90%;border:1px solid var(--line);border-radius:20px;padding:28px;color:var(--ink);box-shadow:0 20px 80px #16302133}dialog::backdrop{background:#20332b55}dialog h2{font-size:22px}dialog p{font-size:14px;color:var(--muted)}@media(min-width:1500px){.hero{min-height:400px}.hero-copy{padding-top:48px}}@media(max-width:1320px){main,footer{margin-left:32px;margin-right:32px}.header{padding:0 32px;gap:30px}.header-note{display:none}nav{margin-left:auto}}@media(max-width:1000px){.header{height:85px;gap:20px}.brand{font-size:18px}nav{gap:18px;font-size:12px}h1{font-size:37px}.hero-copy{padding:35px 0 35px 30px}.hero p{font-size:13px}.hero{min-height:330px}.course-card{grid-template-columns:1fr 125px}.course-copy{padding:23px 0 23px 22px}.course-copy h3{font-size:19px}.course-copy p{font-size:12px}.workspace{grid-template-columns:230px 1fr;gap:18px}.mentor-panel{padding:18px}.mentor-panel .character{height:190px}.studio-layout{grid-template-columns:280px 1fr}.stage .character{height:290px}.quiz-layout{grid-template-columns:1fr 200px}.answer-nav{padding:17px}.number-grid{gap:5px}.steps{padding:20px;gap:14px}.step{gap:10px}.step p{font-size:11px}.step strong{font-size:12px}}@media(max-width:720px){.header{height:auto;min-height:116px;display:block;padding:17px 20px 0}.brand{font-size:18px;gap:9px}.brand-icon{width:32px;height:35px;font-size:23px;border-radius:10px 10px 15px 15px}.brand small{font-size:9px;letter-spacing:2px}nav{height:46px;gap:0;justify-content:space-between;font-size:11px;margin:8px 0 0}.header nav a{padding-top:0}main{padding:24px 0 32px;margin:0 18px}footer{margin:0 18px;padding:20px 0;display:block;font-size:10px}footer span{display:block;margin-top:5px}.hero{display:flex;flex-direction:column;border-radius:20px}.hero-copy{padding:27px 25px 5px}.hero h1{font-size:clamp(23px,6.7vw,35px);line-height:1.5;letter-spacing:-1px}.eyebrow{font-size:10px;margin-bottom:13px}.hero p{font-size:12px;margin-bottom:17px}.hero-art{height:235px;margin:15px 15px 0;border-radius:100px 100px 0 0}.hero-art img{object-fit:contain}.hero-art .art-caption{bottom:13px;font-size:10px}.button{font-size:13px;padding:10px 16px;min-height:42px}.section-heading{margin:26px 0 15px;gap:10px}.section-heading h2{font-size:20px}.section-heading span{font-size:10px}.courses{grid-template-columns:1fr;gap:15px}.course-card{grid-template-columns:1fr 135px;min-height:230px}.course-copy{padding:23px 0 23px 21px}.course-copy h3{font-size:20px}.course-copy p{max-width:230px}.steps{grid-template-columns:1fr;gap:17px;padding:20px}.step strong{font-size:13px}.step p{font-size:11px}.page-title{display:block;margin-bottom:20px}.page-title h1{font-size:26px}.page-title p{font-size:12px}.switcher{margin-top:17px;width:100%}.switcher button{flex:1;font-size:12px;padding:11px 9px}.workspace{grid-template-columns:1fr;gap:15px}.mentor-panel{display:none}.chat-card{min-height:620px;border-radius:16px}.chat-header{padding:16px}.chat-header small{font-size:10px}.messages{padding:20px 16px;min-height:270px;max-height:430px}.bubble{max-width:88%;font-size:14px;padding:13px 14px}.avatar{width:28px;height:28px;font-size:12px}.suggestions{padding:0 16px 16px;gap:7px}.suggestion{font-size:11px;padding:8px 9px}.composer{padding:14px 16px}.composer-bottom{font-size:10px;align-items:center}.quiz-intro{grid-template-columns:1fr}.quiz-intro-copy{padding:28px}.quiz-intro h2{font-size:28px}.quiz-intro .character{height:220px;background-size:auto 360px;background-position:32% 50%}.quiz-intro .character.drug{background-position:68% 50%}.quiz-features{gap:23px}.quiz-layout{grid-template-columns:1fr;gap:15px}.question-card{padding:23px 19px;min-height:410px}.question-card h2{font-size:20px}.option{padding:13px;font-size:14px;gap:10px}.answer-nav{padding:19px}.number-grid{grid-template-columns:repeat(8,1fr);gap:8px}.question-controls{gap:8px}.question-controls .button{padding:10px 13px;font-size:12px}.question-controls span{font-size:10px}.result-hero{padding:24px 20px;gap:19px}.score{width:88px;height:88px;font-size:29px;border-width:5px}.result-hero h2{font-size:21px}.result-hero p{font-size:11px}.studio-layout{grid-template-columns:1fr}.stage .character{height:240px;width:250px;margin:auto}.clip{padding:20px}.clip p{font-size:13px}.notice{font-size:12px}.error{margin:0 16px 15px}.page-title .button-row{margin-top:17px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}@media print{.header,footer,.button,.answer-nav,.switcher,#toast,.page-title p{display:none!important}body{background:white}main{padding:0;margin:0;max-width:none}.review{break-inside:avoid}.result-hero{background:white;border:1px solid #ccc}.page-title h1{font-size:22px}}

/* 独立角色素材：每个主题只加载自己的单人图。 */
.character{background-size:contain;background-position:center!important;mix-blend-mode:normal}
.character.drug{background-size:contain}
.mentor-panel .character,.stage .character,.quiz-intro .character{background-size:contain}
.hero-art{display:flex;align-items:center;justify-content:center;padding:13px 16px 30px;gap:0}
.hero-art img{width:50%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:normal}
@media(max-width:1000px){.mentor-panel .character{height:220px}}
@media(max-width:720px){.hero-art{height:250px;padding:8px 10px 24px}.hero-art img{width:50%;height:100%;object-fit:contain}.quiz-intro .character{background-size:contain;background-position:center!important}.course-card .character{margin:12px 5px 12px 0}}

.avatar{background-size:210% auto;background-position:50% 8%;background-repeat:no-repeat;overflow:hidden;background-color:#faf5e9}
.avatar.drug{}

/* Remix Icon 4.9.1，本地 SVG sprite，不依赖外部字体或CDN。 */
.icon{display:inline-block;width:1.15em;height:1.15em;fill:currentColor;vertical-align:-.17em;flex-shrink:0}
nav a{gap:7px}.brand-icon .icon{width:25px;height:25px}.brand-icon{transform:none}
.course-actions a,.suggestion{display:inline-flex;align-items:center;gap:5px}.suggestion{justify-content:space-between}
.status .icon{margin-right:3px}.option-marker .icon{width:17px;height:17px}
.order-item button{display:grid;place-items:center;min-height:31px;min-width:31px}
.chat-identity{display:flex;align-items:center;gap:11px}.mentor-thumb{width:42px;height:42px;object-fit:cover;border:2px solid #fff;border-radius:14px;box-shadow:0 1px 5px #23392c12}
.avatar{background-size:cover;background-position:center;border-radius:12px;width:38px;height:38px;box-shadow:0 1px 3px #243d3712}
.avatar.drug{}
@media(max-width:720px){nav a{gap:4px}nav .icon{width:13px;height:13px}.chat-header{padding:14px 13px}.mentor-thumb{width:36px;height:36px;border-radius:12px}.chat-identity{gap:8px}.chat-header strong{font-size:12px}.chat-header small{font-size:9px}.chat-header .plain{font-size:10px}.avatar{width:33px;height:33px;border-radius:11px}.bubble{max-width:85%}.course-actions{gap:12px}.brand-icon .icon{width:23px;height:23px}}
@media(max-width:720px){.workspace>aside{order:2}.workspace>.chat-card{order:1}.chat-card{min-height:0}.messages{min-height:245px;height:280px;max-height:360px;flex:initial}.workspace>aside .note{margin:0 3px 5px}.chat-card .suggestions{padding-bottom:14px}.page-title .switcher{margin-top:15px}}

/* 透明角色素材：各页面使用独立动作，图像保留完整透明通道。 */
.character{display:block;background:none!important;mix-blend-mode:normal;object-fit:contain;object-position:center;max-width:100%;height:auto;padding:0;filter:none;mask:none;clip-path:none;opacity:1}
.hero{grid-template-columns:1fr 1.05fr;min-height:420px;background:#eaf1e2;overflow:hidden}
.hero-copy{padding:42px 0 38px 44px}
.hero-art{display:flex;align-items:center;justify-content:center;align-self:stretch;margin:0;padding:12px 12px 38px;background:none;border-radius:0;overflow:visible;min-width:0}
.hero-art img.hero-team{width:100%;height:365px;max-height:none;object-fit:contain;mix-blend-mode:normal}
.hero-art .art-caption{bottom:20px;background:none;padding:0;font-size:12px;letter-spacing:.5px;color:#64785b}
.course-card{grid-template-columns:minmax(0,1fr) 190px;min-height:270px}
.course-card .character{height:250px;width:190px;margin:12px 4px 0 -4px;align-self:end;object-position:center bottom}
.course-copy{padding-top:28px;padding-bottom:27px}.course-copy h3{font-size:21px}
.workspace{grid-template-columns:300px minmax(0,1fr);gap:26px}
.mentor-panel{padding:20px 20px 23px;background:#eaf3e6;border-radius:22px;overflow:visible}
.mentor-panel.blue{background:#e9eff8}
.mentor-panel .character{width:280px;max-width:calc(100% + 24px);height:300px;margin:-5px -12px 8px;object-fit:contain;object-position:center bottom}
.mentor-name h2{font-size:25px}.mentor-name p{font-size:13px}.topic-list{margin-top:20px;padding-top:18px}
.page-title{margin-bottom:28px}.page-title h1{font-size:31px}.page-title p{margin-top:9px}
.chat-card{min-width:0;min-height:690px}
.chat-header{padding:16px 23px;min-height:96px}.chat-identity{gap:14px;min-width:0}.chat-header strong{font-size:15px}.chat-header small{font-size:11px;line-height:1.7}
.mentor-thumb{width:66px;height:66px;object-fit:contain;border:0;border-radius:0;box-shadow:none;background:none;flex-shrink:0}
.messages{padding:26px 23px;min-height:310px;max-height:500px}.message{gap:14px;margin-bottom:25px;align-items:flex-start}
.avatar{width:62px;height:62px;flex:0 0 62px;border:0;border-radius:0;box-shadow:none;background-color:transparent;background-image:url('/assets/characters-v2/avatar-doctor-v2.png');background-size:contain;background-repeat:no-repeat;background-position:center;overflow:visible;filter:none;mask:none}
.avatar.drug{background-image:url('/assets/characters-v2/avatar-officer-v2.png')}
.bubble{max-width:calc(100% - 78px);padding:15px 19px;border-radius:3px 16px 16px;font-size:15px;line-height:1.95;margin-top:4px}.message.user .bubble{max-width:85%}
.quiz-intro{grid-template-columns:1.1fr .9fr;background:#f3f7ed;min-height:420px}.quiz-intro-copy{padding:42px}.quiz-intro>.character{width:100%;height:410px;align-self:end;padding:16px 16px 0;background:none!important;object-position:center bottom}
.answer-nav .quiz-coach{width:135px;height:145px;margin:-8px auto 12px;object-position:center bottom}
.stage{background:#f1f5ec;padding:20px 22px 25px}.stage .character{height:365px;width:100%;object-position:center bottom;margin:-4px 0 12px}.stage h2{margin-bottom:8px}
@media(max-width:1100px){.course-card{grid-template-columns:minmax(0,1fr) 150px}.course-card .character{width:155px;height:240px}.course-copy h3{font-size:19px}.course-actions{gap:10px;font-size:12px}.workspace{grid-template-columns:260px minmax(0,1fr);gap:20px}.mentor-panel{padding:17px}.mentor-panel .character{height:280px}.hero-copy{padding-left:30px}.hero-art img.hero-team{height:350px}.bubble{font-size:14px}.chat-header{padding:15px 18px}.messages{padding-left:18px;padding-right:18px}}
@media(max-width:900px) and (min-width:721px){.header{padding-left:25px;padding-right:25px}.brand{font-size:17px}.header nav{gap:14px;font-size:11px}nav a{gap:4px}.hero{grid-template-columns:1fr .95fr;min-height:350px}.hero h1{font-size:32px}.hero-art img.hero-team{height:290px}.hero-copy{padding-top:30px;padding-bottom:32px}.hero-copy .button-row{gap:8px}.hero-copy .button{padding:10px 13px;font-size:12px}.hero-art .art-caption{font-size:10px}.course-card{grid-template-columns:minmax(0,1fr) 120px}.course-card .character{width:125px;height:220px;margin-right:0}.course-copy{padding-left:19px}.course-copy h3{font-size:17px}.course-copy p{font-size:11px}.course-actions{flex-wrap:wrap;gap:8px}.workspace{grid-template-columns:225px minmax(0,1fr);gap:16px}.mentor-panel .character{height:265px}.avatar{width:52px;height:52px;flex-basis:52px}.message{gap:10px}.bubble{max-width:calc(100% - 62px);padding:12px 14px}.chat-identity{gap:9px}.mentor-thumb{width:54px;height:54px}.chat-header strong{font-size:12px}.chat-header small{font-size:9px}.chat-header .plain{font-size:10px;padding:5px}.chat-header{padding-left:13px;padding-right:13px}.quiz-intro-copy{padding:30px}.quiz-intro>.character{height:370px}}
@media(max-width:720px){.header nav{font-size:10px}nav a{gap:3px}.hero{display:flex;min-height:0}.hero-copy{padding:27px 25px 0}.hero-art{width:100%;height:280px;padding:3px 10px 30px;margin:10px 0 0}.hero-art img.hero-team{width:100%;height:252px}.hero-art .art-caption{bottom:9px;font-size:10px}.hero h1{font-size:clamp(23px,6.7vw,35px)}.courses{gap:17px}.course-card{grid-template-columns:minmax(0,1fr) 140px;min-height:245px}.course-card .character{width:145px;height:235px;margin:7px -2px 0 -4px}.course-copy{padding:24px 0 24px 20px}.course-copy h3{font-size:19px}.course-copy p{font-size:12px}.course-actions{display:flex;flex-wrap:wrap;gap:10px;font-size:12px}.page-title{margin-bottom:20px}.page-title h1{font-size:25px;line-height:1.5}.page-title p{font-size:12px}.workspace{grid-template-columns:1fr;gap:15px}.mentor-panel{display:none}.workspace>aside{order:2}.workspace>.chat-card{order:1}.chat-card{min-height:0}.chat-header{padding:13px 12px;min-height:84px}.chat-identity{gap:8px}.mentor-thumb{width:55px;height:55px}.chat-header strong{font-size:12px}.chat-header small{font-size:9px}.chat-header .plain{font-size:10px;padding:5px}.messages{padding:20px 13px;min-height:260px;height:315px;max-height:400px}.avatar{width:48px;height:48px;flex-basis:48px}.message{gap:9px;margin-bottom:22px}.bubble{font-size:14px;max-width:calc(100% - 57px);padding:12px 14px;line-height:1.9}.message.user .bubble{max-width:87%}.suggestions{padding-left:15px;padding-right:15px}.quiz-intro{grid-template-columns:1fr;min-height:0}.quiz-intro-copy{padding:28px 26px 9px}.quiz-intro>.character{height:265px;width:100%;padding:0 26px}.answer-nav .quiz-coach{display:none}.stage .character{width:100%;height:315px;margin:0 0 9px}.stage{padding:18px 22px 23px}}
@media(max-width:370px){.course-card{grid-template-columns:minmax(0,1fr) 115px}.course-card .character{width:123px;height:224px}.course-copy{padding-left:18px}.course-copy h3{font-size:17px}.course-copy p{font-size:11px}.avatar{width:44px;height:44px;flex-basis:44px}.bubble{max-width:calc(100% - 53px)}.mentor-thumb{width:50px;height:50px}.chat-header strong{font-size:11px}.chat-header small{font-size:8px}.chat-header .plain{font-size:9px}.header nav{font-size:9px}}
@media(max-width:720px){.hero-copy .button-row{gap:8px}.hero-copy .button{font-size:12px;padding:11px 13px;white-space:nowrap}.section-heading{display:block}.section-heading span{display:block;margin-top:6px}}
/* 课堂重点与细节层次：清楚、克制，交互以整块边框反馈。 */
:root{--soft-shadow:0 8px 28px rgba(36,61,55,.045);--card-shadow:0 2px 7px rgba(36,61,55,.035)}
.header{height:86px;background:#fffefb;border-bottom-color:#e7eae0;box-shadow:0 2px 14px #263c2603}
.header nav{align-items:center;gap:8px}.header nav a{height:42px;padding:10px 15px;border:0;border-radius:12px;transition:background .18s,color .18s}
.header nav a:hover{background:#f1f5ec}.header nav a.active{border:0;background:#e8f1e3;color:#176f59;box-shadow:inset 0 0 0 1px #dce8d7;text-decoration:none}
.hero{box-shadow:0 10px 32px #32442d06;border-color:#dce5d4}.hero-copy .eyebrow{font-size:11px;letter-spacing:1px}
.course-card{box-shadow:var(--soft-shadow);border-color:#dfe7d8;transition:box-shadow .2s,transform .2s}.course-card.drug{border-color:#dbe4f0}
.course-meta .tag{box-shadow:0 1px 3px #243d3705;border:1px solid #ffffffb3;font-weight:550}.course-meta>span:last-child{color:#8b9c83;font-variant-numeric:tabular-nums}
.course-actions a{min-height:33px;padding:0 3px;transition:color .18s}.course-actions a:hover{text-decoration:none;color:#0d5746}
.button{box-shadow:0 3px 8px #176c5714;transition:background .18s,box-shadow .18s,transform .18s}.button.secondary{box-shadow:0 2px 5px #243d3704}
.button:active{transform:translateY(1px);box-shadow:none}.steps{box-shadow:var(--card-shadow);background:#fffefb}.step b{background:#f4f7ed;border-color:#e3e9dc}
.switcher{border:1px solid #e2e7dc;background:#eef2e9;gap:5px}.switcher button{transition:background .18s,color .18s,box-shadow .18s}.switcher button.selected{box-shadow:0 2px 6px #243d370c,inset 0 0 0 1px #e2e8dd}
.learning-sidebar{display:flex;flex-direction:column;gap:16px;min-width:0}.mentor-panel{box-shadow:var(--card-shadow);padding:15px 20px 19px;background:linear-gradient(155deg,#edf5e8,#e7f0e1);border-color:#dce7d4}
.mentor-panel.blue{background:linear-gradient(155deg,#edf2fb,#e7eef8);border-color:#dbe5f2}.mentor-panel .character{height:215px;margin:-3px -12px 4px}
.mentor-name{margin-bottom:0}.mentor-name h2{font-size:23px;margin-bottom:5px;letter-spacing:.5px}.mentor-name p{margin-bottom:12px;font-size:12px}.mentor-panel .tag{border:1px solid #ffffffb3;background:#ffffffa3;font-size:11px}
.learning-focus{--focus-ink:#176f59;--focus-soft:#eef5e9;--focus-border:#dce8d3;border:1px solid var(--focus-border);border-radius:18px;padding:18px 16px 14px;background:#fffefa;box-shadow:0 6px 22px #3f56230a}
.learning-focus.drug{--focus-ink:#3f638d;--focus-soft:#edf2f9;--focus-border:#dbe5f2;background:#fdfefe;box-shadow:0 6px 22px #294a7109}
.focus-heading{display:flex;align-items:center;gap:10px;margin-bottom:16px}.focus-heading-icon{height:36px;width:36px;display:grid;place-items:center;border-radius:12px;background:var(--focus-soft);color:var(--focus-ink);flex-shrink:0}.focus-heading-icon .icon{width:20px;height:20px}
.focus-heading h3{font-size:17px;line-height:1.5;margin:0;font-weight:700;letter-spacing:.3px}.focus-heading p{font-size:10px;margin:3px 0 0;color:#859080;line-height:1.5}
.focus-cards{display:flex;flex-direction:column;gap:9px}.focus-card{display:flex;gap:10px;align-items:flex-start;width:100%;padding:12px 10px;border:1px solid #e4eade;border-radius:12px;background:#f8faf5;text-align:left;transition:background .18s,border-color .18s,box-shadow .18s}
.drug .focus-card{border-color:#e3e9f1;background:#f6f8fc}.focus-number{display:grid;place-items:center;width:27px;height:27px;margin-top:1px;border-radius:9px;border:1px solid var(--focus-border);background:#fff;color:var(--focus-ink);font-size:11px;font-weight:650;flex-shrink:0;font-variant-numeric:tabular-nums}
.focus-copy{display:block;min-width:0;flex:1}.focus-copy strong{display:block;font-size:14px;font-weight:650;line-height:1.65}.focus-copy small{display:block;font-size:11px;line-height:1.75;color:#75816f;margin-top:3px}.drug .focus-copy small{color:#758291}
.focus-arrow{color:#93a58b;padding-top:3px;font-size:13px}.drug .focus-arrow{color:#90a3bb}.focus-card:hover,.focus-card.selected{border-color:var(--focus-ink);background:var(--focus-soft);box-shadow:0 2px 6px #354b3006}.focus-card.selected .focus-number{color:#fff;background:var(--focus-ink);border-color:var(--focus-ink)}
.focus-footnote{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;line-height:1.8;margin:12px 0 0;color:#87917e}.focus-takeaway{font-size:12px;line-height:1.85;color:var(--focus-ink);padding:11px 12px;background:var(--focus-soft);border-radius:10px;margin:12px 0 0;border:1px solid var(--focus-border)}
.learning-sidebar>.note{margin:0 4px;line-height:1.9;font-size:11px}.mobile-learning{display:none}
.chat-card{min-height:760px;box-shadow:0 8px 34px #2b45310a;border-color:#dce5d7;background:#fff}
.chat-header{background:linear-gradient(100deg,#fffefb,#f8faf5);border-bottom:1px solid #e8ede3}.chat-header strong{letter-spacing:.3px}.chat-header small{color:#88927f;margin-top:6px}.chat-header .plain{border:1px solid #e5eadf;border-radius:9px;background:#ffffff9c;color:#7b8774;padding:8px 10px}.chat-header .plain:hover{background:#edf4e7;border-color:#cdddbe;color:#28664d}
.messages{background:linear-gradient(180deg,#fafcf7 0%,#fff 35%);padding-top:25px}.message{align-items:flex-start;gap:12px}.message-body{max-width:calc(100% - 76px);min-width:0}.message-author{display:block;color:#86917d;font-size:11px;line-height:1.5;margin:0 0 7px 3px}.message .bubble{max-width:100%;width:fit-content;margin-top:0;background:#fff;border:1px solid #e5eadd;border-radius:3px 15px 15px 15px;box-shadow:0 2px 6px #30462a06;line-height:1.95;color:#34483b}
.message.user .message-body{max-width:85%}.message.user .message-author{text-align:right;margin-right:3px}.message.user .bubble{max-width:100%;background:#edf5e7;border-color:#dce9d3;border-radius:15px 3px 15px 15px;color:#2a503c;box-shadow:none}
.suggestions{gap:9px;padding-top:7px;padding-bottom:19px}.suggestion{border-radius:10px;border-color:#e1e8da;background:#fffefb;min-height:37px;padding:8px 10px;color:#53684d;box-shadow:0 1px 3px #30462a04;transition:background .18s,border-color .18s}.suggestion .icon{background:#eef4e8;border-radius:5px;padding:3px;width:20px;height:20px;color:#6b8762}.suggestion:hover{background:#f5f9ef;border-color:#b4cba5}
.composer{padding:17px 22px 14px;border-top-color:#e9ede3;background:#fcfdf9;box-shadow:none!important}
.composer-label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;margin:0 0 11px 2px;color:#5e7455}.composer-label small{font-size:10px;color:#9aa48f;font-weight:400}
.input-row{padding:10px 11px 10px 15px;border:1px solid #dfe6d7;background:#fff;border-radius:13px;box-shadow:inset 0 1px 3px #374b2703;transition:box-shadow .18s,border-color .18s}
.input-row:focus-within{border-color:#95b583;box-shadow:0 0 0 3px #edf4e7}.composer textarea{font-size:14px;min-height:59px;padding:4px 0}.composer textarea::placeholder{color:#a2aa9a}.input-row .button{min-height:42px;padding:10px 19px;border-radius:10px;flex-shrink:0}.composer-bottom{margin-top:10px;color:#98a28c;font-size:10px}
.typing-bubble{display:flex;align-items:center;gap:10px;font-size:13px;color:#87947c!important}.typing-dots{display:inline-flex;gap:4px}.typing-dots span{width:4px;height:4px;border-radius:50%;background:#91ad83;animation:thought 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes thought{0%,80%,100%{opacity:.35}40%{opacity:1}}
.question-card,.review,.clip{box-shadow:var(--soft-shadow);border-color:#e1e7da}.question-top{font-variant-numeric:tabular-nums}.question-kind{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:#f1f6eb;border-radius:7px;font-size:11px}
.option{transition:border-color .18s,background .18s,box-shadow .18s}.option.chosen{border-color:#77a568;background:#f0f7e9;box-shadow:0 0 0 2px #e9f1e2}.option-marker{background:#fafcf7}.progress-track{background:#edf2e5}.progress-fill{background:linear-gradient(90deg,#92b67d,#348466)}
.answer-nav{background:#f3f6ec;box-shadow:var(--card-shadow)}.number-grid button{transition:background .18s,box-shadow .18s}.number-grid button.current{box-shadow:0 2px 6px #28644d20}.quiz-intro{box-shadow:var(--soft-shadow);border-color:#e0e7d7}.result-hero{border:1px solid #dce6d1;box-shadow:var(--card-shadow)}
.stage{box-shadow:var(--soft-shadow);border-color:#dee7d5}.clip-meta{color:#90a081;letter-spacing:.3px}.clip h3{border-left:3px solid #b9d0aa;padding-left:11px}.clip .tag{border:1px solid #e6eddc;background:#f4f8ed;font-size:10px}.notice{box-shadow:0 2px 6px #7a633305;border-color:#ebdfbe}.review .status{display:inline-flex;align-items:center;border-radius:6px;background:#f0f6e9;padding:4px 8px;font-size:10px}.review .status.wrong{background:#fcf1e8}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.course-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #30462a0b}.button:hover{box-shadow:0 4px 10px #176c571c}}
@media(max-width:1100px){.header nav a{padding:10px 11px}.header nav{gap:4px}.learning-focus{padding:17px 13px 13px}.focus-card{padding:11px 9px;gap:8px}.focus-copy strong{font-size:13px}.focus-copy small{font-size:10px}.mentor-panel .character{height:205px}.mentor-panel{padding-left:17px;padding-right:17px}.focus-number{width:25px;height:25px;font-size:10px}.chat-card{min-height:740px}}
@media(max-width:900px) and (min-width:721px){.header nav a{padding:9px 8px;height:39px;font-size:10px}.header nav{gap:2px}.learning-focus{padding:16px 11px 12px}.focus-heading{gap:7px}.focus-heading h3{font-size:15px}.focus-heading p{font-size:9px}.focus-heading-icon{width:30px;height:30px;border-radius:10px}.focus-heading-icon .icon{width:17px;height:17px}.focus-arrow{display:none}.focus-card{padding:10px 8px;gap:8px}.focus-copy strong{font-size:12px}.focus-copy small{font-size:10px;line-height:1.7}.focus-number{width:23px;height:23px;border-radius:7px;font-size:9px}.focus-footnote{font-size:9px}.mentor-panel .character{height:200px}.message-body{max-width:calc(100% - 64px)}.chat-card{min-height:760px}.input-row{padding:9px 9px 9px 12px;gap:8px}.input-row .button{padding:10px 12px;font-size:12px}}
@media(max-width:720px){.header{height:auto;min-height:114px;padding-bottom:8px}.header nav{height:35px;gap:2px;margin-top:12px;align-items:center;justify-content:space-between}.header nav a{height:34px;padding:8px 6px;font-size:9px;border-radius:9px;gap:3px}.header nav a.active{box-shadow:inset 0 0 0 1px #dce8d7}.header nav .icon{width:12px;height:12px}
.learning-sidebar>.learning-focus{display:none}.learning-sidebar{gap:0}.mobile-learning{display:block;border:1px solid #dce7d4;border-radius:13px;background:#f0f6e9;box-shadow:var(--card-shadow);margin:0 0 15px;overflow:hidden}.mobile-learning summary{list-style:none;display:flex;align-items:center;gap:8px;padding:13px 14px;cursor:pointer;color:#3b6047}.mobile-learning summary::-webkit-details-marker{display:none}.mobile-learning summary>span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:650}.mobile-learning summary>small{font-size:10px;color:#87977c;margin-left:auto}.mobile-learning summary>.icon{width:13px;height:13px;color:#7f9775;transition:transform .18s}.mobile-learning[open] summary>.icon{transform:rotate(180deg)}
.mobile-learning .learning-focus{border:0;border-top:1px solid #e0e8d7;border-radius:0;padding:12px;box-shadow:none;background:#fffefa}.mobile-learning .focus-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-learning .focus-card{padding:10px 8px;gap:7px}.mobile-learning .focus-copy strong{font-size:12px}.mobile-learning .focus-copy small{font-size:10px}.mobile-learning .focus-arrow{display:none}.mobile-learning .focus-number{width:22px;height:22px;border-radius:7px;font-size:9px}.mobile-learning .focus-footnote{font-size:9px;margin-top:10px}.mobile-learning .focus-takeaway{font-size:11px}.chat-card{min-height:0;border-radius:17px}.chat-header{min-height:84px;padding:12px 12px}.chat-header .plain{font-size:9px;padding:7px 8px;border-radius:8px}.chat-header small{font-size:8px}.chat-header strong{font-size:12px}.messages{min-height:250px;height:300px;max-height:400px;padding:19px 13px}.message{gap:9px;margin-bottom:23px}.message-body{max-width:calc(100% - 57px)}.message-author{font-size:10px;margin-bottom:6px}.message .bubble{font-size:13px;padding:12px 13px;line-height:1.95}.suggestions{gap:7px;padding-left:13px;padding-right:13px;padding-bottom:15px}.suggestion{font-size:10px;padding:7px 9px;min-height:34px;gap:6px}.suggestion .icon{width:18px;height:18px;padding:3px}.composer{padding:14px 13px 12px}.composer-label{font-size:11px;margin-bottom:9px}.composer-label small{font-size:9px}.input-row{gap:7px;padding:9px 9px 9px 12px;border-radius:11px}.composer textarea{font-size:13px;min-height:55px}.input-row .button{padding:9px 13px;font-size:12px;min-height:39px;border-radius:8px}.composer-bottom{font-size:9px;margin-top:9px}.course-card{box-shadow:0 5px 18px #30462a06}.question-kind{font-size:10px;line-height:1.7}}
@media(max-width:370px){.header nav a{font-size:8px;padding-left:5px;padding-right:5px}.header nav .icon{width:11px;height:11px}.chat-header strong{font-size:11px}.chat-header small{font-size:8px}.chat-header .plain{font-size:8px;padding:7px 6px}.message-body{max-width:calc(100% - 53px)}.mobile-learning summary>small{font-size:9px}.mobile-learning summary>span{font-size:12px}.mobile-learning .focus-card{gap:6px;padding:9px 7px}.mobile-learning .focus-copy strong{font-size:11px}.mobile-learning .focus-copy small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.typing-dots span{animation:none}.button,.course-card{transform:none!important}}
.skip{clip-path:inset(50%);opacity:0}.skip:focus{clip-path:none;opacity:1}
.focus-card:hover{border-color:var(--focus-border);background:var(--focus-soft);box-shadow:0 2px 6px #354b3006}.focus-card.selected{border-color:var(--focus-ink);background:var(--focus-soft);box-shadow:0 2px 6px #354b3006}

/* Genuine streamed responses: network phases, then live answer deltas. */
.chat-model{font-weight:600;color:#6a8060}.response-status{display:flex;align-items:center;gap:6px;width:fit-content;font-size:10px;color:#839177;background:#f3f7ed;border:1px solid #e5ecdb;border-radius:7px;padding:4px 8px;margin:0 0 9px;line-height:1.5;font-variant-numeric:tabular-nums}
.response-status.is-active{color:#547345;background:#eef5e6}.response-status.is-active::before{content:'';height:5px;width:5px;border-radius:50%;background:#83a86d;flex-shrink:0}.empty-response{font-size:12px!important;color:#9aa58e!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:5px 0!important}.input-row .button.is-stop{background:#f3f6ed;color:#5e7451;border-color:#dbe5d0;box-shadow:none}.input-row .button.is-stop:hover{background:#e9f0e1}.response-status+.bubble{margin-top:0}
@media(max-width:720px){.chat-header small{font-size:8px;line-height:1.8}.response-status{font-size:9px;padding:4px 7px}.chat-header .chat-model{display:inline}.message-body{min-width:0}}

/* Compact answer typography, with a clearer course-coloured reply surface. */
.chat-card{--reply-bg:#f1f6ef;--reply-border:#cbdcc5;--reply-accent:#46724a}
.chat-card[data-course="drug"]{--reply-bg:#f0f4fb;--reply-border:#cbd8eb;--reply-accent:#4e6e9b}
.message:not(.user) .bubble{background:var(--reply-bg);border-color:var(--reply-border);box-shadow:0 2px 7px #283e3010;padding:14px 18px;border-radius:4px 16px 16px 16px;line-height:1.75}
.message .reply-markdown{white-space:normal;font-size:1rem}
.reply-markdown p{margin:0;line-height:inherit}
.reply-markdown p+p{margin-top:.55em}
.reply-markdown strong{font-weight:700;color:#253f38}
.reply-markdown h3{font-size:1rem;line-height:1.6;font-weight:700;margin:1em 0 .4em;color:var(--reply-accent)}
.reply-markdown ul,.reply-markdown ol{margin:.5em 0;padding-left:1.5em}
.reply-markdown li{padding-left:.15em;margin:.22em 0;line-height:1.75}
.reply-markdown li::marker{color:var(--reply-accent);font-weight:600}
.reply-markdown blockquote{margin:.65em 0;padding:.5em .8em;border-left:3px solid var(--reply-accent);background:#ffffff85;border-radius:0 8px 8px 0;color:#4b6059}
.reply-markdown code{font-size:.9em;background:#ffffffa6;border:1px solid var(--reply-border);border-radius:4px;padding:.08em .3em;overflow-wrap:anywhere}
.reply-markdown>:first-child{margin-top:0}.reply-markdown>:last-child{margin-bottom:0}
@media(max-width:720px){.message:not(.user) .bubble{padding:12px 14px}.message .reply-markdown{font-size:1rem;line-height:1.75}.reply-markdown h3{font-size:1rem}}

/* Two independent course entrances, reusing the established classroom design. */
.course-home .hero-art .character{width:100%;height:350px;max-width:350px;object-fit:contain;margin:0}
.home-focus{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}
.home-focus-card{background:#fffefa;border:1px solid #dce8d3;border-radius:16px;padding:22px;box-shadow:var(--card-shadow)}
.home-focus-card h3{font-size:16px;line-height:1.7;margin:14px 0 7px}.home-focus-card p{font-size:12px;line-height:1.85;margin:0;color:var(--muted)}
body[data-course="drug"]{--green:#426c9c;--green-dark:#31537d}
body[data-course="drug"] .course-home{background:linear-gradient(115deg,#f3f6fc,#e8eff9);border-color:#dbe4f0}
body[data-course="drug"] .hero h1 em{color:#426c9c}
body[data-course="drug"] .header nav a.active{background:#e9eff8;color:#42638d;box-shadow:inset 0 0 0 1px #dbe4f0}
body[data-course="drug"] .home-focus-card{border-color:#dbe4f0;background:#fdfefe}
body[data-course="drug"] .home-focus-card .focus-number{color:#426c9c;border-color:#dbe4f0}
.page-title>.tag{flex-shrink:0}
@media(max-width:1000px){.home-focus{grid-template-columns:repeat(2,minmax(0,1fr))}.course-home .hero-art .character{height:290px}}
@media(max-width:720px){.course-home .hero-art .character{height:250px;max-width:290px}.home-focus{gap:10px}.home-focus-card{padding:16px 13px}.home-focus-card h3{font-size:14px}.home-focus-card p{font-size:11px}.page-title>.tag{display:inline-block;margin-top:12px}}
