.site-footer{border-top:1px solid var(--border);margin-top:auto;background:color-mix(in srgb,var(--surface) 70%,transparent)}.footer-container{max-width:1180px;margin:0 auto;padding:1.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.footer-links{display:flex;flex-wrap:wrap;gap:1.25rem}.footer-links a{color:var(--text-2);text-decoration:none;font-size:.9rem}.footer-links a:hover{color:var(--text);text-decoration:underline}.footer-copyright{color:var(--text-3);font-size:.85rem;font-family:var(--font-display);letter-spacing:-.03em}@media (max-width: 860px){.footer-container{padding:1.25rem 1rem}}.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--border)}.nav-container{max-width:1180px;margin:0 auto;padding:.7rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.nav-logo{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;flex-shrink:0}.brand-lockup{display:inline-flex;align-items:center;gap:.65rem}.nav-logo .logo-mark{display:block}.logo-bar,.logo-axis{fill:var(--ed-ink)}.logo-bar--lead{fill:var(--ed-signal);transition:fill var(--t)}.nav-logo:hover .logo-bar--lead{fill:var(--ed-signal-deep)}.logo-bar{transform-box:fill-box;transform-origin:center bottom}.logo-mark--rise .logo-bar{animation:logo-rise .65s cubic-bezier(.22,1,.36,1) both}.logo-bar:nth-child(1){animation-delay:.02s}.logo-bar:nth-child(2){animation-delay:.08s}.logo-bar:nth-child(3){animation-delay:.14s}.logo-bar:nth-child(4){animation-delay:.2s}.logo-bar:nth-child(5){animation-delay:.26s}@keyframes logo-rise{0%{transform:scaleY(.2);opacity:.35}to{transform:scaleY(1);opacity:1}}@media (prefers-reduced-motion: reduce){.logo-mark--rise .logo-bar{animation:none}}.nav-logo .logo-word{font-family:var(--font-display);font-size:1.28rem;font-weight:700;letter-spacing:-.05em;color:var(--text);line-height:1}.nav-links{display:flex;gap:.25rem;flex:1;justify-content:center;flex-wrap:wrap}.nav-link{color:var(--text-2);text-decoration:none;padding:.5rem .9rem;border-radius:var(--r-full);font-size:.88rem;font-weight:600;letter-spacing:-.01em;line-height:1;border:1px solid transparent;background:transparent;cursor:pointer;transition:color var(--t-fast),background var(--t-fast),border-color var(--t-fast);white-space:nowrap}.nav-link:hover{color:var(--text);background:var(--overlay)}.nav-link[data-status=active]{color:var(--on-accent);background:var(--accent);border-color:transparent}.nav-dropdown{position:relative;display:inline-flex;flex-shrink:0}.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:.3rem;font-family:inherit}.nav-caret{display:inline-flex;font-size:.8rem;opacity:.75;transition:transform var(--t-fast)}.nav-caret.is-open{transform:rotate(180deg)}.nav-dropdown-menu{position:fixed;z-index:100;display:flex;flex-direction:column;gap:.1rem;padding:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.nav-dropdown-item{padding:.55rem .75rem;border-radius:var(--r-sm);color:var(--text-2);text-decoration:none;font-size:.92rem;font-weight:500;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast)}.nav-dropdown-item:hover{background:var(--overlay);color:var(--text)}.nav-dropdown-item[data-status=active]{color:var(--accent-press);background:var(--accent-soft)}.nav-dropdown-item-btn{display:block;width:100%;background:none;border:none;text-align:left;cursor:pointer;font-family:inherit}.nav-auth{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.nav-auth>.nav-link{border:1px solid var(--border-2);color:var(--text);background:var(--surface-2);min-width:2.5rem;text-align:center;font-weight:600}.nav-icon-btn{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;padding-left:.6rem;padding-right:.6rem}.nav-user{font-size:.88rem;color:var(--text);max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-role{font-size:.62rem;letter-spacing:.08em;color:var(--text-3);text-transform:uppercase;padding:.2rem .45rem;border:1px solid var(--border-2);border-radius:var(--r-full)}.nav-logout{padding:.45rem .85rem;border:1px solid var(--border-2);border-radius:var(--r-full);background:transparent;color:var(--text-2);font-size:.88rem;font-weight:500;cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.nav-logout:hover{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger)}.nav-auth>.nav-link.nav-register{background:var(--accent);color:var(--on-accent);border:1px solid transparent}.nav-auth>.nav-link.nav-register:hover{background:var(--accent-2);color:var(--on-accent)}.main-content{flex:1;max-width:1180px;width:100%;margin:0 auto;padding:2.5rem 1.5rem 4rem}.layout--fit{height:100vh;height:100dvh;min-height:0}.layout--fit .main-content{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto;padding-top:clamp(.75rem,2.5vh,2rem);padding-bottom:clamp(.75rem,2.5vh,1.5rem)}.layout--bleed .main-content{max-width:none;padding:0;background:var(--ed-paper)}.layout--bleed .nav-container,.layout--bleed .footer-container{max-width:calc(var(--ed-max) + 2 * var(--ed-gutter));padding-inline:var(--ed-gutter)}.layout--admin .main-content{max-width:1360px;padding:1.15rem 1.5rem 2.5rem}.layout--admin .nav-links{flex-wrap:nowrap}@media (pointer: coarse){.nav-link,.nav-logout{min-height:40px;display:inline-flex;align-items:center}}@media (max-width: 860px){.nav-container{flex-wrap:wrap;gap:.6rem .75rem;padding:.6rem 1rem}.nav-links{order:3;flex:1 1 100%;width:100%;flex-wrap:nowrap;justify-content:flex-start;gap:.3rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.15rem}.nav-links::-webkit-scrollbar{display:none}.nav-link{flex-shrink:0}.nav-user{display:none}.main-content{padding:1.5rem 1rem 3rem}.nav-auth{flex-wrap:wrap;flex-shrink:1;min-width:0}}.layout--bleed .navbar{background:var(--ed-paper);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:var(--ed-line)}@media (max-width: 480px){.nav-guest-pricing{display:none}}.nav-dropdown-heading{padding:.55rem .75rem .2rem;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.nav-dropdown-heading:not(:first-child){margin-top:.3rem;border-top:1px solid var(--border);padding-top:.55rem}a.nav-user{text-decoration:none;border-bottom:1px solid transparent;transition:color var(--t-fast),border-color var(--t-fast)}a.nav-user:hover,a.nav-user[data-status=active]{color:var(--text);border-bottom-color:var(--accent)}.pending-answers{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;padding:8px 16px;background:var(--warning-soft);color:var(--text);border-bottom:1px solid var(--warning);font-size:.9rem}.pending-answers button{padding:4px 12px;border:1px solid var(--warning);border-radius:var(--r-full);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.pending-answers button:disabled{opacity:.6;cursor:default}.admin-badge{display:inline-block;margin-inline-start:.28rem;color:var(--ed-signal-text);font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:0}.nav-burger,.nav-mobile-action,.nav-sheet{display:none}@media (max-width: 860px){.nav-container{flex-wrap:nowrap}.nav-links,.nav-auth{display:none}.layout .navbar .nav-auth:has(.nav-motion){display:flex;flex-wrap:nowrap;margin-inline-start:auto;gap:0}.layout .navbar .nav-auth:has(.nav-motion)>:not(.nav-motion){display:none}.layout .navbar .nav-auth:has(.nav-motion)~.nav-mobile-action{margin-inline-start:0}.nav-mobile-action{display:inline-flex;margin-left:auto}.nav-burger{position:relative;display:inline-grid;place-items:center;flex-shrink:0;width:44px;height:44px;margin-left:auto;border:1.5px solid var(--border-2);border-radius:50%;background:transparent;color:var(--text);cursor:pointer}.nav-mobile-action+.nav-burger{margin-left:.5rem}.nav-burger>span:first-child,.nav-burger>span:first-child:before,.nav-burger>span:first-child:after{display:block;width:18px;height:2px;border-radius:1px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.nav-burger>span:first-child{position:relative}.nav-burger>span:first-child:before,.nav-burger>span:first-child:after{content:"";position:absolute;left:0}.nav-burger>span:first-child:before{top:-6px}.nav-burger>span:first-child:after{top:6px}.nav-burger.is-open>span:first-child{background:transparent}.nav-burger.is-open>span:first-child:before{transform:translateY(6px) rotate(45deg)}.nav-burger.is-open>span:first-child:after{transform:translateY(-6px) rotate(-45deg)}.nav-burger-dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--accent);border:2px solid var(--bg)}.nav-sheet{position:absolute;top:100%;left:0;right:0;z-index:2;display:grid;gap:14px;max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;padding:8px 1rem 18px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg);box-shadow:0 18px 40px #14110e2e}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#14110e61}.nav-sheet-links{display:grid}.nav-sheet-links a{display:flex;align-items:center;gap:.5rem;min-height:50px;border-bottom:1px solid var(--border);color:var(--text);font-size:1.125rem;font-weight:600;text-decoration:none}.nav-sheet-links a[data-status=active]{color:var(--accent-2)}.nav-sheet-controls,.nav-sheet-account{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.nav-sheet-user{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;margin-right:auto;color:var(--text-2);overflow-wrap:anywhere}}@media (max-width: 860px) and (prefers-reduced-motion: reduce){.nav-burger>span:first-child,.nav-burger>span:first-child:before,.nav-burger>span:first-child:after{transition:none}}@media (max-width: 860px){.nav-sheet-account .nav-link{display:inline-flex;align-items:center;padding-top:0;padding-bottom:0;min-height:44px;padding:0 1.1rem;border-radius:var(--r-full);border:1px solid var(--border-2)}.nav-sheet-account .nav-link.nav-register{background:var(--accent);border-color:transparent;color:var(--on-accent)}}.ed-freq{margin:0}.ed-freq-cols{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(8px,2vw,28px);align-items:end;border-bottom:2px solid var(--ed-ink);padding-bottom:0}.ed-freq-col{display:grid;grid-template-rows:auto clamp(180px,26vw,340px);justify-items:stretch;min-width:0}.ed-freq-count{font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ed-muted);text-align:center;padding-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ed-freq-track{display:flex;align-items:flex-end;height:100%}.ed-freq-bar{display:block;width:100%;background:var(--ed-signal);border-radius:6px 6px 0 0;transform-origin:bottom}.ed-freq-rank,.ed-freq-word{grid-row:auto}.ed-freq-col{position:relative;padding-bottom:0}.ed-freq-rank{position:absolute;top:calc(100% + 12px);left:0;right:0;text-align:center;font-family:var(--font-display);font-weight:700;font-size:clamp(.8125rem,.6rem + .9vw,1.25rem);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.ed-freq-word{position:absolute;top:calc(100% + 12px + 1.6em);left:0;right:0;text-align:center;font-size:clamp(.9375rem,.8rem + .5vw,1.125rem);font-style:italic;color:var(--ed-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ed-freq-axis{display:flex;justify-content:space-between;gap:1rem;margin-top:clamp(64px,7vw,84px);font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ed-muted)}.ed-freq-axis span:first-child:after{content:" →"}[dir=rtl] .ed-freq-axis span:first-child:after{content:" ←"}.ed-freq-caption{margin-top:.75rem;max-width:46em}.ed-freq.is-loading .ed-freq-bar{background:var(--ed-line)}.ed-compare{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:1.0625rem;line-height:1.5}.ed-compare th,.ed-compare td{text-align:start;vertical-align:top;padding:22px 24px}.ed-compare-crit-head{width:28%}.ed-compare-list-head,.ed-compare-fredic-head{font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding-top:18px;padding-bottom:18px}.ed-compare-list-head{color:var(--ed-muted);border-top:2px solid var(--ed-line-strong)}.ed-compare-fredic-head{background:var(--ed-night);color:var(--ed-signal);border-radius:var(--ed-radius) var(--ed-radius) 0 0}.ed-compare-crit{font-family:var(--font-display);font-weight:700;font-size:clamp(1.0625rem,.9rem + .5vw,1.375rem);letter-spacing:-.02em;line-height:1.2;border-top:1px solid var(--ed-line);padding-inline-start:0}.ed-compare-num{display:block;margin-bottom:6px;font-family:var(--font-sans);font-size:.8125rem;font-weight:700;letter-spacing:.08em;color:var(--ed-signal-text)}.ed-compare-list{color:var(--ed-muted);border-top:1px solid var(--ed-line)}.ed-compare-fredic{background:var(--ed-night);color:var(--ed-on-night);border-top:1px solid var(--ed-night-line);position:relative}.ed-compare-fredic:before{content:"";position:absolute;inset-inline-start:0;top:26px;width:3px;height:1.1em;border-radius:2px;background:var(--ed-signal)}.ed-compare tbody tr:last-child .ed-compare-fredic{border-radius:0 0 var(--ed-radius) var(--ed-radius)}.ed-compare-mobile-label{display:none}@media (max-width: 720px){.ed-compare,.ed-compare tbody,.ed-compare tr,.ed-compare th,.ed-compare td{display:block;width:100%}.ed-compare thead{display:none}.ed-compare tr{margin-bottom:28px}.ed-compare th,.ed-compare td{padding:14px 18px}.ed-compare-crit{padding:14px 0 12px}.ed-compare-list{border:1px solid var(--ed-line);border-bottom:0;border-radius:var(--ed-radius-sm) var(--ed-radius-sm) 0 0}.ed-compare-fredic,.ed-compare tbody tr:last-child .ed-compare-fredic{border-radius:0 0 var(--ed-radius-sm) var(--ed-radius-sm)}.ed-compare-fredic:before{top:44px}.ed-compare-mobile-label{display:block;margin-bottom:4px;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ed-compare-list .ed-compare-mobile-label{color:var(--ed-muted)}.ed-compare-fredic .ed-compare-mobile-label{color:var(--ed-signal)}}.ed-carousel-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:16px 24px;margin-bottom:20px}.ed-carousel-nav{display:flex;align-items:center;gap:10px}.ed-carousel-hint{margin-inline-end:6px}.ed-carousel-btn{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--ed-ink);background:transparent;color:var(--ed-ink);cursor:pointer;transition:background-color .18s var(--ed-ease),color .18s var(--ed-ease)}.ed-carousel-btn:hover{background:var(--ed-ink);color:var(--ed-paper)}.ed-carousel-btn .icon{width:20px;height:20px}.ed-carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,312px);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 var(--ed-gutter);padding:4px var(--ed-gutter) 20px;margin:0 calc(-1 * var(--ed-gutter));scrollbar-width:none}@media (pointer: fine){.ed-carousel-track{cursor:grab}.ed-carousel-track.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}}.ed-carousel-track::-webkit-scrollbar{display:none}.ed-carousel-card{scroll-snap-align:start;display:flex;flex-direction:column;gap:10px;min-height:300px;padding:22px 22px 20px;border-radius:var(--ed-radius);background:var(--ed-paper-raised);border:1px solid var(--ed-line)}.ed-carousel-card.is-lead{border-top:3px solid var(--ed-signal)}.ed-carousel-card-lang{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ed-muted)}.ed-carousel-card-word{font-size:2.125rem;font-weight:600;line-height:1.05;letter-spacing:-.01em;overflow-wrap:anywhere}.ed-carousel-card-gloss{font-size:1.0625rem;font-weight:600;color:var(--ed-signal-text);line-height:1.35}.ed-carousel-card-example{font-size:1rem;line-height:1.45;color:var(--ed-ink-2)}.ed-carousel-card-example mark{background:none;color:inherit;font-weight:700;text-decoration:underline;text-decoration-color:var(--ed-signal);text-decoration-thickness:2px;text-underline-offset:.18em}.ed-carousel-card-forms{font-size:.875rem;color:var(--ed-muted)}.ed-carousel-card-freq{margin-top:auto;display:grid;gap:8px;padding-top:12px}.ed-carousel-card-freq{position:relative}.ed-carousel-card-freq:before{content:"";position:absolute;top:9px;inset-inline-start:calc(var(--depth) - 1px);width:2px;height:1.8rem;border-radius:1px;background:var(--heat)}.ed-carousel-ruler{display:block;width:100%;height:1.4rem;background:linear-gradient(90deg,var(--heat) 0 var(--depth),color-mix(in srgb,var(--ed-muted) 26%,transparent) var(--depth) 100%);-webkit-mask-image:var(--zipf-bars);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-image:var(--zipf-bars);mask-size:100% 100%;mask-repeat:no-repeat}[dir=rtl] .ed-carousel-ruler{transform:scaleX(-1)}.ed-carousel-card-rank{font-size:.8125rem;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--ed-muted)}.ed-carousel-card-of{font-weight:500;letter-spacing:0}.ed-carousel-card-skeleton{background:var(--ed-paper-sunk);border-color:transparent}@media (max-width: 640px){.ed-carousel-track{grid-auto-columns:86%}.ed-carousel-hint{display:none}}.ed-wordpop{position:relative;display:inline-block}.ed-wordpop-trigger{display:inline;padding:0 .12em;margin:0 -.06em;border:0;border-radius:4px;background:var(--ed-signal-wash);color:inherit;font:inherit;font-weight:700;text-decoration:underline;text-decoration-color:var(--ed-signal);text-decoration-thickness:2px;text-underline-offset:.2em;cursor:pointer}.ed-wordpop-trigger[aria-expanded=true]{background:var(--ed-signal);color:var(--ed-on-signal);text-decoration-color:transparent}.ed-wordpop-panel{position:absolute;z-index:20;left:50%;bottom:calc(100% + 12px);transform:translate(-50%);display:grid;gap:6px;width:max-content;max-width:min(280px,80vw);padding:16px 18px;border-radius:var(--ed-radius-sm);background:var(--ed-ink);color:var(--ed-paper);font-family:var(--font-sans);font-size:1rem;font-style:normal;font-weight:400;line-height:1.4;text-align:start;box-shadow:0 18px 40px #15141147}.ed-wordpop-panel[hidden]{display:none}.ed-wordpop-panel:after{content:"";position:absolute;left:50%;top:100%;border:8px solid transparent;border-top-color:var(--ed-ink);transform:translate(-50%)}.ed-wordpop-head{display:flex;align-items:center;gap:10px}.ed-wordpop-word{font-size:1.75rem;font-weight:600;line-height:1}.ed-wordpop-speak{display:inline-grid;place-items:center;width:44px;height:44px;margin-inline-start:auto;border-radius:50%;border:1.5px solid rgba(244,239,229,.4);background:transparent;color:inherit;cursor:pointer}.ed-wordpop-speak:hover{border-color:var(--ed-signal);color:var(--ed-signal)}.ed-wordpop-ipa{font-size:.9375rem;opacity:.72}.ed-wordpop-gloss{font-size:1.0625rem;font-weight:600}.ed-wordpop-panel .ed-rank{color:#f4efe5b8}:root[data-theme=dark] .ed-wordpop-panel .ed-rank{color:#12110fb3}:root[data-theme=dark] .ed-wordpop-speak{border-color:#12110f59}.ed-demo-card{display:flex;flex-direction:column;gap:16px;width:100%;max-width:520px;min-height:640px;padding:clamp(22px,3vw,34px);border-radius:22px;background:var(--ed-paper-raised);color:var(--ed-ink);box-shadow:0 30px 60px #00000047}.ed-demo-card .ed-btn.ed-btn-ghost{color:var(--ed-ink);border-color:var(--ed-ink)}.ed-demo-card .ed-btn.ed-btn-ghost:hover{background:var(--ed-ink);color:var(--ed-paper)}.ed-demo-failed{justify-content:center;align-items:flex-start;min-height:320px}.ed-demo-card-skeleton{background:var(--ed-night-raised);box-shadow:none}.ed-demo-top{display:flex;align-items:center;gap:12px;min-height:44px}.ed-demo-mode{padding:5px 11px;border-radius:999px;background:var(--ed-signal-wash);color:var(--ed-signal-text);font-size:.8125rem;font-weight:700;white-space:nowrap;animation:ed-demo-pop .4s var(--ed-ease) both}@keyframes ed-demo-pop{0%{opacity:0;transform:scale(.85)}}.ed-demo-tools{display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto}.ed-demo-freq{display:grid;gap:6px;position:relative}.ed-demo-ruler{display:block;height:1.25rem;background:linear-gradient(90deg,var(--heat) 0 var(--depth),color-mix(in srgb,var(--ed-muted) 24%,transparent) var(--depth) 100%);-webkit-mask-image:var(--zipf-bars);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-image:var(--zipf-bars);mask-size:100% 100%;mask-repeat:no-repeat;animation:ed-demo-ruler .7s var(--ed-ease) both}@keyframes ed-demo-ruler{0%{clip-path:inset(0 100% 0 0)}}[dir=rtl] .ed-demo-ruler{transform:scaleX(-1)}.ed-demo-freq-label{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ed-muted)}.ed-demo-freq-label .ed-rank{color:var(--heat);filter:brightness(.8)}.ed-demo-step{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ed-muted)}.ed-demo-fav{display:inline-grid;place-items:center;width:44px;height:44px;border:1.5px solid var(--ed-line);border-radius:50%;background:transparent;color:var(--ed-muted);cursor:pointer}.ed-demo-fav.is-on{color:var(--ed-signal);border-color:var(--ed-signal)}.ed-demo-word{min-height:1.1em;font-size:72px;line-height:1}.ed-demo-headword{font-weight:600;letter-spacing:-.015em;line-height:1}.ed-demo-sound{display:flex;align-items:center;gap:12px}.ed-demo-speak{display:inline-grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:var(--ed-ink);color:var(--ed-paper);cursor:pointer;transition:background-color .18s var(--ed-ease)}.ed-demo-speak:hover{background:var(--ed-signal-deep)}.ed-demo-speak .icon{width:22px;height:22px}.ed-demo-ipa{font-size:1.0625rem;color:var(--ed-muted)}.ed-demo-example{font-size:1.125rem;line-height:1.45;font-style:italic;color:var(--ed-ink-2);border-inline-start:3px solid var(--ed-line);padding-inline-start:14px}.ed-demo-gloss{font-size:1.375rem;font-weight:700;line-height:1.3;color:var(--ed-signal-text)}.ed-demo-marks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ed-demo-reveal{width:100%}.ed-demo-option.is-wrong{animation:ed-demo-shake .4s var(--ed-ease)}@keyframes ed-demo-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.ed-demo-misses{margin-inline-start:auto;font-size:.875rem;font-weight:700;color:var(--ed-muted)}.ed-demo-match-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,1.1rem + 1.2vw,2rem);line-height:1.1;letter-spacing:-.02em}.ed-demo-match-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ed-demo-pair{min-height:54px;padding:8px 14px;border:1.5px solid var(--ed-line);border-radius:var(--ed-radius-sm);background:transparent;color:var(--ed-ink);font:inherit;font-size:1rem;font-weight:600;line-height:1.25;text-align:start;cursor:pointer;transition:border-color .15s var(--ed-ease),background-color .15s var(--ed-ease),opacity .3s var(--ed-ease)}.ed-demo-pair.ed-serif{font-size:1.25rem}.ed-demo-pair:not(:disabled):hover{border-color:var(--ed-ink)}.ed-demo-pair.is-picked{border-color:var(--ed-signal);background:var(--ed-signal-wash)}.ed-demo-pair.is-done{border-color:var(--ed-success);background:var(--ed-success-wash);color:var(--ed-success);cursor:default;animation:ed-demo-pop .35s var(--ed-ease)}.ed-demo-pair.is-miss{border-color:var(--ed-signal-text);animation:ed-demo-shake .4s var(--ed-ease)}.ed-demo-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px;border-top:1px solid var(--ed-line)}.ed-demo-nav{display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--ed-ink);cursor:pointer}.ed-demo-nav:disabled{opacity:.3;cursor:default}.ed-demo-nav:not(:disabled):hover{background:var(--ed-paper-sunk)}.ed-demo-dots{display:flex;gap:8px;list-style:none}.ed-demo-dots li{width:28px;height:4px;border-radius:2px;background:var(--ed-line);transition:background-color .2s var(--ed-ease)}.ed-demo-dots li.is-known{background:var(--ed-ink-2)}.ed-demo-dots li.is-again{background:var(--ed-signal-text)}.ed-demo-dots li.is-active{background:var(--ed-signal)}.ed-demo-dots li.is-active.is-cycling{position:relative;overflow:hidden;background:var(--ed-line)}.ed-demo-dots li.is-active.is-cycling:after{content:"";position:absolute;inset:0 auto 0 0;width:100%;background:var(--ed-signal);transform-origin:left center;animation:ed-demo-dot var(--demo-turn, 5s) linear}[dir=rtl] .ed-demo-dots li.is-active.is-cycling:after{inset:0 0 0 auto;transform-origin:right center}.ed-demo-card.is-held .ed-demo-dots li.is-cycling:after{animation-play-state:paused}.ed-demo-slide{display:flex;flex:1;flex-direction:column;gap:16px;animation:ed-demo-slide .55s var(--ed-ease) both}.ed-demo-slide.is-sheet .ed-demo-word{font-size:56px}.ed-demo-slide.is-sheet{gap:12px;animation-name:ed-demo-rise;animation-duration:.45s}@keyframes ed-demo-rise{0%{opacity:0;transform:translate3d(0,14px,0)}}.ed-demo-action{display:grid;gap:12px;margin-top:auto}.ed-demo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ed-demo-head>div{display:grid;gap:12px;min-width:0;flex:1}.ed-demo-pic{flex:none;width:104px;height:104px;border-radius:14px;object-fit:cover;background:var(--ed-paper-sunk)}.ed-demo-q{color:var(--ed-muted);font-weight:600}.ed-demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ed-demo-grid .ed-demo-option{min-height:60px;padding:10px 14px;font-size:1.0625rem;line-height:1.25}.ed-demo-grid .ed-demo-option.ed-serif{font-size:1.375rem}.ed-demo-listen{display:flex;flex-direction:column;align-items:center;gap:18px;margin-block:auto;padding:10px 0;text-align:center}.ed-demo-play{position:relative;display:inline-grid;place-items:center;flex:none;width:96px;height:96px;border:0;border-radius:50%;background:var(--ed-signal);color:var(--ed-on-signal);cursor:pointer;transition:transform .18s var(--ed-ease)}.ed-demo-play:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid var(--ed-signal);opacity:0;animation:ed-demo-ring 2.4s var(--ed-ease) infinite}@keyframes ed-demo-ring{0%{opacity:.6;transform:scale(.9)}70%,to{opacity:0;transform:scale(1.25)}}.ed-demo-play:hover{transform:scale(1.05)}.ed-demo-play .icon{width:34px;height:34px}.ed-demo-listen .ed-demo-q{font-size:1.125rem;line-height:1.35}.ed-demo-cloze{font-style:normal;font-size:1.3125rem;color:var(--ed-ink)}.ed-demo-gap{display:inline-block;width:4.5em;height:1em;margin:0 .15em;vertical-align:-.12em;border-bottom:2.5px solid var(--ed-signal);animation:ed-demo-blink 1.6s steps(2,jump-none) infinite}@keyframes ed-demo-blink{50%{border-color:color-mix(in srgb,var(--ed-signal) 35%,transparent)}}.ed-demo-hint{color:var(--ed-ink-2);font-weight:600}.ed-demo-prompt-gloss{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.125rem);line-height:1.15;letter-spacing:-.02em;color:var(--ed-signal-text)}.ed-demo-letters{display:flex;flex-wrap:wrap;gap:5px;direction:ltr}.ed-demo-letters>span{display:inline-grid;place-items:center;width:24px;height:30px;border-bottom:2px solid var(--ed-line-strong);font-family:var(--font-display);font-size:1.125rem;font-weight:700}.ed-demo-letters>span.is-given{border-color:var(--ed-signal);color:var(--ed-signal-text)}.ed-demo-type{display:grid;gap:4px}.ed-demo-type-row{display:flex;gap:10px}.ed-demo-input{flex:1;min-width:0;min-height:52px;padding:0 16px;border:1.5px solid var(--ed-line-strong);border-radius:var(--ed-radius-sm);background:var(--ed-paper);color:var(--ed-ink);font:inherit;font-size:1.125rem}.ed-demo-input:focus{outline:none;border-color:var(--ed-signal);box-shadow:0 0 0 3px var(--ed-signal-wash)}.ed-demo-giveup{justify-self:start;min-height:40px;padding:0;border:0;background:none;color:var(--ed-muted);font:inherit;font-size:.9375rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.ed-demo-giveup:hover{color:var(--ed-ink)}.ed-demo-verdict{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:6px 12px 6px 8px;border-radius:999px;font-weight:700;animation:ed-demo-pop .35s var(--ed-ease) both}.ed-demo-verdict .icon{width:18px;height:18px}.ed-demo-verdict.is-right{background:var(--ed-success-wash);color:var(--ed-success)}.ed-demo-verdict.is-wrong{background:var(--ed-signal-wash);color:var(--ed-signal-text)}.ed-demo-example mark{background:none;color:var(--ed-signal-text);font-weight:700}.ed-demo-forms{font-size:.9375rem;font-weight:600;color:var(--ed-muted)}@keyframes ed-demo-slide{0%{opacity:0;transform:translate3d(28px,0,0)}}@keyframes ed-demo-dot{0%{transform:scaleX(0)}}[dir=rtl] .ed-demo-slide{animation-name:ed-demo-slide-rtl}@keyframes ed-demo-slide-rtl{0%{opacity:0;transform:translate3d(-28px,0,0)}}.ed-demo-fav-note{margin-top:-6px}.ed-demo-options{display:grid;gap:10px}.ed-demo-option{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 20px;border:1.5px solid var(--ed-line);border-radius:var(--ed-radius-sm);background:transparent;color:var(--ed-ink);font-size:1.375rem;font-weight:600;text-align:start;cursor:pointer;transition:border-color .15s var(--ed-ease),background-color .15s var(--ed-ease)}.ed-demo-option:not(:disabled):hover{border-color:var(--ed-ink)}.ed-demo-option:disabled{cursor:default}.ed-demo-option.is-right{border-color:var(--ed-success);background:var(--ed-success-wash);color:var(--ed-success)}.ed-demo-option.is-wrong{border-color:var(--ed-signal-text);color:var(--ed-signal-text);text-decoration:line-through}.ed-demo-feedback{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-top:auto;font-weight:600}.ed-demo-done-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.625rem,1.2rem + 1.4vw,2.25rem);line-height:1.1;letter-spacing:-.025em}.ed-demo-done-text{display:grid;gap:2px;color:var(--ed-ink-2);line-height:1.5}.ed-demo-done-words{list-style:none;display:grid;border-top:1px solid var(--ed-line)}.ed-demo-done-words li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--ed-line)}.ed-demo-done-words .ed-serif{font-size:1.25rem;font-weight:600;min-width:6em;overflow-wrap:anywhere}.ed-demo-done-mode{display:inline-flex;align-items:center;gap:4px;font-size:.8125rem;color:var(--ed-muted)}.ed-demo-done-mode .icon{width:16px;height:16px}.ed-demo-done-mode .is-right{color:var(--ed-success)}.ed-demo-done-mode .is-wrong{color:var(--ed-signal-text)}.ed-demo-tag{margin-inline-start:auto;font-size:.8125rem;font-weight:700}.ed-demo-tag.is-again{color:var(--ed-signal-text)}.ed-demo-tag.is-known{color:var(--ed-muted)}.ed-demo-done-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:auto}.ed-demo-restart{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:none;color:var(--ed-muted);font:inherit;font-size:.9375rem;cursor:pointer}.ed-demo-restart:hover{color:var(--ed-ink)}@media (max-width: 480px){.ed-demo-card{min-height:612px;border-radius:18px}.ed-demo-pic{width:76px;height:76px}.ed-demo-grid .ed-demo-option{min-height:54px;font-size:1rem}.ed-demo-done-mode{display:none}.ed-demo-marks .ed-btn{padding-inline:10px;font-size:.9375rem}}.ed-lens{display:grid;gap:24px}.ed-lens-skeleton{min-height:320px;border-radius:var(--ed-radius);background:var(--ed-paper-sunk)}.ed-lens-ranges{display:flex;flex-wrap:wrap;gap:8px}.ed-lens-range{min-height:44px;padding:0 18px;border:1.5px solid var(--ed-line-strong);border-radius:999px;background:transparent;color:var(--ed-ink);font:inherit;font-weight:700;font-size:.9375rem;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .15s var(--ed-ease),color .15s var(--ed-ease),border-color .15s var(--ed-ease)}.ed-lens-range:hover{border-color:var(--ed-ink)}.ed-lens-range.is-on{background:var(--ed-ink);border-color:var(--ed-ink);color:var(--ed-paper)}.ed-lens-text{font-size:clamp(1.625rem,1rem + 2.4vw,3rem);line-height:1.45;font-weight:500;letter-spacing:-.01em;max-width:24em}.ed-lens-word{display:inline;padding:0 .06em;margin:0 -.02em;border:0;border-radius:6px;background:transparent;color:var(--ed-muted);font:inherit;letter-spacing:inherit;cursor:pointer;text-decoration:none;transition:background-color .2s var(--ed-ease),color .2s var(--ed-ease),text-decoration-color .2s var(--ed-ease)}.ed-lens-word.is-in{color:var(--ed-ink);text-decoration:underline;text-decoration-color:var(--ed-signal);text-decoration-thickness:.09em;text-underline-offset:.16em;text-decoration-skip-ink:none}.ed-lens-word.is-unknown{text-decoration:underline dotted var(--ed-line-strong);text-decoration-thickness:2px;text-underline-offset:.2em}.ed-lens-word.is-picked{background:var(--ed-ink);color:var(--ed-paper);text-decoration:none}.ed-lens-share{font-family:var(--font-display);font-weight:700;font-size:clamp(1.125rem,.95rem + .6vw,1.5rem);letter-spacing:-.02em}.ed-lens-entry{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;min-height:64px;padding:18px 22px;border-radius:var(--ed-radius-sm);background:var(--ed-paper-raised);border:1px solid var(--ed-line)}.ed-lens-entry-word{font-size:1.5rem;font-weight:600}.ed-lens-entry-ipa{color:var(--ed-muted)}.ed-lens-entry-gloss{font-weight:700;color:var(--ed-signal-text)}.ed-lens-entry-miss{color:var(--ed-ink-2)}.landing{overflow-x:clip}.landing h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}.landing-hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:center;padding-top:clamp(40px,6vw,88px);padding-bottom:clamp(56px,8vw,112px)}.landing-hero .ed-display{font-size:clamp(2.125rem,.9rem + 3.9vw,4.5rem)}.landing-hero-copy{display:grid;gap:22px;justify-items:start}.landing-hero-accent{color:var(--ed-signal)}.landing-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:6px}.landing-hero-secondary{font-size:1rem}.landing-hero-figure{position:relative;margin:0}.landing-hero-photo img{display:block;width:100%;height:auto;object-fit:cover;border-radius:20px;background:var(--ed-paper-sunk)}.landing-hero-photo img{aspect-ratio:4 / 5;max-height:min(78vh,760px)}.landing-hero-line{position:absolute;inset-inline-start:clamp(-56px,-4vw,-24px);bottom:clamp(20px,3vw,36px);display:grid;gap:6px;max-width:min(420px,88%);padding:18px 22px;border-radius:14px;background:var(--ed-paper-raised);box-shadow:0 18px 44px #1514112e}.landing-hero-quote{font-size:clamp(1.25rem,1rem + .8vw,1.625rem);line-height:1.3;font-weight:500}.landing-method{padding:var(--ed-section) 0;border-top:1px solid var(--ed-line)}.landing-freq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:end}.landing-freq-copy{display:grid;gap:20px;align-content:start}.landing-compare{margin-top:clamp(80px,10vw,136px);display:grid;gap:32px}.landing-compare-head{display:grid;gap:14px;max-width:760px}.landing-compare-next{justify-self:start;font-size:1.0625rem}.landing-try{padding:var(--ed-section) 0}.landing-try-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:center}.landing-try-grid>.ed-demo-card{justify-self:end}.landing-try-copy{display:grid;gap:22px;align-content:start}.landing-try-steps{list-style:none;counter-reset:step;display:grid;gap:14px;margin-top:6px}.landing-try-steps li{counter-increment:step;display:grid;grid-template-columns:2.25rem 1fr;align-items:baseline;font-size:1.0625rem;color:var(--ed-on-night)}.landing-try-steps li:before{content:"0" counter(step);font-size:.8125rem;font-weight:700;letter-spacing:.06em;color:var(--ed-signal)}.landing-try-lang{display:grid;gap:6px;justify-self:start;margin-top:8px}.landing-try-lang span{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ed-on-night-muted)}.landing-try-lang select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:48px;min-width:220px;padding-block:0;padding-inline:16px 44px;border:1.5px solid var(--ed-night-line);border-radius:999px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff6a2b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 16px center / 16px no-repeat,var(--ed-night-raised);color:var(--ed-on-night);font:inherit;font-weight:600;cursor:pointer}[dir=rtl] .landing-try-lang select{background-position:left 16px center}.landing-lens-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,80px);align-items:start}.landing-lens-copy{display:grid;gap:20px;justify-items:start;position:sticky;top:104px}.landing-lens+.landing-life{border-top:1px solid var(--ed-line)}.landing-life-head{display:grid;gap:16px;max-width:760px;margin-bottom:clamp(40px,5vw,64px)}.landing-life-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(28px,3vw,40px) clamp(16px,2vw,24px)}.landing-scene{display:grid;gap:18px;align-content:start}.landing-scene.is-work{grid-column:1 / 8;grid-row:1}.landing-scene.is-reading{grid-column:9 / 13;grid-row:1 / 3;margin-top:clamp(48px,10vw,168px)}.landing-scene.is-goal{grid-column:3 / 7;grid-row:2}.landing-scene-photo img{display:block;width:100%;height:auto;border-radius:var(--ed-radius);background:var(--ed-paper-sunk)}.landing-scene.is-work .landing-scene-photo img{aspect-ratio:3 / 2}.landing-scene.is-reading .landing-scene-photo img,.landing-scene.is-goal .landing-scene-photo img{aspect-ratio:4 / 5}.landing-scene-text{display:grid;gap:8px}.landing-scene-label{font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ed-signal-text)}.landing-scene h3{font-size:clamp(1.25rem,1rem + .8vw,1.625rem);line-height:1.2}.landing-scene-phrase{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:4px}.landing-scene-phrase .ed-serif{font-size:1.25rem;font-style:italic}.landing-langs{background:var(--ed-paper-sunk)}.landing-langs-head{display:grid;gap:16px;max-width:760px;margin-bottom:36px}.landing-langs-cta{display:inline-block;margin-top:12px;font-size:1.0625rem}.landing-start{padding:clamp(56px,7vw,96px) 0;border-bottom:1px solid var(--ed-line)}.landing-start-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px clamp(32px,5vw,80px);align-items:end}.landing-start-grid>div:first-child{display:grid;gap:16px;grid-row:span 3;align-self:start}.landing-start-map{--marker-at: 34%;position:relative;height:56px;border-bottom:2px solid var(--ed-ink);background:repeating-linear-gradient(to right,var(--ed-line) 0 1px,transparent 1px 2.5%) bottom / 100% 14px no-repeat}.landing-start-free{position:absolute;inset-inline-start:0;bottom:0;width:max(6px,var(--free-share, 1.4%));height:22px;background:var(--ed-ink);border-radius:4px 4px 0 0}.landing-start-marker{position:absolute;inset-inline-start:var(--marker-at);bottom:0;height:56px;padding-inline-start:10px;border-inline-start:3px solid var(--ed-signal);font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ed-signal-text)}.landing-start-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}.landing-start-grid>.ed-btn{justify-self:start}.landing-plans .ed-h2{max-width:820px}.landing-plans .ed-lead{margin-top:16px}.landing-plans-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;margin-top:40px;align-items:stretch}.landing-plan{display:flex;flex-direction:column;gap:16px;padding:clamp(24px,3vw,40px);border-radius:22px;border:1.5px solid var(--ed-line);background:var(--ed-paper-raised)}.landing-plan h3{font-size:1.375rem}.landing-plan-price{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,1.4rem + 2vw,3rem);letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}.landing-plan-price span{font-family:var(--font-sans);font-size:1rem;font-weight:600;letter-spacing:0;color:var(--ed-muted)}.landing-plan-sub{margin-top:-6px;color:var(--ed-muted)}.landing-plan ul{list-style:none;display:grid;gap:10px;margin-bottom:8px}.landing-plan>ul li{position:relative;padding-inline-start:22px;line-height:1.45}.landing-plan>ul li:before{content:"";position:absolute;inset-inline-start:0;top:.35em;width:3px;height:.9em;border-radius:2px;background:var(--ed-signal)}.landing-plan>.ed-btn{margin-top:auto;align-self:flex-start}.landing-plan.is-premium{background:var(--ed-night);color:var(--ed-on-night);border-color:var(--ed-night)}.landing-plan.is-premium .landing-plan-price span,.landing-plan.is-premium .landing-plan-sub,.landing-plan.is-premium .ed-meta{color:var(--ed-on-night-muted)}.landing-plan-more ul{margin-top:8px;padding-inline-start:0}.landing-plan-more li{color:var(--ed-on-night-muted)}.landing-plan-terms{line-height:1.5}.landing-plan.is-premium .ed-link:hover{color:var(--ed-signal)}.landing-faq{border-top:1px solid var(--ed-line)}.landing-faq-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:32px clamp(32px,5vw,80px);align-items:start}.landing-faq-grid>.ed-h2{position:sticky;top:96px}.landing-faq-list{border-top:2px solid var(--ed-ink)}.landing-faq-item{border-bottom:1px solid var(--ed-line)}.landing-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:18px 0;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);font-weight:700;cursor:pointer;list-style:none}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item summary:after{content:"+";flex-shrink:0;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--ed-line-strong);font-weight:500;font-size:1.25rem;color:var(--ed-ink)}.landing-faq-item[open] summary:after{content:"−";background:var(--ed-ink);border-color:var(--ed-ink);color:var(--ed-paper)}.landing-faq-item p{padding:0 56px 22px 0;line-height:1.6;color:var(--ed-ink-2);max-width:44em}.landing-poster{position:relative;overflow:hidden;background:var(--ed-signal);color:#151411}.landing-poster-inner{position:relative;display:grid;gap:32px;justify-items:start;padding-top:clamp(72px,10vw,140px);padding-bottom:clamp(72px,10vw,140px)}.landing-poster .ed-display{max-width:14ch}.landing-poster-word{position:absolute;inset-inline-end:var(--ed-gutter);top:-.12em;font-size:clamp(6rem,15vw,14rem);font-style:italic;font-weight:600;line-height:1;color:#1514111f;pointer-events:none;-webkit-user-select:none;user-select:none}.landing-poster .ed-btn-ink{background:#151411;color:#f4efe5}.landing-poster .ed-btn-ink:hover{background:#2c2924;color:#f4efe5}.landing-poster :focus-visible{outline-color:#151411}@keyframes landing-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes landing-open{0%{clip-path:inset(7% 7% 7% 7% round 20px)}to{clip-path:inset(0)}}@keyframes landing-settle{0%{transform:scale(1.12)}to{transform:none}}@keyframes landing-ping{0%{box-shadow:0 0 #e2410073}to{box-shadow:0 0 0 12px #e2410000}}@keyframes landing-drift{0%{transform:translate(0) rotate(-2deg)}to{transform:translate(-6%) rotate(1deg)}}@keyframes landing-faq-open{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.landing-hero-copy>*{animation:landing-rise .8s var(--ed-ease) backwards}.landing-hero-copy>:nth-child(2){animation-delay:60ms}.landing-hero-copy>:nth-child(3){animation-delay:.16s}.landing-hero-copy>:nth-child(4){animation-delay:.24s}.landing-hero-copy>:nth-child(5){animation-delay:.32s}.landing-hero-photo{display:block;animation:landing-open 1.2s var(--ed-ease) backwards}.landing-hero-photo img{animation:landing-settle 1.6s var(--ed-ease) backwards}.landing-hero-line{animation:landing-rise .8s var(--ed-ease) .55s backwards}.landing-hero .ed-wordpop-trigger{animation:landing-ping 1.4s ease-out 1.5s 2}.landing-scene-frame{overflow:hidden;border-radius:var(--ed-radius)}.landing-scene-photo{display:block}.landing-scene-photo img{transition:transform .9s var(--ed-ease)}@media (hover: hover){.landing .landing-scene:hover .landing-scene-photo img{transform:scale(1.045)}}.ed-reveal .landing-start-free{transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ed-ease) .25s}[dir=rtl] .ed-reveal .landing-start-free{transform-origin:right}.ed-reveal .landing-start-map.is-in .landing-start-free{transform:none}.ed-reveal .landing-start-marker{inset-inline-start:0;transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ed-ease) .5s,inset-inline-start 1.5s cubic-bezier(.34,1.32,.64,1) .95s}.ed-reveal .landing-start-marker>span{display:inline-block;opacity:0;transform:translateY(6px);transition:opacity .4s ease 2.2s,transform .4s var(--ed-ease) 2.2s}.ed-reveal .landing-start-map.is-in .landing-start-marker{transform:none;inset-inline-start:var(--marker-at)}.ed-reveal .landing-start-map.is-in .landing-start-marker>span{opacity:1;transform:none}.landing-start-marker:after{content:"";position:absolute;inset-inline-start:-6.5px;bottom:-5px;width:10px;height:10px;border-radius:50%;background:var(--ed-signal)}.ed-reveal .landing-start-map.is-in .landing-start-marker:after{animation:landing-ping 1.2s ease-out 2.3s 2}.landing-plan{transition:transform .3s var(--ed-ease),box-shadow .3s var(--ed-ease)}@media (hover: hover){.landing .landing-plans-grid>.landing-plan:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px #15141180}}.landing-faq-item summary:after{transition:transform .35s var(--ed-ease),background-color .2s ease,border-color .2s ease,color .2s ease}.landing-faq-item[open] summary:after{transform:rotate(180deg)}.landing-faq-item[open]>p{animation:landing-faq-open .45s var(--ed-ease)}@media (hover: hover){.landing-faq-item summary:hover:after{border-color:var(--ed-ink)}}.landing-poster-word{animation:landing-drift 9s ease-in-out infinite alternate}@media (max-width: 959px){.landing-hero{grid-template-columns:minmax(0,1fr);gap:36px}.landing-hero-photo img{aspect-ratio:16 / 9;max-height:none;border-radius:16px}.landing-hero-line{position:relative;inset-inline-start:auto;bottom:auto;max-width:none;margin:-28px 14px 0}.landing-freq,.landing-lens-grid,.landing-try-grid,.landing-start-grid,.landing-plans-grid,.landing-faq-grid{grid-template-columns:minmax(0,1fr)}.landing-try-grid>.ed-demo-card{justify-self:stretch;max-width:none}.landing-start-grid>div:first-child{grid-row:auto}.landing-faq-grid>.ed-h2,.landing-lens-copy{position:static}.landing-life-grid{grid-template-columns:1fr 1fr}.landing-scene.is-work{grid-column:1 / -1;grid-row:auto}.landing-scene.is-reading,.landing-scene.is-goal{grid-column:auto;grid-row:auto;margin-top:0}}@media (max-width: 600px){.landing-life-grid{grid-template-columns:minmax(0,1fr)}.landing-hero-actions .ed-btn{width:100%}.landing-faq-item p{padding-inline-end:0}.landing-start-map{--marker-at: 38%}}.not-found-page{max-width:520px;margin:clamp(24px,6vw,72px) auto;padding:clamp(28px,5vw,48px);border-radius:22px;border:1px solid var(--ed-line);background:var(--ed-paper-raised);text-align:center}.not-found-code{display:block;font-family:var(--serif);font-size:clamp(4rem,3rem + 4vw,6rem);font-weight:600;font-style:italic;line-height:1;color:var(--ed-signal)}.not-found-page h1{margin:12px 0 8px;font-family:var(--font-display);font-weight:800;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);letter-spacing:-.03em;color:var(--ed-ink)}.not-found-page p{margin:0 0 24px;color:var(--ed-ink-2);line-height:1.55}.not-found-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.not-found-cta{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:999px;background:var(--ed-signal-deep);color:var(--ed-on-signal);font-weight:700;text-decoration:none}.not-found-cta:hover{background:var(--ed-signal-deep-hover);color:var(--ed-on-signal)}.legal-page{max-width:720px;margin:0 auto;padding-block:clamp(16px,3vw,40px);color:var(--ed-ink-2);font-size:1.0625rem;line-height:1.65}.legal-page h1{margin-bottom:1.75rem;font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,1.3rem + 2.6vw,3.25rem);line-height:1.04;letter-spacing:-.035em;color:var(--ed-ink)}.legal-page h2{margin:2.25rem 0 .75rem;padding-top:1.25rem;border-top:1px solid var(--ed-line);font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:-.02em;color:var(--ed-ink)}.legal-page p{margin:0 0 1rem}.legal-page ul{margin:0 0 1rem;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.legal-page li{position:relative;padding-left:1.25rem}.legal-page li:before{content:"";position:absolute;left:0;top:.45em;width:3px;height:.9em;border-radius:2px;background:var(--ed-signal)}.legal-page strong{color:var(--ed-ink)}.legal-page a{color:var(--ed-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--ed-signal);text-underline-offset:.2em}.legal-reviewer-note{display:block;margin:0 0 1rem;padding:.75rem 1rem;border-left:3px solid var(--ed-signal);border-radius:0 var(--ed-radius-sm) var(--ed-radius-sm) 0;background:var(--ed-signal-wash);color:var(--ed-ink);font-size:.9375rem}.ed-auth{min-height:calc(100vh - 64px)}.ed-auth-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start;padding-block:clamp(32px,6vw,80px)}.ed-auth-grid.is-plain{grid-template-columns:minmax(0,1fr);justify-items:center}.ed-auth-main{display:grid;gap:28px;max-width:520px;padding:clamp(24px,3.5vw,44px);border-radius:22px;background:var(--ed-paper-raised);border:1px solid var(--ed-line)}.ed-auth-aside{position:sticky;top:96px}.ed-auth-context{display:grid;gap:14px;max-width:440px;color:var(--ed-ink-2);font-size:1.0625rem;line-height:1.55}.ed-auth-context-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.25rem);line-height:1.1;letter-spacing:-.025em;color:var(--ed-ink)}.ed-auth-context.is-default{gap:22px}.ed-auth-photo img{display:block;width:100%;height:auto;aspect-ratio:4 / 5;max-height:460px;object-fit:cover;border-radius:var(--ed-radius);background:var(--ed-paper-sunk)}.ed-auth-context-copy{display:grid;gap:10px}.ed-auth .auth-form{gap:18px}.ed-auth .auth-form .form-group label{font-size:.875rem;font-weight:700;color:var(--ed-ink)}.ed-auth .auth-form .form-group input,.ed-auth .auth-form .form-group select,.ed-auth .auth-form .form-group textarea{min-height:52px;padding:0 16px;border:1.5px solid var(--ed-line-strong);border-radius:var(--ed-radius-sm);background-color:var(--ed-paper);color:var(--ed-ink);font-size:1rem}.ed-auth .auth-form .form-group select{padding-inline-end:44px}.ed-auth .auth-form .form-group input:focus,.ed-auth .auth-form .form-group select:focus,.ed-auth .auth-form .form-group textarea:focus{border-color:var(--ed-ink);box-shadow:0 0 0 3px var(--ed-signal-wash);background-color:var(--ed-paper)}.ed-auth .auth-form .form-group textarea{min-height:140px;padding:14px 16px;line-height:1.5}.ed-auth-password{position:relative}.ed-auth .ed-auth-password input{width:100%;padding-inline-end:104px}.ed-auth .auth-form .ed-auth-reveal{position:absolute;top:50%;inset-inline-end:6px;transform:translateY(-50%);min-height:40px;padding:0 12px;border:0;border-radius:8px;background:transparent;margin:0;color:var(--ed-muted);box-shadow:none;font:inherit;font-size:.875rem;font-weight:700;cursor:pointer}.ed-auth .auth-form .ed-auth-reveal:hover{color:var(--ed-ink);background:var(--ed-paper-sunk);box-shadow:none;transform:translateY(-50%)}.ed-auth .auth-hint{color:var(--ed-muted);font-size:.875rem}.ed-auth .auth-consent{color:var(--ed-ink-2)}.ed-auth .auth-consent a,.ed-auth .auth-footer a{color:inherit;font-weight:700;text-decoration:underline;text-decoration-color:var(--ed-signal);text-decoration-thickness:1.5px;text-underline-offset:.2em}.ed-auth .auth-form button[type=submit]{min-height:52px;border:0;border-radius:999px;background:var(--ed-signal-deep);color:var(--ed-on-signal);box-shadow:none;font-size:1rem;font-weight:700}.ed-auth .auth-form button[type=submit]:hover:not(:disabled){background:var(--ed-signal-deep-hover);transform:none}.ed-auth .auth-form button[type=submit]:disabled{opacity:.55}.ed-auth .auth-error{border-radius:var(--ed-radius-sm)}.ed-auth .auth-footer{margin:0;color:var(--ed-ink-2)}@media (max-width: 959px){.ed-auth-grid{grid-template-columns:minmax(0,1fr);gap:20px}.ed-auth-aside{position:static}.ed-auth-photo{display:none}.ed-auth-context{max-width:none;font-size:1rem}.ed-auth-context-title{font-size:1.25rem}.ed-auth-main{max-width:none}}@media (max-width: 480px){.ed-auth-main{padding:22px 18px;border-radius:18px}}.auth-page{max-width:420px;margin:2rem auto;padding:2.25rem;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.auth-page h1{margin-bottom:1.75rem;font-size:1.75rem;font-weight:700;letter-spacing:-.045em}.auth-form{display:flex;flex-direction:column;gap:1.1rem}.auth-form .form-group{display:flex;flex-direction:column;gap:.4rem}.auth-form .form-group label{font-size:.85rem;font-weight:600;color:var(--text-2)}.auth-form .form-group input,.auth-form .form-group textarea,.auth-form .form-group select{padding:.7rem .85rem;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--field);color:var(--text);font-size:1rem;font-family:inherit;resize:vertical;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.auth-form .form-group input::placeholder,.auth-form .form-group textarea::placeholder{color:var(--text-3)}.auth-form .form-group input:focus,.auth-form .form-group textarea:focus,.auth-form .form-group select:focus{outline:none;border-color:var(--accent);background:var(--field);box-shadow:0 0 0 3px var(--accent-soft)}.auth-form .form-group select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-inline-end:2.5rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23b45309' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center}[dir=rtl] .auth-form .form-group select{background-position:left .9rem center}:root[data-theme=dark] .auth-form .form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23e0913a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.auth-form .form-group select:hover{border-color:var(--border-strong)}.auth-form .form-group select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--text)}.auth-hint{font-size:.8rem;color:var(--text-2);line-height:1.4;margin:-.35rem 0 0}.auth-consent{display:flex;align-items:flex-start;gap:.55rem;font-size:.85rem;color:var(--text-2);line-height:1.4;cursor:pointer}.auth-consent input[type=checkbox]{margin-top:.2rem;accent-color:var(--accent);flex-shrink:0}.auth-consent a{color:var(--accent-2);text-decoration:none;font-weight:600}.auth-consent a:hover{color:var(--accent)}.auth-form button{padding:.8rem 1rem;margin-top:.5rem;border:none;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-weight:600;font-size:1rem;cursor:pointer;transition:background var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast);box-shadow:var(--glow-sm)}.auth-form button:hover:not(:disabled){background:var(--accent-2);transform:translateY(-1px);box-shadow:var(--glow)}.auth-form button:active:not(:disabled){transform:translateY(0)}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.auth-intro{color:var(--text-2);font-size:.92rem;margin-bottom:.25rem}.auth-success{padding:.75rem .9rem;border-radius:var(--r-sm);background:var(--success-soft);border:1px solid color-mix(in srgb,var(--success) 35%,transparent);color:var(--success);font-size:.92rem}.auth-error{padding:.75rem .9rem;border-radius:var(--r-sm);background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger);font-size:.9rem}.auth-footer{margin-top:1.5rem;text-align:center;color:var(--text-2);font-size:.92rem}.auth-footer a{color:var(--accent-2);text-decoration:none;font-weight:600}.auth-footer a:hover{color:var(--accent)}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:color-mix(in srgb,var(--bg) 55%,black 25%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tour-modal{position:relative;width:100%;max-width:420px;padding:2rem 1.75rem 1.75rem;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);text-align:center}.tour-skip{position:absolute;top:.85rem;right:1rem;padding:0;border:none;background:none;color:var(--text-3);font-size:.8rem;cursor:pointer}.tour-skip:hover{color:var(--text-2)}.tour-dots{display:flex;justify-content:center;gap:.4rem;margin-bottom:1.25rem}.tour-dot{width:7px;height:7px;border-radius:var(--r-full);background:var(--border-strong)}.tour-dot-active{background:var(--accent)}.tour-modal h2{font-size:1.25rem;margin-bottom:.6rem}.tour-modal p{color:var(--text-2);font-size:.95rem;line-height:1.55;margin-bottom:1.75rem}.tour-nav{display:flex;justify-content:center;gap:.75rem}.tour-back,.tour-next{padding:.65rem 1.4rem;border-radius:var(--r-sm);font-weight:600;font-size:.92rem;cursor:pointer}.tour-back{border:1px solid var(--border-2);background:var(--surface-2);color:var(--text)}.tour-next{border:none;background:var(--accent);color:var(--on-accent);box-shadow:var(--glow-sm)}.tour-next:hover{background:var(--accent-2)}.learn-page{max-width:920px;margin:0 auto}.learn-page h1{font-size:2.15rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.045em}.learn-intro{color:var(--text-2);margin-bottom:1.75rem;line-height:1.6;max-width:56ch}.learn-loading,.learn-error,.learn-empty{padding:1rem 0;color:var(--text-2)}.streak-strip{display:flex;align-items:center;gap:1rem;padding:.85rem 1.15rem;margin-bottom:1.25rem;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-md)}.streak-strip-fire{flex:0 0 auto;font-size:1.5rem;font-weight:700;color:var(--warning);font-variant-numeric:tabular-nums}.streak-strip-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.35rem}.streak-strip-label{font-size:.85rem;color:var(--text-2)}.streak-strip-track{height:.4rem;border-radius:var(--r-full);background:var(--overlay);overflow:hidden}.streak-strip-fill{height:100%;background:var(--accent);border-radius:var(--r-full);transition:width var(--t-fast)}.learn-error{color:var(--danger)}.learn-breadcrumb{margin-bottom:1.25rem;font-size:.88rem;color:var(--text-3);display:flex;align-items:center}.learn-breadcrumb a{color:var(--text-2);text-decoration:none;transition:color var(--t-fast)}.learn-breadcrumb a:hover{color:var(--accent-2)}.learn-breadcrumb-sep{margin:0 .5rem;color:var(--text-3)}.learn-levels-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}.learn-level-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:1.35rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:var(--shadow-sm);transition:transform var(--t),border-color var(--t),box-shadow var(--t)}.learn-level-card:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.learn-level-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.learn-level-number{font-weight:700;font-size:1.1rem}.learn-level-range{font-size:.82rem;color:var(--text-3);font-variant-numeric:tabular-nums}.learn-level-due{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:var(--r-full);background:var(--warning-soft);color:var(--warning);font-variant-numeric:tabular-nums;white-space:nowrap}.learn-level-progress{position:relative;height:8px;background:var(--surface-3);border-radius:var(--r-full);overflow:hidden}.learn-level-progress-bar{position:absolute;inset:0 auto 0 0;background:var(--accent-grad);border-radius:var(--r-full);transition:width .4s cubic-bezier(.4,0,.2,1)}.learn-level-progress-text{font-size:.78rem;color:var(--text-2);display:block;font-variant-numeric:tabular-nums}.learn-level-actions{display:flex;gap:.5rem;flex-wrap:wrap}.learn-level-actions-top{margin-bottom:1.75rem}.learn-level-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.05rem;border-radius:var(--r-sm);font-size:.9rem;font-weight:600;text-decoration:none;transition:transform var(--t-fast),background var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast);border:1px solid transparent;cursor:pointer;font-family:inherit;line-height:1.1}.learn-level-link:active{transform:translateY(1px)}.learn-level-link-secondary{background:var(--overlay);color:var(--text);border-color:var(--border-2)}.learn-level-link-secondary:hover{background:var(--surface-3);border-color:var(--border-strong)}.learn-level-link-primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--glow-sm)}.learn-level-link-primary:hover{background:var(--accent-2);box-shadow:var(--glow)}.learn-level-link-difficult{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.learn-level-link-difficult:hover{background:color-mix(in srgb,var(--warning) 30%,transparent)}.learn-level-link-review{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.learn-level-link-review:hover{background:color-mix(in srgb,var(--success) 28%,transparent)}.learn-words-table-wrap{overflow-x:auto;margin:1.5rem 0;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.learn-words-table{width:100%;border-collapse:collapse;font-size:.9rem}.learn-words-table th,.learn-words-table td{padding:.7rem .85rem;text-align:left;border-bottom:1px solid var(--border)}.learn-words-table tbody tr:last-child td{border-bottom:none}.learn-words-table th{background:var(--overlay);color:var(--text-2);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}.learn-words-table tbody tr{transition:background var(--t-fast)}.learn-words-table tbody tr:hover{background:var(--overlay)}@media (max-width: 640px){.learn-words-table-wrap{overflow-x:visible;border:none;background:none;box-shadow:none}.learn-words-table,.learn-words-table tbody,.learn-words-table tr,.learn-words-table td{display:block;width:100%}.learn-words-table thead{display:none}.learn-words-table tr{margin-bottom:.75rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm)}.learn-words-table tbody tr:last-child td{border-bottom:none}.learn-words-table td{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;text-align:right}.learn-words-table td:before{content:attr(data-label);flex:0 0 auto;font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);text-align:left;white-space:nowrap}}.learn-word-image{width:1px}.learn-word-thumb{display:block;width:56px;height:56px;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--overlay)}.learn-word-thumb-empty{color:var(--text-2)}@media (max-width: 720px){.learn-word-image{width:auto;align-items:center}.learn-word-thumb{width:72px;height:72px}}.learn-word-cell{font-weight:600;overflow-wrap:break-word;min-width:0}.learn-word-link{color:inherit;text-decoration:none;overflow-wrap:break-word;transition:color var(--t-fast)}.learn-word-link:hover{color:var(--accent-2);text-decoration:underline}.learn-transcription{font-style:italic;color:var(--text-2)}.learn-translation{color:var(--text)}.learn-word-row-learned .learn-word-cell{color:var(--success)}.learn-word-row-difficult .learn-word-cell{color:var(--warning)}.learn-word-row-difficult{background:var(--warning-soft)}.learn-word-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.5rem;vertical-align:middle}.learn-word-dot-learned{background:var(--success);box-shadow:0 0 8px color-mix(in srgb,var(--success) 60%,transparent)}.learn-word-dot-difficult{background:var(--warning);box-shadow:0 0 8px color-mix(in srgb,var(--warning) 60%,transparent)}.learn-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:var(--r-full);font-size:.72rem;font-weight:600;letter-spacing:.01em}.learn-badge-learned{background:var(--success-soft);color:var(--success)}.learn-badge-difficult{background:var(--warning-soft);color:var(--warning)}.learn-badge-neutral{background:var(--overlay);color:var(--text-3);border:1px solid var(--border-2);min-width:3.5rem;justify-content:center}.learn-badge-dash{display:block;width:.8em;height:1.5em;background:linear-gradient(currentColor,currentColor) center / 100% 2px no-repeat}.learn-frequency-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:var(--r-full);font-size:.72rem;font-weight:600;letter-spacing:.01em;background:var(--accent-soft);color:var(--accent-press)}.learn-session{max-width:600px}.learn-session-mode-label{margin:0 0 1rem;font-size:.85rem;padding:.45rem .85rem;border-radius:var(--r-full);font-weight:600;display:inline-block;background:var(--accent-soft);color:var(--accent-2);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.learn-session-mode-label-difficult{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.learn-session-mode-label-review{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.learn-session-progress{font-size:.88rem;color:var(--text-2);margin-bottom:1.5rem}.learn-page .learn-session-progress-heading{margin:0 0 .6rem;font:inherit;font-weight:500;letter-spacing:inherit;color:var(--text)}.learn-session-progress-count{margin-inline-start:.4rem;color:var(--text-3)}.learn-session-position-wrap{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.learn-session-position-track{flex:1;height:8px;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden}.learn-session-position-bar{height:100%;border-radius:var(--r-full);background:var(--accent-grad);transition:width .4s cubic-bezier(.4,0,.2,1)}.learn-session-position-pct{font-size:.82rem;font-weight:600;color:var(--text-2);min-width:2.5rem;text-align:right;font-variant-numeric:tabular-nums}.learn-session-progress-bar-wrap{display:flex;height:10px;border-radius:var(--r-full);overflow:hidden;background:var(--surface-3);margin-bottom:.6rem}.learn-session-progress-bar{height:100%;min-width:0;transition:width .4s cubic-bezier(.4,0,.2,1)}.learn-session-progress-bar-learned{background:var(--success)}.learn-session-progress-bar-difficult{background:var(--warning)}.learn-session-progress-bar-remaining{background:var(--surface-3)}.learn-session-stats{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--text-2);font-variant-numeric:tabular-nums}.learn-session-stat-learned{color:var(--success)}.learn-session-stat-difficult{color:var(--warning)}.learn-session-stat-remaining{color:var(--text-3)}.learn-session-card{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border-2);border-radius:var(--r-lg);padding:2.25rem;margin-bottom:1.5rem;position:relative;box-shadow:var(--elev-2, var(--shadow-lg));overflow:hidden;animation:card-shutter .28s ease both}@keyframes card-shutter{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@media (prefers-reduced-motion: reduce){.learn-session-card{animation:none}}.learn-choice-option.is-correct{animation:match-settle .28s cubic-bezier(.22,1,.36,1)}@keyframes match-settle{0%{transform:scale(.92)}60%{transform:scale(1.03)}to{transform:scale(1)}}.learn-session-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--accent-grad);opacity:.8}.learn-session-card-learned:before{background:var(--success)}.learn-session-card-difficult:before{background:var(--warning)}.learn-session-card-marker{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.learn-session-nav-row{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.learn-session-nav-btn{padding:.45rem .9rem;font-size:.85rem;font-weight:500;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--overlay);color:var(--text-2);cursor:pointer;font-family:inherit;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.learn-session-nav-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text);border-color:var(--border-strong)}.learn-session-nav-btn:disabled{opacity:.35;cursor:not-allowed}.learn-session-word{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:1.5rem;min-width:0}.learn-listen-hint{flex:1 1 14rem;margin:0;font-size:.875rem;line-height:1.45;color:var(--text-2)}.learn-session-word-text{flex:1 0 100%;min-width:0;max-width:100%;font-size:2.5rem;font-weight:700;letter-spacing:-.015em;line-height:1.15;font-optical-sizing:auto;overflow-wrap:break-word}.learn-session-word-text,.word-detail-word,.word-search-word,.learn-word-link,.learn-family-word,.learn-session-missed-word{font-family:var(--serif)}.learn-session-transcription{font-size:1.1rem;font-style:italic;color:var(--text-2);overflow-wrap:break-word;min-width:0}.learn-session-translation{font-size:1.2rem;line-height:1.5;color:var(--text);margin-bottom:1.5rem;padding:1rem 1.15rem;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-md)}.learn-session-example{font-family:var(--serif);font-style:italic;font-size:1rem;line-height:1.5;color:var(--text-2);margin-bottom:1.5rem}.learn-session-reveal{display:block;width:100%;padding:.85rem 1.5rem;margin-bottom:1.25rem;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--overlay);color:var(--text);font-family:inherit;font-size:.98rem;font-weight:600;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.learn-session-reveal:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent-press)}.learn-hint-nudge{font-size:.82rem;color:var(--warning);margin-bottom:.5rem}.learn-session-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.85rem}.learn-session-btn{flex:1;min-width:8rem;padding:.85rem 1.5rem;font-size:1rem;border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;font-weight:600;transition:transform var(--t-fast),background var(--t-fast),box-shadow var(--t-fast);font-family:inherit}.learn-session-btn:hover{transform:translateY(-2px)}.learn-session-btn:active{transform:translateY(0)}.learn-session-btn-difficult{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.learn-session-btn-difficult:hover{background:color-mix(in srgb,var(--warning) 28%,transparent)}.learn-session-btn-learned{background:var(--success);color:var(--success-ink);box-shadow:0 4px 14px #34d3994d}.learn-session-btn-learned:hover{background:var(--success-2);box-shadow:0 8px 24px #34d39966}.learn-session-btn-easy{background:var(--accent-soft);color:var(--accent-2);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.learn-session-btn-easy:hover{background:color-mix(in srgb,var(--accent) 28%,transparent)}.learn-session-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.learn-session-shortcuts{margin-top:.9rem;font-size:.78rem;color:var(--text-3);text-align:center}.learn-session-modes{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.learn-session-mode-pill{flex:0 0 auto;white-space:nowrap;padding:.35rem .8rem;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:.82rem;font-weight:600;text-decoration:none;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.learn-session-mode-pill:hover{color:var(--text);border-color:var(--border-strong)}.learn-session-mode-pill.is-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.learn-session-summary{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;margin-bottom:1.5rem;font-size:.95rem;font-variant-numeric:tabular-nums}.learn-session-summary-label{color:var(--text-3);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.learn-session-session-chip{margin-left:.5rem;padding:.1rem .5rem;border-radius:var(--r-full);background:var(--success-soft);color:var(--success);font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}.learn-session-done{text-align:center;padding:2.5rem 2rem;background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-md)}.learn-session-done h2{margin-bottom:.5rem;font-size:1.5rem;color:var(--success)}.learn-session-done p{color:var(--text-2);margin-bottom:1.5rem}.learn-session-missed{margin-bottom:1.5rem}.learn-session-missed-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.6rem;padding:0;list-style:none}.learn-session-missed-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.4rem .75rem;border-radius:var(--r-md);background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);color:var(--text);text-decoration:none;transition:background var(--t-fast),border-color var(--t-fast)}.learn-session-missed-chip:hover{background:color-mix(in srgb,var(--warning-soft) 70%,var(--warning) 15%)}.learn-session-missed-word{font-family:var(--serif);font-weight:600;font-size:.95rem}.learn-session-missed-translation{font-size:.78rem;color:var(--text-2)}.learn-session-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.learn-speak-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;padding:0;font-size:1.75rem;line-height:1;color:var(--text);background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r-full);cursor:pointer;transition:color var(--t-fast),background var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.learn-speak-btn:hover{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.learn-speak-btn:active{transform:scale(.94)}.learn-session-image{margin-top:1.25rem;margin-bottom:1.25rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;justify-content:center}.learn-session-image img{max-width:220px;max-height:220px;border-radius:.75rem;object-fit:cover}.learn-session-image-picture{margin-top:0;padding-top:0;border-top:none}.learn-session-image-picture img{max-width:320px;max-height:320px}.learn-mnemonic{margin-top:1rem;margin-bottom:1rem;padding-top:1rem;border-top:1px solid var(--border)}.learn-mnemonic-text{color:var(--text-2);font-size:.92rem;font-style:italic;margin-bottom:.5rem}.learn-mnemonic-input{width:100%;resize:vertical;padding:.6rem .8rem;border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--field);color:var(--text);font-family:inherit;font-size:.92rem;margin-bottom:.5rem}.learn-mnemonic-input:focus{outline:none;border-color:var(--accent)}.learn-mnemonic-actions{display:flex;gap:.5rem;flex-wrap:wrap}.learn-mnemonic-btn{padding:.4rem .8rem;border-radius:var(--r-full);border:1px solid var(--border-2);background:var(--overlay);color:var(--text-2);font-size:.82rem;cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast)}.learn-mnemonic-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.learn-mnemonic-btn:disabled{opacity:.6;cursor:default}.learn-mnemonic-btn.is-active{border-color:var(--accent);color:var(--text);background:var(--accent-soft, var(--overlay))}.learn-shadow-controls{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:1.25rem}.learn-shadow-note{color:var(--text-2);font-size:.85rem;margin:0}.learn-shadow-felt{display:flex;gap:.5rem;justify-content:center;margin-top:.75rem}.learn-family{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.learn-family-heading{margin:0 0 .5rem;font-size:.82rem;color:var(--text-2);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.learn-family-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.learn-family-item{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.learn-family-word{font-weight:600;overflow-wrap:break-word}.learn-family-tr{color:var(--text-3);font-style:italic;font-size:.85rem}.learn-family-translation{color:var(--text-2);font-size:.92rem}.learn-family-type{color:var(--text-3);font-size:.85rem}.learn-family-type+.learn-family-translation:before{content:"·";margin-right:.45rem;color:var(--text-3)}.learn-typing-form{display:flex;gap:.6rem;justify-content:center;margin-top:1.25rem;flex-wrap:wrap}.learn-level-card-locked{opacity:.7}.learn-level-card-locked .learn-level-progress-bar{background:var(--border-strong)}.learn-undo-bar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.learn-undo-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border:1px solid var(--border-2);border-radius:var(--r-full);background:var(--surface-2);color:var(--text-2);font-size:.85rem;font-weight:600;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.learn-undo-btn:hover{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.learn-cloze-sentence{font-family:var(--serif);font-size:1.4rem;line-height:1.6;color:var(--text);margin-bottom:.75rem}.learn-cloze-sentence-loading{color:var(--text-3)}.learn-cloze-empty{text-align:center}.learn-typing-input{flex:1 1 14rem;min-width:0;padding:.7rem .9rem;border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--field);color:var(--text);font-size:1.1rem;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.learn-typing-form>.learn-session-btn{flex:0 0 auto}.learn-typing-input::placeholder{color:var(--text-3)}.learn-typing-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.learn-typing-input:disabled{opacity:.7}.learn-writing-form{display:flex;flex-direction:column;gap:.6rem;margin-top:1.25rem}.learn-writing-input{padding:.7rem .9rem;border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--field);color:var(--text);font-size:1rem;font-family:inherit;resize:vertical;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.learn-writing-input::placeholder{color:var(--text-3)}.learn-writing-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.learn-writing-input:disabled{opacity:.7}.learn-typing-feedback{margin-top:1.1rem;font-size:1.15rem;font-weight:600;display:flex;align-items:center;gap:.4rem}.learn-typing-feedback-correct{color:var(--success)}.learn-typing-feedback-incorrect{color:var(--danger)}.learn-choice-options{display:grid;gap:.6rem;margin-bottom:1rem}.learn-choice-option{display:flex;align-items:center;gap:.75rem;text-align:left;padding:.85rem 1.1rem;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font-size:1rem;font-family:inherit;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.learn-choice-option:hover:not(:disabled){border-color:var(--accent)}.learn-choice-option:disabled{cursor:default}.learn-choice-option.is-correct{border-color:var(--success);background:var(--success-soft);color:var(--success)}.learn-choice-option.is-wrong{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.learn-choice-key{flex:0 0 auto;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);background:var(--overlay);font-size:.8rem;font-weight:700;color:var(--text-2)}.learn-match-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1rem;margin-bottom:1.25rem}.learn-match-col{display:flex;flex-direction:column;gap:.6rem}.learn-match-item{padding:.7rem .9rem;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font-size:.95rem;font-family:inherit;text-align:left;cursor:pointer;overflow-wrap:break-word;min-width:0;transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast)}.learn-match-item:hover:not(:disabled){border-color:var(--accent)}.learn-match-item:disabled{cursor:default}.learn-match-item.is-selected{border-color:var(--accent);background:var(--accent-soft)}.learn-match-item.is-matched{border-color:var(--success);background:var(--success-soft);color:var(--success)}.learn-match-item.is-wrong{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.learn-recall-instructions{color:var(--text-2);font-size:.9rem;margin-bottom:1rem}.learn-recall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem;margin-bottom:1.25rem}.learn-recall-item{display:flex;flex-direction:column;gap:.4rem;padding:.7rem .9rem;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface-2)}.learn-recall-item.is-correct{border-color:var(--success);background:var(--success-soft)}.learn-recall-item.is-wrong{border-color:var(--danger);background:var(--danger-soft)}.learn-recall-translation{color:var(--text-2);font-size:.9rem}.learn-recall-input{padding:.5rem .7rem;border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--field);color:var(--text);font-size:1rem}.learn-recall-input:focus{outline:none;border-color:var(--accent)}.learn-recall-answer{color:var(--danger);font-size:.85rem;font-family:var(--serif)}.learn-listen-btn{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:var(--r-full);width:3.5rem;height:3.5rem;font-size:2rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--t-fast)}.learn-listen-btn:hover{transform:scale(1.05)}.word-search{position:relative;margin-bottom:1.5rem;max-width:520px}.word-search-input{width:100%;padding:.7rem 1rem;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font-size:.95rem;font-family:inherit}.word-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.word-search-results{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);max-height:360px;overflow-y:auto}.word-search-empty{padding:.85rem 1rem;color:var(--text-3);font-size:.9rem}.word-search-item{display:flex;align-items:baseline;gap:.75rem;padding:.6rem 1rem;text-decoration:none;color:var(--text);border-bottom:1px solid var(--border)}.word-search-item:last-child{border-bottom:none}.word-search-item:hover{background:var(--overlay)}.word-search-word{font-weight:600}.word-search-translation{flex:1;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.word-search-rank{color:var(--text-3);font-size:.8rem;font-variant-numeric:tabular-nums}.favorite-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;font-size:1.4rem;line-height:1;color:var(--text-3);min-width:2.75rem;min-height:2.75rem;padding:.2rem .35rem;transition:color var(--t-fast),transform var(--t-fast)}.favorite-btn:hover{color:var(--warning);transform:scale(1.1)}.favorite-btn.is-active{color:var(--warning)}.favorites-list{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-direction:column;gap:.5rem}.daily-badge{flex-shrink:0;padding:.2rem .6rem;border-radius:var(--r-full);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.daily-badge-due{background:var(--accent-soft);color:var(--accent-press)}.daily-badge-new{background:var(--success-soft);color:var(--success)}.trouble-lapses{flex-shrink:0;padding:.2rem .5rem;border-radius:var(--r-full);background:var(--danger-soft);color:var(--danger);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}.favorites-item{display:flex;align-items:center;gap:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:.6rem 1rem}.favorites-word{flex:1;display:flex;align-items:baseline;gap:.75rem;text-decoration:none;color:var(--text);min-width:0}.favorites-word-text{font-weight:600;font-size:1.05rem}.favorites-tr{color:var(--text-3);font-style:italic;font-size:.85rem}.favorites-translation{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorites-word:hover .favorites-word-text{color:var(--accent-2)}.favorites-remove{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--warning);font-size:1.3rem;line-height:1;padding:.2rem .4rem}.word-detail-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.25rem;min-width:0}.word-detail-word{margin:0;font-size:2.4rem;flex:1;min-width:0;overflow-wrap:break-word;line-height:1.15}.word-detail-image{margin-bottom:.75rem}.word-detail-image img{max-width:260px;max-height:260px;border-radius:.75rem;object-fit:cover}.word-detail-tr{color:var(--text-2);font-style:italic;font-size:1.15rem;margin:0 0 .5rem}.word-detail-translation{font-size:1.2rem;color:var(--text);margin:0 0 1.25rem}.word-detail-report{margin:-.75rem 0 1.25rem}.word-detail-report-toggle{padding:0;border:none;background:none;color:var(--text-3);font-size:.82rem;text-decoration:underline;cursor:pointer}.word-detail-report-toggle:hover{color:var(--text-2)}.word-detail-report-form{display:flex;flex-direction:column;gap:.5rem;max-width:420px}.word-detail-report-form textarea{padding:.6rem .75rem;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--field);color:var(--text);font-family:inherit;font-size:.9rem;resize:vertical}.word-detail-report-form button{align-self:flex-start;padding:.5rem 1rem;border:none;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-weight:600;font-size:.88rem;cursor:pointer}.word-detail-report-form button:disabled{opacity:.6;cursor:not-allowed}.word-detail-report-sent{color:var(--success);font-size:.85rem;margin:0}.word-detail-bands{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}.word-detail-band{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border:1px solid var(--border-2);border-radius:var(--r-full);background:var(--accent-soft);color:var(--text-2);font-size:.78rem;font-weight:600}.word-detail-band-value{color:var(--accent-press);font-variant-numeric:tabular-nums}.word-detail-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.5rem}.word-detail-forms{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem 1.5rem}.word-detail-forms-title{margin:0 0 .75rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2)}.word-detail-form{padding:.5rem 0;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center}.word-detail-form .learn-speak-btn{width:2.5rem;height:2.5rem;font-size:1.5rem}.word-detail-form:last-child{border-bottom:none}.word-detail-form-type{font-weight:600}.word-detail-form-tag{font-size:.72rem;font-weight:600;text-transform:lowercase;letter-spacing:.01em;color:var(--text-2);background:var(--overlay);border-radius:999px;padding:.1rem .45rem;white-space:nowrap}.word-detail-form-tr{color:var(--text-3);font-style:italic;font-size:.9rem}.word-detail-form-ex{flex-basis:100%;color:var(--text-2);font-style:italic;font-size:.92rem}.leaderboard-cta{margin:1.25rem 0;padding:1rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}.leaderboard-list{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-direction:column;gap:.4rem}.leaderboard-item{display:flex;align-items:center;gap:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:.55rem 1rem}.leaderboard-item.is-you{border-color:var(--accent);background:var(--accent-soft)}.leaderboard-rank{flex-shrink:0;width:2.5rem;font-weight:700;color:var(--text-2);font-variant-numeric:tabular-nums}.leaderboard-name{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-count{flex-shrink:0;color:var(--text-2);font-size:.88rem}.leaderboard-your-rank{margin-top:1rem;font-weight:600;color:var(--text-2)}.learn-session-error{margin:1.5rem auto;max-width:32rem;padding:1rem 1.25rem;border:1px solid var(--danger, #c0562f);border-radius:var(--r-md);background:var(--surface);text-align:center}.learn-session-error p{margin:0 0 .75rem;color:var(--text-1)}.learn-session-save-failed{margin:0 auto 1rem;max-width:32rem;padding:.6rem .9rem;border-radius:var(--r-sm);background:var(--overlay);color:var(--text-1);text-align:center;font-size:.9rem}.topic-suggested{align-self:flex-start;padding:.15rem .55rem;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-2);font-size:.75rem;font-weight:600}.learn-session .learn-session-card{background:var(--ed-paper-raised);border:1px solid var(--ed-line);border-radius:22px;box-shadow:none;color:var(--ed-ink)}.learn-session .learn-session-card:before{height:3px;background:var(--ed-signal);opacity:1}.learn-session .learn-session-card-learned:before{background:var(--ed-success)}.learn-session .learn-session-card-difficult:before{background:var(--ed-signal-text)}.learn-session .learn-session-card-marker:empty{display:none}.learn-session .learn-session-word-text{font-family:var(--serif);font-weight:600;letter-spacing:-.015em;color:var(--ed-ink)}.learn-session .learn-session-translation{color:var(--ed-signal-text);font-weight:700}.learn-session .learn-session-reveal{min-height:52px;border:0;border-radius:999px;background:var(--ed-ink);color:var(--ed-paper);font-weight:700}.learn-session .learn-session-reveal:hover{background:var(--ed-ink-2);color:var(--ed-paper)}.learn-session .learn-session-btn{min-height:52px;border-radius:999px;box-shadow:none;font-weight:700}.learn-session .learn-session-btn:hover{transform:none}.learn-session .learn-session-btn-learned{background:var(--ed-success);color:#fffcf6;border-color:var(--ed-success)}.learn-session .learn-session-btn-learned:hover{background:color-mix(in srgb,var(--ed-success) 85%,#000);box-shadow:none}:root[data-theme=dark] .learn-session .learn-session-btn-learned{color:#0c1a11}.learn-session .learn-session-btn-difficult{background:transparent;color:var(--ed-signal-text);border:1.5px solid var(--ed-signal-text)}.learn-session .learn-session-btn-difficult:hover{background:var(--ed-signal-wash)}.learn-session .learn-session-btn-easy{background:transparent;color:var(--ed-ink);border:1.5px solid var(--ed-ink)}.learn-session .learn-session-btn-easy:hover{background:var(--ed-ink);color:var(--ed-paper)}.learn-session .learn-session-nav-btn{min-height:40px;border-radius:999px;border:1.5px solid var(--ed-line);background:transparent;color:var(--ed-ink-2);box-shadow:none}.learn-session .learn-frequency-badge{background:transparent;color:var(--ed-muted);border:0;padding:0;font-weight:700;font-variant-numeric:tabular-nums}.learn-session .learn-frequency-badge:before{content:"";display:inline-block;width:3px;height:1em;margin-inline-end:.45em;vertical-align:-.15em;border-radius:2px;background:var(--ed-signal)}.learn-session .learn-session-shortcuts{color:var(--ed-muted);font-size:.8125rem}.learn-session-modes-wrap{margin-bottom:1.25rem;border-bottom:1px solid var(--ed-line)}.learn-session-modes-wrap>summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:48px;padding-bottom:8px;cursor:pointer;list-style:none;color:var(--ed-ink-2)}.learn-session-modes-wrap>summary::-webkit-details-marker{display:none}.learn-session-modes-current strong{color:var(--ed-ink)}.learn-session-modes-wrap .learn-session-mode-label{margin:0}.learn-session-modes-toggle{margin-inline-start:auto;font-weight:700;color:var(--ed-ink);text-decoration:underline;text-decoration-color:var(--ed-signal);text-decoration-thickness:1.5px;text-underline-offset:.2em}.learn-session-modes-wrap[open] .learn-session-modes-toggle{text-decoration-color:var(--ed-line-strong)}.learn-session-modes-wrap .learn-session-modes{padding:4px 0 14px}.learn-session .learn-session-mode-pill.is-active{background:var(--ed-ink);border-color:var(--ed-ink);color:var(--ed-paper)}.learn-session .learn-session-progress-bar-wrap{position:relative;background:var(--ed-paper-sunk)}.learn-session .learn-session-progress-bar-learned{background:var(--ed-success)}.learn-session .learn-session-progress-bar-difficult{background:var(--ed-signal-text)}.learn-session-progress-now{position:absolute;top:0;bottom:0;width:3px;margin-inline-start:-1.5px;background:var(--ed-ink);z-index:1}.learn-session .learn-session-stat-learned{color:var(--ed-success)}.learn-session .learn-session-stat-difficult{color:var(--ed-signal-text)}.word-detail-page{max-width:760px}.word-detail-page .word-detail-word{font-family:var(--serif);font-weight:600;letter-spacing:-.015em;color:var(--ed-ink)}.word-detail-rank{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:4px 0 10px;color:var(--ed-muted);font-weight:600}.word-detail-rank .word-detail-tr{margin:0;font-weight:400}.word-detail-page .word-detail-translation{font-size:1.375rem;font-weight:700;line-height:1.35;color:var(--ed-signal-text)}.word-detail-page .word-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 10px}.word-detail-method{margin:6px 0 22px}.word-detail-page .word-detail-forms{background:transparent;border:0;border-top:2px solid var(--ed-ink);border-radius:0;box-shadow:none;padding:14px 0 0}.word-detail-page .word-detail-forms-title{font-family:var(--font-sans);font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ed-muted)}.word-detail-page .word-detail-form{border-bottom:1px solid var(--ed-line)}.word-detail-page .word-detail-form-type{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--ed-ink)}.word-detail-page .word-detail-form-ex{font-family:var(--serif);font-style:italic;font-size:1.0625rem;color:var(--ed-ink-2)}.learn-session .learn-session-done{padding:clamp(24px,4vw,40px);border-radius:22px;border:1px solid var(--ed-line);background:var(--ed-paper-raised);color:var(--ed-ink)}.learn-session .learn-session-done h2{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;color:var(--ed-ink)}.learn-session .learn-session-missed-chip{border-radius:999px;border:1.5px solid var(--ed-signal-text);background:transparent}.learn-session .learn-session-missed-word{font-family:var(--serif);font-weight:600}.learn-session .learn-session-done .learn-level-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.learn-page .learn-level-link{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--ed-ink);background:transparent;color:var(--ed-ink);box-shadow:none;font-weight:700;text-decoration:none}.learn-page .learn-level-link:hover{background:var(--ed-ink);color:var(--ed-paper)}.learn-page .learn-level-link-primary{border-color:var(--ed-signal-deep);background:var(--ed-signal-deep);color:var(--ed-on-signal)}.learn-page .learn-level-link-primary:hover{background:var(--ed-signal-deep-hover);border-color:var(--ed-signal-deep-hover);color:var(--ed-on-signal)}.learn-page>h1,.learn-page .learn-page-title{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(2.25rem,1.5rem + 2.6vw,3.5rem);font-weight:800;line-height:1;letter-spacing:-.035em;color:var(--ed-ink)}.learn-page>.ed-kicker{margin:0 0 .6rem}.learn-page .learn-intro{color:var(--ed-ink-2);font-size:1.0625rem}.learn-page .streak-strip{padding:.9rem 0;border:0;border-top:1.5px solid var(--ed-ink);border-bottom:1px solid var(--ed-line);border-radius:0;background:none}.learn-page .streak-strip-fire{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;color:var(--ed-signal-text)}.learn-page .streak-strip-label{color:var(--ed-muted)}.learn-page .streak-strip-track{height:4px;background:var(--ed-paper-sunk)}.learn-page .streak-strip-fill{background:var(--ed-signal)}.learn-page .learn-levels-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2.25rem 2rem}.learn-page .learn-level-card{gap:.7rem;padding:.9rem 0 0;background:none;border:0;border-top:1.5px solid var(--ed-ink);border-radius:0;box-shadow:none}.learn-page .learn-level-card:hover{transform:none;box-shadow:none}.learn-page .learn-level-card:hover .learn-level-number{color:var(--ed-signal-text)}.learn-page .learn-level-number{font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--ed-ink);transition:color .18s var(--ed-ease)}.learn-page .learn-level-range,.learn-page .learn-level-progress-text{color:var(--ed-muted);font-variant-numeric:tabular-nums}.learn-page .learn-level-progress{height:4px;background:var(--ed-paper-sunk)}.learn-page .learn-level-progress-bar{background:var(--ed-success)}.learn-page .learn-level-due{display:inline-flex;align-items:center;gap:.35rem;padding:0;background:none;color:var(--ed-signal-text);font-size:.8rem}.learn-page .learn-level-due:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ed-signal)}.learn-page .learn-level-card .learn-level-actions{align-items:center;gap:.5rem 1.25rem;margin-top:.15rem}.learn-page .learn-level-link-secondary{min-height:0;padding:.35rem 0;border:0;border-radius:0;background:none;color:var(--ed-ink);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-decoration-color:var(--ed-signal);text-underline-offset:.25em}.learn-page .learn-level-link-secondary:hover{background:none;color:var(--ed-signal-text)}.learn-page .learn-level-card .learn-level-link-primary{order:-1;min-height:42px;border-color:var(--ed-ink);background:var(--ed-ink);color:var(--ed-paper)}.learn-page .learn-level-card .learn-level-link-primary:hover{border-color:var(--ed-ink-2);background:var(--ed-ink-2);color:var(--ed-paper)}.learn-page .learn-level-actions-top{align-items:center;gap:.6rem 1.5rem;margin-bottom:2.5rem}.learn-page .learn-level-actions-top .learn-level-link-primary{min-height:46px;font-size:1rem}.learn-page .learn-words-table-wrap{border:0;border-top:1.5px solid var(--ed-ink);border-radius:0;background:none;box-shadow:none}.learn-page .learn-words-table th{background:none;color:var(--ed-muted);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--ed-line-strong)}.learn-page .learn-words-table th:first-child,.learn-page .learn-words-table td:first-child{padding-inline-start:0}.learn-page .learn-word-link{font-family:var(--serif);font-weight:600;color:var(--ed-ink)}.learn-page>.learn-session-modes{gap:0 1.5rem;margin-bottom:0;border-bottom:1px solid var(--ed-line)}.learn-page>.learn-session-modes .learn-session-mode-pill{margin-bottom:-1px;padding:.6rem .1rem;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--ed-muted);font-size:.9375rem}.learn-page>.learn-session-modes .learn-session-mode-pill:hover{color:var(--ed-ink)}.learn-page>.learn-session-modes .learn-session-mode-pill.is-active{border-bottom-color:var(--ed-signal);background:none;color:var(--ed-ink);font-weight:700}.learn-page .leaderboard-list,.learn-page .favorites-list{gap:0;border-top:1.5px solid var(--ed-ink)}.learn-page>.learn-session-modes+.leaderboard-list,.learn-page>.learn-session-modes~.leaderboard-list{border-top:0}.learn-page .leaderboard-item,.learn-page .favorites-item{padding:.85rem 0;border:0;border-bottom:1px solid var(--ed-line);border-radius:0;background:none}.learn-page .leaderboard-rank{width:3rem;font-family:var(--font-display);font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:var(--ed-muted)}.learn-page .leaderboard-item:nth-child(-n+3) .leaderboard-rank{color:var(--ed-ink)}.learn-page .leaderboard-name{font-size:1.0625rem}.learn-page .leaderboard-count{color:var(--ed-muted);font-variant-numeric:tabular-nums}.learn-page .leaderboard-item.is-you{padding-inline:.85rem;background:var(--ed-signal-wash);box-shadow:inset 3px 0 0 var(--ed-signal)}.learn-page .leaderboard-item.is-you .leaderboard-rank,.learn-page .leaderboard-item.is-you .leaderboard-name{color:var(--ed-signal-text)}.learn-page .favorites-word-text{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--ed-ink)}.learn-page .favorites-word:hover .favorites-word-text{color:var(--ed-signal-text)}.learn-page .favorites-translation{color:var(--ed-ink-2)}.learn-page .circles-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem 2rem;margin-bottom:2.75rem}.learn-page .circles-forms .settings-form{margin:0;padding:.9rem 0 0;border:0;border-top:1.5px solid var(--ed-ink);border-radius:0;background:none}.learn-page .circles-forms .settings-subtitle{font-family:var(--font-display);font-size:1.15rem;font-weight:800;letter-spacing:-.02em}.learn-page .circles-forms .settings-actions button{min-height:42px;padding:0 1.25rem;border-radius:999px;background:var(--ed-ink);color:var(--ed-paper);font-weight:700}.learn-page .circles-forms .settings-actions button:disabled{opacity:.35}.learn-page .leaderboard-cta{padding:1rem 0;border-top:1.5px solid var(--ed-ink);border-bottom:1px solid var(--ed-line);border-radius:0;background:none}.learn-page .learn-level-link-difficult,.learn-page .learn-level-link-review{min-height:0;padding:.35rem 0;border:0;border-radius:0;background:none;color:var(--ed-ink);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.25em}.learn-page .learn-level-link-difficult{text-decoration-color:var(--ed-signal)}.learn-page .learn-level-link-review{text-decoration-color:var(--ed-success)}.learn-page .learn-level-link-difficult:hover,.learn-page .learn-level-link-review:hover{background:none;color:var(--ed-signal-text)}.layout--fit .learn-session{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;width:100%}.layout--fit .learn-session .learn-breadcrumb{flex-wrap:wrap;gap:4px 0;margin-bottom:clamp(6px,1.4vh,20px)}.learn-session-exit{margin-inline-start:auto;padding-inline-start:16px;font-weight:600;color:var(--ed-ink);text-decoration:underline;text-decoration-color:var(--ed-signal);text-decoration-thickness:1.5px;text-underline-offset:.2em}.layout--fit .learn-session-modes-wrap{flex:0 0 auto;margin-bottom:clamp(6px,1.4vh,20px)}.layout--fit .learn-session-modes-wrap>summary{min-height:clamp(36px,5vh,48px);padding-bottom:clamp(2px,.6vh,8px)}.layout--fit .learn-session .learn-session-progress{flex:0 0 auto;margin-bottom:clamp(8px,1.8vh,24px)}.layout--fit .learn-session .learn-session-card{flex:0 1 auto;min-height:0;overflow-y:auto;margin-bottom:0;padding:clamp(14px,3vh,36px) clamp(16px,3vw,36px)}.layout--fit .learn-session .learn-session-nav-row{margin-bottom:clamp(6px,1.6vh,24px)}.layout--fit .learn-session .learn-session-word{margin-bottom:clamp(8px,1.8vh,24px)}.layout--fit .learn-session .learn-choice-options{gap:clamp(6px,1vh,12px);margin-bottom:clamp(4px,1vh,16px)}.layout--fit .learn-session .learn-choice-option{padding-top:clamp(8px,1.4vh,16px);padding-bottom:clamp(8px,1.4vh,16px)}.layout--fit .learn-session .learn-session-reveal,.layout--fit .learn-session .learn-session-btn{min-height:clamp(42px,6vh,52px)}@media (max-height: 780px){.layout--fit .learn-session .learn-session-shortcuts{display:none}}@media (max-height: 660px){.layout--fit .learn-session .learn-session-stats{display:none}}@media (max-width: 600px){.layout--fit .learn-session-modes-wrap>summary{flex-wrap:nowrap}.layout--fit .learn-session-modes-wrap .learn-session-mode-label,.layout--fit .learn-session .learn-session-stats{display:none}.layout--fit .learn-session .learn-session-progress-heading{font-size:.875rem}.layout--fit .learn-session .learn-session-nav-btn{min-height:36px;padding:0 12px}}@media (max-width: 600px) and (max-height: 700px){.layout--fit .main-content{padding-top:8px;padding-bottom:8px}.layout--fit .learn-session .learn-breadcrumb,.layout--fit .learn-session-modes-wrap,.layout--fit .learn-session .learn-session-progress{margin-bottom:6px}.layout--fit .learn-session .learn-session-card{padding-top:12px;padding-bottom:12px}.layout--fit .learn-session .learn-choice-options{gap:6px}.layout--fit .learn-session .learn-choice-option{padding-top:6px;padding-bottom:6px;font-size:.9375rem;line-height:1.3}}@media (hover: none),(pointer: coarse){.learn-session-shortcuts{display:none}}@media (max-width: 860px){.learn-session .learn-session-word .learn-session-transcription{order:2}.learn-session .learn-session-word .learn-speak-btn{order:3;margin-inline-start:auto;width:48px;height:48px}.learn-session .learn-session-word .favorite-btn{order:4;width:48px;height:48px}.learn-session .learn-session-buttons{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}.learn-session .learn-session-btn{min-width:0;padding-inline-start:8px;padding-inline-end:8px}}.ed-summary{display:grid;gap:22px;max-width:760px;margin:1rem auto 0;padding:clamp(24px,4vw,44px);border-radius:22px;background:var(--ed-paper-raised);border:1px solid var(--ed-line);color:var(--ed-ink)}.ed-summary .ed-summary-title{margin:0;color:var(--ed-ink);font-family:var(--font-display);font-weight:800;font-size:clamp(1.75rem,1.1rem + 2.2vw,2.75rem);line-height:1.05;letter-spacing:-.035em}.ed-summary-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.ed-summary-tiles div{display:grid;gap:6px;align-content:space-between;padding:14px 16px;border-radius:var(--ed-radius-sm);background:var(--ed-paper);border:1px solid var(--ed-line)}.ed-summary-tiles div.is-again{border-color:var(--ed-signal)}.ed-summary-tiles dt{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ed-muted)}.ed-summary-tiles dd{margin:0;font-family:var(--font-display);font-weight:800;font-size:2rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.ed-summary-group{display:grid;gap:10px}.ed-summary .ed-summary-group h3{margin:0;font-family:var(--font-sans);font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ed-muted)}.ed-summary-words{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.ed-summary-words li{display:inline-flex;align-items:baseline;gap:10px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--ed-line)}.ed-summary-words li.is-again{border-color:var(--ed-signal)}.ed-summary-words .ed-serif{font-size:1.125rem;font-weight:600}.ed-summary-sentence{font-size:1.25rem;line-height:1.45;color:var(--ed-ink-2)}.ed-summary-sentence mark{background:none;color:var(--ed-ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--ed-signal);text-decoration-thickness:2px;text-underline-offset:.18em}.ed-summary-actions{display:flex;flex-wrap:wrap;gap:12px}@media (max-width: 520px){.ed-summary-tiles{grid-template-columns:minmax(0,1fr)}.ed-summary-tiles div{display:flex;align-items:baseline;justify-content:space-between}.ed-summary-tiles dd{font-size:1.5rem}.ed-summary-actions .ed-btn{width:100%}}.reading-page{display:grid;gap:14px;justify-items:start;max-width:46rem;margin:0 auto}.reading-page .ed-h2{color:var(--ed-ink)}.reading-lead{color:var(--ed-ink-2);font-size:1.0625rem;line-height:1.55}.reading-list{width:100%;margin:1rem 0;padding:0;list-style:none;counter-reset:sentence;border-top:2px solid var(--ed-ink)}.reading-item{counter-increment:sentence;display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:4px 0;padding:18px 0;border-bottom:1px solid var(--ed-line)}.reading-item:before{content:counter(sentence,decimal-leading-zero);grid-row:span 2;padding-top:.45em;font-size:.8125rem;font-weight:700;color:var(--ed-signal-text);font-variant-numeric:tabular-nums}.reading-text{margin:0;font-family:var(--serif);font-size:clamp(1.25rem,1.05rem + .7vw,1.5rem);line-height:1.45;color:var(--ed-ink)}.reading-text mark{background:none;color:inherit;text-decoration:underline;text-decoration-color:var(--ed-signal);text-decoration-thickness:2px;text-underline-offset:.18em}.reading-meta{display:flex;align-items:center;gap:12px;font-size:.875rem}.reading-word{display:inline-flex;align-items:center;gap:10px;color:var(--ed-ink-2);font-weight:600;text-decoration:none}.reading-word:hover{color:var(--ed-signal-text)}.reading-speak{display:inline-grid;place-items:center;width:44px;height:44px;border:1.5px solid var(--ed-line);border-radius:50%;background:transparent;color:var(--ed-ink);cursor:pointer}.reading-speak:hover{border-color:var(--ed-ink)}.reading-speak .icon{width:20px;height:20px}.pricing-page{max-width:760px;margin:0 auto}.pricing-intro{color:var(--text-2);margin-bottom:1.5rem}.pricing-cta{margin-top:auto;padding:.7rem 1rem;border:none;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-weight:600;font-size:1rem;cursor:pointer}.pricing-cta:disabled{opacity:.6;cursor:not-allowed}.pricing-back{margin-top:1.5rem}.ed-pricing{padding-block:clamp(40px,6vw,88px) clamp(56px,8vw,112px)}.ed-pricing-head{display:grid;gap:16px;max-width:820px;margin-bottom:40px}.ed-pricing-banner{padding:14px 18px;border-inline-start:3px solid var(--ed-signal);background:var(--ed-signal-wash);border-radius:0 var(--ed-radius-sm) var(--ed-radius-sm) 0;font-weight:600}.ed-pricing-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;align-items:start}.ed-pricing-plan{display:flex;flex-direction:column;gap:18px;padding:clamp(24px,3vw,40px);border-radius:22px;border:1.5px solid var(--ed-line);background:var(--ed-paper-raised)}.ed-pricing-plan h2{font-family:var(--font-display);font-size:1.375rem;letter-spacing:-.02em}.ed-pricing-price{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,1.4rem + 2vw,3rem);letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}.ed-pricing-price span{font-family:var(--font-sans);font-size:1rem;font-weight:600;letter-spacing:0;color:var(--ed-muted)}.ed-pricing-sub{margin-top:-8px;color:var(--ed-muted)}.ed-pricing-features{list-style:none;display:grid;gap:10px}.ed-pricing-features li{position:relative;padding-inline-start:22px;line-height:1.45}.ed-pricing-features li:before{content:"";position:absolute;inset-inline-start:0;top:.35em;width:3px;height:.9em;border-radius:2px;background:var(--ed-signal)}.ed-pricing-plan>.ed-btn{align-self:flex-start}.ed-pricing-current{font-weight:700;color:var(--ed-muted)}.ed-pricing-plan.is-premium{background:var(--ed-night);color:var(--ed-on-night);border-color:var(--ed-night)}.ed-pricing-plan.is-premium .ed-pricing-price span,.ed-pricing-plan.is-premium .ed-pricing-sub,.ed-pricing-plan.is-premium .ed-pricing-current{color:var(--ed-on-night-muted)}.ed-pricing-choice{display:grid;gap:8px;border:0;padding:0;margin:0}.ed-pricing-choice legend{margin-bottom:8px;font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ed-on-night-muted)}.ed-pricing-option{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 16px;border:1.5px solid var(--ed-night-line);border-radius:var(--ed-radius-sm);cursor:pointer;transition:border-color .15s var(--ed-ease)}.ed-pricing-option:hover{border-color:var(--ed-on-night-muted)}.ed-pricing-option.is-on{border-color:var(--ed-signal);background:#ff6a2b14}.ed-pricing-option input{accent-color:var(--ed-signal);width:18px;height:18px;margin:0}.ed-pricing-option-name{font-weight:600}.ed-pricing-option-price{margin-inline-start:auto;font-weight:700;font-variant-numeric:tabular-nums}.ed-pricing-option-save{padding:3px 9px;border-radius:999px;background:var(--ed-signal);color:#151411;font-size:.75rem;font-weight:800}.ed-pricing-total{font-size:.9375rem;line-height:1.55;color:var(--ed-on-night-muted)}.ed-pricing-total .ed-link{color:var(--ed-on-night)}.ed-pricing-error{color:#ff9b7a;font-weight:600}.ed-pricing-back{margin-top:28px}@media (max-width: 859px){.ed-pricing-grid{grid-template-columns:minmax(0,1fr)}.ed-pricing-plan.is-premium{order:-1}.ed-pricing-plan>.ed-btn{align-self:stretch}}.ed-startmap{margin:0;padding:clamp(22px,3vw,36px);border-radius:22px;background:var(--ed-paper-raised);border:1px solid var(--ed-line)}.ed-startmap-head{display:grid;gap:4px;margin-bottom:20px}.ed-startmap-title{font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:-.02em}.ed-startmap-rows{list-style:none;display:grid;gap:6px}.ed-startmap-row{display:grid;grid-template-columns:9.5em minmax(0,1fr) 3.5em;align-items:center;gap:8px 14px;padding:8px 10px;border-radius:10px;font-variant-numeric:tabular-nums}.ed-startmap-row.is-start{background:var(--ed-signal-wash);box-shadow:inset 3px 0 0 var(--ed-signal)}.ed-startmap-range{font-size:.875rem;font-weight:600;color:var(--ed-ink-2);white-space:nowrap}.ed-startmap-track{height:10px;border-radius:5px;background:var(--ed-paper-sunk);overflow:hidden}.ed-startmap-fill{display:block;height:100%;border-radius:5px;background:var(--ed-ink)}.ed-startmap-row.is-start .ed-startmap-fill{background:var(--ed-signal)}.ed-startmap-pct{font-weight:700;text-align:end}.ed-startmap-tag{grid-column:2 / -1;font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ed-signal-text)}@media (max-width: 480px){.ed-startmap-row{grid-template-columns:minmax(0,1fr) 3em}.ed-startmap-range,.ed-startmap-tag{grid-column:1 / -1}}.vocab-test{padding-block:clamp(40px,6vw,88px) clamp(56px,8vw,112px)}.vocab-test-intro,.vocab-test-run{display:grid;gap:22px;justify-items:start;max-width:880px}.vocab-test-facts{list-style:none;display:grid;gap:10px}.vocab-test-facts li{position:relative;padding-inline-start:22px;font-size:1.0625rem;color:var(--ed-ink-2)}.vocab-test-facts li:before{content:"";position:absolute;inset-inline-start:0;top:.35em;width:3px;height:.9em;border-radius:2px;background:var(--ed-signal)}.vocab-test-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.vocab-test-word{min-height:48px;padding:0 18px;border:1.5px solid var(--ed-line-strong);border-radius:999px;background:var(--ed-paper-raised);color:var(--ed-ink);font-size:1.1875rem;font-weight:500;cursor:pointer;transition:background-color .15s var(--ed-ease),color .15s var(--ed-ease),border-color .15s var(--ed-ease)}.vocab-test-word:hover{border-color:var(--ed-ink)}.vocab-test-word.is-known{background:var(--ed-ink);border-color:var(--ed-ink);color:var(--ed-paper)}.vocab-test-actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;width:100%;padding:14px 0;background:var(--ed-paper);border-top:1px solid var(--ed-line)}.vocab-test-result{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:28px clamp(32px,5vw,72px);align-items:start}.vocab-test-result-head{display:grid;gap:20px;justify-items:start}.vocab-test-result-head .ed-display{font-size:clamp(2rem,1rem + 3.4vw,4rem)}.vocab-test-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}.vocab-test-again{min-height:44px;padding:0 4px;border:0;background:none;color:var(--ed-muted);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:.2em}.vocab-test-again:hover{color:var(--ed-ink)}.vocab-test-estimate,.vocab-test-method{grid-column:1 / -1;max-width:52em}.vocab-test-estimate{color:var(--ed-ink-2);line-height:1.55}.vocab-test-warn{padding:12px 16px;border-inline-start:3px solid var(--ed-signal);background:var(--ed-signal-wash);border-radius:0 var(--ed-radius-sm) var(--ed-radius-sm) 0}.vocab-test-ok{font-weight:600;color:var(--ed-success)}@media (max-width: 959px){.vocab-test-result{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.vocab-test-word{transition:none}}.analyze-page{padding-block:clamp(40px,6vw,88px) clamp(56px,8vw,112px)}.analyze-inner{display:grid;gap:28px;max-width:calc(960px + 2 * var(--ed-gutter))}.analyze-head{display:grid;gap:16px}.analyze-page textarea{width:100%;min-height:220px;padding:18px 20px;border:1.5px solid var(--ed-line-strong);border-radius:var(--ed-radius);background:var(--ed-paper-raised);color:var(--ed-ink);font-family:var(--serif);font-size:1.1875rem;line-height:1.55;resize:vertical}.analyze-page textarea:focus{outline:none;border-color:var(--ed-ink);box-shadow:0 0 0 3px var(--ed-signal-wash)}.analyze-toolbar{margin:4px 0 0}.analyze-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-top:12px}.analyze-count{font-size:.875rem;color:var(--ed-muted);font-variant-numeric:tabular-nums}.analyze-result{display:grid;gap:18px;padding:clamp(24px,4vw,44px);border-radius:22px;background:var(--ed-paper-raised);border:1px solid var(--ed-line)}.analyze-result h2{margin-top:12px;font-family:var(--font-sans);font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ed-muted)}.analyze-headline{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;font-size:1.125rem;color:var(--ed-ink-2)}.analyze-big{font-family:var(--font-display);font-weight:800;font-size:clamp(3rem,2rem + 4vw,5rem);line-height:1;letter-spacing:-.04em;color:var(--ed-ink)}.analyze-tiers{list-style:none;display:grid;gap:8px}.analyze-tiers li{display:grid;grid-template-columns:8em minmax(0,1fr) 3.5em;align-items:center;gap:14px;font-variant-numeric:tabular-nums}.analyze-tier-label{font-size:.875rem;font-weight:600;color:var(--ed-ink-2)}.analyze-tier-track{height:10px;border-radius:5px;background:var(--ed-paper-sunk);overflow:hidden}.analyze-tier-bar{display:block;height:100%;border-radius:5px;background:var(--ed-signal)}.analyze-tier-value{font-weight:700;text-align:right}.analyze-note{font-size:.9375rem;line-height:1.55;color:var(--ed-muted)}.analyze-words{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.analyze-word{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"check main meta" "check gloss gloss";align-items:baseline;gap:2px 10px;min-height:56px;padding:10px 14px;border:1.5px solid var(--ed-line);border-radius:var(--ed-radius-sm);cursor:pointer}.analyze-word input{grid-area:check;align-self:center;width:18px;height:18px;accent-color:var(--ed-signal)}.analyze-word-main{grid-area:main;font-family:var(--serif);font-size:1.125rem;font-weight:600}.analyze-word-gloss{grid-area:gloss;font-size:.875rem;color:var(--ed-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analyze-word-meta{grid-area:meta;font-size:.8125rem;font-weight:700;color:var(--ed-muted);font-variant-numeric:tabular-nums}.analyze-word.is-locked{opacity:.55;cursor:default}@media (max-width: 480px){.analyze-tiers li{grid-template-columns:6.5em minmax(0,1fr) 3em}}.home-page{display:flex;flex-direction:column;gap:2.25rem}.home-page h1{font-size:clamp(2.1rem,4vw,2.85rem);font-weight:800;margin-bottom:.5rem;letter-spacing:-.05em;color:var(--text);background:none;-webkit-text-fill-color:unset}.subtitle{font-size:1.15rem;color:var(--text-2);margin-bottom:1rem;max-width:60ch}.dictionary-sections h2,.api-info h2{margin-bottom:1rem;font-size:1.25rem;font-weight:600}.section-cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.section-card{display:flex;flex-direction:column;gap:.5rem;padding:1.35rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform var(--t),border-color var(--t),box-shadow var(--t)}.section-card:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.section-title{font-weight:700;font-size:1.1rem}.section-desc{font-size:.9rem;color:var(--text-2)}.api-info,.features,.getting-started{background:var(--surface);padding:1.5rem;border-radius:var(--r-md);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.api-info p{margin:0;line-height:1.6;color:var(--text-2)}.api-info code,.getting-started code{background:var(--surface-3);padding:.15rem .45rem;border-radius:var(--r-xs);font-size:.9em;color:var(--accent-2);border:1px solid var(--border)}.dictionary-sections h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem}.section-badge{font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:lowercase;padding:.1rem .5rem;border-radius:999px;color:var(--accent-ink);background:var(--accent-soft)}.section-badge.is-muted{color:var(--text-3);background:var(--overlay)}.section-meta{margin:-.4rem 0 .9rem;font-size:.85rem;color:var(--text-3)}.home-cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:0 0 1.75rem;padding:1.4rem 1.6rem;border-radius:var(--r-lg);border:1px solid transparent;background:radial-gradient(120% 180% at 100% 0%,var(--accent-2) 0%,transparent 60%),var(--accent);color:var(--on-accent);text-decoration:none;box-shadow:0 10px 30px -18px var(--accent);transition:transform var(--t-fast),box-shadow var(--t-fast)}.home-cta:hover{transform:translateY(-1px);box-shadow:0 16px 36px -18px var(--accent)}.home-cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.home-cta-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.home-cta-title{font-size:1.3rem;font-weight:700;line-height:1.25}.home-cta-sub{font-size:.9rem;opacity:.85}.home-cta-action{flex:none;font-size:1.6rem;line-height:1;transition:transform var(--t-fast)}.home-cta:hover .home-cta-action{transform:translate(.25rem)}@media (prefers-reduced-motion: reduce){.home-cta,.home-cta-action{transition:none}.home-cta:hover,.home-cta:hover .home-cta-action{transform:none}}.profile-page{width:100%}.profile-page h1{margin-bottom:1.5rem;font-size:1.85rem;font-weight:700}.profile-section-title{margin-top:2.5rem;margin-bottom:1rem;font-size:1.2rem;font-weight:600}.profile-stats-loading,.profile-stats-error{margin:1rem 0;color:var(--text-2)}.profile-stats-error{color:var(--danger)}.profile-card{padding:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.profile-card p{margin:.7rem 0;font-size:.98rem;color:var(--text-2)}.profile-card p:first-child{margin-top:0}.profile-card p:last-child{margin-bottom:0}.profile-card p strong{color:var(--text);font-weight:600;margin-right:.35rem}.profile-stats-flow{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2.5rem}.profile-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.profile-head{display:flex;align-items:stretch;gap:1.25rem}.profile-head .profile-card{flex:1 1 340px;display:flex;flex-direction:column;justify-content:center}.profile-head .profile-hero{flex:0 1 400px}.profile-hero{display:flex;align-items:center;gap:1.75rem;padding:1.75rem;background:radial-gradient(120% 140% at 100% 0%,var(--accent-soft) 0%,transparent 55%),var(--surface)}.profile-hero .goal-ring-box{flex:0 0 auto}.profile-hero-body{flex:1 1 auto;display:flex;flex-direction:column;gap:.4rem;min-width:0}.profile-hero-streak{display:flex;align-items:baseline}.profile-hero-streak-num{font-size:2.6rem;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--warning);font-variant-numeric:tabular-nums}.profile-hero-streak-label{font-size:.9rem;color:var(--text-2)}.profile-summary{display:flex;flex-direction:column;gap:1.35rem}.profile-metrics{display:flex;align-items:stretch}.profile-metric{flex:1 1 0;display:flex;flex-direction:column;gap:.25rem;padding:0 1.5rem;text-align:center;border-left:1px solid var(--border)}.profile-metric:first-child{padding-left:0;border-left:none}.profile-metric:last-child{padding-right:0}.profile-metric-value{font-size:1.7rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text)}.profile-metric-value-pair{white-space:nowrap;font-size:1.35rem}.profile-metric-label{font-size:.74rem;color:var(--text-3)}.profile-metric.is-learned .profile-metric-value{color:var(--success)}.profile-metric.is-difficult .profile-metric-value{color:var(--warning)}.profile-metric.is-levels .profile-metric-value{color:var(--accent-2)}.profile-metric.is-frequency .profile-metric-value{color:var(--accent)}.profile-metric.is-week .profile-metric-value{color:var(--accent-2)}.profile-progress-wrap{margin:0}.profile-progress-bar{height:10px;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden}.profile-progress-fill{height:100%;border-radius:var(--r-full);background:var(--accent-grad);transition:width .5s cubic-bezier(.4,0,.2,1)}.profile-body{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:1.25rem;align-items:start}.profile-body-main{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.profile-activity{display:flex;flex-direction:column;gap:.85rem}.profile-activity-title{font-size:.78rem;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.profile-activity .activity-chart{height:104px}.profile-levels-section{margin-top:0}.profile-levels-title{font-size:1rem;font-weight:600;margin:0 0 1rem}.profile-levels-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.profile-level-row{display:flex;flex-direction:column;gap:.5rem;padding:.7rem .85rem;background:var(--surface-2);border:1px solid transparent;border-radius:var(--r-sm);text-decoration:none;color:inherit;font-size:.9rem;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.profile-level-row:hover{background:var(--surface-3);border-color:var(--border-strong);transform:translate(2px)}.profile-level-top{display:flex;align-items:center;gap:.75rem}.profile-level-num{font-weight:600;min-width:5.5rem}.profile-level-counts{flex:1;color:var(--text-2);font-size:.84rem;font-variant-numeric:tabular-nums}.profile-level-bar-wrap{display:flex;height:6px;border-radius:var(--r-full);overflow:hidden;background:var(--overlay)}.profile-level-bar{height:100%;min-width:0;transition:width .4s ease}.profile-level-bar-learned{background:var(--success)}.profile-level-bar-difficult{background:var(--warning)}.profile-level-bar-remaining{background:var(--border-2)}.profile-level-locked{opacity:.7}.profile-level-lock{display:inline-flex;margin-left:auto;color:var(--text-3)}.profile-level-completed{border-color:color-mix(in srgb,var(--success) 40%,transparent)}.profile-level-badge{font-size:.7rem;font-weight:600;padding:.2rem .55rem;background:var(--success-soft);color:var(--success);border-radius:var(--r-full)}.profile-link-more{display:inline-block;margin-top:1rem;color:var(--accent-2);text-decoration:none;font-size:.9rem;font-weight:500}.profile-link-more:hover{color:var(--accent)}.goal-ring-box{flex:0 0 auto}.goal-ring{width:132px;height:132px}.goal-ring-track{stroke:var(--surface-3)}.goal-ring-fill{stroke:var(--accent);transition:stroke-dashoffset .6s ease}.goal-ring-fill.is-done{stroke:var(--success)}.goal-ring-value{fill:var(--text);font-size:1.4rem;font-weight:700;text-anchor:middle;dominant-baseline:middle}.goal-ring-sub{fill:var(--text-3);font-size:.7rem;text-anchor:middle;dominant-baseline:middle;text-transform:uppercase;letter-spacing:.05em}.activity-chart{display:flex;align-items:flex-end;gap:2px;height:84px}.activity-col{flex:1;height:100%;display:flex;align-items:flex-end}.activity-bar{width:100%;border-radius:2px;background:var(--surface-3);transition:height var(--t-fast)}.activity-bar.is-active{background:var(--accent)}.heatmap{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;grid-auto-columns:11px;gap:3px;overflow-x:auto;padding-bottom:.35rem}.heatmap-cell{width:11px;height:11px;border-radius:2px;background:var(--surface-3)}.heatmap-cell.l1{background:color-mix(in srgb,var(--accent) 25%,var(--surface))}.heatmap-cell.l2{background:color-mix(in srgb,var(--accent) 50%,var(--surface))}.heatmap-cell.l3{background:color-mix(in srgb,var(--accent) 75%,var(--surface))}.heatmap-cell.l4{background:var(--accent)}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.6rem;margin-top:.5rem}.badge{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.7rem .5rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-3);text-align:center;opacity:.55;filter:grayscale(.7)}.badge.is-earned{opacity:1;filter:none;background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.badge-icon{font-size:1.6rem;line-height:1}.badge-label{font-size:.74rem;font-weight:600;color:var(--text-2)}.badge.is-earned .badge-label{color:var(--text)}.badge-progress{font-size:.7rem;color:var(--text-3);font-variant-numeric:tabular-nums}.profile-settings{margin-top:0}.profile-page>.profile-settings{margin-top:2.5rem}.profile-settings .profile-section-title{margin-top:0}.settings-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem 1.5rem;margin-bottom:1.25rem;max-width:none}.settings-subtitle{margin:0 0 .75rem;font-size:1rem}.settings-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem}.settings-field label{font-size:.82rem;color:var(--text-2);font-weight:600}.settings-field input{padding:.55rem .7rem;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-size:.95rem;font-family:inherit}.settings-field input[type=range]{padding:0}.settings-field select{padding:.55rem .7rem;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-size:.95rem;font-family:inherit}.settings-hint{font-size:.78rem;color:var(--text-2);margin:0}.settings-subfield{display:flex;flex-direction:column;gap:.3rem;margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--border-2)}.settings-subfield label{font-size:.82rem;color:var(--text-2);font-weight:600}.settings-subfield select{padding:.55rem .7rem;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text)}.settings-field-checkbox label{display:flex;align-items:center;gap:.5rem;font-weight:400;color:var(--text);cursor:pointer}.settings-field-checkbox input[type=checkbox]{width:auto;padding:0;border:none;background:none;accent-color:var(--accent)}.settings-actions{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.settings-actions button{padding:.55rem 1.2rem;border:none;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-weight:600;cursor:pointer;font-family:inherit}.settings-actions button:disabled{opacity:.6;cursor:not-allowed}.settings-msg{font-size:.85rem;color:var(--text-2)}.settings-data{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.settings-link{padding:.55rem 1rem;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font-size:.9rem;font-weight:500;text-decoration:none;cursor:pointer;font-family:inherit}.settings-link:hover{border-color:var(--accent)}.settings-anki{display:flex;flex-direction:column;gap:.6rem;margin:0 0 1.5rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.settings-anki legend{padding:0 .3rem;font-weight:600}.settings-anki-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.settings-anki-row label{font-size:.85rem;color:var(--text-2)}.settings-anki select,.settings-anki input[type=number]{padding:.45rem .6rem;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-family:inherit}.settings-anki input[type=number]{width:5rem}.settings-anki-check{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}.settings-anki-check input{accent-color:var(--accent)}.settings-danger{background:var(--surface);border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));border-radius:var(--r-lg);padding:1.25rem 1.5rem}.settings-danger-toggle{padding:.55rem 1.2rem;border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font-weight:600;font-family:inherit;cursor:pointer}.settings-danger-warning{color:var(--text-2);font-size:.88rem;line-height:1.5;margin:0 0 .85rem;max-width:60ch}.settings-actions .settings-danger-confirm{background:var(--danger);color:#fff}.settings-actions .settings-cancel{background:var(--surface-2);color:var(--text);border:1px solid var(--border-2)}.two-factor-qr{display:flex;justify-content:center;padding:1rem;background:#fff;border-radius:var(--r-md);max-width:220px;margin:0 0 .75rem}.two-factor-qr svg{width:100%;height:auto}.two-factor-secret{font-family:monospace;font-size:.85rem;letter-spacing:.05em;color:var(--text-2);text-align:center;margin:0 0 1rem;word-break:break-all}.two-factor-recovery-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;list-style:none;margin:0 0 1rem;padding:1rem;background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r-md)}.two-factor-recovery-list li{font-family:monospace;font-size:.9rem;text-align:center;color:var(--text)}@media (max-width: 860px){.profile-head{flex-wrap:wrap}.profile-head .profile-card,.profile-head .profile-hero{flex:1 1 100%}.profile-body,.profile-levels-list{grid-template-columns:1fr}}@media (max-width: 520px){.profile-hero{flex-direction:column;align-items:flex-start;text-align:left;gap:1.25rem}.profile-hero-body{align-items:flex-start}.profile-metrics{flex-wrap:wrap;gap:1.1rem 0}.profile-metric{flex:1 0 50%;border-left:none;padding:0 .75rem}.profile-metric:nth-child(2n){border-left:1px solid var(--border)}.settings-data{flex-direction:column}.settings-link{text-align:center}}.profile-manage-btn{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.profile-manage-btn:disabled{opacity:.6;cursor:default}.profile-page h1,.profile-page .profile-section-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ed-ink)}.profile-page .profile-card,.profile-page .profile-panel{background:var(--ed-paper-raised);border:1px solid var(--ed-line);border-radius:var(--ed-radius);box-shadow:none}.profile-page .settings-field label,.profile-page .settings-field>span{font-weight:700;color:var(--ed-ink)}.profile-page .settings-field input:not([type=range]):not([type=checkbox]),.profile-page .settings-field select{min-height:48px;padding:0 14px;border:1.5px solid var(--ed-line-strong);border-radius:var(--ed-radius-sm);background:var(--ed-paper);color:var(--ed-ink);font-size:1rem}.profile-page .settings-field input:focus,.profile-page .settings-field select:focus{outline:none;border-color:var(--ed-ink);box-shadow:0 0 0 3px var(--ed-signal-wash)}.profile-page .settings-field input[type=range],.profile-page .settings-field input[type=checkbox]{accent-color:var(--ed-signal)}.profile-page .settings-hint{font-size:.8125rem;color:var(--ed-muted)}.profile-page .settings-actions button{min-height:46px;padding:0 20px;border-radius:999px;background:var(--ed-signal-deep);color:var(--ed-on-signal);font-weight:700}.profile-page .settings-actions button:hover:not(:disabled){background:var(--ed-signal-deep-hover)}.profile-page .settings-actions .settings-cancel{background:transparent;border:1.5px solid var(--ed-ink);color:var(--ed-ink)}.profile-page .settings-link{color:var(--ed-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--ed-signal);text-underline-offset:.2em}.profile-page .settings-actions .settings-danger-confirm,.profile-page .settings-actions .settings-danger-confirm:hover:not(:disabled){background:var(--danger);color:#fff}.dictionary-page button,.admin-voices-panel button{padding:.42rem .85rem;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-size:.88rem;font-weight:500;line-height:1.3;cursor:pointer;white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.dictionary-page button:hover:not(:disabled),.admin-voices-panel button:hover:not(:disabled){background:var(--overlay);border-color:var(--border-strong)}.dictionary-page button:disabled,.admin-voices-panel button:disabled{opacity:.5;cursor:not-allowed}.dictionary-page button[type=submit],.dictionary-page .is-primary{border-color:transparent;background:var(--accent);color:var(--on-accent);font-weight:600}.dictionary-page button[type=submit]:hover:not(:disabled),.dictionary-page .is-primary:hover:not(:disabled){background:var(--accent-2);border-color:transparent}.dictionary-page .is-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.dictionary-page input[type=text],.dictionary-page input[type=number],.dictionary-page input[type=search],.dictionary-page input[type=password],.dictionary-page select,.admin-voices-panel input[type=text],.admin-voices-panel select{padding:.42rem .7rem;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--field);color:var(--text);font-size:.9rem;line-height:1.3;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.dictionary-page input:focus,.dictionary-page select:focus,.admin-voices-panel input:focus,.admin-voices-panel select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dictionary-page input[type=checkbox],.admin-voices-panel input[type=checkbox]{width:1rem;height:1rem;margin:0;accent-color:var(--accent);cursor:pointer;flex:none}.dictionary-page .field-stack{display:flex;flex-direction:column;gap:.35rem}.dictionary-page .field-stack>label{font-size:.78rem;font-weight:600;color:var(--text-2)}.dictionary-page .control-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem}@font-face{font-family:Unbounded Fallback;src:local("Arial Bold"),local("Arial-BoldMT");font-weight:500 900;size-adjust:134.5%}@font-face{font-family:Onest Fallback;src:local("Arial"),local("ArialMT");font-weight:400 500;size-adjust:104.5%}@font-face{font-family:Onest Fallback;src:local("Arial Bold"),local("Arial-BoldMT");font-weight:600 800;size-adjust:101.5%}:root{--font-display: "Unbounded", "Unbounded Fallback", "Onest", system-ui, sans-serif;--font-sans: "Onest", "Onest Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif: "Source Serif 4", "Iowan Old Style", Georgia, "Times New Roman", serif;--bg: #efe6d4;--surface: #f8f1e4;--surface-2: #fffaf0;--surface-3: #e5d8c0;--overlay: rgba(28, 16, 8, .05);--border: rgba(28, 16, 8, .12);--border-2: rgba(28, 16, 8, .18);--border-strong: rgba(28, 16, 8, .3);--text: #14110e;--text-2: #5a4e40;--text-3: #877764;--field: #ffffff;--bg-tint-1: rgba(226, 65, 0, .1);--bg-tint-2: rgba(255, 176, 32, .08);--scroll-hover: rgba(28, 16, 8, .42);--accent: #cf3b00;--accent-2: #b83400;--accent-press: #9f2c00;--accent-ink: #9f2c00;--accent-soft: rgba(226, 65, 0, .14);--accent-ring: rgba(226, 65, 0, .48);--accent-grad: linear-gradient(135deg, #e24100 0%, #ff8a14 100%);--on-accent: #fff8f0;--success: #15803d;--success-2: #166534;--success-soft: rgba(21, 128, 61, .14);--success-ink: #052e16;--warning: #a16207;--warning-2: #854d0e;--warning-soft: rgba(161, 98, 7, .16);--warning-ink: #fffaf0;--danger: #c2410c;--danger-soft: rgba(194, 65, 12, .13);--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-full: 999px;--shadow-sm: 0 1px 2px rgba(60, 45, 25, .08);--shadow-md: 0 8px 24px rgba(60, 45, 25, .1);--shadow-lg: 0 20px 48px rgba(60, 45, 25, .14);--elev-1: 0 1px 2px rgba(60, 45, 25, .06), 0 4px 12px rgba(60, 45, 25, .06);--elev-2: 0 8px 24px rgba(60, 45, 25, .1), 0 2px 6px rgba(60, 45, 25, .05);--elev-3: 0 20px 48px rgba(60, 45, 25, .14), 0 4px 12px rgba(60, 45, 25, .06);--glow: 0 12px 32px rgba(226, 65, 0, .28);--glow-sm: 0 4px 16px rgba(226, 65, 0, .32);--t-fast: .14s ease;--t: .2s cubic-bezier(.4, 0, .2, 1);color-scheme:light;font-family:var(--font-sans);line-height:1.5;font-weight:400;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--bg: #0c0a08;--surface: #161210;--surface-2: #1e1812;--surface-3: #2a2218;--overlay: rgba(255, 214, 170, .05);--border: rgba(255, 214, 170, .1);--border-2: rgba(255, 214, 170, .16);--border-strong: rgba(255, 214, 170, .26);--text: #f6ead8;--text-2: rgba(246, 234, 216, .64);--text-3: rgba(246, 234, 216, .42);--field: rgba(0, 0, 0, .32);--bg-tint-1: rgba(255, 122, 26, .12);--bg-tint-2: rgba(226, 65, 0, .08);--scroll-hover: rgba(255, 214, 170, .34);--accent: #ff7a1a;--accent-2: #ffc14d;--accent-press: #e24a00;--accent-ink: #ffc14d;--accent-soft: rgba(255, 122, 26, .16);--accent-ring: rgba(255, 122, 26, .5);--accent-grad: linear-gradient(135deg, #e24100 0%, #ffb020 100%);--on-accent: #1a0c04;--success: #34d399;--success-2: #10b981;--success-soft: rgba(52, 211, 153, .16);--success-ink: #04241a;--warning: #fbbf24;--warning-2: #f59e0b;--warning-soft: rgba(251, 191, 36, .16);--warning-ink: #2a1d04;--danger: #f87171;--danger-soft: rgba(248, 113, 113, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .5);--glow: 0 12px 32px rgba(255, 122, 26, .32);--glow-sm: 0 4px 16px rgba(255, 122, 26, .3);color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg);background-image:radial-gradient(900px 500px at 100% -5%,var(--bg-tint-1),transparent 60%),radial-gradient(800px 500px at 0% 0%,var(--bg-tint-2),transparent 55%);background-attachment:fixed}#root{width:100%;min-height:100vh}h1,h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.04em;line-height:1.12}h3{letter-spacing:-.02em;line-height:1.2}a{color:var(--accent-2);text-decoration:none}.icon{display:inline-block;flex-shrink:0;vertical-align:-.125em}button,input,select,textarea{font-family:inherit}@media (pointer: coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:max(16px,1em)}button,[role=button],select{min-height:44px}}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:var(--r-xs)}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}[dir=rtl] [lang=en]{direction:ltr;unicode-bidi:isolate}:where([dir=rtl]) :where([lang=en],[dir=ltr],[dir=auto]){text-align:right}::selection{background:var(--accent-soft);color:var(--accent-press)}.honeypot{position:absolute;inset-inline-start:-10000px;width:1px;height:1px;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-full);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover);background-clip:content-box}.stat-skeleton{display:inline-block;height:1em;border-radius:4px;background:color-mix(in srgb,var(--text-2) 18%,transparent);vertical-align:-.1em}.stat-skeleton-sm{width:2.4ch}.stat-skeleton-lg{width:6ch}.stat-skeleton-line{width:min(42ch,100%);height:.9em}.route-loading{min-height:60vh}:root{--ed-paper: #f4efe5;--ed-paper-raised: #fffcf6;--ed-paper-sunk: #ebe4d6;--ed-ink: #151411;--ed-ink-2: #3a362f;--ed-muted: #655f56;--ed-line: #cfc7ba;--ed-line-strong: #8e8577;--ed-signal: #e24100;--ed-signal-text: #b83300;--ed-signal-deep: #c23a00;--ed-signal-deep-hover: #a53100;--ed-on-signal: #fff8f0;--ed-signal-wash: rgba(226, 65, 0, .1);--ed-ice: #bcdadb;--ed-success: #2f6b43;--ed-success-wash: rgba(47, 107, 67, .12);--ed-night: #151411;--ed-night-raised: #211f1b;--ed-on-night: #f4efe5;--ed-on-night-muted: #a9a193;--ed-night-line: rgba(244, 239, 229, .14);--ed-max: 1280px;--ed-gutter: clamp(16px, 4vw, 40px);--ed-section: clamp(56px, 9vw, 120px);--ed-radius: 16px;--ed-radius-sm: 12px;--ed-ease: cubic-bezier(.22, 1, .36, 1);--ed-bars: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Crect x='0' y='0' width='3.5' height='16' rx='1'/%3E%3Crect x='5.5' y='5' width='3.5' height='11' rx='1'/%3E%3Crect x='11' y='9' width='3.5' height='7' rx='1'/%3E%3Crect x='16.5' y='12' width='3.5' height='4' rx='1'/%3E%3C/svg%3E")}:root[data-theme=dark]{--ed-paper: #12110f;--ed-paper-raised: #1c1a17;--ed-paper-sunk: #0c0b0a;--ed-ink: #f1ebe0;--ed-ink-2: #d6cfc3;--ed-muted: #a59c8e;--ed-line: #2e2a24;--ed-line-strong: #6e665a;--ed-signal: #ff6a2b;--ed-signal-text: #ff8c57;--ed-signal-deep: #ff6a2b;--ed-signal-deep-hover: #ff8446;--ed-on-signal: #151411;--ed-signal-wash: rgba(255, 106, 43, .14);--ed-ice: #2e4a4b;--ed-success: #6fbf8c;--ed-success-wash: rgba(111, 191, 140, .14);--ed-night: #050504;--ed-night-raised: #1c1a17;--ed-on-night: #f1ebe0;--ed-on-night-muted: #a59c8e;--ed-night-line: rgba(241, 235, 224, .12)}.ed{background:var(--ed-paper);color:var(--ed-ink);font-family:var(--font-sans)}.ed-container{width:100%;max-width:calc(var(--ed-max) + 2 * var(--ed-gutter));margin-inline:auto;padding-inline:var(--ed-gutter)}.ed-section{padding-block:var(--ed-section)}.ed-night{background:var(--ed-night);color:var(--ed-on-night)}.ed-display{font-family:var(--font-display);font-weight:800;font-size:clamp(2.125rem,1.2rem + 4.4vw,5.25rem);line-height:.98;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:break-word}.ed-h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.75rem,1.1rem + 2.6vw,3.25rem);line-height:1.04;letter-spacing:-.03em;text-wrap:balance;overflow-wrap:break-word}.ed-lead{font-size:clamp(1.0625rem,.95rem + .45vw,1.25rem);line-height:1.55;color:var(--ed-ink-2);max-width:38em;text-wrap:pretty;overflow-wrap:break-word}.ed-night .ed-lead{color:var(--ed-on-night-muted)}.ed-kicker{display:inline-flex;align-items:center;gap:.6em;font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ed-signal-text);overflow-wrap:anywhere}.ed-night .ed-kicker{color:var(--ed-signal)}.ed-kicker:before{content:"";width:1.05em;height:.85em;background:currentColor;-webkit-mask:var(--ed-bars) center / contain no-repeat;mask:var(--ed-bars) center / contain no-repeat}.ed-meta{font-size:.875rem;color:var(--ed-muted);font-variant-numeric:tabular-nums}.ed-serif{font-family:var(--serif);font-optical-sizing:auto}.ed-rank{display:inline-flex;align-items:center;gap:.45em;font-size:.8125rem;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--ed-muted);white-space:nowrap}.ed-rank:before{content:"";width:3px;height:1em;border-radius:2px;background:var(--ed-signal)}.ed-night .ed-rank{color:var(--ed-on-night-muted)}.ed-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:0 1.4rem;border-radius:999px;border:1.5px solid transparent;font:inherit;font-size:1rem;font-weight:700;line-height:1.1;text-decoration:none;cursor:pointer;transition:background-color .18s var(--ed-ease),border-color .18s var(--ed-ease),color .18s var(--ed-ease),box-shadow .18s var(--ed-ease),transform .18s var(--ed-ease)}.ed-btn:active{transform:translateY(1px)}.ed-btn-primary{background:var(--ed-signal-deep);color:var(--ed-on-signal)}.ed-btn-primary:hover{background:var(--ed-signal-deep-hover);color:var(--ed-on-signal)}.ed-btn-ghost{background:transparent;color:var(--ed-ink);border-color:var(--ed-ink)}.ed-btn-ghost:hover{background:var(--ed-ink);color:var(--ed-paper)}.ed-night .ed-btn-ghost{color:var(--ed-on-night);border-color:var(--ed-on-night)}.ed-night .ed-btn-ghost:hover{background:var(--ed-on-night);color:var(--ed-night)}.ed-btn-ink{background:var(--ed-ink);color:var(--ed-paper)}.ed-btn-ink:hover{background:var(--ed-ink-2);color:var(--ed-paper)}.ed-btn-arrow:after{content:"→";transition:transform .18s var(--ed-ease)}.ed-btn-arrow:hover:after{transform:translate(3px)}.ed-arrow:after{content:"→"}[dir=rtl] .ed-btn-arrow:after,[dir=rtl] .ed-arrow:after{content:"←"}[dir=rtl] .ed-btn-arrow:hover:after{transform:translate(-3px)}[dir=rtl] .ed-icon-dir{transform:scaleX(-1)}.layout.motion-paused,.layout.motion-paused *,.layout.motion-paused *:before,.layout.motion-paused *:after{animation-play-state:paused!important}.ed-link{color:inherit;font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.22em;text-decoration-color:var(--ed-signal)}.ed-link:hover{color:var(--ed-signal-text)}.ed-night .ed-link:hover{color:var(--ed-signal)}.ed-details summary{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:700;cursor:pointer;list-style:none;text-decoration:underline;text-decoration-color:var(--ed-signal);text-decoration-thickness:1.5px;text-underline-offset:.22em}.ed-details summary::-webkit-details-marker{display:none}.ed-details summary:after{content:"+";font-size:1.25rem;line-height:1;color:var(--ed-signal-text);text-decoration:none}.ed-details[open] summary:after{content:"−"}.ed-details>p{margin-top:8px;max-width:42em;color:var(--ed-ink-2);line-height:1.6}.ed :focus-visible{outline:2.5px solid var(--ed-signal);outline-offset:3px}@media (max-width: 480px){.ed-display,.ed-h2,.ed-lead{-webkit-hyphens:auto;hyphens:auto}}@keyframes ed-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.ed-enter>*{animation:ed-enter .7s var(--ed-ease) backwards}.ed-enter>:nth-child(2){animation-delay:70ms}.ed-enter>:nth-child(3){animation-delay:.14s}.ed-enter>:nth-child(4){animation-delay:.21s}.ed-enter>:nth-child(5){animation-delay:.28s}.ed-enter>:nth-child(n+6){animation-delay:.35s}.ed-reveal [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ed-ease),transform .8s var(--ed-ease);transition-delay:var(--reveal-delay, 0ms)}.ed-reveal [data-reveal].is-in,.ed-reveal [data-reveal=stagger]{opacity:1;transform:none}.ed-reveal [data-reveal=stagger]>*{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ed-ease),transform .7s var(--ed-ease)}.ed-reveal [data-reveal=stagger].is-in>*{opacity:1;transform:none}.ed-reveal [data-reveal=stagger].is-in>:nth-child(2){transition-delay:90ms}.ed-reveal [data-reveal=stagger].is-in>:nth-child(3){transition-delay:.18s}.ed-reveal [data-reveal=stagger].is-in>:nth-child(4){transition-delay:.27s}.ed-reveal [data-reveal=stagger].is-in>:nth-child(5){transition-delay:.36s}.ed-reveal [data-reveal=stagger].is-in>:nth-child(n+6){transition-delay:.45s}.ed-reveal [data-reveal=photo]{opacity:1;transform:none;clip-path:inset(10% 8% 10% 8% round var(--ed-radius));transition:clip-path 1.1s var(--ed-ease);transition-delay:var(--reveal-delay, 0ms)}.ed-reveal [data-reveal=photo] img{transform:scale(1.14);transition:transform 1.5s var(--ed-ease);transition-delay:var(--reveal-delay, 0ms)}.ed-reveal [data-reveal=photo].is-in{clip-path:inset(0 0 0 0 round var(--ed-radius))}.ed-reveal [data-reveal=photo].is-in img{transform:none}@media print{.ed-reveal [data-reveal],.ed-reveal [data-reveal]>*,.ed-reveal [data-reveal] img{opacity:1!important;transform:none!important;clip-path:none!important}}@media (hover: hover){.ed-btn-primary:hover,.ed-btn-ink:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px #15141173}.ed-btn:active{transform:translateY(1px);box-shadow:none}}.layout:not(.layout--bleed){--bg: var(--ed-paper);--surface: var(--ed-paper-raised);--surface-2: var(--ed-paper-raised);--surface-3: var(--ed-paper-sunk);--overlay: color-mix(in srgb, var(--ed-ink) 5%, transparent);--border: var(--ed-line);--border-2: var(--ed-line);--border-strong: var(--ed-line-strong);--text: var(--ed-ink);--text-2: var(--ed-muted);--text-3: var(--ed-muted);--field: var(--ed-paper-raised);--accent: var(--ed-signal-deep);--accent-2: var(--ed-signal-deep-hover);--accent-press: var(--ed-signal-text);--accent-ink: var(--ed-signal-text);--accent-soft: var(--ed-signal-wash);--accent-ring: color-mix(in srgb, var(--ed-signal) 45%, transparent);--accent-grad: var(--ed-signal-deep);--on-accent: var(--ed-on-signal);--success: var(--ed-success);--success-soft: var(--ed-success-wash);--warning: var(--ed-signal);--warning-2: var(--ed-signal-text);--warning-soft: var(--ed-signal-wash);--shadow-sm: none;--shadow-md: none;--elev-1: none;--elev-2: none;--glow: none;--glow-sm: none;--r-md: 12px;background:var(--ed-paper);color:var(--ed-ink)}.layout .navbar{background:var(--ed-paper);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--ed-line-strong)}.layout:not(.layout--bleed) :focus-visible{outline:2px solid var(--ed-signal);outline-offset:2px}.layout .nav-container{align-items:stretch;min-height:4rem;padding-block:0}.layout .nav-logo,.layout .nav-auth,.layout .nav-burger,.layout .nav-mobile-action{align-self:center}.nav-links{align-self:stretch;align-items:stretch;gap:0}.nav-links .nav-link{position:relative;display:inline-flex;align-items:center;border:0;border-radius:0;padding:0 .05rem;margin-inline:.8rem;color:var(--ed-muted);font-weight:500}.nav-links .admin-badge{transform:translateY(-.42em)}.nav-links .nav-link:has(.nav-link-label)[data-status=active]:after{content:none}.nav-links .nav-link-label{position:relative;display:flex;align-items:center;align-self:stretch}.nav-links .nav-link[data-status=active] .nav-link-label:after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:2px;background:var(--ed-signal)}.nav-links .nav-link:hover{background:none;color:var(--ed-ink)}.nav-links .nav-link[data-status=active]{background:none;color:var(--ed-ink);font-weight:700}.nav-links .nav-link[data-status=active]:after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:2px;background:var(--ed-signal)}.navbar .nav-auth{gap:.85rem}.navbar .nav-auth>.nav-link,.navbar .nav-auth .nav-dropdown-toggle,.navbar .nav-auth>.nav-logout,.navbar .nav-auth>.nav-role{border:0;border-radius:0;background:none;min-width:0;padding:0;color:var(--ed-muted);font-weight:600;box-shadow:none}.navbar .nav-auth>.nav-link:hover,.navbar .nav-auth .nav-dropdown-toggle:hover,.navbar .nav-auth>.nav-logout:hover{background:none;border-color:transparent;color:var(--ed-ink)}.navbar .nav-auth>.nav-icon-btn,.navbar .nav-motion{width:2.25rem;height:2.25rem;color:var(--ed-ink-2)}.navbar .nav-motion{display:inline-grid;place-items:center;padding:0;border:0;background:none;cursor:pointer}.navbar .nav-motion svg{fill:currentColor}.navbar .nav-motion:hover,.navbar .nav-motion[aria-pressed=true]{color:var(--ed-ink)}.navbar .nav-auth .nav-dropdown-toggle{gap:.2rem;font-size:.72rem;font-weight:700;letter-spacing:.12em}.navbar .nav-auth>.nav-guest-pricing,.navbar .nav-auth .nav-profile-toggle{margin-inline-start:.15rem;padding-inline-start:.95rem;border-inline-start:1px solid var(--ed-line-strong);border-bottom:0;color:var(--ed-muted);font-size:.82rem;line-height:1}.navbar .nav-auth .nav-profile-toggle{gap:.28rem;font-size:.9rem;font-weight:500;letter-spacing:.01em;text-transform:none}.navbar .nav-auth>.nav-guest-pricing:hover,.navbar .nav-auth>.nav-guest-pricing[data-status=active],.navbar .nav-auth .nav-profile-toggle:hover,.navbar .nav-auth .nav-profile-toggle[data-status=active]{color:var(--ed-ink);border-bottom:0;border-inline-start-color:var(--ed-line-strong)}.navbar .nav-auth .nav-profile-toggle[data-status=active]{font-weight:700}.nav-profile-id{display:grid;gap:.2rem;padding:.75rem .9rem .65rem;border-bottom:1px solid var(--ed-line)}.nav-profile-email{overflow:hidden;color:var(--ed-ink);font-size:.84rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.nav-profile-role{color:var(--ed-muted);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.navbar .nav-auth>.nav-link.nav-register{display:inline-flex;align-items:center;justify-content:center;min-height:2.15rem;padding:0 .95rem;border-radius:999px;background:var(--ed-signal-deep);color:var(--ed-on-signal)}.navbar .nav-auth>.nav-link.nav-register:hover{background:var(--ed-signal-deep-hover);color:var(--ed-on-signal)}.navbar .nav-dropdown-menu{padding:.35rem 0;border:1px solid var(--ed-line-strong);border-radius:0;background:var(--ed-paper);box-shadow:none}.navbar .nav-dropdown-item{border-radius:0;font-weight:500}.navbar .nav-dropdown-item:hover{background:var(--ed-signal-wash);color:var(--ed-ink)}.navbar .nav-dropdown-item[data-status=active]{background:none;color:var(--ed-ink);font-weight:700}.navbar .nav-profile-menu{padding-top:0}
