:root{--bg-primary: #faf9f5;--bg-secondary: #f2f2ee;--bg-card: #ffffff;--text-primary: #1a1a1a;--text-secondary: rgba(0, 0, 0, .6);--text-muted: rgba(0, 0, 0, .5);--accent-orange: #f97316;--accent-red: #ef4444;--accent-blue: #3b82f6;--button-dark: #4d4d57;--button-dark-hover: #5a5a65;--shadow-soft: rgba(0, 0, 0, .04);--shadow-medium: rgba(0, 0, 0, .06);--border-light: rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);background-attachment:fixed;color:var(--text-primary);line-height:1.5}.app{min-height:100%;display:flex;flex-direction:column}.nav-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;position:sticky;top:0;background:#faf9f5e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:100;border-bottom:1px solid var(--border-light)}.nav-title{display:flex;align-items:center;gap:8px;font-size:28px;font-weight:700;color:var(--text-primary)}.nav-title-icon{color:var(--accent-red)}.nav-link{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:12px;color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:14px;transition:all .2s ease}.nav-link:hover{background:#0000000d;color:var(--text-primary)}.nav-link.active{background:var(--button-dark);color:#fff}.main-content{flex:1;display:flex;flex-direction:column;padding:0 20px;max-width:800px;margin:0 auto;width:100%}.card{background:var(--bg-card);border-radius:20px;padding:20px;box-shadow:0 4px 12px var(--shadow-medium),0 0 0 1px #00000005;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--shadow-medium)}.card-glass{background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.reflection-card{background:var(--bg-card);border-radius:20px;padding:20px;margin-bottom:20px;box-shadow:0 4px 12px var(--shadow-soft)}.reflection-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.reflection-header svg{color:var(--accent-orange)}.reflection-header h3{font-size:16px;font-weight:600;color:var(--text-primary)}.reflection-content{font-size:15px;color:var(--text-primary);line-height:1.6}.reflection-stats{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.generate-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background:var(--button-dark);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.generate-btn:hover:not(:disabled){background:var(--button-dark-hover);transform:translateY(-1px)}.generate-btn:disabled{opacity:.6;cursor:not-allowed}.generate-btn.loading{background:var(--button-dark)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-state svg{width:64px;height:64px;color:#0000004d;margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.empty-state p{font-size:14px;color:var(--text-muted);max-width:280px}.timeline{flex:1;overflow-y:auto;padding:20px 0}.timeline-list{display:flex;flex-direction:column;gap:12px}.entry-card{background:var(--bg-card);border-radius:16px;padding:16px;box-shadow:0 4px 8px var(--shadow-soft);transition:transform .2s ease}.entry-card:hover{transform:translateY(-2px)}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.entry-actions{display:flex;align-items:center;gap:8px}.entry-delete-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all .15s ease;opacity:0}.entry-card:hover .entry-delete-btn{opacity:1}.entry-delete-btn:hover{background:#ef44441a;color:var(--accent-red)}.entry-time{font-size:12px;font-weight:500;color:var(--text-secondary)}.entry-duration{font-size:11px;padding:4px 8px;background:#0000001a;border-radius:20px;color:var(--text-secondary)}.entry-transcription{font-size:15px;color:var(--text-primary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.entry-transcription.pending{color:var(--text-muted);font-style:italic}.recording-section{padding:24px 0 40px;display:flex;flex-direction:column;align-items:center}.waveform-container{width:100%;max-width:300px;height:80px;display:flex;align-items:center;justify-content:center;gap:3px;margin-bottom:16px}.waveform-bar{width:4px;border-radius:3px;background:linear-gradient(180deg,var(--accent-red) 0%,var(--accent-orange) 50%,#facc15 100%);transition:height .1s ease;min-height:6px}.recording-timer{font-size:56px;font-weight:200;color:#000c;margin-bottom:16px;font-variant-numeric:tabular-nums;text-shadow:0 2px 4px rgba(0,0,0,.1)}.live-transcript{font-size:14px;font-style:italic;color:var(--text-muted);text-align:center;max-width:300px;margin-bottom:20px;min-height:40px;line-height:1.4;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.record-btn-container{position:relative;display:flex;align-items:center;justify-content:center}.pulse-ring-simple{position:absolute;width:80px;height:80px;border-radius:50%;background:#ef44444d;animation:pulse-simple 1.5s ease-out infinite}.pulse-ring-simple.delay{animation-delay:.5s}@keyframes pulse-simple{0%{transform:scale(1);opacity:.6}to{transform:scale(1.8);opacity:0}}.record-btn-simple{width:80px;height:80px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative;z-index:1}.record-btn-simple.idle{background:#6b7280;box-shadow:0 4px 12px #0003}.record-btn-simple.idle:hover{background:#4b5563;transform:scale(1.05)}.record-btn-simple.recording{background:#ef4444;box-shadow:0 4px 20px #ef444480;animation:pulse-btn 1s ease-in-out infinite}@keyframes pulse-btn{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.record-btn-simple:active{transform:scale(.95)}.record-btn-simple svg{color:#fff}.dashboard{padding-bottom:40px}.profile-card{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.profile-info{display:flex;align-items:center;gap:16px}.profile-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#69c,#80b3e6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:600;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-details{display:flex;flex-direction:column}.profile-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.profile-name{font-size:20px;font-weight:700;color:var(--text-primary)}.profile-edit-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:8px;border-radius:50%;transition:all .2s ease}.profile-edit-btn:hover{background:#0000000d;color:var(--text-primary)}.stats-card{margin-bottom:24px}.stats-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.export-card{margin-bottom:24px}.export-buttons{display:flex;gap:12px;margin-top:12px}.export-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:10px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.export-btn:hover{background:var(--button-dark);color:#fff;border-color:var(--button-dark)}.stat-item{text-align:center}.stat-item svg{width:24px;height:24px;color:var(--text-secondary);margin-bottom:8px}.stat-value{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-label{font-size:12px;color:var(--text-secondary)}.history-section h2{font-size:24px;font-weight:700;margin-bottom:20px}.history-list{display:flex;flex-direction:column;gap:16px}.history-date-group{margin-bottom:8px}.history-date{font-size:16px;font-weight:600;color:#000c;margin-bottom:12px}.summary-card{background:var(--bg-card);border-radius:20px;padding:20px;box-shadow:0 4px 12px var(--shadow-medium)}.summary-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.summary-date-info h4{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.summary-entry-count{font-size:12px;color:var(--text-secondary)}.expand-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;transition:all .2s ease}.expand-btn:hover{color:var(--text-primary)}.summary-content-box{background:#fff8ee;border:1px solid rgba(249,115,22,.2);border-radius:12px;padding:16px;margin-bottom:16px}.summary-content-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.summary-content-header svg{width:14px;height:14px;color:var(--accent-orange)}.summary-content-header span{font-size:12px;font-weight:500;color:var(--text-secondary)}.summary-text{font-size:15px;color:var(--text-primary);line-height:1.6}.transcript-list{border-top:1px solid var(--border-light);padding-top:16px}.transcript-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.transcript-item{background:#fafaf9;border-radius:10px;padding:12px;margin-bottom:8px}.transcript-header{display:flex;align-items:flex-start;gap:12px}.transcript-content{flex:1}.transcript-delete-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all .15s ease;flex-shrink:0}.transcript-delete-btn:hover{background:#ef44441a;color:var(--accent-red)}.transcript-time{font-size:11px;font-weight:500;color:var(--text-secondary);background:#0000001a;padding:4px 8px;border-radius:20px;flex-shrink:0}.transcript-text{font-size:14px;color:var(--text-primary);line-height:1.5}.transcript-text.empty{color:var(--text-muted);font-style:italic}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg-card);border-radius:20px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-light)}.modal-header h2{font-size:18px;font-weight:600}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px}.modal-body{padding:20px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-input{width:100%;padding:12px 16px;border:1px solid var(--border-light);border-radius:12px;font-size:16px;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:var(--button-dark)}.avatar-upload{display:flex;align-items:center;gap:16px}.avatar-preview{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#69c,#80b3e6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;font-weight:600;overflow:hidden}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-upload-btn{padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:10px;font-size:14px;cursor:pointer;transition:all .2s ease}.avatar-upload-btn:hover{background:#0000000d}.modal-footer{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--border-light)}.btn-cancel{flex:1;padding:12px;background:none;border:1px solid var(--border-light);border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#0000000d}.btn-save{flex:1;padding:12px;background:var(--button-dark);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-save:hover{background:var(--button-dark-hover)}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px){.nav-title{font-size:22px}.nav-link span{display:none}.main-content{padding:0 16px}.recording-timer{font-size:48px}.stats-grid{gap:10px}.stat-value{font-size:20px}}.permission-overlay{position:fixed;inset:0;background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;z-index:1000}.permission-icon{width:72px;height:72px;color:var(--text-secondary);margin-bottom:32px}.permission-title{font-size:24px;font-weight:600;margin-bottom:12px;text-align:center}.permission-description{font-size:16px;color:var(--text-secondary);text-align:center;max-width:320px;margin-bottom:32px;line-height:1.5}.permission-items{display:flex;flex-direction:column;gap:16px;width:100%;max-width:320px;margin-bottom:40px}.permission-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--bg-card);border-radius:12px}.permission-item svg{width:24px;height:24px;color:var(--text-secondary)}.permission-item span{flex:1;font-size:15px}.permission-status{width:24px;height:24px}.permission-status.granted{color:#22c55e}.permission-status.denied{color:var(--accent-red)}.permission-status.pending{color:#0000004d}.permission-btn{width:100%;max-width:320px;padding:16px;background:var(--button-dark);color:#fff;border:none;border-radius:16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.permission-btn:hover{background:var(--button-dark-hover);transform:translateY(-2px)}.error-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--accent-red);color:#fff;padding:12px 24px;border-radius:12px;font-size:14px;font-weight:500;z-index:1000;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.show-more-link{font-size:12px;color:var(--accent-blue);cursor:pointer;margin-top:4px;display:inline-block}.show-more-link:hover{text-decoration:underline}
