:root{--primary: #6750a4;--on-primary: #ffffff;--primary-container: #eaddff;--on-primary-container: #21005d;--secondary-container: #e8def8;--on-secondary-container: #1d192b;--surface: #fef7ff;--surface-c: #f3edf7;--surface-ch: #ece6f0;--surface-chh: #e6e0e9;--surface-variant: #e7e0ec;--on-surface: #1d1b20;--on-surface-variant: #49454f;--outline: #79747e;--outline-variant: #cac4d0;--error: #b3261e;--error-container: #f9dedc;--on-error-container: #410e0b;--inverse-surface: #322f35;--inverse-on-surface: #f5eff7;--green: #2e7d32;--green-bg: rgba(67, 160, 71, .2);--scrim: rgba(0, 0, 0, .32);color-scheme:light}@media(prefers-color-scheme:dark){:root{--primary: #d0bcff;--on-primary: #381e72;--primary-container: #4f378b;--on-primary-container: #eaddff;--secondary-container: #4a4458;--on-secondary-container: #e8def8;--surface: #141218;--surface-c: #211f26;--surface-ch: #2b2930;--surface-chh: #36343b;--surface-variant: #49454f;--on-surface: #e6e0e9;--on-surface-variant: #cac4d0;--outline: #938f99;--outline-variant: #49454f;--error: #f2b8b5;--error-container: #8c1d18;--on-error-container: #f9dedc;--inverse-surface: #e6e0e9;--inverse-on-surface: #322f35;--green: #81c784;--green-bg: rgba(129, 199, 132, .22);--scrim: rgba(0, 0, 0, .5);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--surface);color:var(--on-surface);font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-text-size-adjust:100%;overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}button{font:inherit;color:inherit}hr{border:0;border-top:1px solid var(--outline-variant);margin:8px 0}a{color:var(--primary)}.layer{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface)}.layer.below{visibility:hidden;pointer-events:none}.screen{display:flex;flex-direction:column;height:100%;position:relative}.screen-body{flex:1;min-height:0;position:relative}.screen-body.scroll{overflow-y:auto;-webkit-overflow-scrolling:touch}.content{max-width:840px;margin:0 auto;padding:4px 0 calc(24px + env(safe-area-inset-bottom))}.content.page{padding:16px 16px calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.content.page .flush{margin:0 -16px}.grow{flex:1}.row{display:flex;align-items:center;gap:8px}.primary{color:var(--primary)}.hint{margin:0;font-size:13px;color:var(--on-surface-variant)}.hint.pad{padding:8px 16px;color:var(--outline)}.empty{padding:24px;color:var(--on-surface-variant)}.error-text{color:var(--error);margin:0}.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.clamp6{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.icon{display:block;flex-shrink:0}.top-bar{display:flex;align-items:center;gap:4px;min-height:64px;padding:env(safe-area-inset-top) 4px 0;padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right));background:var(--surface);flex-shrink:0}.top-bar-nav,.top-bar-actions{display:flex;align-items:center}.top-bar-title{flex:1;min-width:0;font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:12px}.top-bar.center .top-bar-title{display:flex;justify-content:center;padding:0}.top-bar.center .top-bar-nav,.top-bar.center .top-bar-actions{min-width:96px}.top-bar.center .top-bar-actions{justify-content:flex-end}.icon-btn{width:48px;height:48px;border:0;background:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--on-surface-variant);flex-shrink:0}.icon-btn:active{background:color-mix(in srgb,var(--on-surface) 12%,transparent)}.icon-btn:disabled{opacity:.38}.icon-btn.small{width:36px;height:36px}.icon-btn.primary{color:var(--primary)}.btn{border-radius:20px;height:40px;padding:0 20px;font-weight:500;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;flex-shrink:0}.btn.text{border:0;background:none;color:var(--primary);padding:0 12px}.btn.outlined{border:1px solid var(--outline);background:none;color:var(--primary);align-self:flex-start}.btn.link{align-self:flex-start;margin-top:-8px}.btn:active{background:color-mix(in srgb,var(--primary) 12%,transparent)}.list-item{display:flex;align-items:center;gap:16px;width:100%;min-height:56px;padding:8px 16px;border:0;background:none;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none}div.list-item{cursor:default}.list-item:active{background:color-mix(in srgb,var(--on-surface) 8%,transparent)}.list-item.divided{border-bottom:1px solid var(--outline-variant)}.li-body{flex:1;min-width:0}.li-headline{font-size:16px}.li-supporting{font-size:14px;color:var(--on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.li-leading,.li-trailing{display:flex;color:var(--on-surface-variant)}.li-leading.primary{color:var(--primary)}.group-title{margin:16px 16px 4px;font-size:14px;font-weight:500;color:var(--primary)}.section-title{margin:4px 0 0;font-size:14px;font-weight:500;color:var(--primary)}.search-row{display:flex;align-items:center;gap:4px;padding:8px 8px 8px 16px}.search,.field input,.field textarea,.own input{flex:1;min-width:0;font:inherit;font-size:16px;color:var(--on-surface);background:transparent;border:1px solid var(--outline);border-radius:4px;padding:14px 16px}.search{border-radius:28px;background:var(--surface-chh);border-color:transparent;padding:12px 20px}.search:focus,.field input:focus,.field textarea:focus,.own input:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:transparent}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:13px;color:var(--on-surface-variant)}.field-row{display:flex;align-items:center;gap:4px}.field textarea{resize:vertical;line-height:1.4}.field-hint{font-size:12px;color:var(--on-surface-variant);padding-left:16px}.radio-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0;cursor:pointer}.radio-row input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--primary);flex-shrink:0}.radio-title{display:block;font-size:16px}.card{border-radius:12px;padding:12px;margin:8px 16px;display:flex;align-items:center;gap:8px}.card.outlined{border:1px solid var(--outline-variant);display:block;margin:0}.card.error-container{background:var(--error-container);color:var(--on-error-container)}.card-label{font-size:12px;font-weight:500;color:var(--primary);margin-bottom:2px}.error-box{padding:16px}.error-box p{color:var(--error);margin:0 0 12px}.loading{display:flex;justify-content:center;padding:32px}.spinner{display:inline-block;border-radius:50%;border-style:solid;flex-shrink:0;border-color:var(--primary) var(--primary) var(--primary) transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.linear-progress{height:4px;background:var(--secondary-container);border-radius:2px;overflow:hidden;position:relative;margin:8px 0}.linear-progress>div{position:absolute;top:0;bottom:0;width:40%;background:var(--primary);border-radius:2px;animation:lp 1.2s ease-in-out infinite}@keyframes lp{0%{left:-40%}to{left:100%}}.progress-pill{width:150px;height:6px;border-radius:3px;background:var(--secondary-container);overflow:hidden}.progress-pill>div{height:100%;background:var(--primary);border-radius:3px;transition:width .2s}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 16px;border-radius:8px;border:1px solid var(--outline-variant);background:none;color:var(--on-surface-variant);font-size:14px;font-weight:500;cursor:pointer}.chip .icon{color:var(--primary);margin-left:-6px}.chip.selected{background:var(--secondary-container);color:var(--on-secondary-container);border-color:transparent}.chip.selected .icon{color:inherit}.chip:active{background:color-mix(in srgb,var(--on-surface) 10%,transparent)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .15s}@keyframes fade{0%{opacity:0}}.dialog{background:var(--surface-chh);border-radius:28px;padding:24px 0 16px;width:100%;max-width:560px;max-height:85%;display:flex;flex-direction:column}.dialog-title{font-size:22px;padding:0 16px 0 24px;margin-bottom:12px}.dialog-body{overflow-y:auto;padding:0 24px;flex:1;min-height:0}.dialog-body>p{margin:0;color:var(--on-surface-variant)}.dialog-list{margin:0 -24px}.dialog-list .radio-row{padding:10px 24px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 16px 0}.sheet-scrim{align-items:flex-end;padding:0}.sheet{background:var(--surface-c);width:100%;max-width:640px;max-height:85%;overflow-y:auto;border-radius:28px 28px 0 0;padding:0 16px calc(16px + env(safe-area-inset-bottom));animation:up .22s ease-out}@keyframes up{0%{transform:translateY(100%)}}.sheet-handle{width:32px;height:4px;border-radius:2px;background:var(--outline);opacity:.4;margin:16px auto 12px}.menu-anchor{position:relative}.menu-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.menu{position:absolute;right:4px;top:44px;z-index:41;min-width:220px;max-width:320px;padding:8px 0;background:var(--surface-c);border-radius:4px;box-shadow:0 2px 6px #00000040,0 1px 2px #0003}.menu hr{margin:8px 0}.menu-item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 16px;border:0;background:none;text-align:left;cursor:pointer;font-size:15px}.menu-item .icon{color:var(--on-surface-variant)}.menu-item:active{background:color-mix(in srgb,var(--on-surface) 10%,transparent)}.snackbar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(96px + env(safe-area-inset-bottom));z-index:60;background:var(--inverse-surface);color:var(--inverse-on-surface);border-radius:4px;padding:14px 16px;max-width:min(560px,calc(100% - 32px));font-size:14px;box-shadow:0 3px 8px #0000004d;animation:fade .2s}.reader-scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.reader-text{--fs: 20px;max-width:820px;margin:0 auto;padding:12px max(16px,env(safe-area-inset-left)) 40px;font-size:var(--fs);line-height:1.35;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.reader-hint{font-size:13px;line-height:1.4;color:var(--outline);margin:0 0 14px}.para{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.flow{display:flex;flex-wrap:wrap;align-items:flex-end;row-gap:2px}.chunk{display:inline-flex;align-items:flex-end;margin-right:.3em}.flow-mark{color:var(--primary);display:inline-flex;align-self:flex-end;margin:0 2px .2em 0}.flow-mark .icon{width:.9em;height:.9em}.w{display:inline-flex;flex-direction:column;align-items:center;border-radius:4px;cursor:pointer}.w.sel{background:var(--green-bg)}.pin{font-size:.6em;line-height:1.13;color:var(--green);font-weight:500;text-align:center;padding:0 1px;max-width:11em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pin.prov{color:var(--outline)}.sent-tr{display:flex;align-items:center;background:color-mix(in srgb,var(--surface-variant) 50%,transparent);border-radius:6px;padding:4px 2px 4px 12px}.sent-tr-text{flex:1;font-style:italic;font-size:.8em;color:var(--on-surface-variant);cursor:pointer}.sent-tr.big{font-size:.96em;padding:8px 4px 8px 14px}.bottom-nav{display:flex;flex-shrink:0;background:var(--surface-c);padding:12px max(0px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(0px,env(safe-area-inset-left))}.bottom-nav button{flex:1;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--on-surface-variant);cursor:pointer}.nav-ind{width:64px;height:32px;border-radius:16px;display:flex;align-items:center;justify-content:center}.bottom-nav button.active{color:var(--on-surface)}.bottom-nav button.active .nav-ind{background:var(--secondary-container);color:var(--on-secondary-container)}.sentence-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:var(--surface);transform:translateY(100%);opacity:0;transition:transform .25s ease-in,opacity .22s;pointer-events:none}.sentence-overlay.open{transform:none;opacity:1;transition:transform .28s ease-out,opacity .18s;pointer-events:auto}.sentence-mode{display:flex;flex-direction:column;height:100%}.sm-header{display:flex;align-items:center;height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 8px 0 4px;flex-shrink:0}.sm-progress{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--outline)}.sm-right{width:48px;display:flex;justify-content:center}.pager{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.pager::-webkit-scrollbar{display:none}.page{flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow-y:auto}.page-inner{padding-top:32px;display:flex;flex-direction:column;gap:20px}.word-sheet{display:flex;flex-direction:column;gap:10px}.ws-head{display:flex;align-items:center;gap:8px}.ws-title{flex:1;min-width:0}.ws-word{font-size:22px;font-weight:600}.ws-main{font-size:16px;font-weight:500;color:var(--green)}.ws-main.prov{color:var(--outline)}.ws-note{margin:0;font-size:13px;color:var(--on-surface-variant)}.own{display:flex;align-items:center;gap:4px}.own input{border-radius:12px;padding:10px 14px}.ws-tr{display:flex;align-items:center}.ws-tr .sent-tr-text{font-size:15px;cursor:default}.bm-row-wrap{position:relative}.bm-row{align-items:flex-start;-webkit-touch-callout:none}.bm-row .li-leading{padding-top:2px}.bm-tr{font-style:italic;color:var(--on-surface-variant);margin-top:4px;font-size:15px}.bm-menu{top:100%;right:16px;margin-top:-8px}.chat-list{padding:16px;display:flex;flex-direction:column;gap:10px}.bubble{padding:10px 14px;font-size:16px;line-height:1.45;white-space:pre-wrap;-webkit-user-select:text;user-select:text;overflow-wrap:anywhere}.bubble.user{align-self:flex-end;max-width:85%;background:var(--primary-container);color:var(--on-primary-container);border-radius:18px 18px 4px}.bubble.model{align-self:flex-start;max-width:95%;background:var(--surface-ch);border-radius:18px 18px 18px 4px;white-space:normal}.md-h{font-weight:600;margin-top:4px}.md-gap{height:.6em}.typing{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--outline)}.chat-input{display:flex;align-items:flex-end;gap:8px;flex-shrink:0;background:var(--surface-c);padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.chat-input textarea{flex:1;font:inherit;font-size:16px;color:var(--on-surface);background:var(--surface);border:1px solid var(--outline);border-radius:24px;padding:12px 18px;resize:none;max-height:140px}.chat-input textarea:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:transparent}.fab-send{width:48px;height:48px;border-radius:50%;border:0;background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.fab-send:disabled{background:color-mix(in srgb,var(--on-surface) 12%,transparent);color:color-mix(in srgb,var(--on-surface) 38%,transparent)}.chat-error{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
