:root{--paper: #f3faf6;--card: #ffffff;--ink: #1a2330;--muted: #3d4c55;--line: #d5ebe3;--brand: #0b7d50;--brand-dark: #086241;--mint: #d8f3e6;--amber: #7a4c0c;--amber-bg: #fff3df;--track: #b7d4c8;--shadow: 0 10px 28px rgba(16, 72, 52, .07);--radius: 18px;--column: 1200px;--gutter: 32px;--node: 40px;--row-pad: 12px;--row-gap: 8px;--type-body: 1.0625rem;--type-caption: .8125rem;--type-meta: .875rem;--type-subheading: 1.125rem;--type-section: 1.25rem;--type-page: 2rem;--type-stage: 1.75rem;color:var(--ink);background:var(--paper);font-family:Plus Jakarta Sans,Noto Sans TC,Microsoft JhengHei,PingFang TC,sans-serif;font-size:16px;line-height:1.65}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(920px 520px at 100% -8%,#f8e4dc 0%,transparent 58%),radial-gradient(780px 460px at -8% 12%,#d7f6ea 0%,transparent 52%),var(--paper);color:var(--ink);font-size:var(--type-body);line-height:1.65}a{color:var(--brand-dark)}button,select,input,textarea,.choice-card,.topic-row{font:inherit;color:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:12px;top:-40px;background:var(--ink);color:#fff;padding:8px 12px;z-index:6}.skip:focus{top:12px}.app{min-height:100vh;width:100%;display:flex;flex-direction:column}.workspace{display:flex;align-items:stretch;min-height:100vh;width:100%}.side-column.quiet-header{flex:0 0 280px;width:280px;max-height:100vh;overflow:auto;align-self:flex-start;display:flex;flex-direction:column;align-items:stretch;gap:20px;padding:20px 16px 28px;border-bottom:0;border-right:1px solid var(--line);box-shadow:none;transition:width .2s ease,flex-basis .2s ease,opacity .2s ease,padding .2s ease}.workspace.sidebar-closed .side-column.quiet-header{flex:0 0 0;width:0;padding:0;opacity:0;overflow:hidden;border-right-width:0;pointer-events:none}.side-column-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.side-column-head .brand{min-width:0;flex:1 1 auto}.sidebar-toggle{flex:none;margin:0;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:.875rem;font-weight:700;line-height:1.3;white-space:nowrap}.sidebar-toggle span{margin-left:4px;color:var(--muted);font-weight:600}.sidebar-toggle:hover{border-color:var(--brand);color:var(--brand-dark)}.sidebar-toggle-open{align-self:flex-start;margin:12px var(--gutter) 0}.canvas>.sidebar-toggle-open+.crumbs{margin-top:8px}.side-column .header-selectors{flex-direction:column;align-items:stretch;width:100%}.side-column .header-field{flex:none;width:100%}.side-instruction{margin:0;padding-top:4px;border-top:1px solid var(--line);font-size:.92rem}.side-instruction p{margin:12px 0 0}.side-instruction-year{font-weight:700}.side-instruction-year span{margin-left:6px;color:var(--muted);font-weight:600}.side-column .side-source{margin-top:16px;padding:14px 16px;font-size:.92rem}.side-column .side-source h2{font-size:var(--type-subheading);margin-bottom:8px}.side-column .side-source .source-note{font-size:.8125rem;line-height:1.5}.canvas{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.system-intro h1 span{margin-left:8px;color:var(--muted);font-size:.875rem;font-weight:600}.overview-return{align-self:flex-start;font-weight:700;text-decoration:none}.overview-return span{margin-left:6px;color:var(--muted);font-size:.875rem;font-weight:600}.overview-return:hover{text-decoration:underline}.overview-layout{display:flex;flex-direction:column;gap:20px}.main-overview{padding-top:1.65rem}.overview-hero{margin:0;padding:0 0 1.65rem;text-align:center}.overview-hero-line{margin:0;font-size:var(--type-page);font-weight:700;line-height:1.3;letter-spacing:-.02em}.overview-hero-meta{margin-top:4px;font-size:var(--type-section);font-weight:600;color:var(--muted);letter-spacing:0}.overview-lede{margin:1.65rem auto 0;max-width:42rem;font-size:var(--type-body);line-height:1.65;text-align:left}.language-picker{display:inline-flex;flex-wrap:wrap;gap:6px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--card)}.language-picker-hero{margin:0 auto 1rem}.language-picker-sidebar{align-self:stretch;justify-content:center}.language-option{margin:0;padding:6px 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:var(--type-meta);font-weight:700;line-height:1.3;cursor:pointer}.language-option.is-active{background:var(--ink);color:#fff}.language-option:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.overview-layout>.overview-legend{margin-top:4px}.overview-matrix-section{min-width:0;width:100%;padding-top:0;border-top:0}.overview-matrix-title{margin:0 0 12px;font-size:var(--type-section);font-weight:700;line-height:1.3}.overview-matrix-wrap{min-width:0}.overview-matrix{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.8125rem}.overview-matrix th,.overview-matrix td{border:1px solid var(--line);padding:0;vertical-align:middle}.overview-matrix thead th{background:var(--card);font-weight:700;font-size:.8125rem;line-height:1.25;padding:10px 6px;text-align:center;overflow-wrap:anywhere}.overview-matrix .matrix-corner{text-align:left;padding-left:10px;width:4.5rem;font-size:.8125rem}.overview-matrix tbody th{background:var(--card);text-align:left;font-weight:700;white-space:nowrap;padding:10px;font-size:.9375rem;width:4.5rem}.matrix-cell{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px 6px;text-decoration:none;color:inherit;background:var(--card);box-shadow:inset 3px 0 0 var(--accent, var(--brand))}.matrix-cell:hover{background:#fff}.matrix-cell:focus-visible{outline:3px solid var(--brand);outline-offset:-3px}.matrix-empty{background:#e7f3ee;text-align:center;color:#7d948c;font-size:.875rem}.card-marks-compact{flex-direction:column;align-items:center;gap:4px;font-size:.8125rem;line-height:1.2}.card-marks-compact .card-mark{display:inline-flex;align-items:center;gap:4px}.card-marks-compact .mark-symbol{width:12px;height:12px;flex:none}.card-progress-compact{font-size:.75rem;color:var(--muted)}.overview-stage+.overview-stage{margin-top:40px;padding-top:8px;border-top:1px solid var(--line)}.overview-stage h2{margin:0;font-size:1.75rem;line-height:1.3;letter-spacing:-.02em}.overview-stage h2 span{margin-left:8px;color:var(--muted);font-size:1rem;font-weight:600}.overview-stage .english-line{margin-top:4px}.overview-year{margin-top:22px}.overview-year h3{margin:0 0 12px;font-size:1.25rem;line-height:1.3}.overview-year h3 span{margin-left:8px;color:var(--muted);font-size:.875rem;font-weight:600}.quiet-header{position:sticky;top:0;z-index:4;flex:none;align-self:stretch;width:100%;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 1px #1c24300a}.topbar-inner,.main,.footer p{width:min(var(--column),calc(100% - (var(--gutter) * 2)));margin-left:auto;margin-right:auto}.topbar-inner{min-height:68px;padding:10px 0;display:flex;align-items:center;justify-content:flex-start;gap:12px 28px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;flex:none;text-decoration:none;color:inherit}.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--brand);box-shadow:inset 0 -10px #0000001f}.brand-name{display:block;font-size:var(--type-subheading);font-weight:700;letter-spacing:.02em;line-height:1.2}.brand-en,.english-line,.card-en,.card-kicker-en,.topic-en{display:block;color:var(--muted);font-size:.875rem;line-height:1.4}.crumbs{min-width:0;max-width:100%;margin-left:auto}.crumbs ol{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 8px;list-style:none;margin:0;padding:0;color:var(--muted);font-size:.92rem}.crumbs li{display:flex;gap:8px;align-items:center;min-width:0;max-width:100%}.crumbs li+li:before{content:"/";color:#8eaea3}.crumbs a,.crumbs span{overflow-wrap:anywhere}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs [aria-current=page]{color:var(--ink);font-weight:700;box-shadow:inset 0 -2px 0 var(--brand)}.main{padding:32px 0 64px;flex:1;min-width:0}.page-intro{margin-bottom:24px;max-width:none}.page-intro h1,.reading-column h1,.empty h1,.empty h2{margin:0;font-size:var(--type-page);line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere}.lede{max-width:42rem}.eyebrow{margin:0 0 10px;color:var(--brand);font-weight:700;font-size:var(--type-caption);letter-spacing:.04em}.lede{margin:12px 0 0;color:var(--ink)}.choice-cards,.path-steps{list-style:none;margin:0;padding:0}.choice-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.choice-cards>li{min-width:0;display:flex}.choice-card,.topic-row{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);text-decoration:none;color:inherit;min-width:0}.choice-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "en" "extra" "progress";row-gap:0;align-items:start;width:100%;padding:7px 12px 6px;border-top:4px solid var(--accent, var(--brand));cursor:pointer}.year-card{--accent: var(--brand)}.choice-card:hover{background:#fff;box-shadow:inset 0 0 0 2px var(--accent, var(--brand))}.choice-card:active{background:var(--mint)}.topic-row:hover{background:#fff;box-shadow:inset 4px 0 0 var(--accent, var(--brand))}.topic-row:hover .topic-title{color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px}.topic-row:active{background:var(--mint)}.choice-card:focus-visible,.topic-row:focus-visible,.status-option:focus-visible,.teacher-note:focus-visible,.brand:focus-visible,a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.card-kicker{color:var(--muted);font-size:.875rem}.card-title,.topic-title{font-weight:700;line-height:1.3;overflow-wrap:anywhere}.card-title{grid-area:title;font-size:var(--type-subheading);line-height:1.25;margin:0}.card-en{grid-area:en;line-height:1.25}.year-card .card-title{font-size:var(--type-stage);line-height:1.2;letter-spacing:-.02em}.year-card .card-kicker{grid-area:extra}.card-blurb{grid-area:extra;margin-top:4px;color:var(--muted);font-size:.875rem;line-height:1.5}.overview-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;margin:-8px 0 16px;color:var(--ink);font-size:.875rem;font-weight:600;line-height:1.4}.overview-legend-title{margin:0;font-weight:700}.overview-legend-title span{margin-left:.35em;color:var(--muted);font-weight:600}.overview-legend ul{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none}.overview-legend li{display:inline-flex;align-items:center;gap:6px;min-width:0}.overview-legend-gloss{margin-left:.45em;color:var(--muted);font-weight:600}.card-marks,.card-progress{grid-area:progress}.card-marks{display:flex;align-items:center;gap:12px;margin-top:3px;color:var(--ink);font-size:.8125rem;font-weight:700;line-height:1}.card-mark{position:relative;display:inline-flex;align-items:center;gap:3px}.mark-symbol{display:block;width:14px;height:14px;flex:none;color:var(--muted)}.mark-symbol-prepared{color:var(--brand-dark)}.card-progress{margin:3px 0 0;padding:0;border:0;display:flex;color:var(--muted);font-size:.8125rem;font-weight:600;line-height:1.3}.unit-path{width:100%;max-width:none;min-width:0}.path-summary,.path-place{margin:0;color:var(--ink);font-size:.875rem;font-weight:600}.path-summary{display:flex;align-items:baseline;gap:8px;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--line)}.path-summary span,.path-place span,.path-section h2 span{display:block;margin-top:2px;color:var(--muted);font-size:.875rem;font-weight:600;overflow-wrap:anywhere}.path-summary span{display:inline;margin-top:0}.path-section+.path-section{margin-top:28px}.path-section-no-heading+.path-section-no-heading{margin-top:0}.path-section h2{margin:0 0 10px;padding:8px 0;border-bottom:1px solid var(--line);color:color-mix(in srgb,var(--accent, var(--brand)) 70%,var(--ink));font-size:1rem;line-height:1.4;overflow-wrap:anywhere}.path-steps{display:flex;flex-direction:column;gap:var(--row-gap)}.path-step{min-width:0}.topic-row{display:grid;grid-template-columns:var(--node) minmax(0,1fr) auto;grid-template-areas:"rail copy pill";column-gap:16px;align-items:center;padding:10px 16px 10px var(--row-pad);cursor:pointer}.path-rail{grid-area:rail;align-self:stretch;display:flex;flex-direction:column;align-items:center}.path-node{width:var(--node);height:var(--node);margin-top:2px;border-radius:999px;display:grid;place-items:center;flex:none;position:relative;z-index:1;border:2px solid var(--track);background:var(--card);color:var(--muted);font-size:.95rem;font-weight:700}.path-node-preparing{border-color:var(--amber);background:var(--amber-bg);color:var(--amber)}.path-node-prepared{border-color:var(--brand);background:var(--brand);color:var(--card)}.path-step:not(.path-step-last) .path-rail:after{content:"";width:2px;flex:1 1 auto;min-height:10px;margin-bottom:calc(var(--row-gap) * -1);background:var(--track)}.topic-copy{grid-area:copy;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:0}.topic-title{font-size:var(--type-subheading)}.topic-row .topic-en,.topic-row .topic-meta{display:inline;margin:0;font-size:.875rem}.topic-row .topic-meta:before{content:"· "}.topic-row .pill{grid-area:pill;align-self:center;max-width:100%}.topic-meta{display:block;margin-top:4px;color:var(--muted);font-size:.92rem;overflow-wrap:anywhere}.topic-meta span{margin-left:8px}.topic-en{overflow-wrap:anywhere}.pill,.status-option{display:inline-flex;flex-direction:row;align-items:baseline;gap:6px;border-radius:999px;padding:6px 12px;line-height:1.3;border:1px solid transparent}.pill span,.reading-column h2 span,.brief-rail h2 span,.status-switch legend span{font-size:.875rem;font-weight:600;color:var(--muted)}.pill-not-started{background:#e8eeeb;color:var(--ink)}.pill-preparing{background:var(--amber-bg);color:var(--amber)}.pill-prepared{background:var(--mint);color:var(--brand-dark)}.brief-workspace{max-width:none;width:100%}.brief-plan-prep{margin-top:28px;padding:16px 16px 14px;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px}.brief-plan .brief-section+.brief-plan-prep{margin-top:0}.plan-playlist-section{margin-bottom:28px}.plan-playlist-lede{margin:0 0 16px;color:var(--muted);font-size:var(--type-meta)}.plan-playlist-empty{margin:0 0 16px;color:var(--muted)}.plan-playlist{margin:0 0 16px;padding:0;list-style:none}.plan-playlist-item{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}.plan-playlist-item:last-child{border-bottom:none}.plan-playlist-index{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:2px solid var(--brand);border-radius:999px;background:var(--card);color:var(--brand-dark);font-weight:700;font-size:.95rem}.plan-playlist-body{min-width:0}.plan-playlist-body a{font-weight:700;overflow-wrap:anywhere}.plan-note-label{display:block;margin-top:10px;font-size:var(--type-meta);color:var(--muted)}.plan-note{display:block;width:100%;margin-top:6px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);font:inherit;resize:vertical}.plan-playlist-actions{flex-direction:column;align-items:flex-end;gap:4px}.plan-picker-list{margin:0 0 16px;padding:0;list-style:none;max-height:min(60vh,420px);overflow:auto}.plan-picker-list li{padding:12px 0;border-bottom:1px solid var(--line)}.plan-picker-list li:last-child{border-bottom:none}.plan-picker-popup{max-width:32rem}.reading-column{width:auto;max-width:none;min-width:0}.brief-rail{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px;min-width:0;max-height:calc(100vh - 100px);overflow:auto;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:var(--radius);padding:16px 16px 14px;box-shadow:var(--shadow)}.reading-column h1{font-size:var(--type-page)}.reading-column a{text-underline-offset:3px}.reading-column .topic-meta{margin-top:8px}.path-nav{margin-top:28px;padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.path-nav-links{display:flex;flex-direction:column;gap:8px;margin-top:12px;min-width:0}.path-nav-links a,.path-nav-end{min-width:0;overflow-wrap:anywhere}.path-nav-links a{text-decoration:none;font-weight:700}.path-nav-links a:hover{text-decoration:underline}.path-nav-end{color:var(--muted)}.status-switch{margin:0;padding:0;border:0;min-width:0}.status-switch legend{font-size:1rem;font-weight:700;line-height:1.35;margin-bottom:8px;padding:0}.status-options{display:flex;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--card)}.status-option{flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:52px;min-width:0;padding:8px 6px;border:0;border-radius:0;background:transparent;color:var(--ink);text-align:center;cursor:pointer;box-shadow:inset -1px 0 0 var(--line)}.status-option:last-child{box-shadow:none}.status-option:first-child{border-radius:9px 0 0 9px}.status-option:last-child{border-radius:0 9px 9px 0}.status-option:hover{background:#eef8f3}.status-option span{font-size:.875rem;font-weight:600;color:var(--muted)}.status-option.pill-not-started,.status-option.pill-preparing,.status-option.pill-prepared{background:transparent;color:var(--ink)}.status-option[aria-pressed=true],.status-option[aria-pressed=true] span{color:#fff}.status-option[aria-pressed=true].pill-not-started{background:var(--ink)}.status-option[aria-pressed=true].pill-preparing{background:var(--amber)}.status-option[aria-pressed=true].pill-prepared{background:var(--brand)}.status-option[aria-pressed=true]:hover{box-shadow:inset 0 0 0 2px var(--ink)}.brief-section,.source-card{margin-top:28px}.brief-section{padding-top:22px;border-top:1px solid var(--line)}.brief-section h2,.source-card h2,.teacher-notes h2{font-size:var(--type-section);line-height:1.35;letter-spacing:-.02em;margin:0 0 12px}.reading-column h2 span,.brief-rail h2 span{display:inline;margin-left:6px;font-weight:600;color:var(--muted)}.brief-section ul,.brief-section ol{margin:0;padding-left:1.25rem}.brief-section li+li{margin-top:10px}.brief-section>p{margin:0;color:var(--muted)}.video-list{margin:0;padding-left:1.35rem}.video-list li+li{margin-top:16px}.video-list a{font-weight:700;overflow-wrap:anywhere}.video-list .english-line,.video-source,.video-note{display:block;overflow-wrap:anywhere}.video-source{margin-top:2px;color:var(--muted);font-size:.875rem}.video-source span{margin-left:6px}.resource-block+.resource-block{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.resource-subheading{margin:0 0 12px;font-size:var(--type-section);line-height:1.35}.resource-upload-note{margin:0 0 12px;color:var(--muted);font-size:var(--type-meta)}.resource-upload-form{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-bottom:20px}.resource-field{width:100%;max-width:28rem}.resource-pending-name{margin:0;font-weight:600}.resource-file-list{margin:0;padding:0;list-style:none}.resource-file-row{padding:14px 0;border-bottom:1px solid var(--line)}.resource-file-row:last-child{border-bottom:none}.resource-file-head{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline;justify-content:space-between}.resource-file-link{font-weight:700;overflow-wrap:anywhere}.resource-file-meta{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:10px}.resource-inline-label{display:flex;flex-direction:column;gap:4px;font-size:var(--type-meta);color:var(--muted)}.resource-type-select{min-width:8rem}.resource-remarks-label{flex:1 1 12rem;min-width:min(100%,14rem)}.resource-remarks-input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.resource-unified-list .resource-format{display:block;margin-bottom:4px;color:var(--muted);font-size:var(--type-meta);font-weight:600}.resource-item+.resource-item{margin-top:18px}.resource-owned-head{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between}.resource-owned-edit{margin-top:10px}.resource-mode-switch{display:flex;gap:8px;margin-bottom:16px}.resource-mode{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);cursor:pointer}.resource-mode-active{border-color:var(--brand);background:var(--mint);color:var(--brand-dark);font-weight:700}.resource-add-popup form{display:flex;flex-direction:column;gap:12px}.popup-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:4px}.video-note{margin-top:4px;color:var(--ink)}.source-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}.source-card p{margin:6px 0}.source-note{color:var(--muted);font-size:.92rem}.teacher-notes{margin:0;padding-top:16px;border-top:1px solid var(--line);background:transparent}.teacher-notes h2{font-size:1rem}.teacher-notes label{cursor:text}.teacher-note{display:block;width:100%;min-height:16rem;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;line-height:1.65;resize:vertical}.teacher-note::placeholder{color:var(--muted)}.back-row{margin-top:28px}.header-selectors{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;min-width:0}.header-field{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 14rem}.header-field-label{color:var(--ink);font-size:.875rem;font-weight:700;line-height:1.4}.header-field-label span{margin-left:6px;color:var(--muted);font-weight:600}.header-select{width:100%;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.header-select:disabled{color:var(--muted);background:#e7f3ee}.list-tabs{margin-top:18px}.list-tablist{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line)}.list-tab{margin:0 0 -1px;padding:10px 14px;border:0;border-bottom:3px solid transparent;border-radius:10px 10px 0 0;background:transparent;color:var(--muted);font-weight:700;line-height:1.3;cursor:pointer}.list-tab span{margin-left:6px;color:var(--muted);font-size:.875rem;font-weight:600}.list-tab:hover{color:var(--ink);background:#fff}.list-tab[aria-selected=true]{color:var(--ink);background:var(--card);border-bottom-color:var(--brand)}.list-tab[aria-selected=true] span{color:var(--brand-dark)}.list-panel{padding-top:4px}.section-head,.sequence-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.section-head{margin-bottom:12px}.section-head h2,.sequence-head h2{margin:0}.brief-section .editable-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:12px}.brief-section .editable-list--view{list-style:decimal;padding-left:1.35rem;gap:10px}.brief-section .editable-list>li,.brief-section .editable-list>li+li{margin:0}.brief-section .editable-list--view>li.is-viewing{padding-left:4px}.brief-section .editable-list--view>li.is-editing{list-style:none;margin-left:-1.35rem}.item-text,.activity-name,.activity-detail,.popup-input{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);line-height:1.65}.item-view{display:block;width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);line-height:1.65;text-align:left;font:inherit;cursor:pointer}.item-view:hover{color:var(--brand-dark)}.item-view:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}.item-view.is-empty{color:var(--muted);font-style:italic}.item-text,.activity-detail,.popup-input{resize:vertical}.activity-name{font-size:1.25rem;font-weight:700}.field-label{display:block;margin-top:16px;font-weight:700}.field-label span,.button-quiet span,.button-restore span,.open-activity span,.activity-canvas h1 span,.sequence-head h2 span,.activity-rail h2 span,.popup h2 span{margin-left:6px;color:var(--muted);font-size:.875rem;font-weight:600}.item-actions,.popup-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.popup-actions{justify-content:flex-end;margin-top:16px}.button-primary,.button-quiet,.button-restore,.open-activity{display:inline-flex;align-items:baseline;gap:0;min-height:40px;padding:8px 14px;border-radius:12px;font-weight:700;line-height:1.3;text-decoration:none;cursor:pointer}.button-primary{border:0;background:var(--brand);color:#fff}.button-primary span{margin-left:6px;color:#fff;font-size:.875rem;font-weight:600}.button-primary:hover{background:var(--brand-dark)}.button-quiet,.button-restore,.open-activity{border:1px solid var(--line);background:var(--card);color:var(--brand-dark)}.button-quiet:hover,.button-restore:hover,.open-activity:hover{background:#fff;box-shadow:inset 0 0 0 2px var(--brand)}.icon-delete{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}.icon-delete:hover{color:var(--ink);background:#e7f4ee}.icon-delete:focus-visible,.icon-close-edit:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.icon-close-edit{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:1.125rem;line-height:1}.icon-close-edit:hover{color:var(--ink);background:#e7f4ee}.list-item-delete{font-size:.875rem}button:disabled{opacity:.45;cursor:not-allowed}.add-item{margin-top:4px}.activity-workspace{display:grid;grid-template-columns:minmax(0,42rem) minmax(16rem,1fr);gap:32px;align-items:start}.activity-canvas,.activity-rail{min-width:0}.activity-canvas h1,.popup h2,.sequence-head h2,.activity-rail h2{letter-spacing:-.02em}.activity-canvas h1{margin:0;font-size:2rem;line-height:1.25}.sequence-block{margin-top:28px}.sequence-head h2,.activity-rail h2,.popup h2{font-size:1.25rem;line-height:1.35}.sequence{list-style:decimal;margin:12px 0 0;padding-left:1.4rem;display:flex;flex-direction:column;gap:12px}.sequence-step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;overflow-wrap:anywhere}.sequence-empty,.step-body{margin:8px 0 0}.sequence-kind{margin:0;color:var(--brand-dark);font-size:.875rem;font-weight:700}.step-title{margin:4px 0 0;font-weight:700}.step-body{white-space:pre-wrap}.activity-rail{position:sticky;top:96px;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.activity-rail h2{margin:0 0 12px}.activity-rail>p,.rail-block>p{margin:0;color:var(--muted)}.rail-block+.rail-block{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.rail-upload-note{margin:0 0 12px;font-size:.92rem;line-height:1.55;color:var(--muted)}.rail-upload-error{margin:10px 0 0;color:#9b2c2c;font-size:.92rem;line-height:1.5}.step-file-link{margin:8px 0 0}.step-missing{color:var(--muted)}.step-open-file{display:inline-block;margin-top:8px;text-decoration:none}.activity-file-view{display:flex;flex-direction:column;height:100dvh;background:#e5f3ec}.file-view-back{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--line);font-size:.95rem}.file-view-name{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-view-meta{flex:1 1 100%;color:var(--muted);font-size:var(--type-meta)}.activity-file-view-frame{flex:1;min-height:0}.activity-file-view-frame .folio-shell{height:100%}.file-view-loading,.file-view-error{padding:24px 16px}.file-view-error p{margin:0 0 12px}.rail-videos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.rail-video-title{margin:0;font-weight:700;overflow-wrap:anywhere}.popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#1c243073}.activity-design-backdrop{z-index:25;padding:0}.popup-backdrop-nested{z-index:30}.activity-design-popup{width:80vw;height:80vh;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);display:flex;flex-direction:column;padding:0;overflow:hidden}.activity-design-popup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line);flex-shrink:0}.activity-design-popup-head h2{margin:0}.activity-design-popup-context{margin:4px 0 0;color:var(--muted);font-size:var(--type-meta)}.activity-design-popup-body{overflow:auto;padding:20px 22px 24px;flex:1;min-height:0}.activity-plan-preview{margin-top:10px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:var(--type-meta)}.activity-plan-detail{margin:0 0 10px;white-space:pre-wrap}.activity-plan-steps{margin:0;padding-left:1.25rem}.activity-plan-steps li{margin:6px 0}.activity-plan-step-kind{margin-right:6px;color:var(--muted);font-weight:600}.brief-plan--prep-space{max-width:none}.prep-space-canvas{min-height:min(70vh,640px);padding:24px 28px 28px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.prep-space-head h2{margin:0;font-size:var(--type-section)}.prep-space-lede{margin:8px 0 0;color:var(--muted);font-size:var(--type-meta);max-width:52rem}.prep-space-empty{margin:24px 0;color:var(--muted)}.prep-timeline{list-style:none;margin:28px 0 0;padding:0 0 0 28px;border-left:3px solid var(--brand)}.prep-timeline-node{position:relative;margin:0 0 24px;padding-left:0}.prep-timeline-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(11rem,16rem);gap:12px;align-items:start}@media(max-width:720px){.prep-timeline-row{grid-template-columns:auto minmax(0,1fr)}.prep-sticky-note{grid-column:1 / -1;margin-left:48px;transform:none}}.prep-timeline-track{position:relative;min-width:0;padding-left:8px}.prep-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:36px;min-height:44px;margin-top:12px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted);cursor:grab;font:inherit}.prep-drag-handle:active{cursor:grabbing}.prep-drag-handle:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.prep-drag-grip{display:block;width:10px;height:16px;background:radial-gradient(circle,currentColor 1.5px,transparent 1.5px) 50% 0 / 10px 5px repeat-y;opacity:.85}.prep-timeline-node.is-drag-over .prep-timeline-card{outline:3px solid var(--brand);outline-offset:2px}.prep-timeline-marker{position:absolute;left:-36px;top:18px;width:14px;height:14px;border-radius:50%;background:var(--card);border:3px solid var(--brand)}.prep-sticky-note{margin-top:8px;padding:10px 12px 12px;background:#fff8c4;border:1px solid #e3d48a;border-radius:2px 12px 12px 2px;box-shadow:2px 3px #1c243012;transform:rotate(1.2deg)}.prep-sticky-label{display:block;margin-bottom:6px;font-size:var(--type-caption);font-weight:700;color:#7a4c0c}.prep-sticky-input{display:block;width:100%;min-height:5rem;padding:0;border:0;background:transparent;font:inherit;font-size:var(--type-meta);line-height:1.5;resize:vertical;color:var(--ink)}.prep-sticky-input::placeholder{color:#8a7a45}.prep-timeline-card{padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:14px}.prep-timeline-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.prep-timeline-kind{font-weight:700;color:var(--brand-dark)}.prep-timeline-step{font-size:var(--type-caption);color:var(--muted)}.prep-node-title,.prep-node-body{width:100%;font:inherit}.prep-space-add-bar{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;padding-top:20px;border-top:1px dashed var(--line)}.prep-pia-badge{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;padding:10px 12px;background:var(--mint);border-radius:10px}.prep-pia-tag{flex-shrink:0;padding:2px 8px;border-radius:6px;background:var(--brand);color:#fff;font-size:var(--type-caption);font-weight:700}.prep-pia-prompt{white-space:pre-wrap}.prep-pia-lede{margin:0 0 12px;color:var(--muted);font-size:var(--type-meta)}.prep-pia-block{margin:0 0 12px}.prep-pia-meta{margin:0 0 8px;font-size:var(--type-meta);color:var(--muted)}.prep-pia-details{margin:0;font-size:var(--type-meta)}.prep-pia-details summary{cursor:pointer;font-weight:600;color:var(--brand-dark)}.prep-pia-plan{margin:8px 0 0;padding:10px 12px;max-height:14rem;overflow:auto;white-space:pre-wrap;font-family:inherit;font-size:var(--type-caption);line-height:1.45;background:#f4fbf8;border:1px solid var(--line);border-radius:8px}.pia-wizard-popup{width:min(920px,96vw);max-height:90vh;overflow:auto}.pia-wizard-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.pia-wizard-kicker{margin:0 0 4px;font-size:var(--type-caption);font-weight:700;color:var(--brand)}.pia-wizard-topic{margin:6px 0 0;color:var(--muted);font-size:var(--type-meta)}.pia-wizard-steps{display:flex;gap:8px;list-style:none;margin:0;padding:0}.pia-wizard-steps li{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--line);font-size:var(--type-caption);font-weight:700;color:var(--muted)}.pia-wizard-steps li.is-active{border-color:var(--brand);background:var(--brand);color:#fff}.pia-wizard-steps li.is-done{border-color:var(--brand);color:var(--brand-dark)}.pia-wizard-body{min-height:12rem}.pia-fieldset{margin:0 0 16px;padding:0;border:0}.pia-fieldset legend{margin-bottom:8px;font-weight:700}.pia-chip-row{display:flex;flex-wrap:wrap;gap:8px}.pia-chip{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:var(--type-meta);cursor:pointer}.pia-chip.is-selected{border-color:var(--brand);background:var(--mint);color:var(--brand-dark);font-weight:600}.pia-chip:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.pia-prompt-preview-label{margin-top:12px}.pia-prompt-preview{font-size:var(--type-meta)}.pia-preview-lede,.pia-generating{margin:0 0 12px;color:var(--muted)}.pia-preview-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.pia-preview-card{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}.pia-preview-card h3{margin:0 0 8px;font-size:var(--type-meta)}.pia-preview-pre{margin:0;max-height:10rem;overflow:auto;white-space:pre-wrap;font-family:inherit;font-size:var(--type-caption);line-height:1.45}.pia-wizard-actions{margin-top:16px}.pia-artifact-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:14px}.pia-artifact-list--compact{margin-top:10px}.pia-artifact-card{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.pia-artifact-list--compact .pia-artifact-card{grid-template-columns:minmax(100px,160px) minmax(0,1fr);padding:10px}.pia-artifact-image-link{display:block;border-radius:8px;overflow:hidden;line-height:0;box-shadow:0 1px 4px #0000001f}.pia-artifact-image{display:block;width:100%;height:auto;max-height:11rem;object-fit:cover;object-position:top}.pia-artifact-title{margin:0 0 6px;font-size:var(--type-meta)}.pia-artifact-caption{margin:0 0 8px;font-size:var(--type-caption);color:var(--muted);line-height:1.45}.pia-artifact-usage{margin:0;font-size:var(--type-caption);line-height:1.45}.pia-artifact-usage-label{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:4px;background:var(--mint);color:var(--brand-dark);font-weight:700}.pia-preview-card--wide{grid-column:1 / -1}@media(max-width:560px){.pia-artifact-card{grid-template-columns:1fr}}.prep-activity-source{margin:0 0 10px;font-size:var(--type-meta)}.prep-resource-preview{display:flex;gap:14px;align-items:flex-start;margin:0 0 12px}.prep-resource-thumb-link{flex-shrink:0;border-radius:var(--radius-sm, 6px);overflow:hidden;line-height:0;text-decoration:none;box-shadow:0 1px 3px #0000001f}.prep-resource-thumb-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.prep-resource-thumb{position:relative;width:120px;height:68px;background:var(--wash, #eef1f4);display:flex;align-items:center;justify-content:center}.prep-resource-thumb--doc{width:72px;height:84px;background:#f4f5f7}.prep-resource-thumb--image{width:120px;height:80px}.prep-resource-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.prep-resource-thumb-fallback--video{display:block;width:100%;height:100%;background:linear-gradient(145deg,#2d3748,#1a202c)}.prep-resource-thumb-fallback--image{display:block;width:100%;height:100%;background:linear-gradient(145deg,#cbd5e0,#a0aec0)}.prep-resource-play{position:absolute;left:50%;top:50%;width:0;height:0;margin:-14px 0 0 -10px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent rgb(255 255 255 / 92%);filter:drop-shadow(0 1px 2px rgb(0 0 0 / 35%));pointer-events:none}.prep-resource-meta{min-width:0;flex:1;font-size:var(--type-meta)}.prep-resource-meta>a{font-weight:600;word-break:break-word}.prep-resource-meta .video-source{margin:4px 0 0}.prep-doc-symbol{position:relative;width:48px;height:56px}.prep-doc-symbol-svg{width:100%;height:100%;display:block}.prep-doc-symbol-sheet{fill:#fff;stroke:#c5cad3;stroke-width:1.5}.prep-doc-symbol-fold{fill:#e8ebf0;stroke:#c5cad3;stroke-width:1.5}.prep-doc-symbol-label-bg{fill:var(--doc-accent, #64748b)}.prep-doc-symbol-text{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);font-size:9px;font-weight:800;letter-spacing:.02em;color:#fff;text-transform:uppercase;pointer-events:none}.prep-doc-symbol--word{--doc-accent: #2b579a}.prep-doc-symbol--powerpoint{--doc-accent: #d24726}.prep-doc-symbol--excel{--doc-accent: #217346}.prep-doc-symbol--pdf{--doc-accent: #c0392b}.prep-doc-symbol--file{--doc-accent: #64748b}.prep-activity-actions{margin-bottom:8px}.prep-timeline-node--note .prep-timeline-marker{border-color:#7a4c0c}.prep-timeline-node--exercise .prep-timeline-marker{border-color:#4a5568}.prep-timeline-node--resource .prep-timeline-marker{border-color:var(--brand)}.prep-timeline-node--pia .prep-timeline-marker{border-color:#5b4d9a}.prep-note-upload{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.prep-note-file{margin:0}.prep-note-hint{margin:0;color:var(--muted);font-size:var(--type-meta)}.open-activity{font:inherit}.popup{width:min(32rem,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow)}.popup h2{margin:0}.empty{max-width:none;background:var(--card);border:1px dashed #c5ddd2;border-radius:var(--radius);padding:28px 24px}.empty h2{font-size:1.8rem}.footer{border-top:1px solid var(--line);color:var(--muted);font-size:.88rem;width:100%}.footer p{padding:20px 0 32px}@media(min-width:721px){.choice-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-column .path-nav-links{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 24px}.reading-column .path-nav-links>:last-child{text-align:right}}@media(min-width:960px){.choice-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){:root{--gutter: 16px}.overview-matrix thead th{font-size:.65rem}.workspace{flex-direction:column}.side-column.quiet-header{position:static;flex:none;width:100%;max-height:none;border-right:0;border-bottom:1px solid var(--line)}.workspace.sidebar-closed .side-column.quiet-header{display:none}.sidebar-toggle-open{margin-top:8px}.topbar-inner{flex-direction:column;align-items:stretch;min-height:0;padding:12px 0 14px;gap:8px}.crumbs{margin-left:0}.header-selectors,.header-field{width:100%}.header-select{flex:1;width:100%;max-width:none;min-width:0}.activity-workspace{grid-template-columns:minmax(0,1fr)}.activity-rail{position:static}.crumbs ol{justify-content:flex-start}.main{padding-top:28px;padding-bottom:48px}.page-intro h1,.reading-column h1,.empty h1{font-size:2rem}}@media(max-width:1079px){.brief-rail{position:static;max-height:none;overflow:visible}.teacher-note{min-height:8.5rem}}@media(max-width:720px){.topic-row{grid-template-columns:var(--node) minmax(0,1fr);grid-template-areas:"rail copy" "rail pill";align-items:start;row-gap:8px;padding:14px 14px 12px var(--row-pad)}.topic-row .pill{justify-self:start;margin:0 0 2px;white-space:normal}}@media(prefers-reduced-motion:reduce){.choice-card,.topic-row,.status-option{transition:none}}
