@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/source-serif-4-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/source-serif-4-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/source-serif-4-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-surface:#f3f2f0;--color-sheet:#fff;--color-wash:#e6e4e1;--color-on-surface:#141414;--color-on-surface-variant:#4d4d4d;--color-line:#d4d2cf;--color-field-border:#757575;--color-accent-voice:#b02a37;--color-success:#1e6b43;--color-error:#a82222;--color-on-primary:#fff;--color-surface-overlay:#f3f2f0f0;--color-surface-overlay-strong:#f3f2f0f7;--font-body:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-reading:"Source Serif 4", Georgia, "Times New Roman", serif;--text-caption:.8125rem;--text-label:.875rem;--text-body-sm:.875rem;--text-body:1rem;--text-reading:1.1875rem;--text-headline-sm:1.1875rem;--text-headline:1.625rem;--text-display:2.125rem;--text-metric:2.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2.25rem;--space-7:3.5rem;--radius-input:.625rem;--radius-chip:.75rem;--radius-bubble:.875rem;--radius-panel:1.25rem;--radius-panel-sm:1rem;--radius-pill:1.375rem;--radius-sheet:1.75rem;--control-primary:2.75rem;--control-compact:2.5rem;--control-chip:2.25rem;--control-icon:2.75rem;--control-mic:3rem;--header-height:3.5rem;--nav-height:4.25rem;--rail-width:15rem;--border-hairline:1px solid var(--color-line);--shadow-panel:0 16px 40px #14141414;--shadow-dock:0 -6px 18px #1414140f;--margin:1.5rem;--gutter:1.5rem;--content-width:68rem;--reading-width:47.5rem}@media (width>=1024px){:root{--margin:3.5rem;--gutter:3.5rem}}*,:before,:after{box-sizing:border-box}html{background:var(--color-surface);min-width:280px}body{background:var(--color-surface);min-width:280px;color:var(--color-on-surface);font-family:var(--font-body);font-size:var(--text-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3{font-family:var(--font-body);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.2}h1{font-size:var(--text-display)}h2{font-size:var(--text-headline)}h3{font-size:var(--text-headline-sm);font-weight:600}p{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--color-on-surface);outline-offset:2px}.skip-link:focus-visible{outline-color:var(--color-on-primary)}.skip-link{top:-100%;left:var(--space-4);z-index:100;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--color-on-surface);color:var(--color-on-primary);font-weight:600;text-decoration:none;position:fixed}.skip-link:focus{top:var(--space-4)}.app-loading{min-height:100svh;padding:var(--space-6);color:var(--color-on-surface-variant);font-size:var(--text-body-sm);letter-spacing:0;place-items:center;display:grid}.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-body{min-height:0;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));flex-direction:column;flex:1;display:flex}.app-notices{flex-direction:column;display:flex}.app-notice{padding:10px var(--margin);background:var(--color-sheet);border-bottom:var(--border-hairline);color:var(--color-on-surface);font-size:var(--text-body-sm);align-items:center;gap:10px;font-weight:500;line-height:1.4;display:flex}.app-notice-icon{flex:none;width:1.25rem;height:1.25rem}.app-notice-text{flex:1;min-width:0}.app-notice .button{flex-shrink:0}.app-header{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-2);height:var(--header-height);padding:0 var(--space-2) 0 var(--margin);background:var(--color-surface-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{flex:none;display:block}.brand-mark-frame{fill:var(--color-on-surface)}.brand-mark-stroke{fill:none;stroke:var(--color-on-primary);stroke-width:3px;stroke-linecap:round}.brand-mark-stroke-thin{fill:none;stroke:var(--color-on-primary);stroke-width:2px;stroke-linecap:round}.brand-title{min-width:0;color:inherit;font-family:var(--font-body);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2;overflow:hidden}.brand-header .brand-title{font-size:var(--text-body-sm)}.brand-rail{margin-bottom:var(--space-6);gap:10px}.brand-rail .brand-title{letter-spacing:-.01em;font-size:1.125rem}.avatar{width:var(--control-chip);height:var(--control-chip);background:var(--color-on-surface);color:var(--color-on-primary);font-family:var(--font-body);border-radius:50%;flex-shrink:0;place-items:center;font-size:.9375rem;font-weight:600;display:grid}.header-actions{align-items:center;gap:var(--space-1);display:flex}.language-toggle{min-width:var(--control-primary);min-height:var(--control-primary);padding:0 var(--space-2);border-radius:var(--radius-pill);color:var(--color-on-surface);font-size:var(--text-label);letter-spacing:.01em;background:0 0;border:0;align-items:center;gap:6px;font-weight:600;transition:background-color .16s;display:inline-flex}.language-toggle-icon{width:1rem;height:1rem}.language-toggle:hover{background:var(--color-wash)}.avatar-large{width:3.5rem;height:3.5rem;font-size:var(--text-headline)}.app-main{width:100%;max-width:var(--content-width);padding:var(--space-5) var(--margin) var(--space-7);flex:1;min-width:0;margin:0 auto}.app-main:focus-visible{outline:2px solid var(--color-on-surface);outline-offset:-2px}.screen{gap:var(--space-5);flex-direction:column;min-width:0;animation:.24s ease-out rise-in;display:flex}.screen-heading{gap:var(--space-2);max-width:var(--reading-width);flex-direction:column;display:flex}.eyebrow{color:var(--color-on-surface-variant);font-size:var(--text-caption);letter-spacing:.01em;font-weight:500}.lede{color:var(--color-on-surface-variant);font-size:var(--text-reading);line-height:1.6}.meta{color:var(--color-on-surface-variant);font-size:var(--text-caption);line-height:1.5}.muted{color:var(--color-on-surface-variant);font-size:var(--text-body-sm)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-nav{z-index:30;height:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));padding:var(--space-1) var(--space-2) var(--space-2);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px));background:var(--color-sheet);border-top:var(--border-hairline);border-radius:var(--radius-panel) var(--radius-panel) 0 0;box-shadow:var(--shadow-dock);position:fixed;bottom:0;left:0;right:0}.app-nav-inner{justify-content:space-around;align-items:center;max-width:34rem;height:100%;margin:0 auto;display:flex}.nav-item{min-width:var(--control-primary);min-height:var(--control-primary);padding:0 var(--space-1);border-radius:var(--radius-chip);color:var(--color-on-surface-variant);font-size:var(--text-caption);letter-spacing:0;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-weight:500;transition:background-color .16s,color .16s;display:flex}.nav-item:hover{background:var(--color-wash)}.nav-item.is-active{color:var(--color-on-surface);font-weight:600}.nav-icon{background:0 0;border-radius:.875rem;place-items:center;width:3rem;height:1.75rem;display:grid}.nav-icon svg{width:1.25rem;height:1.25rem}.nav-item.is-active .nav-icon{background:var(--color-on-surface);color:var(--color-on-primary)}.nav-label{line-height:1.2}.app-rail{width:var(--rail-width);background:var(--color-sheet);border-right:var(--border-hairline);flex-direction:column;flex:none;height:100svh;padding:28px 20px;display:flex;position:sticky;top:0}.app-rail-nav{flex-direction:column;gap:4px;display:flex}.rail-item{min-height:var(--control-primary);border-radius:var(--radius-chip);color:var(--color-on-surface);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 14px;font-size:.9375rem;font-weight:500;transition:background-color .16s,color .16s;display:flex}.rail-item:hover{background:var(--color-wash)}.rail-item.is-active{background:var(--color-on-surface);color:var(--color-on-primary);font-weight:600}.rail-icon{width:1.25rem;height:1.25rem;color:var(--color-on-surface-variant);flex:none}.rail-item.is-active .rail-icon{color:var(--color-on-primary)}.app-rail-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}@media (width>=1024px){.app-body{flex-direction:row;padding-bottom:0}.app-header,.app-nav{display:none}.app-main{max-width:none;padding:40px var(--gutter);flex:1;margin:0}}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-primary);padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--color-on-surface);font-size:var(--text-label);letter-spacing:0;text-align:center;background:0 0;border:1px solid #0000;font-weight:600;line-height:1.2;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.button svg{width:var(--space-5);height:var(--space-5);flex-shrink:0}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{background:var(--color-on-surface);color:var(--color-on-primary)}.button-primary:hover:enabled{background:color-mix(in srgb, var(--color-on-surface) 85%, var(--color-sheet))}.button-secondary{border-color:var(--color-on-surface);color:var(--color-on-surface);background:0 0}.button-secondary:hover:enabled{background:var(--color-wash)}.button-ghost{background:0 0;border-color:#0000}.button-ghost:hover:enabled{background:var(--color-wash)}.button-wide{width:100%}.button-compact{min-height:var(--control-compact);padding:0 var(--space-3);font-size:var(--text-label)}.button-compact svg{width:var(--space-4);height:var(--space-4)}.button:focus-visible,.nav-item:focus-visible{outline-offset:2px}label{font-size:var(--text-label);font-weight:500}input,textarea,select{width:100%;min-height:var(--control-primary);padding:var(--space-2) var(--space-3);border:1px solid var(--color-field-border);border-radius:var(--radius-input);background:var(--color-sheet);font-size:var(--text-body);font-weight:400;transition:border-color .16s}textarea{resize:vertical;line-height:1.55}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--color-on-surface);outline:1.5px solid var(--color-on-surface);outline-offset:0}input:disabled,textarea:disabled,select:disabled{background:var(--color-surface);color:var(--color-on-surface-variant);cursor:not-allowed}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--color-error)}input[aria-invalid=true]:focus-visible,textarea[aria-invalid=true]:focus-visible,select[aria-invalid=true]:focus-visible{border-color:var(--color-error);outline-color:var(--color-error)}.form-alert{color:var(--color-error);background:var(--color-sheet);border:1px solid var(--color-error);border-radius:var(--radius-input);padding:var(--space-2) var(--space-3);font-size:var(--text-body-sm);line-height:1.5}.card{align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border:var(--border-hairline);border-radius:var(--radius-panel);background:var(--color-sheet);flex-direction:column;display:flex}.pill{align-items:center;gap:var(--space-1);min-height:var(--control-chip);padding:0 var(--space-3);border:var(--border-hairline);border-radius:var(--radius-chip);background:var(--color-sheet);color:var(--color-on-surface);font-size:var(--text-caption);letter-spacing:0;align-self:flex-start;font-weight:500;line-height:1.4;display:inline-flex}.pill-icon{width:.9rem;height:.9rem}.home-layout{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.home-main{flex-direction:column;min-width:0;display:flex}.home-title{font-size:var(--text-headline)}.home-lede{margin:var(--space-1) 0 var(--space-6);color:var(--color-on-surface-variant);font-size:var(--text-body);line-height:1.5}.topic-card{gap:var(--space-3);padding:var(--space-5);border:var(--border-hairline);border-radius:var(--radius-panel);background:var(--color-sheet);flex-direction:column;display:flex}.topic-card-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);color:var(--color-on-surface-variant);font-size:var(--text-body-sm);font-weight:500;display:flex}.topic-card-state{align-items:flex-start;gap:var(--space-3);color:var(--color-on-surface-variant);font-size:var(--text-body-sm);flex-direction:column;line-height:1.5;display:flex}.topic-card-state p{margin:0}.topic-summary{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.topic-summary h2{font-size:var(--text-headline)}.topic-summary p{color:var(--color-on-surface);font-size:var(--text-body);line-height:1.5}.topic-actions{gap:var(--space-2);margin-top:var(--space-1);flex-direction:column;display:flex}.topic-actions .button{width:100%}.home-recent{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.home-recent-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.home-recent-head h2{font-size:1.125rem;font-weight:600}.home-recent-count{color:var(--color-on-surface-variant);font-size:var(--text-body-sm);line-height:1.5}.recent-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recent-row{align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:var(--border-hairline);display:flex}.recent-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.recent-title{overflow-wrap:anywhere;font-size:1.0625rem;font-weight:500;line-height:1.3}.recent-meta{color:var(--color-on-surface-variant);font-size:var(--text-body-sm);line-height:1.5}.recent-open{min-height:var(--control-primary);padding:0 var(--space-3);flex:none}.home-state{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) 0;flex-direction:column;min-width:0;display:flex}.home-state-title{font-size:1.125rem;font-weight:600}.home-state-body{color:var(--color-on-surface-variant);font-size:var(--text-body-sm);line-height:1.5}.home-state-error strong{color:var(--color-error)}@media (width>=1024px){.home-layout{gap:var(--space-7);max-width:var(--content-width);grid-template-columns:minmax(0,1fr) clamp(280px,41%,380px);align-items:start;display:grid}.home-title{font-size:var(--text-display)}.home-lede{margin:var(--space-2) 0 var(--space-6);font-size:1.0625rem}.topic-card{padding:var(--space-6)}.topic-summary h2{font-size:var(--text-display)}.topic-summary p{font-size:var(--text-reading)}.topic-actions{gap:var(--space-3);flex-flow:wrap}.topic-actions .button{width:auto;padding-inline:var(--space-5)}.home-recent{padding-top:var(--space-2)}.recent-open{min-height:var(--control-compact);padding:0 var(--space-4)}}.empty-state{align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border:1px dashed var(--color-line);border-radius:var(--radius-panel);background:var(--color-sheet);color:var(--color-on-surface-variant);font-size:var(--text-body-sm);flex-direction:column;display:flex}.empty-state-large{text-align:center;padding:var(--space-7) var(--space-5);align-items:center}.empty-state-large h2{font-size:var(--text-headline-sm);font-weight:600}.empty-icon{width:1.5rem;height:1.5rem;color:var(--color-on-surface-variant)}.empty-icon-wrap{background:var(--color-wash);width:3.5rem;height:3.5rem;color:var(--color-on-surface);border-radius:50%;place-items:center;display:grid}.empty-icon-wrap svg{width:1.6rem;height:1.6rem}.history-screen{gap:0;max-width:60rem}.history-title{font-size:var(--text-headline)}.history-state{align-items:center;gap:var(--space-3);padding:var(--space-4) 0;color:var(--color-on-surface-variant);font-size:var(--text-body-sm);line-height:1.5;display:flex}.history-state-error{flex-direction:column;align-items:flex-start}.history-state-error p{color:var(--color-error);font-weight:500}.history-spinner{width:1.75rem;height:1.75rem;color:var(--color-on-surface);flex:none;animation:1s linear infinite feedback-spin}.history-metrics{margin:var(--space-5) 0 var(--space-4)}.history-metric-grid{gap:var(--space-5) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.history-metric{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.history-metric dd{font-size:var(--text-metric);overflow-wrap:anywhere;order:-1;margin:0;font-weight:600;line-height:1.1}.history-metric dt{color:var(--color-on-surface-variant);font-size:var(--text-caption);font-weight:400;line-height:1.5}.history-metric-note{margin-top:var(--space-4);color:var(--color-on-surface-variant);font-size:var(--text-body-sm);line-height:1.5}.history-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.history-row{align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:var(--border-hairline);display:flex}.history-row-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.history-row-title{overflow-wrap:anywhere;font-size:1.0625rem;font-weight:500;line-height:1.3}.history-row-meta{color:var(--color-on-surface-variant);font-size:var(--text-body-sm);flex-wrap:wrap;column-gap:6px;line-height:1.5;display:flex}.history-row-meta>span:not(:last-child):after{content:"·";margin-left:6px}.history-row-feedback{font-size:var(--text-body-sm);line-height:1.5}.history-open{flex:none;padding:0 14px}.history-more{margin-top:var(--space-2)}@media (width>=1024px){.history-title{font-size:var(--text-display)}.history-metrics{margin:var(--space-6) 0 var(--space-5);max-width:53.75rem}.history-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.history-metric{padding-right:var(--space-5)}.history-metric dd{line-height:1.1}.history-metric-note{margin-top:var(--space-3)}.history-row{gap:var(--space-5);grid-template-columns:minmax(0,1fr) 6.25rem 5rem 6.875rem 9.375rem auto;align-items:center;display:grid}.history-row-copy,.history-row-meta{display:contents}.history-row-meta>span:not(:last-child):after{content:none;margin:0}.history-row-date,.history-row-turns,.history-row-status,.history-row-feedback{font-size:.9375rem}.history-row-date,.history-row-turns{color:var(--color-on-surface-variant)}.history-row-status{font-weight:500}.history-open{padding:0 var(--space-4);min-height:var(--control-compact);justify-self:end}.history-more{margin-top:20px}.history-more .button-wide{width:auto;min-height:var(--control-compact);padding:0 var(--space-4)}}.session-note{display:inline-flex}.note-head{gap:var(--space-1);flex-direction:column;display:flex}.note-head h2{font-size:var(--text-headline-sm);font-weight:600}.session-note-form{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.session-note-form label{color:var(--color-on-surface-variant);font-size:var(--text-label);letter-spacing:0}.session-note-form .meta{margin:0}.session-note-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.session-note-confirm{gap:var(--space-2);width:100%;padding:var(--space-3);border-radius:var(--radius-chip);background:var(--color-wash);flex-direction:column;display:flex}.session-note-confirm p{font-size:var(--text-body-sm);margin:0}.note-content{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.6}.auth-shell{background:var(--color-surface);flex-direction:column;min-height:100svh;display:flex}.auth-header{justify-content:space-between;align-items:center;gap:var(--space-2);height:var(--header-height);padding:0 var(--space-2) 0 var(--margin);flex:none;display:flex}.auth-main{width:100%;max-width:34rem;padding:var(--space-1) var(--margin) var(--space-6);flex:1;margin:0 auto}.auth-content{flex-direction:column;padding-top:40px;display:flex}.auth-brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.auth-brand-name{letter-spacing:-.02em;font-size:1.5rem;font-weight:600;line-height:1.2}.auth-content h1{font-size:var(--text-headline)}.auth-subtitle{color:var(--color-on-surface-variant);font-size:var(--text-body);margin:8px 0 28px;line-height:1.5}.auth-error{margin-bottom:var(--space-5);border:1.5px solid var(--color-error);border-radius:var(--radius-input);background:var(--color-sheet);color:var(--color-on-surface);font-size:var(--text-body-sm);padding:12px 14px;line-height:1.5}.auth-error-title{color:var(--color-error);font-weight:600}.auth-error .button{margin-top:var(--space-3)}.auth-form{flex-direction:column;gap:4px;display:flex}.auth-form label:not(:first-of-type){margin-top:18px}.auth-form .button[type=submit]{margin-top:var(--space-5)}.password-field{display:flex;position:relative}.password-field input{padding-right:3.5rem}.password-toggle{top:0;right:var(--space-1);width:var(--control-primary);height:var(--control-primary);border-radius:var(--radius-chip);color:var(--color-on-surface);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.password-toggle svg{width:1.375rem;height:1.375rem}.password-toggle:hover:enabled{background:var(--color-wash)}.auth-note{color:var(--color-on-surface-variant);font-size:var(--text-label);margin-top:20px;line-height:1.5}.profile-screen{gap:0;max-width:40rem}.profile-account{align-items:center;gap:var(--space-4);margin-top:var(--space-4);min-width:0;display:flex}.avatar-profile{width:3.5rem;height:3.5rem;font-size:var(--text-headline)}.profile-account-copy{min-width:0}.profile-username{font-size:var(--text-headline);overflow-wrap:anywhere;font-weight:600;line-height:1.2}.profile-managed{margin-top:var(--space-1);color:var(--color-on-surface-variant);font-size:var(--text-body-sm);line-height:1.5}.profile-logout{width:100%;margin:var(--space-6) 0 var(--space-3)}.profile-section{border-top:var(--border-hairline);padding:22px 0}.profile-section-title{font-size:1.0625rem;font-weight:600;line-height:1.3}.profile-section-body{margin-top:var(--space-1);color:var(--color-on-surface-variant);font-size:var(--text-body-sm);line-height:1.5}.profile-api-status{align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:var(--text-body);font-weight:600;line-height:1.5;display:flex}.profile-api-check{margin-top:var(--space-3)}.profile-privacy-note{font-size:var(--text-body-sm)}.status-dot{width:var(--space-2);height:var(--space-2);background:var(--color-on-surface-variant);border-radius:50%;flex-shrink:0}.status-dot.ready{background:var(--color-success)}.status-dot.unavailable{background:var(--color-error)}.app-shell-practice{height:100dvh;min-height:0;overflow:hidden}.app-main.app-main-practice{flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;margin:0;padding:0;display:flex;overflow:hidden}.practice-screen{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.practice{flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex}.practice-head{padding:var(--space-2) var(--margin) 0;flex-direction:column;flex:none;gap:2px;min-width:0;display:flex}.practice-meta{color:var(--color-on-surface-variant);font-size:var(--text-caption);margin:0;line-height:1.5}.practice-head h1{font-size:var(--text-headline);overflow-wrap:anywhere;line-height:1.2}.practice-controls{align-items:center;gap:var(--space-1);margin-top:var(--space-1);min-width:0;display:flex}.practice-controls-actions{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}.practice-icon-button{width:var(--control-icon);height:var(--control-icon);border-radius:var(--radius-pill);color:var(--color-on-surface);background:0 0;border:0;flex:none;justify-content:center;align-items:center;transition:background-color .16s;display:inline-flex}.practice-icon-button svg{width:1.25rem;height:1.25rem}.practice-icon-button:hover:enabled{background:var(--color-wash)}.practice-icon-button:disabled{opacity:.55;cursor:not-allowed}.practice-chip{min-width:0;max-width:9.5rem;min-height:var(--control-chip);padding:0 var(--space-2) 0 var(--space-3);border-radius:var(--radius-chip);background:var(--color-wash);color:var(--color-on-surface);font-family:var(--font-body);font-size:var(--text-label);letter-spacing:0;white-space:nowrap;border:0;align-items:center;gap:6px;font-weight:600;display:inline-flex}.practice-chip svg{flex:none;width:1rem;height:1rem}.practice-chip:hover:enabled{background:color-mix(in srgb, var(--color-wash) 70%, var(--color-line))}.practice-chip:disabled{opacity:.55;cursor:not-allowed}.practice-controls .button{padding-inline:var(--space-4);flex:none}.session-picker{min-width:0;position:relative}.session-menu{top:calc(100% + var(--space-2));z-index:35;width:min(20rem,100vw - 3rem);max-height:50vh;padding:var(--space-1);border:var(--border-hairline);border-radius:var(--radius-panel-sm);background:var(--color-sheet);box-shadow:var(--shadow-panel);position:absolute;left:0;overflow-y:auto}.session-menu-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.session-option{width:100%;min-height:var(--control-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-chip);color:var(--color-on-surface);text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.session-option:hover,.session-option[aria-current=true]{background:var(--color-wash)}.session-option-meta{font-size:var(--text-label);font-weight:600;line-height:1.3}.session-option-title{color:var(--color-on-surface-variant);font-size:var(--text-caption);overflow-wrap:anywhere;line-height:1.4}.practice-body{gap:var(--space-4);min-height:0;padding:var(--space-3) var(--margin) var(--space-5);overscroll-behavior:contain;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.practice-state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);color:var(--color-on-surface-variant);font-size:var(--text-body-sm);text-align:center;flex-direction:column;flex:1;line-height:1.5;display:flex}.practice-state p{margin:0}.practice-note{margin:var(--space-2) 0 0;padding-top:var(--space-2);color:var(--color-on-surface-variant);font-size:var(--text-caption);line-height:1.5}.practice-offline{flex:none}.end-confirm{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:var(--border-hairline);border-left:3px solid var(--color-on-surface);border-radius:var(--radius-panel);background:var(--color-sheet);flex-direction:column;display:flex}.end-confirm p{margin:0}.end-confirm-backdrop{z-index:40;padding:var(--margin);background:color-mix(in srgb, var(--color-on-surface) 32%, transparent);place-items:center;display:grid;position:fixed;inset:0}.end-confirm{width:100%;max-width:28rem;box-shadow:var(--shadow-panel)}.end-confirm h2{font-size:var(--text-headline-sm)}.end-confirm-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.feedback-view{gap:var(--space-4);flex-direction:column;flex:1;min-width:0;display:flex}.feedback-back{align-self:flex-start}.feedback-status-line{align-items:center;gap:var(--space-2);font-size:var(--text-body-sm);margin:0;font-weight:600;line-height:1.4;display:flex}.feedback-status-line svg{flex:none;width:1.25rem;height:1.25rem}.feedback-success{color:var(--color-success)}.feedback-error{color:var(--color-error)}.feedback-block{margin-top:var(--space-4);flex-direction:column;gap:6px;display:flex}.feedback-label{color:var(--color-on-surface-variant);font-size:var(--text-label);margin:0;font-weight:500;line-height:1.5}.feedback-priority{font-size:var(--text-headline);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.3}.feedback-explanation{font-size:var(--text-body);overflow-wrap:anywhere;margin:0;line-height:1.5}.feedback-example-block{margin-top:var(--space-5);padding:var(--space-4) 0;border-top:var(--border-hairline);border-bottom:var(--border-hairline);flex-direction:column;gap:6px;display:flex}.feedback-example{font-family:var(--font-reading);font-size:var(--text-reading);overflow-wrap:anywhere;margin:0;font-weight:400;line-height:1.4}.feedback-actions{gap:var(--space-3);margin-top:var(--space-5);flex-direction:column;display:flex}.feedback-actions .button-primary{width:100%}.feedback-actions .session-note{justify-content:center;display:flex}.feedback-state{align-items:flex-start;gap:var(--space-2);padding:var(--space-5) 0;flex-direction:column;display:flex}.feedback-state h2,.feedback-state p{margin:0}.feedback-state-title{font-size:var(--text-body);font-weight:600;line-height:1.3}.feedback-state-hint{color:var(--color-on-surface-variant);font-size:var(--text-caption);line-height:1.5}.feedback-state-failed .feedback-state-hint{color:var(--color-on-surface);font-size:var(--text-body-sm)}.feedback-spinner{width:2.5rem;height:2.5rem;color:var(--color-on-surface);animation:1s linear infinite feedback-spin}@keyframes feedback-spin{to{transform:rotate(360deg)}}.note-popover-page{width:100%;max-height:none;margin-top:var(--space-2);position:static;inset:auto}.conversation-turns{gap:var(--space-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.turn{align-items:flex-start;gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.turn-user{max-width:min(100%,34rem);margin:0 0 0 var(--space-7);border-radius:var(--radius-bubble);background:var(--color-sheet);color:var(--color-on-surface);font-size:var(--text-body);overflow-wrap:anywhere;white-space:pre-wrap;align-self:flex-end;padding:.625rem .875rem;line-height:1.5}.turn-answer{gap:var(--space-2);flex-direction:column;width:100%;min-width:0;display:flex}.turn-ai{max-width:40rem;color:var(--color-on-surface);font-family:var(--font-reading);font-size:var(--text-reading);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-weight:400;line-height:1.6}.turn-status{align-items:flex-start;gap:var(--space-2);max-width:34rem;color:var(--color-on-surface-variant);font-size:var(--text-body-sm);flex-direction:column;line-height:1.5;display:flex}.turn-status p{margin:0}.turn-failure{align-items:flex-start;gap:var(--space-2);max-width:34rem;color:var(--color-error);font-size:var(--text-body-sm);font-weight:500;line-height:1.45;display:flex}.turn-failure p{margin:0}.turn-failure-icon{flex:none;width:1.125rem;height:1.125rem;margin-top:1px}.turn-user-pending{color:var(--color-on-surface-variant)}.speech-row{align-items:center;gap:var(--space-3);width:100%;max-width:34rem;display:flex}.speech-play{width:var(--control-primary);height:var(--control-primary);background:var(--color-on-surface);color:var(--color-on-primary);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.speech-play svg{width:1.25rem;height:1.25rem}.speech-play:hover:enabled{background:color-mix(in srgb, var(--color-on-surface) 85%, var(--color-sheet))}.speech-play:disabled{opacity:.55;cursor:not-allowed}.speech-waveform{min-width:0;height:2rem;color:var(--color-on-surface);flex:1}.speech-track{min-width:0;height:var(--space-1);border-radius:var(--radius-pill);background:var(--color-wash);flex:1;position:relative;overflow:hidden}.speech-track-fill{border-radius:inherit;background:var(--color-on-surface);height:100%;transition:width .16s linear;display:block}.speech-time{color:var(--color-on-surface-variant);font-size:var(--text-label);font-variant-numeric:tabular-nums;flex:none;font-weight:500}.speech-note{color:var(--color-on-surface-variant);font-size:var(--text-caption);margin:0;line-height:1.5}.practice-dock{z-index:21;gap:var(--space-2);padding:var(--space-4) var(--margin) var(--space-4);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--color-sheet);box-shadow:var(--shadow-dock);flex-direction:column;flex:none;display:flex;position:relative}.practice-dock .form-alert{width:100%;margin:0}.dock-actions{align-items:center;gap:var(--space-2);display:flex}.dock-chip{align-items:center;gap:var(--space-2);min-height:var(--control-chip);padding:0 var(--space-3);border:1px solid var(--color-on-surface);border-radius:var(--radius-pill);color:var(--color-on-surface);font-family:var(--font-body);font-size:var(--text-caption);letter-spacing:0;white-space:nowrap;background:0 0;font-weight:500;display:inline-flex}.dock-chip svg{flex:none;width:1.125rem;height:1.125rem}.dock-chip:hover{background:var(--color-wash)}.dock-chip-dot{background:var(--color-on-surface);border-radius:50%;width:.4rem;height:.4rem}.dock-popover{right:var(--margin);bottom:calc(100% + var(--space-2));left:var(--margin);z-index:35;gap:var(--space-2);max-height:min(60vh,26rem);padding:var(--space-4);border:var(--border-hairline);border-radius:var(--radius-panel);background:var(--color-sheet);box-shadow:var(--shadow-panel);flex-direction:column;display:flex;position:absolute;overflow-y:auto}.conversation-hints{display:flex}.conversation-hints .button{align-self:flex-start}.hint-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hint-item{gap:var(--space-1);flex-direction:column;display:flex}.hint-label{color:var(--color-on-surface-variant);font-size:var(--text-label);letter-spacing:0;font-weight:500}.hint-text{font-family:var(--font-reading);font-size:var(--text-reading);overflow-wrap:anywhere;line-height:1.6}.hint-done{color:var(--color-on-surface-variant);font-size:var(--text-body-sm);margin:0}.voice-recorder{gap:var(--space-2);flex-direction:column;display:flex}.voice-idle{align-items:center;gap:var(--space-4);display:flex}.voice-button{width:var(--control-mic);height:var(--control-mic);background:var(--color-accent-voice);color:var(--color-on-primary);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.voice-button svg{width:1.25rem;height:1.25rem}.voice-button:hover:enabled{background:color-mix(in srgb, var(--color-accent-voice) 85%, var(--color-on-surface))}.voice-button:disabled{opacity:.55;cursor:not-allowed}.voice-copy p{margin:0}.voice-title{color:var(--color-on-surface);font-size:var(--text-body);margin:0;font-weight:600;line-height:1.3}.voice-hint{color:var(--color-on-surface-variant);font-size:var(--text-caption);line-height:1.5}.voice-button-off{background:var(--color-wash);color:var(--color-on-surface-variant);opacity:1}.mic-alert{gap:var(--space-2);padding:var(--space-3);border:1.5px solid var(--color-error);border-radius:var(--radius-chip);font-size:var(--text-body-sm);align-items:flex-start;line-height:1.5;display:flex}.mic-alert-icon{width:1.25rem;height:1.25rem;color:var(--color-error);flex:none;margin-top:1px}.mic-alert-copy{margin:0}.mic-alert-copy strong{color:var(--color-error)}.mic-alert-actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.voice-upload{gap:var(--space-2);flex-direction:column;display:flex}.voice-upload-head{align-items:center;gap:var(--space-4);display:flex}.voice-upload-head>div>p{margin:0}.voice-upload-spinner{width:2.5rem;height:2.5rem;color:var(--color-on-surface);flex:none;animation:1s linear infinite feedback-spin}.voice-upload-cancel{width:100%}.voice-timer{font-variant-numeric:tabular-nums}.voice-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.voice-actions .voice-title{flex-basis:100%}.composer{gap:var(--space-1);flex-direction:column;display:flex}.composer-hint{color:var(--color-on-surface-variant);font-size:var(--text-caption);margin:0;line-height:1.5}.composer-row{align-items:center;gap:var(--space-2);display:flex}.composer-row input{min-width:0;min-height:var(--control-primary);flex:1}.composer-send{min-height:var(--control-compact);padding-inline:var(--space-4);white-space:nowrap;flex:none}.composer-count{color:var(--color-on-surface-variant);font-size:var(--text-caption);font-variant-numeric:tabular-nums;align-self:flex-end;margin:0;line-height:1.4}@media (width>=1024px){.app-main.app-main-practice{padding:32px var(--space-5)}.practice-desktop{flex:1;min-height:0}.practice-layout{gap:var(--space-5);flex:1;grid-template-columns:200px minmax(0,1fr) 240px;width:100%;min-height:0;display:grid}.practice-sessions{flex-direction:column;min-width:0;min-height:0;display:flex;overflow-y:auto}.practice-sessions-title{margin:0 0 var(--space-3);font-size:var(--text-body);font-weight:600}.practice-sessions-empty{color:var(--color-on-surface-variant);font-size:var(--text-body-sm);margin:0;line-height:1.5}.practice-sessions-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.session-row{width:100%;padding:var(--space-3) .875rem;border-radius:var(--radius-chip);color:var(--color-on-surface);text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.session-row:hover:enabled{background:var(--color-wash)}.session-row:disabled{opacity:.55;cursor:not-allowed}.session-row[aria-current=true]{background:var(--color-sheet);box-shadow:0 0 0 1px var(--color-line)}.session-row-meta{font-size:.9375rem;font-weight:600;line-height:1.3}.session-row-topic{color:var(--color-on-surface-variant);font-size:var(--text-label);overflow-wrap:anywhere;line-height:1.4}.practice-sessions-more{margin-top:var(--space-2);align-self:flex-start}.practice-sessions-spinner{width:1rem;height:1rem;animation:1s linear infinite feedback-spin}.practice-main-column{flex-direction:column;min-width:0;min-height:0;display:flex}.practice-head-desktop{padding:0}.practice-head-desktop .practice-head-main{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;margin-top:2px;display:flex}.practice-head-desktop h1{font-size:var(--text-headline);overflow-wrap:anywhere;line-height:1.2}.practice-head-desktop .practice-controls-actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.practice-main-column .practice-body{width:100%;max-width:40rem;min-height:0;padding:var(--space-5) 0;flex:1;overflow-y:auto}.practice-main-column .practice-dock{width:100%;max-width:40rem;margin-top:var(--space-2)}.practice-dock-desktop{padding:var(--space-4) var(--space-5);border:var(--border-hairline);border-radius:var(--radius-panel);box-shadow:none}.practice-dock-desktop .composer-label{margin-bottom:var(--space-2);display:block}.practice-dock-desktop .composer-row{flex-direction:column;align-items:stretch}.practice-dock-desktop .composer-row textarea{resize:none;background:var(--color-surface);min-height:5.25rem}.practice-dock-desktop .composer-send{align-self:flex-end}.practice-side{gap:var(--space-5);flex-direction:column;min-width:0;min-height:0;display:flex;overflow-y:auto}.side-block-title{margin:0 0 var(--space-3);font-size:var(--text-body);font-weight:600}.side-card{padding:var(--space-4);border-radius:var(--radius-panel-sm);background:var(--color-sheet)}.hints-panel .hint-list{gap:var(--space-3)}.hints-next{margin-top:var(--space-3)}.session-note-panel{gap:var(--space-2);flex-direction:column;display:flex}.session-note-panel textarea{background:var(--color-surface)}.session-note-count{align-self:flex-end}.session-note-panel .session-note-actions{flex-wrap:wrap}.dock-popover{left:0;right:0}}@media (width>=1280px){.app-main.app-main-practice{padding:40px 56px}.practice-layout{grid-template-columns:240px minmax(0,1fr) 300px;gap:40px}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=380px){.app-main{padding-top:var(--space-4)}.nav-item{min-width:var(--control-primary);font-size:var(--text-caption);padding-inline:0}.nav-icon{width:2.75rem}.history-metric-date dd{font-size:var(--text-headline)}.card{padding:var(--space-4)}}
