.talk-button-container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:200px;height:200px}.talk-button{width:120px;height:120px;border-radius:50%;border:none;background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:10;transition:all .3s ease;box-shadow:0 4px 30px #0000001a,inset 0 0 0 1px #ffffff1a;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.talk-button:active{transform:scale(.95)}.talk-button .mic-icon{transition:transform .3s ease,opacity .3s ease}.talk-button.status-connected .mic-icon{transform:translateY(-10px) scale(.8);opacity:.8}.wave-bars{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:20px;position:absolute;bottom:25px}.wave-bars .bar{width:4px;background-color:#a78bfa;border-radius:2px;animation:sound-wave 1.2s ease-in-out infinite}.wave-bars .bar:nth-child(1){animation-delay:0s;height:10px}.wave-bars .bar:nth-child(2){animation-delay:.2s;height:15px}.wave-bars .bar:nth-child(3){animation-delay:.4s;height:20px}.wave-bars .bar:nth-child(4){animation-delay:.2s;height:15px}.wave-bars .bar:nth-child(5){animation-delay:0s;height:10px}@keyframes sound-wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}.talk-button.status-connected{background:#a78bfa26;box-shadow:0 0 30px #a78bfa66,inset 0 0 0 2px #a78bfa80;animation:breathing 3s infinite ease-in-out}.talk-button.status-error{background:#ef44441a;box-shadow:0 0 20px #ef44444d,inset 0 0 0 1px #ef444480}.status-text{margin-top:24px;font-size:.9rem;font-weight:500;color:#ffffffb3;letter-spacing:.5px;text-transform:uppercase}.pulse-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;background:#a78bfa66;z-index:5;animation:pulse 2s infinite cubic-bezier(.215,.61,.355,1);pointer-events:none}.spin-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:130px;height:130px;border-radius:50%;border:2px solid transparent;border-top-color:#a78bfa;border-right-color:#a78bfa;z-index:5;animation:spin 1s linear infinite;pointer-events:none}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.8}to{transform:translate(-50%,-50%) scale(2);opacity:0}}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes breathing{0%,to{transform:scale(1);box-shadow:0 0 30px #a78bfa4d,inset 0 0 0 2px #a78bfa66}50%{transform:scale(1.05);box-shadow:0 0 50px #a78bfa99,inset 0 0 0 2px #a78bfacc}}.transcript-container{position:absolute;bottom:250px;left:50%;transform:translate(-50%);width:90%;max-width:600px;display:flex;flex-direction:column;gap:16px;pointer-events:none;z-index:20;transition:opacity .5s ease,transform .5s ease}.transcript-container.hidden{opacity:0;transform:translate(-50%,10px)}.transcript-container.visible{opacity:1;transform:translate(-50%)}.thought-text{font-size:.9rem;color:#ffffff80;font-style:italic;text-align:center;background:#0000004d;padding:8px 16px;border-radius:12px;align-self:center;max-width:80%;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.thought-icon{font-style:normal;margin-right:4px}.input-text{font-size:1rem;color:#ffffffb3;text-align:right;align-self:flex-end;background:#ffffff1a;padding:10px 16px;border-radius:16px 16px 4px;max-width:85%;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.output-text{font-size:1.2rem;color:#fff;text-align:left;align-self:flex-start;background:#a78bfa33;padding:12px 20px;border-radius:16px 16px 16px 4px;max-width:90%;border:1px solid rgba(167,139,250,.3);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:0 4px 20px #0003;line-height:1.4}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f1115;color:#fff;overflow:hidden;user-select:none;-webkit-user-select:none}.app{width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;position:relative}.ambient-background{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 50% 100%,#1a1a2e,#0f1115 60%);z-index:0;pointer-events:none}.app-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;padding-top:env(safe-area-inset-top,20px)}.app-header h1{font-size:1.2rem;font-weight:600;letter-spacing:-.5px;color:#ffffffe6}.status-dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:all .3s ease}.status-dot.connected{background:#10b981;box-shadow:0 0 10px #10b98180}.status-dot.error{background:#ef4444}.status-dot.connecting{background:#f59e0b;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.app-main{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:60px;padding-bottom:calc(60px + env(safe-area-inset-bottom))}.button-wrapper{margin-top:20px}
