.app:has(.papp){max-width:920px}.papp{--papp-bg: linear-gradient(145deg, #1a1030 0%, #0f1a2e 45%, #0b1220 100%);--papp-card: rgba(22, 32, 52, .85);--papp-border: rgba(148, 163, 184, .18);--papp-text: #f1f5f9;--papp-muted: #94a3b8;--papp-good: #4ade80;--papp-close: #fbbf24;--papp-wrong: #fb7185;--papp-primary: #8b5cf6;--papp-primary-hover: #a78bfa;--papp-mic: #ec4899;display:grid;gap:1rem}.papp-card{padding:1.35rem 1.5rem;border-radius:20px;border:1px solid var(--papp-border);background:var(--papp-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 40px #00000040}.papp-welcome,.papp-loading{text-align:center;background:var(--papp-bg)}.papp-title{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#e9d5ff,#fbcfe8,#bfdbfe);-webkit-background-clip:text;background-clip:text;color:transparent}.papp-subtitle{margin:0 0 1.25rem;color:var(--papp-muted);font-size:1rem}.papp-hint{margin:.75rem 0 0;color:var(--papp-muted);font-size:.85rem}.papp-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--papp-border);border-radius:999px;background:#1e293bcc;color:var(--papp-text);padding:.6rem 1.2rem;font:inherit;font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease}.papp-btn:hover:not(:disabled){transform:translateY(-1px);background:#334155e6}.papp-btn:disabled{opacity:.45;cursor:not-allowed}.papp-btn-primary{background:linear-gradient(135deg,var(--papp-primary),#6366f1);border-color:transparent;padding:.75rem 1.75rem;font-size:1.05rem}.papp-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--papp-primary-hover),#818cf8)}.papp-btn-ghost{background:transparent}.papp-progress{margin:1rem auto 0;max-width:320px;height:8px;border-radius:999px;background:#0f172acc;overflow:hidden}.papp-progress>span{display:block;height:100%;background:linear-gradient(90deg,#8b5cf6,#ec4899);border-radius:999px;transition:width .2s ease}.papp-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.papp-mode-switch,.papp-strictness{display:inline-flex;padding:4px;border-radius:999px;background:#0f172ab3;border:1px solid var(--papp-border)}.papp-mode,.papp-strict{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;background:transparent;color:var(--papp-muted);padding:.45rem .9rem;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s ease}.papp-mode.active,.papp-strict.active{background:linear-gradient(135deg,#8b5cf659,#ec489940);color:var(--papp-text);box-shadow:0 2px 8px #8b5cf640}.papp-label{display:block;margin:0 0 .5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--papp-muted);font-weight:600}.papp-select{width:100%;padding:.65rem .85rem;border:1px solid var(--papp-border);border-radius:12px;background:#0a101ce6;color:var(--papp-text);font:inherit;margin-bottom:.85rem}.papp-prompt-text{margin:0;font-size:1.35rem;line-height:1.55;font-weight:500;color:var(--papp-text)}.papp-prompt-word{margin:.5rem 0 0;font-size:2.5rem;font-weight:700;text-align:center;text-transform:capitalize;background:linear-gradient(135deg,#f5d0fe,#ddd6fe);-webkit-background-clip:text;background-clip:text;color:transparent}.papp-word-picker{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.5rem}.papp-word-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--papp-border);border-radius:999px;background:#0f172a99;color:var(--papp-muted);padding:.35rem .75rem;font:inherit;font-size:.82rem;cursor:pointer;text-transform:capitalize;transition:all .15s ease}.papp-word-pill.active{border-color:#8b5cf699;background:#8b5cf633;color:var(--papp-text)}.papp-word-pill:hover:not(:disabled){border-color:#8b5cf666}.papp-mic-section{display:flex;flex-direction:column;align-items:center;padding:1rem 0 .5rem}.papp-mic-wrap{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.papp-mic-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle,rgba(236,72,153,.15),transparent 70%);opacity:0;transition:opacity .2s ease}.papp-mic-recording:before{opacity:1;animation:papp-pulse 1.4s ease-in-out infinite}.papp-mic-recording:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:2px solid rgba(236,72,153,.45);animation:papp-ring 1.4s ease-out infinite}@keyframes papp-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.08);opacity:1}}@keyframes papp-ring{0%{transform:scale(.95);opacity:.8}to{transform:scale(1.25);opacity:0}}.papp-mic-btn{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:88px;height:88px;border:none;border-radius:50%;background:linear-gradient(145deg,#ec4899,#8b5cf6);color:#fff;font-size:2rem;cursor:pointer;box-shadow:0 8px 28px #ec489966;transition:transform .15s ease,box-shadow .15s ease}.papp-mic-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 12px 36px #ec489980}.papp-mic-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.papp-mic-stop{background:linear-gradient(145deg,#ef4444,#dc2626);box-shadow:0 8px 28px #ef444466}.papp-mic-busy .papp-mic-btn{animation:papp-busy .8s ease-in-out infinite alternate}@keyframes papp-busy{0%{opacity:.7}to{opacity:1}}.papp-mic-icon{display:block;line-height:1}.papp-mic-stop-icon{display:block;width:22px;height:22px;border-radius:4px;background:#fff;flex-shrink:0}.papp-status{margin:.85rem 0 .35rem;color:var(--papp-muted);font-size:.9rem}.papp-upload{font-size:.82rem;color:var(--papp-muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.papp-upload.disabled{opacity:.4;cursor:not-allowed}.papp-upload input{display:none}.papp-results{background:var(--papp-bg)}.papp-results-header{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;margin-bottom:1.25rem}.papp-score-ring{position:relative;width:120px;height:120px;flex-shrink:0}.papp-score-svg{width:100%;height:100%;transform:rotate(-90deg)}.papp-score-track{fill:none;stroke:#94a3b826;stroke-width:8}.papp-score-fill{fill:none;stroke:#8b5cf6;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.34,1.2,.64,1)}.papp-score-celebrate .papp-score-fill{stroke:#4ade80;filter:drop-shadow(0 0 6px rgba(74,222,128,.5));animation:papp-glow 1.2s ease-in-out 2}@keyframes papp-glow{0%,to{filter:drop-shadow(0 0 4px rgba(74,222,128,.3))}50%{filter:drop-shadow(0 0 12px rgba(74,222,128,.7))}}.papp-score-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.papp-score-pct{font-size:1.5rem;font-weight:700;color:var(--papp-text)}.papp-score-stars{font-size:.75rem;color:#fbbf24;letter-spacing:1px}.papp-score-stars-dim{color:#94a3b840}.papp-message{margin:0;font-size:1.25rem;font-weight:600;color:var(--papp-text)}.papp-hint-text{margin:.4rem 0 0;color:var(--papp-muted);font-size:.95rem}.papp-sentence-line{margin-bottom:1rem}.papp-sentence-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--papp-muted);font-weight:700;margin-bottom:.35rem}.papp-sentence-text{margin:0;font-size:1.2rem;line-height:2;display:flex;flex-wrap:wrap;gap:.35rem .5rem}.papp-word-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;max-width:100%}.papp-word-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#0f172a80;border-radius:10px;padding:.2rem .45rem;font:inherit;font-size:inherit;color:var(--papp-text);cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.papp-word-btn:hover{background:#1e293bcc;box-shadow:0 2px 8px #0003}.papp-word-good{box-shadow:inset 0 0 0 1px #4ade8033}.papp-word-close{box-shadow:inset 0 0 0 1px #fbbf2459}.papp-word-wrong{box-shadow:inset 0 0 0 1px #fb718566}.papp-word-detail{display:block;margin:.5rem 0 .75rem;padding:.65rem;border-radius:12px;background:#0a101c99;border:1px solid var(--papp-border)}.papp-word-heard-line{margin:.5rem 0 0;font-size:.9rem;color:var(--papp-muted)}.papp-seg{border-radius:4px;padding:0 1px;transition:background .15s ease}.papp-seg-good{color:var(--papp-good)}.papp-seg-neutral{color:var(--papp-text)}.papp-seg-close{color:var(--papp-close);background:#fbbf2426}.papp-seg-wrong{color:var(--papp-wrong);background:#fb71852e}.papp-detail-controls{margin-top:.5rem}.papp-chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.papp-chip-row-center{justify-content:center}.papp-chip{display:flex;flex-direction:column;align-items:center;min-width:3.5rem;padding:.35rem .5rem;border-radius:10px;border:1px solid var(--papp-border);font-size:.72rem;background:#0f172a99}.papp-chip-vowel{border-color:#3b82f659}.papp-chip-diphthong{border-color:#0ea5e959}.papp-chip-consonant{border-color:#64748b59}.papp-chip-mismatch{background:#fb71851f;border-color:#fb718566}.papp-chip-spell{font-weight:700;font-size:.95rem;color:var(--papp-text)}.papp-chip-name{color:var(--papp-muted);font-size:.65rem}.papp-chip-heard{color:var(--papp-wrong);font-size:.62rem;margin-top:2px}button.papp-chip{cursor:pointer;font:inherit;color:inherit}button.papp-chip:hover{filter:brightness(1.08)}button.papp-chip:focus-visible{outline:2px solid rgba(129,140,248,.85);outline-offset:2px}.papp-word-hero{text-align:center;padding:.5rem 0 1rem}.papp-word-mode-results{display:flex;flex-direction:column;height:100%;min-height:0}.papp-word-results-list{flex:1;min-width:0;min-height:0}.papp-word-results-list-multi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));gap:.75rem;overflow-y:auto}.papp-word-results-list-multi .papp-word-hero{min-width:0;padding:.65rem;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:#ffffff09}.papp-word-results-list-multi .papp-word-big{margin-bottom:.65rem}.papp-word-big{font-size:2.75rem;font-weight:800;line-height:1.3;margin-bottom:1rem}.papp-big-seg{display:inline}.papp-big-dot{margin:0 .15rem;color:var(--papp-muted);font-weight:400}.papp-attempt-dots{display:flex;justify-content:center;gap:.4rem;margin-top:1rem}.papp-dot{width:10px;height:10px;border-radius:50%;background:#94a3b84d}.papp-dot-good{background:var(--papp-good);box-shadow:0 0 6px #4ade8080}.papp-dot-close{background:var(--papp-close)}.papp-dot-wrong{background:var(--papp-wrong)}.papp-try-again{display:block;margin:1rem auto 0}.papp-nerd{margin-top:1.25rem;font-size:.82rem;color:var(--papp-muted)}.papp-nerd pre{margin-top:.5rem;padding:.75rem;border-radius:8px;background:#0a101ccc;overflow-x:auto;font-size:.72rem;max-height:200px}.papp-error{color:var(--papp-wrong);font-size:.88rem;margin:.5rem 0 0}.papp-error-block{text-align:center;padding:.75rem;border-radius:12px;background:#fb71851a;border:1px solid rgba(251,113,133,.25)}.papp-student-results{text-align:center}.papp-stars{display:flex;justify-content:center;gap:.35rem;margin-bottom:.75rem}.papp-star{font-size:2rem;color:#94a3b840;line-height:1}.papp-star-filled{color:#fbbf24;text-shadow:0 0 12px rgba(251,191,36,.45)}.papp-student-results .papp-message{margin:0 0 .35rem;font-size:1.5rem}.papp-sentence-display{margin:1.25rem 0;font-size:1.35rem;line-height:2.2;font-weight:500;text-align:left}.papp-sentence-word-wrap{display:inline}.papp-sentence-word{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid transparent;background:transparent;color:var(--papp-text);font:inherit;font-size:inherit;font-weight:600;padding:.4rem .4rem .35rem;min-height:44px;min-width:44px;cursor:pointer;border-bottom-width:3px;border-bottom-style:solid;border-radius:6px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.papp-sentence-word:hover{background:#94a3b81a}.papp-sentence-word-good{border-bottom-color:var(--papp-good);background:#4ade8014}.papp-sentence-word-close{border-bottom-color:var(--papp-close);background:#fbbf2424}.papp-sentence-word-wrong{border-bottom-color:var(--papp-wrong);background:#fb718538}.papp-sentence-word-skipped{border-bottom:3px dashed #94a3b8;background:#94a3b81f;color:#94a3b8;opacity:.85}.papp-word-card-skipped{border-color:#94a3b873}.papp-tip-skipped{border-left:3px solid #94a3b8}.papp-sentence-word-worst{background:#fb718547;box-shadow:inset 0 0 0 1px #fb718573}.papp-sentence-word-open{box-shadow:0 0 0 2px #f8fafc,0 0 0 4px #f8fafc59;background:#0f172a8c}.papp-word-card-wrap{animation:papp-card-open .18s ease-out;margin:.5rem 0 1rem;text-align:left}@keyframes papp-card-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.papp-word-card{padding:1.1rem 1.15rem;border-radius:16px;border:1px solid rgba(251,113,133,.35);background:#0f172aa6}.papp-word-card-perfect{border-color:#4ade8059}.papp-word-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.papp-card-word{font-size:1.65rem;font-weight:700;color:var(--papp-text)}.papp-card-word-highlight{padding:.05rem .15rem;border-radius:4px}.papp-card-word-highlight.papp-seg-good{background:#4ade8033}.papp-card-word-highlight.papp-seg-close{background:#fbbf2440}.papp-card-word-highlight.papp-seg-wrong{background:#fb71854d}.papp-audio-btns{display:flex;gap:.45rem;flex-shrink:0}.papp-audio-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--papp-border);background:#1e293bd9;font-size:1.15rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.papp-audio-btn:hover:not(:disabled){background:#334155f2}.papp-audio-btn:disabled{opacity:.4;cursor:not-allowed}.papp-unit-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.85rem}.papp-unit-chip{display:flex;flex-direction:column;align-items:center;min-width:52px;padding:.45rem .55rem;border-radius:10px;border:1px solid transparent}button.papp-unit-chip{cursor:pointer;font:inherit;color:inherit;background:transparent}button.papp-unit-chip:hover{filter:brightness(1.08)}button.papp-unit-chip:focus-visible{outline:2px solid rgba(129,140,248,.85);outline-offset:2px}.papp-unit-chip.papp-seg-good{background:#4ade8038;border-color:#4ade8080}.papp-unit-chip.papp-seg-close{background:#fbbf2438;border-color:#fbbf248c}.papp-unit-chip.papp-seg-wrong{background:#fb718547;border-color:#fb7185a6}.papp-unit-chip-flagged{border-width:2px;box-shadow:0 0 0 1px #fb718559}.papp-unit-grapheme{font-size:1.1rem;font-weight:700;color:var(--papp-text)}.papp-unit-label{font-size:.62rem;color:var(--papp-muted);margin-top:2px;text-align:center}.papp-tip-strip{display:flex;gap:.5rem;align-items:flex-start;padding:.65rem .75rem;border-radius:10px;background:#0a101cbf;margin-bottom:.85rem;font-size:.88rem;line-height:1.45;color:var(--papp-muted)}.papp-tip-strip p{margin:0}.papp-tip-extra-sound{border:1px solid rgba(251,191,36,.28);background:#fbbf2414;color:#fef3c7eb}.papp-extra-sound-pill{display:inline-flex;align-items:center;align-self:center;padding:.2rem .55rem;border-radius:999px;border:1px solid rgba(251,191,36,.45);background:#fbbf241f;color:#fef3c7f2;font-size:.72rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}.papp-extra-sound-hint{margin-top:.35rem;color:#fef3c7e0}.papp-tip-icon{flex-shrink:0;color:var(--papp-close);font-weight:700}.papp-perfect-msg{margin:0;color:var(--papp-good);font-weight:600;font-size:.95rem}.papp-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.papp-btn-outline{background:transparent;border:1px solid var(--papp-border);font-size:.88rem;padding:.55rem 1rem}.papp-btn-retry{border-color:#3b82f673}.papp-results-nav{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--papp-border)}.papp-btn-nav{min-height:44px;min-width:140px}.papp-retry-banner{text-align:center;border-color:#3b82f659;background:#3b82f614}.papp-retry-word{margin:0 0 .35rem;font-size:1.1rem}.papp-retry-msg{margin:0 0 .75rem;color:var(--papp-muted)}.papp-celebrating .papp-stars{animation:papp-star-pulse .8s ease-out}@keyframes papp-star-pulse{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}@media(max-width:520px){.papp-toolbar{flex-direction:column;align-items:stretch}.papp-mode-switch,.papp-strictness{justify-content:center}.papp-prompt-word{font-size:2rem}.papp-word-big{font-size:2.1rem}.papp-sentence-text{font-size:1.05rem}}.papp-embedded .papp-results-nav{display:none}.speaker-practice-inner{max-width:56rem;margin-inline:auto}.speaker-practice-prompt{padding:clamp(.65rem,2.5vw,1.25rem)}.speaker-practice-text-word{font-size:clamp(1.75rem,7vw,3.5rem);line-height:1.1}.speaker-practice-text-sentence{font-size:clamp(1rem,3.5vw,1.65rem);line-height:1.4}.speaker-practice-korean{font-size:clamp(.75rem,2.5vw,.95rem);font-family:Jua,system-ui,sans-serif}.speaker-practice-text-word,.speaker-practice-text-sentence{font-family:Fredoka,system-ui,sans-serif}.speaker-practice-side-mic{display:none}.papp-compact .papp-card{padding:.65rem .85rem}.papp-compact .papp-results-header{gap:.65rem;margin-bottom:.5rem}.papp-compact .papp-score-ring{width:72px;height:72px}.papp-compact .papp-score-pct{font-size:1.1rem}.papp-compact .papp-message{font-size:1rem}.papp-compact .papp-hint-text{font-size:.8rem;margin-top:.2rem}.papp-compact .papp-sentence-display{margin:.35rem 0;font-size:1rem;line-height:1.45}.papp-compact .papp-sentence-word{min-height:32px;min-width:32px;padding:.2rem .25rem .15rem}.papp-compact .papp-word-card-wrap{margin:.25rem 0 0}.papp-compact .papp-word-card{padding:.65rem}.papp-compact .papp-card-word{font-size:1.25rem}.papp-compact .papp-word-big{font-size:2rem}.papp-compact .papp-chip-row,.papp-compact .papp-unit-row{gap:.35rem}.papp-compact .papp-tip-strip{padding:.45rem .55rem;font-size:.8rem}.papp-compact .papp-card-actions{gap:.35rem}.papp-compact .papp-btn-outline{font-size:.78rem;padding:.4rem .65rem}.papp-compact.papp-student-results{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.papp-compact .papp-results-body{flex:1;min-height:0;overflow:hidden}@media(orientation:landscape)and (max-height:640px){.papp-compact .papp-results-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem;align-items:start}.papp-compact .papp-results-detail{min-height:0;overflow:hidden}.papp-compact .papp-word-card-wrap{margin:0;height:100%}.papp-compact .papp-word-card{height:100%;overflow:hidden}.papp-compact .papp-unit-row{flex-wrap:wrap}}@media(orientation:landscape)and (max-height:640px){.speaker-practice-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;max-width:56rem}.speaker-practice-prompt{padding:.65rem 1rem!important}.speaker-practice-text-word{font-size:clamp(1.5rem,5vw,2.75rem)!important;line-height:1.1!important}.speaker-practice-text-sentence{font-size:clamp(.95rem,2.2vw,1.25rem)!important;line-height:1.35!important}.speaker-practice-side{display:flex;flex-direction:column;align-items:center;gap:.35rem}.speaker-practice-waveform{width:100%;margin-top:.25rem}.speaker-practice-footer-mic{display:none!important}.speaker-practice-side-mic{display:flex!important}}@media(min-width:768px)and (min-height:641px){.forced-aligner-expanded .speaker-practice-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(.75rem,2vw,1.5rem);width:100%;max-width:56rem;padding-inline:clamp(.5rem,2vw,1.5rem)}.forced-aligner-expanded .speaker-practice-prompt{padding:clamp(1rem,2.5vw,1.75rem)!important}.forced-aligner-expanded .speaker-practice-text-word{font-size:clamp(2.5rem,6vw,5.5rem)!important;line-height:1.05!important}.forced-aligner-expanded .speaker-practice-text-sentence{font-size:clamp(1.3rem,2.5vw,2.5rem)!important;line-height:1.35!important}.forced-aligner-expanded .speaker-practice-korean{font-size:clamp(.95rem,2vw,1.35rem)!important}.forced-aligner-expanded .speaker-practice-side{display:flex;flex-direction:column;align-items:center;gap:.5rem}.forced-aligner-expanded .speaker-practice-footer-mic{display:none!important}.forced-aligner-expanded .speaker-practice-side-mic{display:flex!important}.forced-aligner-expanded .speaker-practice-waveform{margin-top:.75rem}.forced-aligner-expanded footer button{font-size:clamp(.85rem,1.5vw,1.05rem);padding:.5rem 1rem}.forced-aligner-expanded footer p{font-size:clamp(.8rem,1.5vw,.95rem)!important}.forced-aligner-expanded .papp{max-width:56rem}}@media(min-width:1024px)and (min-height:700px){.forced-aligner-expanded .papp-compact .papp-word-big{font-size:clamp(2.5rem,4vw,3.5rem)}.forced-aligner-expanded .papp-compact .papp-score-ring{width:96px;height:96px}.forced-aligner-expanded .papp-compact .papp-sentence-display{font-size:clamp(1.1rem,2vw,1.5rem)}.forced-aligner-expanded .papp-compact .papp-message{font-size:clamp(1.1rem,2vw,1.35rem)}.forced-aligner-expanded .papp-compact .papp-card-word{font-size:clamp(1.35rem,2vw,1.6rem)}.forced-aligner-expanded .papp-compact .papp-sentence-word{min-height:36px;min-width:36px}}.vc-model-load{position:relative;display:flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;padding:1rem;container-type:size;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(52,211,153,.22),transparent 55%),radial-gradient(ellipse 70% 50% at 100% 100%,rgba(34,211,238,.14),transparent 50%),radial-gradient(ellipse 60% 40% at 0% 80%,rgba(129,140,248,.16),transparent 45%),linear-gradient(160deg,#07111f,#0c1a2e 42%,#0a1628)}.vc-model-load__glow{pointer-events:none;position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:conic-gradient(from 120deg,transparent,rgba(52,211,153,.08),transparent 40%,rgba(34,211,238,.07),transparent 70%);animation:vc-model-spin 18s linear infinite}.vc-model-load__card{position:relative;z-index:1;width:100%;max-width:26rem;padding:1.75rem 1.5rem 1.5rem;text-align:center;border-radius:1.75rem;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#ffffff1a,#ffffff0a);box-shadow:0 24px 60px #00000059,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}@media(min-width:640px){.vc-model-load__card{padding:2rem 1.75rem 1.75rem}}.vc-model-load__visual{position:relative;width:7.5rem;height:7.5rem;margin:0 auto 1.25rem}.vc-model-load__orbit{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid transparent}.vc-model-load__orbit--a{border-top-color:#34d399bf;border-right-color:#34d39933;animation:vc-model-spin 2.8s linear infinite}.vc-model-load__orbit--b{top:.55rem;right:.55rem;bottom:.55rem;left:.55rem;border-bottom-color:#22d3eeb3;border-left-color:#22d3ee26;animation:vc-model-spin 4.2s linear infinite reverse}.vc-model-load__orbit--c{top:1.1rem;right:1.1rem;bottom:1.1rem;left:1.1rem;border-top-color:#a5b4fc8c;animation:vc-model-spin 6s linear infinite}.vc-model-load__icon{position:absolute;top:1.35rem;right:1.35rem;bottom:1.35rem;left:1.35rem;width:calc(100% - 2.7rem);height:calc(100% - 2.7rem);filter:drop-shadow(0 0 12px rgba(52,211,153,.35))}.vc-model-load__arrow{animation:vc-model-arrow 1.6s ease-in-out infinite}.vc-model-load__wave{position:absolute;left:50%;bottom:-.15rem;display:flex;gap:.22rem;align-items:flex-end;height:1rem;transform:translate(-50%)}.vc-model-load__wave span{display:block;width:.22rem;border-radius:999px;background:linear-gradient(180deg,#67e8f9,#34d399);animation:vc-model-wave 1.1s ease-in-out infinite}.vc-model-load__wave span:nth-child(1){height:.35rem;animation-delay:0s}.vc-model-load__wave span:nth-child(2){height:.55rem;animation-delay:.12s}.vc-model-load__wave span:nth-child(3){height:.85rem;animation-delay:.24s}.vc-model-load__wave span:nth-child(4){height:.5rem;animation-delay:.36s}.vc-model-load__wave span:nth-child(5){height:.4rem;animation-delay:.48s}.vc-model-load__title{margin:0;display:grid;gap:.35rem;font-size:clamp(1.15rem,4vw,1.45rem);font-weight:800;letter-spacing:-.02em;color:#f8fafc}.vc-model-load__title-ko{font-size:.92em;font-weight:700;color:#a5f3fc}.vc-model-load__privacy{margin:.9rem 0 0;color:#c7d2feeb;font-size:clamp(.8rem,2.8vw,.92rem);line-height:1.45}.vc-model-load__privacy--ko{margin-top:.45rem;color:#a5f3fce0;font-size:clamp(.78rem,2.6vw,.88rem)}.vc-model-load__pct{margin:1.15rem 0 0;font-size:clamp(2rem,8vw,2.6rem);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em;background:linear-gradient(135deg,#6ee7b7,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.vc-model-load__bytes{margin:.2rem 0 0;color:#bae6fde6;font-size:.85rem;font-variant-numeric:tabular-nums}.vc-model-load__bar{position:relative;margin-top:.9rem;height:.55rem;overflow:hidden;border-radius:999px;background:#ffffff1a}.vc-model-load__bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#10b981,#22d3ee,#818cf8);background-size:200% 100%;transition:width .3s ease;animation:vc-model-bar-flow 2.4s linear infinite}.vc-model-load__bar-shine{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translate(-100%);animation:vc-model-shine 2s ease-in-out infinite}.vc-model-load__status{margin:1rem 0 0;min-height:3.1rem;display:grid;gap:.25rem;color:#e2e8f0f2;font-size:clamp(.85rem,3vw,.98rem);font-weight:600}.vc-model-load__status-ko{color:#a5f3fce6;font-size:.92em;font-weight:500}.vc-model-load__badges{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1.15rem 0 0;padding:0;list-style:none}.vc-model-load__badges li{display:grid;gap:.15rem;padding:.55rem .35rem;border-radius:.85rem;border:1px solid rgba(52,211,153,.22);background:#10b98114}.vc-model-load__badges strong{color:#ecfdf5;font-size:.68rem;font-weight:700;letter-spacing:.01em}.vc-model-load__badges span{color:#a5f3fcd9;font-size:.62rem}.vc-model-load--compact{align-items:stretch;justify-content:center;overflow:hidden;padding:.4rem .6rem}.vc-model-load--compact .vc-model-load__card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"visual title" "visual privacy" "visual pct" "visual bar" "visual status" "badges badges";column-gap:.9rem;row-gap:.2rem;width:100%;max-width:min(42rem,96%);max-height:100%;margin:auto;padding:.65rem .85rem;border-radius:1rem;text-align:left;overflow:hidden}.vc-model-load--compact .vc-model-load__visual{grid-area:visual;align-self:center;width:3.75rem;height:3.75rem;margin:0}.vc-model-load--compact .vc-model-load__orbit--b{top:.35rem;right:.35rem;bottom:.35rem;left:.35rem}.vc-model-load--compact .vc-model-load__orbit--c{top:.7rem;right:.7rem;bottom:.7rem;left:.7rem}.vc-model-load--compact .vc-model-load__icon{top:.85rem;right:.85rem;bottom:.85rem;left:.85rem;width:calc(100% - 1.7rem);height:calc(100% - 1.7rem)}.vc-model-load--compact .vc-model-load__wave{display:none}.vc-model-load--compact .vc-model-load__title{grid-area:title;gap:.1rem;font-size:clamp(.95rem,4.5cqh,1.2rem)}.vc-model-load--compact .vc-model-load__privacy{grid-area:privacy;margin:0;font-size:clamp(.68rem,3.5cqh,.8rem);line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.vc-model-load--compact .vc-model-load__privacy--ko{display:none}.vc-model-load--compact .vc-model-load__pct{grid-area:pct;margin:.15rem 0 0;font-size:clamp(1.25rem,8cqh,1.75rem)}.vc-model-load--compact .vc-model-load__bytes{display:none}.vc-model-load--compact .vc-model-load__bar{grid-area:bar;margin-top:.15rem;height:.4rem}.vc-model-load--compact .vc-model-load__status{grid-area:status;margin:.2rem 0 0;min-height:0;gap:.1rem;font-size:clamp(.72rem,3.8cqh,.88rem)}.vc-model-load--compact .vc-model-load__badges{grid-area:badges;gap:.35rem;margin:.35rem 0 0}.vc-model-load--compact .vc-model-load__badges li{padding:.3rem .25rem;border-radius:.55rem}.vc-model-load--compact .vc-model-load__badges strong{font-size:.58rem}.vc-model-load--compact .vc-model-load__badges span{font-size:.54rem}.vc-model-load--ultra .vc-model-load__badges{display:none}.vc-model-load--ultra .vc-model-load__privacy{-webkit-line-clamp:1}.vc-model-load--ultra .vc-model-load__visual{width:3.1rem;height:3.1rem}.vc-model-load--ultra .vc-model-load__card{padding:.45rem .7rem;row-gap:.12rem}@keyframes vc-model-spin{to{transform:rotate(360deg)}}@keyframes vc-model-arrow{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(5px);opacity:1}}@keyframes vc-model-wave{0%,to{transform:scaleY(.55);opacity:.55}50%{transform:scaleY(1);opacity:1}}@keyframes vc-model-bar-flow{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes vc-model-shine{0%{transform:translate(-100%)}55%,to{transform:translate(100%)}}.word-breakdown-presentation{display:flex;flex-direction:column;gap:clamp(.25rem,1.5cqh,1rem);min-height:0;flex:1 1 auto;height:100%;container-type:size;container-name:wbd-presentation}.wbd-intro{margin:0;flex-shrink:0;text-align:center;font-size:clamp(.7rem,2.2cqw,1rem);color:#cbd5e1e6}.wbd-phrase-rail{display:flex;flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:.35rem .55rem;padding:.15rem .25rem}.wbd-phrase-rail-word{padding:.25rem .6rem;border-radius:999px;font-size:clamp(.65rem,2cqw,.95rem);font-weight:600;color:#94a3b8bf;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);transition:all .25s ease}.wbd-phrase-rail-word--focus{color:#fff;background:#22d3ee2e;border-color:#22d3ee73;box-shadow:0 0 20px #22d3ee33}.wbd-phrase-rail-word--done{color:#a7f3d0f2;border-color:#34d39959;background:#10b9811f}.wbd-stage{position:relative;display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:clamp(.35rem,2cqw,2rem);border-radius:1.25rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(34,211,238,.08),transparent 70%),#0f172a8c;border:1px solid rgba(255,255,255,.08);overflow:hidden}.wbd-stage--celebrate{background:radial-gradient(ellipse 90% 70% at 50% 30%,rgba(52,211,153,.15),transparent 65%),radial-gradient(ellipse 60% 50% at 80% 80%,rgba(168,85,247,.12),transparent 60%),#0f172a99;animation:wbd-celebrate-glow 2.4s ease-in-out infinite alternate}.wbd-stage-word{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:100%;transition:opacity .35s ease,transform .35s ease}.wbd-stage-word--focus{transform:scale(1);opacity:1}.wbd-stage-word--dim{opacity:.28;transform:scale(.82);pointer-events:none}.wbd-stage-word--done{opacity:.55;transform:scale(.9)}.wbd-tiles{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:clamp(.12rem,1cqw,.65rem);max-width:100%}.wbd-tile{position:relative;display:inline-flex;flex-direction:column;align-items:center;flex-shrink:1;min-width:clamp(1.15rem,6.5cqw,4.25rem);max-width:100%;padding:clamp(.2rem,1.2cqw,.75rem) clamp(.3rem,1.8cqw,1rem);border-radius:.85rem;border:2px solid rgba(255,255,255,.1);background:#ffffff0d;transition:transform .2s ease,opacity .25s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}.wbd-tile--pending{opacity:0;transform:translateY(18px) scale(.85)}.wbd-tile--revealed{opacity:.55;transform:translateY(0) scale(1);border-color:#ffffff26}.wbd-tile--active{opacity:1;transform:translateY(-4px) scale(1.08);border-color:#22d3eeb3;background:#22d3ee2e;box-shadow:0 0 24px #22d3ee59,0 8px 20px #00000040;animation:wbd-tile-pulse .9s ease-in-out infinite}.wbd-tile--whole{opacity:1;transform:translateY(-2px) scale(1.05);border-color:#34d399bf;background:linear-gradient(135deg,#10b98140,#22d3ee33);box-shadow:0 0 28px #34d39959}.wbd-tile--silent{background:transparent;border-style:solid;border-color:#ffffff59}.wbd-tile--partial-silent{border-style:solid}.wbd-tile--silent.wbd-tile--revealed,.wbd-tile--partial-silent.wbd-tile--revealed{opacity:.75;border-color:#ffffff73}.wbd-tile--silent.wbd-tile--active,.wbd-tile--partial-silent.wbd-tile--active{opacity:1;transform:translateY(-2px) scale(1.04);border-color:#ffffffa6;background:transparent;box-shadow:none;animation:none}.wbd-tile--silent.wbd-tile--whole,.wbd-tile--partial-silent.wbd-tile--whole{border-style:solid;border-color:#34d399a6;background:transparent;box-shadow:none}.wbd-grapheme-vowel{color:#ef4444}.wbd-grapheme-silent{color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:rgba(255,255,255,.62);paint-order:stroke fill}.wbd-grapheme-vowel.wbd-grapheme-silent{-webkit-text-stroke-width:1px;-webkit-text-stroke-color:rgba(239,68,68,.85)}.wbd-tile-grapheme{font-size:clamp(.95rem,min(5.5cqw,12cqh),4rem);font-weight:800;line-height:1.1;letter-spacing:.02em;color:#fff;word-break:break-all}.wbd-tile-label{margin-top:.15rem;font-size:clamp(.45rem,1.5cqw,.8rem);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#a5f3fce6}.wbd-level-chip{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.3rem .75rem;border-radius:999px;background:#00000040;border:1px solid rgba(255,255,255,.1)}.wbd-level-display{font-size:clamp(.75rem,min(3cqw,6cqh),1.5rem);font-weight:700;color:#fff}.wbd-level-meta{font-size:clamp(.55rem,1.6cqw,.85rem);text-transform:uppercase;letter-spacing:.08em;color:#94a3b8e6}.wbd-progress{margin:0;flex-shrink:0;text-align:center;font-size:clamp(.6rem,1.8cqw,.9rem);color:#94a3b8d9}.wbd-celebration{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;max-width:100%;animation:wbd-celebrate-in .6s ease-out}.wbd-celebration-label{margin:0;font-size:clamp(.7rem,2.2cqw,1.1rem);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#a7f3d0f2}.wbd-celebration-phrase{margin:0;font-size:clamp(1rem,min(5cqw,10cqh),3.5rem);font-weight:800;line-height:1.2;color:#fff;text-shadow:0 0 30px rgba(52,211,153,.35);max-width:100%;overflow-wrap:anywhere}.wbd-celebration-words{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-top:.25rem}.wbd-phrase-playback{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(.3rem,2cqw,1.5rem);max-width:100%}.wbd-phrase-playback-word{padding:clamp(.3rem,1.5cqw,1.1rem) clamp(.5rem,2.5cqw,1.6rem);border:2px solid rgba(255,255,255,.12);border-radius:1rem;background:#ffffff0d;color:#cbd5e18c;font-size:clamp(1.1rem,min(6.5cqw,14cqh),4.75rem);font-weight:800;line-height:1;letter-spacing:.02em;transition:color .2s ease,transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.wbd-phrase-playback-word--active{color:#fff;transform:translateY(-5px) scale(1.08);border-color:#34d399cc;background:linear-gradient(135deg,#10b98147,#22d3ee38);box-shadow:0 0 38px #34d39961,0 12px 28px #00000047;animation:wbd-phrase-word-pulse .9s ease-in-out infinite}.wbd-controls{display:flex;flex-wrap:nowrap;flex-shrink:0;gap:.45rem;width:100%}.wbd-btn{flex:1 1 0;min-height:2.75rem;padding:.55rem .75rem;border-radius:.85rem;font-size:clamp(.8rem,2cqw,1rem);font-weight:700;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,filter .15s ease,opacity .15s ease}.wbd-btn:active:not(:disabled){transform:scale(.97)}.wbd-btn:disabled{cursor:not-allowed;opacity:.5}.wbd-btn--primary{color:#fff;background:linear-gradient(135deg,#10b981,#06b6d4);box-shadow:0 8px 24px #10b98140}.wbd-btn--primary:hover:not(:disabled){filter:brightness(1.08)}.wbd-btn--ghost{color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.wbd-btn--next{color:#fff;background:linear-gradient(135deg,#a855f7,#22d3ee);box-shadow:0 8px 24px #a855f740}.word-breakdown-modal-tabs{display:flex;gap:.35rem;margin-bottom:0;padding:.2rem;border-radius:.85rem;background:#00000040}.word-breakdown-modal-tab{flex:1;min-height:2.25rem;padding:.4rem .65rem;border-radius:.65rem;font-size:clamp(.7rem,2cqw,.875rem);font-weight:700;color:#94a3b8e6;background:transparent;border:none;touch-action:manipulation;transition:all .2s ease}.word-breakdown-modal-tab--active{color:#fff;background:#22d3ee33;box-shadow:inset 0 0 0 1px #22d3ee59}.word-breakdown-modal-tab:focus-visible{outline:2px solid rgba(34,211,238,.8);outline-offset:2px}.word-breakdown-modal-footer{background:#020617f5}.word-breakdown-modal-footer .wbd-btn{min-height:2.85rem}@media(max-width:640px),(max-height:640px){.word-breakdown-modal-header{padding-top:.35rem;padding-bottom:.35rem}.word-breakdown-modal-footer .wbd-btn{min-height:2.6rem}.word-breakdown-panel--compact .wbd-stage{padding:.25rem}.word-breakdown-panel--compact .wbd-tile-grapheme{font-size:clamp(1rem,min(5.5cqw,20cqh),2.8rem)}}@container wbd-presentation (max-height: 420px){.wbd-intro,.wbd-phrase-rail,.wbd-progress,.wbd-level-meta{display:none}.wbd-level-chip{padding:.2rem .55rem}.wbd-tile-grapheme{font-size:clamp(1.05rem,min(6.5cqw,22cqh),2.8rem)}.wbd-stage{padding:.25rem}}@container wbd-presentation (min-height: 520px){.wbd-stage{padding:clamp(1rem,3cqw,2rem)}.wbd-tile-grapheme{font-size:clamp(1.75rem,6cqw,4rem)}}@keyframes wbd-tile-pulse{0%,to{box-shadow:0 0 20px #22d3ee4d}50%{box-shadow:0 0 32px #22d3ee8c}}@keyframes wbd-celebrate-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes wbd-celebrate-glow{0%{box-shadow:inset 0 0 40px #34d39914}to{box-shadow:inset 0 0 60px #a855f71f}}@keyframes wbd-phrase-word-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.16)}}@media(prefers-reduced-motion:reduce){.wbd-tile--pending{opacity:.4;transform:none}.wbd-tile--active,.wbd-stage--celebrate,.wbd-celebration,.wbd-phrase-playback-word--active{animation:none}.wbd-tile,.wbd-stage-word,.wbd-phrase-rail-word{transition:none}}:root{color-scheme:dark;font-family:Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#e8edf5;background:#0b1220}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}.app{max-width:760px;margin:0 auto;padding:2rem 1.25rem 3rem}h1{margin:0 0 .35rem;font-size:1.6rem;font-weight:600}h3{margin:1rem 0 .5rem;font-size:.95rem}.lead{margin:0 0 1.5rem;color:#9aa8bc;font-size:.95rem}.status-grid{display:grid;gap:.5rem;margin-bottom:1.5rem;padding:.85rem 1rem;border:1px solid #1f2a3d;border-radius:8px;background:#111a2b;font-size:.85rem}.status-ok{color:#6ee7a8}.status-bad{color:#f87171}.banner{margin-bottom:1.25rem;padding:1rem;border:1px solid #7f1d1d;border-radius:8px;background:#2a1212;color:#fecaca}.panel{margin-bottom:1.25rem;padding:1rem;border:1px solid #1f2a3d;border-radius:8px;background:#111a2b}.panel h2{margin:0 0 .75rem;font-size:1rem;font-weight:600}.row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}button,label.file-btn,a.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #2b3a52;border-radius:6px;background:#182235;color:inherit;padding:.55rem .9rem;font:inherit;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}button:hover:not(:disabled),label.file-btn:hover,a.btn:hover{background:#22304a}button:disabled,label.file-btn.disabled{opacity:.45;cursor:not-allowed}button.primary,a.btn.primary{background:#1d4ed8;border-color:#2563eb}button.primary:hover:not(:disabled),a.btn.primary:hover{background:#2563eb}button.recording{background:#991b1b;border-color:#b91c1c}input[type=file]{display:none}.model-grid{display:grid;gap:.75rem}@media(min-width:640px){.model-grid{grid-template-columns:1fr 1fr}}.model-card{display:grid;gap:.2rem;padding:.85rem;border:1px solid #2b3a52;border-radius:8px;background:#0d1524;cursor:pointer}.model-card.active{border-color:#3b82f6;background:#132038}.model-card input{margin:0 0 .35rem}.model-title{font-weight:600}.model-meta,.model-note{color:#7f8ea3;font-size:.82rem}.progress{margin-top:.75rem;height:6px;border-radius:999px;background:#1f2a3d;overflow:hidden}.progress>span{display:block;height:100%;background:#3b82f6;transition:width .15s ease}.hint{margin:.6rem 0 0;color:#7f8ea3;font-size:.82rem}.output{width:100%;min-height:110px;margin:0;padding:.85rem;border:1px solid #1f2a3d;border-radius:8px;background:#0a101c;color:#e8edf5;font:inherit;resize:vertical;white-space:pre-wrap}.meta{margin-top:.5rem;color:#7f8ea3;font-size:.82rem}.error{margin-top:.6rem;color:#fca5a5;font-size:.85rem}.table-wrap{margin-top:.85rem;overflow-x:auto;border:1px solid #1f2a3d;border-radius:8px}.word-table{width:100%;border-collapse:collapse;font-size:.85rem}.word-table th,.word-table td{padding:.45rem .65rem;border-bottom:1px solid #1f2a3d;text-align:left;white-space:nowrap}.word-table th{background:#0d1524;color:#9aa8bc;font-weight:600}.word-table td.char-debug{white-space:normal;font-size:.75rem;color:#9aa8bc;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.json-details{margin-top:.75rem;font-size:.82rem;color:#9aa8bc}.json-details pre,.debug-block pre{margin:.5rem 0 0;padding:.75rem;border-radius:6px;background:#0a101c;overflow-x:auto;font-size:.75rem;color:#c6d0de}.debug-block{margin-top:.85rem;display:grid;gap:.35rem;font-size:.82rem;color:#c6d0de}.ua,.probe-url{word-break:break-all;color:#7f8ea3}.probe{margin-top:.65rem;padding-top:.65rem;border-top:1px solid #1f2a3d}.resource-list{max-height:220px;overflow:auto}.tab-bar{display:flex;gap:.5rem;margin-bottom:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tab{flex:0 0 auto;border:1px solid #2b3a52;border-radius:6px;background:#182235;color:inherit;padding:.5rem .85rem;font:inherit;cursor:pointer}.tab.active{background:#1d4ed8;border-color:#2563eb}.memory-note{margin-bottom:1.25rem}.mode-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem}.field-label{display:block;margin:.65rem 0 .35rem;font-size:.82rem;color:#9aa8bc}.select-input,.text-input{width:100%;padding:.55rem .75rem;border:1px solid #1f2a3d;border-radius:6px;background:#0a101c;color:#e8edf5;font:inherit}.script-input{min-height:72px}.debug-line{margin-bottom:.5rem;font-size:.82rem;color:#9aa8bc}.debug-line code{font-family:ui-monospace,monospace;color:#c6d0de}.device-debug{margin-top:.75rem;font-family:ui-monospace,monospace;font-size:.75rem}.word-table tr.score-good td{background:#22c55e1f}.word-table tr.score-ok td{background:#eab3081f}.word-table tr.score-bad td{background:#ef44441f}.phonics-legend{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:.85rem;font-size:.78rem;color:#9aa8bc}.phonics-legend-item{padding:.2rem .5rem;border-radius:4px;border:1px solid #2b3a52}.phonics-legend-score{margin-left:auto;font-family:ui-monospace,monospace}.phonics-word-card{margin-bottom:.85rem;padding:.75rem .85rem;border:1px solid #1f2a3d;border-radius:8px;background:#0d1524}.phonics-word-card.score-good{border-color:#22c55e59}.phonics-word-card.score-ok{border-color:#eab30859}.phonics-word-card.score-bad{border-color:#ef444459}.phonics-word-header{display:flex;align-items:baseline;gap:.65rem;margin-bottom:.55rem;flex-wrap:wrap}.phonics-word-title{margin:0;font-size:1.1rem;font-weight:600;text-transform:capitalize}.phonics-word-score{font-size:.9rem;font-weight:600}.phonics-word-time{font-size:.75rem;color:#7f8ea3;font-family:ui-monospace,monospace}.phonics-chip-row{display:flex;flex-wrap:wrap;gap:.45rem}.phonics-chip{display:flex;flex-direction:column;align-items:center;min-width:4.5rem;padding:.4rem .55rem;border-radius:6px;border:1px solid #2b3a52;font-size:.78rem;line-height:1.25}.phonics-chip-vowel{background:#3b82f626;border-color:#3b82f659}.phonics-chip-diphthong{background:#0ea5e926;border-color:#0ea5e959}.phonics-chip-consonant{background:#64748b33;border-color:#64748b59}.phonics-chip-other{background:#47556933}.phonics-chip-good{box-shadow:inset 0 0 0 1px #22c55e73}.phonics-chip-ok{box-shadow:inset 0 0 0 1px #eab30873}.phonics-chip-bad{box-shadow:inset 0 0 0 1px #ef444473}.phonics-chip-spell{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem;font-weight:700;color:#f1f5f9;letter-spacing:.02em}.phonics-chip-name{font-weight:500;font-size:.68rem;color:#9aa8bc}.phonics-chip-mismatch{border-color:#ef44448c!important;background:#ef44441f!important}.phonics-spelling-stack{display:grid;gap:.35rem;margin-bottom:.65rem}.phonics-spelling{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap}.phonics-spelling-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#7f8ea3;min-width:3.4rem}.phonics-spelling-text{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;font-weight:600;letter-spacing:.02em}.phonics-seg{color:#e8edf5}.phonics-seg-hyphen{color:#4b5568;margin:0 .05rem}.phonics-spelling-heard .phonics-seg-ok{color:#4ade80}.phonics-spelling-heard .phonics-seg-bad{color:#fbbf24}.phonics-chip-ipa{font-family:ui-monospace,monospace;font-size:.7rem;color:#9aa8bc}.phonics-chip-heard{margin-top:.15rem;font-size:.65rem;color:#f87171}.phonics-chip-heard-only{opacity:.92}.phonics-timeline{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #1f2a3d}.phonics-timeline-title{margin:0 0 .35rem;font-size:.95rem}.phonics-timeline-row{margin-top:.5rem}.llm-workbench{display:grid;gap:1rem}.llm-header{display:grid;gap:.75rem}.llm-header h2{margin:0;font-size:1.1rem}.llm-badges{display:flex;flex-wrap:wrap;gap:.5rem}.llm-badge{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;border:1px solid #2b3a52;font-size:.75rem;font-weight:600}.llm-badge-gpu{background:#22c55e26;border-color:#22c55e59;color:#86efac}.llm-badge-cpu{background:#3b82f626;border-color:#3b82f659;color:#93c5fd}.llm-badge-warn{background:#eab3081f;border-color:#eab30859;color:#fde68a}.llm-iphone-debug-btn{min-height:32px;padding:.35rem .75rem;border:1px solid #3d4f6a;border-radius:999px;background:#182235;color:#c8d4e6;font-size:.78rem;font-weight:600;cursor:pointer;touch-action:manipulation}.llm-iphone-debug-btn:hover:not(:disabled){background:#22304a;border-color:#4f6a8f}.llm-iphone-debug-btn:disabled{opacity:.65;cursor:wait}.llm-perf-panel{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem;padding:.75rem .85rem;border:1px solid #1f2a3d;border-radius:8px;background:#111a2bf5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.78rem}.llm-perf-panel strong{display:block;margin-top:.15rem;font-size:.82rem;font-weight:600}.llm-perf-label{color:#7f8ea3;text-transform:uppercase;letter-spacing:.04em;font-size:.65rem}.llm-perf-wide{grid-column:1 / -1}.llm-model-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.15rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.llm-model-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.55rem .8rem;border:1px solid #2b3a52;border-radius:999px;background:#182235;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;white-space:nowrap}.llm-model-tab.active{background:#1d4ed8;border-color:#2563eb}.llm-model-tab-slow{opacity:.72}.llm-tab-chip{padding:.1rem .4rem;border-radius:999px;background:#94a3b82e;font-size:.65rem;color:#cbd5e1}.llm-tab-chip-warn{background:#eab3082e;color:#fde68a}.llm-tab-chip-recommended{background:#1e293bbf;border:1px solid rgba(148,163,184,.35);color:#cbd5e1}.llm-thinking-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.84rem;color:#b8c5d8}.llm-thinking-toggle input{accent-color:#3b82f6}.llm-model-panel{display:grid;gap:.75rem}.llm-model-meta{display:grid;gap:.5rem}.llm-model-stats{display:flex;flex-wrap:wrap;gap:.5rem .75rem;color:#9aa8bc;font-size:.8rem}.llm-progress-wrap{display:grid;gap:.35rem}.llm-preset-row{display:grid;gap:.35rem;margin-bottom:.35rem}.llm-system-prompt summary,.llm-generation-options summary{cursor:pointer;color:#9aa8bc;font-size:.85rem;margin-bottom:.5rem}.llm-generation-options{margin-bottom:.25rem}.llm-gen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.55rem}.llm-gen-field{display:grid;gap:.3rem;font-size:.78rem;color:#9aa8bc}.llm-gen-field input{min-height:40px}@media(min-width:640px){.llm-gen-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.llm-chat-panel{display:grid;gap:.75rem}.llm-chat-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.llm-chat-header h3{margin:0}.llm-chat-log{display:grid;gap:.65rem;max-height:min(52vh,420px);overflow-y:auto;padding-right:.15rem}.llm-chat-bubble{padding:.7rem .8rem;border-radius:10px;border:1px solid #1f2a3d;background:#0d1524}.llm-chat-bubble-user{border-color:#3b82f659}.llm-chat-bubble-assistant{border-color:#22c55e40}.llm-chat-role{display:block;margin-bottom:.25rem;color:#7f8ea3;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.llm-chat-bubble p{margin:0;white-space:pre-wrap;word-break:break-word}.llm-chat-input-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:end}.llm-chat-input{min-height:72px}.llm-perf-test-panel{display:grid;gap:.85rem}.llm-perf-test-header{display:grid;gap:.75rem}.llm-perf-test-header h3{margin:0}.llm-perf-test-variants{display:flex;flex-wrap:wrap;gap:.65rem 1rem}.llm-perf-test-variant{display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;color:#b8c5d8;cursor:pointer}.llm-perf-test-variant input{accent-color:#3b82f6}.llm-perf-test-live{display:grid;gap:.55rem}.llm-perf-test-snippet{margin:0;padding:.65rem .75rem;max-height:120px;overflow-y:auto;border-radius:8px;border:1px solid #1f2a3d;background:#0a101c;color:#b8c5d8;font-size:.78rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.llm-perf-test-results{margin:0;padding:0;list-style:none;display:grid;gap:.4rem;max-height:220px;overflow-y:auto}.llm-perf-test-result{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem .75rem;padding:.45rem .55rem;border-radius:8px;border:1px solid #1f2a3d;background:#0d1524;font-size:.82rem}.llm-perf-test-result-pass{border-color:#22c55e40}.llm-perf-test-result-fail{border-color:#ef44444d}.llm-perf-test-result-skipped{border-color:#eab30840}.llm-perf-test-result-label{color:#d7e0ee}.llm-perf-test-result-meta{color:#8b9bb0;font-size:.75rem}.llm-workbench-mode{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.75rem}.llm-workbench-mode-tab{padding:.45rem .85rem;border-radius:8px;border:1px solid #1f2a3d;background:#0d1524;color:#b8c5d8;font-size:.86rem;cursor:pointer}.llm-workbench-mode-tab.active{border-color:#3b82f673;background:#3b82f61f;color:#e8eef7}.llm-grading-panel{display:grid;gap:.85rem}.llm-grading-header{display:grid;gap:.75rem}.llm-grading-header h3{margin:0}.llm-grading-cards{display:grid;gap:.75rem}.llm-grading-card{display:grid;gap:.55rem;padding:.85rem;border-radius:10px;border:1px solid #1f2a3d;background:#0d1524}.llm-grading-card-head{display:grid;gap:.2rem}.llm-grading-card-stats{display:flex;flex-wrap:wrap;gap:.45rem .75rem;font-size:.82rem;color:#8b9bb0}.llm-grading-grid-wrap{overflow-x:auto}.llm-grading-grid{width:100%;border-collapse:collapse;font-size:.78rem}.llm-grading-grid th,.llm-grading-grid td{border:1px solid #1f2a3d;padding:.35rem .45rem;text-align:center}.llm-grading-grid th[scope=row]{text-align:left;white-space:nowrap}.llm-grading-cell-pass{background:#22c55e1f}.llm-grading-cell-partial{background:#eab3081f}.llm-grading-cell-fail{background:#ef44441f}.llm-grading-cell-skipped{background:#94a3b814;color:#8b9bb0}.llm-grading-cell-pending{color:#6b7280}.llm-grading-chat{margin-top:.25rem}.llm-grading-chat .llm-chat-header{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:start}.llm-grading-cell-wrap{padding:0}.llm-grading-cell-btn{display:block;width:100%;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:.35rem .45rem}.llm-grading-cell-btn.selected{outline:1px solid rgba(59,130,246,.7)}.llm-materials-viewer{display:grid;gap:.65rem;margin-top:.75rem}.llm-materials-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.llm-materials-viewer-cols{display:grid;gap:.75rem}.llm-materials-viewer-col h5{margin:0 0 .35rem}.llm-materials-validator-list{margin:0 0 .5rem;padding-left:1.1rem;font-size:.78rem;color:#8b9bb0}.llm-materials-validator-list .ok{color:#86efac}.llm-materials-validator-list .fail{color:#fca5a5}.llm-materials-raw{margin:0;padding:.7rem .8rem;max-height:320px;overflow:auto;border-radius:8px;border:1px solid #1f2a3d;background:#0a101c;color:#d7e0ee;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}@media(min-width:900px){.llm-materials-viewer-cols{grid-template-columns:1fr 1fr}}@media(min-width:640px){.llm-grading-header{grid-template-columns:1fr auto;align-items:start}.llm-grading-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:640px){.llm-perf-test-header{grid-template-columns:1fr auto;align-items:start}}@media(min-width:640px){.llm-header,.llm-model-meta{grid-template-columns:1fr auto;align-items:start}.llm-perf-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.progress>span{transition:none}}.llm-debug-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#050a14c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.llm-debug-modal{display:flex;flex-direction:column;width:min(100%,720px);max-height:min(90vh,900px);padding:1.1rem 1.2rem 1.2rem;border:1px solid #2b3a52;border-radius:12px;background:#111a2b;box-shadow:0 18px 48px #00000073}.llm-debug-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.llm-debug-modal-header h2{margin:0;font-size:1.1rem;font-weight:600}.llm-debug-progress-block{margin:.5rem 0 .25rem}.llm-debug-progress-label{margin:0 0 .55rem;color:#c7d2e3;font-size:.92rem;line-height:1.4}.llm-debug-progress-bar{height:10px}.llm-debug-modal-close{min-width:44px;min-height:44px;padding:0;border:none;background:transparent;color:#9aa8bc;font-size:1.6rem;line-height:1;cursor:pointer}.llm-debug-report{flex:1;min-height:0;margin:.75rem 0 1rem;padding:.85rem .9rem;overflow:auto;border:1px solid #243247;border-radius:8px;background:#0b1220;color:#c7d2e3;font-size:.74rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;-webkit-overflow-scrolling:touch}.llm-debug-modal-actions{display:flex;flex-direction:column;gap:.55rem}.llm-debug-modal-actions button{min-height:44px;justify-content:center;touch-action:manipulation}@media(min-width:480px){.llm-debug-modal-actions{flex-direction:row}.llm-debug-modal-actions button{flex:1}}.update-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#050a14c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.update-modal{width:min(100%,420px);padding:1.25rem 1.35rem;border:1px solid #2b3a52;border-radius:12px;background:#111a2b;box-shadow:0 18px 48px #00000073}.update-modal h2{margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.update-modal p{margin:0 0 1.1rem;color:#9aa8bc;font-size:.92rem;line-height:1.45}.update-modal-actions{display:flex;flex-direction:column;gap:.55rem}.update-modal-actions button{min-height:44px;justify-content:center;touch-action:manipulation}@media(min-width:480px){.update-modal-actions{flex-direction:row}.update-modal-actions button{flex:1}}.tts-workbench{display:grid;gap:1rem}.tts-header h2{margin:0 0 .35rem}.tts-perf-panel{display:grid;gap:.75rem;padding:.85rem 1rem;border:1px solid #243044;border-radius:10px;background:#0f1520}.tts-perf-actions{display:flex;flex-wrap:wrap;gap:.5rem}.tts-perf-live{display:grid;gap:.25rem}.tts-perf-results summary{cursor:pointer}.tts-model-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.tts-model-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border:1px solid #2a3a52;border-radius:8px;background:#121a28;color:#d8e2f0;cursor:pointer}.tts-model-tab.active{border-color:#4f8cff;background:#172238}.tts-tab-chip{font-size:.72rem;padding:.1rem .35rem;border-radius:4px;background:#243044}.tts-tab-chip-warn{background:#4a3020;color:#f0c090}.tts-model-panel{display:grid;gap:.85rem}.tts-model-meta p{margin:.2rem 0}.tts-model-stats{color:#9eb4d0}.tts-actions{display:flex;flex-wrap:wrap;gap:.5rem}.tts-progress-wrap,.tts-input-label,.tts-preset-row{display:grid;gap:.35rem}.tts-controls-row{display:grid;gap:.75rem;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);margin:.5rem 0}.tts-speed-input{width:100%}.tts-input{width:100%;min-height:88px;resize:vertical}@media(max-width:720px){.tts-controls-row{grid-template-columns:1fr}}.tts-metrics{color:#9eb4d0;font-variant-numeric:tabular-nums}.tts-unavailable-note{padding:.75rem 0}.stt-tab{display:grid;gap:1rem}.stt-header h2{margin:0 0 .35rem}.stt-workbench-mode,.stt-model-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.stt-model-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border:1px solid #2a3a52;border-radius:8px;background:#121a28;color:#d8e2f0;cursor:pointer}.stt-model-tab.active{border-color:#4f8cff;background:#172238}.stt-model-tab-status{font-size:.75rem;color:#8fa3bf}.stt-model-panel,.stt-free-talk,.stt-clip-recorder,.stt-perf-panel{display:grid;gap:.75rem;padding:.85rem 1rem;border:1px solid #243044;border-radius:10px;background:#0f1520}.stt-model-actions,.stt-free-talk-actions,.stt-clip-recorder-actions,.stt-perf-actions,.stt-script-actions{display:flex;flex-wrap:wrap;gap:.5rem}.stt-script-list{display:grid;gap:.85rem;margin:0;padding:0;list-style:none}.stt-script-item{display:grid;gap:.45rem;padding:.65rem .75rem;border:1px solid #243044;border-radius:8px;background:#121a28}.stt-script-item-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.stt-script-index{color:#8fa3bf}.stt-script-saved{font-size:.75rem;color:#6fcf97}.stt-script-transcript{margin:0;color:#d8e2f0}.stt-script-tags{display:flex;flex-wrap:wrap;gap:.75rem}.stt-script-tags label{display:grid;gap:.2rem;font-size:.85rem}.stt-import-label input[type=file]{display:none}.stt-transcript{margin:.35rem 0 0;color:#d8e2f0;min-height:2.5rem}.stt-metrics,.stt-perf-summary,.stt-perf-live{display:flex;flex-wrap:wrap;gap:.75rem;color:#9eb4d0;font-variant-numeric:tabular-nums}.stt-perf-results summary{cursor:pointer}.stt-perf-results ul{margin:.5rem 0 0;padding:0;list-style:none;display:grid;gap:.35rem}.stt-perf-result{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem}.stt-perf-result-pass{color:#6fcf97}.stt-perf-result-fail{color:#ff8b8b}.stt-perf-result-skipped{color:#c9b458}.phonemes-tab{display:grid;gap:1rem}.phonemes-header h2{margin:0 0 .35rem}.phonemes-model-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.phonemes-model-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border:1px solid #2a3a52;border-radius:8px;background:#121a28;color:#d8e2f0;cursor:pointer}.phonemes-model-tab.active{border-color:#4f8cff;background:#172238}.phonemes-model-tab-status{font-size:.75rem;color:#8fa3bf}.phonemes-model-panel,.phonemes-free-talk{display:grid;gap:.75rem;padding:.85rem 1rem;border:1px solid #243044;border-radius:10px;background:#0f1520}.phonemes-model-actions,.phonemes-free-talk-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.phonemes-upload-label{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.phonemes-upload-label input[type=file]{max-width:12rem}.phonemes-results{display:grid;gap:.75rem}.phonemes-phone-string{display:grid;gap:.35rem;margin:0}.phonemes-phone-string-label{font-size:.8rem;color:#8fa3bf;text-transform:uppercase;letter-spacing:.04em}.phonemes-phone-string code{font-size:1rem;color:#e8f0ff;word-break:break-word}.phonemes-timeline{display:flex;flex-wrap:wrap;gap:.5rem}.phonemes-timeline-item{display:inline-grid;gap:.15rem;padding:.35rem .5rem;border:1px solid #2a3a52;border-radius:6px;background:#121a28;font-size:.75rem}.phonemes-timeline-ipa{color:#c8d8f0;font-family:ui-monospace,monospace}.phonemes-timeline-name{color:#8fa3bf}.phonemes-timeline-ms{color:#6a7f9a}.phonics-chip-unmapped{opacity:.75;border-style:dashed}.modal-ctc-tab{display:grid;gap:1rem}.modal-ctc-header h2{margin:0 0 .35rem}.modal-ctc-panel{display:grid;gap:.75rem;padding:.85rem 1rem;border:1px solid #243044;border-radius:10px;background:#0f1520}.modal-ctc-endpoint-label{display:grid;gap:.35rem;font-size:.9rem;color:#b8c8e0}.modal-ctc-endpoint-input{width:100%;padding:.55rem .65rem;border:1px solid #2a3a52;border-radius:8px;background:#121a28;color:#e8f0ff;font-family:ui-monospace,monospace;font-size:.85rem}.modal-ctc-cold-hint{margin:0}.modal-ctc-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.modal-ctc-recording-state{font-family:ui-monospace,monospace;color:#f0a0a0}.modal-ctc-section-title{margin:0;font-size:.95rem;color:#c8d8f0}.modal-ctc-chip-row{margin-top:.25rem}.modal-ctc-phone-chip{font-size:1rem}.modal-ctc-result{display:grid;gap:.5rem;padding:.65rem 0;border-bottom:1px solid #243044}.modal-ctc-result:last-child{border-bottom:none;padding-bottom:0}.modal-ctc-result-header{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;font-size:.8rem;color:#8fa3bf}.modal-ctc-result-metrics{font-family:ui-monospace,monospace}.modal-ctc-session-list{display:grid;gap:.5rem}.chatbot-workbench{display:grid;gap:1rem}.chatbot-settings{display:grid;gap:.65rem}.chatbot-settings-row{display:grid;gap:.75rem}@media(min-width:640px){.chatbot-settings-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}}.chatbot-field{display:grid;gap:.35rem;font-size:.85rem}.chatbot-field span{color:#9aa8bc}.chatbot-checkbox{display:flex;align-items:center;gap:.5rem;min-height:40px}.chatbot-scenario-hint{margin:0}.chatbot-models{display:grid;gap:.85rem}@media(min-width:900px){.chatbot-models{grid-template-columns:repeat(3,minmax(0,1fr))}}.chatbot-model-column{display:grid;gap:.55rem;align-content:start}.chatbot-model-column h3{margin:0;font-size:1rem}.chatbot-model-actions{display:flex;flex-wrap:wrap;gap:.5rem}.chatbot-speed-value{font-size:.8rem;color:#9aa8bc}.chatbot-chat-actions{display:flex;flex-wrap:wrap;gap:.45rem}.chatbot-status,.chatbot-interim,.chatbot-memory-hint{margin:0}.chatbot-input-row{display:grid;gap:.65rem}.chatbot-mic-actions{display:flex;flex-wrap:wrap;gap:.5rem}.nano-chat{display:grid;gap:.85rem;max-width:920px;margin:0 auto;padding:.25rem 0 1.5rem}.nano-chat-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.85rem;align-items:flex-end}.nano-chat-brand h2{margin:0;font-size:1.55rem;letter-spacing:-.02em}.nano-chat-brand .hint{margin:.2rem 0 0}.nano-chat-header-controls{display:flex;flex-wrap:wrap;gap:.55rem;align-items:flex-end}.nano-chat-field{display:grid;gap:.2rem;font-size:.75rem;color:#9aa8bc}.nano-chat-field select{min-width:9rem}.nano-chat-toggle{border:1px solid #334155;background:#111827;color:#cbd5e1;border-radius:999px;padding:.4rem .85rem;font-size:.85rem}.nano-chat-toggle.on{border-color:#34d3998c;background:#064e3b73;color:#d1fae5}.nano-chat-status{margin:0;padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(148,163,184,.25);background:#0f172ad9;display:flex;flex-direction:column;gap:.55rem}.nano-chat-status-checking{border-color:#94a3b859;background:linear-gradient(135deg,#1e293be6,#0f172af2)}.nano-chat-status-ready{border-color:#34d39973;background:linear-gradient(135deg,#064e3b59,#0f172aeb)}.nano-chat-status-info{border-color:#60a5fa66;background:linear-gradient(135deg,#1e3a8a59,#0f172aeb)}.nano-chat-status-warn{border-color:#fbbf2466;background:linear-gradient(135deg,#78350f59,#0f172ae6)}.nano-chat-status-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .75rem}.nano-chat-status-title{font-size:.95rem;color:#f8fafc}.nano-chat-status-meta{font-size:.78rem;color:#94a3b8}.nano-chat-status-body{margin:0;font-size:.88rem;line-height:1.45;color:#cbd5e1}.nano-chat-status-ready .nano-chat-status-body{color:#d1fae5}.nano-chat-status-warn .nano-chat-status-body{color:#fde68a}.nano-chat-status-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.nano-chat-status-refresh{background:transparent;border:1px solid rgba(148,163,184,.35);color:#cbd5e1}.nano-chat-progress{width:100%;height:8px;border-radius:999px;background:#0f172acc;border:1px solid rgba(148,163,184,.25);overflow:hidden}.nano-chat-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#34d399);transition:width .25s ease}.nano-chat-engine-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.nano-chat-chips{display:flex;flex-wrap:wrap;gap:.4rem}.nano-chat-chip{border:1px solid #334155;background:#0f172a;color:#e2e8f0;border-radius:999px;padding:.35rem .75rem;font-size:.82rem}.nano-chat-chip:hover:not(:disabled){border-color:#64748b;background:#1e293b}.nano-chat-chip.active{border-color:#60a5fa99;background:#1e3a8a73}.nano-chat-chip.surprise{border-style:dashed;color:#fcd34d}.nano-chat-log{display:flex;flex-direction:column;gap:.65rem;min-height:280px;max-height:min(52vh,480px);overflow-y:auto;padding:.85rem;border-radius:16px;border:1px solid #1e293b;background:radial-gradient(1200px 280px at 10% -10%,rgba(56,189,248,.08),transparent),linear-gradient(180deg,#0b1220,#0a101b)}.nano-chat-empty{margin:auto;color:#94a3b8;text-align:center;max-width:22rem}.nano-chat-bubble{max-width:min(85%,34rem);padding:.7rem .85rem;border-radius:16px;border:1px solid #1f2a3d;background:#111827}.nano-chat-bubble-user{align-self:flex-end;border-color:#3b82f666;background:linear-gradient(160deg,#1e40af73,#111827);border-bottom-right-radius:6px}.nano-chat-bubble-assistant{align-self:flex-start;border-color:#34d3994d;background:linear-gradient(160deg,#064e3b59,#111827);border-bottom-left-radius:6px}.nano-chat-role{display:block;margin-bottom:.2rem;color:#7f8ea3;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.nano-chat-bubble p{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.45}.nano-chat-replay{margin-top:.45rem;font-size:.75rem;padding:.2rem .55rem;border-radius:999px;border:1px solid #334155;background:transparent;color:#94a3b8}.nano-chat-typing{margin:0;color:#94a3b8;font-size:.85rem;font-style:italic}.nano-chat-input-row{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:end}.nano-chat-input{min-height:72px;resize:vertical;border-radius:14px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;padding:.7rem .85rem;font:inherit}.nano-chat-actions{display:flex;flex-direction:column;gap:.45rem}.nano-chat-mic,.nano-chat-send{min-width:6.5rem;border-radius:12px;padding:.55rem .8rem;font-weight:600}.nano-chat-mic{border:1px solid #475569;background:#1e293b;color:#f8fafc;touch-action:none;-webkit-user-select:none;user-select:none}.nano-chat-mic.recording{border-color:#f87171b3;background:#7f1d1da6;animation:nano-chat-pulse 1.1s ease-in-out infinite}.nano-chat-send{border:1px solid rgba(52,211,153,.45);background:#065f46;color:#ecfdf5}@keyframes nano-chat-pulse{0%,to{box-shadow:0 0 #f8717159}50%{box-shadow:0 0 0 6px #f8717100}}@media(max-width:640px){.nano-chat-input-row{grid-template-columns:1fr}.nano-chat-actions{flex-direction:row}.nano-chat-mic,.nano-chat-send{flex:1}}.lfm2-chat{position:relative;display:grid;gap:.85rem;max-width:920px;margin:0 auto;padding:.25rem 0 1.5rem}.lfm2-chat-stats{position:absolute;top:0;right:0;z-index:2;display:flex;flex-direction:column;gap:.15rem;padding:.45rem .65rem;border-radius:10px;border:1px solid rgba(96,165,250,.35);background:#0f172aeb;font-size:.72rem;color:#94a3b8;max-width:11rem}.lfm2-chat-stats strong{color:#e2e8f0;font-size:.78rem}.lfm2-chat-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.85rem;align-items:flex-end;padding-right:12rem}.lfm2-chat-brand h2{margin:0;font-size:1.55rem;letter-spacing:-.02em}.lfm2-chat-brand .hint{margin:.2rem 0 0}.lfm2-chat-header-controls{display:flex;flex-wrap:wrap;gap:.55rem;align-items:flex-end}.lfm2-chat-field{display:grid;gap:.2rem;font-size:.75rem;color:#9aa8bc}.lfm2-chat-field select{min-width:9rem}.lfm2-chat-unavailable-note{font-size:.72rem;color:#fde68a;align-self:center}.lfm2-chat-toggle{border:1px solid #334155;background:#111827;color:#cbd5e1;border-radius:999px;padding:.4rem .85rem;font-size:.85rem}.lfm2-chat-toggle.on{border-color:#34d3998c;background:#064e3b73;color:#d1fae5}.lfm2-chat-fail-banner{margin:0;padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(251,191,36,.45);background:linear-gradient(135deg,#78350f66,#0f172aeb);display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;justify-content:space-between}.lfm2-chat-fail-banner p{margin:0;color:#fde68a;font-size:.9rem;flex:1;min-width:12rem}.lfm2-chat-progress-wrap{display:grid;gap:.35rem}.lfm2-chat-progress{width:100%;height:8px;border-radius:999px;background:#0f172acc;border:1px solid rgba(148,163,184,.25);overflow:hidden}.lfm2-chat-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#a78bfa);transition:width .25s ease}.lfm2-chat-engine-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.lfm2-chat-engine-meta{color:#64748b;font-size:.78rem}.lfm2-chat-brain-note{margin:0;padding:.55rem .75rem;border-radius:10px;border:1px dashed rgba(167,139,250,.45);background:#4c1d9533;color:#ddd6fe;font-size:.85rem}.lfm2-chat-chips{display:flex;flex-wrap:wrap;gap:.4rem}.lfm2-chat-chip{border:1px solid #334155;background:#0f172a;color:#e2e8f0;border-radius:999px;padding:.35rem .75rem;font-size:.82rem}.lfm2-chat-chip:hover:not(:disabled){border-color:#64748b;background:#1e293b}.lfm2-chat-chip.active{border-color:#60a5fa99;background:#1e3a8a73}.lfm2-chat-chip.surprise{border-style:dashed;color:#fcd34d}.lfm2-chat-log{display:flex;flex-direction:column;gap:.65rem;min-height:280px;max-height:min(52vh,480px);overflow-y:auto;padding:.85rem;border-radius:16px;border:1px solid #1e293b;background:radial-gradient(1200px 280px at 10% -10%,rgba(167,139,250,.1),transparent),linear-gradient(180deg,#0b1220,#0a101b)}.lfm2-chat-empty{margin:auto;color:#94a3b8;text-align:center;max-width:22rem}.lfm2-chat-bubble{max-width:min(85%,34rem);padding:.7rem .85rem;border-radius:16px;border:1px solid #1f2a3d;background:#111827}.lfm2-chat-bubble-user{align-self:flex-end;border-color:#3b82f666;background:linear-gradient(160deg,#1e40af73,#111827);border-bottom-right-radius:6px}.lfm2-chat-bubble-assistant{align-self:flex-start;border-color:#a78bfa59;background:linear-gradient(160deg,#4c1d9559,#111827);border-bottom-left-radius:6px}.lfm2-chat-role{display:block;margin-bottom:.2rem;color:#7f8ea3;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.lfm2-chat-bubble p{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.45}.lfm2-chat-replay{margin-top:.45rem;font-size:.75rem;padding:.2rem .55rem;border-radius:999px;border:1px solid #334155;background:transparent;color:#94a3b8}.lfm2-chat-typing{margin:0;color:#94a3b8;font-size:.85rem;font-style:italic}.lfm2-chat-input-row{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:end}.lfm2-chat-input{min-height:72px;resize:vertical;border-radius:14px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;padding:.7rem .85rem;font:inherit}.lfm2-chat-actions{display:flex;flex-direction:column;gap:.45rem}.lfm2-chat-mic,.lfm2-chat-send{min-width:6.5rem;border-radius:12px;padding:.55rem .8rem;font-weight:600}.lfm2-chat-mic{border:1px solid #475569;background:#1e293b;color:#f8fafc;touch-action:none;-webkit-user-select:none;user-select:none}.lfm2-chat-mic.recording{border-color:#f87171b3;background:#7f1d1da6;animation:lfm2-chat-pulse 1.1s ease-in-out infinite}.lfm2-chat-send{border:1px solid rgba(167,139,250,.45);background:#5b21b6;color:#f5f3ff}@keyframes lfm2-chat-pulse{0%,to{box-shadow:0 0 #f8717159}50%{box-shadow:0 0 0 6px #f8717100}}@media(max-width:640px){.lfm2-chat-header{padding-right:0}.lfm2-chat-stats{position:static;max-width:none;flex-direction:row;flex-wrap:wrap;gap:.35rem .75rem}.lfm2-chat-input-row{grid-template-columns:1fr}.lfm2-chat-actions{flex-direction:row}.lfm2-chat-mic,.lfm2-chat-send{flex:1}}.script-coach-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.script-coach-chip{display:inline-flex;flex-direction:column;align-items:flex-start;padding:.35rem .65rem;border-radius:6px;font-size:.85rem;border:1px solid #334155;background:#1e293b}.script-coach-chip small{font-size:.7rem;color:#94a3b8;margin-top:.15rem}.script-coach-chip.matched{border-color:#166534;background:#14532d;color:#bbf7d0}.script-coach-chip.missed{border-color:#7f1d1d;background:#450a0a;color:#fecaca}.script-coach-chip.extra{border-color:#854d0e;background:#422006;color:#fde68a}.script-coach-chip.pending{border-color:#475569;color:#cbd5e1}
