:root{--color-text: #1a1a1a;--color-background: #f5f7fa}@media (prefers-color-scheme: dark){:root{--color-text: #f5f7fa;--color-background: #1a1a1a}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:system-ui,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}.puppet[data-v-855a5f37]{width:300px;height:300px;max-width:100%;transition:transform .2s ease}@keyframes subtle-movement-855a5f37{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}.puppet[data-v-855a5f37]{animation:subtle-movement-855a5f37 4s ease-in-out infinite}.freq-debug[data-v-bad4e08c]{position:absolute;top:20px;right:20px;background:#000000b3;padding:10px;border-radius:5px;color:#fff;font-family:monospace;display:flex;flex-direction:column;align-items:center;width:220px;min-height:180px}.debug-title[data-v-bad4e08c]{font-size:12px;font-weight:700;margin-bottom:8px;color:#42b983;text-align:center;width:100%}.freq-bars[data-v-bad4e08c]{display:flex;align-items:flex-end;height:60px;gap:5px;width:100%;justify-content:center}.freq-bar[data-v-bad4e08c]{width:30px;background:#42b983;min-height:2px;display:flex;justify-content:center;align-items:flex-start;position:relative}.freq-bar.highlight-ee[data-v-bad4e08c]{background:#ff9800;box-shadow:0 0 5px #ff9800}.freq-bar.highlight-low[data-v-bad4e08c]{background:#3f51b5;box-shadow:0 0 5px #3f51b5}.freq-value[data-v-bad4e08c]{font-size:9px;position:absolute;top:-14px;transform:rotate(-40deg);transform-origin:left bottom}.freq-labels[data-v-bad4e08c]{display:flex;margin-top:5px;width:100%;justify-content:space-around}.freq-labels span[data-v-bad4e08c]{font-size:10px;width:30px;text-align:center}.vowel-display[data-v-bad4e08c]{margin-top:10px;font-size:12px;min-height:40px;width:100%;text-align:center;display:flex;flex-direction:column;justify-content:center}.vowel-display strong[data-v-bad4e08c]{font-size:16px;color:#42b983}.volume-indicator[data-v-bad4e08c]{margin-top:5px;font-size:11px}.volume-indicator span[data-v-bad4e08c]{color:#42b983}.speech-activity[data-v-bad4e08c]{margin-top:8px;font-size:11px;width:100%;display:flex;flex-direction:column;gap:4px}.activity-meter[data-v-bad4e08c]{width:100%;height:8px;background-color:#96969633;border-radius:4px;overflow:hidden;position:relative}.activity-level[data-v-bad4e08c]{height:100%;background-color:#42b983;border-radius:4px;transition:width .1s ease-out,background-color .2s ease}.activity-level.active[data-v-bad4e08c]{background-color:#ff9800;box-shadow:0 0 5px #ff980080}.speech-activity span[data-v-bad4e08c]{font-size:10px;color:#ccc}.speech-activity span[data-v-bad4e08c]:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background-color:#555;vertical-align:middle}.speech-activity:has(.activity-level.active) span[data-v-bad4e08c]{color:#ff9800}.speech-activity:has(.activity-level.active) span[data-v-bad4e08c]:before{background-color:#ff9800;box-shadow:0 0 5px #ff980080}.vowel-hints[data-v-bad4e08c]{margin-top:10px;display:flex;flex-direction:column;min-height:60px;width:100%}.hint-container[data-v-bad4e08c]{height:24px;margin-bottom:4px;width:100%;display:flex;justify-content:center}.hint[data-v-bad4e08c]{font-size:10px;padding:2px 5px;border-radius:3px;width:100%;box-sizing:border-box;text-align:center}.hint-placeholder[data-v-bad4e08c]{height:16px;visibility:hidden}.hint-ee[data-v-bad4e08c]{background:#ff9800;color:#000}.hint-consonant[data-v-bad4e08c]{background:#3f51b5;color:#fff}.puppet-container[data-v-fbee6959]{display:flex;justify-content:center;align-items:center;height:100%;padding:2rem;position:relative}.app{display:flex;flex-direction:column}main{flex:1;display:flex;align-items:center;flex-direction:column;justify-content:center}footer{padding:1.5rem;text-align:center;color:#666}button{background-color:#4caf50;color:#fff;border:none;padding:10px 16px;border-radius:10px;cursor:pointer;font-size:20px;font-weight:700;text-transform:lowercase;transition:background-color .2s}button:hover{background-color:#45a049}.status-active{color:#4caf50;font-weight:700}h1{margin-bottom:.5rem;color:#42b983}p{margin-bottom:1rem}.talking-prompt{display:inline-block;opacity:1;transition:opacity 1s 1s ease-in}.fade-out{opacity:0}
