*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fafafa;color:#1a1a1a;min-height:100vh;line-height:1.5}#root{min-height:100vh}.app{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:2rem;position:relative}.app:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 20% 30%,rgba(255,150,200,.5) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(120,180,255,.5) 0%,transparent 50%),radial-gradient(ellipse at 40% 80%,rgba(180,130,255,.4) 0%,transparent 50%),radial-gradient(ellipse at 70% 70%,rgba(255,180,220,.45) 0%,transparent 50%);animation:drift 12s ease-in-out infinite;filter:blur(40px);z-index:-1}.app:after{content:"";position:fixed;top:-30%;left:-30%;width:160%;height:160%;background:radial-gradient(ellipse at 60% 40%,rgba(100,160,255,.4) 0%,transparent 45%),radial-gradient(ellipse at 30% 70%,rgba(255,120,180,.4) 0%,transparent 45%);animation:drift2 8s ease-in-out infinite;filter:blur(50px);z-index:-1}@keyframes drift{0%,to{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(3%,2%) rotate(2deg) scale(1.02)}50%{transform:translate(-2%,3%) rotate(-1deg) scale(.98)}75%{transform:translate(2%,-2%) rotate(1deg) scale(1.01)}}@keyframes drift2{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(-3%,2%) rotate(-2deg)}66%{transform:translate(2%,-3%) rotate(2deg)}}.home-container{display:flex;flex-direction:column;align-items:center;gap:2rem}.alert-container{display:flex;align-items:center;justify-content:center}.alert-button{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(26,26,26,.2);color:#1a1a1a;font-size:1rem;padding:1rem 2rem;cursor:pointer;font-family:inherit;transition:all .2s ease}.alert-button:hover{background:#ffffffe6;border-color:#1a1a1a66}.alert-button:active{background:#1a1a1a;color:#fafafa}.settings-link{background:none;border:none;color:#888;font-size:.75rem;cursor:pointer;font-family:inherit;padding:.5rem;letter-spacing:.05em}.settings-link:hover{color:#1a1a1a}.input-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:1.5rem}.input-prompt{font-size:1.25rem;text-align:center}.input-textarea{width:100%;padding:1rem;font-size:1rem;font-family:inherit;border:1px solid rgba(200,200,200,.6);background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);resize:none;line-height:1.5;border-radius:4px}.input-textarea:focus{outline:none;border-color:#1a1a1a66;background:#fffffff2}.input-textarea:disabled{opacity:.6}.error-text{color:#c44;font-size:.875rem;text-align:center}.input-actions{display:flex;gap:1rem;justify-content:center}.voice-button,.submit-button{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(26,26,26,.2);color:#1a1a1a;font-size:1rem;padding:.75rem 1.5rem;cursor:pointer;font-family:inherit;transition:all .2s ease;border-radius:4px}.voice-button:hover,.submit-button:hover{background:#ffffffe6}.voice-button:active,.submit-button:active{background:#1a1a1a;color:#fafafa}.submit-button:disabled,.voice-button:disabled{opacity:.4;cursor:not-allowed}.continue-button:disabled{opacity:.4;cursor:not-allowed}.back-link{background:none;border:none;color:#666;font-size:.875rem;cursor:pointer;font-family:inherit;text-align:center;padding:.5rem}.back-link:hover{color:#1a1a1a}.question-container{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:3rem}.question-text{font-size:1.25rem;text-align:center;line-height:1.6}.question-actions{display:flex;flex-direction:column;gap:1rem;width:100%}.continue-button,.done-button{width:100%;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(26,26,26,.2);color:#1a1a1a;font-size:1rem;padding:.75rem 1.5rem;cursor:pointer;font-family:inherit;transition:all .2s ease;border-radius:4px}.continue-button:hover,.done-button:hover{background:#ffffffe6}.continue-button:active,.done-button:active{background:#1a1a1a;color:#fafafa}.done-button{background:transparent;border-color:#96969666;color:#666}.done-button:hover{background:#ffffff80}.done-button:active{background:#666;color:#fafafa}.safety-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:2rem}.safety-message{font-size:1.125rem;text-align:center;line-height:1.6}.safety-resources{display:flex;flex-direction:column;gap:1.5rem}.resource{text-align:center}.resource-name{font-size:.875rem;color:#666;margin-bottom:.25rem}.resource-link{font-size:1rem;color:#1a1a1a}a.resource-link{text-decoration:underline}.feedback-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:2rem}.feedback-prompt{font-size:1.125rem;text-align:center;line-height:1.6}.feedback-options{display:flex;flex-direction:column;gap:.75rem}.feedback-option{width:100%;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(200,200,200,.6);color:#1a1a1a;font-size:1rem;padding:.75rem 1.5rem;cursor:pointer;font-family:inherit;text-align:left;border-radius:4px;transition:all .2s ease}.feedback-option:hover{border-color:#1a1a1a66;background:#ffffffe6}.feedback-option.selected{background:#1a1a1a;color:#fafafa;border-color:#1a1a1a}.feedback-followup{display:flex;flex-direction:column;gap:1rem}.feedback-selected{font-size:.875rem;color:#666;text-align:center}.feedback-textarea{width:100%;padding:1rem;font-size:1rem;font-family:inherit;border:1px solid rgba(200,200,200,.6);background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);resize:none;line-height:1.5;border-radius:4px}.feedback-textarea:focus{outline:none;border-color:#1a1a1a66}.settings-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:1.5rem}.settings-title{font-size:1rem;text-align:center;color:#666}.settings-input{width:100%;padding:1rem;font-size:1rem;font-family:inherit;border:1px solid rgba(200,200,200,.6);background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4px}.settings-input:focus{outline:none;border-color:#1a1a1a66;background:#fffffff2}.settings-hint{font-size:.75rem;color:#888;text-align:center}.settings-header{font-size:1.25rem;font-weight:500;text-align:center;margin-bottom:.5rem}.settings-section{display:flex;flex-direction:column;gap:.5rem}.settings-label{font-size:.875rem;font-weight:500;color:#333}.settings-desc{font-size:.75rem;color:#888;margin-bottom:.25rem}.settings-link-small{font-size:.7rem;color:#57a;text-decoration:none}.settings-link-small:hover{text-decoration:underline}.progress-status{font-size:.9375rem;color:#57a;animation:none}.analysis-steps{display:flex;flex-direction:column;gap:.25rem;align-items:center;margin-top:1rem}.analysis-steps span{font-size:.75rem;color:#666}.home-buttons{display:flex;flex-direction:column;gap:1rem;align-items:center}.video-button{background:#ffffff80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(26,26,26,.15);color:#444;font-size:.875rem;padding:.75rem 1.5rem;cursor:pointer;font-family:inherit;transition:all .2s ease;border-radius:4px}.video-button:hover{background:#fffc;border-color:#1a1a1a4d;color:#1a1a1a}.home-history{display:flex;flex-direction:column;align-items:center;gap:.75rem}.history-link{background:none;border:none;color:#666;font-size:.75rem;cursor:pointer;font-family:inherit;padding:.25rem}.history-link:hover{color:#1a1a1a}.recent-prompts{display:flex;flex-direction:column;gap:.5rem;max-width:280px}.recent-prompt{font-size:.75rem;color:#888;text-align:center;padding:.5rem;background:#fff6;border-radius:4px}.rating-section{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.rating-label{font-size:.875rem;color:#666}.rating-buttons{display:flex;gap:.5rem}.rating-button{width:44px;height:44px;background:#fff9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(200,200,200,.6);color:#444;font-size:1rem;cursor:pointer;font-family:inherit;border-radius:50%;transition:all .2s ease}.rating-button:hover{background:#ffffffe6;border-color:#1a1a1a4d}.rating-button.selected{background:#1a1a1a;color:#fafafa;border-color:#1a1a1a}.rating-button:disabled{opacity:.4;cursor:not-allowed}.rating-labels{display:flex;justify-content:space-between;width:100%;max-width:240px;font-size:.7rem;color:#888}.skip-button{width:100%;background:transparent;border:1px solid rgba(150,150,150,.3);color:#888;font-size:.875rem;padding:.5rem 1rem;cursor:pointer;font-family:inherit;border-radius:4px}.skip-button:hover{border-color:#96969680;color:#666}.skip-button:disabled{opacity:.4;cursor:not-allowed}.video-record-container{width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.video-prompt{font-size:1rem;text-align:center;color:#444}.video-preview-wrapper{position:relative;width:100%;max-width:400px;aspect-ratio:4/3;background:#000;border-radius:8px;overflow:hidden}.video-preview{width:100%;height:100%;object-fit:cover}.recording-indicator{position:absolute;top:1rem;right:1rem;width:12px;height:12px;background:#e55;border-radius:50%;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.video-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:300px}.record-button,.stop-button,.retry-button{width:100%;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(26,26,26,.2);color:#1a1a1a;font-size:1rem;padding:.75rem 1.5rem;cursor:pointer;font-family:inherit;border-radius:4px;transition:all .2s ease}.record-button{background:#c8505026;border-color:#c850504d}.record-button:hover{background:#c8505040}.stop-button{background:#c8505033;border-color:#c8505066}.retry-button{background:transparent;border-color:#96969666;color:#666}.analysis-container{width:100%;max-width:500px;display:flex;flex-direction:column;gap:1.5rem;max-height:80vh;overflow-y:auto}.analysis-loading{font-size:1.125rem;text-align:center}.analysis-progress{display:flex;flex-direction:column;gap:.5rem;align-items:center}.analysis-progress span{font-size:.75rem;color:#888;animation:fadeInOut 2s ease-in-out infinite}.analysis-progress span:nth-child(2){animation-delay:.5s}.analysis-progress span:nth-child(3){animation-delay:1s}@keyframes fadeInOut{0%,to{opacity:.4}50%{opacity:1}}.analysis-header{display:flex;justify-content:space-between;align-items:center}.analysis-header h2{font-size:1.25rem;font-weight:500}.dev-toggle{background:none;border:1px solid #ddd;color:#888;font-size:.625rem;padding:.25rem .5rem;cursor:pointer;font-family:monospace;border-radius:2px}.dev-toggle:hover{border-color:#888;color:#444}.analysis-section{background:#fff9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem;border-radius:8px}.analysis-section h3{font-size:.75rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.analysis-section p{font-size:.9375rem;line-height:1.5}.insights-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.insights-list li{font-size:.9375rem;padding-left:1rem;position:relative}.insights-list li:before{content:"•";position:absolute;left:0;color:#888}.suggested-questions{display:flex;flex-direction:column;gap:.5rem}.suggested-question{background:#ffffff80;border:1px solid rgba(200,200,200,.5);color:#1a1a1a;font-size:.875rem;padding:.75rem;cursor:pointer;font-family:inherit;text-align:left;border-radius:4px;transition:all .2s ease}.suggested-question:hover{background:#fffc;border-color:#1a1a1a4d}.dev-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.dev-popup{background:#1a1a1a;color:#0f0;width:100%;max-width:600px;max-height:80vh;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.dev-popup-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#222;font-family:monospace;font-size:.75rem}.dev-popup-header button{background:none;border:none;color:#888;font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.dev-popup-header button:hover{color:#fff}.dev-popup-content{padding:1rem;font-family:monospace;font-size:.75rem;overflow:auto;white-space:pre-wrap;word-break:break-word}.history-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:1.5rem;max-height:80vh}.history-title{font-size:1.25rem;font-weight:500;text-align:center}.history-empty{text-align:center;color:#888;font-size:.875rem}.history-list{display:flex;flex-direction:column;gap:.75rem;overflow-y:auto}.history-item{background:#fff9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(200,200,200,.4);padding:1rem;cursor:pointer;font-family:inherit;text-align:left;border-radius:8px;transition:all .2s ease}.history-item:hover{background:#fffc;border-color:#c8c8c899}.history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.history-date{font-size:.75rem;color:#888}.history-type{font-size:.875rem}.history-preview{font-size:.9375rem;color:#1a1a1a;margin-bottom:.25rem}.history-stats{font-size:.75rem;color:#888}.video-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#888;font-size:.875rem}.video-preview.hidden{opacity:0;position:absolute}.analysis-timeout-note{font-size:.75rem;color:#888;text-align:center;margin-top:1rem}.analysis-error{background:#c864641a;border:1px solid rgba(200,100,100,.3);padding:1.5rem;border-radius:8px;text-align:center}.error-title{font-size:1.125rem;color:#c66;margin-bottom:.5rem}.analysis-empty{text-align:center;color:#888;font-size:.9375rem}.history-item-wrapper{display:flex;flex-direction:column;gap:.5rem}.history-item-badges{display:flex;align-items:center;gap:.5rem}.status-badge{font-size:.625rem;padding:.125rem .375rem;border-radius:3px;text-transform:uppercase;letter-spacing:.03em}.status-badge.failed{background:#c8646433;color:#a55}.status-badge.analyzing{background:#6496c833;color:#57a;animation:pulse 1.5s ease-in-out infinite}.reanalyze-button{width:100%;background:#6496c826;border:1px solid rgba(100,150,200,.3);color:#57a;font-size:.8125rem;padding:.5rem 1rem;cursor:pointer;font-family:inherit;border-radius:4px;transition:all .2s ease}.reanalyze-button:hover{background:#6496c840;border-color:#6496c880}.history-item-actions{display:flex;gap:.5rem;margin-top:.5rem}.history-item-actions .reanalyze-button,.history-item-actions .finder-button{width:auto;flex:1}.finder-button{background:#64c89626;border:1px solid rgba(100,200,150,.3);color:#5a7;font-size:.8125rem;padding:.5rem 1rem;cursor:pointer;font-family:inherit;border-radius:4px;transition:all .2s ease}.finder-button:hover{background:#64c89640;border-color:#64c89680}.recent-prompt{font-size:.75rem;color:#666;padding:.5rem .75rem;background:#ffffff80;border-radius:4px;display:flex;align-items:center;gap:.5rem}.recent-prompt-type{flex-shrink:0}.recent-prompt-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.recent-reanalyze{background:#6496c833;border:none;color:#57a;font-size:.625rem;padding:.25rem .5rem;cursor:pointer;font-family:inherit;border-radius:3px;flex-shrink:0}.recent-reanalyze:hover{background:#6496c859}.home-screen{width:100%;max-width:600px;min-height:100vh;display:flex;flex-direction:column;padding:2rem}.home-history-section{padding:1rem 0}.home-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.home-empty-subtitle{font-size:.875rem;color:#999}.home-sessions{display:flex;flex-direction:column;gap:.5rem}.home-session-item{display:flex;align-items:center;gap:.5rem;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;transition:all .2s ease;box-shadow:0 1px 10px #00000008}.home-session-item:hover{background:#ffffffe6;box-shadow:0 2px 15px #0000000f}.home-session-content{flex:1;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit}.home-session-icon{font-size:1.25rem;flex-shrink:0}.home-session-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.home-session-preview{font-size:.9375rem;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-session-meta{font-size:.75rem;color:#888}.home-session-failed{color:#c55}.home-session-actions{display:flex;gap:.25rem;padding-right:.5rem}.home-action-btn{width:32px;height:32px;border:none;background:#0000000d;border-radius:8px;cursor:pointer;font-size:.875rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.home-action-btn:hover{background:#0000001a}.home-action-btn.retry{color:#57a}.home-action-btn.finder{color:#5a7}.home-input-section{padding:2rem 0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh}.home-screen:has(.home-sessions) .home-input-section{min-height:auto;padding:1rem 0}.home-input-container{width:100%;display:flex;align-items:flex-end;gap:.5rem;background:#fffc;border:1px solid rgba(0,0,0,.1);border-radius:24px;padding:.5rem .5rem .5rem 1rem;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 20px #0000000d}.home-input-container:focus-within{border-color:#9664c866;box-shadow:0 0 0 3px #9664c81a}.home-input{flex:1;border:none;background:transparent;font-size:1rem;font-family:inherit;resize:none;outline:none;min-height:24px;max-height:120px;line-height:1.5;color:#333}.home-input::placeholder{color:#999}.home-input-actions{display:flex;gap:.25rem;flex-shrink:0}.home-input-btn{width:36px;height:36px;border:none;border-radius:50%;cursor:pointer;font-size:1rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.home-input-btn.voice{background:#6496c826;color:#57a}.home-input-btn.voice:hover{background:#6496c840}.home-input-btn.voice.listening{background:#c8646433;color:#a55;animation:pulse 1s ease-in-out infinite}.home-input-btn.video{background:#c8966426;color:#a75}.home-input-btn.video:hover{background:#c8966440}.home-input-btn.send{background:linear-gradient(135deg,#9664c8cc,#6496c8cc);color:#fff;font-weight:600}.home-input-btn.send:hover:not(:disabled){background:linear-gradient(135deg,#9664c8e6,#6496c8e6)}.home-input-btn.send:disabled{opacity:.4;cursor:not-allowed}.home-input-btn:disabled{opacity:.5;cursor:not-allowed}.home-session-emojis{font-size:1rem;flex-shrink:0;padding-right:.5rem}.home-settings-btn{display:block;margin:0 auto;padding:.75rem 1rem;background:transparent;border:none;color:#888;font-size:.8125rem;cursor:pointer;font-family:inherit;transition:color .2s ease}.home-settings-btn:hover{color:#555}
