@font-face{font-family:OrbitSans;src:local('Inter'),local('Aptos'),local('Segoe UI');font-display:swap}
/* DEA feedback is visible after answers, including on narrow screens. */
.dfa-feedback{margin-top:22px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--ink);min-width:0;overflow-wrap:anywhere}
.dfa-feedback>h3{margin-bottom:8px}.dfa-note{font-size:13px;margin-top:14px}.dfa-replay{margin-top:18px;font-size:13px}
.dfa-steps{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.dfa-steps button{border:1px solid var(--line);border-radius:10px;padding:8px 13px;min-height:52px;background:var(--card)}
.dfa-steps button small,.dfa-steps button strong{display:block}.dfa-steps button small{font-size:11px;color:var(--muted)}.dfa-steps button[aria-pressed=true]{border-color:var(--lime);background:#303c28}.dfa-steps button[aria-pressed=true] strong{color:var(--lime)}
.dfa-run-status{padding:12px;border-left:3px solid var(--purple);background:var(--card);font-size:13px}
.dfa-diagram-scroll{max-width:100%;overflow:auto;margin:16px 0}.dfa-diagram{display:block;max-width:100%;min-width:320px;height:auto;margin:auto}
.dfa-edge path,.dfa-start{fill:none;stroke:var(--muted);stroke-width:2}.dfa-edge text{fill:var(--ink);font-size:15px;font-weight:650;text-anchor:middle;paint-order:stroke;stroke:var(--bg);stroke-width:7px;stroke-linejoin:round}
.dfa-edge.is-active path{stroke:var(--lime);stroke-width:3}.dfa-edge.is-active text{fill:var(--lime)}.dfa-arrow{fill:var(--muted)}.dfa-arrow-active{fill:var(--lime)}
.dfa-node circle{fill:var(--card);stroke:var(--purple);stroke-width:2}.dfa-node .dfa-accept-ring{fill:none}.dfa-node text{fill:var(--ink);text-anchor:middle;font-size:14px;font-weight:650}.dfa-node.is-current circle{stroke:var(--lime);stroke-width:3}.dfa-node.is-current>circle:first-child{fill:#39472a}.dfa-start-label{fill:var(--muted);font-size:12px}
.dfa-legend{margin-bottom:16px}.dfa-feedback .dfa-transition-table{margin-top:12px}.dfa-feedback table{min-width:100%;font-size:13px}.dfa-feedback caption{text-align:left;color:var(--ink);font-weight:650;padding-bottom:10px}.dfa-feedback th[scope=row]{color:var(--ink);white-space:nowrap}.dfa-feedback td.dfa-active-cell{background:#39472a;color:var(--lime);font-weight:750;box-shadow:inset 0 0 0 2px var(--lime)}
@media(max-width:720px){.dfa-feedback{padding:14px}.dfa-feedback .dfa-diagram{max-width:none}.dfa-feedback .dfa-transition-table th,.dfa-feedback .dfa-transition-table td{padding:10px}.dfa-feedback .dfa-transition-table td:last-child{min-width:65px}}
@media print{.dfa-feedback{background:white;color:#111;break-inside:avoid}.dfa-steps{display:none}.dfa-feedback{--bg:white;--card:white;--ink:#111;--muted:#555;--purple:#63518b;--lime:#3b651a}.dfa-diagram-scroll,.dfa-feedback .table-scroll{overflow:visible}.dfa-feedback .dfa-diagram{max-width:100%;min-width:0}.dfa-node.is-current>circle:first-child,.dfa-feedback td.dfa-active-cell{fill:#e4efda;background:#e4efda}.dfa-feedback .dfa-transition-table table{min-width:0}}
:root{color-scheme:dark;--bg:#151820;--sidebar:#101319;--card:#1d212c;--card2:#232835;--line:#333846;--ink:#f3f4f7;--muted:#a5adbd;--lime:#d4f283;--purple:#b9a5f8;--red:#ffaca8;--green:#a2e7bd;--radius:20px;font-family:OrbitSans,Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}a:hover{color:var(--lime)}button{color:inherit;border:0;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.03em}h1{font-size:clamp(28px,4vw,42px);font-weight:650}h2{font-size:23px;font-weight:650}h3{font-size:17px;font-weight:600}p+p{margin-top:12px}small{font-size:12px}strong{font-weight:650}svg.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}:focus-visible{outline:2px solid var(--lime);outline-offset:4px}::selection{background:#667b34;color:white}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--lime);color:var(--bg);padding:12px}.skip-link:focus{top:10px}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar);padding:36px 22px;position:fixed;inset:0 auto 0 0;width:230px;display:flex;flex-direction:column;border-right:1px solid #252936;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:27px;letter-spacing:-1.3px}.brand img{width:37px;height:37px}.brand-sub{font-size:10px;letter-spacing:2.2px;color:var(--muted);margin:8px 0 39px 4px}.nav-label{font-size:10px;letter-spacing:1.8px;color:#747f94;margin:0 14px 12px}.nav{display:grid;gap:5px}.nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;color:var(--muted);border-radius:11px;font-size:13px;font-weight:550;min-height:46px}.nav a.active{background:#30352a;color:var(--lime)}.nav a:hover{background:#242936;color:var(--ink)}.nav a.active:hover{color:var(--lime)}.nav-badge{margin-left:auto;background:#414934;color:var(--lime);border-radius:5px;font-size:10px;min-width:20px;text-align:center}.sidebar-bottom{margin-top:auto;padding-top:35px}.exam-side{border:1px solid var(--line);border-radius:13px;padding:16px;margin-bottom:20px}.exam-side p{font-size:12px;color:var(--muted);margin-top:8px}.exam-side strong{font-size:14px}.profile{border-top:1px solid var(--line);padding-top:19px;display:flex;align-items:center;gap:11px}.avatar{width:35px;height:35px;border-radius:50%;background:#3a354b;color:var(--purple);display:grid;place-items:center;font-size:11px;font-weight:600}.profile span{font-size:12px}.profile small{display:block;color:var(--muted);font-size:10px}.profile a{margin-left:auto}.main{grid-column:2;min-width:0}.topbar{height:88px;padding:0 44px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #272c36}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb strong{color:var(--ink);font-weight:500}.top-actions{display:flex;align-items:center;gap:18px}.top-pill{font-size:12px;color:var(--muted);display:flex;gap:7px;align-items:center}.top-pill strong{color:var(--lime)}.top-divider{width:1px;height:20px;background:var(--line)}.content{padding:34px 44px 40px;max-width:1460px;margin:auto}.page-head{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.9px;color:var(--muted);text-transform:uppercase;font-weight:650;margin-bottom:11px}.page-head p{color:var(--muted);margin-top:10px;font-size:13px}.pill{display:inline-flex;align-items:center;gap:7px;padding:4px 9px;border-radius:6px;background:#2d3330;color:var(--lime);font-size:10px;letter-spacing:.35px;font-weight:600;white-space:nowrap}.pill.purple{background:#373047;color:#d0bdfd}.pill.gray{background:#2c313e;color:var(--muted)}.pill.yellow{background:#3a3527;color:#e4cf8e}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.muted{color:var(--muted)}.tiny{font-size:11px}.small{font-size:13px}.lime{color:var(--lime)}.purple-text{color:var(--purple)}.grid{display:grid;gap:20px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 290px;align-items:start}.stack{display:grid;gap:22px;min-width:0}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:24px;min-width:0}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.card-title h2{font-size:16px;letter-spacing:-.01em}.card-title a{font-size:11px;color:var(--muted)}.hero{position:relative;overflow:hidden;min-height:300px;background:#cfc8eb;color:#252137;border:0;display:flex;align-items:center;padding:34px}.hero-copy{position:relative;z-index:2;width:67%}.hero .eyebrow{color:#5c526f;margin:15px 0}.hero h2{font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-1.8px;max-width:480px}.hero p{font-size:12px;line-height:1.7;max-width:330px;margin:14px 0 20px;color:#59516b}.hero .pill{color:#4e4667;background:#b9b1d1}.hero-art{position:absolute;right:-27px;bottom:11px;width:270px;height:260px;color:#7b6e9c;opacity:.95}.hero-art .orb{position:absolute;inset:32px 20px;border:1px solid #a99bbc;border-radius:50%;transform:rotate(-30deg)}.hero-art .o2{transform:rotate(35deg);inset:57px -2px}.hero-art .o3{transform:rotate(100deg);inset:43px 17px}.hero-art .core{position:absolute;left:91px;top:78px;width:113px;height:113px;border-radius:50%;display:grid;place-items:center;background:#b0a0ce;box-shadow:inset -15px -12px 30px #8e7fab,inset 12px 7px 30px #ddd3ec;font-family:Georgia,serif;font-size:43px;color:#342b4b}.floating{position:absolute;border:1px solid #b3a7c8;background:#ded8ee;border-radius:11px;padding:6px 15px;font-family:Georgia,serif;font-size:20px;color:#514368;box-shadow:0 5px 15px #8e7fab20}.f1{left:60px;top:27px;transform:rotate(-10deg)}.f2{right:18px;top:120px;transform:rotate(12deg)}.f3{left:50px;bottom:22px;transform:rotate(-8deg)}.orb-dot{position:absolute;right:38px;top:50px;background:var(--lime);width:13px;height:13px;border-radius:50%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 17px;border-radius:9px;background:var(--lime);color:#27311c;font-size:12px;font-weight:650;line-height:1.4;border:1px solid transparent;transition:transform .15s,background .15s}.btn:hover{background:#e0ffa0;color:#192510;transform:translateY(-1px)}.btn.dark{background:#282332;color:white}.btn.dark:hover{background:#453c55;color:white}.btn.secondary{background:#2b303e;color:var(--ink);border-color:#3c4252}.btn.secondary:hover{background:#373e4d;color:white}.btn.ghost{background:transparent;color:var(--muted);border-color:var(--line)}.btn.ghost:hover{color:var(--ink);background:#282d39}.btn.danger{color:var(--red);background:#412c30;border-color:#65434a}.btn.full{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:9px}.icon-btn:hover{background:#2b303e}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:3px 0 16px}.section-heading h2{font-size:18px}.section-heading a{font-size:11px;color:var(--muted)}.lesson-row{display:flex;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.lesson-row:last-child{border-bottom:0;padding-bottom:0}.lesson-row:first-of-type{padding-top:0}.lesson-num{height:39px;width:39px;flex-shrink:0;border:1px solid #404656;background:#282e3b;border-radius:11px;display:grid;place-items:center;font-size:12px;color:var(--muted)}.lesson-num.current{background:var(--lime);color:#344321;border-color:var(--lime)}.lesson-row h3{font-size:13px;letter-spacing:0}.lesson-row p{font-size:11px;color:var(--muted);margin-top:5px}.lesson-row .go{margin-left:auto;color:var(--muted)}.lesson-row:hover h3{color:var(--lime)}.progress{height:5px;background:#343a47;border-radius:10px;overflow:hidden;margin:14px 0 7px}.progress>span{display:block;height:100%;background:var(--lime);border-radius:inherit;transition:width .4s}.progress.purple>span{background:var(--purple)}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.mini-stat{display:flex;align-items:center;gap:12px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:14px}.mini-stat .icon{color:var(--purple)}.mini-stat strong{display:block;font-size:20px;line-height:1.2;font-weight:600}.mini-stat span{color:var(--muted);font-size:10px}.goal-card{text-align:center}.goal-card .card-title{text-align:left}.ring{--amount:0;position:relative;width:137px;height:137px;border-radius:50%;background:conic-gradient(var(--lime) calc(var(--amount)*1%),#343b38 0);padding:9px;margin:10px auto 16px;transform:rotate(-90deg)}.ring-inner{width:100%;height:100%;border-radius:50%;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(90deg)}.ring strong{font-size:30px;font-weight:600;letter-spacing:-1.5px;line-height:1.3}.ring strong span{font-size:17px;color:#7f899a}.ring small{font-size:10px;color:var(--muted)}.goal-card>p{font-size:12px;color:var(--muted);margin:10px 0 18px}.week-dots{display:flex;justify-content:space-between;margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.week-dot{display:grid;gap:7px;color:#7e8799;font-size:9px}.week-dot span{height:24px;width:24px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:11px}.week-dot.done span{background:var(--lime);color:#28341b;border-color:var(--lime)}.week-dot.today span{border-color:var(--lime);color:var(--lime)}.focus-card{background:#20242f}.focus-card .timer{font-size:39px;letter-spacing:-2px;margin:8px 0;font-variant-numeric:tabular-nums}.focus-card p{font-size:11px;color:var(--muted)}.focus-controls{display:flex;gap:8px;margin-top:18px}.focus-controls>.btn{flex:1}.trophy-preview{display:flex;gap:15px;align-items:center;padding:20px}.trophy-preview .trophy-icon{width:51px;height:51px;display:grid;place-items:center;border:1px solid #574d36;background:#322f29;color:#dabf79;border-radius:14px}.trophy-icon .icon{width:25px;height:25px}.trophy-preview h3{font-size:12px}.trophy-preview p{font-size:10px;margin-top:5px;color:var(--muted)}.footer{margin-top:27px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#8993a5;font-size:10px}.footer span{display:flex;align-items:center;gap:6px}.footer .icon{width:13px;height:13px}.two-cards{grid-template-columns:1fr 1fr}.action-card{display:flex;gap:17px;align-items:center;padding:22px}.action-card>.icon{color:var(--purple);width:27px;height:27px}.action-card h3{font-size:13px;margin-bottom:6px}.action-card p{font-size:11px;color:var(--muted)}.action-card .go{margin-left:auto}.week-tabs{display:flex;gap:8px;overflow:auto;padding:4px 2px 16px;margin-bottom:12px;scrollbar-width:thin}.week-tabs button{white-space:nowrap;border:1px solid var(--line);padding:10px 16px;border-radius:10px;color:var(--muted);font-size:12px;min-height:44px}.week-tabs button.active{border-color:var(--lime);background:#313928;color:var(--lime)}.week-intro{display:flex;align-items:center;gap:24px;justify-content:space-between;background:#252c32;margin-bottom:23px}.week-intro p{font-size:13px;color:var(--muted);margin-top:9px}.week-intro h2{font-size:24px}.week-number{font-size:60px;line-height:1;color:#68735d;font-weight:650;letter-spacing:-3px}.week-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:11px}.unit{margin-bottom:20px}.unit-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.unit-head>.icon{color:var(--purple)}.unit-head h2{font-size:16px}.unit-head p{font-size:11px;color:var(--muted);margin-top:5px}.unit-head .pill{margin-left:auto}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lesson-tile{padding:18px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:13px;background:#202531;min-height:91px}.lesson-tile:hover{border-color:#7e8867;background:#292f39}.lesson-tile h3{font-size:13px;letter-spacing:-.1px;line-height:1.4}.lesson-tile p{font-size:10px;color:var(--muted);margin-top:6px}.state-dot{width:7px;height:7px;border-radius:50%;background:#778297;display:inline-block;margin-right:5px}.state-dot.learning{background:#e2c581}.state-dot.safe{background:var(--green)}.unit-bottom{font-size:11px;color:var(--muted);margin-top:18px}.back-link{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);margin-bottom:24px;min-height:40px}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:27px}.reading{max-width:780px}.reading .lead{font-size:17px;line-height:1.8;margin:20px 0 30px;color:#cad1dd}.reading-section{margin:28px 0}.reading-section h2{font-size:20px;margin-bottom:12px}.reading-section p{font-size:15px;color:#c0c8d6;line-height:1.85}.example{background:#283331;border-left:3px solid var(--lime);border-radius:0 12px 12px 0;padding:24px;margin:28px 0}.example h3{font-size:14px;color:var(--lime);margin-bottom:12px}.example p{font-size:14px;line-height:1.85;color:#d0ddd3}.callout{background:#312e3b;border:1px solid #4b415b;border-radius:13px;padding:20px;font-size:13px;line-height:1.85;color:#dacdf0}.callout strong{display:block;color:var(--purple);margin-bottom:7px}.sticky{position:sticky;top:25px;align-self:start}.reading aside p{font-size:12px}.reading-footer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}.field{display:grid;gap:8px;margin-bottom:17px;font-size:12px;color:var(--muted)}input,select,textarea{width:100%;max-width:100%;border:1px solid #434b5d;border-radius:9px;background:#151a25;color:var(--ink);padding:12px 14px;min-height:46px;font-size:14px}textarea{min-height:110px;resize:vertical;line-height:1.6}input::placeholder,textarea::placeholder{color:#768297}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--lime)}input[type=range]{padding:0;border:0;accent-color:var(--lime)}.help{font-size:11px;color:var(--muted);line-height:1.75}.separator{height:1px;background:var(--line);margin:24px 0}.quiz{max-width:790px;margin:0 auto}.quiz-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-bottom:17px}.quiz-card{padding:34px}.quiz-card h1{font-size:24px;line-height:1.5;margin:18px 0 25px;letter-spacing:-.4px}.answers{display:grid;gap:10px}.answer{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #454d60;border-radius:11px;min-height:57px;padding:13px 16px;background:#202632;font-size:14px;line-height:1.5}.answer-letter{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border:1px solid #546075;border-radius:7px;color:#aeb9cb;font-size:11px}.answer.selected{border-color:var(--purple);background:#3c334f}.answer.correct{border-color:var(--green);background:#263e34;opacity:1}.answer.wrong{border-color:var(--red);background:#432e35;opacity:1}.answer.selected .answer-letter{color:var(--purple);border-color:var(--purple)}.quiz-controls{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:25px}.feedback{margin-top:22px;padding:21px;border-radius:12px;background:#2a3630;border:1px solid #445d4a;color:#d1e9d6;font-size:13px;line-height:1.8}.feedback.error{background:#3b2e34;border-color:#67464e;color:#f2cccf}.feedback.info{background:#2b2d42;border-color:#4b4c6b;color:#d3d4ed}.feedback strong{display:block;margin-bottom:7px}.feedback code{font-size:14px;overflow-wrap:anywhere}.quiz-result{text-align:center;padding:40px 20px}.result-symbol{background:#38412b;color:var(--lime);width:75px;height:75px;display:grid;place-items:center;border-radius:50%;margin:0 auto 24px}.result-symbol .icon{height:34px;width:34px}.score{font-size:59px;line-height:1.2;letter-spacing:-3px;font-weight:600;margin:18px 0}.score span{font-size:30px;color:var(--muted)}.result-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}.lab-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.lab-tabs a{padding:10px 15px;border:1px solid var(--line);border-radius:10px;font-size:12px;display:flex;align-items:center;gap:8px;min-height:45px}.lab-tabs a.active{background:#383047;border-color:#8a75ba;color:#d0bdfd}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.lab-grid h2{font-size:20px;margin-bottom:15px}.symbol-keyboard{display:flex;gap:6px;margin:8px 0 18px;flex-wrap:wrap}.symbol-keyboard button{border:1px solid var(--line);border-radius:7px;min-width:40px;min-height:37px;font-family:Georgia,serif;font-size:17px;background:#2b303c}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{font-family:ui-monospace,monospace;background:#2c3540;border:1px solid #414d5f;padding:4px 10px;border-radius:6px;font-size:12px}.chip.accept{color:var(--green);background:#273d32;border-color:#47604d}.chip.reject{color:var(--red);background:#3d2d33;border-color:#64444c}.pair-list{font-size:13px;font-family:ui-monospace,monospace;line-height:2.1;color:var(--muted);max-height:260px;overflow:auto}.set-result{font-family:ui-monospace,monospace;font-size:20px;color:var(--lime);line-height:1.8;overflow-wrap:anywhere;margin:12px 0}.table-scroll{overflow:auto;margin-top:20px}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{color:var(--muted);font-size:11px;font-weight:500}td,th{padding:12px;border-bottom:1px solid var(--line)}td select{min-width:70px;padding:8px;font-size:13px}tr.current-row{background:#354030}tr.current-row td{color:var(--lime)}.dfa-states{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center;padding:35px 10px;border:1px solid var(--line);background:#161c27;border-radius:14px;margin:20px 0;min-height:155px}.dfa-state{width:60px;height:60px;border:2px solid #566278;border-radius:50%;display:grid;place-items:center;font-family:ui-monospace,monospace;position:relative;transition:background .2s}.dfa-state.accepting:before{content:'';position:absolute;inset:5px;border:1px solid #869276;border-radius:50%}.dfa-state.active{background:#d4f283;color:#243319;border-color:var(--lime);box-shadow:0 0 0 6px #d4f28312}.dfa-state.active:before{border-color:#566d2c}.state-name{position:absolute;bottom:-24px;font-family:inherit;color:var(--muted);font-size:9px;white-space:nowrap}.word-tape{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:20px 0}.word-tape span{display:grid;place-items:center;width:31px;height:39px;background:#242d3b;border:1px solid #3f4d62;border-radius:6px;font-family:ui-monospace,monospace}.word-tape .read{color:var(--lime);background:#303d2c}.word-tape .next{border-color:var(--purple);color:var(--purple)}.trace{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--muted);font-family:ui-monospace,monospace;font-size:12px;margin:15px 0}.check-line{display:flex;align-items:center;gap:10px;font-size:13px;margin:15px 0}.builder-task{border:1px solid #615475;background:#302b3c;padding:20px;border-radius:12px;margin:20px 0}.builder-task p{font-size:13px;margin-top:9px;color:#c7bbde}.chart-row{display:grid;grid-template-columns:56px minmax(0,1fr) 100px;align-items:center;gap:14px;margin:17px 0;font-size:13px}.chart-bar{height:12px;border-radius:4px;background:#303747;overflow:hidden}.chart-bar span{display:block;height:100%;background:var(--purple)}.chart-row:nth-child(3) .chart-bar span{background:var(--lime)}.chart-row:nth-child(4) .chart-bar span{background:#daab80}.chart-row:nth-child(5) .chart-bar span{background:#eb939a}.chart-row .number{text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.empty-state{text-align:center;max-width:530px;margin:25px auto;padding:30px}.empty-state>.icon{width:44px;height:44px;color:var(--purple);margin-bottom:20px}.empty-state h2{font-size:24px;margin-bottom:15px}.empty-state p{font-size:14px;color:var(--muted);margin-bottom:24px}.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.achievement{position:relative;min-height:205px}.achievement.locked{background:#1b202a}.achievement-icon{width:55px;height:55px;border-radius:15px;border:1px solid #48414e;background:#2d2934;color:#8a8096;display:grid;place-items:center;margin-bottom:23px}.achievement-icon .icon{height:27px;width:27px}.achievement.unlocked .achievement-icon{background:#3d3c29;color:#e8d08c;border-color:#82764f}.achievement h3{font-size:15px;margin-bottom:10px}.achievement p{font-size:12px;color:var(--muted)}.achievement .lock{position:absolute;right:19px;top:20px;color:#6d788c}.achievement.unlocked .lock{color:var(--lime)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.stat-big{padding:22px}.stat-big>.icon{color:var(--purple);margin-bottom:15px}.stat-big strong{display:block;font-size:33px;font-weight:600;letter-spacing:-1px}.stat-big p{font-size:11px;color:var(--muted);margin-top:5px}.heatmap{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:7px;margin:22px 0 12px}.heat{aspect-ratio:1;border-radius:5px;background:#303644;border:1px solid #3e4758}.heat[data-level='1']{background:#526440;border-color:#687b50}.heat[data-level='2']{background:#8fa55c;border-color:#a2b76f}.heat[data-level='3']{background:var(--lime);border-color:var(--lime)}.legend{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted)}.legend .heat{width:11px;height:11px;border-radius:2px}.topic-bar{margin-top:20px}.topic-bar .labels{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}.error-card{margin:20px 0}.error-card h3{font-size:15px;line-height:1.6}.error-card .feedback{margin-bottom:20px}.error-card summary{cursor:pointer;font-size:12px;color:var(--purple);padding:12px 0;min-height:44px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-grid h2{font-size:18px;margin-bottom:17px}.settings-grid p{font-size:13px;color:var(--muted);margin-bottom:20px}.settings-grid .btn{margin:4px 6px 4px 0}.mobile-brand,.mobile-nav{display:none}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#2a3024;color:#e8f5c8;border:1px solid #5d6b3f;padding:13px 22px;border-radius:12px;box-shadow:0 5px 25px #0004;max-width:min(560px,90vw);font-size:13px;z-index:90;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.file-input{display:none}.note-status{min-height:20px;color:var(--green);font-size:11px;margin-top:8px}.content-enter{animation:enter .25s ease-out}@keyframes enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.source-list{padding-left:20px;color:var(--muted);font-size:12px;line-height:2}.next-week-list{display:grid;gap:13px;padding-left:20px;font-size:14px;color:#c1c9d7}.check-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.check-summary>div{padding:20px;background:#252b37;border-radius:12px;font-size:12px}.check-summary strong{display:block;color:var(--lime);font-size:21px;margin-bottom:8px}.inline-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.topic-color{color:var(--purple)}.notice{padding:14px 18px;margin:0 0 22px;background:#3e342b;border:1px solid #6d5943;border-radius:10px;color:#f1d9b3;font-size:12px}.focus-mini{font-variant-numeric:tabular-nums}.planned{border-style:dashed}.completed-stamp{font-size:11px;color:var(--green)}
@media(min-width:1550px){.content{padding-top:42px}.hero{min-height:320px}.hero-art{right:10px}.hero-copy{width:70%}}
@media(max-width:1180px){.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{width:200px;padding:30px 16px}.content{padding:28px}.topbar{padding:0 28px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.card{padding:21px}.hero{padding:28px}.hero-art{opacity:.55;right:-55px}.hero-copy{width:80%}.mini-stats{gap:9px}.mini-stat{padding:15px 11px;gap:8px}.reading-layout{grid-template-columns:minmax(0,1fr) 210px}.reading-layout .card{padding:17px}.achievement-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.stack:last-child{grid-template-columns:1fr 1fr}.trophy-preview{grid-column:1/-1}.hero-art{opacity:1;right:10px}.hero-copy{width:63%}.reading-layout{grid-template-columns:1fr}.reading-layout aside{position:static;order:2}.stats-grid{grid-template-columns:repeat(2,1fr)}.lab-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.lab-tabs{gap:7px}.lab-tabs a{padding:9px 12px}}
@media(max-width:720px){body{font-size:14px}.shell{display:block}.sidebar{display:none}.topbar{height:70px;padding:0 20px}.breadcrumb{display:none}.mobile-brand{display:flex}.brand{font-size:24px}.brand img{height:31px;width:31px}.top-actions{gap:11px}.top-pill{font-size:10px}.top-divider{display:none}.content{padding:25px 20px 108px}.page-head{margin-bottom:23px;align-items:flex-start;gap:10px}.page-head h1{font-size:30px}.page-head p{font-size:12px}.page-head>.pill{margin-top:7px;font-size:9px}.page-head>.btn{padding:10px;font-size:10px}.hero{padding:28px 25px;min-height:293px}.hero h2{font-size:35px;letter-spacing:-1.5px}.hero p{font-size:12px;max-width:270px}.hero-copy{width:75%}.hero-art{right:-70px;bottom:10px;opacity:.58;transform:scale(.85)}.hero .btn{margin-top:2px}.mini-stats{gap:8px}.mini-stat{display:block;padding:14px 12px}.mini-stat>.icon{width:17px;margin-bottom:9px}.mini-stat strong{font-size:21px}.mini-stat span{font-size:10px}.two-cards{grid-template-columns:1fr;gap:12px}.action-card{padding:19px}.dashboard-grid>.stack:last-child{gap:13px}.goal-card{padding:18px 14px}.focus-card{padding:18px}.focus-controls{flex-wrap:wrap}.focus-controls .btn{font-size:11px;padding:10px}.focus-card .timer{font-size:34px}.card-title h2{font-size:14px}.ring{width:121px;height:121px}.goal-card>p{font-size:11px}.week-dot span{width:20px;height:20px}.week-dot{font-size:8px}.trophy-preview{grid-column:1/-1}.footer{align-items:flex-start;flex-direction:column;font-size:10px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#10151ff5;backdrop-filter:blur(16px);border-top:1px solid #343c49;padding:8px 5px max(9px,env(safe-area-inset-bottom));z-index:30;justify-content:space-around}.mobile-nav a{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;color:#a1acbf;min-height:45px}.mobile-nav a.active{color:var(--lime)}.mobile-nav a .icon{width:21px;height:21px}.lesson-grid{grid-template-columns:1fr}.lesson-tile{min-height:80px}.week-intro{gap:15px}.week-number{font-size:45px}.week-intro h2{font-size:23px}.week-intro p{font-size:12px}.unit-head h2{font-size:15px}.unit-head .pill{font-size:9px}.reading .lead{font-size:16px}.reading-section p{font-size:14px}.reading-section h2{font-size:19px}.quiz-card{padding:23px}.quiz-card h1{font-size:20px}.quiz-controls{flex-wrap:wrap}.answer{font-size:13px;padding:13px;gap:10px}.quiz-top{font-size:11px}.lab-tabs{gap:6px}.lab-tabs a{font-size:10px;padding:9px 10px;flex:1;justify-content:center}.lab-tabs a .icon{width:16px;height:16px}.lab-tabs a:last-child{flex:none}.lab-grid{gap:16px}.achievement-grid{gap:13px}.achievement{padding:20px;min-height:220px}.achievement h3{font-size:14px}.achievement p{font-size:11px}.achievement .lock{right:14px;top:15px}.stat-big{padding:20px}.stat-big strong{font-size:29px}.heatmap{gap:5px}.heat{border-radius:3px}.check-summary{grid-template-columns:1fr;gap:8px}.check-summary>div{padding:15px;display:flex;align-items:center;gap:15px}.check-summary strong{margin-bottom:0}.chart-row{grid-template-columns:38px minmax(0,1fr) 70px;gap:10px}.chart-row .number{font-size:10px}.toast{bottom:88px}.reading-footer .btn{flex:1}.quiz-result{padding:30px 10px}.score{font-size:50px}.table-scroll td,.table-scroll th{padding:9px}.dfa-states{gap:15px;padding:28px 10px 42px}.dfa-state{width:48px;height:48px;font-size:12px}}
@media(max-width:390px){.content{padding-left:15px;padding-right:15px}.topbar{padding:0 15px}.hero h2{font-size:30px}.hero-copy{width:85%}.hero-art{opacity:.35;right:-90px}.top-actions .top-pill:first-child{display:none}.dashboard-grid>.stack:last-child{grid-template-columns:1fr}.trophy-preview{grid-column:auto}.goal-card{padding:22px}.ring{width:135px;height:135px}.week-dot span{width:28px;height:28px}.achievement-grid{grid-template-columns:1fr}.achievement{min-height:175px}.achievement-icon{margin-bottom:18px}.page-head>.pill{display:none}.quiz-card{padding:18px}.lab-tabs a{flex-basis:40%}}
.play-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);margin-bottom:20px}.rank-card h2{font-size:30px;margin:4px 0 6px;color:var(--lime)}.rank-track{display:flex;gap:6px;margin-top:22px}.rank-track span{flex:1;height:8px;border-radius:8px;background:#343a47}.rank-track span.reached{background:var(--purple)}
.quest{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.quest:last-of-type{border-bottom:0}.quest>div{flex:1;min-width:0}.quest h3{font-size:14px}.quest p{font-size:12px;color:var(--muted)}.quest .progress{margin:8px 0 0}.quest-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#2c313e;color:var(--purple);flex-shrink:0}.quest.done .quest-icon{background:#38412b;color:var(--lime)}.quest-xp{font-size:11px;font-weight:650;color:var(--muted);white-space:nowrap}.quest.done .quest-xp{color:var(--lime)}
.quest-preview .quest-line{display:flex;gap:9px;align-items:center;font-size:12px;color:var(--muted);margin-top:9px}.quest-preview .quest-line .icon{width:16px;height:16px;color:var(--purple)}.quest-preview .quest-line.done{color:var(--lime)}.quest-preview .quest-line.done .icon{color:var(--lime)}
.mode-grid{grid-template-columns:1fr 1fr}.mode-card{display:flex;flex-direction:column;gap:12px}.mode-card p{font-size:13px;color:var(--muted)}.mode-card .btn{margin-top:auto;align-self:flex-start}.mode-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#373047;color:var(--purple)}.mode-icon .icon{width:24px;height:24px}.mode-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:var(--muted);margin-bottom:6px}.mode-meta strong{color:var(--ink)}
.boss-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.boss-card{display:flex;flex-direction:column;gap:6px}.boss-card h3{font-size:17px}.boss-card .btn{margin-top:12px;align-self:flex-start}.boss-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#432e35;color:var(--red);margin-bottom:8px}.boss-card.won{border-color:#4f5d39}.boss-card.won .boss-icon{background:#38412b;color:var(--lime)}
.quiz-status{display:flex;align-items:center;gap:14px}.hearts{display:flex;gap:5px}.heart{width:14px;height:14px;background:var(--red);clip-path:path('M7 13 1.2 7.2A3.3 3.3 0 0 1 7 2.6a3.3 3.3 0 0 1 5.8 4.6Z');transition:opacity .3s,transform .3s}.heart.lost{opacity:.18;transform:scale(.8)}.combo{display:inline-flex;align-items:center;gap:5px;color:#e4cf8e;font-weight:650;font-size:12px;animation:pop .35s}.combo .icon{width:16px;height:16px}.xp-pop{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:6px;background:#38412b;color:var(--lime);font-size:11px;animation:pop .4s}
.flashcard{min-height:340px;display:flex;flex-direction:column}.flashcard h1{font-size:clamp(24px,3vw,32px)}.flash-prompt{margin:18px 0 22px}.flashcard>.btn.full{margin-top:auto}.flash-back{margin:22px 0 12px;padding:20px;border-radius:13px;background:#2b2d42;border:1px solid #4b4c6b;color:#e2e2f5;font-size:15px;line-height:1.75;animation:enter .3s}.card-rating{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.blitz-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.blitz-time{font-size:30px;font-weight:650;letter-spacing:-1px;font-variant-numeric:tabular-nums}.blitz-score{display:inline-flex;gap:7px;align-items:center;font-weight:650;color:var(--lime)}.blitz-card h1{font-size:clamp(20px,2.6vw,26px)}.blitz-card .answer{min-height:50px}.blitz-last{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px}.blitz-last.ok{color:var(--green)}.blitz-last.no{color:var(--red)}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:200;overflow:hidden}.confetti span{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;animation:fall 1.6s ease-in forwards}
@keyframes fall{to{top:105%;transform:translateX(40px) rotate(540deg)}}@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
@media(max-width:980px){.play-grid,.mode-grid{grid-template-columns:1fr}}
@media(max-width:720px){.card-rating{grid-template-columns:1fr}.flashcard{min-height:300px}.blitz-time{font-size:26px}.quiz-status{gap:9px}}
/* Sidebar with ten entries: compact rows, bottom block never overlaps the navigation */
.sidebar{overflow-y:auto;overscroll-behavior:contain}.nav,.sidebar-bottom{flex-shrink:0}.nav{gap:2px}.nav a{min-height:40px;padding:9px 14px}.brand-sub{margin-bottom:28px}.sidebar-bottom{padding-top:24px}.exam-side{margin-bottom:14px}
/* Tagesplan und gruppierte Navigation */
.nav .nav-label{margin:14px 14px 4px;font-size:9px}.nav .nav-label:first-child{margin-top:0}
.plan-card{margin-bottom:22px;border-color:#4f5d39;background:linear-gradient(135deg,#1f2530,#1d212c 60%)}.plan-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}.plan-head h2{font-size:22px}
.plan-steps{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:4px}.plan-step{display:flex;gap:14px;align-items:flex-start;padding:12px;border-radius:12px}.plan-step.current{background:#2a3024;border:1px solid #4f5d39}.plan-step h3{font-size:14px}.plan-step p{font-size:12px;color:var(--muted);margin-top:3px}.plan-step>div{flex:1;min-width:0}
.plan-num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#2c313e;color:var(--muted);font-size:12px;font-weight:650;flex-shrink:0}.plan-step.current .plan-num{background:var(--lime);color:#27311c}.plan-step.done .plan-num{background:#38412b;color:var(--lime)}.plan-step.done h3{color:var(--muted);text-decoration:line-through;text-decoration-color:#58606f}.plan-num .icon{width:15px;height:15px}
.plan-link{padding:0;text-align:left;font-weight:600}.plan-link:hover{color:var(--lime)}.plan-min{font-size:11px;color:var(--muted);white-space:nowrap}.plan-go{width:100%;min-height:50px;font-size:13px}.plan-notice{display:flex;gap:8px;align-items:center;margin-top:12px;font-size:12px;color:#e4cf8e}.plan-notice .icon{width:16px;height:16px}
@media(max-width:720px){.plan-head{flex-direction:column}.plan-step{padding:10px 8px}}
.explain-panel{margin-top:16px;padding:20px;border-radius:12px;background:#23283a;border:1px solid #4b4c6b;font-size:13px;line-height:1.75;color:#dcdcf0;animation:enter .25s}.explain-panel h4{font-size:13px;color:var(--purple);margin:14px 0 4px}.explain-panel .eyebrow+h4{margin-top:0}.explain-panel details{margin-top:12px}.explain-panel summary,.explain-details>summary{cursor:pointer;color:var(--lime);font-size:12px;font-weight:600}.explain-details{margin-top:12px}.explain-panel .help{margin-top:14px}
/* Graphen in Klausuren: dunkel am Bildschirm, hell im Druck */
.exam-graph .g-node{fill:#2c2840;stroke:var(--purple)}.exam-graph .g-label{fill:#e6defc}.exam-graph .g-edge{stroke:#6d6490}
@media print{.exam-graph .g-node{fill:#fff;stroke:#62517e}.exam-graph .g-label{fill:#342545}.exam-graph .g-edge{stroke:#9185ae}}
/* Hero im dunklen Farbschema der App: lila Akzent statt heller Fläche */
.hero{background:radial-gradient(circle at 85% 30%,#3a3152 0%,#2a2540 38%,#1f2230 100%);color:var(--ink);border:1px solid #3d3656}.hero .eyebrow{color:#b3a9cc}.hero p{color:#b8b2c9}.hero .pill{color:#d0bdfd;background:#373047}
.hero-art{color:#8f82b3}.hero-art .orb{border-color:#4f4670}.hero-art .core{background:#3a3152;box-shadow:inset -15px -12px 30px #231e33,inset 12px 7px 30px #5a4d7d;color:#d9ccff}
.floating{border-color:#4f4670;background:#2c2840;color:#d9ccff;box-shadow:0 5px 15px #0006}.hero .btn.dark{background:#3c334f;color:#fff;border-color:#5a4d7d}.hero .btn.dark:hover{background:#4a3f63}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.exam-side{display:block;color:inherit}.exam-side:hover{border-color:#4a5163;color:inherit}
/* Training arena */
.arena-links{margin:0 0 24px;flex-wrap:wrap}.practice-filters{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.practice-filters .field:first-child{grid-column:1/-1}.mission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mission{display:flex;flex-direction:column;gap:14px}.mission .pill{align-self:flex-start}.mission .btn{margin-top:auto}.mission-done{border-color:#5d6b3f}.topic-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.topic-library h3{margin:12px 0}.topic-library .inline-actions{margin-top:16px}.topic-steps{padding-left:24px}.topic-steps li{padding:0 0 18px 8px;line-height:1.7}.sidebar .nav{overflow-y:auto;min-height:0}.question-body,.quiz-card h1{overflow-wrap:anywhere}.section-heading{margin-top:28px}.sidebar{overflow-y:auto}.quiz-card h1{white-space:pre-line}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8364c9;outline-offset:3px}
@media(max-width:1180px){.mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.mission-grid,.topic-library,.practice-filters{grid-template-columns:1fr}.arena-links .btn{flex:1 1 160px;justify-content:center}.practice-filters .field:first-child{grid-column:auto}.topic-library .inline-actions .btn{flex:1}.practice-filters select{max-width:100%}}
/* Exam room: readable questions, explicit self-assessment, phone-sized navigation */
.exam-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.exam-card{display:flex;flex-direction:column;gap:16px}.exam-card h2{font-size:24px}.exam-card h3{font-size:15px;font-weight:500}.exam-card .pill{align-self:flex-start}.exam-card .btn{margin-top:auto}.exam-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.exam-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;margin-top:24px}.exam-navigation{align-self:start;position:sticky;top:18px}.exam-navigation nav{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:20px 0}.exam-step{min-width:32px;min-height:44px;padding:7px 3px;border:1px solid var(--line);background:var(--card2);color:var(--ink);border-radius:8px}.exam-step:hover{border-color:#4a5163;background:#2b303e}.exam-step.answered{background:#2f3a26;border-color:#5d6b3f;color:var(--lime)}.exam-step.current{outline:2px solid var(--purple);outline-offset:2px}.exam-navigation .btn{width:100%;padding:12px 8px}.exam-question h2{margin:18px 0}.exam-prompt{line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}.exam-graph{max-width:300px;margin:22px auto}.exam-graph svg{width:100%;display:block}.exam-choices{border:0;padding:0;margin:24px 0;display:grid;gap:12px}.exam-choices input{accent-color:var(--purple);margin:0 12px 0 0;min-width:20px;min-height:20px;flex:0 0 20px}.exam-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:26px}.exam-answer{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.7}.exam-review{margin:22px 0;break-inside:avoid}.exam-review h3{margin:22px 0 12px}.exam-review details{margin-top:18px}.rubric{display:grid;gap:12px;margin-top:18px}.rubric-row{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:12px;font-size:14px;line-height:1.6}.rubric-row select{min-height:44px}.topic-link{display:block;padding:7px 0}.exam-print-only{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1180px){.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-layout{grid-template-columns:175px minmax(0,1fr)}.exam-navigation nav{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.exam-layout{grid-template-columns:1fr}.exam-navigation{position:static}.exam-navigation nav{grid-template-columns:repeat(8,minmax(0,1fr))}.exam-navigation .btn{width:auto}}
@media(max-width:720px){.exam-grid{grid-template-columns:1fr}.exam-toolbar .btn{width:100%}.exam-navigation nav{grid-template-columns:repeat(6,minmax(0,1fr))}.rubric-row{grid-template-columns:1fr 88px;gap:10px}.exam-controls{flex-direction:column}.exam-controls .inline-actions .btn{flex:1}.exam-scores{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-question{padding:22px 18px}.exam-prompt{font-size:16px}}
@media print{body,.main,.shell,.content{display:block!important;background:white!important;color:black!important;margin:0!important;padding:0!important}.sidebar,.topbar,.mobile-nav,.footer,.no-print,#toast,.back-link{display:none!important}.exam-print-only{display:block}.print-question{break-inside:avoid;padding:18px 0;border-bottom:1px solid #aaa}.print-space{height:70px}.card{box-shadow:none!important;border:1px solid #ccc!important;margin-bottom:18px}.exam-review details{display:block}.exam-review details>*{display:block!important}.exam-grid,.stats-grid{display:block}.exam-graph{max-width:180px}h1{font-size:25px!important}h2{font-size:19px!important}.page-head{display:block}a{color:black!important}@page{margin:15mm}}

/* Learning recipes and progressively disclosed worked examples. */
.learning-goal{border-left:4px solid var(--purple);background:#2b2840;border-radius:0 14px 14px 0;padding:20px 24px;margin:26px 0;color:#e2dcf3}.learning-goal p{margin:10px 0;font-weight:600}.learning-goal a{font-size:14px;text-decoration:underline;color:var(--lime)}.method-recipe,.worked-steps{padding-left:24px;line-height:1.85}.method-recipe li,.worked-steps li{padding:8px 0 8px 6px}.lesson-method{scroll-margin-top:24px}.lesson-method h2{margin-top:12px}.worked-example,.recall-check{padding:24px;border:1px solid var(--line);border-radius:16px;margin:24px 0;background:var(--card2);color:var(--ink)}.worked-example{border-left:3px solid var(--lime)}.recall-check{border-left:3px solid var(--purple)}.worked-example h3{color:var(--lime)}.recall-check h3{color:var(--purple)}.worked-example h3,.recall-check h3{margin-bottom:12px}.solution-reveal{margin-top:18px}.solution-reveal summary{cursor:pointer;font-weight:600;line-height:1.6;padding:12px 0;min-height:44px}.solution-reveal p{margin-top:12px}.lesson-method table{font-size:14px}.lesson-method caption{text-align:left;font-weight:600;padding:12px 0}.lesson-method .table-scroll{margin:15px 0}.explain-panel p{white-space:pre-line}.reading,.reading-layout>*,.exam-question{min-width:0}.worked-example p,.worked-steps li{overflow-wrap:anywhere}@media(max-width:720px){.worked-example,.recall-check,.learning-goal{padding:18px}.method-recipe,.worked-steps{padding-left:19px}.lesson-method .btn{width:100%;white-space:normal}}

/* Training: answer actions sit directly after the input; help stays below. */
.quiz-card{margin-top:20px}
.quiz-card .field{margin-bottom:10px}
.quiz-actions{position:sticky;bottom:12px;z-index:5;justify-content:flex-start;padding:12px 0;margin:6px 0 0;background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap}
.quiz-actions>.btn:first-child{min-width:175px}
.quiz-actions .btn{min-height:46px}
.quiz-card .symbol-keyboard{gap:6px;margin:8px 0}
.symbol-keyboard button{min-width:44px;min-height:44px}
.quiz-card input{font-size:16px}
.input-help{margin-top:16px}
.training-hints p{white-space:pre-line;overflow-wrap:anywhere}
.training-hints>.help{margin-top:12px}
.practice-resume{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.practice-resume h2{font-size:18px;margin-bottom:8px}
.practice-search{grid-column:1/-1}
.task-picker{margin-top:22px}
.task-picker>summary{cursor:pointer;font-size:16px;font-weight:600;min-height:44px;line-height:1.7}
.task-picker>summary .pill{margin-left:8px;font-weight:400}
.task-picker>.help{margin:12px 0}
.task-picker-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.task-list{max-height:560px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border-top:1px solid var(--line)}
.task-row{display:flex;align-items:center;gap:10px;padding:14px 2px;border-bottom:1px solid var(--line)}
.task-row>label{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0;cursor:pointer;min-height:44px}
.task-row input{flex:0 0 22px;width:22px;margin:9px 0 0}
.task-row label>span{display:grid;gap:6px;min-width:0}
.task-prompt{font-size:13px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
.task-meta{color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.task-row:has(input:checked){background:#b9a5f80b}
.topic-library .progress{margin:12px 0}
.completed-stamp{margin-top:12px}
@media(max-width:720px){
 .quiz-actions{bottom:calc(72px + env(safe-area-inset-bottom));padding:10px 0;gap:8px}
 .quiz-actions>.btn:first-child{flex:1 0 100%;width:100%}
 .quiz-actions>.btn:not(:first-child){flex:1;min-width:0;font-size:12px;padding:10px}
 .quiz-card h1{font-size:19px;margin:14px 0 18px}
 .practice-resume{align-items:stretch;flex-direction:column}
 .practice-resume .btn{text-align:center}
 .task-picker>summary .pill{display:table;margin:8px 0}
 .task-picker-actions .btn{flex:1 1 140px;font-size:12px}
 .task-picker-actions>.btn:last-child{flex-basis:100%}
 .task-row{gap:6px;align-items:flex-start}
 .task-row>.btn{padding:10px 6px;min-width:44px;font-size:11px}
 .task-row>.btn .icon{display:none}
 .task-list{max-height:65vh}
 .task-row input{margin-top:5px}
}
/* Week 2 reader and finite-state labs. Keep wide tables inside their own scroller. */
.w2-entry{margin:0 0 24px;background:linear-gradient(120deg,#283725,#242a36);border-color:#52683b;display:flex;align-items:center;justify-content:space-between;gap:26px}.w2-entry h2{margin:15px 0 8px;font-size:25px}.w2-entry p{max-width:680px}.w2-entry .inline-actions{flex-shrink:0;flex-direction:column;align-items:stretch}.w2-header{max-width:900px;margin-bottom:30px}.w2-header h1{font-size:clamp(26px,4vw,40px);line-height:1.2;margin:13px 0 15px}.w2-header>p{line-height:1.8;margin-bottom:16px}.w2-resources{margin-top:16px}.w2-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:32px;align-items:start}.w2-layout>*{min-width:0}.w2-layout .reading{max-width:none}.w2-chapters{display:flex;flex-direction:column;gap:4px}.w2-chapters a{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:9px;font-size:14px;line-height:1.5}.w2-chapters a:hover,.w2-chapters a[aria-current=page]{background:#36442c;color:var(--lime)}.w2-mobile-toc{display:none}.w2-reader p{line-height:1.85;overflow-wrap:anywhere}.w2-reader .reading-section{scroll-margin-top:24px}.w2-reader .reading-section h2{line-height:1.4}.w2-table{max-width:100%;margin:18px 0;overscroll-behavior-x:contain}.w2-table table{min-width:450px;width:100%;font-size:13px}.w2-table td{vertical-align:top;line-height:1.65;white-space:normal}.w2-table th{white-space:normal}.w2-table caption{text-align:left;padding:10px 0;color:var(--muted)}.w2-callout{margin:22px 0}.w2-callout p{margin:9px 0 0}.w2-recall{border:1px solid #5d537f;border-radius:15px;padding:22px;margin-top:24px;background:#2a2635}.w2-recall h3{color:var(--purple);margin-bottom:10px}.w2-pagination{display:flex;justify-content:space-between;gap:25px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.w2-pagination a{flex:1;line-height:1.5;font-size:14px}.w2-pagination a:last-child{text-align:right}.w2-chapter-end{margin-top:28px}.w2-chapter-end h2{margin-bottom:16px}.w2-lab{margin-bottom:28px;max-width:1100px}.w2-lab h2{margin-bottom:22px}.w2-controls{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:15px}.w2-controls .field{margin:0}.w2-keyboard{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.w2-keyboard button{min-width:46px;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#303743;color:var(--text);cursor:pointer}.w2-active-states{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:30px 0}.w2-state{min-width:120px;text-align:center;padding:18px 12px;border:2px solid #4e5666;border-radius:16px;background:#202632;display:flex;flex-direction:column;gap:8px}.w2-state strong{font-size:23px}.w2-state span{font-size:11px;color:var(--muted)}.w2-state.is-final{outline:1px solid #78829a;outline-offset:4px}.w2-state.is-active{border-color:var(--lime);background:#35482c}.w2-state.is-active span{color:#dfefcd}.w2-word-display{font-family:monospace;font-size:28px;letter-spacing:4px;overflow-wrap:anywhere;text-align:center;margin:20px 0}.w2-word-display mark{background:#465b2b;color:#ecffd7;border-radius:4px}.w2-groups{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.w2-group{display:flex;flex-direction:column;gap:8px;padding:15px;background:#302a42;border:1px solid #625281;border-radius:12px}.w2-group strong{color:var(--purple)}.w2-lab .inline-actions{margin:20px 0}.w2-solutions>summary{font-size:18px}.w2-solutions>.reading-section{margin-top:30px}
@media(max-width:1100px){.w2-entry{display:block}.w2-entry .inline-actions{flex-direction:row;flex-wrap:wrap;margin-top:20px}.w2-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.w2-controls{grid-template-columns:1fr 1fr}.w2-controls>.btn{grid-column:1/-1}}
@media(max-width:850px){.w2-layout{grid-template-columns:minmax(0,1fr)}.w2-reader+.w2-side{display:none}.w2-mobile-toc{display:block;margin-bottom:22px;border:1px solid var(--line);border-radius:12px;padding:14px}.w2-mobile-toc summary{cursor:pointer;font-weight:650}.w2-mobile-toc nav{margin-top:14px}.w2-header .btn{white-space:normal}.w2-state{min-width:84px;flex:1;padding:14px 6px}.w2-controls{grid-template-columns:minmax(0,1fr)}.w2-lab{padding:20px}.w2-recall{padding:17px}.w2-pagination{gap:15px}.w2-pagination a{font-size:12px}.w2-table table{font-size:12px}.w2-reader .reading-section>p{font-size:15px}.w2-entry h2{font-size:23px}}
@media print{.sidebar,.topbar,.mobile-nav,.w2-side,.w2-mobile-toc,.w2-resources,.w2-chapter-end{display:none!important}.w2-layout{display:block}.w2-reader{color:#111}.w2-reader .table-scroll{overflow:visible}.w2-reader table{min-width:0}.w2-reader .reading-section{break-inside:avoid-page}}

/* Readable, local learning graphics: no external image requests or progress mutations. */
.learning-visual{border:1px solid #596344;border-radius:18px;padding:24px;margin:26px 0;background:linear-gradient(145deg,#272e26,var(--card) 55%);min-width:0;overflow-wrap:anywhere}
.learning-visual h2{font-size:23px;line-height:1.3;margin:10px 0}.learning-visual>p,.lv-week>p{color:var(--muted);font-size:14px;line-height:1.6}
.learning-visual figure{margin:18px 0}.learning-visual figcaption{font-size:14px;font-weight:650;margin:16px 0;color:var(--lime)}
.lv-step-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.lv-step-buttons button{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--line);background:var(--bg);border-radius:9px;color:var(--ink);font-size:13px}.lv-step-buttons button[aria-pressed=true]{background:#39432c;border-color:var(--lime);color:var(--lime)}
.learning-visual button:focus-visible,.lv-route a:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.learning-visual button:disabled{opacity:.4;cursor:default}
.lv-explanation{padding:15px 16px;border-left:3px solid var(--lime);background:var(--bg);line-height:1.7;font-size:14px;margin:18px 0 0}
.lv-flow,.lv-tiles,.lv-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lv-item{position:relative;min-width:0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.lv-item strong,.lv-item>span:last-child{display:block}.lv-item strong{font-size:20px;color:var(--lime);line-height:1.4;margin:7px 0}.lv-item>span:last-child{font-size:13px;color:var(--muted);line-height:1.5}.lv-index{font-size:11px;color:var(--purple)}
.lv-flow .lv-item:not(:last-child) .lv-index:after{content:' →'}.lv-blocks{display:flex;flex-wrap:wrap}.lv-blocks .lv-item{flex:1 1 85px;border-top:4px solid var(--lime)}.lv-blocks .lv-item:nth-child(even){border-top-color:var(--purple)}.lv-blocks .lv-item:nth-child(even) strong{color:var(--purple)}
.lv-svg-scroll{max-width:100%;overflow:auto;background:var(--bg);border-radius:12px;padding:10px 0}.lv-svg{display:block;width:100%;min-width:360px;max-width:650px;margin:auto;color:var(--muted)}.lv-svg text{fill:var(--ink);font-size:18px;font-family:inherit;paint-order:stroke;stroke:var(--bg);stroke-width:5px;stroke-linejoin:round}.lv-edge{fill:none;stroke:var(--muted);stroke-width:2}.lv-edge.checked{stroke:var(--lime);stroke-width:4}.lv-node,.lv-box{fill:#283226;stroke:var(--lime);stroke-width:2}.lv-inner{fill:none;stroke:var(--lime);stroke-width:2}.lv-set{fill:#bddb8622;stroke:var(--lime);stroke-width:2}.lv-set.second{fill:#b8a1ed22;stroke:var(--purple)}.lv-box.accent{fill:#39304b;stroke:var(--purple)}
.lv-nest{padding:16px;background:#2c2939;border:1px solid var(--purple);border-radius:12px;font-size:15px;font-weight:650}.lv-nest div{padding:14px;margin-top:12px;background:#ffffff07;border:1px solid #a0b687;border-radius:10px}.lv-nest span{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:3px}
.lv-triangle{display:grid;gap:9px;padding:15px;background:var(--bg);border-radius:12px}.lv-triangle>div{display:flex;align-items:center;gap:8px}.lv-triangle span{width:40px;font-size:12px}.lv-triangle i{display:block;width:25px;height:25px;border-radius:5px;background:var(--lime)}.lv-triangle strong{font-size:12px;color:var(--muted)}
.lv-stack{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px;background:var(--bg);border-radius:12px}.lv-stack strong{width:120px;padding:9px;background:#343e2b;border:1px solid var(--lime);text-align:center;font-size:20px}.lv-stack span,.lv-stack small{font-size:12px;color:var(--muted);margin:5px}
.lv-tape{display:flex;padding:28px 10px;background:var(--bg);border-radius:12px;justify-content:center}.lv-tape>div{flex:1;max-width:72px;text-align:center}.lv-tape strong{display:block;border:1px solid var(--line);padding:14px 0;font-size:23px}.lv-tape span{display:block;height:30px;padding:8px 0;color:var(--muted)}.lv-tape .active strong{background:#3c4631;border:2px solid var(--lime);color:var(--lime)}.lv-tape .active span{color:var(--lime);font-weight:700}
.lv-week{margin-bottom:24px}.lv-route{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:18px}.lv-route a{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);min-height:70px}.lv-route a>span{color:var(--lime);font-size:12px}.lv-route strong{font-size:14px;flex:1}.lv-route a:hover{border-color:var(--lime)}
@media(max-width:600px){.learning-visual{padding:16px}.learning-visual h2{font-size:21px}.lv-step-buttons button span{display:none}.lv-step-buttons button{min-width:44px;justify-content:center}.lv-item{padding:12px}.lv-item strong{font-size:18px}.lv-flow{grid-template-columns:1fr}.lv-flow .lv-index:after{content:' ↓'!important}.lv-triangle{padding:10px}.lv-triangle>div{gap:5px}.lv-triangle i{width:20px;height:20px}.lv-nest{padding:10px;font-size:13px}.lv-nest div{padding:10px}.lv-tape strong{font-size:19px}.lv-route{grid-template-columns:1fr}}

.learn-targets,.learn-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.learn-targets>div,.learn-mode{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--bg);min-width:0;overflow-wrap:anywhere}.learn-targets strong,.learn-targets span,.learn-mode span,.learn-mode strong,.learn-mode small{display:block}.learn-targets strong,.learn-mode>span{color:var(--lime);margin-bottom:8px}.learn-targets span{font-size:12px;line-height:1.6}.learn-mode strong{font-size:16px;margin:12px 0}.learn-mode small{font-size:12px;color:var(--muted)}.learn-mode .done{color:var(--lime)}.learn-mode .due{color:#efc889}.learn-mode:hover{border-color:var(--lime)}.learning-path-panel{margin:26px 0}.learning-path-panel h2{margin:10px 0}.learn-workshop{margin-top:22px;max-width:100%;min-width:0}.learn-workshop h2{margin:18px 0 12px}.learn-prompt{font-size:17px;line-height:1.8;margin:20px 0}.learn-levels{display:flex;flex-wrap:wrap;gap:10px}.learn-scaffold,.learn-solution{margin:22px 0;padding:18px;border-left:3px solid var(--purple);background:var(--bg);border-radius:8px}.learn-scaffold ol{padding-left:22px}.learn-scaffold li{margin:12px 0}.learn-solution p{line-height:1.8}.learn-criterion{display:flex;gap:12px;align-items:flex-start;padding:14px 0;line-height:1.6;font-size:14px}.learn-criterion input{flex-shrink:0;margin-top:5px;width:20px;height:20px}.learn-comparison{margin-top:24px}.learn-workshop textarea{width:100%;min-height:130px}.learn-old-answer{white-space:pre-wrap}.learn-review-card{margin:18px 0}.learn-review-card p{margin:12px 0}.chomsky-table table{min-width:1100px;table-layout:fixed}.chomsky-table th:first-child{width:55px}.chomsky-table textarea{min-height:140px;font-size:13px}.chomsky-expected{padding:10px;border-left:3px solid var(--lime);background:var(--bg);margin-top:12px}.chomsky-table td{vertical-align:top;white-space:normal;overflow-wrap:anywhere}.learn-save-status{color:var(--lime);margin:14px 0}.learning-next{margin:10px 0}.learn-workshop button:focus-visible,.learn-mode:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.learn-targets,.learn-modes{grid-template-columns:1fr}.learn-targets>div{padding:12px}.learn-prompt{font-size:15px}.learn-levels .btn{flex:1 1 140px}.learn-workshop{padding:17px}}

/* Exact NEA models share scroll containment with the lesson tables. */
.nfa-feedback{margin:24px 0;padding:20px;border:1px solid var(--border);border-radius:16px;min-width:0}
.nfa-feedback svg{display:block;width:100%;min-width:480px;color:#e7edf7;font-size:16px}
.nfa-feedback .inline-actions{margin:16px 0;flex-wrap:wrap}
.nfa-feedback button{min-height:44px;min-width:44px}
.nfa-feedback p,.reading-section p{overflow-wrap:anywhere}
.nfa-feedback svg text{fill:currentColor}

.recovery-detail{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.recovery-detail li{margin:12px 0;line-height:1.7}.recovery-detail ol{padding-left:24px}
.recovery{margin:20px 0;background:var(--surface)}.recovery h3,.recovery h4{margin:14px 0}.recovery p{margin:12px 0;line-height:1.7}
.recovery [data-recovery-result]:not(:empty){padding:14px;border:1px solid var(--line);border-radius:10px}
.w3-tree{display:block;width:100%;min-width:360px;max-height:420px;color:var(--text,#edf1f7);font-size:16px}.w3-script .card{margin:22px 0}.w3-script p,.w3-script li{line-height:1.8}.w3-script ol{padding-left:24px}.w3-script h3{margin-top:22px}
/* Lernpfad-Reiter „Aufgaben“ und „Altklausur“: jede Aufgabe als Lernpfad mit Schrittfolge. */
.week-tabs .wt-tab{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid #4b415b;padding:10px 16px;border-radius:10px;color:#d0bdfd;background:#2a2636;font-size:12px;font-weight:600;min-height:44px}
.week-tabs .wt-tab.active{border-color:var(--purple);background:#3a3150;color:#efe6ff}.week-tabs .wt-tab:hover{color:#efe6ff}
.wt-tab-sep{flex:0 0 1px;background:var(--line);margin:6px 4px}
.wt-intro .wt-howto{list-style:none;counter-reset:wt;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.wt-howto li{counter-increment:wt;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#202531;font-size:12px;color:var(--muted)}
.wt-howto li::before{content:counter(wt);display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#373047;color:#d0bdfd;font-weight:700;font-size:11px;margin-bottom:6px}
.wt-howto strong{display:block;color:var(--ink);font-size:13px}
.wt-tile-link>.icon{margin-left:auto;color:var(--muted)}.wt-tile-link .lesson-num{width:auto;min-width:39px;padding:0 8px}
.wt-tile-meta{font-size:11px!important}.wt-flag{color:#ffcf8a}
.wt-task{display:grid;gap:22px;max-width:980px}
.wt-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:linear-gradient(135deg,#232031,#1d212c 60%)}
.wt-hero h1{margin:6px 0 12px}.wt-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.wt-chips .pill{margin:0}
.wt-section>p+p,.wt-know-item p+p{margin-top:8px}
.wt-section p,.wt-part p{max-width:76ch}
.wt-visual{margin-top:16px}
.wt-know{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:16px}
.wt-know-item{border:1px solid var(--line);border-left:3px solid var(--purple);border-radius:12px;padding:14px 16px;background:#202531;font-size:13px}
.wt-know-item h3{font-size:14px;margin-bottom:6px;color:#e6dcff}.wt-link{display:inline-flex;align-items:center;gap:4px;margin-top:10px;color:var(--lime);font-size:12px;font-weight:600;min-height:32px}
.wt-link .icon{width:14px;height:14px}
.wt-part{scroll-margin-top:20px}
.wt-part-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.wt-part-head h2{font-size:18px;line-height:1.35}.wt-part-head .pill{margin-top:8px}
.wt-part-label{flex-shrink:0;min-width:44px;height:44px;padding:0 8px;border-radius:12px;background:var(--lime);color:#27311c;display:grid;place-items:center;font-weight:750;font-size:14px}
.wt-part-label:empty{display:none}
.wt-attempt{border:1px dashed #4b5163;border-radius:14px;padding:16px;background:#1a1e27}
.wt-attempt textarea{width:100%;background:#151820;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;resize:vertical}
.wt-attempt .inline-actions{margin:6px 0 10px}
.wt-mynote{border-left:3px solid var(--purple);background:#262234;border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:13px}.wt-mynote strong{display:block;color:#d0bdfd}
.wt-stepnav{list-style:none;padding:0;margin:0 0 16px;display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.wt-stepnav button{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px 6px 6px;border:1px solid var(--line);border-radius:12px;background:#202531;color:var(--muted);text-align:left;max-width:220px}
.wt-stepnav button span{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#2c313e;font-weight:700;font-size:12px}
.wt-stepnav button small{font-size:11px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.wt-stepnav button.is-done span{background:#3d4a2c;color:var(--lime)}
.wt-stepnav button[aria-pressed=true]{border-color:var(--lime);background:#2b3324;color:var(--ink)}.wt-stepnav button[aria-pressed=true] span{background:var(--lime);color:#27311c}
.wt-stepnav button.is-final span{background:#373047;color:#d0bdfd}
.wt-step{border:1px solid var(--line);border-radius:16px;padding:20px;background:#191c25;min-width:0}
.wt-step-all+.wt-step-all{margin-top:14px}
.wt-step-count{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.wt-step-title{font-size:19px;margin-bottom:10px}.wt-step-title:focus{outline:none}
.wt-step p{font-size:14px}.wt-step p+p{margin-top:8px}
.wt-step code,.wt-section code,.wt-answer code,.wt-warning code,.wt-tricks code,.wt-part-head code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:#2a2f3c;border-radius:6px;padding:1px 6px;color:#f1f4ff}
.wt-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.wt-tip{margin-top:16px;border-radius:12px;padding:12px 14px;background:#2b3324;border:1px solid #4a5a33;font-size:13px}.wt-tip strong{display:block;color:var(--lime);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:3px}
.wt-answer{border:1px solid #4a5a33;border-radius:14px;padding:16px 18px;background:#212a1d}
.wt-answer-head{font-weight:700;color:var(--lime);margin-bottom:8px}
.wt-warning{border:1px solid #6b4a2a;border-left:4px solid #ffb86b;border-radius:12px;padding:14px 16px;background:#2e2419;color:#f6e3cc;font-size:13px;margin-top:14px}
.wt-warning strong{display:block;color:#ffcf8a;margin-bottom:6px}.wt-warning p+p{margin-top:8px}
.wt-warning-top{margin-top:0}
.wt-grading{margin-top:14px;font-size:13px;color:var(--muted);border-top:1px dashed var(--line);padding-top:12px}.wt-grading strong{color:var(--ink);display:block}
.wt-tricks ul,.wt-mistakes{margin:14px 0 0;padding-left:20px;display:grid;gap:10px;font-size:14px}
.wt-tricks li::marker{color:var(--lime)}
.wt-pager{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.wt-pager .btn{max-width:100%;white-space:normal;text-align:left}
/* Grafiken */
.wt-figure{margin:0}.wt-figure figcaption{font-size:12px;color:var(--muted);margin-top:6px}
.wt-scroll{max-width:100%;overflow:auto;border-radius:12px}
.wt-svg{display:block;width:var(--w);max-width:100%;height:auto;margin:auto;min-width:min(300px,var(--w))}
.wt-edge path{fill:none;stroke:#8f98aa;stroke-width:1.8}.wt-edge.is-dashed path{stroke-dasharray:5 5}
.wt-edge-label{fill:var(--ink);font-size:14px;font-weight:600;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#191c25;stroke-width:6px;stroke-linejoin:round}
.wt-edge.is-on path{stroke:var(--lime);stroke-width:3.2}.wt-edge.is-on .wt-edge-label{fill:var(--lime)}
.wt-edge.is-dim{opacity:.28}
.wt-arrow{fill:#8f98aa}.wt-arrow.on{fill:var(--lime)}
.wt-start{stroke:#8f98aa;stroke-width:1.8;fill:none}
.wt-node circle,.wt-node rect{fill:#232835;stroke:var(--purple);stroke-width:2}
.wt-node .wt-ring{fill:none}
.wt-node text{fill:var(--ink);text-anchor:middle;dominant-baseline:middle;font-weight:650}
.wt-node .wt-node-sub{font-size:11px;fill:var(--muted);font-weight:500}
.wt-node.is-box rect{stroke:#596079}
.wt-node.is-on circle:first-of-type,.wt-node.is-on rect{stroke:var(--lime);stroke-width:3.2;fill:#33402a}
.wt-node.is-dim{opacity:.35}
.wt-node.tone-lime circle:first-of-type,.wt-node.tone-lime rect{fill:#33402a;stroke:#d4f283}
.wt-node.tone-purple circle:first-of-type,.wt-node.tone-purple rect{fill:#342c48;stroke:#b9a5f8}
.wt-node.tone-sky circle:first-of-type{fill:#1f3442;stroke:#8fd3ff}
.wt-node.tone-peach circle:first-of-type{fill:#45301f;stroke:#ffb88a}
.wt-node.tone-pink circle:first-of-type{fill:#45243a;stroke:#ff9ec7}
.wt-node.tone-mint circle:first-of-type{fill:#1f3d30;stroke:#a2e7bd}
.wt-node.tone-sand circle:first-of-type{fill:#3d3622;stroke:#e4cf8e}
.wt-node[class*=tone-] .wt-ring{stroke:inherit}
.wt-tree line{stroke:#8f98aa;stroke-width:1.6}.wt-tree line.is-on{stroke:var(--lime)}
.wt-tnode circle{fill:#232835;stroke:var(--purple);stroke-width:2}.wt-tnode text,.wt-tleaf{fill:var(--ink);text-anchor:middle;dominant-baseline:middle;font-weight:650;font-size:14px}
.wt-tleaf{fill:var(--lime);font-size:16px}
/* Band */
.wt-tape{border:1px solid var(--line);border-radius:14px;padding:14px;background:#151820;margin-bottom:14px}
.wt-tape-state{font-size:12px;color:var(--muted);margin-bottom:10px}.wt-tape-state strong{color:var(--lime)}
.wt-tape-cells{display:flex;gap:4px;overflow-x:auto;padding:14px 2px 4px}
.wt-cell{position:relative;flex:0 0 36px;height:40px;display:grid;place-items:center;border:1px solid #454c5e;border-radius:8px;background:#232835;font-family:ui-monospace,Menlo,monospace;font-size:17px;font-weight:650}
.wt-cell.is-blank{color:#5d6578}
.wt-cell.is-head{border:2px solid var(--lime);background:#33402a;color:var(--lime)}
.wt-cell.is-head::before{content:'▼';position:absolute;top:-16px;font-size:11px;color:var(--lime)}
.wt-config{display:inline-block;margin-top:10px;font-size:14px;background:#232835;border-radius:8px;padding:4px 10px}
.wt-configs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}
.wt-configs li{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:5px 8px;background:#1d212c;font-size:13px}
.wt-configs li span{font-size:10px;color:var(--muted);min-width:18px}.wt-configs code{font-family:ui-monospace,Menlo,monospace}
.wt-configs li.is-on{border-color:var(--lime)}
/* CYK, Tabellen */
.wt-table-wrap{border:1px solid var(--line)}
.wt-cyk,.wt-table{border-collapse:collapse;width:100%;font-size:13px}
.wt-cyk caption,.wt-table caption{text-align:left;padding:10px 12px;color:var(--muted);font-size:12px}
.wt-cyk th,.wt-cyk td,.wt-table th,.wt-table td{border:1px solid var(--line);padding:9px 10px;text-align:center;vertical-align:middle}
.wt-table td,.wt-table th{text-align:left}
.wt-cyk thead th,.wt-table thead th{background:#232835;color:var(--muted);font-weight:600;font-size:12px}
.wt-cyk tbody th{background:#202531;color:var(--muted);font-size:11px;white-space:nowrap}
.wt-cyk td{min-width:74px;font-weight:700;color:var(--ink)}
.wt-cyk td small{display:block;font-weight:400;color:#6f788b;font-size:10px;font-family:ui-monospace,Menlo,monospace}
.wt-cyk td.wt-cyk-off{background:#151820;border-color:#1f232d}
.wt-cyk td.is-focus{box-shadow:inset 0 0 0 3px var(--lime);background:#2b3324;color:var(--lime)}
.wt-cyk td.is-part{box-shadow:inset 0 0 0 2px var(--purple);background:#2a2636}
.wt-cyk td.is-start{background:#33402a;color:var(--lime)}
.wt-empty{color:#6f788b}.wt-pending{color:#5d6578}
.wt-table td.is-on,.wt-table th.is-on{background:#2b3324;color:var(--lime)}
/* Partition */
.wt-partition{display:grid;gap:8px}
.wt-round{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#1d212c}
.wt-round.is-on{border-color:var(--lime)}.wt-round.is-future{opacity:.5}
.wt-round-label{font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--muted);padding-top:4px}
.wt-round p{grid-column:2;font-size:12px;color:var(--muted)}
.wt-blocks{display:flex;flex-wrap:wrap;gap:6px}
.wt-block{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:4px 10px 4px 4px;font-family:ui-monospace,Menlo,monospace;font-size:13px;border:1px solid}
.wt-block b{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;font-size:11px;background:rgba(0,0,0,.35)}
.wt-block.is-new{box-shadow:0 0 0 2px #fff3}
.wt-block.tone-lime{background:#2b3324;border-color:#d4f283;color:#e8ffb5}.wt-block.tone-purple{background:#2f2840;border-color:#b9a5f8;color:#e6dcff}.wt-block.tone-sky{background:#1c2d39;border-color:#8fd3ff;color:#cdeeff}.wt-block.tone-peach{background:#3a2a1c;border-color:#ffb88a;color:#ffe0c9}.wt-block.tone-pink{background:#3a2032;border-color:#ff9ec7;color:#ffd6e9}.wt-block.tone-mint{background:#1c3329;border-color:#a2e7bd;color:#d6f8e3}.wt-block.tone-sand{background:#342e1e;border-color:#e4cf8e;color:#f7ebc6}
/* Kacheln, Ketten, Keller, Gruppen */
.wt-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.wt-tile{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#202531}.wt-tile strong{display:block;font-family:ui-monospace,Menlo,monospace;font-size:14px}.wt-tile span{font-size:12px;color:var(--muted)}
.wt-tile.tone-lime{border-color:#5f7a35;background:#253020}.wt-tile.tone-purple{border-color:#5e4f86;background:#2a2538}.wt-tile.tone-peach{border-color:#8a5a37;background:#33261c}
.wt-chain{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.wt-chain-item{border:1px solid var(--line);border-radius:10px;padding:7px 12px;background:#202531;font-family:ui-monospace,Menlo,monospace;font-size:14px}
.wt-chain-item small{display:block;font-family:OrbitSans,system-ui,sans-serif;font-size:11px;color:var(--muted)}
.wt-chain-item.is-on{border-color:var(--lime);color:var(--lime);background:#2b3324}
.wt-chain-arrow{color:var(--muted)}
.wt-stacks{display:flex;gap:14px;overflow-x:auto;align-items:flex-end;padding-bottom:4px}
.wt-stackcol{display:grid;justify-items:center;gap:6px}.wt-stackcol small{font-family:ui-monospace,Menlo,monospace;color:var(--muted)}
.wt-stack{display:flex;flex-direction:column;border:2px solid #596079;border-top:0;border-radius:0 0 10px 10px;padding:4px;min-width:48px;gap:3px}
.wt-stack span{text-align:center;border-radius:6px;background:#2c313e;padding:2px 8px;font-family:ui-monospace,Menlo,monospace}.wt-stack span.is-top{background:#33402a;color:var(--lime)}.wt-stack span.is-empty{background:none;color:var(--muted);font-size:11px}
.wt-vgroup{display:grid;gap:14px}.wt-vgroup.is-row{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.wt-vlabel{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
@media(max-width:980px){.wt-intro .wt-howto{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.wt-hero .week-number{display:none}.wt-step{padding:14px}.wt-round{grid-template-columns:1fr}.wt-round p{grid-column:1}.wt-part-head h2{font-size:16px}.wt-svg{max-width:100%;min-width:min(var(--w),calc(var(--w)*.72))}.wt-controls .btn{flex:1 1 140px}.wt-stepnav button small{display:none}.wt-stepnav button{padding:6px}}
@media print{.wt-attempt,.wt-controls,.wt-stepnav,.week-tabs{display:none}}
.wt-visual,.wt-vgroup>div,.wt-step,.wt-part,.wt-answer,.wt-figure{min-width:0;max-width:100%}
.wt-round>*{min-width:0}
.wt-hero>div{min-width:0}.wt-hero h1{overflow-wrap:anywhere;hyphens:auto}@media(max-width:720px){.wt-hero h1{font-size:26px}}

/* Intrinsic grid/flex sizes must not widen a chapter beyond the laptop viewport. */
.wt-task{width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}
.wt-task>*{min-width:0;max-width:100%}
.wt-task p,.wt-task li,.wt-task code,.wt-part-head>div,.wt-tile-link>div{overflow-wrap:anywhere;min-width:0}
.wt-stepnav{flex-wrap:wrap;overflow:visible}
.wt-stepnav li{min-width:0;max-width:100%}
.wt-know{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}
.wt-vgroup.is-row{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.wt-scroll,.wt-tape-cells,.wt-stacks,.wt-task .table-scroll{min-width:0;width:100%;max-width:100%;overflow:auto}
.wt-tile-link.is-complete{border-color:#62936d;background:#223329}
.wt-complete-label{color:var(--green);font-size:12px;font-weight:650}
.wt-completion{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.wt-completion>div{flex:1 1 280px;min-width:0}
.wt-completion .btn{white-space:normal;min-height:44px}
@media(min-width:721px) and (max-width:1440px){
 .content{padding:26px 28px 36px}.wt-task{gap:18px}.wt-task>.card{padding:20px}
 .wt-hero h1{font-size:32px}.wt-hero .week-number{font-size:56px}
}
@media(max-width:720px){.wt-completion .btn{width:100%}.wt-task .inline-actions .btn{white-space:normal}.wt-stepnav button small{display:block}.wt-stepnav li{flex:1 1 130px}.wt-stepnav button{width:100%;max-width:none}}

/* Keep the complete chapter and its navigation within the available viewport. */
.content{width:100%;min-width:0}
.wt-task{max-width:100%}
@media(min-width:721px){
 .week-tabs{flex-wrap:wrap;overflow:visible}
 .week-tabs .wt-tab-sep{flex-basis:100%;height:1px;margin:4px 0}
 .week-tabs button,.week-tabs .wt-tab{max-width:100%}
}
