@font-face{font-family:iA Writer Quattro;src:url(/folio/fonts/iAWriterQuattroS-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#f5f4f0;--fg:#2a2a2a;--fg-dim:#9c9a94;--fg-faint:#c9c7c1;--err:#c97a7a;--misspell:#a8534e;--sel:#2a2a2a1f;--overlay-bg:#f5f4f0eb;--panel-bg:#fbfaf7;--panel-border:#e3e1db;--heading-bg:#e4e1da;--tab-sub-bg:#ebe9e4;--tab-sub-bg-active:#dcd9d1;--chrome-opacity:.35;--chrome-opacity-hover:.85;--font:"iA Writer Quattro", "IBM Plex Sans", system-ui, sans-serif;--font-size:16px;--ui:19px;--text-size:var(--font-size);--line-height:1.65;--measure:38rem;--ease:.12s ease;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--tab-bar-height:2.9rem;--touch-target:44px}@media (max-width:700px){:root{--tab-bar-height:calc(52px + var(--safe-top))}}:root[data-theme=dark]{--bg:#111;--fg:#d6d3cc;--fg-dim:#66645f;--fg-faint:#3a3936;--err:#a86b6b;--misspell:#c4837c;--sel:#d6d3cc24;--overlay-bg:#111111eb;--panel-bg:#181817;--panel-border:#2a2927;--heading-bg:#232321;--tab-sub-bg:#1c1c1b;--tab-sub-bg-active:#2c2c2a;--chrome-opacity:.85;--chrome-opacity-hover:1}@media (prefers-reduced-motion:reduce){:root{--ease:0s}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font);font-size:var(--ui);line-height:var(--line-height);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background-color var(--ease), color var(--ease);margin:0}@supports (height:100dvh){html,body{height:100dvh}}#app{height:100%}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;padding:0}button:focus-visible,input:focus-visible{outline:1px solid var(--fg-dim);outline-offset:2px}::selection{background:var(--sel)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.start{min-height:100%;padding:calc(2rem + var(--safe-top)) calc(2rem + var(--safe-right)) calc(2rem + var(--safe-bottom)) calc(2rem + var(--safe-left));flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;display:flex}.start__actions{flex-direction:column;align-items:center;gap:.9rem;display:flex}.start__action{letter-spacing:.05em;text-transform:uppercase;color:var(--fg);transition:color var(--ease), opacity var(--ease);border-radius:4px;padding:.25rem .5rem;font-size:.85rem}@media (hover:hover){.start__action:hover{opacity:.7}}@media (pointer:coarse){.start__action{min-height:var(--touch-target);padding:.25rem 1rem}}.start__action--secondary{color:var(--fg-dim);font-size:.75rem}.start__note{text-align:center;max-width:28rem;color:var(--fg-dim);font-size:.8rem;line-height:1.5}.corner-right{right:calc(1.1rem + var(--safe-right));bottom:calc(1.1rem + var(--safe-bottom));z-index:5;align-items:center;gap:.4rem;display:flex;position:fixed}.status-dot{border-radius:50%;place-items:center;width:22px;height:22px;display:grid}@media (pointer:coarse){.status-dot,.menu-button{position:relative}.status-dot:before,.menu-button:before{content:"";inset:calc((22px - var(--touch-target)) / 2);position:absolute}.corner-right{gap:1rem}}.status-dot:after{content:"";background:var(--fg-dim);opacity:0;width:6px;height:6px;transition:opacity .3s ease, background-color var(--ease);border-radius:50%}.status-dot[data-state=dirty]:after,.status-dot[data-state=saving]:after{opacity:var(--chrome-opacity-hover)}.status-dot[data-state=error]:after{background:var(--err);opacity:.8}.status-dot[data-state=degraded]:after{opacity:var(--chrome-opacity-hover)}.status-dot__tip{white-space:nowrap;color:var(--fg-dim);opacity:0;pointer-events:none;transition:opacity var(--ease);margin-bottom:.4rem;font-size:.7rem;position:absolute;bottom:100%;right:0}.status-dot:focus-visible .status-dot__tip{opacity:1}@media (hover:hover){.status-dot:hover .status-dot__tip{opacity:1}}.brand{top:calc(1.1rem + var(--safe-top));right:calc(1.1rem + var(--safe-right));letter-spacing:.08em;text-transform:uppercase;height:22px;color:var(--fg-dim);opacity:var(--chrome-opacity-hover);-webkit-user-select:none;user-select:none;z-index:5;margin:0;font-size:.72rem;font-weight:400;line-height:22px;position:fixed}.done-count{top:calc(1.1rem + var(--safe-top));right:calc(4.2rem + var(--safe-right));font-variant-numeric:tabular-nums;height:22px;color:var(--misspell);opacity:var(--chrome-opacity-hover);-webkit-user-select:none;user-select:none;z-index:5;margin:0;font-size:.72rem;font-weight:400;line-height:22px;position:fixed}@media (max-width:700px){.brand{display:none}.done-count{top:auto;right:auto;left:calc(1.1rem + var(--safe-left));bottom:calc(1.1rem + var(--safe-bottom))}}.menu-button{width:22px;height:22px;color:var(--fg-dim);opacity:var(--chrome-opacity-hover);transition:opacity var(--ease);border-radius:4px;place-items:center;display:grid}.menu-button:focus-visible{opacity:var(--chrome-opacity-hover)}@media (hover:hover){.menu-button:hover{opacity:var(--chrome-opacity-hover)}}.menu-button svg line{stroke:currentColor;stroke-width:1px}.notice{left:50%;bottom:calc(1.4rem + var(--safe-bottom));color:var(--fg-dim);background:var(--panel-bg);border:1px solid var(--panel-border);opacity:0;z-index:6;text-align:center;border-radius:6px;max-width:90vw;padding:.4rem .8rem;font-size:.78rem;transition:opacity .2s;position:fixed;transform:translate(-50%)}@media (max-width:700px){.notice{bottom:calc(3.4rem + var(--safe-bottom))}}.notice--visible{opacity:1}.editor-root{height:100%;overflow:hidden}.cm-editor{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font);font-size:var(--font-size);line-height:1.55}@media (pointer:coarse){.cm-editor{font-size:max(16px, var(--font-size))}}.cm-editor.cm-focused{outline:none}.cm-editor .cm-scroller{font-family:inherit;line-height:inherit;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-y:auto}.cm-editor .cm-scroller::-webkit-scrollbar{display:none}.cm-editor .cm-content{max-width:none;padding:calc(var(--tab-bar-height) + .5rem) calc(1rem + var(--safe-right)) 60vh calc(1rem + var(--safe-left));caret-color:var(--fg);color:var(--fg);transition:color var(--ease);margin:0}@supports (height:100dvh){.cm-editor .cm-content{padding-bottom:60dvh}}@media (max-width:700px){.cm-editor .cm-content{padding-bottom:45dvh}}.cm-editor .cm-line{transition:color var(--ease);padding:0}html[data-zen] .cm-editor{line-height:var(--line-height)}html[data-zen] .cm-editor .cm-content{max-width:var(--measure);padding-top:max(22vh, calc(var(--tab-bar-height) + .5rem));margin:0 auto;padding-left:0;padding-right:0}html[data-zen] .cm-editor .cm-line{padding-bottom:.6em}html[data-zen] .cm-editor .cm-line:last-child{padding-bottom:0}html[data-zen] .cm-editor .cm-heading{background-clip:content-box}@media (max-width:700px){html[data-zen] .cm-editor .cm-content{padding-left:calc(1rem + var(--safe-left));padding-right:calc(1rem + var(--safe-right))}}html[data-zen] .cm-editor .cm-content{color:var(--fg-dim)}html[data-zen] .cm-editor.cm-focus-active .cm-active-para{color:var(--fg)}html[data-zen] .cm-editor.cm-focus-active .cm-active-para.cm-done{color:var(--fg-dim)}html[data-zen] .cm-editor .cm-link{color:inherit}html[data-zen] .cm-editor.cm-focused:not(.cm-cursor-placed)>.cm-scroller>.cm-cursorLayer .cm-cursor{display:none}html[data-zen] .cm-editor:not(.cm-cursor-placed) .cm-content{caret-color:#0000}.cm-editor .cm-cursor,.cm-editor .cm-dropCursor{border-left:2px solid var(--fg)}.cm-editor .cm-selectionBackground,.cm-editor.cm-focused .cm-selectionBackground{background:var(--sel)!important}.cm-editor .cm-content ::selection{background:var(--sel)!important}.cm-misspelled{color:var(--misspell)}.cm-link{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:var(--fg-faint);text-decoration-color:var(--fg-faint);text-underline-offset:2px;cursor:pointer}@media (hover:hover){.cm-link:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}}.cm-done{text-decoration:line-through;-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg);color:var(--fg-dim);text-decoration-thickness:1px}.cm-heading{background:var(--heading-bg)}.cm-editor .cm-line.cm-heading{background-clip:content-box;padding-bottom:7.5px}html[data-zen] .cm-editor .cm-line.cm-heading{padding-bottom:calc(.6em + 7.5px)}.overlay{background:var(--overlay-bg);z-index:10;justify-content:center;align-items:flex-start;padding-top:14vh;animation:.12s overlay-in;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.overlay{animation:none}}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;width:min(34rem,92vw);max-height:70vh;font-size:.9rem;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000014}@supports (height:100dvh){.overlay{padding-top:14dvh}.panel{max-height:70dvh}}.panel__list{scrollbar-width:thin;outline:none;margin:0;padding:.4rem 0;list-style:none;overflow-y:auto}.panel__item{cursor:pointer;color:var(--fg);justify-content:space-between;align-items:baseline;gap:1rem;padding:.45rem 1rem;display:flex}@media (pointer:coarse){.panel__item{min-height:var(--touch-target);align-items:center;padding-top:.3rem;padding-bottom:.3rem}}.panel__item--active{background:var(--sel)}.panel__item--info{cursor:default;color:var(--fg-dim);font-size:.8rem}.panel__item--info .panel__label{white-space:normal}.panel__item--info.panel__item--active{background:0 0}.panel__label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.panel__meta{color:var(--fg-dim);font-variant-numeric:tabular-nums;flex:none;font-size:.72rem}.panel__empty{color:var(--fg-dim);text-align:center;padding:1rem}.panel__footer{border-top:1px solid var(--panel-border);color:var(--fg-dim);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem;font-size:.72rem;display:flex}.panel__header{border-bottom:1px solid var(--panel-border);color:var(--fg-dim);align-items:center;gap:1rem;padding:.6rem 1rem;font-size:.72rem;display:flex}.panel__body{color:var(--fg);padding:1rem;line-height:1.55}.panel__body p{margin:0 0 .8rem}.panel__body p:last-child{margin-bottom:0}.panel__actions{border-top:1px solid var(--panel-border);justify-content:flex-end;align-items:center;gap:.6rem;padding:.7rem 1rem;display:flex}.panel__actions .status-dot{position:relative}.btn{border:1px solid var(--panel-border);color:var(--fg);transition:background-color var(--ease);border-radius:5px;padding:.4rem .9rem;font-size:.85rem}@media (hover:hover){.btn:hover{background:var(--sel)}}@media (pointer:coarse){.btn{min-height:var(--touch-target);padding:.4rem 1.1rem}}.btn--primary{border-color:var(--fg)}.btn--quiet{color:var(--fg-dim);border-color:#0000}.dict{flex-wrap:wrap;gap:.4rem;padding:.8rem 1rem;display:flex;overflow-y:auto}.dict__word{border:1px solid var(--panel-border);color:var(--fg);border-radius:999px;padding:.15rem .55rem;font-size:.8rem}@media (hover:hover){.dict__word:hover{color:var(--err);text-decoration:line-through}}@media (pointer:coarse){.dict__word{min-height:36px;padding:.15rem .75rem}.dict__word:after{content:" ×";color:var(--fg-dim)}}.history{scrollbar-width:thin;flex-direction:column;padding:.4rem 0;display:flex;overflow-y:auto}.history>.panel__meta{padding:.8rem 1rem}.history__row{color:var(--fg);align-items:center;gap:1rem;padding:.45rem 1rem;display:flex}.history__row+.history__row{border-top:1px solid var(--panel-border)}.history__date{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;flex:1;overflow:hidden}.history__words{color:var(--fg-dim);font-variant-numeric:tabular-nums;flex:none;font-size:.72rem}.history__download{flex:none;padding:.25rem .7rem;font-size:.75rem}.overlay--tall{padding-top:4vh}.panel--tall{max-height:92vh}@supports (height:100dvh){.overlay--tall{padding-top:4dvh}.panel--tall{max-height:92dvh}}@media (max-width:700px){.overlay,.overlay--tall{align-items:flex-end;padding:0}.panel,.panel--tall{width:100%;max-height:85dvh;padding-bottom:var(--safe-bottom);border-bottom:0;border-radius:14px 14px 0 0;font-size:17px;animation:.16s sheet-in}@keyframes sheet-in{0%{transform:translateY(12px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.panel,.panel--tall{animation:none}}}.tab-bar{--tab-pad:min(.3rem, .8vw);--tab-gap:min(.55rem, 1.75vw);--tab-inset:calc(var(--tab-pad) + 1px);height:var(--tab-bar-height);box-sizing:border-box;z-index:5;background:var(--bg);transition:background-color var(--ease);-webkit-user-select:none;user-select:none;padding:1.1rem 7rem 0 1.1rem;position:fixed;top:0;left:0;right:0}.tab-bar__strip{align-items:flex-start;gap:var(--tab-gap);scrollbar-width:none;overscroll-behavior-x:contain;margin:0 -.75rem;padding:0 .75rem;display:flex;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 .75rem calc(100% - .75rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 .75rem calc(100% - .75rem),#0000)}.tab-bar__strip::-webkit-scrollbar{display:none}.tab-bar__tab{--tab-max:calc((100% - (var(--tab-count) - 1) * var(--tab-gap)) / var(--tab-count));max-width:var(--tab-max);box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-size);padding:0 var(--tab-pad);color:var(--fg-dim);transition:background-color var(--ease), color var(--ease);border:1px solid #0000;border-radius:999px;flex:none;line-height:20px;overflow:hidden}@media (hover:hover){.tab-bar__tab:hover{color:var(--fg)}}.tab-bar__tab--active{color:var(--fg);border-color:var(--panel-border);background:var(--sel)}.tab-bar__tab--sub,.tab-bar__tab--parent{background:var(--tab-sub-bg)}.tab-bar__divider{width:1px;height:14px;margin:0 var(--tab-inset);background:var(--fg-dim);opacity:.55;border-radius:1px;flex:none;align-self:center}.tab-bar__divider[hidden]{display:none}.tab-bar__tab--sub.tab-bar__tab--active{background:var(--tab-sub-bg-active)}html[data-zen] .tab-bar__tab:not(.tab-bar__tab--active),html[data-zen] .tab-bar__divider{display:none}html[data-zen] .tab-bar__tab--active{color:var(--fg-dim);pointer-events:none;background:0 0;border-color:#0000;margin-left:0}html[data-zen] .tab-bar{pointer-events:none;background:0 0}@media (max-width:700px){.tab-bar{--tab-pad:10px;--tab-gap:14px;padding:calc(8px + var(--safe-top)) calc(1rem + var(--safe-right)) 8px calc(1rem + var(--safe-left))}.tab-bar__strip{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;touch-action:pan-x;align-items:center;scroll-padding-inline:.75rem}.tab-bar__tab{scroll-snap-align:center;touch-action:pan-x;max-width:42vw;min-height:36px;line-height:34px}}
