.reading-preparation.generating-page{color:#283d32;background:#f7f7f2;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;min-height:100svh;padding:0 40px;display:flex;overflow:visible}.reading-preparation.generating-page:after{display:none}.reading-preparation .preparation-header{border-bottom:1px solid #e0e4da;justify-content:space-between;align-items:center;width:100%;max-width:1260px;min-height:84px;margin:0 auto;display:flex}.reading-preparation .preparation-wordmark{align-items:center;gap:10px;display:flex}.reading-preparation .preparation-wordmark>span{color:#fffefa;background:#283d32;border-radius:8px;place-items:center;width:34px;height:38px;font:500 25px Georgia,serif;display:grid}.reading-preparation .preparation-wordmark>b{font-family:var(--serif);font-size:18px;font-weight:500}.reading-preparation .generating-close{color:#647167;width:38px;height:38px;box-shadow:none;background:0 0;border:1px solid #e0e4da;border-radius:50%;position:static}.reading-preparation .generating-close:hover{background:#edf1e6;transform:none}.reading-preparation .generating-copy{text-align:center;width:100%;max-width:490px;margin:auto;padding:74px 0}.reading-preparation .preparation-book{color:#5e7b52;background:#eaf0e2;border:1px solid #d8e2d0;border-radius:7px 14px 14px 7px;place-items:center;width:78px;height:92px;margin:0 auto 34px;display:grid;box-shadow:4px 4px #f7f7f2,5px 5px #e0e4da}.reading-preparation .preparation-book .icon{width:34px;height:34px}.reading-preparation .generating-copy .eyebrow{color:#7d8a76;letter-spacing:.16em;margin:0 0 18px;font-family:inherit;font-size:11px;font-weight:400;line-height:1.8;display:block}.reading-preparation .generating-copy h1{color:#283d32;font-family:var(--serif);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0 0 17px;font-size:clamp(25px,3vw,34px);font-weight:500;line-height:1.55}.reading-preparation .generating-copy>p:not(.eyebrow){color:#6d7867;font-family:inherit;font-size:13px;font-weight:400;line-height:1.9}.reading-preparation .preparation-progress-label{color:#77836e;justify-content:space-between;gap:20px;margin-top:38px;font-size:12px;display:flex}.reading-preparation .generation-progress{background:#e3e9db;border-radius:4px;height:4px;margin-top:12px;overflow:hidden}.reading-preparation .generation-progress i{background:#6a8b5b;border-radius:4px;height:100%;transition:width .3s}.reading-preparation .generation-progress i:after{display:none}.reading-preparation .generation-progress.is-indeterminate i{width:32%;animation:2.2s ease-in-out infinite preparation-wait}.reading-preparation .preparation-cancel{color:#5f7057;cursor:pointer;background:0 0;border:1px solid #dfe5d7;border-radius:8px;min-height:42px;margin-top:29px;padding:0 16px;font-family:inherit;font-size:12px}.reading-preparation .preparation-cancel:hover{background:#eef2e7;border-color:#bfceb4}.reading-preparation button:focus-visible{outline-offset:3px;outline:2px solid #8ea882}.reading-preparation .preparation-footnote{color:#919989;text-align:center;margin:0;padding:0 0 28px;font-size:12px;line-height:1.8}@keyframes preparation-wait{0%,to{transform:translate(-110%)}50%{transform:translate(315%)}}@media (width<=600px){.reading-preparation.generating-page{padding:0 22px}.reading-preparation .preparation-header{min-height:70px}.reading-preparation .generating-copy{max-width:390px;padding:55px 5px}.reading-preparation .generating-copy h1{font-size:27px}.reading-preparation .generating-copy .eyebrow{letter-spacing:.12em;font-size:11px}.reading-preparation .preparation-book{margin-bottom:30px}.reading-preparation .preparation-progress-label{margin-top:30px}.reading-preparation .preparation-footnote{padding-bottom:24px;font-size:12px}}@media (prefers-reduced-motion:reduce){.reading-preparation .generation-progress i{transition:none}.reading-preparation .generation-progress.is-indeterminate i{opacity:.5;width:100%;animation:none}}.reader-page .reader-progress.reader-progress-levels{background:0 0;gap:3px;height:4px;padding:0 3px;display:flex}.reader-progress-levels span{background:color-mix(in srgb, var(--reader-line,#dce2d7) 80%, transparent);border-radius:0 0 999px 999px;flex:1 1 0;min-width:6px;height:100%;overflow:hidden}.reader-progress-levels span.done{background:color-mix(in srgb, var(--reader-accent,#32634b) 45%, transparent)}.reader-progress-levels span.current{background:var(--reader-line,#dce2d7)}.reader-progress-levels span i{background:var(--reader-accent,#32634b);transform-origin:0;will-change:transform;width:100%;height:100%;display:block;transform:scaleX(0)}.level-sheet-backdrop{animation:.2s both level-fade}.reader-page .finish-dialog.level-sheet,.finish-dialog.level-sheet{width:min(520px,100%);padding:30px 34px 26px;animation:.32s cubic-bezier(.2,.8,.2,1) both level-rise}.level-sheet-grip{display:none}.level-complete .eyebrow{color:var(--reader-muted,#667367);letter-spacing:.14em}.level-complete h2{margin-top:4px;font-size:26px}.level-hero-stat{align-items:baseline;gap:10px;margin:18px 0 4px;display:flex}.level-hero-stat strong{font:600 52px/1 var(--serif);color:var(--reader-accent,#32634b);font-variant-numeric:tabular-nums}.level-hero-stat span{font:500 15px var(--serif)}.level-minor-stats{color:var(--reader-muted,#667367);font:400 13px/1.6 var(--serif);margin:0 0 18px}.level-daily{border:1px solid var(--reader-line,#e0e4da);background:var(--reader-bg,#f7f7f2);border-radius:14px;align-items:center;gap:14px;margin:0 0 20px;padding:12px 14px;display:flex}.level-daily-met{border-color:color-mix(in srgb, var(--reader-accent,#32634b) 35%, transparent);background:color-mix(in srgb, var(--reader-accent,#32634b) 7%, var(--reader-bg,#f7f7f2))}.level-daily-copy{gap:3px;display:grid}.level-daily-copy b{font:600 15px var(--serif)}.level-daily-copy small{color:var(--reader-muted,#667367);font-size:12px;line-height:1.5}.level-daily-pending{color:var(--reader-muted,#667367);font:500 13px var(--serif);display:block}.level-streak{color:#b5643a;font:600 13px var(--serif);align-items:center;gap:4px;display:inline-flex}.level-flame{width:16px;height:16px}.reader-page[data-reader-theme=night] .level-streak{color:#e9a77f}.level-goal-ring{flex:none;width:60px;height:60px;transform:rotate(-90deg)}.level-goal-ring circle{fill:none;stroke-width:6px}.level-goal-ring-track{stroke:var(--reader-line,#e0e4da)}.level-goal-ring-fill{stroke:var(--reader-accent,#32634b);stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1) .15s}.level-goal-ring text{transform-origin:32px 32px;fill:currentColor;font:600 13px var(--sans);transform:rotate(90deg)}.level-complete .dialog-secondary{justify-content:center;align-items:center;gap:6px;margin-left:auto;margin-right:auto;display:flex}.level-complete .dialog-secondary .icon{width:1em;height:1em}.finish-dialog.level-sheet{overflow:hidden}.level-confetti{pointer-events:none;height:0;position:absolute;inset:0 0 auto}.level-confetti i{--x:calc((var(--i) * 37) % 100 * 1%);top:-12px;left:var(--x);background:hsl(calc(110 + var(--i) * 9) 32% calc(42% + (var(--i) * 3) % 25 * 1%));opacity:0;width:9px;height:14px;animation:level-leaf 1.8s cubic-bezier(.3, .6, .4, 1) calc(var(--i) * 60ms) both;border-radius:9px 0;position:absolute}@keyframes level-leaf{0%{opacity:0;transform:translateY(0)rotate(0)}15%{opacity:1}to{opacity:0;transform:translateY(260px) translateX(calc((var(--i) - 7) * 6px)) rotate(calc(var(--i) * 70deg))}}.level-finish-float{z-index:14;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));background:var(--reader-accent,#32634b);min-height:46px;color:var(--reader-bg,#fffdf4);font:600 14px var(--sans);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 22px;animation:.25s both level-float-in;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0f1f1640}.level-finish-float .icon{width:1em;height:1em}@keyframes level-float-in{0%{opacity:0;transform:translate(-50%,12px)}}@keyframes level-rise{0%{opacity:0;transform:translateY(18px)scale(.98)}}@keyframes level-fade{0%{opacity:0}}@media (width<=640px){.dialog-backdrop.level-sheet-backdrop{align-items:end;padding:0}.reader-page .finish-dialog.level-sheet,.finish-dialog.level-sheet{width:100%;max-height:88dvh;padding:26px 20px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;animation-name:level-sheet-up;box-shadow:0 -16px 50px #0f1f1638}.level-sheet-grip{background:var(--reader-line,#e0e4da);border-radius:999px;width:40px;height:4px;margin:-12px auto 14px;display:block}.level-hero-stat strong{font-size:44px}}@keyframes level-sheet-up{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.level-sheet-backdrop,.finish-dialog.level-sheet,.level-finish-float{animation:none!important}.level-confetti{display:none}.level-goal-ring-fill{transition:none}}.level-checkpoint{margin:16px 0 6px}.level-checkpoint-progress{color:var(--reader-muted,#667367);font:500 12px var(--serif);margin:0 0 10px}.level-checkpoint-sentence{font:500 18px/1.7 var(--serif);margin:0}.level-checkpoint-blank{border-bottom:2px solid var(--reader-accent,#32634b);text-align:center;min-width:4em;display:inline-block}.level-checkpoint-hint{color:var(--reader-muted,#667367);font:400 13px/1.6 var(--serif);margin:6px 0 0}.level-checkpoint-options{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:16px 0 10px;display:grid}.level-checkpoint-options button{border:1px solid var(--reader-line,#e0e4da);background:var(--reader-bg,#f7f7f2);min-height:44px;color:inherit;cursor:pointer;font:500 15px var(--serif);border-radius:10px;transition:border-color .15s,background-color .15s}.level-checkpoint-options button:hover:not(:disabled){border-color:var(--reader-accent,#32634b)}.level-checkpoint-options button.correct{border-color:var(--reader-accent,#32634b);background:color-mix(in srgb, var(--reader-accent,#32634b) 12%, transparent)}.level-checkpoint-options button.wrong{background:#b3634f1a;border-color:#b3634f}.level-checkpoint-feedback{font:500 13px var(--serif);margin:0 0 6px}.level-checkpoint-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.level-checkpoint-actions .dialog-secondary{margin:0}.level-checkpoint-result{color:var(--reader-muted,#667367);font:500 13px/1.6 var(--serif);margin:10px 0 0}.book-path{--path-accent:var(--ui-accent,#32634b);--path-line:var(--ui-border,#e0e4da);--path-muted:var(--ui-muted,#667367);--path-surface:var(--ui-surface,#fffefa);background:radial-gradient(1200px 500px at 50% -10%, #e9efe2 0%, transparent 60%), var(--ui-bg,#f7f7f2);min-height:100vh;color:var(--ui-text,#283d32)}.book-path-header{z-index:5;border-bottom:1px solid var(--path-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f7f2eb;align-items:center;gap:18px;height:64px;padding:0 clamp(16px,5vw,64px);display:flex;position:sticky;top:0}.book-path-header .reader-back{min-height:40px;color:inherit;font:500 13px var(--sans);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.book-path-header .reader-back:hover{background:#e7ebdf}.book-path-header .reader-book-context{min-width:0;color:var(--path-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.book-path-header .reader-book-context span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-path-intro{text-align:center;width:min(640px,100% - 32px);margin:0 auto;padding:44px 0 30px}.book-path-intro .eyebrow{color:var(--path-muted);font:500 11px var(--sans);letter-spacing:.16em;text-align:center;margin:0;display:block}.book-path-intro h1{font:600 clamp(28px, 6vw, 40px)/1.2 var(--serif);margin:8px 0 10px}.book-path-intro>p:not(.eyebrow){max-width:30em;color:var(--path-muted);font:400 14px/1.7 var(--serif);margin:0 auto 18px}.book-path-progress{max-width:360px;margin:0 auto 20px}.book-path-progress-bar{background:#e3e8db;border-radius:999px;height:8px;overflow:hidden}.book-path-progress-bar i{border-radius:inherit;background:linear-gradient(90deg, #5f8f6f, var(--path-accent));height:100%;transition:width .6s;display:block}.book-path-progress p{color:var(--path-muted);font:400 13px var(--serif);margin:8px 0 0}.book-path-progress b{color:var(--ui-text,#283d32);font-weight:600}.book-path .button.book-path-cta{border-radius:999px;padding-inline:26px}.book-path-status{width:min(640px,100% - 32px);color:var(--path-muted);font:400 14px var(--serif);text-align:center;margin:0 auto}.book-path-chapters{gap:14px;width:min(640px,100% - 32px);margin:0 auto;padding:0 0 96px;list-style:none;display:grid}.book-path-chapter{border:1px solid var(--path-line);background:var(--path-surface);border-radius:18px;overflow:hidden}.book-path-chapter-complete{background:#f3f5ee}.book-path-chapter-toggle{width:100%;min-height:58px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:12px 18px;display:flex}.book-path-chapter-title{min-width:0;font:600 17px var(--serif);flex:1}.book-path-chapter-meta{color:var(--path-muted);font:400 12px var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap}.book-path-chapter-complete .book-path-chapter-meta{color:var(--path-accent)}.book-path-chapter-chevron{text-align:center;width:24px;color:var(--path-muted);font-size:18px}.book-path-nodes{border-top:1px dashed var(--path-line);justify-items:center;gap:12px;margin:0;padding:10px 16px 26px;list-style:none;display:grid}.book-path-nodes>li{--path-offset:0;transform:translateX(calc(var(--path-offset) * min(56px, 12vw)))}.book-path-node{color:inherit;font:500 12px var(--serif);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:4px;display:flex}.book-path-node-mark{width:58px;height:58px;color:var(--path-muted);font:700 17px var(--sans);font-variant-numeric:tabular-nums;background:#e6eadf;border:0;border-radius:50%;place-items:center;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:inset 0 -5px #00000014}button.book-path-node:hover .book-path-node-mark{transform:translateY(-2px)}button.book-path-node:active .book-path-node-mark{transform:translateY(2px);box-shadow:inset 0 -2px #00000014}.book-path-node-label{color:var(--path-muted);text-align:center;max-width:16em}.book-path-node-done .book-path-node-mark{color:#fffdf4;background:#8fb59a}.book-path-node-suggested .book-path-node-mark{background:var(--path-accent);color:#fffdf4;width:70px;height:70px;box-shadow:inset 0 -6px 0 #0000002e, 0 0 0 7px color-mix(in srgb, var(--path-accent) 16%, transparent);font-size:19px;animation:2.4s ease-in-out infinite path-pulse}.book-path-node-suggested .book-path-node-label{color:var(--path-accent);font-weight:600}.book-path-node-suggested .book-path-node-label b{margin-right:4px}.book-path-node-pending{cursor:default}.book-path-node-pending .book-path-node-mark{border:2px dashed var(--path-line);box-shadow:none;background:0 0}.book-path-node-review .book-path-node-mark{color:#6d5a1f;background:#e9dfb8}@keyframes path-pulse{50%{box-shadow:inset 0 -6px 0 #0000002e, 0 0 0 12px color-mix(in srgb, var(--path-accent) 8%, transparent)}}@media (prefers-reduced-motion:reduce){.book-path-node-suggested .book-path-node-mark{animation:none}.book-path-progress-bar i,.book-path-node-mark{transition:none}}.wb-home-daily{border:1px solid var(--wb-home-line,#e0e4da);background:var(--wb-home-surface,#fffefa);border-radius:13px;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:18px 0 26px;padding:14px 18px;display:flex}.wb-home-daily-ring{--progress:0;background:conic-gradient(var(--wb-home-green,#32634b) calc(var(--progress) * 1turn), #e3e8db 0);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.wb-home-daily-ring span{background:var(--wb-home-surface,#fffefa);width:34px;height:34px;font:600 11px var(--wb-home-sans);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid}.wb-home-daily-copy{flex:180px}.wb-home-daily-copy b{font:600 15px var(--wb-home-serif);display:block}.wb-home-daily-copy small{color:var(--wb-home-muted,#758074);font-size:12px;line-height:1.6}.wb-home-daily-goal{color:var(--wb-home-muted,#758074);align-items:center;gap:6px;font-size:12px;display:flex}.wb-home-daily-goal button{border:1px solid var(--wb-home-line,#e0e4da);min-width:34px;min-height:34px;color:var(--wb-home-ink,#283d32);font:600 12px var(--wb-home-sans);background:0 0;border-radius:7px}.wb-home-daily-goal button:hover{border-color:var(--wb-home-green,#32634b)}.wb-home-daily-goal button[aria-pressed=true]{border-color:var(--wb-home-green,#32634b);background:var(--wb-home-green,#32634b);color:#fffdf4}.wb-home-daily-review{flex-basis:100%;justify-content:flex-start}.wb-home-streak{color:#b5643a;font:700 14px var(--wb-home-sans);font-variant-numeric:tabular-nums;background:#f6e7d8;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;display:inline-flex}.wb-home-streak svg{width:16px;height:16px}.wb-home-daily-ring{transition:background .6s}.wb-home-checkin-note{color:var(--wb-home-muted,#758074);margin:8px 0;font-size:12px;line-height:1.6}@media (width<=640px){.wb-home-daily{padding:14px}.wb-home-daily-goal{flex-basis:100%}}.access-guide-backdrop{z-index:70;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#18261e73;place-items:center;padding:20px;animation:.2s both access-fade;display:grid;position:fixed;inset:0}.access-guide{border:1px solid var(--ui-border,#e0e4da);background:var(--ui-surface,#fffefa);width:min(500px,100%);max-height:calc(100dvh - 40px);color:var(--ui-text,#283d32);border-radius:18px;padding:30px 30px 26px;animation:.3s cubic-bezier(.2,.8,.2,1) both access-rise;position:relative;overflow-y:auto;box-shadow:0 24px 80px #0f1f1638}.access-guide-close{border:1px solid var(--ui-border,#e0e4da);width:38px;height:38px;color:inherit;cursor:pointer;background:0 0;border-radius:10px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.access-guide-eyebrow{color:var(--ui-muted,#667367);font:500 11px var(--sans);letter-spacing:.16em;margin:0}.access-guide h2{font:600 24px/1.3 var(--serif);outline:none;margin:6px 40px 8px 0}.access-guide-body{color:var(--ui-muted,#667367);font:400 14px/1.7 var(--serif);margin:0 0 18px}.access-guide-option{border:1px solid var(--ui-border,#e0e4da);background:var(--ui-bg,#f7f7f2);width:100%;color:inherit;text-align:left;font:inherit;border-radius:14px;gap:6px;margin:0 0 12px;padding:16px 18px;display:grid;position:relative}.access-guide-option b{font:600 16px var(--serif)}.access-guide-option small{color:var(--ui-muted,#667367);padding-right:28px;font-size:13px;line-height:1.6}.access-guide-option-primary{cursor:pointer;border-color:color-mix(in srgb, var(--ui-accent,#32634b) 40%, transparent);background:color-mix(in srgb, var(--ui-accent,#32634b) 8%, var(--ui-surface,#fffefa));transition:transform .15s,box-shadow .15s}.access-guide-option-primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px #0f1f161a}.access-guide-badge{background:var(--ui-accent,#32634b);color:#fffdf4;font:600 11px var(--sans);border-radius:999px;justify-self:start;padding:2px 9px}.access-guide-go{color:var(--ui-accent,#32634b);position:absolute;top:50%;right:18px;transform:translateY(-50%)}.access-guide-option ol{color:var(--ui-text,#283d32);font:400 13px/1.7 var(--serif);gap:8px;margin:4px 0 6px;padding-left:20px;display:grid}.access-guide-option ol a{color:var(--ui-accent,#32634b);text-underline-offset:3px;white-space:nowrap;margin-left:8px;font-weight:600}.access-guide-secondary{border:1px solid var(--ui-accent,#32634b);min-height:40px;color:var(--ui-accent,#32634b);font:600 13px var(--sans);cursor:pointer;background:0 0;border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:0 16px;display:inline-flex}.access-guide .icon{width:1em;height:1em}.model-access-note{background:color-mix(in srgb, var(--ui-accent,#32634b) 8%, transparent);font:400 13px/1.7 var(--serif);border-radius:12px;gap:4px;margin:0 0 18px;padding:14px 16px;display:grid}.model-access-note b{font-weight:600}.model-access-note button{color:var(--ui-accent,#32634b);font:600 13px var(--serif);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;text-decoration:underline}.model-access-note a{color:var(--ui-accent,#32634b);font-weight:600}@keyframes access-fade{0%{opacity:0}}@keyframes access-rise{0%{opacity:0;transform:translateY(14px)scale(.98)}}@media (width<=640px){.access-guide-backdrop{align-items:end;padding:0}.access-guide{width:100%;max-height:90dvh;padding:26px 20px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}}@media (prefers-reduced-motion:reduce){.access-guide-backdrop,.access-guide{animation:none}}.welcome-gift{text-align:center}.welcome-gift-badge{margin:0 0 6px;font-size:40px;line-height:1}.welcome-gift h2{margin:0 0 12px}.welcome-gift-amount{background:#fbf3e4;border-radius:10px;gap:4px;margin:0 0 16px;padding:14px 12px;display:grid}.welcome-gift-amount b{color:#8a4b12;font-size:26px;line-height:1.2}.welcome-gift-amount small{color:#7a5a22;font-size:13px}.welcome-gift-list{text-align:left;gap:8px;margin:0 0 20px;padding:0;font-size:14px;line-height:1.55;list-style:none;display:grid}.welcome-gift-list li{padding-left:22px;position:relative}.welcome-gift-list li:before{content:"✓";color:var(--coral,#2f6b4f);font-weight:700;position:absolute;left:0}.welcome-gift .confirm-actions{justify-content:center}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #f05a4759}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.15em;height:1.15em}.arrow-left{transform:rotate(180deg)}.studio-header,.reader-header{border-bottom:1px solid var(--line);z-index:3;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(22px,5vw,76px);display:flex;position:relative}.brand{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:inline-flex}.brand-mark{background:var(--ink);width:39px;height:39px;color:var(--paper-light);font-family:var(--serif);border-radius:50% 47% 52% 45%;place-items:center;font-size:18px;font-weight:900;display:grid;transform:rotate(-5deg)}.brand b{font-family:var(--serif);letter-spacing:.08em;font-size:19px;line-height:1;display:block}.brand small{font-family:var(--mono);letter-spacing:.2em;margin-top:5px;font-size:8px;display:block}.button{letter-spacing:.02em;cursor:pointer;border:1.5px solid #0000;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:0 22px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:disabled{opacity:.45;cursor:not-allowed}.button-small{min-height:42px;padding:0 18px;font-size:13px}.button-ink{background:var(--ink);color:#fff}.button-coral{background:var(--coral);color:#fff9ef;border-color:var(--coral-dark);box-shadow:0 7px #c9433429}.text-button{cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:7px 0;font-weight:700}.text-button span{color:var(--coral);margin-left:5px}.eyebrow{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--coral-dark);align-items:center;gap:8px;margin:0 0 16px;display:flex}.eyebrow .icon{font-size:16px}@keyframes hover{0%,to{translate:0}50%{translate:0 -9px}}@keyframes reveal{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.steps{grid-template-columns:repeat(3,1fr);margin:52px 0 0;padding:0;list-style:none;display:grid}.steps li{border-right:1px solid #ffffff2e;min-height:240px;padding:10px 50px 0 0;position:relative}.steps li+li{padding-left:50px}.steps li:last-child{border:0}.steps h3{font:700 22px var(--serif);margin:0 0 12px}.steps p{color:#ffffffa8;max-width:260px;margin:0;font-size:14px;line-height:1.75}.shelf{max-width:1240px;margin:0 auto;padding:90px 24px 110px}.wordbook-page{background:var(--paper);min-height:100vh}.wordbook-header{background:#fbf7edad}.wordbook-back{cursor:pointer;background:0 0;border:0;min-height:42px;padding:0;font-weight:700}.wordbook-account{color:var(--ink-soft);font:500 12px var(--mono);align-items:center;gap:8px;display:inline-flex}.wordbook-account i{background:#5d9b70;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #5d9b701f}.wordbook-intro{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:35px;width:min(1180px,100% - 48px);margin:0 auto;padding:64px 0 45px;display:flex}.wordbook-intro h1{font:900 clamp(45px,6vw,76px)/1 var(--serif);letter-spacing:-.055em;margin:0}.wordbook-intro>div:first-child>p:last-child{color:var(--ink-soft);font:500 15px/1.7 var(--serif);margin:23px 0 0}.wordbook-tally{flex:none;align-items:center;gap:14px;display:flex;transform:rotate(-2deg)}.wordbook-tally strong{border:2px solid var(--ink);background:var(--sun);width:86px;height:86px;box-shadow:7px 7px 0 var(--coral);font:800 33px var(--serif);place-items:center;display:grid}.wordbook-tally span{color:var(--ink-soft);font:500 12px/1.7 var(--mono)}.wordbook-ledger{width:min(1180px,100% - 48px);min-height:500px;margin:0 auto;padding:29px 0 95px}.wordbook-toolbar{grid-template-columns:minmax(280px,560px) auto;justify-content:space-between;align-items:end;gap:24px;margin-bottom:37px;display:grid}.wordbook-toolbar label>span{color:var(--ink-soft);font:500 12px var(--mono);letter-spacing:.08em;margin-bottom:8px;display:block}.wordbook-toolbar input{border:1.5px solid var(--ink);background:var(--paper-light);width:100%;height:50px;color:var(--ink);font:600 13px var(--serif);box-shadow:5px 5px 0 var(--sun);border-radius:0;padding:0 47px 0 16px}.wordbook-toolbar input:focus{box-shadow:5px 5px 0 var(--coral);outline:0}.wordbook-clear{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:8px 0;font-size:12px}.wordbook-clear:hover{color:var(--coral-dark)}.wordbook-list-heading{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;padding:0 4px 13px;display:flex}.wordbook-list-heading h2{font:800 24px var(--serif);margin:0}.wordbook-list-heading span{color:var(--coral-dark);font:500 12px var(--mono)}.wordbook-list{margin:0;padding:0;list-style:none}.wordbook-list>li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 60px;align-items:stretch;transition:background .16s;display:grid;position:relative}.wordbook-list>li:hover,.wordbook-list>li.selected{background:#f4bf421c}.wordbook-list>li.selected{box-shadow:inset 4px 0 var(--coral)}.wordbook-entry{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:42px minmax(150px,.8fr) minmax(220px,1.5fr) 64px 24px;align-items:center;gap:18px;min-width:0;min-height:104px;padding:15px 17px 15px 4px;display:grid}.wordbook-number{color:var(--coral-dark);font:500 12px var(--mono)}.wordbook-word b,.wordbook-word small,.wordbook-meaning b,.wordbook-meaning small,.wordbook-frequency small{display:block}.wordbook-word b{text-overflow:ellipsis;font:800 24px/1.2 var(--serif);overflow:hidden}.wordbook-word small{color:var(--ink-soft);font:500 12px var(--mono);margin-top:5px}.wordbook-meaning b{text-overflow:ellipsis;white-space:nowrap;font:700 14px var(--serif);overflow:hidden}.wordbook-meaning small{color:var(--ink-soft);margin-top:7px;font-size:12px}.wordbook-frequency{text-align:center;color:var(--coral-dark);font:800 20px var(--serif)}.wordbook-frequency small{color:var(--ink-soft);font:400 12px var(--mono)}.wordbook-open{color:var(--coral);font-size:18px}.wordbook-remove{min-height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;align-self:center;font-size:12px;text-decoration:underline}.wordbook-remove:hover{color:var(--coral-dark)}.wordbook-empty{text-align:center;border-bottom:1px solid var(--ink);background-image:repeating-linear-gradient(#0000 0 39px,#17355214 40px);align-content:center;justify-items:center;min-height:440px;display:grid}.wordbook-empty .eyebrow{margin-top:25px}.wordbook-empty h2,.wordbook-no-results h3{font:800 32px var(--serif);margin:0}.wordbook-empty>p:not(.eyebrow){max-width:420px;color:var(--ink-soft);font:500 13px/1.7 var(--serif);margin:13px 0 25px}.empty-word-notes{align-items:flex-end;gap:6px;display:flex}.empty-word-notes i{border:1.5px solid var(--ink);background:var(--paper-light);width:58px;height:73px;font:normal 800 16px var(--serif);place-items:center;display:grid;transform:rotate(-7deg)}.empty-word-notes i:nth-child(2){background:var(--sun);height:61px;transform:rotate(4deg)}.empty-word-notes i:nth-child(3){background:var(--mint);height:80px;transform:rotate(8deg)}.wordbook-no-results{text-align:center;border-bottom:1px solid var(--ink);align-content:center;justify-items:center;gap:13px;min-height:300px;display:grid}.wordbook-no-results>span{border:1px solid var(--ink);background:var(--sun);width:48px;height:48px;font:800 22px var(--serif);place-items:center;display:grid;transform:rotate(4deg)}.wordbook-no-results button{color:var(--coral-dark);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:5px 0;font-size:12px}.wordbook-detail-backdrop{z-index:35;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#17355261;animation:.18s both wordbook-backdrop-in;position:fixed;inset:0}.wordbook-detail{overscroll-behavior:contain;background:var(--paper-light);border-left:2px solid var(--ink);width:min(470px,100% - 40px);height:100%;padding:52px 45px 60px;animation:.25s cubic-bezier(.2,.8,.2,1) both wordbook-detail-in;position:absolute;top:0;right:0;overflow-y:auto;box-shadow:-15px 0 #f4bf42cc}.wordbook-detail-close{position:absolute;top:22px;right:22px}.wordbook-detail h2{color:var(--ink);font:900 46px/1.05 var(--serif);letter-spacing:-.04em;margin:0 0 12px}.wordbook-detail-meta{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:27px;display:flex}.wordbook-detail-meta>span{color:var(--ink-soft);font:500 12px var(--mono)}.wordbook-detail-meta>b{border:1px solid var(--ink);background:var(--sun);font:700 12px var(--mono);padding:5px 8px}.word-note-section{border-top:1px solid var(--line);grid-template-columns:76px 1fr;gap:12px;padding:16px 0;display:grid}.word-note-section>small{color:var(--ink-soft);font:500 12px var(--mono);padding-top:4px}.word-note-section p{font:500 13px/1.7 var(--serif);margin:0}.word-note-meaning strong{color:var(--coral-dark);font:800 18px var(--serif)}.word-note-meaning p{color:var(--ink-soft);grid-column:2;margin-top:-5px}.word-note-chips{flex-wrap:wrap;gap:7px;display:flex}.word-note-chips span{border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);gap:2px;padding:7px 9px;font-size:12px;display:grid}.word-note-chips b{color:var(--ink);font:700 13px var(--serif)}.word-note-section ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.word-note-section li{border-left:3px solid var(--coral);padding-left:10px;display:grid}.word-note-section li b{font:700 13px var(--serif)}.word-note-section li span,.word-note-example>span{color:var(--ink-soft);font-size:12px}.word-note-example>span{grid-column:2;margin-top:-6px}.word-note-pending{text-align:center;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);align-content:center;justify-items:center;min-height:260px;display:grid}.word-note-pending i{border:1.5px solid var(--ink);background:var(--sun);width:58px;height:66px;box-shadow:6px 6px 0 var(--coral);font:normal 800 18px var(--serif);place-items:center;display:grid;transform:rotate(-4deg)}.word-note-pending strong{font:800 18px var(--serif);margin-top:23px}.word-note-pending p{max-width:315px;color:var(--ink-soft);font:500 12px/1.7 var(--serif);margin:9px 0 0}.word-note-source{border-left:4px solid var(--sun);background:var(--paper);gap:4px;margin-top:28px;padding:14px 16px;display:grid}.word-note-source span,.word-note-source small{color:var(--ink-soft);font:500 12px var(--mono)}.word-note-source b{font:700 13px var(--serif)}.word-note-history ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.word-note-history li{border-left:3px solid var(--sun);gap:3px;padding-left:10px;display:grid}.word-note-history b{font:600 13px/1.5 var(--serif)}.word-note-history span{color:var(--ink-soft);font:500 12px/1.5 var(--serif)}.word-note-history small{color:var(--coral-dark);font:400 12px var(--mono)}@keyframes wordbook-backdrop-in{0%{opacity:0}}@keyframes wordbook-detail-in{0%{opacity:.6;transform:translate(35px)}}.studio-page{background:var(--paper);min-height:100vh}.studio-header{background:#fbf7ed80}.brand.compact .brand-mark{width:34px;height:34px}.brand.compact b{font-size:16px}.icon-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.studio-layout{grid-template-columns:.62fr 1.38fr;align-items:start;gap:clamp(35px,6vw,90px);max-width:1280px;min-height:calc(100vh - 82px);margin:0 auto;padding:64px 28px;display:grid}.studio-aside{padding-top:12px;position:sticky;top:120px}.studio-aside h1{font:800 clamp(38px, 4vw, 58px)/1.25 var(--serif);letter-spacing:-.04em;margin:0 0 23px}.studio-aside>p:not(.eyebrow){color:var(--ink-soft);font:500 15px/1.85 var(--serif)}.sample-link{color:var(--coral-dark);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:10px 0;font-size:13px;font-weight:700;text-decoration:underline;display:inline-flex}.studio-card{background:var(--paper-light);border:1.5px solid var(--ink);box-shadow:12px 12px 0 var(--ink);min-height:590px;padding:clamp(25px,4vw,48px);position:relative}.method-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin:-10px 0 30px;display:grid}.method-tabs button{height:52px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;font-weight:700;position:relative}.method-tabs button.active{color:var(--ink)}.method-tabs button.active:after{content:"";background:var(--coral);height:4px;position:absolute;bottom:-1px;left:0;right:0}.language-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:22px;display:grid}.language-field{font:700 12px var(--serif);gap:7px;display:grid}.language-field select{border:1px solid var(--line);width:100%;min-height:43px;color:var(--ink);cursor:pointer;background:#fffdf6;border-radius:0;padding:0 34px 0 12px}.language-field select:focus{border-color:var(--ink);box-shadow:4px 4px 0 var(--sun);outline:0}.language-field small{color:var(--ink-soft);font:400 12px/1.4 var(--mono)}.detect-row{border:1.5px dashed var(--line);background:#fffdf6;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 20px;padding:12px 15px;display:flex}.detect-badge{font:700 12px var(--mono);letter-spacing:.08em;color:var(--coral-dark);border:1px solid var(--coral);flex:none;padding:4px 8px}.detect-field{font:700 12px var(--serif);color:var(--ink-soft);align-items:center;gap:8px;display:flex}.detect-field select{border:1px solid var(--line);min-height:36px;color:var(--ink);cursor:pointer;font:700 12px var(--serif);background:#fffdf6;border-radius:0;padding:0 30px 0 10px}.detect-field select:focus{border-color:var(--ink);box-shadow:4px 4px 0 var(--sun);outline:0}.detect-note{min-width:200px;color:var(--ink-soft);font:500 12px/1.5 var(--serif);flex:1}.field-label{font:700 13px var(--serif);margin-bottom:22px;display:block}.field-label span,.field-label strong{float:right;font:400 12px var(--mono);color:var(--ink-soft)}.field-label strong{color:var(--coral-dark)}.field-label input,.field-label textarea{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fffdf6;margin-top:9px;padding:13px 15px;transition:border-color .2s,box-shadow .2s;display:block}.field-label input:focus,.field-label textarea:focus{border-color:var(--ink);box-shadow:4px 4px 0 var(--sun);outline:0}.story-textarea{height:260px;line-height:1.7}.upload-grid{grid-template-columns:1fr;gap:16px;display:grid}.file-drop-row{position:relative}.file-remove{z-index:2;border:1px solid var(--line);background:var(--paper-light);min-height:34px;color:var(--coral-dark);cursor:pointer;padding:0 12px;font-size:12px;font-weight:700;position:absolute;top:12px;right:12px}.file-remove:hover{border-color:var(--coral);background:#f05a4714}.file-drop.has-file .file-icon{background:var(--mint)}.file-drop{border:1.5px dashed var(--ink-soft);cursor:pointer;text-align:center;background:#fffdf6;flex-direction:column;justify-content:center;align-items:center;height:260px;padding:20px;transition:background .2s,transform .2s,border-color .2s,box-shadow .2s;display:flex}.file-drop:hover{background:#fff5dc;transform:translateY(-2px)}.file-drop.has-file{background:#b9d8c340;border-style:solid}.file-drop.is-dragging{border-color:var(--coral);box-shadow:inset 0 0 0 3px var(--sun);background:#fff0c8;transform:translateY(-3px)}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.file-icon{border:1px solid var(--ink);background:var(--sun);place-items:center;width:58px;height:68px;margin-bottom:18px;display:grid;transform:rotate(-4deg)}.file-icon .icon{font-size:28px}.file-drop strong{font:700 15px var(--serif);word-break:break-all;max-width:100%}.file-drop small{color:var(--ink-soft);margin-top:9px;font-size:12px}.format-note{text-align:center;color:var(--ink-soft);font:400 12px var(--mono);grid-column:1/-1;margin:0}.card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:6px;padding-top:22px;display:flex}.char-count,.privacy-note{font:400 12px var(--mono);color:var(--ink-soft)}.form-error{background:var(--coral);color:#fff;box-shadow:5px 5px 0 var(--ink);padding:12px 15px;font-size:13px;position:absolute;bottom:-48px;left:48px;right:48px}.preview-heading{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-end;padding-bottom:18px;display:flex}.preview-heading h2{font:800 28px var(--serif);margin:0}.preview-heading .eyebrow{margin-bottom:8px}.story-preview{border-left:5px solid var(--sun);background:#fffdf6;margin:22px 0 29px;padding:18px 21px}.story-preview p{font:500 14px/1.9 var(--serif);color:var(--ink-soft);max-height:108px;margin:0 0 10px;overflow:hidden}.story-preview span{font:400 12px var(--mono);color:var(--ink-soft)}.story-preview-editable{gap:18px;display:grid}.story-preview-editable>span{justify-self:end}.preview-edit-label{margin-bottom:0}.preview-edit-label textarea{height:210px;font-size:13px;line-height:1.7}.adaptive-import-card{border:1.5px solid var(--ink);box-shadow:6px 6px 0 var(--sun);background:#fffdf6;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:20px;padding:22px 24px;display:grid}.adaptive-import-mark{border:1.5px solid var(--ink);background:var(--mint);place-items:center;width:68px;height:76px;display:grid;position:relative;transform:rotate(-3deg)}.adaptive-import-mark span{font:900 28px var(--serif)}.adaptive-import-mark i{background:linear-gradient(90deg,var(--coral) 0 38%,var(--sun) 38% 70%,var(--ink) 70%);height:3px;position:absolute;bottom:10px;left:10px;right:10px}.adaptive-import-card .eyebrow{margin-bottom:6px}.adaptive-import-card h3{font:800 21px/1.35 var(--serif);margin:0}.adaptive-import-card p:not(.eyebrow){color:var(--ink-soft);margin:9px 0 7px;font-size:12px;line-height:1.75}.adaptive-import-card small{color:var(--coral-dark);font:600 12px var(--mono)}.level-fieldset{border:0;margin:0;padding:0}.level-fieldset>legend{font:800 21px var(--serif)}.level-fieldset>p{color:var(--ink-soft);margin:7px 0 16px;font-size:12px}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.level-card{border:1px solid var(--line);cursor:pointer;background:#fffdf6;min-height:188px;padding:18px;transition:transform .2s,border-color .2s;position:relative}.level-card:hover{transform:translateY(-3px)}.level-card.active{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--sun)}.level-card input{opacity:0;position:absolute}.radio-dot{border:1px solid var(--ink);border-radius:50%;width:15px;height:15px;position:absolute;top:13px;right:13px}.active .radio-dot:after{content:"";background:var(--coral);border-radius:50%;position:absolute;inset:3px}.level-card strong{font:800 18px var(--serif);display:block}.level-card em{font:400 12px var(--mono);color:var(--coral-dark);margin:4px 0 20px;display:block}.level-card q{font:600 12px/1.6 var(--serif);quotes:none;min-height:40px;display:block}.level-card q:first-letter{color:var(--coral)}.level-card small{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:12px;padding-top:10px;font-size:12px;display:block}.preview-footer{margin-top:27px}.model-settings-page{background:var(--paper);min-height:100vh}.model-settings-header{background:#fbf7eda3}.model-header-state{color:var(--ink-soft);font:500 12px var(--mono);letter-spacing:.04em;align-items:center;gap:8px;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.model-header-state i{border:1px solid var(--ink);background:var(--paper-deep);border-radius:50%;width:8px;height:8px}.model-header-state.connected i{background:#5d9b70;box-shadow:0 0 0 4px #5d9b701f}.model-settings-layout{grid-template-columns:minmax(260px,.62fr) minmax(570px,1.38fr);align-items:start;gap:clamp(44px,6vw,88px);width:min(1240px,100% - 48px);min-height:calc(100vh - 82px);margin:0 auto;padding:62px 0 86px;display:grid}.model-settings-aside{padding:10px 0;position:sticky;top:125px}.model-settings-aside h1{font:800 clamp(39px,4vw,57px)/1.22 var(--serif);letter-spacing:-.045em;text-wrap:balance;margin:0 0 24px}.model-settings-aside h1 em{color:var(--coral);font-style:normal}.model-settings-aside>p:not(.eyebrow){color:var(--ink-soft);font:500 15px/1.85 var(--serif);text-wrap:pretty;margin:0}.model-settings-aside .eyebrow .icon{color:var(--coral)}.model-doodle{border-bottom:1px solid var(--line);height:145px;margin:30px 0 20px;position:relative}.model-doodle span,.model-doodle b{border:2px solid var(--ink);background:var(--sun);width:73px;height:90px;font:800 25px var(--serif);place-items:center;display:grid;position:absolute;bottom:-1px}.model-doodle span{left:10%;transform:rotate(-5deg)}.model-doodle b{background:var(--mint);height:106px;box-shadow:7px 0 0 var(--coral);left:calc(10% + 96px);transform:rotate(3deg)}.model-doodle i{z-index:2;color:var(--coral-dark);font:800 27px var(--serif);position:absolute;top:53px;left:calc(10% + 70px)}.model-doodle small{color:var(--coral-dark);font:italic 15px var(--serif);position:absolute;top:12px;right:2%;transform:rotate(-7deg)}.model-privacy-list{color:var(--ink-soft);margin:0;padding:0;font-size:12px;line-height:1.7;list-style:none}.model-privacy-list li{margin-top:6px;padding-left:17px;position:relative}.model-privacy-list li:before{content:"✓";color:#4f8460;font-weight:900;position:absolute;left:0}.model-settings-card{background:var(--paper-light);border:1.5px solid var(--ink);min-height:650px;box-shadow:12px 12px 0 var(--ink);padding:clamp(28px,4vw,48px);position:relative}.model-card-heading{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px;padding-bottom:20px;display:flex}.model-card-heading .eyebrow{margin-bottom:7px}.model-card-heading h2{font:800 31px/1.1 var(--serif);margin:0}.model-source{border:1px solid var(--line);color:var(--ink-soft);font:500 12px var(--mono);flex:none;padding:7px 10px}.model-source.source-local{color:#3f704f;background:#b9d8c338;border-color:#4f846073}.model-source.source-environment{color:#775b17;background:#f4bf4229;border-color:#f4bf42a6}.model-loading{min-height:420px;color:var(--ink-soft);text-align:center;place-content:center;justify-items:center;gap:17px;display:grid}.model-loading i{border:2px solid var(--ink);background:var(--sun);width:42px;height:52px;box-shadow:6px 6px 0 var(--coral);animation:1.1s ease-in-out infinite alternate model-page-turn}.model-loading p{font:600 13px var(--serif);margin:0}@keyframes model-page-turn{to{transform:translateY(-6px)rotate(4deg)}}.model-managed-note{border-left:4px solid var(--sun);background:#fff6dc;gap:4px;margin:0 0 24px;padding:14px 16px;display:grid}.model-managed-note strong{font:700 13px var(--serif)}.model-managed-note span{color:var(--ink-soft);font-size:12px;line-height:1.55}.model-provider-fieldset{border:0;margin:0 0 25px;padding:0}.model-provider-fieldset legend,.model-field>span:first-child{width:100%;font:700 13px var(--serif);justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.model-provider-fieldset:disabled{opacity:.62}.model-provider-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.model-provider{border:1px solid var(--line);min-height:86px;color:var(--ink);text-align:left;cursor:pointer;background:#fffdf6;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:13px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;position:relative}.model-provider:hover:not(:disabled){border-color:var(--ink);transform:translateY(-2px)}.model-provider.active{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--sun)}.model-provider>i{color:var(--coral-dark);font-style:normal;font-weight:900;position:absolute;top:7px;right:8px}.model-provider strong,.model-provider small{display:block}.model-provider strong{font:800 14px var(--serif)}.model-provider small{color:var(--ink-soft);margin-top:4px;padding-right:9px;font-size:12px;line-height:1.4}.provider-mark{border:1px solid var(--ink);background:var(--paper);width:42px;height:42px;font:600 10px var(--mono);place-items:center;display:grid}.model-provider.active .provider-mark{background:var(--coral);color:#fffaf0}.model-fields-grid{grid-template-columns:1.25fr .75fr;gap:15px;display:grid}.model-field{margin-bottom:23px;display:block}.model-field>span:first-child small{color:var(--ink-soft);font:400 12px var(--mono)}.model-field input,.model-field select{border:1px solid var(--line);width:100%;height:48px;color:var(--ink);background:#fffdf6;border-radius:0;outline:0;padding:0 14px;font-size:13px}.model-field input:read-only{color:var(--ink-soft);background:var(--paper)}.model-field input:focus,.model-field select:focus,.api-key-input:focus-within{border-color:var(--ink);box-shadow:4px 4px 0 var(--sun)}.model-field input:disabled,.model-field select:disabled{opacity:.65;cursor:not-allowed}.model-field-help,.model-field-error{margin-top:7px;font-size:12px;line-height:1.45;display:block}.model-field-help{color:var(--ink-soft)}.model-field-error{color:var(--coral-dark);font-weight:700}.model-field.has-error input,.model-field.has-error select,.model-field.has-error .api-key-input{border-color:var(--coral)}.api-key-field{margin-bottom:7px}.api-key-input{border:1px solid var(--line);background:#fffdf6;grid-template-columns:1fr 62px;display:grid}.api-key-input input{min-width:0;height:48px;box-shadow:none;background:0 0;border:0}.api-key-input input:focus{box-shadow:none}.api-key-input button{border:0;border-left:1px solid var(--line);min-height:46px;color:var(--coral-dark);cursor:pointer;background:0 0;font-size:12px;font-weight:700}.api-key-input button:disabled{color:var(--ink-soft);opacity:.4;cursor:default}.clear-key-button{min-height:40px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin:0 0 19px;padding:0;font-size:12px}.clear-key-button:hover,.clear-key-button.pending{color:var(--coral-dark)}.model-feedback{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--ink-soft);align-items:center;gap:10px;margin:8px 0 20px;padding:10px 13px;font-size:12px;line-height:1.45;display:flex}.model-feedback i{background:var(--ink-soft);border-radius:50%;flex:none;width:9px;height:9px}.model-feedback.success{color:#345f42;font-variant-numeric:tabular-nums;background:#b9d8c338;border-color:#4f846073}.model-feedback.success i{background:#4f8460;box-shadow:0 0 0 4px #4f84601f}.model-feedback.error{color:var(--coral-dark);background:#f05a4714;border-color:#f05a4785}.model-feedback.error i{background:var(--coral)}.model-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;margin-top:8px;padding-top:22px;display:flex}.model-actions>p{color:var(--ink-soft);font:400 12px/1.5 var(--mono);margin:0}.model-actions>div{gap:10px;display:flex}.model-actions .button{white-space:nowrap;min-height:46px;padding:0 16px;font-size:12px}.generating-page{background:var(--ink);min-height:100vh;color:var(--paper-light);grid-template-columns:1.1fr .9fr;place-items:center;padding:50px 10vw;display:grid;position:relative;overflow:hidden}.generating-page:after{content:"";border:1px dashed #ffffff26;border-radius:50%;width:65vw;height:65vw;position:absolute;top:-20vw;left:-25vw}.generating-close{color:var(--paper-light);z-index:4;border-color:#ffffff40;position:absolute;top:30px;right:36px}.generating-copy{z-index:2;max-width:510px}.generating-copy .eyebrow{color:var(--sun)}.generating-copy h1{font:800 clamp(37px, 4.5vw, 62px)/1.25 var(--serif);margin:0 0 21px}.generating-copy>p:not(.eyebrow){color:#ffffff9e;font:500 15px/1.8 var(--serif)}.generation-progress{background:#ffffff26;height:5px;margin-top:42px;overflow:hidden}.generation-progress i{background:var(--coral);height:100%;transition:width .5s;display:block;position:relative}.generation-progress i:after{content:"";background:var(--sun);width:8px;height:8px;box-shadow:0 0 14px var(--sun);border-radius:50%;position:absolute;top:-2px;right:0}.generating-copy>span{text-align:right;color:#ffffff80;font:400 12px var(--mono);margin-top:8px;display:block}.reader-page{--reader-bg:#fbf7ed;--reader-surface:#fffdf7;--reader-text:#173552;--reader-muted:#466079;--reader-line:#1735522e;--reader-accent:#c94334;--reader-highlight:#f4bf42;--reader-highlight-soft:#f4bf4221;--reader-header:#fbf7edf0;--reader-overlay:#173552;--reader-overlay-text:#fbf7ed;--reader-body-font:var(--serif);min-height:100vh;color:var(--reader-text);background:var(--reader-bg);transition:color .2s,background-color .2s}.reader-page[data-reader-theme=warm]{--reader-bg:#f3e6ce;--reader-surface:#fbf1df;--reader-text:#3d3027;--reader-muted:#67584b;--reader-line:#3d302733;--reader-accent:#a74434;--reader-highlight:#d9a441;--reader-highlight-soft:#d9a44126;--reader-header:#f3e6cef0;--reader-overlay:#3d3027;--reader-overlay-text:#fbf1df}.reader-page[data-reader-theme=mint]{--reader-bg:#edf4ee;--reader-surface:#f7fbf7;--reader-text:#173a35;--reader-muted:#496b63;--reader-line:#173a3533;--reader-accent:#2f6b5b;--reader-highlight:#e5b94f;--reader-highlight-soft:#e5b94f24;--reader-header:#edf4eef0;--reader-overlay:#173a35;--reader-overlay-text:#edf4ee}.reader-page[data-reader-theme=night]{--reader-bg:#142435;--reader-surface:#1c3043;--reader-text:#f2eadc;--reader-muted:#c6d2dd;--reader-line:#f2eadc38;--reader-accent:#ffd166;--reader-highlight:#7cb8a1;--reader-highlight-soft:#7cb8a12e;--reader-header:#142435f0;--reader-overlay:#0b1722;--reader-overlay-text:#f2eadc}.reader-page[data-reader-font=sans]{--reader-body-font:var(--sans)}.reader-page button:focus-visible{outline-color:var(--reader-highlight)}.reader-progress{z-index:12;background:var(--reader-line);height:4px;position:fixed;top:0;left:0;right:0}.reader-progress i{background:var(--reader-accent);transform-origin:0;will-change:transform;width:100%;height:100%;display:block;transform:scaleX(0)}.reader-header{color:var(--reader-text);background:var(--reader-header);border-bottom-color:var(--reader-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;position:sticky;top:0}.reader-back{min-height:44px;color:var(--reader-text);cursor:pointer;background:0 0;border:0;font-weight:700}.reader-tools{align-items:center;gap:14px;margin-left:auto;display:flex}.level-badge{font:500 12px var(--mono);align-items:center;gap:7px;display:flex}.level-badge i{background:var(--reader-highlight);border:1px solid var(--reader-text);border-radius:50%;width:8px;height:8px}.difficulty-stepper{border:1px solid var(--reader-line);background:var(--reader-surface);grid-template-columns:1fr 1fr;min-height:44px;display:grid}.difficulty-stepper button{min-width:92px;min-height:42px;color:var(--reader-text);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0 11px;font-size:12px;font-weight:700}.difficulty-stepper button+button{border-left:1px solid var(--reader-line)}.difficulty-stepper button:hover:not(:disabled){color:var(--reader-accent);background:var(--reader-highlight-soft)}.difficulty-stepper button:disabled{opacity:.3;cursor:default}.hamiltonian-toggle{border:1px solid var(--reader-line);background:var(--reader-surface);min-height:44px;color:var(--reader-text);cursor:pointer;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:700;transition:border-color .15s,box-shadow .15s;display:inline-flex}.hamiltonian-toggle:hover{border-color:var(--reader-text)}.hamiltonian-toggle.active{border-color:var(--reader-accent);box-shadow:2px 2px 0 var(--reader-highlight);color:var(--reader-accent)}.hamiltonian-toggle>span:first-child{font:800 13px var(--serif)}.hamiltonian-paragraph{gap:18px;display:grid}.hamiltonian-row{border-left:3px solid var(--reader-highlight);gap:3px;padding-left:14px;display:grid}.hamiltonian-target{color:var(--reader-text);font-family:inherit;font-size:inherit;margin:0;font-weight:650;line-height:1.55}.hamiltonian-source{color:var(--reader-muted);margin:0;font-family:inherit;font-size:.78em;line-height:1.5}.hamiltonian-gloss-pair{text-align:center;gap:0;display:inline-grid}.hamiltonian-gloss-pair b{color:var(--reader-accent);font:650 .72em var(--serif);line-height:1.3}.hamiltonian-gloss-pair small{color:var(--reader-muted);font:500 .62em/1.2 var(--serif)}.hamiltonian-gloss-toggle{border:1px solid var(--reader-line);background:var(--reader-highlight-soft);min-height:34px;color:var(--reader-accent);cursor:pointer;font:700 12px var(--serif);white-space:nowrap;padding:0 8px}.level-badge.automatic{border:1px solid var(--reader-line);background:var(--reader-highlight-soft);white-space:nowrap;padding:8px 10px;font-weight:700}.level-badge.automatic i{background:#5d9b70;box-shadow:0 0 0 3px #5d9b7021}.appearance-toggle{border:1px solid var(--reader-line);background:var(--reader-surface);min-height:44px;color:var(--reader-text);cursor:pointer;align-items:center;gap:8px;padding:0 13px;transition:transform .15s,border-color .15s,box-shadow .15s;display:inline-flex}.appearance-toggle:hover,.appearance-toggle.active{border-color:var(--reader-text);box-shadow:3px 3px 0 var(--reader-highlight);transform:translate(-1px,-1px)}.appearance-glyph{font:800 15px var(--serif);letter-spacing:-.08em}.appearance-label{font-size:12px;font-weight:700}.reader-wordbook-button{border:1px solid var(--reader-line);background:var(--reader-surface);min-height:44px;color:var(--reader-text);cursor:pointer;font:800 13px var(--serif);align-items:center;gap:6px;padding:0 10px;display:inline-flex;position:relative}.reader-wordbook-button:hover{border-color:var(--reader-text);box-shadow:3px 3px 0 var(--reader-highlight)}.reader-wordbook-button small{background:var(--reader-accent);color:#fff9ef;min-width:17px;height:17px;font:500 12px var(--mono);border-radius:50%;place-items:center;display:grid}.vocabulary-overlay{z-index:40;overscroll-behavior:contain;background:var(--paper);animation:.25s both reveal;position:fixed;inset:0;overflow-y:auto}.reading-sheet{width:min(850px,100% - 40px);color:var(--reader-text);margin:0 auto;padding:85px 65px 120px}.article-heading{text-align:center;margin-bottom:78px}.article-heading .eyebrow{color:var(--reader-muted);justify-content:center}.article-heading h1{font:900 clamp(39px, 6vw, 65px)/1.25 var(--serif);letter-spacing:-.05em;margin:0}.article-rule{color:var(--reader-accent);justify-content:center;align-items:center;gap:15px;margin:26px 0 17px;display:flex}.article-rule:before,.article-rule:after{content:"";background:var(--reader-line);width:90px;height:1px}.reading-hint{color:var(--reader-muted);font-size:12px}.chapter-title{color:var(--reader-accent);font:700 clamp(15px, 2.2vw, 19px)/1.5 var(--serif);letter-spacing:.02em;margin:-12px 0 0}.adaptive-note{border:1px solid var(--reader-line);background:var(--reader-highlight-soft);width:max-content;max-width:100%;color:var(--reader-accent);font:600 12px/1.5 var(--mono);margin:14px auto 0;padding:7px 10px;transform:rotate(-1deg)}.article-body{font-family:var(--reader-body-font);font-size:var(--reader-font-size);font-weight:500;line-height:var(--reader-line-height);letter-spacing:.015em}.story-paragraph{margin:0 0 var(--reader-paragraph-gap);text-wrap:pretty;content-visibility:auto;contain-intrinsic-size:auto 2lh}.learning-word{border:0;border-bottom:4px solid var(--reader-highlight);background:var(--reader-highlight-soft);color:var(--reader-accent);cursor:pointer;margin:0 1px;padding:0 2px;font-family:inherit;font-size:1em;font-weight:700;line-height:1.3;transition:background .15s,transform .15s}.learning-word:hover{background:var(--reader-highlight);transform:rotate(-1deg)translateY(-1px)}.english-plain{color:var(--reader-text);font-family:inherit}.article-body ::selection{color:var(--reader-text);background:var(--reader-highlight)}.english-word{cursor:pointer;-webkit-user-select:text;user-select:text;border-radius:2px;transition:color .12s,background .12s,box-shadow .12s}.english-word:focus-visible{color:var(--reader-accent);background:var(--reader-highlight-soft);box-shadow:inset 0 -3px var(--reader-highlight);outline:2px solid var(--reader-highlight);outline-offset:2px}@media (hover:hover) and (pointer:fine){.english-word:not(.learning-word):hover{color:var(--reader-accent);background:var(--reader-highlight-soft);box-shadow:inset 0 -2px var(--reader-highlight)}}.sentence-gloss-trigger{vertical-align:.08em;border:1px solid var(--reader-line);background:var(--reader-surface);width:1.65em;height:1.65em;color:var(--reader-accent);opacity:.62;cursor:pointer;-webkit-user-select:none;user-select:none;font:800 .48em/1 var(--serif);border-radius:50%;place-items:center;margin:0 .18em 0 .32em;padding:0;transition:opacity .15s,transform .15s,border-color .15s,box-shadow .15s;display:inline-grid}.full-english-unit:hover .sentence-gloss-trigger,.sentence-gloss-trigger:focus-visible{opacity:1;border-color:var(--reader-accent);box-shadow:2px 2px 0 var(--reader-highlight);transform:translateY(-1px)rotate(-4deg)}.learning-action{z-index:24;border:1px solid var(--reader-text);background:var(--reader-surface);width:max-content;max-width:min(260px,100vw - 24px);min-height:44px;color:var(--reader-text);text-align:left;cursor:pointer;box-shadow:5px 5px 0 var(--reader-highlight);grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;padding:6px 11px 6px 7px;animation:.14s cubic-bezier(.2,.8,.2,1) learning-action-in;display:grid;position:fixed}.learning-action[data-placement=above]{transform:translate(-50%,-100%)}.learning-action[data-placement=below]{transform:translate(-50%)}.learning-action:hover,.learning-action:focus-visible{border-color:var(--reader-accent);box-shadow:5px 5px 0 var(--reader-accent)}.learning-action-mark{background:var(--reader-accent);width:30px;height:30px;color:var(--reader-bg);font:800 13px var(--serif);border-radius:50%;place-items:center;display:grid}.learning-action b,.learning-action small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.learning-action b{font:700 12px var(--serif)}.learning-action small{max-width:190px;color:var(--reader-muted);font:500 12px var(--mono);margin-top:2px}.learning-action[data-learning-kind=selection]{max-width:min(310px,100vw - 24px)}.learning-action-hint{pointer-events:none;cursor:default}@keyframes learning-action-in{0%{opacity:0;scale:.96}}.sentence-gloss-bubble{z-index:26;overscroll-behavior:contain;border:1.5px solid var(--reader-text);background:var(--reader-surface);color:var(--reader-text);box-shadow:8px 8px 0 var(--reader-highlight);padding:23px 24px 25px;animation:.18s cubic-bezier(.2,.8,.2,1) sentence-gloss-in;position:fixed;overflow-y:auto}.sentence-gloss-bubble[data-placement=above]{transform-origin:bottom}.sentence-gloss-bubble[data-placement=below]{transform-origin:top}@keyframes sentence-gloss-in{0%{opacity:0;scale:.97}}.sentence-gloss-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:15px;display:flex}.sentence-gloss-heading .eyebrow{color:var(--reader-accent);margin-bottom:4px}.sentence-gloss-heading h2{font:800 24px/1.1 var(--serif);margin:0}.sentence-gloss-close{border:1px solid var(--reader-line);width:34px;height:34px;color:var(--reader-text);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.sentence-gloss-close:hover{border-color:var(--reader-accent);color:var(--reader-accent);transform:rotate(4deg)}.sentence-gloss-english{color:var(--reader-text);font:750 17px/1.55 var(--serif);overflow-wrap:anywhere;margin:0 0 16px}.sentence-gloss-chinese{border:1px solid var(--reader-line);border-left:4px solid var(--reader-accent);background:var(--reader-highlight-soft);grid-template-columns:64px 1fr;gap:11px;padding:11px 12px;display:grid}.sentence-gloss-chinese>span{color:var(--reader-accent);font:700 12px var(--mono);letter-spacing:.04em;padding-top:3px}.sentence-gloss-chinese p{font:650 13px/1.65 var(--serif);margin:0}.sentence-gloss-words{margin-top:19px}.sentence-gloss-words h3{color:var(--reader-muted);font:700 12px var(--mono);letter-spacing:.04em;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 8px;display:flex}.sentence-gloss-words h3 small{color:var(--reader-accent);font-size:12px}.sentence-gloss-words h3 button{border:1px solid var(--reader-line);background:var(--reader-surface);color:var(--reader-accent);cursor:pointer;font:700 12px var(--serif);padding:3px 8px}.sentence-gloss-interlinear{flex-wrap:wrap;align-items:flex-start;gap:6px 10px;margin:0;display:flex}.interlinear-pair{text-align:center;justify-items:center;gap:2px;display:grid}.interlinear-pair b{color:var(--reader-text);font:750 12px var(--serif)}.interlinear-pair small{color:var(--reader-muted);font:500 12px/1.3 var(--serif);max-width:84px}.sentence-gloss-words ul{border-top:1px solid var(--reader-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;margin:0;padding:0;list-style:none;display:grid}.sentence-gloss-words li{border-bottom:1px solid var(--reader-line);grid-template-columns:minmax(70px,.9fr) minmax(0,1.1fr);align-items:baseline;gap:8px;min-width:0;padding:8px 0;display:grid}.sentence-gloss-words li b{color:var(--reader-accent);font:750 12px var(--serif);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sentence-gloss-words li span{color:var(--reader-text);font:550 12px/1.45 var(--serif)}.sentence-gloss-status,.sentence-gloss-error{border-top:1px solid var(--reader-line);min-height:68px;color:var(--reader-muted);text-align:center;font:550 12px/1.6 var(--serif);justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.sentence-gloss-status i{border:2px solid var(--reader-line);border-top-color:var(--reader-accent);border-radius:50%;flex:none;width:20px;height:20px;animation:.8s linear infinite explanation-spin}.sentence-gloss-error{align-content:center;display:grid}.sentence-gloss-error p{margin:0}.sentence-gloss-error button{width:max-content;color:var(--reader-accent);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin:0 auto;padding:3px 0;font-size:12px;font-weight:700}.sentence-gloss-detail{border:1px solid var(--reader-line);background:var(--reader-surface);width:100%;min-height:42px;color:var(--reader-accent);cursor:pointer;font:750 12px var(--serif);justify-content:space-between;align-items:center;margin-top:14px;padding:0 13px;display:flex}.sentence-gloss-detail:hover{border-color:var(--reader-accent);background:var(--reader-highlight-soft)}.article-end{text-align:center;border-top:1px solid var(--reader-line);margin-top:70px;padding-top:45px}.end-star{width:48px;height:48px;color:var(--reader-accent);background:var(--reader-bg);border-radius:50%;place-items:center;margin:-70px auto 18px;font-size:20px;display:grid}.article-end p{font:600 16px var(--serif);margin-bottom:25px}.page-navigation{justify-content:center;align-items:center;gap:18px;display:flex}.page-previous{min-height:48px;color:var(--reader-muted);cursor:pointer;font:700 12px var(--serif);background:0 0;border:0;text-decoration:underline}.reader-page .button-ink{background:var(--reader-text);color:var(--reader-bg)}.appearance-panel{z-index:18;overscroll-behavior:contain;width:min(370px,100vw - 32px);max-height:calc(100dvh - 114px);color:var(--reader-text);background:var(--reader-surface);border:1.5px solid var(--reader-text);box-shadow:9px 9px 0 var(--reader-highlight);padding:25px;animation:.22s cubic-bezier(.2,.8,.2,1) appearance-in;position:fixed;top:94px;right:clamp(20px,5vw,76px);overflow-y:auto}@keyframes appearance-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}}.appearance-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.appearance-heading .eyebrow{color:var(--reader-accent);margin-bottom:5px}.appearance-heading h2{font:800 27px/1.15 var(--serif);margin:0}.appearance-panel .icon-button{width:38px;height:38px;color:var(--reader-text);border-color:var(--reader-line);flex:none}.appearance-preview{border-left:4px solid var(--reader-highlight);background:var(--reader-bg);color:var(--reader-text);font-family:var(--reader-body-font);font-size:clamp(14px, var(--reader-font-size), 19px);line-height:var(--reader-line-height);margin:20px 0 23px;padding:13px 15px}.appearance-preview span{color:var(--reader-accent)}.appearance-group{border:0;margin:0 0 20px;padding:0}.appearance-group legend{color:var(--reader-muted);font:500 12px var(--mono);letter-spacing:.08em;margin-bottom:9px}.font-stepper{border:1px solid var(--reader-line);grid-template-columns:1fr 1.2fr 1fr;display:grid}.font-stepper button,.font-stepper output{min-height:46px;color:var(--reader-text);background:0 0;border:0;place-items:center;display:grid}.font-stepper button{cursor:pointer;font:800 14px var(--serif)}.font-stepper button:first-child{border-right:1px solid var(--reader-line)}.font-stepper button:last-child{border-left:1px solid var(--reader-line)}.font-stepper button:hover:not(:disabled){background:var(--reader-highlight-soft)}.font-stepper button:disabled{opacity:.3;cursor:default}.font-stepper output{font:700 13px var(--serif);align-content:center;gap:2px}.font-stepper output small{font:500 12px var(--mono);color:var(--reader-muted);display:block}.appearance-segments{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.appearance-segments button{border:1px solid var(--reader-line);min-height:44px;color:var(--reader-muted);cursor:pointer;background:0 0;font-size:12px;font-weight:700}.appearance-segments button:hover{color:var(--reader-text);border-color:var(--reader-text)}.appearance-segments button.active{color:var(--reader-text);background:var(--reader-highlight-soft);border:2px solid var(--reader-text);box-shadow:2px 2px 0 var(--reader-highlight)}.font-segments{grid-template-columns:repeat(2,1fr)}.font-segments button:first-child{font-family:var(--serif)}.font-segments button:last-child{font-family:var(--sans)}.theme-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.theme-option{--swatch-bg:#fbf7ed;--swatch-text:#173552;--swatch-accent:#c94334;border:1px solid var(--reader-line);min-height:68px;color:var(--reader-text);text-align:left;cursor:pointer;background:0 0;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:9px;display:grid}.theme-option:hover{border-color:var(--reader-text)}.theme-option.active{border:2px solid var(--reader-text);box-shadow:3px 3px 0 var(--reader-highlight)}.theme-warm{--swatch-bg:#f3e6ce;--swatch-text:#3d3027;--swatch-accent:#a74434}.theme-mint{--swatch-bg:#edf4ee;--swatch-text:#173a35;--swatch-accent:#2f6b5b}.theme-night{--swatch-bg:#142435;--swatch-text:#f2eadc;--swatch-accent:#ffd166}.theme-swatch{background:var(--swatch-bg);border:1px solid #00000026;height:45px;display:block;position:relative;overflow:hidden}.theme-swatch i{background:var(--swatch-text);height:2px;position:absolute;left:7px;right:7px}.theme-swatch i:first-child{top:11px}.theme-swatch i:nth-child(2){top:20px;right:14px}.theme-swatch i:nth-child(3){background:var(--swatch-accent);width:10px;height:4px;top:29px}.theme-option b,.theme-option small{display:block}.theme-option b{font:700 12px var(--serif)}.theme-option small{color:var(--reader-muted);margin-top:3px;font-size:12px;line-height:1.35}.appearance-reset{border:0;border-top:1px solid var(--reader-line);width:100%;min-height:44px;color:var(--reader-accent);cursor:pointer;background:0 0;padding:14px 0 0;font-size:12px;font-weight:700;text-decoration:underline}.appearance-reset:disabled{opacity:.35;cursor:default;text-decoration:none}.explanation-sheet{z-index:25;overscroll-behavior:contain;background:var(--reader-overlay);width:min(390px,100vw - 32px);max-height:calc(100dvh - 56px);color:var(--reader-overlay-text);box-shadow:12px 12px 0 var(--reader-accent);padding:34px;animation:.3s cubic-bezier(.2,.8,.2,1) clue-in;position:fixed;bottom:28px;right:28px;overflow-y:auto}@keyframes clue-in{0%{opacity:0;transform:translateY(30px)rotate(1deg)}}.explanation-close{border-color:#fff3;position:absolute;top:16px;right:16px}.explanation-sheet .eyebrow,.explanation-sheet h2,.expand-clue{color:var(--reader-highlight)}.explanation-sheet h2{font:800 34px var(--serif);margin:0 0 5px}.phonetic-note{color:#ffffffa3;margin:0 0 23px;font-size:12px}.clue-row{border-top:1px solid #ffffff29;grid-template-columns:75px 1fr;gap:10px;padding:15px 0;display:grid}.clue-row>span{color:#ffffff94;font:400 12px var(--mono);padding-top:4px}.clue-row p{font:500 13px/1.7 var(--serif);margin:0}.coral-row b{color:var(--reader-highlight);font-size:16px}.grammar-row{background:#ffffff0a;margin:0 -12px;padding:15px 12px}.expand-clue{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #ffffff29;width:100%;padding:16px 0 0;font-weight:700}.expand-clue span{float:right}.compact-meaning{border-bottom:1px solid #ffffff29;grid-template-columns:72px 1fr;padding:18px 0}.compact-meaning p{font-size:18px;line-height:1.5}.explanation-detail-button{width:100%;min-height:44px;color:var(--reader-highlight);cursor:pointer;font:750 12px var(--serif);background:0 0;border:0;justify-content:space-between;align-items:center;padding:13px 0 0;display:flex}.explanation-detail-button:hover{color:#fff}.vocabulary-meta{flex-wrap:wrap;align-items:center;gap:8px 10px;margin:-7px 0 17px;display:flex}.vocabulary-phonetic{color:#ffffffd1;font:600 13px var(--mono)}.vocabulary-pos{color:var(--reader-highlight);font:700 12px var(--mono);letter-spacing:.03em;background:#ffffff12;border:1px solid #fff3;padding:4px 7px}.vocabulary-card .clue-row:first-of-type{border-top-color:#ffffff47}.vocabulary-list-row>div,.vocabulary-list-row>ul,.vocabulary-example-row>div{min-width:0}.vocabulary-chips{flex-wrap:wrap;gap:7px;display:flex}.vocabulary-chip{background:#ffffff0d;border:1px solid #ffffff2e;padding:7px 9px}.vocabulary-chip b,.vocabulary-chip small{display:block}.vocabulary-chip b{color:var(--reader-highlight);font:700 12px var(--serif)}.vocabulary-chip small{color:#ffffff94;margin-top:2px;font-size:12px}.vocabulary-collocations{gap:9px;margin:0;padding:0;list-style:none;display:grid}.vocabulary-collocations li{border-left:2px solid var(--reader-accent);padding-left:9px}.vocabulary-collocations b,.vocabulary-collocations small{display:block}.vocabulary-collocations b{color:#ffffffeb;font:700 12px var(--serif)}.vocabulary-collocations small,.vocabulary-example-row small{color:#ffffff9e;font:500 12px/1.6 var(--serif);margin-top:2px}.vocabulary-example-row p{color:#fffffff0;font-style:italic}.vocabulary-example-row small{display:block}.vocabulary-usage{margin-bottom:0}.explanation-sheet[data-kind=selection] h2{overflow-wrap:anywhere;max-height:8.8em;padding-right:26px;font-size:20px;line-height:1.55;overflow-y:auto}.explanation-sheet h2:focus{outline:0}.explanation-status,.explanation-error{text-align:center;border-top:1px solid #ffffff29;align-content:center;place-items:center;gap:13px;min-height:105px;display:grid}.explanation-status i{border:3px solid #fff3;border-top-color:var(--reader-highlight);border-radius:50%;width:27px;height:27px;animation:.8s linear infinite explanation-spin}.explanation-status p,.explanation-error p{color:#ffffffb8;font:500 12px/1.7 var(--serif);margin:0}.explanation-error button,.explanation-fallback button{color:var(--reader-highlight);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:4px 0;font-size:12px;font-weight:700}.explanation-fallback{border-left:3px solid var(--reader-accent);color:#ffffffb3;font:500 12px/1.6 var(--serif);background:#ffffff0f;margin:0 0 14px;padding:10px 12px}.explanation-fallback button{margin-left:6px}.known-button{width:100%;min-height:44px;color:var(--reader-highlight);cursor:pointer;font:750 12px var(--serif);background:0 0;border:1px dashed #ffffff59;justify-content:space-between;align-items:center;margin-top:16px;padding:0 13px;display:flex}.known-button:hover{border-color:var(--reader-highlight);background:#ffffff0f}.known-removed{color:#ffffffad;font:500 12px/1.6 var(--serif);margin:13px 0 0}.ask-ai{border-top:1px dashed #ffffff40;margin-top:18px;padding-top:14px}.ask-ai-heading{color:var(--reader-highlight);font:750 12px var(--serif);margin:0 0 10px}.ask-ai-heading small{color:#ffffff80;font:500 12px var(--mono);margin-left:7px}.ask-ai-item{margin-bottom:11px}.ask-ai-question{color:#ffffffd9;font:600 12px/1.5 var(--serif);margin:0 0 4px}.ask-ai-answer{color:#ffffffb8;font:500 12px/1.65 var(--serif);margin:0}.ask-ai-status{color:#ffffff80;font:500 12px/1.5 var(--serif);margin:0}.ask-ai-input{grid-template-columns:1fr auto;gap:8px;margin-top:10px;display:grid}.ask-ai-input input{color:#fff;background:#ffffff12;border:1px solid #ffffff38;min-width:0;height:42px;padding:0 12px;font-size:12px}.ask-ai-input input:focus{border-color:var(--reader-highlight);outline:0}.ask-ai-input button{background:var(--reader-highlight);color:#000000bf;cursor:pointer;min-height:42px;font:700 12px var(--serif);border:0;padding:0 14px}.ask-ai-input button:disabled{opacity:.4;cursor:default}@keyframes explanation-spin{to{transform:rotate(360deg)}}.dialog-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b2135b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.finish-dialog{width:min(650px,100%);max-height:calc(100vh - 30px);color:var(--reader-text);background:var(--reader-surface);border:2px solid var(--reader-text);box-shadow:13px 13px 0 var(--reader-accent);padding:38px 44px 40px;animation:.35s both reveal;position:relative;overflow-y:auto}.finish-dialog>.icon-button{color:var(--reader-text);border-color:var(--reader-line);position:absolute;top:18px;right:18px}.finish-spark{background:var(--reader-highlight);width:58px;height:58px;color:var(--reader-text);border-radius:50%;place-items:center;margin-bottom:20px;display:grid;transform:rotate(-7deg)}.finish-spark .icon{font-size:28px}.finish-dialog h2{font:800 31px var(--serif);margin:0}.finish-dialog>p:not(.eyebrow){color:var(--reader-muted);margin:8px 0 25px}.finish-dialog fieldset{border:0;margin:22px 0;padding:0}.finish-dialog legend{font:700 14px var(--serif);margin-bottom:12px}.feedback-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.feedback-options label,.like-options label{border:1px solid var(--reader-line);cursor:pointer;text-align:center;background:var(--reader-bg);padding:13px}.feedback-options label.active,.like-options label.active{border:2px solid var(--reader-text);box-shadow:3px 3px 0 var(--reader-highlight)}.feedback-options input,.like-options input{opacity:0;position:absolute}.feedback-options strong{font:700 13px var(--serif);display:block}.feedback-options small{color:var(--reader-muted);margin-top:3px;font-size:12px;display:block}.like-options{gap:8px;display:flex}.like-options label{flex:1;font-size:12px}.like-options label span{color:var(--reader-accent);margin-right:6px}.full-button{width:100%}.toast{z-index:50;background:var(--ink);color:#fff;box-shadow:6px 6px 0 var(--sun);text-align:center;min-width:290px;padding:13px 17px;font-size:12px;position:fixed;top:18px;left:50%;transform:translate(-50%)}.toast button{color:#fff;float:right;cursor:pointer;background:0 0;border:0;margin-left:15px;font-size:18px}.toast .toast-retry{float:none;font-size:12px;text-decoration:underline}.dialog-secondary{color:var(--reader-muted);cursor:pointer;font:600 12px var(--serif);background:0 0;border:0;margin:15px auto 0;text-decoration:underline;display:block}.confirm-dialog{width:min(460px,100%);color:var(--ink);background:var(--paper-light);border:2px solid var(--ink);box-shadow:9px 9px 0 var(--coral);padding:30px 32px 28px;animation:.3s both reveal;position:relative}.confirm-dialog h2{font:800 24px/1.3 var(--serif);margin:0 0 10px}.confirm-dialog p{color:var(--ink-soft);font:500 13px/1.75 var(--serif);margin:0 0 24px}.confirm-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.confirm-actions .dialog-secondary{color:var(--ink-soft);margin:0}@media (width<=640px){.confirm-dialog{box-shadow:7px 7px 0 var(--coral);padding:26px 20px 24px}.confirm-actions{flex-direction:column-reverse}.confirm-actions .button,.confirm-actions .dialog-secondary{width:100%}}@media (width<=900px){.steps{grid-template-columns:1fr}.steps li,.steps li+li{border-bottom:1px solid #ffffff29;border-right:0;min-height:145px;padding:25px 10px 35px 115px}.steps li:last-child{border-bottom:0}.studio-layout{grid-template-columns:1fr}.studio-aside{position:static}.studio-aside h1{max-width:650px}.generating-page{grid-template-columns:1fr;padding:60px 25px}.model-settings-layout{grid-template-columns:1fr;width:min(760px,100% - 42px);padding-top:45px}.model-settings-aside{position:static}.model-settings-aside h1,.model-settings-aside>p:not(.eyebrow){max-width:620px}.model-doodle,.model-privacy-list{display:none}.wordbook-entry{grid-template-columns:35px minmax(130px,.8fr) minmax(180px,1.3fr) 55px 18px;gap:12px}.wordbook-word b{font-size:21px}}@media (width<=640px){.studio-header,.reader-header{height:68px;padding:0 17px}.button-small{padding:0 12px}.button-small .icon,.model-header-state{display:none}.shelf{padding:65px 18px 80px}.studio-layout{padding:36px 15px 60px}.studio-aside{padding:0 7px}.studio-aside h1{font-size:38px}.studio-card{box-shadow:7px 7px 0 var(--ink);padding:25px 18px}.language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detect-row{gap:8px;padding:10px 12px}.detect-note{min-width:140px}.story-textarea{height:180px}.file-drop{height:170px}.adaptive-import-card{grid-template-columns:54px 1fr;gap:14px;padding:17px 15px}.adaptive-import-mark{width:50px;height:59px}.adaptive-import-mark span{font-size:22px}.adaptive-import-card h3{font-size:17px}.adaptive-import-card p:not(.eyebrow){font-size:11px}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.level-card{min-height:132px;padding:15px 28px 14px 13px}.level-card strong{font-size:15px}.level-card em{margin:3px 0 9px;font-size:12px}.level-card q{display:none}.level-card small{margin-top:8px;padding-top:8px;font-size:12px;line-height:1.45}.form-error{left:18px;right:18px}.card-footer{align-items:flex-end}.card-footer .button{padding:0 15px}.generating-copy{text-align:center}.generating-copy .eyebrow{justify-content:center}.reader-header{justify-content:space-between}.reader-back span{display:none}.reader-tools{gap:4px}.reader-wordbook-button{justify-content:center;width:44px;padding:0}.level-badge{text-overflow:ellipsis;white-space:nowrap;max-width:108px;font-size:12px;display:flex;overflow:hidden}.level-badge.automatic{max-width:132px;padding:7px 8px;font-size:12px}.level-badge.automatic.manual i{background:var(--reader-accent);box-shadow:0 0 0 3px #f05a4724}.appearance-toggle{justify-content:center;width:44px;padding:0}.appearance-label{display:none}.difficulty-stepper button{min-width:64px;padding:0 6px;font-size:12px}.hamiltonian-toggle{justify-content:center;width:44px;padding:0}.hamiltonian-label{display:none}.hamiltonian-row{gap:2px;padding-left:10px}.hamiltonian-source{font-size:.74em}.reading-sheet{width:100%;padding:60px 22px 90px}.article-heading{margin-bottom:52px}.appearance-panel{width:100%;max-height:70dvh;padding:25px 20px calc(22px + env(safe-area-inset-bottom));border-width:1.5px 0 0;animation-name:appearance-sheet-in;inset:auto 0 0;box-shadow:0 -12px 40px #0818263d}.explanation-sheet{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-height:calc(100dvh - 32px - env(safe-area-inset-bottom));box-shadow:7px 7px 0 var(--reader-accent);padding:28px 24px}.finish-dialog{box-shadow:7px 7px 0 var(--reader-accent);padding:30px 20px}.feedback-options{grid-template-columns:1fr}.feedback-options label{justify-content:space-between;align-items:center;display:flex}.feedback-options small{margin:0}.like-options{flex-direction:column}.preview-heading{align-items:flex-start;gap:10px}.model-settings-layout{width:100%;min-height:calc(100dvh - 68px);padding:30px 15px calc(76px + env(safe-area-inset-bottom))}.model-settings-aside{padding:0 7px;display:block}.model-settings-aside .eyebrow{margin-bottom:11px}.model-settings-aside h1{margin-bottom:14px;font-size:35px}.model-settings-aside>p:not(.eyebrow){font-size:13px;line-height:1.7}.model-settings-card{min-height:0;box-shadow:7px 7px 0 var(--ink);border-width:1px;padding:24px 18px}.model-card-heading{align-items:center;margin-bottom:23px}.model-card-heading h2{font-size:26px}.model-source{padding:6px 8px}.model-provider-grid,.model-fields-grid{grid-template-columns:1fr}.model-provider{min-height:74px}.model-fields-grid{gap:0}.model-actions{flex-direction:column;align-items:stretch}.model-actions>div{grid-template-columns:1fr;display:grid}.model-actions .button{width:100%}.model-feedback{margin-bottom:16px}.wordbook-header .brand{position:absolute;left:50%;transform:translate(-50%)}.wordbook-back span,.wordbook-account{display:none}.wordbook-intro{align-items:flex-start;width:calc(100% - 34px);padding:42px 0 31px}.wordbook-intro h1{font-size:45px}.wordbook-intro>div:first-child>p:last-child{max-width:235px;margin-top:16px;font-size:12px}.wordbook-tally{gap:0}.wordbook-tally strong{width:62px;height:62px;box-shadow:5px 5px 0 var(--coral);font-size:24px}.wordbook-tally span{display:none}.wordbook-ledger{width:calc(100% - 30px);padding-top:22px}.wordbook-toolbar{grid-template-columns:1fr auto;gap:13px;margin-bottom:28px}.wordbook-toolbar input{height:47px}.wordbook-clear{min-height:44px}.wordbook-list>li{grid-template-columns:minmax(0,1fr) 48px}.wordbook-entry{grid-template-rows:auto auto;grid-template-columns:28px 1fr 42px 18px;gap:5px 10px;min-height:126px;padding:14px 8px 14px 2px}.wordbook-number{grid-row:1/3}.wordbook-word{align-self:end}.wordbook-word b{font-size:20px}.wordbook-meaning{grid-column:2/4;align-self:start}.wordbook-meaning b{white-space:normal;margin-top:3px;font-size:12px}.wordbook-frequency{grid-area:1/3;font-size:17px}.wordbook-open{grid-area:1/4/3;align-self:center}.wordbook-remove{font-size:12px}.wordbook-detail-backdrop{align-items:flex-end;display:flex}.wordbook-detail{border:1.5px solid var(--ink);width:100%;height:auto;max-height:78dvh;box-shadow:0 -9px 0 var(--sun);padding:35px 23px calc(35px + env(safe-area-inset-bottom));border-bottom:0;animation-name:wordbook-detail-mobile-in;position:relative;top:auto;right:auto}.wordbook-detail h2{padding-right:45px;font-size:38px}.word-note-section{grid-template-columns:70px 1fr}.wordbook-empty{min-height:390px}.wordbook-no-results h3{font-size:25px}.toast{top:auto;bottom:calc(16px + env(safe-area-inset-bottom));width:calc(100% - 32px);min-width:0}}@keyframes appearance-sheet-in{0%{opacity:0;transform:translateY(24px)}}@keyframes wordbook-detail-mobile-in{0%{opacity:.7;transform:translateY(35px)}}@media (hover:none){.sentence-gloss-trigger{opacity:.88}}@media (width<=640px){.sentence-gloss-bubble{box-shadow:6px 6px 0 var(--reader-highlight);padding:20px 18px 22px;right:12px;top:auto!important;left:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;width:auto!important;max-height:min(62dvh,430px)!important}.sentence-gloss-words ul{grid-template-columns:1fr}.sentence-gloss-english{font-size:15px}}.app-error{background:var(--paper);min-height:100dvh;color:var(--ink);place-content:center;justify-items:start;gap:18px;padding:32px;display:grid}.app-error h1{font:700 clamp(38px,8vw,72px)/1 var(--serif);margin:0}.app-error>p:not(.eyebrow){max-width:520px;margin:0;line-height:1.8}.app-error-actions{flex-wrap:wrap;gap:12px;display:flex}.insights-page{width:min(860px,100% - 44px);margin:0 auto;padding:46px 0 80px}.insights-header{border-bottom:1.5px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:26px;padding-bottom:18px;display:flex}.insights-header h1{font:800 clamp(30px,4vw,44px)/1.15 var(--serif);letter-spacing:-.03em;margin:8px 0 0}.insights-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:14px;margin-bottom:30px;display:grid}.insights-hero-main{border:1.5px solid var(--ink);background:var(--sun);box-shadow:7px 7px 0 var(--ink);align-content:center;gap:6px;padding:22px 24px;display:grid}.insights-hero-main>span{font:700 12px var(--mono);letter-spacing:.08em;color:var(--ink-soft)}.insights-hero-main>strong{font:800 56px/1 var(--serif);letter-spacing:-.04em}.insights-hero-main>small{font:500 12px/1.5 var(--serif);color:var(--ink-soft)}.insights-hero-side{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.insights-stat{border:1px solid var(--line);background:#fffdf6;align-content:start;gap:4px;padding:13px 14px;display:grid}.insights-stat>span{font:700 12px var(--mono);letter-spacing:.06em;color:var(--ink-soft)}.insights-stat>strong{font:800 19px var(--serif)}.insights-stat>small{font:400 12px/1.45 var(--serif);color:var(--ink-soft)}.insights-section{margin-bottom:30px}.insights-section>h2{font:800 19px var(--serif);margin:0 0 6px}.insights-section>p{color:var(--ink-soft);font:500 12px/1.7 var(--serif);margin:0 0 12px}.insights-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.insights-chart{border:1px solid var(--line);background:#fffdf6;width:100%;height:auto}.chart-grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 4}.chart-label{font:600 11px var(--mono);fill:var(--ink-soft)}.chart-area{fill:#e8b73a2e}.chart-line{fill:none;stroke:var(--ink);stroke-width:2.2px;stroke-linejoin:round}.chart-dot{stroke:var(--ink);stroke-width:1.2px}.insights-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.insights-list li{border:1px solid var(--line);border-left:5px solid var(--ink-soft);font:500 13px/1.75 var(--serif);background:#fffdf6;padding:13px 16px}.insights-list li.tone-good{border-left-color:#5d9b70}.insights-list li.tone-warn{border-left-color:var(--coral)}.insights-list li.tone-info{border-left-color:var(--sun)}.insights-empty{border:1.5px dashed var(--ink-soft);text-align:center;background:#fffdf6;justify-items:center;gap:12px;padding:54px 34px;display:grid}.insights-empty-mark{border:1.5px solid var(--ink);background:var(--sun);place-items:center;width:54px;height:54px;font-size:24px;display:grid;transform:rotate(-4deg)}.insights-empty h2{font:800 22px var(--serif);margin:6px 0 0}.insights-empty p{max-width:430px;color:var(--ink-soft);font:500 13px/1.85 var(--serif);margin:0}@media (width<=720px){.insights-page{width:calc(100% - 30px);padding-top:30px}.insights-hero{grid-template-columns:1fr}.insights-hero-side{grid-template-columns:repeat(3,minmax(0,1fr))}.insights-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-hero-main>strong{font-size:44px}}.insights-benchmark-pending{color:var(--ink-soft);font:500 12px/1.7 var(--serif);border:1px dashed var(--line);background:#fffdf6;margin:0;padding:12px 15px}.insights-telemetry{border-top:1px solid var(--line);gap:6px;padding-top:16px;display:grid}.insights-telemetry label{font:700 12px var(--serif);cursor:pointer;align-items:center;gap:9px;display:flex}.insights-telemetry input{width:15px;height:15px;accent-color:var(--coral)}.insights-telemetry p{color:var(--ink-soft);font:400 12px/1.7 var(--serif);margin:0}.learner-code-card{border:1px dashed var(--line);background:#fffdf6;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:10px;padding:14px 16px;display:grid}.learner-code-info{align-content:start;gap:3px;display:grid}.learner-code-info>span{font:700 11px var(--mono);letter-spacing:.06em;color:var(--ink-soft)}.learner-code-info>strong{font:800 22px var(--serif);letter-spacing:.12em}.learner-code-info>small{font:400 11px/1.5 var(--serif);color:var(--ink-soft)}.learner-code-claim{align-content:start;gap:7px;display:grid}.learner-code-claim input{border:1px solid var(--line);min-height:38px;font:700 14px var(--mono);letter-spacing:.1em;text-transform:uppercase;background:#fff;padding:0 12px}.learner-code-claim input:focus{border-color:var(--ink);box-shadow:4px 4px 0 var(--sun);outline:0}.learner-code-claim button{border:1.5px solid var(--ink);background:var(--sun);min-height:38px;font:700 12px var(--serif);cursor:pointer}.learner-code-claim button:disabled{opacity:.5;cursor:default}.learner-code-claim .claim-done{color:#5d9b70;font-weight:700}.learner-code-claim .claim-error{color:var(--coral-dark);font-weight:700}@media (width<=720px){.learner-code-card{grid-template-columns:1fr}}.auth-dialog-backdrop{z-index:60;background:#1d18118c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-dialog{background:var(--paper);border:1.5px solid var(--ink);width:min(430px,100%);box-shadow:10px 10px 0 var(--ink);padding:30px 30px 26px;position:relative}.auth-dialog h2{font:800 27px var(--serif);margin:8px 0 10px}.auth-intro{color:var(--ink-soft);font:500 12px/1.75 var(--serif);margin:0 0 18px}.auth-form{gap:14px;display:grid}.auth-form .button{min-height:46px}.auth-switch{text-align:center;width:100%;margin-top:14px}.auth-error{box-shadow:4px 4px 0 var(--ink);margin-top:14px;position:static}.auth-close{position:absolute;top:10px;right:10px}.library{margin:64px auto 0}.detect-reset{border:1px solid var(--line);min-height:34px;color:var(--ink-soft);font:700 12px var(--serif);cursor:pointer;background:#fff;flex:none;padding:0 10px}.detect-reset:hover{color:var(--coral-dark);border-color:var(--coral)}.insights-header-actions{align-items:center;gap:10px;display:inline-flex}.share-backdrop{z-index:70;background:#1d181199;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.share-dialog{background:var(--paper);border:1.5px solid var(--ink);width:min(430px,100%);max-height:calc(100vh - 40px);box-shadow:10px 10px 0 var(--ink);padding:26px 26px 22px;position:relative;overflow:auto}.share-dialog h2{font:800 24px var(--serif);margin:6px 0 14px}.share-canvas{border:1px solid var(--line);background:#fbf7ed;width:100%;height:auto;display:block}.share-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.share-actions .button{justify-content:center;min-height:44px}.share-hint{text-align:center;color:var(--ink-soft);font:500 12px var(--serif);margin:10px 0 0}.share-close{position:absolute;top:10px;right:10px}.auth-form select{border:1px solid var(--line);width:100%;min-height:44px;color:inherit;font:inherit;background:#fffdf6;border-radius:8px;margin-top:6px;padding:0 10px;display:block}.auth-native-hint{color:var(--ink-soft);margin-top:5px;font-size:12px;font-weight:400;line-height:1.5;display:block}:root{--paper:#f7f7f2;--paper-light:#fffefa;--paper-deep:#edf0e7;--ink:#283d32;--ink-soft:#5b675d;--coral:#32634b;--coral-dark:#254b38;--sun:#e6d7af;--mint:#e1eadc;--line:#dce2d7;--shadow:0 16px 44px #20352712, 0 2px 5px #20352708;--serif:"Iowan Old Style", "Songti SC", Georgia, serif;--sans:"Avenir Next", "Trebuchet MS", "Microsoft YaHei", "PingFang SC", sans-serif;--mono:"DM Mono", "Cascadia Code", monospace;--ui-accent:#32634b;--ui-muted:#667367;--ui-surface:#fffefa;--ui-radius:14px}:root[data-chinese-fonts=true]{--serif:"Noto Serif SC", "Iowan Old Style", "Songti SC", Georgia, serif}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);min-width:0;font-size:14px}button,input,textarea,select{font-family:var(--sans)}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{touch-action:manipulation}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--coral);outline-offset:4px}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}button{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s}input,select,textarea{accent-color:var(--coral)}input::placeholder,textarea::placeholder{color:#6b7469}input[type=text],input[type=password],input[type=url],input[type=search],textarea,select{border-radius:9px}.button{letter-spacing:.01em;border-radius:9px;gap:9px;min-height:46px;padding-inline:21px;font-size:13px;font-weight:600}.button:hover:not(:disabled){transform:none;box-shadow:0 4px 10px #23432e1a}.button:active:not(:disabled){box-shadow:none;transform:scale(.96)}.button-coral,.button-ink{background:var(--coral);color:#fffefa;border-color:var(--coral);box-shadow:none}.button-coral:hover:not(:disabled),.button-ink:hover:not(:disabled){background:var(--coral-dark)}.button-paper{background:var(--paper-light);border-color:var(--line)}.button-small{min-height:44px;font-size:12px}.text-button{min-height:44px;color:var(--coral);border-bottom:0;font-size:13px}.text-button:hover{text-underline-offset:5px;text-decoration:underline}.eyebrow{letter-spacing:.16em;font-size:11px;line-height:1.5}.icon-button{border-color:var(--line);border-radius:9px;min-width:40px;min-height:40px}.brand-mark{background:var(--coral);border-radius:12px;font-weight:600;transform:none}.brand b{letter-spacing:.04em;font-size:18px}.brand small{color:var(--ink-soft);letter-spacing:.16em;font-size:8px}.auth-dialog .field-label{font:500 12px var(--sans)}.auth-dialog .field-label input{border:1px solid var(--line);width:100%;min-height:48px;box-shadow:none;font:400 16px var(--sans);background:#fff;border-radius:8px}.auth-dialog .field-label input:focus{outline:2px solid var(--coral);outline-offset:3px;box-shadow:none}.auth-dialog .field-label input[aria-invalid=true]{border-color:#a53931}.auth-confirm-error{color:#a53931;font:400 12px/1.7 var(--sans);margin:8px 0 0}.studio-header{background:var(--paper-light);border-color:var(--line)}.dialog-backdrop,.auth-dialog-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1b272061}.confirm-dialog,.auth-dialog{border:1px solid var(--line);background:var(--paper-light);border-radius:18px;padding:32px;box-shadow:0 28px 80px #14221a33}.confirm-dialog h2,.auth-dialog h2{font-size:24px;font-weight:600;line-height:1.5}.confirm-dialog p,.auth-intro{font:400 14px/1.8 var(--sans)}.confirm-actions .dialog-secondary{border-radius:8px;min-height:44px}.auth-dialog .field-label{font-family:var(--sans);margin-bottom:4px}.auth-dialog .field-label input{border-color:var(--line);background:#fff;min-height:46px}.auth-dialog .auth-error{color:#954735;box-shadow:none;background:#f9efec;border-radius:8px}.auth-close{top:14px;right:14px}.reader-page{--reader-bg:#f7f7f2;--reader-surface:#fffefa;--reader-text:#293a30;--reader-muted:#677267;--reader-line:#dce2d7;--reader-accent:#32634b;--reader-highlight:#d9c999;--reader-highlight-soft:#edf0e3;--reader-header:#f7f7f2f5;--reader-overlay:#263d31;--reader-overlay-text:#faf9f1}.reader-page[data-reader-theme=warm]{--reader-bg:#f5eddf;--reader-surface:#fff7e9;--reader-text:#493b30;--reader-muted:#786759;--reader-line:#e1d4bd;--reader-accent:#815437;--reader-header:#f5eddff5}.reader-page[data-reader-theme=mint]{--reader-bg:#eef3eb;--reader-surface:#f9fcf5;--reader-text:#283e31;--reader-muted:#5a705c;--reader-line:#d4dfd0;--reader-accent:#32634b;--reader-header:#eef3ebf5}.reader-page[data-reader-theme=night]{--reader-bg:#1b2822;--reader-surface:#26362d;--reader-text:#e6ebe0;--reader-muted:#b1beb0;--reader-line:#435248;--reader-accent:#b4d2ad;--reader-highlight:#bfae7f;--reader-highlight-soft:#344437;--reader-header:#1b2822f5;--reader-overlay:#17241d}body:has(.reader-page[data-reader-theme=night]){background:#1b2822}.reader-page .reader-progress{background:0 0;height:2px}.reader-page .reader-header{gap:24px;height:82px;padding:0 clamp(20px,4vw,64px)}.reader-page .reader-back{border-radius:8px;flex-shrink:0;align-items:center;gap:9px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.reader-page .reader-back:hover{background:var(--reader-highlight-soft)}.reader-book-context{min-width:0;color:var(--reader-muted);font:400 12px var(--sans);align-items:center;gap:10px;display:flex}.reader-book-context .icon{flex-shrink:0}.reader-book-context span{white-space:nowrap;text-overflow:ellipsis;max-width:300px;overflow:hidden}.reader-page .reader-tools{flex-shrink:0;gap:8px}.reader-page .reader-wordbook-button,.reader-page .appearance-toggle,.reader-assist-menu>summary{border:1px solid var(--reader-line);min-height:44px;color:var(--reader-text);font:500 12px var(--sans);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.reader-page .reader-wordbook-button:hover,.reader-page .appearance-toggle:hover,.reader-page .appearance-toggle.active,.reader-assist-menu>summary:hover,.reader-assist-menu[open]>summary{background:var(--reader-highlight-soft);box-shadow:none;border-color:var(--reader-line);transform:none}.reader-page .reader-wordbook-button small{color:var(--reader-text);background:var(--reader-highlight-soft)}.reader-assist-menu{position:relative}.reader-setup-button{border:1px solid var(--reader-accent);background:var(--reader-surface);width:100%;min-height:44px;color:var(--reader-accent);font:600 13px var(--sans);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:0 14px;display:flex}.article-cover{border-radius:3px;max-width:min(150px,40%);max-height:190px;margin:0 auto 20px;display:block;box-shadow:0 8px 22px #2832282e}.reader-assist-menu>summary{list-style:none}.reader-assist-menu>summary::-webkit-details-marker{display:none}.reader-menu-chevron{font-size:15px;transition:transform .16s}.reader-assist-menu[open] .reader-menu-chevron{transform:rotate(180deg)}.reader-assist-content{border:1px solid var(--reader-line);background:var(--reader-surface);width:300px;max-height:65dvh;color:var(--reader-text);box-shadow:var(--shadow);border-radius:14px;padding:20px;position:absolute;top:calc(100% + 12px);right:0;overflow-y:auto}.reader-tool-label{color:var(--reader-muted);margin:0 0 10px;font-size:12px}.reader-assist-content .level-badge{white-space:normal;border-radius:7px;width:100%;max-width:none;margin-bottom:22px;padding:10px;line-height:1.6}.reader-assist-content .difficulty-stepper{border-radius:8px;margin-bottom:16px}.reader-assist-content .difficulty-stepper button:first-child{border-radius:8px 0 0 8px}.reader-assist-content .difficulty-stepper button:last-child{border-radius:0 8px 8px 0}.reader-assist-content .difficulty-stepper button{min-width:0}.reader-assist-content .hamiltonian-toggle{border-radius:8px;width:auto;min-height:44px;margin-right:8px;padding-inline:14px}.reader-mode-options{gap:8px;margin-bottom:12px;display:grid}.reader-mode-options .hamiltonian-toggle{margin:0}.reader-assist-content .hamiltonian-label{display:inline}.reader-assist-content .hamiltonian-toggle.active{box-shadow:none;background:var(--reader-highlight-soft)}.reader-assist-content .hamiltonian-gloss-toggle{border-radius:8px;min-height:42px}.reader-tool-footnote{color:var(--reader-muted);margin:16px 0 0;font-size:12px;line-height:1.7}.reader-assist-content .gloss-mode-note{margin:6px 0 0}.reader-page .reading-sheet{width:min(820px,100% - 64px);padding:66px 38px 90px}.reader-page .article-heading{margin-bottom:48px}.reader-page .article-heading h1{letter-spacing:.025em;font-size:clamp(29px,4vw,44px);font-weight:600;line-height:1.55}.reader-page .article-heading .eyebrow{font-family:var(--sans);letter-spacing:.12em;margin-bottom:20px;font-size:11px}.reader-page .chapter-title{margin:12px 0 0;font-size:15px;font-weight:400}.reader-page .article-rule{margin:22px 0 18px}.reader-page .article-rule span{color:var(--reader-muted);font-size:12px}.reader-page .article-rule:before,.reader-page .article-rule:after{width:38px}.reader-page .reading-hint{font-size:12px;line-height:1.8;font-family:var(--sans);margin:8px 0}.reader-page .translation-tip{border:1px solid var(--reader-line);text-align:left;overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:4px;max-width:100%;padding:2px 2px 2px 12px;display:inline-flex}.reader-page .translation-tip button{width:44px;height:44px;color:var(--reader-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;font-size:18px;display:grid}.reader-reading-notes{max-width:550px;margin:8px auto 0}.reader-reading-notes>summary{cursor:pointer;width:fit-content;min-height:32px;color:var(--reader-muted);font:400 12px var(--sans);align-items:center;gap:10px;margin:auto;list-style:none;display:flex}.reader-reading-notes>summary::-webkit-details-marker{display:none}.reader-reading-notes[open]{border:1px solid var(--reader-line);border-radius:10px;margin-top:12px;padding:10px 16px 16px}.reader-page .adaptive-note{text-align:left;width:auto;font:400 12px/1.8 var(--sans);color:var(--reader-muted);background:0 0;border:0;padding:4px;transform:none}.reader-page .article-body{letter-spacing:.01em;font-weight:400}.reader-page .learning-word{border-bottom-width:2px;border-radius:3px;font-weight:600}.reader-page .learning-word:hover{transform:none}.reader-page .hamiltonian-paragraph{gap:34px}.reader-page .hamiltonian-row{border-left:0;gap:12px;padding:0}.reader-page .hamiltonian-target{white-space:pre-wrap;overflow-wrap:anywhere;font-weight:400;line-height:2}.reader-page .hamiltonian-gloss-pair{vertical-align:baseline;white-space:normal;justify-items:center;max-width:100%;margin:.28em .2em;display:inline-grid}.reader-page .hamiltonian-word-text{font:inherit;line-height:1.7}.reader-page .hamiltonian-word-text.is-gloss-trial{text-underline-offset:.3em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1.5px;-webkit-text-decoration-color:var(--reader-muted);text-decoration-color:var(--reader-muted)}.reader-page .hamiltonian-gloss-pair small{max-width:12em;color:var(--reader-muted);font:400 .55em/1.5 var(--serif);overflow-wrap:anywhere;-webkit-user-select:none;user-select:none}.reader-page .hamiltonian-source{color:var(--reader-muted);margin:0;font-size:.8em;line-height:1.75}.reader-page .hamiltonian-source-pending{opacity:.45}.reader-page .hamiltonian-chunk{max-width:100%}.reader-page .hamiltonian-chunk-words{border-bottom:1px solid var(--reader-line);white-space:normal;padding-bottom:1px}.reader-page .hamiltonian-chunk>small{max-width:none;color:var(--reader-accent)}.reader-page .article-end{border-top:1px solid var(--reader-line);margin-top:58px;padding-top:28px}.reader-page .end-star{color:var(--reader-muted);font-size:14px}.reader-page .article-end>p{font:400 13px/1.8 var(--sans);color:var(--reader-muted)}.reader-page .page-navigation{gap:15px;margin-top:24px}.reader-page .button-ink{background:var(--reader-text);border-color:var(--reader-text);color:var(--reader-surface)}.reader-page .page-previous{border-radius:8px;min-height:44px}.reader-page .appearance-panel{border:1px solid var(--reader-line);border-radius:16px;padding:25px;top:96px;right:24px;box-shadow:0 20px 55px #172b1f24}.reader-page .appearance-heading h2{font-size:22px;font-weight:600}.reader-page .appearance-panel button{border-radius:7px}.reader-page .appearance-panel button:hover,.reader-page .appearance-panel button.active{box-shadow:none;transform:none}.reader-page .explanation-sheet{border:1px solid #ffffff1f;border-radius:16px;padding:28px;box-shadow:0 20px 64px #13211838}.reader-page .explanation-sheet h2{padding-right:24px;font-size:30px;font-weight:600}.reader-page .clue-row{grid-template-columns:63px 1fr;padding-block:14px}.reader-page .clue-row>span{font:400 12px/1.6 var(--sans)}.reader-page .clue-row p{font:400 14px/1.8 var(--sans)}.reader-page .sentence-gloss-bubble{box-shadow:var(--shadow);border-radius:13px}.reader-page .finish-dialog{border:1px solid var(--reader-line);border-radius:18px;box-shadow:0 24px 80px #0f1f1633}.reader-page .finish-dialog h2{font-size:28px;font-weight:600}.reader-page .finish-spark{border-radius:14px;transform:none}.reader-page .feedback-options label,.reader-page .like-options label{border-radius:8px;min-height:50px}.reader-page .feedback-options label.active,.reader-page .like-options label.active{box-shadow:none;border-color:var(--reader-accent)}.reader-page .feedback-options label:focus-within,.reader-page .like-options label:focus-within{outline:2px solid var(--reader-accent);outline-offset:3px}.wordbook-page{background:var(--paper)}.wordbook-page .wordbook-intro,.wordbook-page .wordbook-ledger{width:min(1080px,100% - 64px)}.wordbook-page .wordbook-intro{border-bottom:1px solid var(--line);padding-top:48px}.wordbook-page .wordbook-intro h1{font-size:clamp(32px,4vw,48px);font-weight:600;line-height:1.4}.wordbook-page .wordbook-intro>div:first-child>p:last-child{font:400 14px/1.9 var(--sans)}.wordbook-page .wordbook-tally{transform:none}.wordbook-page .wordbook-tally strong{border:1px solid var(--line);background:var(--mint);box-shadow:none;border-radius:12px;font-weight:600}.wordbook-page .wordbook-toolbar{align-items:flex-end;gap:20px;display:flex}.wordbook-page .wordbook-toolbar label{flex:1}.wordbook-page .wordbook-toolbar input{border:1px solid var(--line);background:var(--paper-light);height:46px;font:400 14px var(--sans);box-shadow:none;border-radius:8px}.wordbook-page .wordbook-toolbar input:focus{outline:2px solid var(--coral);outline-offset:3px;box-shadow:none}.wordbook-page .wordbook-results{background:var(--paper-light);border:1px solid var(--line);border-radius:14px;padding:20px}.wordbook-page .wordbook-list-heading{border-bottom-color:var(--line)}.wordbook-page .wordbook-list-heading h2{font-size:21px;font-weight:600}.wordbook-page .wordbook-list>li:hover,.wordbook-page .wordbook-list>li.selected{background:var(--paper-deep)}.wordbook-page .wordbook-entry{border-radius:8px;padding-block:17px}.wordbook-page .wordbook-entry:hover{background:var(--paper-deep)}.wordbook-page .wordbook-word b{font-weight:600}.wordbook-page .wordbook-meaning b{font:400 13px/1.6 var(--sans)}.wordbook-page .wordbook-number,.wordbook-page .wordbook-frequency{font-variant-numeric:tabular-nums}.wordbook-page .wordbook-empty{border:1px solid var(--line);background:var(--paper-light);border-radius:14px;padding:65px 24px}.wordbook-page .wordbook-empty h2{font-size:28px;font-weight:600}.wordbook-page .wordbook-empty>p:not(.eyebrow){font-family:var(--sans)}.wordbook-page .empty-word-notes i{border-color:var(--line);border-radius:8px}.wordbook-page .wordbook-detail{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.wordbook-page .wordbook-clear{border-bottom:0;flex-shrink:0;min-height:44px;font-size:12px}.wordbook-page .wordbook-detail-backdrop{background:#1b272061}.wordbook-page .wordbook-detail h2{font-weight:600}.wordbook-page .wordbook-detail-meta>b,.wordbook-page .word-note-chips span{border-radius:6px}.wordbook-page .word-note-section p{font-family:var(--sans);line-height:1.9}.insights-page{width:min(1050px,100% - 64px);padding-top:44px}.insights-page .insights-header{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:26px}.insights-page .insights-header h1{font-size:clamp(30px,4vw,42px);font-weight:600}.insights-page .insights-hero-main{background:var(--mint);border:1px solid var(--line);box-shadow:none;border-radius:14px;padding:26px}.insights-page .insights-hero-main>strong{font-weight:500}.insights-page .insights-stat{background:var(--paper-light);border-radius:11px;padding:18px}.insights-page .insights-stat>span{font:400 12px var(--sans);letter-spacing:0}.insights-page .insights-stat>strong{font-variant-numeric:tabular-nums;margin-block:3px;font-weight:600}.insights-page .insights-stat>small{font:400 12px/1.7 var(--sans)}.insights-page .insights-section{margin-block:35px}.insights-page .insights-section>h2{font-weight:600}.insights-page .insights-section>p{font-family:var(--sans)}.insights-page .insights-empty{border:1px solid var(--line);background:var(--paper-light);border-radius:16px;padding:72px 24px}.insights-page .insights-empty-mark{background:var(--mint);color:var(--coral);border:0;border-radius:14px;transform:none}.insights-page .insights-empty p{font-family:var(--sans);font-size:14px}.insights-page .insights-empty .button{margin-top:10px}.insights-page .insights-chart,.insights-page .insights-list li,.insights-page .insights-benchmark-pending,.learner-code-card{box-shadow:none;border-radius:10px}.insights-page .insights-telemetry{border:1px solid var(--line);background:var(--paper-light);border-radius:12px;padding:24px}.insights-page .insights-telemetry p{font-family:var(--sans);margin-top:8px;line-height:1.9}.model-settings-page .model-settings-layout{grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:60px;width:min(1120px,100% - 64px);padding-top:55px}.model-settings-page .model-settings-aside h1{font-size:clamp(32px,4vw,46px);font-weight:600;line-height:1.5}.model-settings-page .model-settings-aside>p:not(.eyebrow){font:400 14px/1.9 var(--sans)}.model-settings-page .model-doodle{display:none}.model-settings-page .model-privacy-list{margin-top:28px;font-size:12px}.model-settings-page .model-settings-card{border:1px solid var(--line);border-radius:16px;min-height:0;padding:30px;box-shadow:0 5px 24px #2035270a}.model-settings-page .model-card-heading{border-bottom-color:var(--line)}.model-settings-page .model-card-heading h2{font-size:27px;font-weight:600}.model-settings-page .model-source{border-radius:6px}.model-settings-page .model-provider{background:var(--paper-light);border-radius:10px;min-height:80px}.model-settings-page .model-provider:hover:not(:disabled){background:var(--paper);transform:none}.model-settings-page .model-provider.active{box-shadow:none;border-color:var(--coral);background:#edf2e9}.model-settings-page .provider-mark{border:0;border-radius:8px}.model-settings-page .model-provider strong{font-family:var(--sans);font-size:13px;font-weight:600}.model-settings-page .model-provider small{font-size:12px}.model-settings-page .model-field input,.model-settings-page .model-field select,.model-settings-page .api-key-input{border-color:var(--line);background:#fff;border-radius:8px;font-size:13px}.model-settings-page .api-key-input{overflow:hidden}.model-settings-page .api-key-input input{border-radius:0}.model-settings-page .model-field input:focus,.model-settings-page .model-field select:focus,.model-settings-page .api-key-input:focus-within{border-color:var(--coral);box-shadow:0 0 0 3px #32634b1a}.model-settings-page .model-managed-note,.model-settings-page .model-feedback{border-radius:8px}.model-settings-page .model-actions{border-top-color:var(--line);flex-wrap:wrap}.model-settings-page .model-loading i{box-shadow:none;border-radius:8px}.share-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1b272061}.share-dialog{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}@media (width<=1000px){.reader-book-context span{max-width:180px}.model-settings-page .model-settings-layout{grid-template-columns:1fr;gap:28px;width:min(720px,100% - 48px)}.model-settings-page .model-settings-aside{position:static}}@media (width<=700px){.reader-page .reader-header{gap:8px;height:68px;padding-inline:12px}.reader-book-context{flex:1}.reader-book-context .icon{display:none}.reader-book-context span{max-width:110px;font-size:12px}.reader-page .reader-back{padding-inline:8px}.reader-page .reader-back span{display:none}.reader-page .reader-tools{gap:5px}.reader-page .reader-wordbook-button{width:42px;padding:0}.reader-wordbook-label{display:none}.reader-page .reader-wordbook-button small{border:1px solid var(--reader-line);position:absolute;top:-4px;right:-3px}.reader-assist-menu>summary{gap:5px;padding-inline:9px;font-size:12px}.reader-assist-menu>summary>span:first-child{display:none}.reader-assist-content{width:auto;max-height:calc(100dvh - 100px);position:fixed;top:78px;left:12px;right:12px}.reader-page .reading-sheet{width:100%;padding:40px 24px 64px}.reader-page .article-heading{margin-bottom:34px}.reader-page .article-heading h1{font-size:29px}.reader-page .article-heading .eyebrow{letter-spacing:.06em;margin-bottom:17px;font-size:11px}.reader-page .reading-hint{font-size:12px}.reader-page .appearance-panel{width:100%;padding:24px 22px calc(24px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;inset:auto 0 0}.reader-page .explanation-sheet{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 24px);padding:25px}.reader-page .finish-dialog{padding:30px 22px}.reader-page .article-end{margin-top:38px}.wordbook-page .wordbook-intro,.wordbook-page .wordbook-ledger{width:calc(100% - 36px)}.wordbook-page .wordbook-toolbar{flex-wrap:wrap;gap:8px 18px}.wordbook-page .wordbook-toolbar label{flex-basis:100%}.wordbook-page .wordbook-toolbar input{font-size:16px}.wordbook-page .wordbook-results{border-radius:12px;padding:14px}.insights-page{width:calc(100% - 36px);padding-top:25px}.insights-page .insights-header{flex-direction:column;align-items:flex-start;gap:18px;padding-right:44px;position:relative}.insights-page .insights-header-actions{flex-wrap:wrap;justify-content:flex-start;gap:6px}.insights-page .insights-header-actions>.icon-button{position:absolute;top:0;right:0}.insights-page .insights-stat{padding:14px}.insights-page .insights-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-page .insights-hero{grid-template-columns:1fr}.insights-page .insights-hero-side{grid-template-columns:repeat(3,minmax(0,1fr))}.model-settings-page .model-settings-layout{width:calc(100% - 32px);padding-top:30px}.model-settings-page .model-settings-card{padding:24px 18px}.model-settings-page .model-provider-grid,.model-settings-page .model-fields-grid{grid-template-columns:1fr}.confirm-dialog,.auth-dialog{padding:28px 22px}.auth-dialog input,.model-settings-page .model-field input,.model-settings-page .model-field select{font-size:16px}}@media (width<=400px){.insights-page .insights-hero-side{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-page .insights-hero-side .insights-stat:last-child{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.reader-page .sentence-speak{vertical-align:-.18em;border:1.5px solid var(--reader-accent);background:var(--reader-surface);width:1.3em;height:1.3em;color:var(--reader-accent);opacity:.85;cursor:pointer;-webkit-user-select:none;user-select:none;font:700 1em/1 var(--sans,system-ui);border-radius:50%;place-items:center;margin:0 .12em 0 .35em;padding:0;transition:opacity .15s,background .15s,box-shadow .15s;display:inline-grid;position:relative}.reader-page .sentence-speak>span{font-size:.5em;transform:translate(.08em)}.reader-page .sentence-speak.playing>span,.reader-page .sentence-speak.paused>span{transform:none}@media (hover:none){.reader-page .sentence-speak{width:1.5em;height:1.5em}.reader-page .sentence-speak:after{content:"";position:absolute;inset:-.4em}}.reader-page .sentence-speak:hover,.reader-page .sentence-speak:focus-visible,.reader-page .semantic-unit:hover .sentence-speak{opacity:1;border-color:var(--reader-accent)}.reader-page .sentence-speak.playing,.reader-page .sentence-speak.paused{opacity:1;border-color:var(--reader-accent);background:var(--reader-highlight-soft);box-shadow:0 0 0 3px var(--reader-highlight-soft)}.reader-page .sentence-speak.unavailable{opacity:.32;border-color:var(--reader-line);color:var(--reader-muted)}.reader-page .semantic-unit.is-speaking{background:var(--reader-highlight-soft);box-shadow:0 0 0 .3em var(--reader-highlight-soft);border-radius:6px}.reader-page .is-speaking-word{color:var(--reader-accent);box-shadow:inset 0 -2px var(--reader-accent)}.speech-rate-options{gap:6px;margin-bottom:6px;display:flex}.speech-rate-options button{border:1px solid var(--reader-line);background:var(--reader-surface);min-height:38px;color:var(--reader-text);cursor:pointer;font:600 12px var(--serif);border-radius:8px;flex:1}.speech-rate-options button.active{border-color:var(--reader-accent);background:var(--reader-highlight-soft);color:var(--reader-accent)}.reader-tool-label small{color:var(--reader-muted);margin-left:4px;font-weight:400}.reader-toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:60;border:1px solid var(--reader-line);background:var(--reader-surface);width:min(92vw,460px);color:var(--reader-text);font:500 14px/1.6 var(--serif);border-radius:10px;padding:12px 16px;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #0818262e}.card-speak-row{color:var(--reader-muted);align-items:center;gap:8px;margin:-4px 0 10px;font-size:13px;display:flex}.card-speak-row .sentence-speak,.sentence-gloss-english .sentence-speak{opacity:1;font-size:22px}.card-speak-sentence{border:1px solid var(--reader-line);min-height:32px;color:var(--reader-accent);cursor:pointer;font:600 12px var(--serif);background:0 0;border-radius:999px;margin-left:auto;padding:0 12px}.card-speak-sentence[aria-pressed=true]{background:var(--reader-highlight-soft)}.reader-page .hamiltonian-tail,.reader-page .hamiltonian-nobreak{white-space:nowrap}.reader-page .hamiltonian-gloss-pair small{max-width:6.5em}.reader-page .sentence-tail{white-space:nowrap}.reader-page :is(.reader-book-context span,.reader-assist-menu summary span,.reader-tool-label,.hamiltonian-label,.hamiltonian-gloss-toggle,.reader-tool-footnote,.reading-hint,.reader-reading-notes summary,.level-badge){font-size:12px}.reader-page .article-heading .eyebrow{font-size:11px}.reader-page .reader-back,.reader-page .speech-rate-options button{min-width:44px;min-height:44px}.reader-page .reader-assist-content .reader-tool-label:not(:first-child){margin-top:14px}.icon-button,.wordbook-back{min-width:44px;min-height:44px}.insights-telemetry label{min-height:44px}.insights-telemetry input{width:18px;height:18px}.learner-code-claim{flex-wrap:wrap;gap:8px;display:flex}.learner-code-claim input{flex:160px;min-width:0;min-height:44px}.learner-code-claim button{min-height:44px}.learner-code-info>small{font-size:12px}.route-loading{background:var(--paper);min-height:100dvh;color:var(--ink-soft);font:600 13px var(--serif);place-content:center;justify-items:center;gap:14px;display:grid}.route-loading-overlay{z-index:70;background:#f7f7f2b8;min-height:0;position:fixed;inset:0}.route-loading>*{opacity:0;animation:.2s .18s forwards route-loading-in}.route-loading-spinner{border:2.5px solid var(--line);border-top-color:var(--coral);border-radius:50%;width:28px;height:28px;animation:.2s .18s forwards route-loading-in,.8s linear infinite route-spin}@keyframes route-loading-in{to{opacity:1}}@keyframes route-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.route-loading>*{opacity:1;animation:none}.route-loading-spinner{border-top-color:var(--coral);animation:none}}.reader-page .article-body{overflow-wrap:break-word;hanging-punctuation:allow-end;max-width:34em;margin-inline:auto}.reader-page .story-paragraph{orphans:2;widows:2}.reader-page .reading-hint,.reader-page .adaptive-note{color:var(--reader-muted)}.reader-page .reader-reading-notes>summary,.reader-assist-content .hamiltonian-gloss-toggle{min-height:44px}@media (width<=640px){.reader-page .reader-wordbook-button{width:44px;min-height:44px}}@media (width<=380px){.reader-page .reading-sheet{padding-inline:18px}.reader-page .article-heading h1{font-size:26px}}.brand.compact{min-height:44px}@media (width<=640px),(pointer:coarse){.wb-home-brand{min-height:44px}.wb-home-filter{justify-content:center;min-width:44px}.wb-home-daily-goal button{min-width:44px;min-height:44px}}button:disabled{cursor:not-allowed}.button[aria-busy=true],.import-studio .button[aria-busy=true]{opacity:.85;cursor:progress}.button[aria-busy=true]:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:1em;height:1em;animation:.8s linear infinite route-spin}.button[aria-busy=true]>.icon{display:none}.button-coral[aria-busy=true],.import-studio .button-coral[aria-busy=true]:disabled{background:var(--coral);border-color:var(--coral);color:#fffefa}@media (prefers-reduced-motion:reduce){.button[aria-busy=true]:before{opacity:.5;border-right-color:currentColor;animation:none}}.explanation-fallback button,.explanation-error button{min-width:44px;min-height:44px;padding-inline:6px}@media (width<=640px),(pointer:coarse){.card-speak-sentence,.ask-ai-input input,.ask-ai-input button{min-height:44px}}@media (width<=640px){.ask-ai-input input{font-size:16px}}.locale-switcher{max-width:100%;color:inherit;align-items:center;font-size:.8rem;display:inline-flex}.locale-switcher-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.locale-switcher-box{display:inline-flex;position:relative}.locale-switcher-code{background:var(--paper,#fffaf2);letter-spacing:.02em;white-space:nowrap;pointer-events:none;border:1px solid;border-radius:8px;align-items:center;gap:.35rem;min-height:40px;padding:0 .6rem;font-weight:600;display:inline-flex}.locale-switcher-code .icon{width:16px;height:16px}.locale-switcher-caret{opacity:.7;font-size:.7em}.locale-switcher select{opacity:0;width:100%;height:100%;font:inherit;cursor:pointer;font-size:16px;position:absolute;inset:0}.locale-switcher:has(select:focus-visible) .locale-switcher-code{outline-offset:3px;outline:3px solid #c5654b}.route-locale{justify-content:flex-end;padding:.5rem max(1rem,50% - 550px);display:flex}.reader-header,.reader-tools{flex-wrap:wrap}.reader-header .locale-switcher-code{background:var(--reader-bg,#fffaf2)}@media (width<=480px){.reader-book-context{display:none}.reader-page .reader-tools{max-width:calc(100% - 52px)}}.reader-page .sentence-gloss-trigger{border-radius:999px;width:auto;min-width:1.65em;padding-inline:.4em}@media (width<=360px){.reader-assist-menu>summary{min-width:44px}.reader-assist-menu>summary>span:first-child{display:inline}.reader-assist-menu>summary>span:nth-child(2){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reader-assist-menu>summary>span:last-child{display:none}}.reader-page .hamiltonian-row>.hamiltonian-target{font-size:1.1em}.reader-page .hamiltonian-gloss-pair small{font-size:.5em}.reader-page .hamiltonian-source{font-size:.68em;line-height:1.7}.reader-page[data-reader-writing=rtl] .article-body{text-align:right}.reader-page[data-reader-writing=rtl] .hamiltonian-row{border-left:0}.reader-page[data-reader-writing=vertical] .article-body{writing-mode:vertical-rl;text-orientation:mixed;overscroll-behavior-x:contain;max-width:100%;height:min(76vh,760px);padding-block:4px;overflow:auto hidden}.reader-page[data-reader-writing=vertical] .hamiltonian-paragraph{gap:1.6em}.reader-page[data-reader-writing=vertical] .hamiltonian-row{border-left:0;gap:.4em}.reader-page[data-reader-writing=vertical] .hamiltonian-gloss-pair{margin:.2em .28em}.reader-page[data-reader-writing=vertical] .hamiltonian-gloss-pair small{max-width:none;max-height:12em}.reader-page[data-reader-writing=vertical] .hamiltonian-chunk-words{border-bottom:0;border-left:1px solid var(--reader-line);padding:0 0 0 1px}.reader-page[data-reader-writing=vertical] .story-paragraph+.story-paragraph{margin-top:0;margin-left:var(--reader-paragraph-gap,1.1em)}.reader-page[data-reader-writing=vertical] .article-body{padding-inline:2px 6px;scroll-margin-top:96px}.reader-page .furi{position:relative}.reader-page .furi:before{content:attr(data-rt);width:calc(var(--furi-chars,1) * 1em / .45);white-space:nowrap;letter-spacing:0;color:var(--reader-muted);pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;font-size:.45em;font-weight:400;line-height:1.1;display:flex;position:absolute;bottom:calc(100% - .15em);left:0}.reader-page[data-reader-writing=vertical] .furi:before{width:auto;height:calc(var(--furi-chars,1) * 1em / .45);top:0;bottom:auto;left:calc(100% - .1em)}.reader-page .page-practice{flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 18px;display:flex}.reader-page .page-practice-button{border:1px solid var(--reader-line);min-height:40px;color:var(--reader-text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:0 14px;font-size:14px}.reader-page .page-practice-button:hover:not(:disabled),.reader-page .page-practice-button:focus-visible{border-color:var(--reader-accent);color:var(--reader-accent)}.reader-page .page-practice-button.active{border-color:var(--reader-accent);background:var(--reader-highlight-soft,#2f5d4614);color:var(--reader-accent)}.reader-page .page-practice-button:disabled{opacity:.5;cursor:not-allowed}.reader-page .reread-banner{z-index:5;border:1px solid var(--reader-accent);background:var(--reader-bg);color:var(--reader-text);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:10px 14px;font-size:14px;display:flex;position:sticky;top:72px}.reader-page .reread-banner button{border:1px solid var(--reader-accent);min-height:36px;color:var(--reader-accent);font:inherit;cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:0 12px}.reader-page .hamiltonian-word-text.is-looked-up{position:relative}.reader-page .hamiltonian-word-text.is-looked-up:after{content:"";background:var(--reader-accent);opacity:.7;border-radius:50%;width:.26em;height:.26em;position:absolute;top:.1em;right:-.18em}.previous-encounter small{color:var(--muted,inherit);opacity:.75;font-size:.8em;display:block}.previous-encounter p{margin:2px 0 0}.reader-page .culture-note-trigger{vertical-align:.08em;border:1px solid var(--reader-accent);background:var(--reader-surface);min-width:1.65em;height:1.65em;color:var(--reader-accent);font:800 .48em/1 var(--serif);cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.85;border-radius:999px;place-items:center;margin:0 .18em 0 .32em;padding:0 .4em;display:inline-grid}.reader-page .culture-note-trigger.active,.reader-page .culture-note-trigger:focus-visible{opacity:1;background:var(--reader-accent);color:var(--reader-surface)}.reader-page .culture-notes{border-left:3px solid var(--reader-accent);background:var(--reader-surface);font:400 .62em/1.75 var(--sans,system-ui);color:var(--reader-ink,inherit);border-radius:0 8px 8px 0;margin:.4em 0 .2em;padding:.6em .8em}.reader-page .culture-notes p{margin:0}.reader-page .culture-notes p+p{margin-top:.5em}.reader-page .culture-notes b{margin-right:.4em;font-weight:700}.reader-page .culture-note-kind{background:var(--reader-highlight,#eef1e8);border-radius:999px;margin-right:.5em;padding:0 .45em;font-size:.85em;display:inline-block}.reader-names{max-height:80vh;overflow-y:auto}.reader-names h3{margin:14px 0 6px;font-size:14px}.reader-names-list{margin:0;padding:0;list-style:none}.reader-names-list li{border-top:1px solid var(--reader-line,#eee);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:2px 10px;padding:6px 0;font-size:14px;display:grid}.reader-names-list small{color:#7a8574;grid-area:2/1;font-size:11px}.reader-names-list em{color:#2f6b3d;background:#e3efe0;border-radius:999px;align-self:start;padding:1px 6px;font-size:11px;font-style:normal}.wb-install-app{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}button.wb-home-credits{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.wb-install-hint{opacity:.85;flex-basis:100%;font-size:.85em}.wb-home-example-source ruby rt{letter-spacing:0;font-size:.45em}.wb-home-example-note{border-left:3px solid var(--wb-accent,#2f5d46);background:#2f5d460f;border-radius:6px;margin:10px 0 0;padding:10px 12px;font-size:.92em;line-height:1.6}.wb-home-example-note-kind{background:#e9d9a8;border-radius:999px;margin:0 4px;padding:0 8px;font-size:.8em;display:inline-block}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2)format("woff2")}
