:root{--ink:#183244;--muted:#627786;--paper:#f4f7f8;--line:#dce6e9;--brand:#087e85;--dark:#06636a;--tint:#e7f5f3;--red:#ac3137;--gold:#946118;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);font-size:16px;line-height:1.65;background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b87a28;outline-offset:3px}button,input,textarea,select{border:1px solid var(--line);border-radius:10px}input,textarea,select{padding:11px 14px;background:#fff;max-width:100%}textarea{width:100%;min-height:125px;resize:vertical}button{padding:10px 18px;background:#fff;color:var(--ink)}button.primary,.button.primary{background:var(--brand);color:white;border-color:var(--brand)}.button{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:600}.button:hover{text-decoration:none;background:var(--tint);color:var(--dark)}button.primary:hover,.button.primary:hover{background:var(--dark);color:white}.text-button{border:0;padding:5px 8px;background:transparent;color:var(--brand)}[hidden]{display:none!important}.topbar{height:82px;padding:0 max(24px,calc((100vw - 1280px)/2));background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:750;font-size:21px;letter-spacing:.4px;flex-shrink:0}.brand:hover{text-decoration:none}.brand small{display:block;font-size:11px;letter-spacing:2px;font-weight:500;color:var(--muted)}.brand-mark{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:14px;background:var(--brand);color:white;font-size:24px}.session-area{display:flex;align-items:center;gap:12px;min-width:0;font-size:14px}#identity{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell{display:flex;max-width:1280px;margin:0 auto;min-height:calc(100vh - 82px)}.navigation{width:194px;flex-shrink:0;padding:34px 18px 30px 0;display:flex;flex-direction:column;gap:9px}.navigation>a{display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:11px;color:var(--muted);font-weight:600}.navigation>a span{font-size:23px;line-height:1}.navigation>a.active{background:var(--tint);color:var(--dark)}.nav-note{font-size:12px;color:var(--muted);padding:30px 18px}.content-shell{min-width:0;flex:1;padding:34px 0 0 24px}h1{font-size:30px;line-height:1.4;margin:0 0 12px;font-weight:750;letter-spacing:.3px}h2{font-size:22px;margin:0 0 14px}h3{font-size:18px;margin:0 0 10px}p{margin:8px 0 16px}.muted{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--brand);font-weight:700;margin-bottom:12px}.hero{background:#e8f2f0;border:1px solid #d1e8e1;border-radius:20px;padding:32px 34px;margin-bottom:26px;position:relative}.hero p{margin-bottom:0;max-width:680px;color:#496d6e}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-title h2{margin:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:20px}.grid>.card{margin:0;display:flex;flex-direction:column}.course-top{border-radius:11px;background:#edf5f6;min-height:124px;padding:23px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.course-top .glyph{font-size:38px;font-weight:400;color:#72a7a9;line-height:1}.course-top strong{font-size:18px}.course-meta{font-size:13px;color:var(--muted)}.card h3{overflow-wrap:anywhere}.card .actions{margin-top:auto;padding-top:18px}.price{font-weight:750;color:var(--brand);font-size:27px}.price small{font-size:14px}.tags{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.tag,.badge{background:var(--tint);color:var(--dark);border-radius:6px;font-size:12px;padding:4px 8px;display:inline-block}.badge.warning{background:#fff1d9;color:var(--gold)}.badge.danger{background:#fcebec;color:var(--red)}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions.between{justify-content:space-between}.error{border:1px solid #f0c3c3;background:#fff2f2;border-radius:10px;color:var(--red);padding:14px 17px;margin-bottom:20px;overflow-wrap:anywhere}.info{padding:14px 17px;background:#edf4f9;border-radius:10px;margin:15px 0;color:#3a5f77}.empty{padding:48px 24px;text-align:center}.empty p{color:var(--muted)}.form{max-width:440px;margin:12px auto}.form label{display:block;font-weight:600;margin:16px 0 7px}.form input{width:100%}.form .primary{width:100%;margin-top:24px}.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px}.login-intro{padding:34px;background:#e8f2f0;border-radius:16px}.login-intro h2{line-height:1.6}.login-intro p{color:var(--muted);margin-top:20px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row>div{min-width:0}.list-row h3{margin:0;overflow-wrap:anywhere}.small{font-size:13px}.order-number{font-family:ui-monospace,monospace;word-break:break-all;font-size:13px;color:var(--muted)}.question{font-size:21px;line-height:1.7;font-weight:650;white-space:pre-wrap;margin:20px 0}.options{display:grid;gap:12px;margin:22px 0}.option{display:flex;align-items:flex-start;gap:13px;width:100%;text-align:left;padding:15px 18px;line-height:1.7;background:#fff}.option.selected{border:2px solid var(--brand);background:var(--tint);padding:14px 17px}.option b{font-size:14px;background:#eef3f4;border-radius:6px;padding:2px 9px;min-width:34px}.option span{overflow-wrap:anywhere}.question-images{display:flex;gap:14px;flex-wrap:wrap}.question-images img{max-width:100%;max-height:240px;object-fit:contain}.result{padding:18px;border-left:4px solid var(--brand);background:var(--tint);margin:18px 0;white-space:pre-wrap}.result.wrong{border-color:var(--red);background:#fff2f2}.exam-tools{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.timer{font-variant-numeric:tabular-nums;font-weight:700;color:var(--dark);padding:7px 12px;background:var(--tint);border-radius:8px}.question-map{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.question-map button{padding:5px 10px}.question-map button.answered{background:var(--tint);border-color:var(--brand)}.reading{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:18px}.media-frame{width:100%;max-height:60vh;background:#101b22;border-radius:12px}.score{font-size:48px;line-height:1.2;font-weight:750;color:var(--brand)}#notice{padding:12px 16px;background:#e6f1ec;border-radius:10px;margin-bottom:16px}footer{padding:30px 0 24px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:12px}.environment{background:#fff0d3;color:#735019;padding:10px 20px;text-align:center}.heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.heading-row h1{font-size:26px}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.wide{width:100%}.soft-rule{border:0;border-top:1px solid var(--line);margin:22px 0}
@media(max-width:1330px){.shell{padding:0 24px}.content-shell{padding-right:0}}@media(max-width:850px){.navigation{width:156px;padding-right:8px}.navigation>a{padding:12px 9px;gap:8px}.content-shell{padding-left:14px}.grid{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr}.login-intro{display:none}h1{font-size:26px}footer span{display:none}}@media(max-width:600px){.topbar{height:72px;padding:0 16px;gap:10px}.brand{font-size:18px;gap:9px}.brand-mark{width:36px;height:36px;border-radius:11px;font-size:22px}.brand small{font-size:10px;letter-spacing:1px}.session-area{gap:6px;font-size:12px}#identity{max-width:85px}.shell{display:block;padding:0 15px}.content-shell{padding:22px 0 86px}.navigation{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);width:auto;padding:7px 3px calc(7px + env(safe-area-inset-bottom));z-index:4;flex-direction:row;justify-content:space-around;gap:0}.navigation>a{display:flex;flex:1;flex-direction:column;gap:2px;align-items:center;border-radius:8px;padding:6px 2px;font-size:11px;white-space:nowrap}.navigation>a span{font-size:20px}.nav-note{display:none}.hero{padding:24px 22px;border-radius:15px}.hero h1{font-size:26px}.hero p{font-size:14px}.card,.panel{padding:20px 18px;border-radius:13px}.grid{gap:15px}.question{font-size:19px}.course-top{min-height:106px}.section-title h2{font-size:20px}.heading-row{flex-wrap:wrap}.list-row{align-items:flex-start;flex-wrap:wrap;gap:12px}.list-row .actions{width:100%}.actions>button,.actions>.button{min-height:42px}.question-map{gap:6px}footer{padding-bottom:0}.form{margin:0 auto}}

/* P30: bounded content presentation; no author-controlled inline CSS. */
.course-cover{aspect-ratio:16/9;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:#edf1f5;color:#586474;font-size:14px;margin-bottom:12px}
.course-cover img{width:100%;height:100%;object-fit:contain;display:block}
.rich-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;max-width:100%;overflow-x:auto;font-size:18px}
.rich-content h1,.rich-content h2{font-size:1.45em;line-height:1.4;margin:1em 0 .5em}.rich-content h3,.rich-content h4,.rich-content h5,.rich-content h6{font-size:1.2em;margin:.8em 0 .4em}
.rich-content p{margin:.6em 0}.rich-content ul,.rich-content ol{padding-left:1.6em;white-space:normal}.rich-content li{margin:.3em 0;white-space:pre-wrap}
.rich-content blockquote{margin:1em 0;padding:.5em 1em;border-left:4px solid #7f93aa;background:#f4f7fa}.rich-content pre{white-space:pre-wrap;padding:12px;background:#f4f7fa}.rich-content code{font-size:.9em}
.rich-content table{border-collapse:collapse;width:100%;white-space:normal;margin:1em 0;table-layout:fixed}.rich-content td,.rich-content th{padding:10px;border:1px solid #c8d2df;vertical-align:top;overflow-wrap:anywhere}.rich-content th{background:#edf3f8}
.rich-content figure{margin:1em 0}.rich-content figcaption,.rich-image-note{font-size:14px;color:#5d6778}.rich-image{display:block;margin:.75em 0}.rich-image img{display:block;max-width:100%;max-height:70vh;height:auto;object-fit:contain;margin:auto}.rich-image-note{display:block;padding:14px;background:#f4f7fa;border-radius:8px}
.rich-align-left{text-align:left}.rich-align-center{text-align:center}.rich-align-right{text-align:right}.rich-align-justify{text-align:justify}
@media(max-width:600px){.rich-content{font-size:17px}.rich-content td,.rich-content th{padding:7px}.course-cover{border-radius:9px}}

.learning-entry-url{overflow-wrap:anywhere}
.complaint-entry .form{max-width:440px;margin:8px 0}.complaint-entry select,.complaint-entry textarea{width:100%}.complaint-line{margin:4px 0 0;text-align:right}.complaint-entry .link-button{min-height:0;padding:2px 0;border:0;background:none;color:var(--muted);font-size:13px;font-weight:400;text-decoration:underline}.complaint-entry .form .actions button{min-width:96px}

/* §11 分享海报 */
.share-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.poster-panel{text-align:center}.poster-slot{display:flex;justify-content:center;min-height:200px;align-items:center}.poster-image{width:100%;max-width:375px;height:auto;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.12);-webkit-touch-callout:default;user-select:auto}.poster-hint{margin-top:12px}
