:root,:root[data-theme=dark]{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#242424;--field-bg: #1e1e1e;--field-fg: rgba(255, 255, 255, .87);--field-border: #3a3a3a;--app-bg: #1e1e1e;--panel-bg: rgba(30, 30, 30, .95);--control-border: rgba(255, 255, 255, .18);--control-fg: rgba(255, 255, 255, .76);--text-muted: rgba(255, 255, 255, .4);--text-subtle: rgba(255, 255, 255, .38);--control-muted: var(--text-muted);--control-handle: rgba(255, 255, 255, .68);--control-bg: rgba(255, 255, 255, .04);--menu-card-bg: color-mix(in srgb, var(--app-bg) 94%, var(--field-fg) 6%);--menu-card-border: rgba(255, 255, 255, .12);--menu-row-hover: color-mix(in srgb, var(--app-bg) 90%, var(--field-fg) 10%);--menu-row-border: rgba(255, 255, 255, .16);--menu-seg-bg: color-mix(in srgb, var(--app-bg) 92%, var(--field-fg) 8%);--menu-seg-border: rgba(255, 255, 255, .14);--menu-seg-active-bg: color-mix(in srgb, var(--app-bg) 84%, var(--field-fg) 16%);--menu-seg-active-border: rgba(255, 255, 255, .26);--sentence-wash: rgba(255, 255, 255, .04);--token-active-bg: color-mix(in srgb, var(--app-bg) 85%, var(--field-fg) 15%);--plain-text: var(--text-subtle);--focus-ring: rgba(189, 189, 189, .5);--reader-font-scale: 1;--glass-bg: rgba(24, 24, 26, .58);--glass-highlight: rgba(255, 255, 255, .14);--glass-shade: rgba(0, 0, 0, .32);--glass-border: rgba(255, 255, 255, .18);--glass-inner: rgba(255, 255, 255, .18);--glass-shadow: 0 1px 0 rgba(255, 255, 255, .14) inset, 0 14px 26px rgba(0, 0, 0, .32);--glass-blur: 13px;--glass-focus-ring: rgba(255, 255, 255, .32);--glass-focus-glow: rgba(90, 150, 255, .25);--page-gutter: 16px;--page-max-width: 920px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glass-surface{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--glass-highlight) 0%,rgba(255,255,255,.05) 42%,var(--glass-shade) 100%),var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.glass-surface:before{content:"";position:absolute;inset:1px;border-radius:inherit;background:linear-gradient(180deg,var(--glass-inner),rgba(255,255,255,0) 65%);pointer-events:none;opacity:.7}:root[data-reader-size=normal]{--reader-font-scale: 1}:root[data-reader-size=bigger]{--reader-font-scale: 1.2}:root[data-reader-size=big]{--reader-font-scale: 1.5}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--app-bg)}body:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top);background:var(--app-bg);z-index:1500;pointer-events:none}html{background-color:var(--app-bg)}.app-root{padding-top:calc(16px + env(safe-area-inset-top));padding-left:calc(var(--page-gutter) + env(safe-area-inset-left));padding-right:calc(var(--page-gutter) + env(safe-area-inset-right));padding-bottom:140px;font-family:system-ui,sans-serif;position:relative;max-width:var(--page-max-width);margin:0 auto}.text-preview-header{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--text-muted);margin:54px 2px 6px}.text-preview-panel{width:100%;min-height:140px;max-height:180px;padding:12px;box-sizing:border-box;background:var(--field-bg);color:var(--field-fg);border:1px solid var(--field-border);border-radius:0;overflow-y:auto;white-space:pre-wrap}.text-preview-panel.is-editing{min-height:220px;max-height:none;overflow:visible}.text-preview-input{width:100%;min-height:200px;max-height:none;padding:0;border:0;background:transparent;color:var(--field-fg);font-size:16px;line-height:1.4;resize:none;outline:none}.text-preview-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:10px}.text-preview-load{width:auto;padding:8px 14px}.text-preview-text{font-size:16px;line-height:1.4;color:var(--text-muted)}.text-preview-empty{font-size:14px;color:var(--text-subtle)}.text-preview-hint{margin-top:8px;font-size:12px;color:var(--text-subtle)}.tokenizer-error{color:#dc143c}.reader-spacer{height:0;margin-bottom:24px}.pill-btn{border-radius:999px;border:1px solid var(--field-border);color:var(--text-subtle);background:transparent;font-size:12px;padding:5px 9px;cursor:pointer;box-shadow:none}.sense-strip{position:fixed;top:env(safe-area-inset-top);left:0;right:0;z-index:2000;overflow:hidden;margin:0;color:var(--field-fg);background:color-mix(in srgb,var(--app-bg) 88%,var(--field-fg) 12%);border-top:0;border-bottom:1px solid var(--control-border);border-left:0;border-right:0;box-shadow:none;transition:transform .12s ease,filter .12s ease;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0}.sense-strip__inner{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:10px calc(var(--page-gutter) + env(safe-area-inset-right)) 10px calc(var(--page-gutter) + env(safe-area-inset-left));box-sizing:border-box}.sense-strip>*{position:relative;z-index:1}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass-surface{background:color-mix(in srgb,var(--glass-bg) 85%,var(--app-bg))}}.sense-strip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.sense-strip-content{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:6px}.sense-strip-header{display:flex;align-items:baseline;gap:8px;min-width:0}.sense-strip-word{font-size:calc(24px * var(--reader-font-scale, 1));font-weight:700;font-family:var(--reader-font, system-ui, sans-serif);padding-bottom:2px;border-bottom:1px solid var(--control-border);cursor:pointer}.sense-strip-pinyin{font-size:14px;color:var(--text-subtle)}.sense-strip-body{font-size:13px;line-height:1.35;overflow:hidden}.sense-strip-sense,.sense-strip-why{overflow:hidden;text-overflow:ellipsis}.sense-strip-sense{margin-bottom:6px;white-space:nowrap}.sense-strip-why{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}.sense-strip-empty{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-subtle)}.sense-strip-loading{font-size:13px;color:var(--text-subtle)}.sense-strip-error{color:#dc143c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sense-strip-stats{font-size:11px;color:var(--text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sense-strip-actions{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.sense-strip-speak{width:46px;height:46px;padding:0;border:1px solid var(--control-border);border-radius:999px;background:color-mix(in srgb,var(--app-bg) 92%,var(--field-fg) 8%);color:var(--text-subtle);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none}.sense-strip-speak svg{width:24px;height:24px;fill:currentColor}.sense-strip-speak:disabled{opacity:.5;cursor:default}.sense-strip-speak:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.sense-strip-speak.is-speaking{color:var(--field-fg)}.floating-actions-left,.floating-actions-right{position:fixed;bottom:calc(39px + env(safe-area-inset-bottom))}.floating-actions-left{left:16px;z-index:2400}.floating-actions-right{right:16px;z-index:2600}.floating-action{width:52px;height:52px;border-radius:999px;color:var(--control-fg);font-size:18px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;text-align:center;transition:transform .12s ease,background-color .12s ease,color .12s ease;background:color-mix(in srgb,var(--app-bg) 92%,var(--field-fg) 8%);border:1px solid var(--control-border);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.floating-action:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.floating-action:hover{background-color:color-mix(in srgb,var(--app-bg) 85%,var(--field-fg) 15%)}.floating-action:active{transform:scale(.98);background-color:color-mix(in srgb,var(--app-bg) 82%,var(--field-fg) 18%)}.floating-action-paste{font-weight:700}.floating-action-menu{color:var(--text-subtle)}.floating-action-menu.is-open{color:var(--control-fg)}.menu-drawer-overlay{position:fixed;inset:0;z-index:2500;background:#0000004d;display:flex;justify-content:flex-end}.menu-drawer{width:min(360px,70vw);max-width:70vw;height:100dvh;background:var(--field-bg);color:var(--field-fg);border-left:1px solid var(--field-border);border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:none;padding:calc(18px + env(safe-area-inset-top)) 16px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:20px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box}.menu-drawer *{box-sizing:border-box}@media(display-mode:standalone){.menu-drawer{width:70vw;max-width:70vw}}.drawer-header{display:flex;align-items:center;justify-content:space-between}.drawer-header-history{gap:8px}.drawer-header-title{flex-direction:column;align-items:flex-start;gap:2px}.drawer-header-stack{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.drawer-title{font-size:14px;color:var(--text-muted);letter-spacing:.3px;text-transform:uppercase}.drawer-subtitle{font-size:12px;color:var(--text-subtle);text-transform:none;letter-spacing:.2px}.drawer-section{display:flex;flex-direction:column;gap:12px}.drawer-section-title{font-size:12px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.1px;margin-bottom:2px}.drawer-section+.drawer-section{margin-top:6px}.drawer-note{font-size:12px;color:var(--text-subtle);padding:0 4px}.drawer-note-strong{color:var(--field-fg);font-weight:600}.drawer-control{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:0;background:var(--menu-card-bg);border:1px solid var(--menu-card-border);width:100%;min-width:0}.drawer-control-label{font-size:13px;font-weight:600;color:var(--field-fg);white-space:nowrap}.info-stack{display:flex;flex-direction:column;gap:10px}.info-block{gap:8px}.info-title{font-size:14px;font-weight:600}.info-body{font-size:12px;color:var(--text-subtle);line-height:1.5}.info-body strong{color:var(--field-fg);font-weight:600}.sync-note{margin-top:6px}.sync-note-ok{color:color-mix(in srgb,var(--text-subtle) 70%,#3ccf91)}.sync-note-error{color:color-mix(in srgb,var(--text-subtle) 40%,#ff6b6b)}.info-footer{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:12px;color:var(--text-muted)}.debug-pre{width:100%;margin:0;padding:8px 10px;border-radius:0;background:color-mix(in srgb,var(--field-bg) 80%,transparent);border:1px solid var(--field-border);color:var(--text-subtle);font-size:11px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.info-divider{color:var(--text-subtle)}.info-footer-text{display:block}.drawer-sizes{display:flex;flex-direction:column;gap:8px}.drawer-sizes-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:1 1 180px;width:100%}.drawer-theme{display:flex;flex-direction:column;gap:8px}.drawer-theme-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:1 1 180px;width:100%}.theme-option{border-radius:0;border:1px solid var(--menu-seg-border);background:var(--menu-seg-bg);color:inherit;min-height:38px;cursor:pointer;font-size:12px;letter-spacing:.2px}.theme-option.theme-dark{background:color-mix(in srgb,#0b0b0b 35%,var(--menu-seg-bg));color:#e6e6e6}.theme-option.theme-dark:hover,.theme-option.theme-dark:focus-visible,.theme-option.theme-dark:active{background:color-mix(in srgb,#0b0b0b 40%,var(--menu-seg-bg));color:#f0f0f0}.theme-option.theme-light{background:color-mix(in srgb,#ffffff 35%,var(--menu-seg-bg));color:#1b1b1b}.theme-option.theme-light:hover,.theme-option.theme-light:focus-visible,.theme-option.theme-light:active{background:color-mix(in srgb,#ffffff 45%,var(--menu-seg-bg));color:#1b1b1b}.theme-option.is-active{border-color:var(--menu-seg-active-border);background:var(--menu-seg-active-bg);box-shadow:none}.size-option{border-radius:0;border:1px solid var(--menu-seg-border);background:var(--menu-seg-bg);color:inherit;min-height:44px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:600;line-height:1}.size-option.is-active{border-color:var(--menu-seg-active-border);background:var(--menu-seg-active-bg);box-shadow:none}.size-normal{font-size:16px}.size-bigger{font-size:19px}.size-big{font-size:22px}.identity-block{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:0;border:1px solid var(--field-border);background:var(--control-bg)}.drawer-cta{border-radius:0;border:1px solid var(--control-border);background:var(--panel-bg);color:inherit;padding:8px 10px;font-size:13px;font-weight:600;cursor:pointer;text-align:left}.drawer-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:0;border:1px solid transparent;background:transparent;color:inherit;text-align:left;cursor:pointer;width:100%}.drawer-row-nav:hover,.drawer-row-nav:focus-visible{background:var(--menu-row-hover);border-color:var(--menu-row-border)}.drawer-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.drawer-row-title{font-size:14px;font-weight:600}.drawer-row-subtitle{font-size:12px;color:var(--text-subtle)}.drawer-chevron{font-size:14px;color:var(--text-subtle)}.drawer-value{font-size:12px;color:var(--text-subtle);white-space:nowrap}.drawer-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;font-weight:600;width:100%}.drawer-toggle input{transform:scale(1.2);transform-origin:left center;accent-color:var(--control-muted)}.auth-button{width:100%;border-radius:0;border:1px solid var(--control-border);background:var(--control-bg);color:inherit;padding:10px 12px;font-size:14px;font-weight:600;cursor:pointer}.auth-button:disabled{opacity:.6;cursor:default}.auth-form{display:flex;flex-direction:column;gap:8px}.auth-label{font-size:12px;color:var(--text-subtle)}.auth-input{border-radius:0;border:1px solid var(--field-border);background:var(--control-bg);color:inherit;padding:10px 12px;font-size:14px}.auth-helper{font-size:12px;color:var(--text-subtle)}.auth-error{font-size:12px;color:#e45c5c}.auth-panel{gap:12px}.auth-panel-title{font-size:14px;font-weight:600}.auth-panel-helper{font-size:12px;color:var(--text-subtle)}.auth-actions{display:flex;gap:10px;flex-wrap:wrap}.otp-input{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.otp-digit{border-radius:0;border:1px solid var(--field-border);background:var(--control-bg);color:inherit;padding:10px 0;font-size:16px;font-weight:600;text-align:center}.otp-digit:focus{outline:2px solid var(--focus-ring);outline-offset:1px}.history-overlay{position:fixed;inset:0;z-index:3000;background:#0000002e;display:flex;align-items:stretch;justify-content:flex-end}.history-panel{width:min(320px,78vw);height:100%;background:var(--field-bg);color:var(--field-fg);border-left:1px solid var(--field-border);box-shadow:-12px 0 30px #0003;padding:calc(12px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow-x:hidden}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.history-actions{display:flex;align-items:center;gap:8px}.history-edit{font-size:12px;padding:6px 10px}.history-title{font-size:13px;color:var(--text-muted)}.history-close{font-size:12px;padding:6px 10px}.history-list{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;flex:1}.history-empty{color:var(--text-subtle);font-size:13px;padding:8px 4px}.history-row{display:grid;grid-template-columns:1fr;align-items:center;gap:8px;padding:10px 0 10px 10px;border-bottom:1px solid var(--field-border);min-width:0;position:relative}.history-list-editing .history-row{grid-template-columns:1fr auto}.history-row:last-child{border-bottom:none}.history-row-current:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:999px;background:var(--field-fg);opacity:.5}.history-item{text-align:left;background:transparent;color:inherit;border:none;border-radius:0;padding:0;cursor:pointer;width:100%;min-width:0}.history-preview{font-size:14px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-meta{font-size:12px;color:var(--text-subtle)}.history-item[aria-current=true] .history-preview{font-weight:600}.history-remove{font-size:12px;padding:6px 10px}.history-remove:disabled{opacity:.7;cursor:default}.reader-view{line-height:1.64;font-size:calc(24px * var(--reader-font-scale, 1));line-break:strict;word-break:normal;overflow-wrap:break-word}.reader-view br{content:"";display:block;height:calc(1em * var(--reader-font-scale, 1))}.plain-text{color:var(--plain-text);display:inline-block;line-height:1;vertical-align:top;padding-top:.125em;margin-top:.1667em;user-select:none;-webkit-user-select:none}.token-wrap{display:inline-block;vertical-align:top}.token{cursor:pointer;padding:.125em .25em;border-radius:6px;line-height:1;vertical-align:top;background:transparent;border:1px solid transparent;margin-right:2px;display:inline-flex;flex-direction:column;align-items:center;gap:3px;user-select:none;-webkit-user-select:none}.token.is-active{background:var(--token-active-bg);border-color:var(--control-border);box-shadow:none}.token.has-trailing-punct{margin-right:0}.token-text{display:inline-block;margin-top:.1667em}.token-pinyin{font-size:12px;color:var(--text-subtle);display:block;text-align:center;line-height:1;margin-bottom:.25em}:root[data-reader-size=big] .token-pinyin{margin-top:.155em;margin-bottom:.12em}:root[data-reader-size=bigger] .token-pinyin{margin-top:.105em;margin-bottom:.17em}.token-pinyin.is-hidden{visibility:hidden}.sentence{border-radius:6px;padding:0;display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone}.sentence.is-active{background:var(--sentence-wash)}@media(max-width:720px){:root{--page-gutter: 14px;--page-max-width: none}.app-root{max-width:none;padding-left:calc(var(--page-gutter) + env(safe-area-inset-left));padding-right:calc(var(--page-gutter) + env(safe-area-inset-right))}.history-overlay{justify-content:center}.history-panel{width:100%;height:min(84vh,620px);margin-top:auto;border-left:none;border-top:1px solid var(--field-border);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -12px 30px #0003}}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:not(.glass-surface):hover{border-color:var(--focus-ring)}button.glass-surface:focus-visible{outline:2px solid var(--glass-focus-ring);outline-offset:2px;box-shadow:var(--glass-shadow),0 0 0 2px color-mix(in srgb,var(--glass-focus-ring) 70%,transparent),0 8px 20px var(--glass-focus-glow)}*:focus{outline:none}*:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}:root[data-theme=light]{color-scheme:light;color:#213547;background-color:#fff;--field-bg: #ffffff;--field-fg: #213547;--field-border: #c9c9c9;--app-bg: #ffffff;--panel-bg: rgba(255, 255, 255, .9);--control-border: rgba(0, 0, 0, .16);--control-fg: rgba(33, 53, 71, .8);--text-muted: rgba(33, 53, 71, .42);--text-subtle: rgba(33, 53, 71, .44);--control-muted: var(--text-muted);--control-handle: rgba(255, 255, 255, .95);--control-bg: rgba(0, 0, 0, .03);--menu-card-bg: #f4f4f4;--menu-card-border: rgba(0, 0, 0, .08);--menu-row-hover: #ececec;--menu-row-border: rgba(0, 0, 0, .12);--menu-seg-bg: #f6f6f6;--menu-seg-border: rgba(0, 0, 0, .1);--menu-seg-active-bg: #e6e6e6;--menu-seg-active-border: rgba(0, 0, 0, .22);--sentence-wash: rgba(0, 0, 0, .035);--token-active-bg: #e9e9e9;--plain-text: var(--text-subtle);--focus-ring: rgba(58, 58, 58, .5);--glass-bg: rgba(252, 253, 255, .7);--glass-highlight: rgba(255, 255, 255, .74);--glass-shade: rgba(0, 0, 0, .1);--glass-border: rgba(255, 255, 255, .74);--glass-inner: rgba(255, 255, 255, .84);--glass-shadow: 0 1px 0 rgba(255, 255, 255, .76) inset, 0 14px 28px rgba(20, 20, 40, .14);--glass-blur: 15px;--glass-focus-ring: rgba(90, 130, 200, .5);--glass-focus-glow: rgba(90, 130, 200, .28)}:root[data-theme=light] .sense-strip{background:#f1f1f1}:root[data-theme=light] .floating-action{background:#f2f2f2}:root[data-theme=light] a:hover{color:#747bff}:root[data-theme=light] button:not(.glass-surface){background-color:#f0f0f0}:root[data-theme=light] .pill-btn,:root[data-theme=light] .auth-button{background:#f0f0f0}:root[data-theme=light] .sense-strip .sense-strip-speak{background:#fafafa}:root[data-theme=light] .theme-option.theme-dark{background:#1e1e1ef2;color:#f5f5f5}:root[data-theme=light] .theme-option.theme-dark:hover,:root[data-theme=light] .theme-option.theme-dark:focus-visible,:root[data-theme=light] .theme-option.theme-dark:active{background:#1e1e1ef2;color:#f5f5f5}:root[data-theme=light] .theme-option.theme-light{background:#ffffffe6;color:#1b1b1b}:root[data-theme=light] .theme-option.theme-light:hover,:root[data-theme=light] .theme-option.theme-light:focus-visible,:root[data-theme=light] .theme-option.theme-light:active{background:#ffffffe6;color:#1b1b1b}.sense-strip.is-pressing{transform:none;filter:none}.sense-strip.glass-surface:before,.floating-action.glass-surface:before{content:none}
