:root{--text:#4b5563;--text-h:#111827;--muted:#6b7280;--bg:#f7f6fb;--surface:#fff;--surface-strong:#f1ecfb;--border:#e3dcf0;--accent:#7c3aed;--accent-strong:#6d28d9;--accent-soft:#ede5fc;--shadow:#2e10541a 0 18px 55px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;font:16px/1.45 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100svh}body{background:radial-gradient(circle at top left, #7c3aed2e, transparent 34rem), radial-gradient(circle at bottom right, #f472b61f, transparent 28rem), var(--bg);margin:0}*{box-sizing:border-box}h1,h2{color:var(--text-h);line-height:1.05}h1{letter-spacing:-.055em;margin:0 0 18px;font-size:clamp(38px,7vw,68px)}h2{font-size:20px}p{margin:0}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100svh;padding:20px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar,.topbar nav,.auth-tabs,.continue-panel,.path-overview,.progress-meta{align-items:center;display:flex}.topbar{justify-content:space-between;gap:12px;max-width:960px;margin:0 auto 18px}.topbar nav,.auth-tabs{gap:8px}.brand-button{color:var(--text-h);font-size:20px;font-weight:700}.card{background:linear-gradient(135deg, #ffffffeb, #ffffffb8), var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:28px}.auth-screen,.complete-card,.lesson-card,.hero-card,.profile-card{max-width:760px;margin:0 auto;padding:clamp(22px,5vw,44px)}.profile-name-form{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.story-stats{max-width:760px;margin:0 auto;padding:clamp(22px,5vw,44px)}.story-stats h2{margin:0 0 6px}.story-stats-sub{color:var(--muted);margin:0 0 20px;font-size:13px}.story-stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.story-stat{background:var(--surface-strong);border:1px solid var(--border);text-align:left;border-radius:16px;gap:4px;padding:16px;display:grid}.story-stat-value{color:var(--text-h);letter-spacing:-.02em;font-size:clamp(24px,4vw,30px);font-weight:800;line-height:1}.story-stat-label{color:var(--muted);font-size:13px;font-weight:600}.story-faves{margin-top:22px}.story-faves h3{color:var(--text-h);margin:0 0 10px;font-size:15px}.story-fave-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.story-fave{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.story-fave-count{text-align:center;background:#ffffffb3;border-radius:999px;min-width:20px;padding:1px 7px;font-size:12px}.story-longest{background:var(--surface-strong);border:1px solid var(--border);color:var(--text);border-radius:16px;margin-top:22px;padding:14px 16px}.story-longest strong{color:var(--text-h)}.story-empty{color:var(--muted)}.screen-stack,.lesson-shell{gap:18px;max-width:960px;margin:0 auto;display:grid}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:800}.lead{color:var(--text);margin:0 0 24px;font-size:clamp(17px,3vw,21px);line-height:1.55}.fine-print{color:var(--muted);margin-top:14px;font-size:13px;line-height:1.5}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:999px;min-height:44px;padding:10px 16px}button:disabled,input:disabled{cursor:not-allowed;opacity:.62}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #7c3aed5c}.primary-action:focus-visible,.auth-tabs .active:focus-visible,.graph-node.is-recommended .graph-node-actions button:first-child:focus-visible{outline-offset:-5px;box-shadow:0 0 0 3px var(--accent-strong), 0 0 0 6px #7c3aed66;outline:3px solid #fff}.primary-action,.secondary-action,.option-grid button{transition:transform .18s,box-shadow .18s,background .18s}.primary-action:hover,.secondary-action:hover,.option-grid button:hover{transform:translateY(-1px)}.primary-action{background:var(--accent);color:#fff;width:100%;font-weight:800}.secondary-action{background:var(--accent-soft);color:var(--accent-strong);width:100%;margin-top:10px;font-weight:700}.topbar button,.auth-tabs button{background:var(--surface);color:var(--text-h)}.topbar nav .nav-active{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1.5px #7c3aed66}.auth-tabs{background:var(--surface-strong);border-radius:999px;margin-bottom:18px;padding:5px}.auth-tabs button{flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.auth-tabs .active{background:var(--text-h);color:var(--bg)}.tab-state,.option-state{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800}.tab-state{background:#ffffff2e}.auth-switch{color:var(--muted);text-align:center;margin-top:16px;font-size:14px}.link-button{color:var(--accent-strong);background:0 0;min-height:auto;padding:0 2px;font-weight:700;text-decoration:underline}.fine-print code{background:var(--surface-strong);border-radius:6px;padding:1px 6px;font-size:.92em}.form-stack,.mastery-grid{gap:12px;display:grid}label{color:var(--text-h);text-align:left;gap:8px;font-weight:700;display:grid}input{border:1px solid var(--border);color:var(--text-h);background:#fff;border-radius:16px;min-height:48px;padding:8px 14px}.path-overview{gap:12px;margin:22px 0 0}.overview-stat{background:var(--surface-strong);text-align:left;border-radius:22px;flex:1;gap:6px;min-width:0;padding:16px;display:grid}.overview-stat span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.overview-stat strong{color:var(--text-h);font-size:clamp(18px,3vw,24px);line-height:1.15}.overview-stat small{color:var(--accent-strong);font-size:13px;font-weight:800;line-height:1.35}.continue-panel{background:var(--surface-strong);border-radius:22px;justify-content:space-between;gap:14px;margin:12px 0 22px;padding:16px}.continue-panel>div:not(.continue-actions){text-align:left;gap:4px;display:grid}.continue-actions{justify-items:end;gap:10px;display:grid}.continue-panel span{color:var(--muted);font-size:14px}.continue-panel small,.score-line{color:var(--accent-strong);font-size:13px;font-weight:800}.continue-panel strong{font-size:15px;font-weight:700}.review-note{color:#9a3412;margin:-8px 0 16px;font-size:14px;font-weight:700}.continue-panel .primary-action{max-width:190px}.secondary-inline{color:var(--accent-strong);background:#fff;font-size:13px;font-weight:800}.progress-block{gap:8px;display:grid}.progress-block+.progress-block{margin-top:6px}.progress-meta{color:var(--muted);justify-content:space-between;font-size:13px;font-weight:700}.progress-track{background:var(--surface-strong);border-radius:999px;height:12px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--accent), #22c55e);border-radius:inherit;will-change:width;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1);display:block}.path-node{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:24px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;display:grid}.path-node.completed{border-color:#7c3aed47}.path-node.review{border-color:#9a341257}.path-node.review .node-number{background:#f97316}.path-node.review .status-pill{color:#9a3412;background:#ffedd5}.path-node h2,.mastery-card h2{letter-spacing:-.015em;margin:0 0 6px;font-size:clamp(17px,2vw,19px);font-weight:700;line-height:1.2}.path-node p,.mastery-card p{color:var(--text);margin:0}.path-node .score-line{margin-top:8px}.node-number,.status-pill{border-radius:999px;font-weight:700}.node-number{background:var(--accent);color:#fff;flex:none;place-items:center;width:42px;height:42px;display:grid}.status-pill{background:var(--accent-soft);color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;padding:5px 9px;font-size:11px;line-height:1.2}.locked{opacity:.72}.path-graph-section{gap:14px;display:grid}.path-graph{gap:0;width:100%;max-width:620px;margin:0 auto;padding:0;list-style:none;display:grid}.path-stage{gap:0;display:grid}.stage-nodes{gap:14px;display:grid}.path-stage.is-branch .stage-nodes{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-connector{place-items:center;height:44px;display:grid;position:relative}.connector-line{background:linear-gradient(180deg, var(--accent), #7c3aed47);transform-origin:top;border-radius:999px;width:3px;height:100%;animation:.52s .2s both connector-grow;display:block}@keyframes connector-grow{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.connector-art{width:100%;height:44px;display:block}.connector-art path{fill:none;opacity:.8;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;vector-effect:non-scaling-stroke;animation:.52s .24s both connector-fade}@keyframes connector-fade{0%{opacity:0}to{opacity:.8}}.stage-connector.is-locked .connector-line{background:linear-gradient(#cbd5e1,#cbd5e166)}.stage-connector.is-locked .connector-art path{stroke:#cbd5e1}.graph-node{grid-template-columns:1fr;align-content:start;gap:10px;padding:16px;animation:.48s cubic-bezier(.22,1,.36,1) both node-rise;position:relative}@keyframes node-rise{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.path-stage:first-of-type .graph-node{animation-delay:60ms}.path-stage:nth-of-type(2) .graph-node{animation-delay:.15s}.path-stage:nth-of-type(3) .graph-node{animation-delay:.24s}.path-stage:nth-of-type(4) .graph-node{animation-delay:.33s}.path-stage:nth-of-type(5) .graph-node{animation-delay:.42s}.path-stage:nth-of-type(6) .graph-node{animation-delay:.51s}.stage-nodes .graph-node:nth-child(2){animation-delay:.6s}.graph-node.is-recommended{border-color:var(--accent);box-shadow:0 0 0 2px #7c3aed2e}.graph-node.is-recommended:after{content:"";border-radius:inherit;opacity:.85;pointer-events:none;animation:2.6s ease-in-out infinite node-breathe;position:absolute;inset:-1px;box-shadow:0 0 0 2px #7c3aed8c}@keyframes node-breathe{0%,to{opacity:.45;box-shadow:0 0 0 2px #7c3aed66}50%{opacity:1;box-shadow:0 0 0 4px #7c3aed38,0 12px 26px #7c3aed2e}}.graph-node.is-recommended .graph-node-actions button:first-child{background:var(--accent);color:#fff;box-shadow:0 8px 18px #7c3aed47}.graph-node.is-recommended .graph-node-actions button:first-child:hover{background:var(--accent-strong)}.graph-node.completed .node-number{animation:.56s cubic-bezier(.2,.8,.2,1.35) .24s both node-complete-pop}@keyframes node-complete-pop{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}.graph-node-head{align-items:center;gap:12px;display:flex}.graph-node-titles{gap:6px;min-width:0;display:grid}.graph-node-titles h3{letter-spacing:-.015em;margin:0;font-size:clamp(16px,2vw,19px);font-weight:700;line-height:1.2}.graph-node .status-pill{width:fit-content}.graph-node-desc{color:var(--text);margin:0}.node-deps{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;line-height:1.4;display:flex}.node-deps-branch{color:var(--accent-strong)}.dep-tag{background:var(--surface-strong);color:var(--text-h);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;flex:none;padding:3px 8px;font-size:10px;font-weight:800}.node-deps-branch .dep-tag{background:var(--accent-soft);color:var(--accent-strong)}.graph-node-actions{flex-wrap:wrap;gap:12px;margin-top:2px;display:flex}.graph-node-actions button{background:var(--surface-strong);color:var(--accent-strong);min-height:44px;padding:8px 16px;font-size:13px;font-weight:700}.locked-hint{color:var(--muted);font-size:13px;font-weight:700}.graph-node.is-mastered{background:linear-gradient(135deg, #ffffffe6, #fef3c7a6), var(--surface);border-color:#f1c453;animation:3.2s ease-in-out infinite mastered-glow;overflow:hidden;box-shadow:0 10px 30px #ca8a042e}@keyframes mastered-glow{0%,to{box-shadow:0 10px 26px #ca8a0429}50%{box-shadow:0 0 0 3px #f1c45347,0 14px 34px #ca8a0442}}.graph-node.is-mastered .node-number{background:linear-gradient(135deg,#f59e0b,#d97706)}.graph-node.is-mastered .status-pill{color:#92400e;background:#fde68a}.graph-node.is-mastered .graph-node-head{padding-right:46px}.mastery-badge{opacity:1;z-index:2;background:linear-gradient(135deg,#fbbf24,#f59e0b);border:2px solid #fff7e0;border-radius:999px;place-items:center;width:38px;height:38px;font-size:18px;line-height:1;animation:.62s cubic-bezier(.2,.8,.2,1.4) .22s both mastery-badge-pop;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 6px 16px #ca8a0452}@keyframes mastery-badge-pop{0%{opacity:0;transform:scale(.3)rotate(-18deg)}60%{opacity:1;transform:scale(1.18)rotate(6deg)}to{opacity:1;transform:scale(1)rotate(0)}}.mastery-sparkles{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.mastery-sparkles i{background:hsl(var(--spark-hue,45) 92% 60%);opacity:0;transform:rotate(var(--spark-rotate,0deg));animation:1.5s ease-out forwards mastery-spark;animation-delay:var(--spark-delay,0s);border-radius:2px;position:absolute}@keyframes mastery-spark{0%{opacity:0;transform:translateY(8px) rotate(var(--spark-rotate,0deg)) scale(.4)}18%{opacity:.95}70%{opacity:.7}to{opacity:0;transform:translateY(-22px) rotate(calc(var(--spark-rotate,0deg) + 160deg)) scale(1)}}.mastery-banner{background:linear-gradient(135deg, #fffbebf2, #fef3c7b3), var(--surface);text-align:left;border:1px solid #f1c453;border-radius:22px;align-items:center;gap:14px;margin:22px 0;padding:16px 18px;display:flex;position:relative;overflow:hidden}.mastery-banner.is-complete{border-color:#e0a106;animation:3.2s ease-in-out infinite mastered-glow;box-shadow:0 12px 30px #ca8a043d}.mastery-banner-icon{z-index:1;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:24px;line-height:1;display:grid}.mastery-banner-copy{z-index:1;gap:3px;display:grid}.mastery-banner-copy strong{color:#92400e;letter-spacing:-.01em;font-size:clamp(16px,2.4vw,19px);font-weight:800;line-height:1.2}.mastery-banner-copy span{color:#b45309;font-size:13px;font-weight:600;line-height:1.4}.overview-stat-mastery small{color:#b45309}.lesson-shell{max-width:820px}.back-button{justify-self:start}.lesson-card{text-align:left;animation:.4s cubic-bezier(.22,1,.36,1) both card-enter}@keyframes card-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.lesson-card h1{letter-spacing:-.02em;margin-top:26px;margin-bottom:14px;font-size:clamp(19px,2.4vw,25px);line-height:1.32}.passage-help{color:var(--muted);margin:2px 0 24px;font-size:14px;font-weight:600}.passage-help-count{color:var(--text-h)}.option-grid{gap:10px;margin:18px 0;display:grid}.option-grid button{background:var(--surface-strong);color:var(--text-h);text-align:left;justify-content:space-between;gap:10px;font-size:15px;font-weight:700;display:flex}.option-grid .selected-option{background:var(--accent-soft);box-shadow:inset 0 0 0 3px var(--accent)}.option-state{background:var(--accent);color:#fff;flex:none;align-self:center}.sequence-board{gap:14px;margin:18px 0;display:grid}.sequence-slots,.sequence-bank{gap:10px;display:grid}.sequence-slots{background:linear-gradient(180deg, var(--accent-soft), var(--surface));border:1px dashed #7c3aed66;border-radius:22px;min-height:86px;padding:14px}.sequence-slots button,.sequence-bank button{background:var(--surface);border:1px solid var(--border);color:var(--text-h);text-align:left;border-radius:18px;justify-content:flex-start;align-items:center;gap:10px;font-weight:800;display:flex}.sequence-bank{grid-template-columns:repeat(2,minmax(0,1fr))}.sequence-bank button{align-items:start;gap:4px;display:grid}.sequence-bank button strong{font:inherit}.sequence-bank button small{color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.sequence-number{background:var(--accent);color:#fff;border-radius:999px;flex:none;place-items:center;width:28px;height:28px;font-size:13px;display:inline-grid}.empty-slot{color:var(--muted);text-align:center;align-self:center;padding:18px;font-weight:700}.lesson-nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-nav-button{background:var(--surface-strong);color:var(--accent-strong);flex:none;min-height:40px;padding:6px 14px;font-size:14px;font-weight:800}.lesson-nav-button:disabled{opacity:.4}.answer-field{margin-bottom:14px}.passage{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--serif);border-radius:20px;max-width:62ch;margin:0 auto;padding:clamp(20px,4vw,38px);font-size:clamp(1.05rem,.98rem + .4vw,1.15rem);line-height:1.7;box-shadow:0 12px 34px #2e105412}.passage+.primary-action{margin-top:24px}.passage p{margin:0 0 1.05em}.passage p:last-child{margin-bottom:0}.passage-title{color:var(--text-h);font-family:var(--serif);letter-spacing:-.01em;margin:0 0 6px;font-size:clamp(1.45rem,1.2rem + 1.2vw,1.95rem);font-weight:700;line-height:1.2}.passage-attribution{color:var(--muted);font-family:var(--serif);margin:0 0 20px;font-size:.9rem;font-style:italic}.passage-sentence{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:2px solid #0000;border-radius:12px;width:100%;min-height:0;margin:3px 0;padding:8px 14px;text-decoration:none;display:block}.passage-sentence:hover{background:#7c3aed14}.passage-sentence:focus-visible{outline-offset:2px;outline:3px solid #7c3aed80}.passage-sentence.is-selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent);color:var(--text-h);text-underline-offset:3px;text-decoration:underline}.passage-sentence.is-correct{background:var(--accent-soft);border-color:var(--accent);color:var(--text-h);font-weight:700}.passage-sentence.is-correct:after{content:" ✓";font-weight:800}.passage-sentence.is-incorrect{border-color:var(--accent-strong);border-style:dashed;text-decoration:line-through;text-decoration-thickness:2px}.passage-sentence.is-incorrect:after{content:" ✗";font-weight:800;text-decoration:none;display:inline-block}.passage-span{color:inherit;cursor:pointer;font:inherit;min-height:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;background:0 0;border:0;border-radius:4px;padding:0 2px;display:inline}.passage-span:focus-visible{outline-offset:1px;outline:3px solid #7c3aed80}.passage-span.is-selected{background:var(--accent-soft);color:var(--text-h);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:2px}.passage-span.is-correct{background:var(--accent-soft);color:var(--text-h);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);font-weight:700;text-decoration-thickness:2px}.passage-span.is-correct:after{content:" ✓";font-weight:800}.passage-span.is-incorrect{text-decoration:line-through;-webkit-text-decoration-color:var(--accent-strong);text-decoration-color:var(--accent-strong);font-weight:600;text-decoration-thickness:2px}.passage-span.is-incorrect:after{content:" ✗";font-weight:800;text-decoration:none;display:inline-block}.passage-word{background:var(--accent-soft);color:var(--accent-strong);border-radius:5px;padding:1px 5px;font-weight:700}@media (prefers-reduced-motion:no-preference){.passage-sentence{transition:background .15s,border-color .15s,box-shadow .15s}.passage-span{transition:background .15s,text-decoration-color .15s}}:root{--ok:#15803d;--ok-soft:#dcfce7;--bad:#b91c1c;--bad-soft:#fde2e2}.categorize-item.is-correct,.scale-item.is-correct,.match-item.is-correct{border-color:var(--ok);background:var(--ok-soft)}.categorize-item.is-incorrect,.scale-item.is-incorrect,.match-item.is-incorrect{border-color:var(--bad);background:var(--bad-soft)}.categorize-list{gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.categorize-item{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.categorize-item-text{color:var(--text-h);flex:200px;font-weight:500}.categorize-buckets{flex-wrap:wrap;gap:8px;display:inline-flex}.categorize-bucket{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:7px 16px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.categorize-bucket:hover:not(:disabled){border-color:var(--accent)}.categorize-bucket.is-picked{background:var(--accent);border-color:var(--accent);color:#fff}.categorize-bucket:disabled{cursor:default;opacity:.7}.scale-items{gap:18px;margin-bottom:16px;display:grid}.scale-item{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:14px 16px}.scale-item-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.scale-item-text{color:var(--text-h);font-size:18px;font-weight:600}.scale-item-zone{color:var(--accent-strong);font-size:14px;font-weight:600}.scale-slider{width:100%;accent-color:var(--accent);cursor:pointer;height:28px}.scale-zone-labels{justify-content:space-between;margin-top:4px;display:flex}.scale-zone-label{color:var(--muted);font-size:12px}.scale-item-hint{color:var(--bad);margin-top:8px;font-size:13px}.scale-item.is-correct .scale-item-zone{color:var(--ok)}.match-board{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.match-column{align-content:start;gap:10px;display:grid}.match-column-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.match-item{text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text-h);font:inherit;cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.match-item:hover:not(:disabled){border-color:var(--accent)}.match-item.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.match-item.is-targetable:not(.is-matched){border-style:dashed;border-color:var(--accent)}.match-item:disabled{cursor:default}.match-item-right:disabled:not(.is-matched){opacity:.6}.match-badge{background:var(--accent);color:#fff;border-radius:999px;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-grid}.match-item.is-correct .match-badge{background:var(--ok)}.match-item.is-incorrect .match-badge{background:var(--bad)}.match-item-text{flex:auto}.builder-preview{border:1px dashed var(--border);background:var(--surface-strong);border-radius:14px;align-items:center;min-height:56px;margin-bottom:14px;padding:14px 16px;display:flex}.builder-preview-text{color:var(--text-h);font-size:18px;font-weight:500}.builder-preview-empty{color:var(--muted)}.builder-chips{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.builder-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-h);font:inherit;cursor:pointer;border-radius:999px;padding:9px 16px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.builder-chip:hover:not(:disabled){border-color:var(--accent)}.builder-chip.is-selected{background:var(--accent);border-color:var(--accent);color:#fff}.builder-chip:disabled{cursor:default;opacity:.7}@media (width<=560px){.match-board{grid-template-columns:1fr}}.feedback{border-radius:18px;gap:4px;margin-top:16px;padding:14px;display:grid}.feedback.good{color:#14532d;background:#dcfce7;border:1px solid #14532d38;animation:.36s cubic-bezier(.2,.8,.2,1.25) both feedback-pop}.feedback.bad{color:#7f1d1d;background:#fee2e2;border:1px solid #7f1d1d38;animation:.44s cubic-bezier(.36,.07,.19,.97) both feedback-shake}@keyframes feedback-pop{0%{opacity:0;transform:scale(.96)translateY(6px)}60%{transform:scale(1.02)translateY(0)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes feedback-shake{0%{opacity:0;transform:translate(0)}12%{opacity:1}25%{transform:translate(-7px)}45%{transform:translate(6px)}65%{transform:translate(-3px)}85%{transform:translate(2px)}to{opacity:1;transform:translate(0)}}.feedback small{margin-top:6px;font-weight:600}.feedback strong{font-size:15px;font-weight:700}.retry-prompt{background:var(--surface-strong);border:1px solid var(--border);color:var(--text-h);border-radius:18px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;font-size:14px;font-weight:700;display:flex}.retry-prompt button{color:var(--accent-strong);white-space:nowrap;background:#fff;font-weight:700}.continue-step{margin-top:12px}.next-card{background:var(--surface-strong);text-align:left;border-radius:22px;gap:6px;margin:22px 0;padding:18px;display:grid}.score-card{background:var(--accent-soft);text-align:left;border:1px solid #7c3aed2e;border-radius:22px;gap:6px;margin:22px 0;padding:18px;display:grid}.score-card span,.next-card span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.score-card strong{color:var(--accent-strong);font-size:clamp(34px,8vw,52px);line-height:1}.score-figure{width:fit-content;margin:6px 0 2px;position:relative}.score-ring{aspect-ratio:1;width:clamp(116px,30vw,144px);position:relative}.score-ring svg{width:100%;height:100%;display:block}.score-ring-track{fill:none;stroke:#7c3aed29;stroke-width:10px}.score-ring-value{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-width:10px}.score-ring strong{color:var(--accent-strong);place-items:center;font-size:clamp(26px,7vw,34px);line-height:1;display:grid;position:absolute;inset:0}.score-celebrate{pointer-events:none;position:absolute;inset:0}.score-celebrate i{background:var(--cc,var(--accent));opacity:0;width:9px;height:9px;animation:1.15s ease-out forwards confetti-pop;animation-delay:var(--cd,0s);border-radius:2px;position:absolute;top:50%;left:50%}@keyframes confetti-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(0)}18%{opacity:1}to{opacity:0;transform:translate(-50%, -50%) translate(var(--cx,0), -56px) scale(1) rotate(200deg)}}.complete-card>*{animation:.46s cubic-bezier(.22,1,.36,1) both rise-in}.complete-card>:first-child{animation-delay:40ms}.complete-card>:nth-child(2){animation-delay:.12s}.complete-card>:nth-child(3){animation-delay:.2s}.complete-card>:nth-child(4){animation-delay:.28s}.complete-card>:nth-child(5){animation-delay:.36s}.complete-card>:nth-child(6){animation-delay:.44s}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.score-card p,.score-card small{color:var(--text);margin:0}.complete-actions{gap:10px;display:grid}.mastery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mastery-card{text-align:left;padding:18px}.mastery-card .status-pill{margin-bottom:12px;display:inline-flex}.mastery-card small{color:var(--muted);margin-top:12px;display:block}.story-entry-card,.story-interests-card,.story-intro-card,.story-gate-card,.story-segment-card,.story-question-shell{width:100%;max-width:760px;margin-inline:auto}.story-screen-head{flex-direction:column;gap:8px;display:flex}.story-screen-head .eyebrow,.story-screen-head h1{margin:0}.story-screen-head h1{letter-spacing:-.03em;font-size:clamp(28px,5vw,40px);line-height:1.12}.story-screen-head .lead{margin:4px 0 0}.story-interests-card>.back-button{color:var(--accent-strong);background:0 0;align-self:flex-start;padding-inline:0;font-size:14px;font-weight:700;transition:color .15s}.story-interests-card>.back-button:hover{color:var(--accent);text-decoration:underline}.story-screen-nav>.back-button,.story-library-card>.back-button{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong);border-radius:999px;align-self:flex-start;padding:7px 14px;font-size:14px;font-weight:700;transition:border-color .15s,color .15s}.story-screen-nav>.back-button:hover,.story-library-card>.back-button:hover{border-color:var(--accent);color:var(--accent)}.story-screen-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.story-screen-nav-actions{flex-wrap:wrap;gap:14px;display:flex}.story-nav-link{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:700;transition:border-color .15s,color .15s}.story-nav-link:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.story-nav-link:disabled{color:var(--muted);cursor:not-allowed}.story-entry-card{background:linear-gradient(135deg, var(--accent-soft), #ffffff8c), var(--surface);border:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(14px,3vw,20px);padding:clamp(18px,4vw,26px);display:grid}.story-entry-card--locked,.story-entry-card--needs-provider{background:linear-gradient(135deg, var(--surface-strong), #ffffff80), var(--surface)}.story-entry-card--ready{background:linear-gradient(135deg, var(--accent-soft), #ffffff8c), var(--surface);border-color:var(--accent)}.story-entry-icon{background:linear-gradient(135deg, var(--accent), var(--accent-strong));border-radius:16px;flex:none;place-items:center;width:52px;height:52px;font-size:26px;line-height:1;display:grid}.story-entry-card--locked .story-entry-icon,.story-entry-card--needs-provider .story-entry-icon{background:linear-gradient(135deg,#94a3b8,#64748b)}.story-entry-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.story-entry-copy .eyebrow{margin:0}.story-entry-copy h2{color:var(--text-h);letter-spacing:-.02em;margin:0;font-size:clamp(20px,3vw,25px)}.story-entry-tagline{color:var(--text);font-size:15px;line-height:1.45}.story-entry-cta{flex:none;justify-content:flex-end;display:flex}.story-entry-action{white-space:nowrap;width:auto;padding-inline:22px}.story-entry-pill{background:var(--surface);border:1px solid var(--border);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800}@media (width<=560px){.story-entry-card{grid-template-columns:auto 1fr}.story-entry-cta{grid-column:1/-1}.story-entry-action,.story-entry-pill{text-align:center;width:100%}}.story-interests-card,.story-gate-card{text-align:left;flex-direction:column;gap:18px;padding:clamp(22px,5vw,40px);display:flex}.story-gate-card{text-align:center;align-items:center;gap:16px}.story-gate-card .story-screen-head{align-items:center}.story-gate-card .primary-action{max-width:280px}.story-gate-icon{background:linear-gradient(135deg,#94a3b8,#64748b);border-radius:20px;flex:none;place-items:center;width:64px;height:64px;font-size:30px;line-height:1;display:grid;box-shadow:0 10px 24px #47556947}.interest-fieldset{border:0;margin:0;padding:0}.story-legend{color:var(--text-h);flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:14px;font-size:15px;font-weight:700;display:flex}.story-legend-hint{color:var(--muted);font-size:13px;font-weight:600}.interest-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.interest-card{background:var(--surface);border:1px solid var(--border);color:var(--text-h);cursor:pointer;text-align:left;border-radius:18px;flex-direction:column;align-items:flex-start;gap:10px;min-height:104px;padding:16px;transition:border-color .15s,box-shadow .15s,transform .1s,background .15s;display:flex;position:relative}.interest-card:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 22px #7c3aed1f}.interest-card.is-selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.interest-card:disabled{cursor:not-allowed;opacity:.5}.interest-emoji{font-size:30px;line-height:1}.interest-label{font-size:15px;font-weight:700;line-height:1.3}.interest-check{background:var(--accent);color:#fff;border-radius:999px;place-items:center;width:24px;height:24px;font-size:13px;font-weight:800;display:grid;position:absolute;top:10px;right:10px}.story-freeform{color:var(--text-h);flex-direction:column;gap:8px;font-weight:700;display:flex}.story-freeform-optional{color:var(--muted);font-weight:600}.story-freeform-hint{color:var(--muted);margin-top:-4px;font-size:13px;font-weight:500;line-height:1.3}.story-freeform input{background:var(--surface);border:1px solid var(--border);color:var(--text-h);font:inherit;border-radius:14px;padding:12px 14px;font-weight:400}.custom-interest-fieldset{flex-direction:column;gap:16px;display:flex}.custom-interest-fieldset .story-legend{margin-bottom:0}.custom-interest-fieldset .story-note{margin-top:-4px}.custom-interest-list{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.custom-interest-chip{background:var(--accent-soft);border:1px solid var(--accent);border-radius:999px;align-items:center;gap:4px;padding:5px 6px 5px 14px;display:inline-flex;box-shadow:0 1px 2px #7c3aed1f}.custom-interest-chip-label{color:var(--accent-strong);overflow-wrap:anywhere;font-size:14px;font-weight:700;line-height:1.2}.custom-interest-remove{color:var(--accent-strong);background:0 0;border-radius:999px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;min-height:0;padding:0;transition:background .15s,color .15s;display:inline-flex}.custom-interest-remove svg{width:13px;height:13px;display:block}.custom-interest-remove:hover:not(:disabled),.custom-interest-remove:focus-visible{color:#fff;background:#dc2626}.custom-interest-remove:disabled{cursor:not-allowed;opacity:.55}.custom-interest-add{flex-direction:column;gap:8px;display:flex}.custom-interest-add-row{gap:10px;display:flex}.custom-interest-input{background:var(--surface);border:1px solid var(--border);color:var(--text-h);font:inherit;border-radius:14px;flex:auto;min-width:0;padding:12px 14px}.custom-interest-input:focus-visible{border-color:var(--accent);outline-offset:2px;outline:3px solid #7c3aed5c}.character-fieldset,.character-main-fieldset{flex-direction:column;gap:14px;display:flex}.character-fieldset .story-legend,.character-main-fieldset .story-legend{margin-bottom:0}.character-fieldset .story-note{margin-top:-4px}.character-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.character-chip{background:var(--surface);border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.character-chip-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.character-chip-name{color:var(--text-h);overflow-wrap:anywhere;font-weight:700}.character-chip-tags{flex-wrap:wrap;gap:6px;display:flex}.character-chip-tag{background:var(--surface-strong);color:var(--accent-strong);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.character-remove{color:var(--muted);background:0 0;flex:none;padding:4px 8px;font-size:13px;font-weight:700}.character-remove:hover:not(:disabled){color:#dc2626;text-decoration:underline}.character-remove:disabled{cursor:not-allowed;opacity:.55}.character-add{flex-direction:column;gap:8px;display:flex}.character-add-fields{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.character-field{color:var(--text-h);flex-direction:column;gap:6px;min-width:0;font-size:14px;font-weight:700;display:flex}.character-field input,.character-field select{background:var(--surface);border:1px solid var(--border);color:var(--text-h);font:inherit;border-radius:12px;width:100%;padding:10px 12px;font-weight:400}.character-add-button,.custom-interest-add-button{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent-strong);white-space:nowrap;border-radius:12px;padding:10px 18px;font-weight:700}.character-add-button:hover:not(:disabled),.custom-interest-add-button:hover:not(:disabled){background:var(--accent);color:#fff}.character-add-button:disabled,.custom-interest-add-button:disabled{cursor:not-allowed;opacity:.55}.character-error{color:#dc2626;font-size:13px;font-weight:600}.character-main-options{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.character-main-option{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:14px;grid-template-columns:auto 1fr;align-items:start;gap:2px 10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s,background .15s;display:grid}.character-main-option:hover{border-color:var(--accent)}.character-main-option.is-selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.character-main-option>input{grid-row:1/span 2;margin:2px 0 0}.character-main-label{color:var(--text-h);grid-column:2;font-weight:700}.character-main-hint{color:var(--muted);grid-column:2;font-size:13px;line-height:1.4}.character-main-custom{margin-top:2px}.character-field input:focus-visible,.character-field select:focus-visible,.character-main-custom input:focus-visible{border-color:var(--accent);outline-offset:2px;outline:3px solid #7c3aed5c}.character-main-option:focus-within{border-color:var(--accent);outline-offset:1px;outline:3px solid #7c3aed47}@media (width<=560px){.character-add-fields{grid-template-columns:1fr}.custom-interest-add-row{flex-direction:column}.character-add-button,.custom-interest-add-button{width:100%}}.story-step-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.story-step-actions .primary-action{flex:auto;width:auto}.story-step-back{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong);border-radius:999px;flex:none;padding:10px 18px;font-size:14px;font-weight:700;transition:border-color .15s,color .15s}.story-step-back:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.story-question-shell{flex-direction:column;gap:16px;display:flex}.story-question-shell .lesson-card h1{letter-spacing:-.02em;font-size:clamp(20px,3.4vw,26px);line-height:1.3}.story-banner{background:linear-gradient(135deg, var(--accent-soft), #fff9), var(--surface);border:1px solid var(--border);align-items:center;gap:16px;padding:18px 20px;display:flex}.story-banner-icon{background:linear-gradient(135deg, var(--accent), var(--accent-strong));border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:24px;line-height:1;display:grid;box-shadow:0 8px 20px #7c3aed40}.story-banner-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.story-banner-copy .eyebrow{margin:0}.story-banner-premise{color:var(--text);font-size:15px;line-height:1.5}.story-round-card{background:linear-gradient(135deg, var(--accent-soft), #ffffffa6), var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:16px;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.story-round-icon{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:20px;line-height:1;display:grid}.story-round-body{flex-direction:column;gap:4px;min-width:0;display:flex}.story-round-eyebrow{color:var(--accent-strong);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.story-round-text{color:var(--text-h);font-family:var(--serif);margin:0;font-size:clamp(16px,2.4vw,18px);line-height:1.6}.story-original-note{background:var(--surface-strong);border:1px solid var(--border);color:var(--muted);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.story-checkpoint-shell{flex-direction:column;gap:16px;display:flex}.story-segment-card{text-align:left;flex-direction:column;gap:18px;padding:clamp(22px,5vw,40px);display:flex}.story-chapter-review{border-color:var(--accent-soft)}.story-look-back{background:var(--surface-strong);border:1px solid var(--border);color:var(--accent-strong);cursor:pointer;border-radius:999px;align-self:flex-start;padding:6px 14px;font-size:13px;font-weight:700}.story-look-back:disabled{cursor:not-allowed;opacity:.6}.story-intro-card{text-align:left;flex-direction:column;gap:14px;padding:clamp(22px,5vw,40px);display:flex}.story-intro-interests{color:var(--muted);margin:6px 0 0;font-size:14px;font-weight:600}.story-intro-premise{color:var(--text);font-family:var(--serif);margin:0;font-size:clamp(17px,3vw,20px);line-height:1.65}.story-chapter-head{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding-bottom:16px;display:flex}.story-chapter-head .eyebrow{margin:0}.story-chapter-title{color:var(--text-h);font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(30px,5vw,46px);line-height:1.1}.story-outcome-kicker{color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;margin:2px 0 0;font-size:13px;font-weight:700}.story-scene{margin:0}.story-scene-image{aspect-ratio:16/9;background:var(--accent-soft);border:1px solid var(--border);object-fit:cover;border-radius:16px;width:100%;height:auto;display:block;box-shadow:0 10px 24px #0f172a1f}.story-segment{color:var(--text);font-family:var(--serif);flex-direction:column;gap:14px;font-size:clamp(17px,2.4vw,18px);line-height:1.75;display:flex}.story-segment p{margin:0}.story-choice{color:var(--text-h);flex-direction:column;gap:8px;font-weight:700;display:flex}.story-choice-label{color:var(--text-h);font-weight:700}.story-choice textarea{background:var(--surface);border:1px solid var(--border);color:var(--text-h);font:inherit;resize:vertical;border-radius:16px;min-height:96px;padding:14px 16px;font-weight:400;line-height:1.5}.story-choice-made{color:var(--text-h);flex-direction:column;gap:8px;font-weight:700;display:flex}.story-choice-echo{background:var(--accent-soft);border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--text-h);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:16px;margin:0;padding:14px 16px;font-weight:500;line-height:1.6}.story-note{color:var(--muted);font-size:14px;line-height:1.5}.story-reassure{background:var(--surface-strong);color:var(--text);border-radius:14px;padding:12px 14px}.story-inline-status{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.story-spinner{border:2px solid #7c3aed40;border-top-color:var(--accent);border-radius:50%;flex:none;width:15px;height:15px;animation:.7s linear infinite story-spin}@keyframes story-spin{to{transform:rotate(360deg)}}.story-freeform input:focus-visible,.story-choice textarea:focus-visible{border-color:var(--accent);outline-offset:2px;outline:3px solid #7c3aed5c}@media (width<=480px){.story-banner{align-items:flex-start;gap:12px;padding:16px}.story-banner-icon{width:42px;height:42px;font-size:20px}}.story-entry-cta{flex-direction:column;gap:10px}.story-entry-library{color:var(--accent-strong);text-align:right;white-space:nowrap;background:0 0;padding:0;font-size:13px;font-weight:700}.story-entry-library:hover:not(:disabled){color:var(--accent);text-decoration:underline}@media (width<=560px){.story-entry-library{text-align:center;width:100%}}.story-library-shell{flex-direction:column;gap:16px;display:flex}.story-library-card,.story-library-shell{width:100%;max-width:760px;margin-inline:auto}.story-library-card{text-align:left;flex-direction:column;gap:18px;padding:clamp(22px,5vw,40px);display:flex}.story-library-new{align-self:flex-start;width:auto;padding-inline:22px}.story-library-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.story-library-item{background:var(--surface);border:1px solid var(--border);border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(12px,3vw,18px);padding:clamp(14px,3vw,20px);transition:border-color .15s,box-shadow .15s;display:grid}.story-library-item:hover{border-color:var(--accent);box-shadow:0 10px 22px #7c3aed1a}.story-library-item.is-active{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.story-library-emoji{background:linear-gradient(135deg, var(--accent), var(--accent-strong));border-radius:14px;flex:none;place-items:center;width:50px;height:50px;font-size:24px;line-height:1;display:grid}.story-library-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.story-library-titlerow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.story-library-title{color:var(--text-h);letter-spacing:-.01em;margin:0;font-size:clamp(17px,2.6vw,20px)}.story-library-badge{background:var(--accent);color:#fff;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800}.story-library-premise{color:var(--text);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.story-library-meta{color:var(--muted);margin:0;font-size:13px;font-weight:600}.story-library-actions{flex-direction:column;flex:none;align-items:flex-end;gap:8px;display:flex}.story-library-resume{white-space:nowrap;width:auto;padding-inline:18px}.story-library-delete{color:var(--muted);background:0 0;padding:4px 6px;font-size:12px;font-weight:700}.story-library-delete:hover:not(:disabled){color:#dc2626;text-decoration:underline}@media (width<=560px){.story-library-item{grid-template-columns:auto 1fr}.story-library-actions{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:stretch}.story-library-resume{flex:auto}}.story-history-nav{background:var(--surface-strong);border:1px solid var(--border);border-radius:16px;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px 14px;padding:12px 14px;display:grid}.story-history-group{flex-direction:column;justify-self:start;align-items:flex-start;gap:8px;display:flex}.story-history-group--forward{justify-self:end;align-items:flex-end}.story-history-button{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong);white-space:nowrap;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;transition:border-color .15s,color .15s}.story-history-button--chapter{padding:5px 12px;font-size:12px}.story-history-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.story-history-button:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.story-history-status{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:2px;font-size:13px;font-weight:700;display:flex}.story-history-chapter{color:var(--accent-strong)}.story-history-state{color:var(--muted)}@media (width<=520px){.story-history-nav{grid-template-columns:1fr 1fr}.story-history-status{grid-area:1/1/auto/-1}.story-history-group{grid-row:2}}.story-review-card .story-review-options{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.story-review-card .story-review-options li{background:var(--surface-strong);border:1px solid var(--border);color:var(--text-h);border-radius:12px;padding:10px 14px;font-weight:600}.story-review-tiles{flex-wrap:wrap;flex-direction:row!important}.story-review-card .story-review-options li.story-review-chosen{color:#14532d;background:#dcfce7;border-color:#14532d59;justify-content:space-between;align-items:center;gap:10px;display:flex}.story-review-tag{white-space:nowrap;font-size:12px;font-weight:800}.story-review-answer{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.story-review-answer-label{color:var(--muted);font-size:13px;font-weight:700}.story-review-answer-value{color:var(--text-h);font-size:16px}@media (prefers-reduced-motion:reduce){.story-spinner{animation-duration:2s}}.story-review{flex-direction:column;gap:14px;display:flex}.story-review-passage{margin:0}.story-review-prompt{color:var(--text-h);margin:0;font-size:17px;font-weight:700}.story-review .story-review-options{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.story-review .story-review-option{border:1px solid var(--border);color:var(--text);border-radius:12px;padding:10px 12px}.story-review .story-review-option.correct{color:#14532d;background:#dcfce7;border-color:#14532d59;font-weight:700}.dev-tools-bar{justify-content:center;margin:14px 0 0;display:flex}.dev-skip-button{color:#7c2d12;cursor:pointer;letter-spacing:.01em;background:repeating-linear-gradient(45deg,#fef3c7,#fef3c7 10px,#fde68a 10px 20px);border:2px dashed #b45309;border-radius:10px;align-items:center;gap:6px;min-height:38px;padding:6px 16px;font-size:13px;font-weight:800;display:inline-flex}.dev-skip-button:hover:not(:disabled){border-color:#92400e}.dev-skip-button:disabled{cursor:not-allowed;opacity:.5}@media (width<=720px){.app-shell{padding:12px}.topbar{flex-direction:column;align-items:stretch}.topbar nav{grid-template-columns:repeat(3,1fr);display:grid}.continue-panel,.path-overview,.path-node{grid-template-columns:1fr;align-items:stretch}.continue-panel,.path-overview{flex-direction:column}.continue-panel .primary-action{max-width:none}.continue-actions{justify-items:stretch}.retry-prompt{flex-direction:column;align-items:stretch}.sequence-bank,.mastery-grid{grid-template-columns:1fr}.status-pill{width:fit-content}.path-stage.is-branch .stage-nodes{grid-template-columns:1fr}.connector-split .connector-art,.connector-merge .connector-art{display:none}.connector-split,.connector-merge{height:30px}.connector-split:after,.connector-merge:after{background:linear-gradient(180deg, var(--accent), #7c3aed4d);content:"";border-radius:999px;width:3px;height:100%}.connector-split.is-locked:after,.connector-merge.is-locked:after{background:linear-gradient(#cbd5e1,#cbd5e166)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation:none!important}.feedback{animation:none!important}.lesson-card,.graph-node,.graph-node.completed .node-number,.graph-node.is-recommended:after,.complete-card>*,.connector-line,.feedback,.feedback.good,.feedback.bad{opacity:1!important;transform:none!important}.score-celebrate{display:none!important}}
