.analysis-input-guidance{color:var(--app-ink);margin:16px 0;font-size:14px;line-height:1.6}.analysis-intent-options{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.analysis-intent-options button{border:1px solid var(--app-border);color:var(--app-ink);font:inherit;cursor:pointer;background:#fff;border-radius:12px;padding:10px 12px}.analysis-intent-options button[aria-pressed=true]{border-color:var(--app-blue);background:var(--app-banner-bg);color:var(--app-blue-deep)}.analysis-intent-options button:focus-visible{outline:2px solid var(--app-blue);outline-offset:2px}.analysis-intent-options button:disabled{opacity:.5;cursor:default}.analysis-assessment{margin:20px 0;line-height:1.7}.analysis-assessment h2{margin-bottom:12px;font-size:20px}.app-viewport{--app-ink:#1f2433;--app-navy:#1b2240;--app-muted:#6b7280;--app-faint:#9ca3af;--app-border:#e5e7eb;--app-blue:#2563eb;--app-blue-deep:#1d4ed8;--app-banner-bg:#e8edfb;--app-pink:#e64980;--app-pink-deep:#c2255c;--app-mic-red:#d62b2b;--app-max-width:430px;--app-desktop-max-width:1080px;min-height:100dvh;color:var(--app-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#e9ebf0;justify-content:center;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,sans-serif;display:flex}.app-viewport button{cursor:pointer}.app-screen{width:100%;max-width:var(--app-max-width);background:#fff;flex-direction:column;min-height:100dvh;padding:0 20px 24px;display:flex}.home-desktop-grid,.home-main-column,.home-side-column,.result-desktop-grid,.result-main-column,.result-side-column{flex-direction:column;display:flex}.result-desktop-grid{flex:1}@media (min-width:431px){.app-screen{box-shadow:0 0 0 1px #0000000f,0 12px 32px #0000001a}}.app-topbar{justify-content:space-between;align-items:center;padding:16px 0 12px;display:flex}.app-logo{color:var(--app-navy);letter-spacing:-.01em;font-size:1.25rem;font-weight:800}.icon-button{width:36px;height:36px;color:var(--app-ink);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.coach-avatar{width:40px;height:40px;color:var(--app-pink);background:#fdebf2;border:1.5px solid #f283a8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.coach-greeting{align-items:center;gap:12px;padding:4px 0 16px;display:flex}.greeting-title{margin:0;font-size:.9375rem;font-weight:700}.greeting-sub{color:#8579d6;margin:2px 0 0;font-size:.8125rem}.mic-card{border:1px solid var(--app-border);text-align:center;border-radius:16px;padding:24px 16px 16px}.mic-card-title{margin:0;font-size:1.25rem;font-weight:800}.mic-card-sub{color:var(--app-muted);margin:6px 0 0;font-size:.8125rem}.mic-button{background:var(--app-mic-red);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin:40px 0;display:inline-flex;box-shadow:0 0 0 14px #f6caca,0 0 0 32px #fceaea}.mic-divider{color:#c4c8d0;align-items:center;gap:10px;margin:0 8px 10px;font-size:.6875rem;display:flex}.mic-divider:before,.mic-divider:after{content:"";border-top:1px dashed #dde0e6;flex:1}.text-input-button{width:100%;color:var(--app-ink);background:#fff;border:1px solid #d8dce3;border-radius:10px;padding:12px;font-size:.9375rem;font-weight:600}.status-banner{background:var(--app-banner-bg);color:var(--app-blue-deep);border-radius:10px;margin-top:16px;padding:12px 14px;font-size:.9375rem;font-weight:700;line-height:1.4;display:block}.recent-section{padding-top:20px}.recent-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.recent-title{margin:0;font-size:.9375rem;font-weight:700}.recent-link{color:var(--app-blue);font-size:.875rem;font-weight:600}.recent-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.recent-list>li{min-width:0}.recent-card{color:#374151;white-space:nowrap;text-overflow:ellipsis;border:1px solid #eef0f4;border-radius:10px;padding:10px 12px;font-size:.875rem;display:block;overflow:hidden}.recent-empty{border:1px dashed var(--app-border);color:var(--app-faint);text-align:center;border-radius:10px;margin:0;padding:16px 12px;font-size:.875rem}.home-error{text-align:center;padding:64px 24px}.home-error-title{color:var(--app-muted);margin:0 0 16px;font-size:.9375rem}.home-retry{display:inline-block}.bottom-nav{width:100%;max-width:var(--app-max-width);border-top:1px solid var(--app-border);padding-bottom:env(safe-area-inset-bottom);background:#fff;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav-item{height:56px;color:var(--app-faint);background:0 0;border:none;flex:1;justify-content:center;align-items:center;font-size:.875rem;font-weight:500;display:flex}.bottom-nav-item.is-active{color:var(--app-navy);font-weight:800}.has-bottom-nav{padding-bottom:76px}.result-topbar{justify-content:flex-start;gap:10px}.result-title{margin:0;font-size:1.0625rem;font-weight:800}.back-link{width:32px;height:32px;color:var(--app-ink);justify-content:center;align-items:center;margin-left:-8px;display:inline-flex}.input-summary{color:#374151;background:#f3f4f6;border-radius:12px;margin:4px 0 0;padding:14px;font-size:.875rem;font-style:italic;line-height:1.55}.coach-bubble-row{align-items:center;gap:10px;padding:20px 0 16px;display:flex}.coach-bubble{color:var(--app-pink-deep);background:#fff5f8;border:1.5px solid #f7a4c0;border-radius:12px;margin:0;padding:10px 14px;font-size:.84375rem;line-height:1.45}.expression-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.expression-list>li{min-width:0}.expression-card{border:1px solid var(--app-border);border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.expression-main{flex:1;min-width:0}.tone-badge{border-radius:6px;padding:3px 8px;font-size:.6875rem;font-weight:700;display:inline-block}.tone-badge.tone-polite{color:var(--app-blue-deep);background:#dbeafe}.tone-badge.tone-direct{color:#b45309;background:#fef3c7}.tone-badge.tone-firm{color:#b91c1c;background:#fee2e2}.expression-english{margin:8px 0 0;font-size:1rem;font-weight:800;line-height:1.3}.expression-pron{color:var(--app-faint);margin:6px 0 0;font-size:.75rem;font-style:italic}.play-button{color:#fff;background:#2b3168;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.culture-tip{color:#5f532a;background:#fdf6dd;border-radius:10px;margin-top:16px;padding:12px 14px;font-size:.8125rem;line-height:1.5}.result-actions{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:20px;display:flex}.result-actions .save-toast{margin-top:0}.save-button{color:#fff;background:#181b26;border:none;border-radius:10px;flex:1.8;height:52px;font-size:1rem;font-weight:700}.retry-button{height:52px;color:var(--app-ink);background:#fff;border:1px solid #d8dce3;border-radius:10px;flex:1;font-size:.9375rem;font-weight:600}@media (min-width:768px){.app-viewport{align-items:stretch;padding:24px 0}.app-screen{width:min(var(--app-desktop-max-width), calc(100% - 48px));border-radius:20px;max-width:none;min-height:calc(100dvh - 48px);padding:0 32px 28px;box-shadow:0 0 0 1px #0000000d,0 18px 56px #1f24331f}.app-topbar{padding:22px 0 18px}.home-screen{gap:0}.home-desktop-grid{flex:1;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:24px;display:grid}.home-main-column,.home-side-column{min-width:0}.coach-greeting{padding:0 0 18px}.greeting-title{font-size:1.0625rem}.greeting-sub{font-size:.875rem}.mic-card{flex-direction:column;justify-content:center;min-height:420px;padding:36px 32px 28px;display:flex}.mic-card-title{font-size:1.5rem}.mic-card-sub{font-size:.9375rem}.mic-button{margin:48px 0}.status-banner{margin-top:0;padding:16px 18px}.recent-section{padding-top:20px}.recent-list{gap:10px}.recent-card{white-space:normal;line-height:1.45}.bottom-nav{border:1px solid var(--app-border);border-radius:14px;width:100%;max-width:none;margin-top:24px;padding-bottom:0;position:static;left:auto;overflow:hidden;transform:none}.bottom-nav-item{height:52px}.has-bottom-nav{padding-bottom:28px}.result-screen{padding-bottom:32px}.result-desktop-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"result-main""result-side""result-actions";align-items:start;gap:24px 28px;display:grid}.result-main-column{grid-area:result-main;gap:16px;min-width:0}.result-side-column{grid-area:result-side;gap:16px;min-width:0}.result-topbar{padding-bottom:0}.input-summary{margin:0;padding:16px;font-size:.9375rem}.coach-bubble-row{align-items:flex-start;padding:0}.coach-bubble{padding:12px 16px;font-size:.9375rem}.expression-list{gap:12px}.expression-card{padding:18px}.expression-english{font-size:1.0625rem}.culture-tip{margin-top:0;padding:16px;font-size:.875rem}.result-actions{grid-area:result-actions;align-self:start;width:100%;margin-top:0;padding-top:0}}.app-viewport{--app-purple:#7048e8;--app-purple-soft:#f3f0ff;--app-yellow-bg:#fff9db;--app-yellow-border:#ffe066;--app-green-bg:#ebfbee;--app-green-border:#b2f2bb}.primary-button{color:#fff;text-align:center;background:#181b26;border:none;border-radius:10px;justify-content:center;align-items:center;width:100%;height:52px;font-size:1rem;font-weight:700;text-decoration:none;display:flex}.primary-button:disabled{cursor:not-allowed;background:#c6c9d2}.modal-backdrop{z-index:50;background:#0f111a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-dialog{text-align:center;background:#fff;border-radius:16px;width:min(340px,100%);padding:22px 20px 18px}.confirm-title{margin:0;font-size:1rem;font-weight:800}.confirm-copy{color:var(--app-muted);margin:8px 0 0;font-size:.84375rem;line-height:1.5}.confirm-actions{gap:8px;margin-top:18px;display:flex}.confirm-actions>button{flex:1;height:46px}.confirm-destructive{color:#fff;background:#e03131;border:none;border-radius:10px;font-size:.9375rem;font-weight:700}.confirm-primary{flex:1;height:46px}.loading-modal{text-align:center;background:#fff;border-radius:18px;flex-direction:column;align-items:center;width:min(320px,100%);padding:36px 24px 28px;display:flex}.loading-spinner{border:4px solid #e5dbff;border-top-color:var(--app-purple);border-radius:50%;width:44px;height:44px;animation:.9s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-headline{margin:18px 0 0;font-size:1.0625rem;font-weight:800}.loading-step{color:var(--app-muted);margin:8px 0 0;font-size:.875rem}.loading-cancel{color:var(--app-muted);background:#fff;border:1px solid #d8dce3;border-radius:8px;margin-top:20px;padding:8px 22px;font-size:.875rem;font-weight:600}.modal-backdrop:has(.text-input-sheet){justify-content:center;align-items:flex-end;padding:0}.text-input-sheet{width:100%;max-width:var(--app-max-width);background:#fff;border-radius:18px 18px 0 0;flex-direction:column;padding:10px 20px 24px;display:flex}.sheet-handle{background:#d8dce3;border-radius:999px;align-self:center;width:44px;height:4px}.sheet-header{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.sheet-title{margin:0;font-size:1.0625rem;font-weight:800}.sheet-sub{color:var(--app-muted);margin:2px 0 12px;font-size:.8125rem}.sheet-textarea-wrap{position:relative}.sheet-textarea{border:1px solid var(--app-border);width:100%;min-height:170px;color:var(--app-ink);resize:none;background:#fff;border-radius:12px;padding:14px 14px 30px;font-family:inherit;font-size:.9375rem;line-height:1.55}.sheet-textarea:focus{outline:2px solid var(--app-blue);outline-offset:-1px}.char-counter{color:var(--app-faint);font-size:.6875rem;position:absolute;bottom:10px;right:12px}.char-counter.is-warning{color:#b45309}.char-counter.is-full{color:#b91c1c}.text-input-sheet .primary-button{margin-top:14px}.text-input-sheet .primary-button .loading-spinner{border-width:3px;border-color:#fff #ffffff73 #ffffff73;width:18px;height:18px}.sheet-paste-toast{color:#fff;white-space:nowrap;background:#181b26;border-radius:999px;padding:6px 12px;font-size:.75rem;font-weight:700;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.sheet-error-toast{color:#fff;text-align:center;background:#181b26;border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:.8125rem;font-weight:700}.sheet-rate-limit-state{text-align:center;background:#fff9db;border:1px solid #ffd8a8;border-radius:16px;flex-direction:column;justify-content:center;min-height:240px;padding:28px 22px;display:flex}.sheet-rate-limit-title{color:#855e0a;margin:0;font-size:1.125rem;font-weight:800;line-height:1.35}.sheet-rate-limit-copy{color:#9a6a09;margin:10px 0 0;font-size:.875rem;line-height:1.55}.sheet-rate-limit-cta{margin-top:24px}.sheet-rate-limit-reset{color:#a07f24;margin:12px 0 0;font-size:.8125rem;font-weight:700}.landing-login-link{color:var(--app-muted);font-size:.9375rem;font-weight:600}.landing-hero{padding-top:28px}.landing-headline{letter-spacing:-.02em;margin:0;font-size:1.875rem;font-weight:800;line-height:1.3}.landing-sub{color:var(--app-muted);margin:14px 0 0;font-size:.875rem;line-height:1.6}.landing-cta{margin-top:28px}.landing-examples{padding-top:32px}.landing-examples-title{margin:0 0 10px;font-size:.9375rem;font-weight:700}.landing-example-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.landing-example-card{border:1px solid var(--app-border);color:#374151;border-radius:10px;padding:12px 14px;font-size:.84375rem;font-style:italic;line-height:1.5;display:block}.try-main{flex-direction:column;flex:1;width:100%;display:flex}.try-headline{margin:8px 0 0;font-size:1.375rem;font-weight:800}.try-sub{color:var(--app-muted);margin:4px 0 16px;font-size:.84375rem}.try-textarea{min-height:190px;font-style:italic}.try-mic-area{text-align:center;padding:26px 0 10px}.try-mic-button{background:var(--app-mic-red);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:inline-flex;box-shadow:0 0 0 10px #f6caca}.try-submit{margin-top:auto}.try-error-toast{color:#fff;text-align:center;background:#181b26;border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:.8125rem;font-weight:700}.try-rate-limit-state{text-align:center;background:#fff9db;border:1px solid #ffd8a8;border-radius:16px;flex-direction:column;flex:1;justify-content:center;min-height:360px;padding:28px 22px;display:flex}.try-rate-limit-title{color:#855e0a;margin:0;font-size:1.25rem;font-weight:800;line-height:1.35}.try-rate-limit-copy{color:#9a6a09;margin:10px 0 0;font-size:.875rem;line-height:1.55}.try-rate-limit-cta{margin-top:24px}.try-rate-limit-reset{color:#a07f24;margin:12px 0 0;font-size:.8125rem;font-weight:700}.login-main{flex-direction:column;flex:1;width:100%;display:flex}.pending-save-banner{border:1px solid var(--app-yellow-border);background:var(--app-yellow-bg);color:#855e0a;border-radius:10px;margin:4px 0 0;padding:10px 14px;font-size:.8125rem;line-height:1.5}.login-error-banner{color:#fff;text-align:center;background:#181b26;border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:.8125rem;font-weight:700;line-height:1.45}.login-headline{text-align:center;margin:22px 0 16px;font-size:1.375rem;font-weight:800}.login-providers{gap:10px;display:grid}.provider-button{border-radius:10px;justify-content:center;align-items:center;gap:10px;height:50px;font-size:.9375rem;font-weight:700;display:flex}.provider-button:disabled{cursor:not-allowed;opacity:.62}.provider-google{color:var(--app-ink);background:#fff;border:1px solid #d8dce3}.provider-kakao{color:#1f2433;background:#fee500;border:none}.provider-badge{justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:800;display:inline-flex}.provider-badge-google{color:var(--app-blue);border:1px solid #d8dce3;border-radius:50%}.provider-badge-kakao{color:#fee500;background:#1f2433;border-radius:5px}.login-divider{color:#c4c8d0;text-align:center;margin:16px 0;font-size:.75rem}.email-toggle{color:var(--app-blue);background:0 0;border:none;justify-content:center;align-self:center;align-items:center;gap:6px;font-size:.9375rem;font-weight:700;display:inline-flex}.email-form{gap:10px;margin-top:14px;display:grid}.email-field{height:46px;color:var(--app-ink);background:#fff;border:1px solid #d8dce3;border-radius:10px;padding:0 14px;font-family:inherit;font-size:.9375rem}.email-field::placeholder{color:var(--app-faint)}.email-field:disabled{color:var(--app-muted);background:#f4f5f7}.email-error{color:#c0392b;margin:-2px 0 0;font-size:.8125rem;font-weight:700;line-height:1.45}.email-hint{color:var(--app-faint);text-align:center;margin:0;font-size:.75rem;line-height:1.5}.email-sent{border:1px solid var(--app-yellow-border);background:var(--app-yellow-bg);text-align:center;border-radius:12px;justify-items:center;gap:10px;margin-top:24px;padding:22px 18px;display:grid}.email-sent-title{margin:0;font-size:1.0625rem;font-weight:800}.email-sent-body{color:var(--app-muted);overflow-wrap:anywhere;margin:0;font-size:.8125rem;line-height:1.6}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.login-legal{color:var(--app-faint);text-align:center;margin:auto 0 0;padding-top:24px;font-size:.6875rem;line-height:1.6}.login-legal a{color:var(--app-muted);text-decoration:underline}.coach-select-main{flex-direction:column;flex:1;width:100%;display:flex}.coach-select-header{text-align:center;padding:26px 0 18px}.coach-select-headline{margin:0;font-size:1.375rem;font-weight:800}.coach-select-sub{color:var(--app-muted);margin:6px 0 0;font-size:.875rem}.coach-card-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.coach-card{text-align:left;border:1.5px solid #0000;border-radius:14px;align-items:center;gap:12px;width:100%;padding:14px;display:flex;position:relative}.coach-card-mia{background:#fdebf2}.coach-card-david{background:#e7f0fe}.coach-card-sarah{background:var(--app-purple-soft)}.coach-card.is-selected{border-color:var(--app-blue)}.coach-card-avatar{background:#fff;border:1.5px solid #1f24331f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.125rem;font-weight:800;display:inline-flex}.coach-card-mia .coach-card-avatar{color:var(--app-pink)}.coach-card-david .coach-card-avatar{color:var(--app-blue-deep)}.coach-card-sarah .coach-card-avatar{color:var(--app-purple)}.coach-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.coach-card-name{font-size:1rem;font-weight:800}.coach-card-mia .coach-card-name{color:var(--app-pink-deep)}.coach-card-david .coach-card-name{color:var(--app-blue-deep)}.coach-card-sarah .coach-card-name{color:var(--app-purple)}.coach-card-summary{color:#4b5563;font-size:.78125rem}.coach-card-quote{color:var(--app-muted);margin-top:4px;font-size:.75rem;font-style:italic}.coach-card-check{color:var(--app-blue);flex-shrink:0;display:inline-flex}.coach-card-list.is-busy .coach-card:not(.is-saving){opacity:.5}.coach-card[disabled]{cursor:default}.coach-card-spinner{border:2.5px solid #1f243326;border-top-color:var(--app-blue);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.9s linear infinite loading-spin}.coach-select-toast{z-index:10;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.coach-select-unavailable{text-align:center;justify-content:center;gap:12px}.coach-card-skeleton{background:#f2f4f7}.coach-skeleton-headline{width:60%}.coach-skeleton-sub{width:40%;margin-top:10px}.coach-skeleton-name{width:45%}.coach-select-footer{margin-top:auto;padding-top:24px}.coach-select-note{color:var(--app-faint);text-align:center;margin:10px 0 0;font-size:.75rem}.play-button.is-playing{background:var(--app-purple)}.library-count{color:var(--app-muted);font-size:.875rem;font-weight:700}.library-search{color:#9ca3af;background:#181b26;border-radius:999px;align-items:center;gap:8px;padding:0 16px;display:flex}.library-search-input{color:#fff;background:0 0;border:none;flex:1;height:42px;font-family:inherit;font-size:.875rem}.library-search-input::placeholder{color:#9ca3af}.library-search-input:focus{outline:none}.library-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.library-list>li{min-width:0}.library-card{border:1px solid var(--app-border);border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;display:flex}.library-card-situation{color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-style:italic;display:block;overflow:hidden}.library-card-english{color:var(--app-ink);white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:700;overflow:hidden}.library-card-meta{color:var(--app-faint);font-size:.6875rem}.library-empty{text-align:center;padding:48px 0}.library-empty-title{color:var(--app-muted);margin:0;font-size:.9375rem}.library-empty-clear{color:var(--app-blue);background:0 0;border:none;margin-top:12px;font-size:.875rem;font-weight:700}.library-virtual-viewport{margin-top:16px;position:relative}.library-list-virtual{will-change:transform;margin-top:0}.library-list-virtual .library-card{box-sizing:border-box;height:96px}.library-empty-icon{margin:0 0 12px;font-size:2.5rem}.library-empty-sub{color:var(--app-faint);margin:6px 0 0;font-size:.8125rem}.library-retry{width:auto;min-width:160px;height:44px;margin:20px auto 0;padding:0 24px}.library-card-meta{align-items:center;gap:8px;display:flex}.library-card-tone{color:#fff;background:#181b26;border-radius:6px;padding:1px 8px;font-size:.625rem;font-weight:700}.library-more-spinner{justify-content:center;padding:18px 0;display:flex}.library-spinner-sm{border-width:3px;width:24px;height:24px}.library-more-error{color:var(--app-muted);flex-direction:column;align-items:center;gap:4px;padding:16px 0;font-size:.8125rem;display:flex}.library-sentinel{height:1px}.library-end{color:var(--app-faint);text-align:center;padding:18px 0;font-size:.75rem}.detail-topbar{justify-content:space-between}.detail-menu-wrap{position:relative}.detail-menu{z-index:30;border:1px solid var(--app-border);background:#fff;border-radius:12px;flex-direction:column;min-width:170px;display:flex;position:absolute;top:40px;right:0;overflow:hidden;box-shadow:0 10px 28px #1f243329}.detail-menu-item{color:var(--app-ink);text-align:left;background:0 0;border:none;padding:12px 16px;font-size:.875rem;font-weight:600}.detail-menu-item:hover{background:#f3f4f6}.detail-menu-item.is-destructive{color:#e03131}.detail-situation{font-style:normal;font-weight:700}.detail-review-banner{margin-top:16px;font-size:.84375rem}.detail-actions{margin-top:16px}.practice-button{background:var(--app-purple);color:#fff;border:none;border-radius:10px;justify-content:center;align-items:center;width:100%;height:52px;font-size:1rem;font-weight:700;display:flex}.detail-queue-toggle{width:100%;height:48px;color:var(--app-ink);background:#fff;border:1px solid #d8dce3;border-radius:10px;margin-top:10px;font-size:.9375rem;font-weight:600}.detail-queue-toggle:disabled{opacity:.6}.detail-notice{color:var(--app-muted);text-align:center;margin:14px 0 0;font-size:.8125rem}.detail-variant{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}.detail-variant-toggle{text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:14px;display:flex}.detail-variant-toggle .expression-main,.detail-variant-toggle .expression-english{display:block}.detail-variant-chevron{color:var(--app-faint);flex-shrink:0;display:inline-flex}.detail-variant.is-expanded{border-color:#b6c5f5}.detail-variant-body{flex-direction:column;gap:8px;padding:0 14px 14px;display:flex}.detail-variant-pron-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.detail-variant-pron-row .expression-pron{margin:0}.detail-tip{border-radius:8px;margin:0;padding:9px 12px;font-size:.78125rem;line-height:1.5}.detail-tip-pron{background:var(--app-yellow-bg);color:#855e0a}.detail-tip-culture{color:#5f532a;background:#fdf6dd}.review-topbar{justify-content:space-between;align-items:center;padding:16px 0 8px;display:flex}.review-progress-label{color:var(--app-muted);font-size:.875rem;font-weight:700}.review-progress-track{background:#eceef2;border-radius:999px;height:6px;overflow:hidden}.review-progress-fill{background:var(--app-purple);border-radius:999px;height:100%;transition:width .2s;display:block}.review-main{flex-direction:column;flex:1;width:100%;padding-top:26px;display:flex}.review-caption{color:var(--app-muted);text-align:center;margin:0 0 12px;font-size:.875rem}.review-caption-small{font-size:.78125rem;font-style:italic}.review-question-card{border:1px solid var(--app-border);min-height:240px;color:var(--app-ink);text-align:center;white-space:pre-line;border-radius:16px;justify-content:center;align-items:center;padding:24px;font-size:1.0625rem;font-style:italic;font-weight:600;line-height:1.7;display:flex}.review-reveal{margin-top:auto}.review-answer-card{border:1px solid var(--app-border);border-radius:14px;flex-direction:column;gap:8px;padding:16px;display:flex}.review-answer-english{margin:0;font-size:1.0625rem;font-weight:800;line-height:1.4}.review-rate-caption{color:var(--app-muted);text-align:center;margin:22px 0 10px;font-size:.875rem}.review-rating-list{gap:8px;display:grid}.review-rating{text-align:left;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;padding:13px 14px;font-size:.9375rem;font-weight:700;display:flex}.review-rating-note{opacity:.75;font-size:.71875rem;font-weight:600}.review-rating-hard{color:#c92a2a;background:#fff5f5;border-color:#ffc9c9}.review-rating-good{border-color:var(--app-yellow-border);background:var(--app-yellow-bg);color:#855e0a}.review-rating-easy{border-color:var(--app-green-border);background:var(--app-green-bg);color:#2b8a3e}.review-toast{color:#fff;text-align:center;background:#181b26;border-radius:10px;margin:18px 0 0;padding:12px;font-size:.875rem;font-weight:700}.review-reveal-group{animation:.25s ease-out review-reveal-up}@keyframes review-reveal-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.review-answer-tip{color:var(--app-muted);margin:0;font-size:.8125rem;line-height:1.5}.review-submit-error{text-align:center;background:#fff5f5;border:1px solid #ffc9c9;border-radius:10px;flex-direction:column;gap:10px;margin-top:16px;padding:14px;display:flex}.review-submit-error-text{color:#c92a2a;margin:0;font-size:.875rem;font-weight:700}@media (prefers-reduced-motion:reduce){.review-reveal-group{animation:none}}.review-complete{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;display:flex}.review-complete-emoji{margin:0;font-size:2.5rem}.review-complete-title{margin:12px 0 0;font-size:1.375rem;font-weight:800}.review-complete-sub{color:var(--app-muted);margin:8px 0 28px;font-size:.875rem}.review-complete .primary-button{max-width:280px}.settings-section{padding-top:18px}.settings-section-title{color:var(--app-faint);margin:0 0 8px;font-size:.75rem;font-weight:700}.settings-card{border:1px solid var(--app-border);border-radius:12px;flex-direction:column;padding:4px 14px;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.settings-row+.settings-row{border-top:1px solid #f1f3f6}.settings-row-label{color:var(--app-muted);font-size:.8125rem}.settings-row-value{align-items:center;gap:6px;min-width:0;font-size:.9375rem;font-weight:700;display:inline-flex}.settings-row-value-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-row-value.is-muted{color:var(--app-muted);font-weight:500}.nickname-pencil{color:var(--app-faint);background:0 0;border:none;flex-shrink:0;padding:2px;display:inline-flex}.nickname-edit{align-items:center;gap:6px;display:inline-flex}.nickname-field{width:130px;height:36px}.nickname-action{color:var(--app-blue);background:0 0;border:none;font-size:.8125rem;font-weight:700}.nickname-action.is-muted{color:var(--app-faint)}.nickname-action:disabled{color:var(--app-faint);cursor:not-allowed}.settings-field-hint{color:#e03131;margin:-4px 0 0;font-size:.8125rem}.settings-coach-card{background:#f5f8ff;border:1.5px solid #b6c5f5;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.settings-coach-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.settings-coach-name{color:var(--app-blue-deep);font-size:.9375rem;font-weight:800}.settings-coach-summary{color:var(--app-muted);font-size:.75rem}.settings-coach-change{color:var(--app-blue-deep);background:#fff;border:1px solid #b6c5f5;border-radius:8px;flex-shrink:0;padding:7px 14px;font-size:.8125rem;font-weight:700}.usage-row{color:var(--app-ink);margin:0;padding:11px 0;font-size:.875rem}.usage-row+.usage-row{border-top:1px solid #f1f3f6}.settings-text-button{color:var(--app-ink);text-align:left;background:0 0;border:none;padding:12px 0;font-size:.9375rem;font-weight:700}.settings-text-button+.settings-text-button{border-top:1px solid #f1f3f6}.settings-text-button.is-destructive{color:#e03131}.settings-legal{margin-top:24px}.settings-toast{z-index:40;width:min(320px,100% - 48px);margin:0;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.coach-modal{background:#fff;border-radius:16px;width:min(400px,100%);padding:16px 20px 20px}.coach-modal .coach-card-list{margin-top:12px}.roleplay-screen{padding-bottom:0}.roleplay-topbar{justify-content:space-between;align-items:center;padding:16px 0 10px;display:flex}.roleplay-coach-picker{position:relative}.roleplay-coach-name{color:var(--app-ink);background:0 0;border:none;align-items:center;gap:4px;font-size:1rem;font-weight:800;display:inline-flex}.roleplay-coach-menu{min-width:120px;top:32px;right:50%;transform:translate(50%)}.roleplay-progress{min-width:44px;color:var(--app-faint);text-align:right;font-size:.8125rem;font-weight:700}.roleplay-body{flex-direction:column;flex:1;display:flex;overflow-y:auto}.roleplay-stage{background:#e7f0fe;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:22px 16px;display:flex}.roleplay-stage-avatar{width:56px;height:56px;color:var(--app-blue-deep);background:#fff;border:1.5px solid #9db8ec;border-radius:50%;justify-content:center;align-items:center;font-size:1.375rem;font-weight:800;display:inline-flex}.roleplay-stage-name{color:var(--app-blue-deep);margin-top:4px;font-size:.875rem;font-weight:800}.roleplay-stage-scenario{color:#5b78ad;font-size:.75rem}.roleplay-log{flex-direction:column;gap:10px;padding:16px 0 20px;display:flex}.roleplay-turn{flex-direction:column;gap:8px;display:flex}.chat-bubble{border-radius:14px;max-width:78%;margin:0;padding:11px 14px;font-size:.9375rem;line-height:1.5}.chat-coach{color:var(--app-ink);background:#f3f4f6;border-bottom-left-radius:4px;align-self:flex-start}.chat-user{background:var(--app-purple);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-typing{color:var(--app-faint);letter-spacing:2px}.chat-feedback{border:1px solid var(--app-yellow-border);background:var(--app-yellow-bg);color:#855e0a;border-radius:10px;flex-direction:column;align-self:flex-end;gap:2px;max-width:86%;margin:0;padding:9px 12px;font-size:.78125rem;line-height:1.5;display:flex}.chat-feedback-comment{color:#a07f24;font-size:.71875rem}.roleplay-complete{color:var(--app-muted);text-align:center;margin:6px 0 0;font-size:.84375rem;font-weight:700}.roleplay-inputbar{border-top:1px solid var(--app-border);padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:#fff;align-items:center;gap:10px;margin:0 -20px;display:flex;position:sticky;bottom:0}.roleplay-inputbar .icon-button{color:var(--app-faint)}.roleplay-text-input{border:1px solid var(--app-border);height:44px;color:var(--app-ink);background:#fff;border-radius:999px;flex:1;padding:0 16px;font-family:inherit;font-size:.9375rem}.roleplay-mic-button{background:var(--app-purple);color:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto;font-size:1.125rem;font-weight:800;display:inline-flex}.roleplay-mic-button:disabled{background:#c6c9d2}.roleplay-inputbar .icon-button.is-recording{color:var(--app-mic-red);border-radius:50%;animation:1.4s ease-in-out infinite voice-pulse}.roleplay-record-cancel{height:48px;color:var(--app-muted);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:.875rem;font-weight:600}@media (prefers-reduced-motion:reduce){.roleplay-inputbar .icon-button.is-recording{animation:none}}.encouragement-banner{background:var(--app-purple-soft);color:var(--app-purple);border-radius:12px;margin:4px 0 0;padding:13px 14px;font-size:.9375rem;font-weight:700}.result12b-section{padding-top:20px}.result12b-title{margin:0 0 8px;font-size:.875rem;font-weight:800}.result12b-title-practiced{color:#2b8a3e}.result12b-title-awkward{color:#b45309}.result12b-title-pron{color:var(--app-blue-deep)}.practiced-card{border:1px solid var(--app-green-border);background:var(--app-green-bg);border-radius:12px;align-items:center;gap:12px;padding:13px 14px;display:flex}.practiced-card+.practiced-card{margin-top:8px}.practiced-card-main{flex:1;min-width:0}.practiced-english{margin:0;font-size:1rem;font-weight:800}.practiced-pron{color:var(--app-muted);margin:4px 0 0;font-size:.75rem}.practiced-card-actions{align-items:center;gap:8px;display:flex}.practiced-card-actions .play-button{width:36px;height:36px}.save-chip{color:var(--app-ink);white-space:nowrap;background:#fff;border:1px solid #c6c9d2;border-radius:8px;padding:7px 10px;font-size:.75rem;font-weight:700}.save-chip.is-saved{border-color:var(--app-green-border);background:var(--app-green-bg);color:#2b8a3e;cursor:default}.awkward-card{border:1px solid var(--app-yellow-border);background:var(--app-yellow-bg);border-radius:12px;padding:13px 14px}.awkward-pair{color:#855e0a;margin:0;font-size:.875rem;line-height:1.5}.awkward-said,.awkward-natural{display:block}.awkward-natural{margin-top:2px}.awkward-comment{color:#a07f24;margin:6px 0 0;font-size:.75rem}.pron-focus-card{background:#ebf3ff;border:1px solid #bcd4fb;border-radius:12px;padding:13px 14px}.pron-focus-words{color:var(--app-blue-deep);margin:0;font-size:.9375rem;font-weight:800}.pron-focus-comment{color:#5b78ad;margin:6px 0 0;font-size:.75rem}.practiced-tone{background:var(--app-blue-bg,#ebf3ff);color:var(--app-blue-deep);vertical-align:middle;white-space:nowrap;border-radius:6px;margin-left:8px;padding:2px 7px;font-size:.6875rem;font-weight:700}.result12b-source-link{color:var(--app-blue);text-align:center;margin-top:18px;font-size:.875rem;font-weight:700;display:block}.result12b-toast{z-index:40;color:#fff;background:#181b26;border-radius:10px;margin:0;padding:12px 18px;font-size:.875rem;font-weight:700;animation:.18s ease-out result12b-toast-in;position:fixed;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0003}@keyframes result12b-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.result12b-footer{margin-top:auto;padding-top:24px}.landing-desktop-grid,.detail-desktop-grid,.settings-desktop-grid,.result12b-desktop-grid{flex-direction:column;flex:1;display:flex}@media (min-width:768px){.landing-desktop-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:center;gap:48px;display:grid}.landing-hero{padding-top:0}.landing-headline{font-size:2.5rem}.landing-sub{font-size:1rem}.landing-cta{max-width:320px}.landing-examples{padding-top:0}.landing-example-list{gap:10px}.landing-example-card{padding:16px 18px;font-size:.9375rem}.try-main,.review-main,.review-topbar,.review-progress-track{width:min(620px,100%);margin-left:auto;margin-right:auto}.review-main{padding-top:34px}.login-main,.coach-select-main{width:min(440px,100%);margin:0 auto;padding-top:16px}.try-main{padding-top:12px}.try-submit,.login-legal,.coach-select-footer{margin-top:32px}.modal-backdrop:has(.text-input-sheet){align-items:center;padding:24px}.text-input-sheet{border-radius:18px;max-width:560px}.sheet-handle{display:none}.library-search{max-width:560px}.library-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-desktop-grid{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:start;gap:0 28px;display:grid}.detail-main-column,.detail-side-column{min-width:0}.detail-side-column{padding-top:22px}.settings-desktop-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 32px;display:grid}.roleplay-topbar,.roleplay-stage,.roleplay-log{width:min(720px,100%);margin-left:auto;margin-right:auto}.roleplay-inputbar{margin:0 -32px;padding-left:calc(50% - 328px);padding-right:calc(50% - 328px)}.roleplay-text-input{max-width:560px}.result12b-desktop-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);grid-template-areas:"result12b-main result12b-side""result12b-footer result12b-side";align-items:start;gap:0 32px;display:grid}.result12b-main{grid-area:result12b-main;min-width:0}.result12b-side{grid-area:result12b-side;min-width:0}.result12b-footer{grid-area:result12b-footer;align-self:start;padding-top:32px}.result12b-footer .primary-button{max-width:380px}}.expression-tip{color:var(--app-faint);margin:6px 0 0;font-size:.75rem;line-height:1.5}.expression-tip.culture{color:#5f532a}.play-button-wrap{flex-shrink:0;display:inline-flex;position:relative}.tts-error-toast{color:#fff;background:#b91c1c;border-radius:8px;width:max-content;max-width:180px;padding:6px 10px;font-size:.6875rem;line-height:1.3;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 6px 18px #b91c1c40}.save-toast{color:var(--app-blue-deep);flex-basis:100%;margin:8px 0 0;font-size:.8125rem;font-weight:600}.save-toast[role=alert]{color:#b91c1c}.result-actions-error{flex-direction:column;align-items:stretch;gap:12px}.save-error-copy{color:var(--app-ink);margin:0;font-size:.875rem;line-height:1.5}.result-notfound{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:48px 16px;display:flex}.result-notfound-title{margin:0;font-size:1.125rem;font-weight:800}.result-notfound-copy{color:var(--app-faint);margin:0 0 8px;font-size:.875rem;line-height:1.5}.result-notfound .primary-button{width:min(100%,320px)}.skeleton{background:linear-gradient(100deg,#eceef2 30%,#f6f7f9 50%,#eceef2 70%) 0 0/200% 100%;border-radius:8px;animation:1.3s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-line{height:12px}.skeleton-line.wide{height:16px;margin-top:10px}.skeleton-card .skeleton-line{margin-top:8px}.skeleton-badge{border-radius:6px;width:56px;height:18px}.skeleton-circle{border-radius:50%;flex-shrink:0;width:44px;height:44px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.voice-input{text-align:center}.voice-input-caption{color:var(--app-faint);margin:16px 0 0;font-size:.75rem}.voice-input-hero .voice-input-caption{margin-top:0;font-size:.8125rem}.mic-button.is-recording,.try-mic-button.is-recording{animation:1.4s ease-in-out infinite voice-pulse}@keyframes voice-pulse{0%,to{box-shadow:0 0 0 10px #f6caca}50%{box-shadow:0 0 0 18px #f0a9a9}}.voice-input-notice{background:#f3f4f6;border-radius:10px;max-width:320px;margin:12px auto 0;padding:12px 14px}.voice-input-notice-message{color:var(--app-muted);margin:0;font-size:.8125rem;line-height:1.5}.voice-input-notice-actions{justify-content:center;gap:12px;margin-top:10px;display:flex}.voice-input-retry,.voice-input-use-text{color:var(--app-mic-red);background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:600}.voice-input-use-text{color:var(--app-muted)}@media (prefers-reduced-motion:reduce){.mic-button.is-recording,.try-mic-button.is-recording{animation:none}}
