:root{--ink:#183c48;--blue:#1d5f73;--cream:#f8f6ef;--line:#d6e0dd;--muted:#57707a;--light:#e7f1f2}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,"PingFang TC",sans-serif;line-height:1.7}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #d98a2b;outline-offset:4px}
header,main{max-width:1100px;margin:auto;padding:20px 24px}header{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:22px;color:var(--blue);text-decoration:none}header span{font-size:14px;color:var(--muted)}footer{text-align:center;color:var(--muted);font-size:13px;padding:30px 16px}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--blue)}h1{font-size:clamp(30px,4.6vw,46px);line-height:1.3;margin:10px 0}h1 b{color:#d9692b;font-size:1.25em}h2{font-size:24px;margin:30px 0 14px}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border-radius:14px;padding:12px 22px;font-weight:750;text-decoration:none;border:0;font-size:17px}.primary{background:var(--blue);color:white}.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.big{font-size:19px;min-height:60px;margin-top:12px}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;padding:16px 0}.hero p{font-size:18px;color:var(--muted)}.hero-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.hero-card table{width:100%;border-collapse:collapse;margin:10px 0;font-size:15px}.hero-card td{padding:8px 6px;border-top:1px solid var(--line);vertical-align:top}.hero-card td small{color:var(--muted)}.hero-card>small{color:var(--muted);font-size:13px}
.chip{display:inline-block;font-size:13px;font-weight:700;border-radius:999px;padding:2px 10px;white-space:nowrap}.chip.zh{background:#fde8d9;color:#9a4317}.chip.en{background:#dcefe6;color:#1b6346}.chip.ma{background:#e3e6fb;color:#3a3f9a}.chip.sc{background:#e6f4d6;color:#4a6b15}.chip.so{background:#f6e3f1;color:#87306e}.chip.ex{background:#ffe0e0;color:#b42323}
.days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.day{display:flex;flex-direction:column;gap:6px;background:white;border:2px solid var(--line);border-radius:16px;padding:16px 18px;text-decoration:none;color:var(--ink);min-height:120px}.day.today{border-color:#d9692b;box-shadow:0 0 0 4px #fbe3d3}.day.past{opacity:.75}.day.exam{background:#fff6f4}.day.complete .day-progress{color:#1b6346;font-weight:700}.day-date{font-size:15px;color:var(--muted)}.day-date em{font-style:normal;background:#d9692b;color:white;border-radius:6px;padding:0 8px;margin-left:8px;font-size:13px}.day strong{font-size:20px}.day-subjects{display:flex;gap:6px;flex-wrap:wrap}.day-progress{font-size:14px;color:var(--muted)}
.back{display:inline-flex;align-items:center;min-height:48px;color:var(--blue);text-decoration:none;font-weight:700}.day-head p{color:var(--muted);font-size:17px}
.tasks{list-style:none;padding:0;display:grid;gap:14px}.task{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:white;border:2px solid var(--line);border-radius:16px;padding:16px 18px}.task.done{background:#eef7f1;border-color:#9fcdb3}.task.done strong{text-decoration:line-through;text-decoration-color:#7fb596}.task-body strong{font-size:19px;display:block}.task-body small{color:var(--muted)}.task-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.check{min-height:52px;border-radius:14px;border:2px solid #9fcdb3;background:white;color:#1b6346;font-weight:700;padding:10px 16px}.check[aria-pressed="true"]{background:#1b6346;color:white;border-color:#1b6346}
.day-nav{display:flex;justify-content:space-between;margin-top:22px}.day-nav a{min-height:48px;display:inline-flex;align-items:center;color:var(--blue);font-weight:700;text-decoration:none}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 6px}.tabs a{min-height:52px;display:inline-flex;align-items:center;padding:10px 20px;border-radius:14px;border:1px solid var(--line);background:white;color:var(--ink);text-decoration:none;font-weight:700;font-size:17px}.tabs a.active{background:var(--blue);color:white;border-color:var(--blue)}
.lesson-switch{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}.lesson-switch button{min-height:52px;border-radius:12px;border:2px solid var(--line);background:white;color:var(--ink);padding:8px 18px;font-weight:700;font-size:17px}.lesson-switch .active{border-color:#d9692b;background:#fff3ea}
.tip{background:var(--light);border-radius:12px;padding:12px 18px;font-size:16px}.rv h2{border-left:6px solid #d9692b;padding-left:12px}.structure{background:white;border-radius:14px;padding:16px 20px 16px 40px;border:1px solid var(--line);font-size:17px}.structure li{margin:6px 0}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wcard{background:white;border:1px solid var(--line);border-radius:14px;padding:16px 18px}.wcard h3{font-size:26px;margin:0 0 6px;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.wcard h3 small{font-size:15px;color:#9a4317;font-weight:500}.wcard p{margin:6px 0;font-size:17px}.wcard .ex{background:#f4f7f3;border-radius:8px;padding:8px 12px;font-size:16px}.wcard .rel{font-size:15px;color:var(--muted)}.idiom{border-color:#e5ce97;background:#fffcf3}
.groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.group{background:white;border:1px solid var(--line);border-radius:14px;padding:14px 18px}.group h3{font-size:30px;margin:0}.group p{margin:6px 0;font-size:17px}.group b{font-size:28px;margin-right:6px}.group small{color:#9a4317;margin-right:8px;font-size:14px}
.quiz{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;margin-top:16px;max-width:820px}.quiz-top{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:15px}.dots{display:flex;gap:6px;margin:10px 0;flex-wrap:wrap}.dots span{width:24px;height:10px;border-radius:5px;background:var(--line)}.dots .now{background:#d9692b}.dots .ok{background:#2f8a5c}.dots .miss{background:#df8b7a}.ask{font-size:24px;line-height:1.6;margin:16px 0}.ask u{text-decoration-color:#d9692b;text-decoration-thickness:3px;text-underline-offset:6px}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choices button{min-height:64px;font-size:24px;border:2px solid var(--line);border-radius:14px;background:white;color:var(--ink);padding:10px 14px}.choices button:disabled{opacity:1}.choices .right{border-color:#2f8a5c;background:#ddf1e5}.choices .wrong{border-color:#df8b7a;background:#fbe9e5}.feedback{margin-top:18px;border-radius:12px;padding:14px 18px;background:#eef7f1;font-size:17px}.feedback.retry{background:#fff2ee}.feedback p{margin:6px 0 0}
.result{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;margin-top:16px}.score{font-size:34px;font-weight:800;color:var(--blue);margin:0}.miss li{margin:10px 0;font-size:17px}.miss p{margin:2px 0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.paper-list{font-size:21px;line-height:2.1;padding-left:34px}.paper-list li{margin:8px 0}.blank{color:#9a4317;font-weight:700;border-bottom:2px dashed #d9692b;padding:0 4px}.paper-ans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-left:34px;font-size:22px}.empty{background:white;border-radius:18px;padding:24px;border:1px solid var(--line)}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(120px);background:var(--ink);color:white;padding:12px 20px;border-radius:12px;transition:transform .25s;max-width:90vw}#toast.show{transform:translateX(-50%) translateY(0)}
@media(max-width:900px){.hero{grid-template-columns:1fr}.groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.days,.cards{grid-template-columns:1fr}.task{grid-template-columns:1fr}.task-actions{justify-content:flex-start}}@media(max-width:520px){header,main{padding:16px}.groups,.choices{grid-template-columns:1fr}.paper-ans{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz{padding:18px}}
@media(prefers-reduced-motion:reduce){#toast{transition:none}}
.report-link{min-height:48px;display:inline-flex;align-items:center;padding:6px 16px;border-radius:12px;border:1px solid var(--line);background:white;color:var(--blue);font-weight:700;text-decoration:none}
.notes{background:white;border:2px solid #e5ce97;border-radius:16px;padding:6px 22px 12px}.notes h2{margin:14px 0 6px}.notes li{font-size:17px;margin:8px 0}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.tile{background:white;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column}.tile span{font-size:14px;color:var(--muted)}.tile b{font-size:34px;line-height:1.3}.tile b small{font-size:16px;color:var(--muted);font-weight:500}.tile em{font-style:normal;font-size:13px;color:var(--muted)}
.chart{background:white;border:1px solid var(--line);border-radius:16px;padding:4px 20px 16px;margin-top:18px}.chart h2{font-size:20px;margin:14px 0 10px}.muted{color:var(--muted)}
.bars{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:110px 1fr 170px;gap:12px;align-items:center;min-height:32px;border-radius:6px}.bar-row:hover,.bar-row:focus{background:#f4f7f6;outline:none}.bar-label{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:18px;border-bottom:1px solid #e3e8e6;display:flex;align-items:center}.bar-fill{display:block;height:18px;background:#1f86a6;border-radius:0 4px 4px 0}.bar-text{font-size:15px;color:var(--ink)}
.status{font-size:13px;font-weight:700;white-space:nowrap}.status.good{color:#006300}.status.bad{color:#b42323}.status.mid{color:#8a5a00}
.columns{display:flex;gap:10px;align-items:flex-end;height:200px;border-bottom:1px solid #e3e8e6;padding-top:24px;overflow-x:auto}.col{flex:0 0 40px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;border-radius:6px}.col:hover,.col:focus{background:#f4f7f6;outline:none}.col-bar{width:22px;background:#1f86a6;border-radius:4px 4px 0 0}.col-val{font-size:13px;color:var(--ink)}.col-label{position:absolute;bottom:-22px;font-size:12px;color:var(--muted)}.columns{margin-bottom:26px}
.weak-list{padding-left:24px}.weak-list li{margin:10px 0;font-size:17px}.weak-list small{color:var(--muted);font-size:14px}
.data{margin-top:18px;background:white;border:1px solid var(--line);border-radius:14px;padding:12px 18px}.data summary{cursor:pointer;font-weight:700;min-height:32px}.file{position:relative;cursor:pointer}.file input{position:absolute;inset:0;opacity:0;cursor:pointer}
#tip{position:absolute;z-index:5;max-width:320px;background:var(--ink);color:white;font-size:14px;line-height:1.6;border-radius:10px;padding:8px 12px;white-space:pre-line;pointer-events:none;opacity:0;transition:opacity .12s}#tip.show{opacity:1}
@media(max-width:820px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.bar-row{grid-template-columns:96px 1fr 132px}}@media(max-width:520px){.bar-row{grid-template-columns:80px 1fr;}.bar-text{grid-column:2}.report-link{padding:6px 10px;font-size:15px}}
#toast:not(.show){visibility:hidden}
.top-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.who-link{min-height:48px;display:inline-flex;align-items:center;padding:6px 14px;border-radius:12px;color:var(--muted);font-weight:700;text-decoration:none}.who-link:empty{display:none}
.who-view{text-align:center;padding:24px 0}.who-view h1{font-size:32px}.who-pick{display:grid;grid-template-columns:repeat(3,minmax(0,220px));justify-content:center;gap:20px;margin:24px 0}
.who-pick button{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:180px;padding:20px;border-radius:20px;border:3px solid var(--line);background:white;color:inherit;font:inherit;cursor:pointer}.who-pick button span{font-size:64px;line-height:1}.who-pick button b{font-size:28px}.who-pick button small{color:var(--muted);font-size:16px}.who-pick button.active{border-color:var(--blue);background:var(--light)}
.sync-form{max-width:520px;margin:0 auto;text-align:left;background:white;border:1px solid var(--line);border-radius:16px;padding:18px 22px}.sync-form h2{margin-top:0}.sync-form input{width:100%;box-sizing:border-box;min-height:52px;font-size:20px;padding:8px 14px;border-radius:12px;border:2px solid var(--line)}.form-err{color:#b42323;font-weight:700;min-height:1.4em;margin:8px 0}
.cloud{font-size:15px;color:var(--muted);margin:6px 0 0}.cloud.bad{color:#b42323}.cloud a{font-weight:700;color:var(--blue)}.link{background:none;border:0;padding:0 4px;min-height:44px;color:var(--blue);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
@media(max-width:520px){.who-pick{grid-template-columns:1fr 1fr;gap:12px}.who-pick button{min-height:150px;padding:14px}.who-pick button span{font-size:48px}.who-view h1{font-size:26px}}
@media(max-width:520px){header{padding:12px 16px}.brand{font-size:18px;white-space:nowrap}.top-links{gap:4px}.who-link{padding:6px 8px;font-size:15px}}
.exam-page main{max-width:860px}.exam-head h1{margin:4px 0}.exam-meta{color:var(--muted);margin:4px 0 12px}
.ex{background:white;border:1px solid var(--line);border-radius:16px;padding:16px 22px;margin:16px 0}.ex h2{margin:0 0 6px;border-left:6px solid #d9692b;padding-left:12px}.ex h2 small{font-size:15px;color:var(--muted);font-weight:600;margin-left:6px}
.ex-how{color:var(--muted);margin:8px 0}.ex ol{font-size:20px;line-height:1.9;padding-left:1.8em;margin:6px 0}.ex li{margin:4px 0}.ex u{text-decoration-thickness:2px;text-underline-offset:4px}
.ex ol.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.wordbox{border:2px dashed #d9692b;border-radius:12px;padding:10px 16px;font-size:20px;letter-spacing:1px;line-height:1.8}
.opts{display:inline-block;margin-top:4px;background:var(--light);border-radius:10px;padding:4px 12px}.rubric{color:var(--muted)}.exam-end{text-align:center;padding:12px 0 24px}
@media(max-width:520px){.ex{padding:14px 14px}.ex ol{font-size:18px}.ex ol.grid{grid-template-columns:1fr}}
@media print{header,.exam-end,footer{display:none}.ex{break-inside:avoid;border:0;padding:4px 0}}
.wordbox{display:flex;flex-wrap:wrap;gap:4px 22px}.wordbox span{white-space:nowrap}
.score-hero{display:flex;align-items:baseline;gap:8px;margin:8px 0}.score-hero b{font-size:72px;line-height:1;color:var(--blue)}.score-hero span{font-size:22px;color:var(--muted)}.praise{font-size:18px;background:#e9f6ea;border-radius:12px;padding:12px 16px}
.fix-h{margin:18px 0 6px}.fix-h small{color:var(--muted);font-weight:500}.fix{width:100%;border-collapse:collapse;font-size:17px}.fix th{text-align:left;color:var(--muted);font-size:14px;border-bottom:2px solid var(--line);padding:6px}.fix td{border-bottom:1px solid var(--line);padding:8px 6px;vertical-align:top}
.fix .mine{color:#b42323;text-decoration:line-through;text-decoration-thickness:1px;white-space:nowrap}.fix .right{color:#006300;font-weight:700;font-size:20px;white-space:nowrap}.fix .right b{text-decoration:underline}.check-list{list-style:none;padding-left:4px;font-size:17px;line-height:1.9}
@media(max-width:520px){.fix thead{display:none}.fix tr{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;border-bottom:1px solid var(--line);padding:8px 0}.fix td{border:0;padding:0}.fix td:first-child,.fix td:last-child{grid-column:1/-1}.fix td:last-child{color:var(--muted);font-size:15px}}
.model{background:#fffdf5;border:2px solid #f0e2b8;border-radius:14px;padding:12px 18px;margin:12px 0}.model h3{margin:0 0 6px}.model p{font-size:22px;line-height:2.1;margin:0;letter-spacing:.5px}
.hl-c{background:#dcefff;border-radius:4px;padding:0 2px}.hl-p{background:#ffe3ec;border-radius:4px;padding:0 2px}.hl-d{border-bottom:3px solid #2e8b57}
@media(max-width:520px){.model p{font-size:19px}}
/* 學校考卷訂正 */
.sx-card{background:white;border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin-top:18px}.sx-card-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.sx-card h2{margin:6px 0}
.sx-forms{width:100%;border-collapse:collapse;margin-top:14px;font-size:16px}.sx-forms th,.sx-forms td{text-align:left;padding:8px 10px;border-top:1px solid var(--line);vertical-align:top}.sx-forms th{color:var(--muted);font-size:14px}
.sx-path h2 small{font-size:15px;color:var(--muted);font-weight:500}.sx-lessons{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;counter-reset:ls}.sx-lessons li{counter-increment:ls}
.sx-lessons a{display:flex;flex-direction:column;min-height:72px;justify-content:center;background:white;border:2px solid var(--line);border-radius:14px;padding:10px 16px 10px 52px;color:var(--ink);text-decoration:none;position:relative}.sx-lessons a::before{content:counter(ls);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--light);display:grid;place-items:center;font-weight:800;color:var(--blue)}.sx-lessons a b{font-size:18px}.sx-lessons a small{color:var(--muted);font-size:14px}.sx-lessons a.done{border-color:#9fcdb3;background:#eef7f1}
.sx-sec h3{font-size:18px;margin:18px 0 8px}.sx-qs{display:flex;flex-wrap:wrap;gap:10px}.sx-q{min-width:96px;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:12px;border:2px solid var(--line);background:white;color:var(--ink);text-decoration:none;font-weight:700;font-size:16px;padding:6px 12px}.sx-q.ok{border-color:#2f8a5c;background:#ddf1e5}.sx-q.again{border-color:#d9692b;background:#fff3ea}.sx-q.tried{border-color:#1f86a6}
.sx-top{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}.sx-steps{display:flex;gap:8px;margin:12px 0}.sx-steps button{flex:1;min-height:52px;border-radius:12px;border:2px solid var(--line);background:white;color:var(--ink);font-weight:700;font-size:16px}.sx-steps .active{background:var(--blue);border-color:var(--blue);color:white}
.sx-body{background:white;border:1px solid var(--line);border-radius:18px;padding:20px 22px}.sx-orig{display:grid;gap:8px}.sx-ask{font-size:22px;line-height:1.7;margin:4px 0}.sx-ask u{text-decoration-color:#d9692b;text-decoration-thickness:3px;text-underline-offset:6px}.sx-fig{display:flex;justify-content:center;background:#fbfaf6;border-radius:12px;padding:8px}.small{font-size:14px}
.sx-paper{margin:14px 0;border:2px dashed #c9b98f;border-radius:14px;padding:18px;min-height:110px;color:var(--muted);font-size:17px;background:#fffdf7}
.sx-num{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0;font-size:20px}.sx-num label{display:flex;align-items:center;gap:8px}.num{width:110px;min-height:56px;font-size:26px;text-align:center;border:2px solid var(--line);border-radius:12px}.num:focus{outline:3px solid #d98a2b}
.sx-ans{background:#f2f8f4;border-radius:14px;padding:6px 18px 12px;margin-top:12px}.sx-ans h3{margin:10px 0 4px;font-size:16px;color:var(--muted)}.sx-ans-main{font-size:24px;font-weight:800;color:#1b6346;margin:0}.sx-ans ol{font-size:18px;margin:4px 0}
.sx-keys{background:white;border:1px solid var(--line);border-radius:14px;padding:14px 20px 14px 40px;font-size:18px}.sx-keys li{margin:6px 0}
.sx-anim h2{font-size:20px}.anim{background:white;border:1px solid var(--line);border-radius:16px;padding:14px;margin-top:10px}.anim-fig{display:flex;justify-content:center;min-height:200px}.anim-fig .fig{width:100%;max-width:460px;height:auto}.anim-say{font-size:19px;min-height:3.4em;margin:8px 4px}
.anim-ctl{display:grid;grid-template-columns:1fr 1fr 1.3fr 1fr;gap:8px}.ctl{min-height:52px;border-radius:12px;border:2px solid var(--line);background:white;color:var(--ink);font-weight:700;font-size:16px}.ctl.main{background:var(--blue);border-color:var(--blue);color:white}.anim-dots{display:flex;gap:6px;justify-content:center;margin-top:10px}.anim-dots span{width:22px;height:8px;border-radius:4px;background:var(--line)}.anim-dots .now{background:#d9692b}.anim-dots .ok{background:#2f8a5c}
.fig{max-width:100%;height:auto;max-height:300px}.sx-fig .fig{width:min(100%,320px)}.fig .ln{fill:none;stroke:#183c48;stroke-width:2.2;stroke-linejoin:round}.fig .sh{fill:#bfe0ea;stroke:#183c48;stroke-width:2}.fig .dash{fill:none;stroke:#6f8790;stroke-width:1.6;stroke-dasharray:5 5}.fig .arc{stroke:#9a4317;stroke-width:1.8}.fig .arc.hl{stroke:#d9692b;stroke-width:3}.fig .hl{stroke:#d9692b;stroke-width:3.2}.fig .dot{fill:#183c48}.fig .dot2{fill:#d9692b}
.fig .t{font-size:16px;fill:#183c48;font-weight:700}.fig .t.sm{font-size:13px}.fig .t.warn{fill:#b4461b}.fig .star{font-size:18px;fill:#183c48}.fig .straw{fill:#fde7c5;stroke:#b07a2a;stroke-width:1.5}
.fig .stk{stroke-width:7;stroke-linecap:round}.fig .stk.c{stroke:#183c48}.fig .stk.a{stroke:#1f86a6}.fig .stk.b{stroke:#d9692b}.fig .t.a{fill:#1f6f8a}.fig .t.b{fill:#b4461b}.fig .gap{stroke:#b4461b;stroke-width:2;stroke-dasharray:3 3}
.fig .wa{fill:#f6c58f;stroke:#b06a20}.fig .wb{fill:#9fd3c2;stroke:#2f7f66}.fig .wc{fill:#c9b6ea;stroke:#6a4fa3}.fig .soft{opacity:.55}
.fr{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;line-height:1.05;font-size:.85em;margin:0 2px}.fr i{font-style:normal}.fr i:first-child{border-bottom:2px solid currentColor;padding:0 2px}
.slot-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.slot-name{min-width:56px;font-weight:700;color:var(--muted)}.slot-opt{min-height:52px;padding:6px 16px;border-radius:12px;border:2px solid var(--line);background:white;font-size:18px;color:var(--ink)}.slot-opt.on{border-color:#d9692b;background:#fff3ea}
.slot-out{font-size:22px;background:#fbfaf6;border-radius:12px;padding:12px 16px}.slot-out b{color:#9a4317}.slot-blank{display:inline-block;min-width:60px;border-bottom:2px dashed #d9692b;color:var(--muted);font-size:15px;text-align:center}
.sx-rh{font-size:17px;margin:16px 0 8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sx-rh small{color:var(--muted);font-weight:500}.sx-again{font-size:15px}.sx-again a{color:#b4461b;font-weight:700;display:inline-block;min-height:32px}
@media(max-width:700px){.sx-lessons{grid-template-columns:1fr}.anim-ctl{grid-template-columns:1fr 1fr}.ctl.main{grid-column:1/-1;order:-1}.sx-ask{font-size:19px}.sx-body{padding:16px}.sx-steps button{font-size:14px}.sx-forms{font-size:14px}}
@media(prefers-reduced-motion:reduce){.anim *{transition:none!important}}
.hist{background:#f3f8f6;border:2px solid #cfe5dc;border-radius:16px;padding:12px 18px;margin:10px 0 18px}.hist h2{margin:4px 0 8px;font-size:19px}.hist ul{margin:0;padding-left:20px;line-height:1.7}.hist small{color:var(--muted)}
.day-subjects{align-items:flex-start}.day-subjects .chip{height:auto}.hist-plan{margin:14px 0}.hist-plan summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.day-subjects .chip.ex{width:auto;height:auto;min-height:0;min-width:0;padding:3px 10px;font-size:inherit;display:inline-block;border-radius:999px}
