:root{--paper:#fff;--ink:#1c1c1e;--mute:#6e6e73;--rule:#e5e5ea;--wash:#f4f4f6;--accent:#4f5bd5;--accent-ink:#fff;--accent-wash:color-mix(in srgb, var(--accent) 10%, var(--paper));--shadow:0 0 0 1px #0000000f, 0 8px 24px #0000001a;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-ja:"Hiragino Sans", "Yu Gothic UI", "Noto Sans JP", sans-serif;--text-sm:.8125rem;--text:.9375rem;--text-lg:1.0625rem;--text-xl:1.375rem;--gutter:clamp(1rem, 3vw, 1.5rem);--gap:1.25rem;--radius:6px;--control:1.75rem;--rail:15rem;--column:46rem;--max:84rem;--inset:max(var(--gutter), (100% - var(--max)) / 2 + var(--gutter));--hair:1px solid var(--rule);--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#161618;--ink:#ececef;--mute:#9b9ba1;--rule:#2c2c30;--wash:#222225;--accent:#929bf0;--accent-ink:#161618;--shadow:0 0 0 1px #ffffff14, 0 8px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#161618;--ink:#ececef;--mute:#9b9ba1;--rule:#2c2c30;--wash:#222225;--accent:#929bf0;--accent-ink:#161618;--shadow:0 0 0 1px #ffffff14, 0 8px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--font-ui);font-size:var(--text);font-variant-numeric:tabular-nums;margin:0;line-height:1.5}h1,h2,h3,h4,p,ol,ul,dl,dd,figure,blockquote{font-size:inherit;margin:0}ol,ul{padding:0;list-style:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}[lang=ja]{font-family:var(--font-ja)}::selection{background:var(--accent);color:var(--accent-ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.masthead{height:3rem;padding-inline:var(--inset);border-bottom:var(--hair);align-items:center;gap:.75rem;display:flex}.wordmark{font-size:var(--text);letter-spacing:-.02em;margin-right:.75rem;font-weight:650}.modes{scrollbar-width:none;flex:1;gap:.125rem;min-width:0;display:flex;overflow-x:auto}.modes a{border-radius:var(--radius);color:var(--mute);font-size:var(--text-sm);white-space:nowrap;padding:.25rem .625rem;font-weight:500;transition:color .12s,background .12s}.modes a:hover{color:var(--ink)}.modes a.active{background:var(--wash);color:var(--ink)}.shell{flex-direction:column;min-height:100vh;display:flex}.page{width:100%;max-width:var(--max);padding:1.5rem var(--gutter) 3rem;flex:1;margin-inline:auto}.app-footer{padding:1rem var(--inset);border-top:var(--hair);color:var(--mute);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}body:has(.player) .app-footer{padding-bottom:4.5rem}.btn{height:var(--control);border-radius:var(--radius);font-size:var(--text-sm);white-space:nowrap;flex:none;justify-content:center;align-items:center;padding-inline:.625rem;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:not(:disabled):hover{opacity:.85}.btn-primary:disabled{background:var(--wash);color:var(--mute)}.btn-ghost{color:var(--mute)}.btn-ghost:hover,.btn-ghost[aria-pressed=true]{background:var(--wash);color:var(--ink)}.icon-btn{width:var(--control);height:var(--control);border-radius:var(--radius);color:var(--mute);flex:none;place-items:center;font-size:1.0625rem;line-height:1;transition:background .12s,color .12s;display:inline-grid}.icon-btn:not(:disabled):hover,.icon-btn[aria-pressed=true]{background:var(--wash);color:var(--ink)}.icon-btn:disabled{opacity:.35}.segmented{border-radius:var(--radius);background:var(--wash);flex:none;gap:2px;padding:2px;display:inline-flex}.segmented button{color:var(--mute);font-size:var(--text-sm);white-space:nowrap;border-radius:4px;padding:.125rem .5rem;font-weight:500;transition:color .12s,background .12s}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px #0000000d,0 1px 2px #00000014}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.placeholder{color:var(--mute)}.form-error{border-radius:var(--radius);background:var(--wash);margin-top:.75rem;padding:.5rem .75rem}.busy-dots{letter-spacing:.2em;font-size:.5rem;animation:1s steps(3,end) infinite busy}@keyframes busy{0%{clip-path:inset(0 66% 0 0)}to{clip-path:inset(0 -10% 0 0)}}.skeleton-lines{background:repeating-linear-gradient(to bottom, var(--wash) 0 .65rem, transparent .65rem 1.25rem);height:4.5rem;animation:1.2s ease-in-out infinite alternate pulse;display:block}@keyframes pulse{to{opacity:.4}}.row-actions{opacity:0;align-items:center;gap:.125rem;transition:opacity .12s;display:flex}.turn:hover .row-actions,.version:hover .row-actions,.row-actions:focus-within{opacity:1}.row-actions:has(.speak:not(.is-idle)){opacity:1}.workspace{--side:var(--rail);grid-template-columns:var(--side) minmax(0, 1fr) min(var(--side), max(0px, 100% - var(--side) - 5rem - var(--column)));align-items:start;column-gap:2.5rem;display:grid}.workspace:has(.history.is-folded){--side:var(--control)}.workspace:has(.reading){grid-template-columns:var(--side) minmax(0, 1fr)}.mode{width:100%;max-width:var(--column);margin-inline:auto}.mode:has(.reading){max-width:none}.history{scrollbar-width:thin;max-height:calc(100vh - 3rem);position:sticky;top:1.5rem;overflow-y:auto}.history-new{border:var(--hair);border-radius:var(--radius);background:var(--paper);width:100%;height:2rem;font-size:var(--text-sm);align-items:center;gap:.5rem;margin-bottom:.5rem;padding:0 .625rem;font-weight:500;transition:background .12s;display:flex}.history-new:hover{background:var(--wash)}.history.is-folded .history-new{width:var(--control);height:var(--control);justify-content:center;padding:0}.history-fold{margin-bottom:.25rem}.history-list li{position:relative}.history-item{border-radius:var(--radius);text-align:left;width:100%;padding:.375rem 1.75rem .375rem .5rem;transition:background .12s;display:block}.history-item:hover,.is-active>.history-item{background:var(--wash)}.history-text{color:var(--mute);font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.is-active>.history-item .history-text{color:var(--ink)}.history-remove{opacity:0;width:1.375rem;height:1.375rem;position:absolute;top:.25rem;right:.125rem}.history-list li:hover .history-remove,.history-remove:focus-visible{opacity:1}.composer{border:var(--hair);background:var(--paper);border-radius:10px;transition:border-color .12s,box-shadow .12s}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.composer textarea{width:100%;font-size:var(--text-lg);resize:none;background:0 0;border:0;outline:0;padding:.75rem .875rem .25rem;line-height:1.45;display:block}.rich{min-height:calc(var(--rows,3) * 1.45em + 1rem);max-height:520px;font-size:var(--text-lg);overflow-wrap:anywhere;outline:0;padding:.75rem .875rem .25rem;line-height:1.45;overflow-y:auto}.rich:empty:before{content:attr(data-placeholder);color:var(--mute);pointer-events:none}.rich-blocks>*+*{margin-top:.6em}.rich-blocks h3{font-size:inherit;font-weight:650}.rich-blocks *+h3{margin-top:1.1em}.rich-blocks ul{padding-left:1.1em;list-style:outside}.rich-blocks li+li{margin-top:.2em}.rich-blocks li::marker{color:var(--mute)}.rich-blocks blockquote{border-left:2px solid var(--rule);color:var(--mute);margin:0;padding-left:.85em}.composer textarea::placeholder,.composer-context::placeholder{color:var(--mute)}.composer-context{width:100%;font-size:var(--text-sm);background:0 0;border:0;outline:0;padding:.375rem .875rem;display:block}.composer-bar{color:var(--mute);font-size:var(--text-sm);justify-content:flex-end;align-items:center;gap:.75rem;padding:.5rem;display:flex}.quiet-select{max-width:10rem;height:var(--control);border-radius:var(--radius);color:var(--mute);font-size:var(--text-sm);appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%236e6e73'/%3E%3C/svg%3E") right .45rem center no-repeat;border:0;margin-right:auto;padding:0 1.25rem 0 .5rem}.quiet-select:hover,.quiet-select:focus-visible{background-color:var(--wash);color:var(--ink)}.composer-target{width:8.5rem;height:var(--control);border:var(--hair);border-radius:var(--radius);color:var(--ink);font-size:var(--text-sm);text-align:right;background:0 0;padding:0 .5rem}.composer-target:focus{border-color:var(--accent);outline:0}.composer-count.is-over{color:var(--ink);font-weight:600}.knot-text{position:relative}.knot-arcs{pointer-events:none;position:absolute;inset:0;overflow:visible}.knot-arcs path{fill:none;stroke:var(--accent);stroke-width:1.25px;stroke-linecap:round;stroke-dasharray:600;stroke-dashoffset:600px;animation:draw .9s var(--ease) forwards .15s;transition:stroke-width .2s,opacity .2s}@keyframes draw{to{stroke-dashoffset:0}}.knot-text.has-active .knot-arcs path{opacity:.2}.knot-text.has-active .knot-arcs path.is-active{opacity:1;stroke-width:2px}.knot{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.2em;cursor:default;border-radius:2px;text-decoration-thickness:1px;transition:background .12s,color .12s;position:relative}.quote{background:var(--accent-wash);position:relative}.knot.is-lit,.quote.is-lit{background:var(--accent);color:var(--accent-ink);-webkit-text-decoration-color:var(--accent-ink);text-decoration-color:var(--accent-ink)}.knot-text.has-active .knot:not(.is-lit){-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 30%, transparent)}.specimen{margin-top:2rem}.sentence-text{font-size:var(--text-xl);letter-spacing:-.01em;line-height:1.6}.sentence-text[lang=ja]{letter-spacing:0}.sentence-translation{color:var(--mute);margin-top:.25rem}.sentence-meta{min-height:var(--control);color:var(--mute);font-size:var(--text-sm);align-items:center;gap:.375rem;margin:.5rem 0 0 -.375rem;display:flex}.section{border-top:var(--hair);margin-top:1.25rem;padding-top:1.25rem}.knot-item{border-radius:var(--radius);margin-inline:-.5rem;padding:.375rem .5rem .5rem;transition:background .12s}.knot-item+.knot-item{margin-top:.25rem}.knot-item.is-lit{background:var(--wash)}.knot-item.is-later,.note.is-later{box-shadow:inset 2px 0 0 var(--accent)}.knot-item.is-known>:not(.knot-head),.knot-item.is-known .knot-pieces{opacity:.45}.knot-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem;display:grid}.knot-pieces{font-weight:600;line-height:1.35}.knot-base,.knot-note{color:var(--mute);font-size:var(--text-sm);line-height:1.45}.culture-note+.culture-note{margin-top:.75rem}.culture-note h3{font-weight:600}.culture-note p{color:var(--mute)}.turn{border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem;margin-inline:-.5rem;transition:background .12s;display:grid}.turn:hover{background:var(--wash)}.turn-main{text-align:left;padding:.375rem .5rem .5rem;display:grid}.turn .row-actions{padding:.25rem .25rem 0 0}.turn-move,.version-label,.turn-reading,.turn-why{color:var(--mute);font-size:var(--text-sm)}.turn-english{margin-top:.25rem;font-weight:500}.versions{--hang:8.5rem}.scale{border-top:var(--hair);border-bottom:var(--hair);color:var(--mute);font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:1rem;margin-top:1.5rem;padding:.25rem 0;display:grid}.scale-track{background:linear-gradient(var(--rule) 0 0) 0 50% / 100% 1px no-repeat, repeating-linear-gradient(90deg, var(--rule) 0 1px, transparent 1px 10%) 0 50% / 100% 7px no-repeat;height:4rem;margin-inline:.5rem;position:relative}.scale-pin{border:2px solid var(--paper);background:var(--ink);width:.75rem;height:.75rem;box-shadow:0 0 0 1px var(--ink);transition:transform .2s var(--ease), background .15s, box-shadow .15s;border-radius:50%;margin:-.375rem 0 0 -.375rem;position:absolute;top:50%}.scale-pin.is-hot,.scale-pin:focus-visible{z-index:2;background:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:0;transform:scale(1.35)}.scale-pin-label{color:var(--mute);white-space:nowrap;pointer-events:none;font-size:.75rem;position:absolute;bottom:160%;left:50%;transform:translate(-50%)}.scale-pin:nth-child(2n) .scale-pin-label{top:160%;bottom:auto}.scale-pin.is-hot .scale-pin-label{color:var(--ink);transform:translate(-50%)scale(.74)}.version-list{margin-top:.5rem}.version{grid-template-columns:var(--hang) minmax(0, 1fr);column-gap:var(--gap);border-bottom:var(--hair);padding:1rem 0;display:grid}.version-rail{align-content:start;gap:.5rem;padding-top:.2rem;display:grid}.version-label{color:var(--ink);font-size:var(--text-sm);font-weight:600;line-height:1.3;transition:color .15s}.version.is-hot .version-label{color:var(--accent)}.version-gauge{background:var(--rule);border-radius:2px;height:3px;display:block}.version-gauge span{background:var(--ink);transform-origin:0;height:100%;animation:grow .6s var(--ease) backwards .15s;border-radius:2px;transition:background .15s;display:block}.version.is-hot .version-gauge span{background:var(--accent)}@keyframes grow{0%{transform:scaleX(0)}}.version-text{font-size:var(--text-lg);line-height:1.4}.version-text mark,.version-keys mark{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.2em;background:0 0}.version-reading{color:var(--mute);margin-top:.125rem}.version-reading span{font-family:var(--font-ui)}.version-back{color:var(--mute);font-size:var(--text-sm);margin-top:.125rem;font-style:italic}.version-notes{font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr);gap:.125rem .75rem;margin:.625rem 0 0;display:grid}.version-notes dt{color:var(--mute);letter-spacing:.02em;text-transform:uppercase;font-size:.75rem;font-weight:600;line-height:1.6}.version-notes dd{margin:0}.version-keys{color:var(--mute);font-size:var(--text-sm);gap:.125rem;margin-top:.5rem;display:grid}.version-keys mark{margin-right:.25rem}.version .row-actions{margin:.375rem 0 0 -.375rem}.levers{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem 2rem;margin-top:1.5rem;display:grid}.levers-title{font-size:var(--text-sm);margin-bottom:.375rem;font-weight:600}.pitfalls{gap:.5rem;display:grid}.pitfalls li{display:grid}.pitfalls s{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.pitfalls span{color:var(--mute);font-size:var(--text-sm)}@media (width<=640px){.scale{grid-template-columns:minmax(0,1fr)}.scale-end,.scale-pin-label{display:none}.version{grid-template-columns:minmax(0,1fr);row-gap:.5rem}.version-rail{grid-template-columns:auto 5rem;align-items:center;gap:.75rem}}.reading{max-width:calc(1.75rem + 38rem + 18rem + 2 * var(--gap));margin-inline:auto}.reading-bar{z-index:5;border-bottom:var(--hair);background:var(--paper);flex-wrap:wrap;align-items:center;gap:.125rem .375rem;padding-block:.5rem;display:flex;position:sticky;top:0}.progress{background:var(--accent);width:100%;height:1px;transform:scaleX(var(--p));transform-origin:0;transition:transform .3s var(--ease);position:absolute;bottom:-1px;left:0}.para{column-gap:var(--gap);grid-template-columns:1.75rem minmax(0,38rem) minmax(0,18rem);align-items:start;padding-block:1rem;scroll-margin-top:3rem;display:grid}.para-join{height:0;position:relative}.para-join:before{content:"";position:absolute;inset:-.75rem 0}.para-join-btn{z-index:2;top:0;left:calc(1.75rem + var(--gap));background:var(--paper);box-shadow:0 0 0 1px var(--rule);opacity:0;transition:opacity .12s;position:absolute;transform:translateY(-50%)}.para-join:hover .para-join-btn,.para-join-btn:focus-visible{opacity:1}.para-side{font-size:var(--text-sm);justify-items:center;gap:.125rem;display:grid}.para-num{color:var(--rule);line-height:1.75rem;transition:color .3s}.para.is-done .para-num{color:var(--mute)}.para-side .icon-btn{opacity:0;transition:opacity .12s,background .12s,color .12s}.para:hover .para-side .icon-btn:not(:disabled),.para-side .icon-btn[aria-pressed=true],.para-side .icon-btn:focus-visible,.para-side .speak:not(.is-idle){opacity:1}.para-tr{font-size:.6875rem;font-weight:600}.para-main{gap:.5rem;display:grid;position:relative}.para.is-fresh .para-num{color:var(--accent);animation:para-pulse 1.2s var(--ease)}@keyframes para-pulse{0%{transform:scale(1)}25%{transform:scale(1.35)}to{transform:scale(1)}}.para.is-fresh .para-main:after{content:"";border-radius:var(--radius);background:linear-gradient(100deg, transparent 35%, color-mix(in srgb, var(--accent) 16%, transparent) 50%, transparent 65%) no-repeat;pointer-events:none;background-size:250% 100%;animation:1.2s ease-in-out para-sheen;position:absolute;inset:-.25rem -.5rem}@keyframes para-sheen{0%{background-position:100% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){.para.is-fresh .para-num{animation:none}.para.is-fresh .para-main:after{display:none}}.para-text{font-size:var(--text-lg);line-height:1.65}.para-text[lang=ja]{line-height:1.9}.line-kind{color:var(--mute);font-family:var(--font-ui);vertical-align:.12em;margin-inline:.15em .45em;line-height:1;display:inline-block}.line-kind-heading:before{content:"H";border:1px solid;border-radius:3px;padding:.12em .28em;font-size:.625rem;font-weight:600;display:block}.line-kind-item:before{content:"";background:currentColor;border-radius:50%;width:.35em;height:.35em;display:block}.line-kind-quote:before{content:"“";font-size:1.35em;font-weight:600;line-height:.5;display:block;transform:translateY(.32em)}.ln-heading{font-weight:650}.ln-quote{color:var(--mute)}.para-translation{color:var(--mute);line-height:1.55}.para-notes{grid-template-columns:minmax(0,1fr);align-content:start;gap:.25rem;display:grid;position:sticky;top:3.25rem}.note{border-radius:var(--radius);font-size:var(--text-sm);margin-inline:-.5rem;padding:.375rem .5rem .5rem;line-height:1.45;transition:background .12s}.note.is-hot{background:var(--wash)}.note h4{font-size:var(--text);align-items:flex-start;gap:.25rem;font-weight:600;display:flex}.note-c p{color:var(--mute)}.note-title{margin-right:auto}.knot-text.has-sentences{cursor:pointer}.knot-text.has-sentences [data-s]{border-radius:2px;transition:background .12s}.knot-text .in-hover{background:var(--wash)}.knot-text .in-sel{background:var(--accent-wash)}.knot-text .in-hover.knot.is-lit,.knot-text .in-hover.quote.is-lit,.knot-text .in-sel.knot.is-lit,.knot-text .in-sel.quote.is-lit{background:var(--accent)}.sent-close{color:var(--mute);font-family:var(--font-ui);opacity:0;pointer-events:none;margin-left:.25em;padding:0 .1em;font-size:.9em;line-height:1;transition:opacity .12s,color .12s}.sent-close.is-shown,.sent-close:focus-visible{opacity:1;pointer-events:auto;cursor:pointer}.sent-close:hover{color:var(--ink)}.note-group{grid-template-columns:minmax(0,1fr);gap:.25rem;display:grid}.note-group+.note-group{margin-top:.75rem}.note-speak{font-size:var(--text-sm);align-items:center;gap:.25rem;margin-inline:-.375rem;display:flex}.note-sentence{min-width:0;color:var(--mute);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.pick{z-index:20;border-radius:var(--radius);background:var(--ink);box-shadow:var(--shadow);display:flex;position:fixed;overflow:hidden;transform:translate(-50%,calc(-100% - 8px))}.pick button{color:var(--paper);font-size:var(--text-sm);padding:.3125rem .625rem;font-weight:500}.pick button:hover{background:var(--accent);color:var(--accent-ink)}.note-menu{display:inline-flex;position:relative}.note-menu-btn{width:1.5rem;height:1.25rem;color:var(--mute);opacity:0;border-radius:4px;place-items:center;line-height:1;transition:opacity .12s,background .12s;display:grid}.knot-item:hover .note-menu-btn,.note:hover .note-menu-btn,.note-menu.is-open .note-menu-btn,.note-menu-btn:focus-visible{opacity:1}.note-menu:hover .note-menu-btn,.note-menu.is-open .note-menu-btn{background:var(--rule);color:var(--ink)}.note-menu-list{z-index:15;min-width:7rem;padding-top:4px;display:none;position:absolute;top:100%;right:0}.note-menu:hover .note-menu-list,.note-menu:focus-within .note-menu-list,.note-menu.is-open .note-menu-list{display:grid}.note-menu-list button{background:var(--paper);color:var(--ink);font-size:var(--text-sm);text-align:left;white-space:nowrap;box-shadow:var(--shadow);align-items:center;gap:.375rem;padding:.3125rem .5rem;font-weight:500;display:flex}.note-menu-list button:first-child{border-radius:var(--radius) var(--radius) 0 0}.note-menu-list button:last-child{border-radius:0 0 var(--radius) var(--radius)}.note-menu-list button:only-child{border-radius:var(--radius)}.note-menu-list button:before{content:"";text-align:center;width:.8rem}.note-menu-list button[aria-checked=true]:before{content:"✓"}.note-menu-list button:hover,.note-menu-list button:focus-visible{background:var(--wash);outline:none}.more,.later-list{max-width:calc(1.75rem + var(--gap) + 38rem);padding-left:calc(1.75rem + var(--gap));margin-top:1.5rem}.later-list h2{margin-bottom:.5rem;font-weight:600}.later-item{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;padding-block:.375rem;display:grid;position:relative}.later-where{top:.5rem;left:calc(-1.75rem - var(--gap));width:1.75rem;color:var(--mute);font-size:var(--text-sm);text-align:center;position:absolute}.later-where:hover{color:var(--ink)}.later-text,.later-body h3{font-weight:600}.later-note{color:var(--mute);font-size:var(--text-sm)}::highlight(later){background-color:var(--wash);-webkit-text-decoration:underline dotted 2px var(--ink);text-decoration:underline dotted 2px var(--ink);text-underline-offset:.25em}.dissect-pop{z-index:30;background:var(--paper);width:min(440px,100vw - 32px);max-height:min(70vh,560px);box-shadow:var(--shadow);animation:pop-in .15s var(--ease);border-radius:10px;gap:.5rem;padding:.875rem 1rem 1rem;display:grid;position:absolute;overflow-y:auto}@keyframes pop-in{0%{opacity:0;translate:0 4px}}.dissect-pop-close{z-index:2;margin-bottom:calc(var(--control) * -1 - .5rem);background:var(--paper);justify-self:end;position:sticky;top:0}.dissect-pop-text{font-size:var(--text-lg);padding-right:2rem;line-height:1.8}.dissect-pop-translation{color:var(--mute);font-size:var(--text-sm)}.dissect-pop-body{gap:.25rem;display:grid}.shelf-item{border-radius:var(--radius);grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:baseline;gap:.75rem;margin-inline:-.5rem;padding:.5rem;transition:background .12s;display:grid}.shelf-item:hover{background:var(--wash)}.lang-code,.shelf-meta{color:var(--mute);font-size:var(--text-sm)}.shelf-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entry-bar{justify-content:space-between;margin-inline:-.625rem;display:flex}.review-entry+.review-entry{border-top:var(--hair);margin-top:1rem;padding-top:1rem}.review-source{color:var(--mute);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.review-source:hover{color:var(--ink)}.review-item{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem;padding-block:.25rem;display:grid}.review-text{font-weight:500}.review-meaning{color:var(--mute);font-size:var(--text-sm);display:block}.login-page{flex-direction:column;min-height:100vh;display:flex}.login-top{height:3rem;padding-inline:var(--inset);align-items:center;display:flex}.login{width:min(24rem,100%);padding:2rem var(--gutter) 3rem;flex:1;align-content:center;justify-items:center;gap:2rem;margin-inline:auto;display:grid}.login-sample{border:var(--hair);background:var(--wash);text-align:center;border-radius:12px;width:100%;margin:0;padding:1.5rem 1.25rem 1rem}.login-sample-text{font-size:var(--text-lg);line-height:2.4}.login-sample figcaption{color:var(--mute);font-size:var(--text-sm);margin-top:.25rem;transition:color .15s}.login-sample figcaption.is-lit{color:var(--ink)}.login-sample figcaption strong{color:var(--ink);font-weight:600}.login-card{text-align:center;justify-items:center;gap:.75rem;width:100%;display:grid}.login-card h1{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:650}.login-sub{color:var(--mute);margin-bottom:.5rem}.login-note{color:var(--ink);font-size:var(--text-sm)}.login-consent{max-width:20rem;color:var(--mute);font-size:.75rem;line-height:1.5}.login-consent a{text-underline-offset:2px;white-space:nowrap;text-decoration:underline}.login-google{isolation:isolate;border:var(--hair);background:var(--paper);width:100%;height:2.75rem;color:var(--ink);font-size:var(--text);border-radius:8px;gap:.625rem;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000d}.login-google:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink) 18%, var(--rule));background:var(--wash);box-shadow:0 2px 6px #00000014}.login-google:after{content:"";z-index:-1;background:linear-gradient(105deg, transparent 15%, color-mix(in srgb, var(--accent) 18%, transparent) 50%, transparent 85%);pointer-events:none;width:35%;animation:3.6s ease-in-out .6s infinite glaze;position:absolute;inset:0 auto 0 0;transform:translate(-120%)skew(-18deg)}@keyframes glaze{0%{transform:translate(-120%)skew(-18deg)}50%,to{transform:translate(320%)skew(-18deg)}}.login-google:disabled:after,.login-google:hover:after{opacity:0;animation:none}@media (prefers-reduced-motion:reduce){.login-google:after{opacity:0;animation:none}}.google-mark{flex:none}.speak.is-playing,.speak.is-loading{color:var(--accent)}.speak.is-loading svg{animation:.9s ease-in-out infinite alternate pulse}.player{z-index:30;padding:.375rem var(--inset);border-top:var(--hair);background:var(--paper);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.25rem 1rem;display:grid;position:fixed;bottom:0;left:0;right:0}.player-controls,.player-opts{align-items:center;gap:.125rem;display:flex}.player-btn{min-width:2rem;height:var(--control);border-radius:var(--radius);color:var(--mute);padding-inline:.25rem;font-size:.75rem;font-weight:500;transition:background .12s,color .12s}.player-btn:not(:disabled):hover,.player-btn[aria-pressed=true]{background:var(--wash);color:var(--ink)}.player-btn:disabled{opacity:.35}.player-play{color:var(--ink);place-items:center;display:inline-grid}.player-track{min-width:0;display:grid}.player-text{color:var(--mute);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player.is-error .player-text{color:var(--ink)}.player-scrub{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.player-time{color:var(--mute);font-size:.75rem}.player-scrub input[type=range]{--p:0%;appearance:none;cursor:pointer;background:0 0;width:100%;height:1.25rem;margin:0}.player-scrub input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--ink) var(--p), var(--rule) var(--p));border-radius:2px;height:3px}.player-scrub input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--ink) var(--p), var(--rule) var(--p));border-radius:2px;height:3px}.player-scrub input[type=range]::-webkit-slider-thumb{background:var(--ink);appearance:none;border:0;border-radius:50%;width:10px;height:10px;margin-top:-3.5px}.player-scrub input[type=range]::-moz-range-thumb{background:var(--ink);border:0;border-radius:50%;width:10px;height:10px}.player-scrub input[type=range]:disabled{cursor:default;opacity:.5}.player.is-loading .player-scrub input[type=range]::-webkit-slider-runnable-track{animation:.9s ease-in-out infinite alternate pulse}.player-rate{height:var(--control);border-radius:var(--radius);color:var(--mute);background:0 0;border:0;font-size:.75rem;font-weight:500}@media (hover:none){.history-remove,.note-menu-btn,.row-actions,.para-join-btn,.para-side .icon-btn:not(:disabled){opacity:1}}@media (width<=1180px){.para{grid-template-columns:1.75rem minmax(0,1fr)}.para-notes{grid-column:2;margin-top:.75rem;position:static}}@media (width<=860px){:is(.workspace,.workspace:has(.history.is-folded)){grid-template-columns:minmax(0,1fr);row-gap:.75rem}.history{gap:.25rem;max-height:none;display:flex;position:static;overflow:visible}.history-fold{margin:0}.history .skeleton-lines{height:var(--control);flex:1}.history-list{scrollbar-width:none;scroll-snap-type:x proximity;flex:1;gap:.25rem;min-width:0;display:flex;overflow-x:auto}.history-list li{scroll-snap-align:start;flex:0 0 11rem}.history-text{-webkit-line-clamp:1}}@media (width<=640px){.masthead{flex-wrap:wrap;row-gap:.25rem;height:auto;padding-block:.5rem}.wordmark{margin-right:auto}.modes{flex:0 0 100%;order:1;margin-inline:-.625rem}.para,.more,.later-list{grid-template-columns:minmax(0,1fr);padding-left:0;display:grid}.more,.later-list{display:block}.para-notes{grid-column:1}.para-join-btn{left:0}.para-side{margin-bottom:.25rem;display:flex}.later-where{text-align:left;grid-column:1/-1;width:auto;position:static}.shelf-item{grid-template-columns:1.5rem minmax(0,1fr)}.shelf-meta{grid-column:2}.player{grid-template-columns:1fr auto}.player-track{grid-area:1/1/auto/-1}.dissect-pop{border-radius:10px 10px 0 0;width:100%;max-height:65vh;position:fixed;bottom:0;right:0;top:auto!important;left:0!important;transform:none!important}}.profile{position:relative}.avatar{width:var(--control);height:var(--control);background:var(--wash);color:var(--ink);font-size:var(--text-sm);border-radius:50%;place-items:center;font-weight:600;transition:background .12s;display:grid}.avatar:hover,.profile.is-open .avatar{background:var(--rule)}.profile-area{align-items:center;gap:.625rem;display:flex}.upgrade{height:var(--control);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--rule));color:var(--accent);font-size:var(--text-sm);border-radius:999px;align-items:center;padding:0 .75rem;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.upgrade:hover{border-color:var(--accent);background:var(--accent-wash)}.avatar.is-pro{background:linear-gradient(var(--wash), var(--wash)) padding-box, conic-gradient(from 200deg, #a8781c, #e9c766, #fff1c1, #d4a83a, #9c6f16, #e3bd57, #a8781c) border-box;border:1.5px solid #0000;box-shadow:0 0 0 3px #d4a83a24}.avatar.is-pro:hover,.profile.is-open .avatar.is-pro{background:linear-gradient(var(--rule), var(--rule)) padding-box, conic-gradient(from 200deg, #a8781c, #e9c766, #fff1c1, #d4a83a, #9c6f16, #e3bd57, #a8781c) border-box}.plan-pro{background:linear-gradient(100deg,#9c6f16,#d4a83a 45%,#b8892a);color:#0000;-webkit-background-clip:text;background-clip:text}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .plan-pro{background-image:linear-gradient(100deg,#e3bd57,#fff1c1 45%,#d4a83a)}}@media (width<=640px){.upgrade{padding:0 .625rem}}.profile-menu{z-index:30;background:var(--paper);width:16rem;box-shadow:var(--shadow);font-size:var(--text-sm);border-radius:10px;padding:.375rem;display:grid;position:absolute;top:calc(100% + 6px);right:0}.profile-email{color:var(--mute);text-overflow:ellipsis;white-space:nowrap;padding:.375rem .5rem;overflow:hidden}.profile-plan{border-radius:var(--radius);gap:.375rem;margin-bottom:.25rem;padding:.5rem;font-weight:600;display:grid}.profile-mute{color:var(--mute);font-weight:400}.profile-item{border-radius:var(--radius);text-align:left;padding:.375rem .5rem}.profile-plan:hover,.profile-item:hover,.profile-item:focus-visible{background:var(--wash)}.profile-error{padding:.25rem .5rem}.meter{background:linear-gradient(var(--accent), var(--accent)) no-repeat 0 0 / calc(var(--p,0) * 100%) 100%, var(--rule);border-radius:2px;height:3px;display:block}.account{justify-items:start;gap:2rem;max-width:26rem;display:grid}.account-who{border-bottom:var(--hair);gap:.125rem;width:100%;padding-bottom:1.25rem;display:grid}.account-email{font-weight:600}.account-current,.account-offer{gap:.5rem;width:100%;display:grid}.account-plan{font-size:var(--text-xl);align-items:baseline;gap:.5rem;font-weight:650;display:flex}.account-plan span,.account-mute{color:var(--mute);font-size:var(--text-sm);font-weight:400}.account-current .meter{margin-top:.5rem}.account-offer .segmented{justify-self:start}.account-price{letter-spacing:-.03em;align-items:baseline;gap:.35rem;margin-top:.5rem;font-size:2.25rem;font-weight:700;display:flex}.account-price span{color:var(--mute);font-size:var(--text);letter-spacing:0;font-weight:400}.account-features{gap:.375rem;margin:.25rem 0 .75rem;display:grid}.account-features li{grid-template-columns:1.1rem 1fr;display:grid}.account-features li:before{content:"✓";color:var(--accent);font-weight:700}.account-offer .btn-primary{justify-self:stretch;height:2.5rem}.legal-links{color:var(--mute);font-size:var(--text-sm);flex-wrap:wrap;gap:.25rem 1rem;display:flex}.legal-links a:hover{color:var(--ink)}.reading-hint{color:var(--mute);font-size:var(--text-sm)}.reading-bar-gap{flex:1}.examples{margin-top:1.75rem}.examples-label{color:var(--mute);font-size:var(--text-sm);margin-bottom:.5rem}.examples-list{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem;display:grid}.example-card{border:var(--hair);background:var(--paper);text-align:left;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:.25rem .625rem;padding:.75rem .875rem;transition:border-color .12s,background .12s,box-shadow .12s;display:grid}.example-card:hover{border-color:color-mix(in srgb, var(--ink) 18%, var(--rule));box-shadow:0 2px 8px #0000000d}.example-card[aria-pressed=true]{border-color:var(--accent);background:var(--accent-wash)}.example-card .lang-code{grid-row:span 2;margin-top:.15rem}.example-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.example-sub{color:var(--mute);font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notice-slot{z-index:40;padding-inline:var(--gutter);pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:1.25rem;left:0;right:0}body:has(.player) .notice-slot{bottom:5rem}.notice{background:var(--ink);max-width:34rem;color:var(--paper);font-size:var(--text-sm);box-shadow:var(--shadow);pointer-events:auto;animation:notice-in .2s var(--ease);border-radius:10px;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem 1rem;display:flex}.notice .icon-btn{color:inherit;opacity:.7}.notice-link{text-underline-offset:2px;flex:none;font-weight:600;text-decoration:underline}@keyframes notice-in{0%{opacity:0;transform:translateY(6px)}}
