.app{display:flex;flex-direction:column;height:100vh}.header-session{display:flex;align-items:center;gap:8px;margin-right:auto;margin-left:16px}.header-session-name{font-size:.9rem;font-weight:600;color:#ffffffbf}.header-logout-btn{background:none;border:1px solid rgba(255,255,255,.2);color:#ffffff73;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:.9rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .15s}.header-logout-btn:hover{background:#ffffff1a;color:#fff}.mode-badge{position:absolute;top:16px;left:20px;padding:5px 14px;border-radius:16px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mode-badge--personal{background:#2563ebb3;color:#fff;border:1px solid rgba(96,165,250,.4)}.mode-badge--capsule{background:#7c3aedb3;color:#fff;border:1px solid rgba(167,139,250,.4)}.back-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff9;font-size:1.1rem;width:48px;height:48px;border-radius:50%;cursor:pointer;font-family:inherit;transition:background .15s,color .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.back-btn:hover{background:#ffffff29;color:#fff}.session-panel{flex-shrink:0;background:#00000059;border-top:1px solid rgba(255,255,255,.07)}.login-panel{padding:32px 24px;display:flex;flex-direction:column;align-items:center;gap:20px}.login-prompt{font-size:1.1rem;color:#ffffffa6}.login-input-row{display:flex;gap:12px;width:100%;max-width:520px}.login-input{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fff;font-size:1.3rem;font-family:inherit;padding:14px 20px;outline:none;transition:border-color .2s}.login-input::placeholder{color:#ffffff4d}.login-input:focus{border-color:#60a5fa99}.login-btn{background:#2563eb;border:none;border-radius:12px;color:#fff;font-size:1.1rem;font-weight:700;font-family:inherit;padding:14px 28px;cursor:pointer;transition:background .2s,transform .15s;white-space:nowrap}.login-btn:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.login-btn:disabled{background:#374151;cursor:not-allowed;opacity:.5}.mode-panel{padding:28px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:20px}.mode-greeting{font-size:1.2rem;font-weight:400;color:#fffc;margin:0}.mode-greeting strong{color:#fff;font-size:1.4rem}.mode-cards{display:flex;gap:16px;width:100%;max-width:700px}.mode-card{flex:1;display:flex;flex-direction:column;gap:8px;padding:20px 22px;border-radius:16px;border:2px solid transparent;cursor:pointer;text-align:left;font-family:inherit;transition:transform .15s,border-color .2s,background .2s}.mode-card:hover{transform:translateY(-3px)}.mode-card--personal{background:#2563eb2e;border-color:#60a5fa4d}.mode-card--personal:hover{background:#2563eb4d;border-color:#60a5fa99}.mode-card--capsule{background:#7c3aed2e;border-color:#a78bfa4d}.mode-card--capsule:hover{background:#7c3aed4d;border-color:#a78bfa99}.mode-card-title{font-size:1.05rem;font-weight:700;color:#fff}.mode-card-desc{font-size:.85rem;color:#fff9;line-height:1.45}.logout-btn{background:none;border:1px solid rgba(255,255,255,.15);color:#fff6;font-size:.82rem;font-family:inherit;padding:6px 16px;border-radius:20px;cursor:pointer;transition:border-color .2s,color .2s}.logout-btn:hover{border-color:#ffffff4d;color:#ffffffb3}.done-panel{padding:32px 24px;display:flex;flex-direction:column;align-items:center;gap:24px}.done-message{font-size:1.25rem;color:#ffffffd9;text-align:center;line-height:1.6;margin:0}.done-message strong{color:#fff}.done-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center}.video-hidden{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none}.zoom-controls{position:absolute;bottom:16px;right:20px;display:flex;align-items:center;gap:8px;background:#0000009e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 12px;border-radius:24px;border:1px solid rgba(255,255,255,.12)}.zoom-btn{background:#ffffff1f;border:none;color:#fff;font-size:1.2rem;line-height:1;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:background .15s}.zoom-btn:hover:not(:disabled){background:#ffffff40}.zoom-btn:disabled{opacity:.3;cursor:not-allowed}.zoom-label{font-size:.88rem;font-weight:600;color:#fff;min-width:34px;text-align:center;font-variant-numeric:tabular-nums}.app-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.app-header h1{font-size:1.05rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffffd9}.settings-btn{background:none;border:1px solid transparent;color:#ffffff8c;font-size:1.25rem;line-height:1;cursor:pointer;padding:6px 10px;border-radius:8px;transition:color .2s,background .2s}.settings-btn:hover{color:#fff;background:#ffffff14}.settings-panel{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;padding:14px 20px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.setting-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.setting-row label{font-size:.78rem;font-weight:500;color:#ffffff73;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.setting-row select{background:#ffffff12;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:6px 10px;font-size:.88rem;font-family:inherit;cursor:pointer;max-width:230px;outline:none;transition:border-color .2s}.setting-row select:focus{border-color:#ffffff59}.setting-row select:disabled{opacity:.4;cursor:not-allowed}.setting-row select option{background:#1c1c1c}.dir-btn{background:#ffffff12;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:6px 14px;font-size:.88rem;font-family:inherit;cursor:pointer;transition:background .2s;white-space:nowrap}.dir-btn:hover{background:#ffffff24}.dir-hint{font-size:.78rem;color:#ffffff59;font-style:italic}.video-container{flex:1;position:relative;background:#111;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:0}.video-preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.recording-indicator{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:7px 18px;border-radius:24px;border:1px solid rgba(255,255,255,.1)}.rec-dot{width:10px;height:10px;border-radius:50%;background:#ef4444;flex-shrink:0;animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.15}}.rec-time{font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.05em;color:#fff}.saving-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;font-size:1.2rem;font-weight:600;color:#ffffffe6}.saving-spinner{width:44px;height:44px;border:3px solid rgba(255,255,255,.15);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px;text-align:center;max-width:400px}.error-icon{font-size:2.5rem;color:#ef4444}.error-message p{color:#ffffffa6;font-size:.95rem;line-height:1.55}.controls{padding:28px 20px;display:flex;justify-content:center;align-items:center;background:#00000040;flex-shrink:0}.control-btn{padding:22px 80px;border:none;border-radius:60px;font-size:1.3rem;font-weight:700;font-family:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:.12em;transition:transform .12s ease,box-shadow .2s ease}.btn-start{background:#16a34a;color:#fff;box-shadow:0 4px 28px #16a34a73}.btn-start:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 8px 40px #16a34aa6}.btn-start:active:not(:disabled){transform:scale(.97)}.btn-start:disabled{background:#374151;box-shadow:none;cursor:not-allowed;opacity:.45}.btn-stop{background:#dc2626;color:#fff;box-shadow:0 4px 28px #dc262680;animation:pulse-stop 1.8s ease-in-out infinite}@keyframes pulse-stop{0%,to{box-shadow:0 4px 28px #dc262680}50%{box-shadow:0 4px 52px #dc2626d9}}.btn-stop:hover{transform:translateY(-2px) scale(1.02)}.btn-stop:active{transform:scale(.97)}.btn-saving{background:#4b5563;color:#ffffff8c;cursor:not-allowed;box-shadow:none}.btn-discard{background:#7c3aed;color:#fff;box-shadow:0 4px 28px #7c3aed73}.btn-discard:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 40px #7c3aeda6}.btn-confirm{background:#16a34a;color:#fff;box-shadow:0 4px 28px #16a34a73}.btn-confirm:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 40px #16a34aa6}.review-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:10}.review-video{width:100%;height:100%;object-fit:contain}.btn-bonjour{background:#2563eb;color:#fff;box-shadow:0 4px 28px #2563eb73}.btn-bonjour:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 8px 40px #2563eba6}.btn-bonjour:disabled{background:#374151;box-shadow:none;cursor:not-allowed;opacity:.45}.btn-listening{background:#7c3aed;color:#fff;box-shadow:0 4px 28px #7c3aed73;animation:pulse-stop 1.8s ease-in-out infinite}.greeting-confirmed{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.greeting-name-display{font-size:1.3rem;color:#ffffffd9}.greeting-name-display strong{color:#fff;font-size:1.5rem}.reset-name-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff9;font-size:1.1rem;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;font-family:inherit;flex-shrink:0}.reset-name-btn:hover{background:#fff3;color:#fff}.greeting-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:20}.greeting-pulse{width:64px;height:64px;border-radius:50%;background:#7c3aed99;box-shadow:0 0 #7c3aedb3;animation:pulse-ring 1.2s ease-out infinite}@keyframes pulse-ring{0%{box-shadow:0 0 #7c3aedb3}70%{box-shadow:0 0 0 28px #7c3aed00}to{box-shadow:0 0 #7c3aed00}}.greeting-prompt{font-size:1.5rem;font-weight:600;color:#fffc;letter-spacing:.03em}.greeting-transcript{font-size:2rem;font-weight:700;color:#fff;min-height:2.5rem;text-align:center;padding:0 24px;max-width:600px}.greeting-ellipsis{color:#ffffff4d;font-weight:400;font-size:1.8rem}.greeting-stop-btn{margin-top:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff9;font-size:.9rem;font-family:inherit;padding:8px 20px;border-radius:20px;cursor:pointer;transition:background .2s,color .2s}.greeting-stop-btn:hover{background:#fff3;color:#fff}.drive-status{font-size:.85rem;font-weight:500;color:#ffffffb3;white-space:nowrap}.drive-status--ok{color:#22c55e}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{background:#0a0a0a;color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden;-webkit-font-smoothing:antialiased}
