@font-face{font-display:swap;font-family:SchoolKX-nw;font-style:normal;font-weight:400;src:url(../fonts/SchoolKX_new.ttf) format("truetype")}@font-face{font-display:swap;font-family:KG Primary Penmanship;font-style:normal;font-weight:400;src:url(../fonts/KGPrimaryPenmanship.ttf) format("truetype")}:root{--bg:#f6efe6;--bg-paper:#fbf7f1;--bg-card:#fff;--ink:#2b2620;--ink-soft:#6b6258;--ink-muted:#968b7e;--line:#e8ddcd;--line-soft:#f0e7d8;--accent:#8b3a7e;--accent-soft:#f1e1ed;--accent-ink:#5e2755;--warm:#c46a4a;--warm-soft:#f3dfd2;--highlight:#e9d5a8;--green:#6f8b5a;--green-soft:#dde6cf;--radius-lg:22px;--radius-md:14px;--radius-sm:10px;--shadow-sm:0 1px 2px rgba(43,38,32,.04),0 2px 6px rgba(43,38,32,.04);--shadow-md:0 2px 6px rgba(43,38,32,.05),0 8px 24px rgba(43,38,32,.06);--font-sans:"Nunito","Inter",system-ui,-apple-system,sans-serif;--font-display:"Fraunces","Source Serif 4",Georgia,serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}button{cursor:pointer;font-family:inherit}.app{display:grid;grid-template-rows:auto 1fr;min-height:100vh}.header{background:var(--bg-paper);border-bottom:1px solid var(--line);display:grid;gap:24px;grid-template-columns:auto 1fr auto;padding:14px 28px;position:sticky;top:0;z-index:10}.brand,.header{align-items:center}.brand{display:flex;gap:12px}.brand-mark{background:var(--accent);border-radius:12px;color:#fff;display:grid;font-family:var(--font-display);font-size:20px;font-weight:600;height:38px;letter-spacing:-.02em;place-items:center;width:38px}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text strong{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.01em}.brand-text span{color:var(--ink-muted);font-size:12px}.header-goal{align-items:center;background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 18%,transparent);border-radius:var(--radius-md);display:flex;gap:14px;max-width:720px;padding:10px 16px}.header-goal-tag{color:var(--accent-ink);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.header-goal-text{color:var(--ink);font-size:13.5px}.header-actions{align-items:center;display:flex;gap:8px}.icon-btn,.text-btn{align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);display:inline-flex;font-size:13px;gap:8px;padding:8px 12px;transition:background .12s ease,border-color .12s ease}.icon-btn:hover,.text-btn:hover{background:var(--bg-paper);border-color:var(--ink-muted)}.icon-btn svg,.text-btn svg{height:16px;width:16px}.main{display:grid;gap:24px;grid-template-columns:320px 1fr 320px;margin:0 auto;max-width:1640px;padding:24px 28px 0;width:100%}.timeline{background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-lg);overflow-y:auto;padding:18px;scrollbar-width:none}.timeline::-webkit-scrollbar{display:none}.timeline-head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:4px}.timeline-head h3{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0}.timeline-head span{color:var(--ink-muted);font-size:12px}.progressbar{background:var(--line-soft);border-radius:999px;height:6px;margin:12px 0 18px;overflow:hidden}.progressbar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s ease}.timeline-list{display:flex;flex-direction:column;gap:4px;position:relative}.tl-item{align-items:stretch;background:transparent;border:none;border-radius:var(--radius-md);display:grid;grid-template-columns:56px 1fr;padding:10px 8px;position:relative;text-align:left;transition:background .12s ease}.tl-item:hover{background:var(--bg-card)}.tl-item.active{background:#fff;box-shadow:var(--shadow-sm)}.tl-time{color:var(--ink-muted);font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.02em;padding-top:3px}.tl-time strong{color:var(--ink-soft);display:block;font-size:12px}.tl-body{display:flex;flex-direction:column;gap:3px}.tl-label{color:var(--ink);font-size:14px;font-weight:600}.tl-kind{color:var(--ink-muted);font-size:11.5px}.tl-item.done .tl-label{color:var(--ink-soft)}.tl-item.done .tl-time{color:var(--ink-muted)}.tl-dot{background:#fff;border:2px solid var(--line);border-radius:50%;height:10px;left:49px;position:absolute;top:16px;width:10px}.tl-item.active .tl-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.tl-item.done .tl-dot{background:var(--green);border-color:var(--green)}.tl-check{background:#fff;border:1.5px solid var(--line);border-radius:50%;cursor:pointer;display:grid;height:20px;padding:0;place-items:center;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .12s ease;width:20px}.tl-check.checked,.tl-check:hover{border-color:var(--green)}.tl-check.checked{background:var(--green)}.tl-check svg{color:#fff;height:12px;opacity:0;width:12px}.tl-check.checked svg{opacity:1}.stage{display:flex;flex-direction:column;gap:18px;min-width:0;overflow-y:auto;padding-bottom:40px;scrollbar-width:none}.stage::-webkit-scrollbar{display:none}.stage-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px 32px}.stage-head{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:20px}.stage-meta{display:flex;flex-direction:column;gap:6px}.stage-eyebrow{align-items:center;color:var(--accent);display:flex;font-size:11.5px;font-weight:700;gap:10px;letter-spacing:.1em;text-transform:uppercase}.stage-eyebrow .dot{background:var(--ink-muted);border-radius:50%;height:4px;width:4px}.stage-eyebrow .pos{color:var(--ink-muted);font-weight:600}.stage-title{color:var(--ink);font-family:var(--font-display);font-size:30px;font-weight:500;letter-spacing:-.02em;margin:0;text-wrap:pretty}.stage-summary{color:var(--ink-soft);font-size:16px;margin:0;max-width:60ch;text-wrap:pretty}.timer{align-items:flex-end;background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:5px;min-width:150px;padding:8px 12px}.timer-label{color:var(--ink-muted);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.timer-display{color:var(--ink);font-family:var(--font-display);font-size:22px;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:-.02em;line-height:1}.timer-display.warn{color:var(--accent)}.timer-display.over{color:#b94e3a}.timer-bar{background:var(--line-soft);border-radius:999px;height:3px;overflow:hidden;width:100%}.timer-bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width 1s linear}.timer-controls{display:flex;gap:5px}.timer-controls button.primary{align-items:center;background:var(--accent);border:1px solid var(--accent);border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:11px;font-weight:600;gap:4px;padding:3px 8px}.timer-controls button.primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.timer-controls button.reset{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink-muted);cursor:pointer;display:grid;flex-shrink:0;height:24px;padding:0;place-items:center;width:24px}.timer-controls button.reset svg{height:11px;width:11px}.timer-controls button.reset:hover{background:var(--bg-paper);border-color:var(--ink-muted);color:var(--ink)}.teacher-do{background:var(--bg-paper);border-radius:var(--radius-md);margin-bottom:20px;padding:18px 20px}.teacher-do h4{color:var(--ink-muted);font-size:12px;font-weight:700;letter-spacing:.1em;margin:0 0 12px;text-transform:uppercase}.teacher-do ol{counter-reset:step;display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.teacher-do li{align-items:flex-start;counter-increment:step;display:flex;font-size:14.5px;gap:12px;line-height:1.4}.teacher-do li:before{background:#fff;border:1px solid var(--line);border-radius:50%;color:var(--ink-soft);content:counter(step);display:grid;font-size:11px;font-weight:700;height:22px;margin-top:1px;min-width:22px;place-items:center;width:22px}.content-block{display:flex;flex-direction:column;gap:16px}.section-label{color:var(--ink-muted);font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:6px;text-transform:uppercase}.big-prompt{background:var(--highlight);border-radius:var(--radius-md);color:var(--ink);font-family:var(--font-display);font-size:24px;font-weight:500;letter-spacing:-.01em;line-height:1.25;padding:20px 24px;text-wrap:pretty}.columns-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr}.column{background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:16px}.column h5{align-items:center;color:var(--ink-soft);display:flex;font-size:13px;font-weight:700;justify-content:space-between;margin:0 0 10px}.column-tag{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--ink-muted);font-size:11px;font-weight:600;padding:2px 8px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-size:12.5px;padding:5px 10px}.statements{display:flex;flex-direction:column;gap:12px}.statement{align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;display:grid;gap:14px;grid-template-columns:32px 1fr auto;padding:16px 18px;transition:all .12s ease}.statement:hover{border-color:var(--ink-muted)}.statement-num{background:var(--accent-soft);border-radius:50%;color:var(--accent-ink);display:grid;font-family:var(--font-display);font-size:15px;font-weight:600;height:30px;place-items:center;width:30px}.statement-text{color:var(--ink);font-size:15.5px;line-height:1.4}.statement-toggle{background:var(--bg-paper);border:1px solid var(--line);border-radius:999px;color:var(--ink-muted);font-size:11px;padding:4px 10px;white-space:nowrap}.statement.open .statement-toggle{background:var(--accent);border-color:var(--accent);color:#fff}.statement-hint{border-top:1px dashed var(--line);color:var(--ink-soft);font-size:13.5px;grid-column:2/-1;margin-top:10px;padding-top:10px}.closing-q{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink-soft);font-size:14px;font-style:italic;padding:10px 16px}.categories{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.category-card{background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:4px;padding:14px 16px}.category-card strong{color:var(--ink);font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.01em}.category-card .examples{color:var(--accent-ink);font-size:12.5px;font-weight:600}.category-card .purpose{color:var(--ink-soft);font-size:13px;line-height:1.4;margin-top:4px}.rule-box{background:var(--green-soft);border-left:4px solid var(--green);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--ink);font-size:14.5px;margin-top:4px;padding:14px 18px}.rule-box strong{color:var(--green);display:block;font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.tasks-list{display:flex;flex-direction:column;gap:10px}.task-card{align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);display:grid;gap:14px;grid-template-columns:1fr auto auto;padding:14px 18px;transition:all .12s ease}.task-card:hover{border-color:var(--ink-muted)}.task-text{color:var(--ink);font-size:15px}.task-text:before{content:"“";margin-right:2px}.task-text:after,.task-text:before{color:var(--ink-muted);font-family:var(--font-display);font-size:22px;line-height:0}.task-text:after{content:"”";margin-left:2px}.task-reveal{background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--ink-muted);font-size:11px;padding:4px 10px;white-space:nowrap}.task-reveal:hover{border-color:var(--accent);color:var(--accent)}.task-answer{background:var(--green-soft);border-radius:999px;color:var(--ink);font-size:13px;font-weight:600;padding:6px 12px;white-space:nowrap}.q-list{display:flex;flex-direction:column;gap:12px}.q-card{background:var(--bg-paper);border-left:3px solid var(--accent);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:18px;letter-spacing:-.01em;line-height:1.35;padding:14px 18px}.q-card,.roundup-prompt{color:var(--ink);font-family:var(--font-display);font-weight:500}.roundup-prompt{background:var(--highlight);font-size:22px;padding:20px 24px;text-align:center}.media-frame,.roundup-prompt{border-radius:var(--radius-md)}.media-frame{aspect-ratio:16/9;background:#000;border:none;width:100%}.media-link{align-items:center;background:var(--highlight);border-radius:var(--radius-sm);color:var(--ink);display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;text-decoration:none}.stage-nav{display:flex;gap:12px;justify-content:space-between;margin-top:8px}.stage-nav button{align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex:1;flex-direction:column;gap:2px;max-width:280px;padding:14px 20px;text-align:left;transition:all .12s ease}.stage-nav button:hover{background:var(--bg-paper);border-color:var(--ink-muted)}.stage-nav button:disabled{cursor:not-allowed;opacity:.4}.stage-nav button.next{align-items:flex-end;background:var(--accent);border-color:var(--accent);color:#fff;text-align:right}.stage-nav button.next:hover:not(:disabled){background:var(--accent-ink)}.stage-nav .nav-dir{font-size:11px;font-weight:700;letter-spacing:.1em;opacity:.7;text-transform:uppercase}.stage-nav .nav-label{font-size:14px;font-weight:600}.rail{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-bottom:40px;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail-card{background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 18px}.rail-card h4{align-items:center;color:var(--ink);display:flex;font-family:var(--font-display);font-size:15px;font-weight:600;gap:8px;letter-spacing:-.01em;margin:0 0 12px}.rail-card h4 svg{color:var(--accent);height:16px;width:16px}.materials{display:flex;flex-direction:column;gap:8px}.material-row{align-items:start;border-bottom:1px dashed var(--line);display:grid;font-size:13.5px;gap:10px;grid-template-columns:28px 1fr;padding:6px 0}.material-row:last-child{border-bottom:none}.material-icon{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--accent);display:grid;height:28px;place-items:center;width:28px}.material-icon svg{height:15px;width:15px}.material-label{color:var(--ink);display:block;font-weight:600}.material-note{color:var(--ink-muted);display:block;font-size:12.5px}.diff-tabs{display:flex;gap:4px;margin-bottom:10px}.diff-tab{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink-soft);flex:1;font-size:12px;font-weight:600;padding:6px 8px}.diff-tab.active{background:var(--ink);border-color:var(--ink);color:#fff}.diff-text{color:var(--ink-soft);font-size:13.5px;line-height:1.5}.notes-area{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font-family:inherit;font-size:13.5px;min-height:120px;outline:none;padding:12px;resize:vertical;width:100%}.notes-area:focus{border-color:var(--accent)}.notes-foot{color:var(--ink-muted);display:flex;font-size:11px;justify-content:space-between;margin-top:6px}.minimal-list{color:var(--ink-soft);font-size:13px;margin:0;padding-left:18px}.minimal-list li{margin-bottom:4px}.keywords{display:flex;flex-wrap:wrap;gap:6px}.keyword{background:var(--accent-soft);border-radius:999px;color:var(--accent-ink);font-size:12px;font-weight:600;padding:4px 10px}@media(max-width:1280px){.main{gap:16px;grid-template-columns:280px 1fr 280px;padding:20px}.stage-card{padding:24px}}@media(max-width:1080px){.main{grid-template-columns:240px 1fr}.header-goal,.rail{display:none}}@media(max-width:760px){.main{grid-template-columns:1fr;padding:16px}.timeline{overflow-y:visible}.rail,.stage{overflow-y:visible;padding-bottom:0}.stage-card{padding:18px}.stage-head{flex-direction:column}.stage-title{font-size:24px}.columns-grid{grid-template-columns:1fr}.header{grid-template-columns:1fr auto;padding:12px 16px}.brand-text,.header-goal{display:none}}@media print{body{background:#fff}.header,.icon-btn,.rail,.stage-nav,.text-btn,.timeline,.timer-controls,.tweaks-shell,[data-no-print]{display:none!important}.main{display:block;max-width:none;padding:0}.stage{gap:12px}.stage-card{-moz-column-break-inside:avoid;border:1px solid #ddd;box-shadow:none;break-inside:avoid;padding:16px}.timer{display:none}.stage-head{display:block}.stage-title{font-size:18px}.stage-summary{font-size:13px}.print-cover,.print-only{display:block!important}.print-cover{page-break-after:always}}.print-cover,.print-only{display:none}.density-compact .stage-card{padding:18px 22px}.density-compact .stage-title{font-size:24px}.density-compact .stage-summary{font-size:14px}.density-compact .big-prompt{font-size:19px;padding:14px 18px}.big-prompt p,.board-question p,.board-statement-text p,.board-sub p,.board-title p,.ddu-prompt p,.q-card p,.retrieval-prompt p,.roundup-prompt p{margin:0;padding:0}.big-prompt p+p,.board-question p+p,.q-card p+p{margin-top:.5em}.big-prompt ol,.big-prompt ul,.board-question ol,.board-question ul,.q-card ol,.q-card ul{margin:.25em 0 0 1.2em;padding:0}.teacher-do-text p{margin:0 0 6px;padding:0}.teacher-do-text p:last-child{margin-bottom:0}.teacher-do-text ol,.teacher-do-text ul{margin:4px 0;padding-left:1.4em}.teacher-do-text ul{list-style-type:disc}.teacher-do-text ol{list-style-type:decimal}.big-prompt ul,.board-question ul,.q-card ul,.retrieval-hints{list-style-type:disc;padding-left:1.4em}.retrieval-hints li p,.stage-summary p{margin:0;padding:0}.stage-summary p+p{margin-top:.4em}.overview-body{margin:0 auto;max-width:1640px;padding:24px 28px 48px}.overview-hero{align-items:end;border-bottom:1px solid var(--line);display:grid;gap:24px;grid-template-columns:1.4fr 1fr;margin-bottom:16px;padding-bottom:16px}.overview-eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:6px;text-transform:uppercase}.overview-title{font-family:var(--font-display);font-size:36px;font-weight:500;letter-spacing:-.03em;margin:0 0 4px;text-wrap:balance}.overview-sub{color:var(--ink-soft);font-size:14px;margin:0}.overview-stats{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.stat{background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px}.stat-num{color:var(--ink);font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.02em}.stat-label{color:var(--ink-muted);font-size:11px;font-weight:700;letter-spacing:.08em;margin-top:1px;text-transform:uppercase}.overview-progress{align-items:center;background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-lg);display:grid;gap:16px;grid-template-columns:1fr auto;margin-bottom:20px;padding:10px 16px}.overview-progress-label{color:var(--ink-soft);font-size:11px}.overview-progress-bar{background:#fff;border:1px solid var(--line);border-radius:999px;height:6px;margin-top:5px;overflow:hidden}.overview-progress-fill{background:var(--accent);border-radius:999px;height:100%}.overview-progress-pct{color:var(--ink);font-family:var(--font-display);font-size:18px;font-weight:500;letter-spacing:-.02em}.unit{margin-bottom:20px}.unit-head{align-items:baseline;border-bottom:1px dashed var(--line);display:flex;gap:10px;margin-bottom:8px;padding-bottom:6px}.unit-num{background:var(--ink);border-radius:6px;color:#fff;display:grid;flex-shrink:0;font-size:12px;font-weight:700;height:22px;letter-spacing:0;place-items:center;width:22px}.unit-num,.unit-title{font-family:var(--font-display)}.unit-title{flex:1;font-size:16px;font-weight:500;letter-spacing:-.01em;margin:0}.unit-meta{color:var(--ink-muted);font-size:11px}.lessons-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.lesson-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:12px;position:relative;text-decoration:none;transition:all .15s ease}.lesson-card:hover{border-color:var(--ink-muted);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.lesson-card.current{background:linear-gradient(180deg,var(--accent-soft),#fff 60%);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lesson-card.future{opacity:.65}.lesson-meta-row{align-items:center;color:var(--ink-muted);display:flex;font-size:11px;font-weight:600;justify-content:space-between;letter-spacing:.04em}.lesson-code{color:var(--ink-soft);font-family:var(--font-display);font-weight:600;letter-spacing:0}.lesson-title-card{font-family:var(--font-display);font-size:14px;font-weight:500;letter-spacing:-.01em;line-height:1.25;margin:0;text-wrap:pretty}.lesson-status{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.08em;padding:3px 8px;text-transform:uppercase}.status-dot{background:currentColor;border-radius:50%;height:6px;width:6px}.lesson-status.done{background:var(--green-soft);color:#4a6b3a}.lesson-status.current{background:var(--accent-soft);color:var(--accent-ink)}.lesson-status.next{background:#fff3d4;color:#856107}.lesson-status.future{background:var(--bg-paper);color:var(--ink-muted)}.lesson-foot{align-items:center;border-top:1px dashed var(--line);color:var(--ink-muted);display:flex;font-size:11px;justify-content:space-between;margin-top:3px;padding-top:6px}.lesson-foot .arrow{color:var(--accent);font-weight:700}.viewnav{background:var(--bg-paper);border:1px solid var(--line);border-radius:999px;display:flex;gap:2px;padding:4px}.viewnav a{border-radius:999px;color:var(--ink-soft);font-size:12.5px;font-weight:600;padding:6px 14px;text-decoration:none;transition:all .12s ease}.viewnav a:hover{color:var(--ink)}.viewnav a.current{background:var(--ink);color:#fff}.board{color:#f6efe6;display:flex;flex-direction:column;min-height:100vh}.board,.board-bg-1{background:#1f1c18}.board-bg-2{background:#faf6ee;color:#2b2620}.board-bg-3{background:#2c4a3a;color:#f6efe6}.board-top{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;justify-content:space-between;padding:18px 32px}.board-bg-2 .board-top{border-bottom-color:#00000014}.board-top-left{align-items:center;display:flex;font-size:14px;gap:16px;opacity:.8}.board-pill{border:1px solid hsla(0,0%,100%,.2);border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.04em;padding:4px 12px}.board-bg-2 .board-pill{border-color:#00000026}.board-clock{font-family:var(--font-display);font-size:28px;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:-.02em}.board-clock.warn{color:#f0b96b}.board-clock.over{color:#ee7a5e}.board-stage{align-items:center;display:flex;flex:1;flex-direction:column;gap:28px;justify-content:center;padding:60px 80px;position:relative;text-align:center}.board-eyebrow{font-size:14px;font-weight:700;letter-spacing:.16em;opacity:.55;text-transform:uppercase}.board-title{font-family:var(--font-display);font-size:clamp(48px,6vw,84px);font-weight:500;letter-spacing:-.025em;line-height:1.04;margin:0;max-width:22ch;text-wrap:balance}.board-sub{font-size:clamp(20px,2vw,26px);line-height:1.45;margin:0;max-width:38ch;opacity:.78;text-wrap:pretty}.board-bottom{align-items:center;border-top:1px solid hsla(0,0%,100%,.1);display:flex;gap:24px;justify-content:space-between;padding:20px 32px}.board-bg-2 .board-bottom{border-top-color:#00000014}.board-progress-strip{display:flex;flex:1;gap:6px;max-width:600px}.board-step{background:#ffffff1f;border-radius:999px;flex:1;height:6px}.board-bg-2 .board-step{background:#00000014}.board-step.done{background:#fff6}.board-bg-2 .board-step.done{background:#0000004d}.board-step.active{background:var(--accent)}.board-nav{display:flex;gap:8px}.board-btn{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff14;border:1px solid hsla(0,0%,100%,.18);border-radius:12px;color:inherit;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:6px;padding:10px 16px}.board-bg-2 .board-btn{background:#0000000a;border-color:#0000001f}.board-btn:hover{background:#ffffff29}.board-bg-2 .board-btn:hover{background:#00000014}.board-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.board-btn.primary:hover{background:var(--accent-ink)}.board-btn:disabled{cursor:not-allowed;opacity:.35}.board-statements{display:grid;gap:24px;grid-template-columns:repeat(3,1fr);max-width:1400px;width:100%}.board-statement{background:#ffffff0f;border:1px solid hsla(0,0%,100%,.14);border-radius:24px;display:flex;flex-direction:column;gap:20px;min-height:320px;padding:36px 28px}.board-bg-2 .board-statement{background:#fff;border-color:#00000014;box-shadow:0 4px 24px #0000000a}.board-statement-num{font-size:64px;letter-spacing:-.04em;line-height:1;opacity:.35}.board-statement-num,.board-statement-text{font-family:var(--font-display);font-weight:500}.board-statement-text{flex:1;font-size:28px;letter-spacing:-.015em;line-height:1.2;text-align:left;text-wrap:pretty}.board-vote{display:flex;gap:10px}.board-vote-btn{background:transparent;border:1px solid hsla(0,0%,100%,.2);border-radius:12px;color:inherit;cursor:pointer;flex:1;font-family:inherit;font-size:15px;font-weight:700;padding:12px}.board-bg-2 .board-vote-btn{border-color:#0000001f}.board-vote-btn.eens.active,.board-vote-btn.waar.active{background:#6f8b5a;border-color:#6f8b5a;color:#fff}.board-vote-btn.nitwaar.active,.board-vote-btn.oneens.active{background:#c46a4a;border-color:#c46a4a;color:#fff}.board-canvas{height:100%;inset:0;position:absolute;width:100%;z-index:5}.board-draw-toolbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00000080;border:1px solid hsla(0,0%,100%,.15);border-radius:999px;bottom:20px;display:flex;gap:6px;padding:6px 10px;position:absolute;right:32px;z-index:20}.board-bg-2 .board-draw-toolbar{background:#ffffffd9;border-color:#0000001a}.board-draw-tool-btn{background:transparent;border:1.5px solid hsla(0,0%,100%,.25);border-radius:8px;color:#fffc;cursor:pointer;display:grid;font-family:inherit;font-size:13px;height:28px;padding:0;place-items:center;transition:all .12s ease;width:28px}.board-bg-2 .board-draw-tool-btn{border-color:#00000026;color:#0009}.board-draw-tool-btn:hover{background:#ffffff26}.board-draw-tool-btn.active{background:#ffffff40;border-color:#fff9;color:#fff}.board-bg-2 .board-draw-tool-btn:hover{background:#00000014}.board-bg-2 .board-draw-tool-btn.active{background:#0000001f;border-color:#0000004d;color:#000}.board-draw-color-btn{border:2px solid hsla(0,0%,100%,.3);border-radius:50%;cursor:pointer;height:20px;padding:0;transition:all .12s ease;width:20px}.board-draw-color-btn.active,.board-draw-color-btn:hover{border-color:#ffffffe6;transform:scale(1.2)}.board-draw-sep{background:#fff3;border-radius:999px;height:18px;width:1px}.board-bg-2 .board-draw-sep{background:#0000001f}.board-categories{display:grid;gap:18px;grid-template-columns:repeat(4,1fr);max-width:1400px;width:100%}.board-category{background:#ffffff0f;border:1px solid hsla(0,0%,100%,.14);border-radius:18px;display:flex;flex-direction:column;gap:6px;padding:24px 20px;text-align:left}.board-bg-2 .board-category{background:#fff;border-color:#00000014}.board-category strong{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em}.board-category .ex{font-size:14px;font-weight:600;margin-bottom:4px;opacity:.65}.board-category .pp{font-size:14px;line-height:1.4;opacity:.85}.board-tasks{display:grid;gap:14px;grid-template-columns:repeat(2,1fr);max-width:1100px;width:100%}.board-task{background:#ffffff0f;border:1px solid hsla(0,0%,100%,.14);border-radius:16px;font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em;line-height:1.3;padding:20px 24px;text-align:left}.board-bg-2 .board-task{background:#fff;border-color:#00000014}.board-task:before{content:"“";margin-right:4px;opacity:.4}.board-task:after{content:"”";margin-left:4px;opacity:.4}.board-questions{display:flex;flex-direction:column;gap:24px;max-width:900px;width:100%}.board-question{border-left:4px solid var(--accent);font-family:var(--font-display);font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.015em;line-height:1.25;padding-left:24px;text-align:left;text-wrap:pretty}.board-skin-toggle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000059;border-radius:999px;display:flex;gap:6px;padding:5px;position:fixed;right:0;top:18px;transform:translate(-50%);z-index:100}.board-skin-toggle button{border:2px solid hsla(0,0%,100%,.4);border-radius:50%;cursor:pointer;height:18px;padding:0;width:18px}.board-skin-toggle button.active{border-color:#fff;transform:scale(1.15)}.board-media-frame{aspect-ratio:16/9;background:#000;border:none;border-radius:12px;max-width:860px;width:100%}.board-media-img{border-radius:12px;max-height:65vh;max-width:100%;-o-object-fit:contain;object-fit:contain}.board-stage--fullimg{padding:0;position:relative}.board-stage--fullimg .board-media-img{border-radius:0;height:100%;inset:0;max-height:none;max-width:none;-o-object-fit:contain;object-fit:contain;position:absolute;width:100%}.board-media-link{background:#ffffff1f;border:1.5px solid hsla(0,0%,100%,.2);border-radius:10px;color:inherit;display:inline-flex;font-size:1.1rem;gap:8px;padding:14px 28px;text-decoration:none}.board-media-link,.board-sync-btn{align-items:center;font-weight:600}.board-sync-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000059;border:1.5px solid hsla(0,0%,100%,.25);border-radius:20px;color:#ffffff80;cursor:pointer;display:flex;font-family:inherit;font-size:11px;gap:5px;padding:6px 12px;position:fixed;right:124px;top:18px;transition:color .15s,border-color .15s;z-index:100}.board-sync-btn.active{border-color:#6ee7a080;color:#6ee7a0}@media(max-width:1080px){.board-statements{grid-template-columns:1fr}.board-categories{grid-template-columns:repeat(2,1fr)}.board-tasks{grid-template-columns:1fr}.board-stage{padding:32px}}@media(max-width:760px){.overview-hero{gap:24px}.overview-hero,.overview-stats{grid-template-columns:1fr}.overview-title{font-size:36px}.overview-progress{grid-template-columns:1fr}}@media print{.board-bottom,.board-nav,.board-skin-toggle,.viewnav{display:none!important}.board{background:#fff;color:#000;min-height:auto}}.lesson-card[draggable=true]{cursor:grab}.lesson-card[draggable=true]:active{cursor:grabbing}.lesson-card.drag-over{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lesson-card.dragging{opacity:.4}.drag-handle{color:var(--ink-muted);cursor:grab;flex-shrink:0;font-size:11px;letter-spacing:1px;padding:0 4px}.cat-unit{border:2px dashed var(--line);border-radius:var(--radius-lg);padding:12px 14px;transition:border-color .15s,background .15s}.cat-add-btn{background:var(--bg-paper);border:1px solid var(--line);border-radius:6px;color:var(--ink-soft);cursor:pointer;font-family:inherit;font-size:12px;margin-left:auto;padding:4px 10px;transition:all .12s ease}.cat-add-btn:hover{border-color:var(--accent);color:var(--accent)}.cat-delete-btn{background:none;border:1px solid transparent;border-radius:6px;color:var(--ink-muted);cursor:pointer;font-family:inherit;font-size:12px;margin-left:auto;padding:4px 8px;transition:all .12s ease}.cat-delete-btn:hover{border-color:#c0392b;color:#c0392b}.cat-name-input{background:transparent;border:none;border-bottom:2px solid var(--accent);color:var(--ink);flex:1;font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em;outline:none;width:220px}.cat-empty-hint{border:2px dashed var(--line);border-radius:var(--radius-md);color:var(--ink-muted);font-size:13px;grid-column:1/-1;padding:24px;text-align:center}.ddu-view{display:flex;flex-direction:column;gap:16px}.ddu-prompt{color:var(--ink-soft);font-size:17px;margin:0}.ddu-steps{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.ddu-step{background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;font-size:14px;gap:4px;padding:14px}.ddu-steps-preview{color:var(--ink-muted);display:flex;font-size:12px;gap:10px;margin-top:8px}.ddu-steps-preview span{background:var(--bg-paper);border:1px solid var(--line);border-radius:6px;padding:4px 10px}.retrieval-view{display:flex;flex-direction:column;gap:12px}.retrieval-prompt{color:var(--ink-soft);font-size:17px;margin:0}.retrieval-hints{color:var(--ink-muted);font-size:14px;line-height:1.7;margin:0;padding-left:20px}.builder-canvas,.builder-rail,.builder-toolbar{cursor:ns-resize}.builder-canvas :is(a,button,input,select,textarea),.builder-rail :is(a,button,input,select,textarea),.builder-toolbar :is(a,button,input,select,textarea){cursor:auto}.builder-body{display:grid;gap:24px;grid-template-columns:280px 1fr 320px;margin:0 auto;max-width:1640px;padding:24px 28px 0;width:100%}.builder-toolbar{background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-lg);overflow-y:auto;padding:18px;scrollbar-width:none}.builder-toolbar::-webkit-scrollbar{display:none}.toolbar-section{margin-bottom:18px}.toolbar-section:last-child{margin-bottom:0}.toolbar-title{color:var(--ink-muted);font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}.block-types{display:grid;gap:8px;grid-template-columns:1fr 1fr}.block-type-btn{align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:4px;padding:12px 10px;text-align:left;transition:all .12s ease}.block-type-btn:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.block-type-btn svg{color:var(--accent);height:18px;width:18px}.block-type-btn .lbl{font-size:12.5px;font-weight:700}.block-type-btn .desc{color:var(--ink-muted);font-size:10.5px;line-height:1.3}.media-types{display:flex;flex-direction:column;gap:6px}.media-type-btn{align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;display:flex;font-family:inherit;font-size:12.5px;gap:10px;padding:8px 10px;text-align:left}.media-type-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.media-type-btn svg{color:var(--accent);flex-shrink:0;height:16px;width:16px}.builder-canvas{display:flex;flex-direction:column;gap:16px;min-width:0;overflow-y:auto;padding-bottom:40px;scrollbar-width:none}.builder-canvas::-webkit-scrollbar{display:none}.lesson-meta-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 18px}.meta-top-row{align-items:flex-end;display:flex;gap:12px;margin-bottom:10px}.field-label{color:var(--ink-muted);display:block;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.field-input,.field-textarea{background:transparent;border:1px solid transparent;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);font-family:inherit;font-size:14.5px;outline:none;padding:6px 0;transition:border-color .12s ease;width:100%}.field-input:hover,.field-textarea:hover{border-bottom-color:var(--ink-muted)}.field-input:focus,.field-textarea:focus{border-bottom-color:var(--accent)}.field-input.title{font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.01em}.field-input.goal{background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 18%,transparent);border-radius:var(--radius-md);font-size:14px;padding:10px 14px}.canvas-blocks{display:flex;flex-direction:column;gap:10px}.canvas-empty{background:var(--bg-paper);border:2px dashed var(--line);border-radius:var(--radius-lg);color:var(--ink-muted);padding:60px 20px;text-align:center}.canvas-empty strong{color:var(--ink);display:block;font-family:var(--font-display);font-size:18px;font-weight:500;margin-bottom:6px}.cb{align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);display:grid;grid-template-columns:60px 1fr auto;position:relative;transition:all .15s ease}.cb.dragging{opacity:.4}.cb.drag-over{border-color:var(--accent);border-style:dashed}.cb-handle{align-items:center;background:var(--bg-paper);border-radius:var(--radius-lg) 0 0 var(--radius-lg);border-right:1px solid var(--line);color:var(--ink-muted);cursor:grab;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:16px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cb-handle:active{cursor:grabbing}.cb-handle .drag-dots{display:grid;gap:2px;grid-template-columns:1fr 1fr;width:12px}.cb-handle .drag-dots span{background:var(--ink-muted);border-radius:50%;height:4px;width:4px}.cb-handle .num{color:var(--ink);font-family:var(--font-display);font-size:18px;font-weight:600}.cb-handle .duration{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.cb-body{display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px 18px}.cb-top{gap:10px}.cb-kind,.cb-top{align-items:center;display:flex}.cb-kind{background:var(--accent-soft);border-radius:6px;color:var(--accent-ink);font-size:10px;font-weight:700;gap:5px;letter-spacing:.07em;line-height:1.4;padding:3px 7px;text-transform:uppercase}.cb-kind svg{flex-shrink:0;height:11px;width:11px}.cb-kind.media{background:#e3edf6;color:#2a5481}.cb-kind.task{background:var(--green-soft);color:#4a6b3a}.cb-kind.discussion{background:#fff3d4;color:#856107}.cb-kind.instruction{background:var(--accent-soft);color:var(--accent-ink)}.cb-kind.statements{background:#f5e2db;color:#7a3a23}.cb-meta .cb-kind{display:block;-webkit-hyphens:auto;hyphens:auto;text-align:center;word-break:break-word}.cb-meta .cb-kind svg{display:none}.cb-title-input{background:transparent;border:none;border-radius:6px;color:var(--ink);flex:1;font-family:var(--font-display);font-size:18px;font-weight:500;letter-spacing:-.01em;margin-left:-6px;min-width:0;outline:none;padding:4px 6px}.cb-title-input:focus,.cb-title-input:hover{background:var(--bg-paper)}.cb-content{color:var(--ink-soft);font-size:14px;line-height:1.4}.cb-content textarea{background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-family:inherit;font-size:14px;min-height:60px;outline:none;overflow-y:hidden;padding:10px 12px;resize:none;width:100%}.cb-content textarea:focus{background:#fff;border-color:var(--accent)}.cb-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.cb-list-item{align-items:center;background:var(--bg-paper);border-radius:8px;display:flex;gap:8px;padding:6px 10px}.cb-list-item input{background:transparent;border:none;color:var(--ink);flex:1;font-family:inherit;font-size:13.5px;outline:none;padding:2px 0}.cb-list-item button{background:transparent;border:none;border-radius:4px;color:var(--ink-muted);cursor:pointer;display:flex;padding:4px}.cb-list-item button:hover{background:#0000000f;color:#b94e3a}.cb-list-add{background:transparent;border:1px dashed var(--line);border-radius:8px;color:var(--ink-muted);cursor:pointer;font-family:inherit;font-size:12.5px;margin-top:4px;padding:6px 10px;text-align:left}.cb-list-add:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.cb-media-preview{align-items:center;background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-md);display:grid;gap:14px;grid-template-columns:80px 1fr;margin-top:4px;padding:14px}.cb-media-thumb{border-radius:var(--radius-sm);color:#fff;display:grid;font-family:var(--font-display);font-size:11px;font-weight:600;height:56px;letter-spacing:.05em;overflow:hidden;place-items:center;position:relative;width:80px}.cb-media-thumb.ppt{background:linear-gradient(135deg,#d24726,#b03a1e)}.cb-media-thumb.video{background:linear-gradient(135deg,#ee5a5a,#b94e3a)}.cb-media-thumb.pdf{background:linear-gradient(135deg,#c44a4a,#8a2c2c)}.cb-media-thumb.link{background:linear-gradient(135deg,#5b8def,#3866c8)}.cb-media-thumb.image{background:linear-gradient(135deg,#6f8b5a,#4f6b3a)}.cb-media-thumb.audio{background:linear-gradient(135deg,#7c5fc4,#5a3fa0)}.cb-media-thumb.embed{background:linear-gradient(135deg,#2a5481,#1a3a5e)}.cb-media-thumb svg{height:22px;width:22px}.cb-media-info{display:flex;flex-direction:column;gap:2px;min-width:0}.cb-media-info .src{color:var(--ink);font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-media-info .meta{color:var(--ink-muted);display:flex;font-size:11.5px;gap:10px}.cb-media-info .meta span{align-items:center;display:inline-flex;gap:4px}.cb-media-empty{background:var(--bg-paper);border:2px dashed var(--line);border-radius:var(--radius-md);color:var(--ink-muted);cursor:pointer;font-size:13px;padding:16px;text-align:center}.cb-media-empty:hover{border-color:var(--accent);color:var(--accent)}.cb-media-empty input[type=file]{display:none}.cb-meta{align-items:stretch;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:8px;max-width:110px;min-width:110px;padding:10px}.cb-duration{align-items:center;background:var(--bg-paper);border:1px solid var(--line);border-radius:8px;display:flex;gap:6px;padding:6px 8px}.cb-duration input{background:transparent;border:none;color:var(--ink);font-family:var(--font-display);font-size:16px;font-weight:500;outline:none;padding:0;text-align:right;width:38px}.cb-duration label{color:var(--ink-muted);font-size:11px;font-weight:600}.cb-actions{display:grid;gap:4px;grid-template-columns:1fr 1fr}.cb-icon-btn{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink-soft);cursor:pointer;display:grid;height:28px;padding:0;place-items:center;width:28px}.cb-icon-btn:hover{border-color:var(--ink-muted);color:var(--ink)}.cb-icon-btn.danger:hover{border-color:#b94e3a;color:#b94e3a}.cb-icon-btn svg{height:14px;width:14px}.add-between{align-items:center;display:flex;height:12px;justify-content:center;margin:-6px 0;opacity:0;position:relative;transition:opacity .12s ease}.canvas-blocks:hover .add-between{opacity:1}.add-between:before{background:var(--accent);content:"";height:1px;left:0;opacity:.3;position:absolute;right:0;top:50%}.add-between button{background:var(--accent);border:none;border-radius:50%;color:#fff;cursor:pointer;display:grid;font-size:16px;font-weight:700;height:24px;place-items:center;position:relative;width:24px;z-index:1}.builder-rail{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-bottom:40px;scrollbar-width:none}.builder-rail::-webkit-scrollbar{display:none}.summary-card{background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px}.summary-card h4{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em;margin:0 0 5px}.summary-row{align-items:baseline;border-bottom:1px dashed var(--line);display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.summary-row:last-child{border-bottom:none}.summary-row span.label{color:var(--ink-muted)}.summary-row span.val{color:var(--ink);font-family:var(--font-display);font-weight:600}.summary-row span.val.warn{color:#c46a4a}.timeline-mini{background:var(--line-soft);border-radius:6px;display:flex;height:24px;margin-top:12px;overflow:hidden}.timeline-mini div{border-right:1px solid #fff;height:100%}.timeline-mini div:last-child{border-right:none}.builder-actions{display:flex;flex-direction:column;gap:8px}.builder-actions button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:flex;font-family:inherit;font-size:13.5px;font-weight:700;gap:8px;justify-content:center;padding:12px;width:100%}.builder-actions .save{background:var(--accent);border:1px solid var(--accent);color:#fff}.builder-actions .save:hover{background:var(--accent-ink)}.builder-actions .secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.builder-actions .secondary:hover{background:var(--bg-paper)}.builder-actions svg{height:14px;width:14px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2b262066;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:1000}.modal{background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:540px;overflow:hidden;width:100%}.modal-head{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:20px 24px}.modal-head h3{font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.01em;margin:0}.modal-close{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink-muted);cursor:pointer;display:grid;height:32px;padding:0;place-items:center;width:32px}.modal-close:hover{background:var(--bg-paper);color:var(--ink)}.modal-body{overflow-y:auto;padding:24px}.modal-tabs{border-bottom:1px solid var(--line);display:flex;gap:4px;padding:0 24px}.modal-tab{align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--ink-muted);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:600;gap:6px;padding:12px 14px}.modal-tab.active{border-bottom-color:var(--accent);color:var(--accent)}.modal-tab svg{height:14px;width:14px}.upload-zone{border:2px dashed var(--line);border-radius:var(--radius-md);cursor:pointer;padding:36px 20px;text-align:center;transition:all .15s ease}.upload-zone.dragover,.upload-zone:hover{background:var(--accent-soft);border-color:var(--accent)}.upload-zone svg{color:var(--accent);height:32px;margin-bottom:8px;width:32px}.upload-zone strong{display:block;font-family:var(--font-display);font-size:18px;font-weight:500;margin-bottom:4px}.upload-zone span{color:var(--ink-muted);font-size:12.5px}.upload-zone input{display:none}.url-input{border:1px solid var(--line);border-radius:var(--radius-md);font-family:inherit;font-size:14px;outline:none;padding:12px 14px;width:100%}.url-input:focus{border-color:var(--accent)}.library-grid{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.library-item{align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:10px;padding:10px}.library-item:hover{background:var(--accent-soft);border-color:var(--accent)}.library-item .cb-media-thumb{font-size:9px;height:32px;width:44px}.library-item .lib-info{min-width:0}.library-item .lib-name{color:var(--ink);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-item .lib-meta{color:var(--ink-muted);font-size:11px}.modal-foot{border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;padding:16px 24px}.modal-foot button{border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:10px 18px}.modal-foot .cancel{background:#fff;border:1px solid var(--line);color:var(--ink)}.modal-foot .confirm{background:var(--accent);border:1px solid var(--accent);color:#fff}.modal-foot .confirm:disabled{cursor:not-allowed;opacity:.5}.snackbar{align-items:center;animation:snackin .2s ease;background:var(--ink);border-radius:var(--radius-md);bottom:24px;box-shadow:0 8px 24px #0003;color:#fff;display:flex;font-size:13.5px;font-weight:600;gap:10px;left:50%;padding:12px 18px;position:fixed;transform:translate(-50%);z-index:1100}@keyframes snackin{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:1280px){.builder-body{gap:16px;grid-template-columns:280px 1fr 280px;padding:20px}}@media(max-width:1080px){.builder-body{grid-template-columns:240px 1fr}.builder-rail{display:none}}@media(max-width:760px){.builder-body{grid-template-columns:1fr;padding:16px}.builder-toolbar{overflow-y:visible}.builder-canvas,.builder-rail{overflow-y:visible;padding-bottom:0}.lesson-meta-card .field-row{grid-template-columns:1fr}}
