:root{--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, system-ui, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", "Roboto Mono", Menlo, Consolas, monospace;--bg:#0a0c0f;--surface:#ffffff0a;--surface-2:#ffffff0f;--border:#ffffff14;--border-strong:#ffffff24;--text:#eaeef1;--text-dim:#9aa3ad;--text-faint:#5f6873;--accent:#33af7c;--accent-hover:#3ec98f;--accent-bright:#57d39e;--accent-deep:#1f7d57;--accent-glow:#33af7c73;--accent-soft:#33af7c1f;--success:#33af7c;--warning:#f5a524;--error:#ef5b54}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);background:radial-gradient(110% 55% at 50% -10%, #33af7c12, transparent 60%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;background-attachment:fixed;min-height:100vh;line-height:1.55}::selection{color:#fff;background:#33af7c4d}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a padding-box padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#fff3 padding-box padding-box}.hero-banner{background:radial-gradient(120% 80% at 50% -20%, #33af7c1a, transparent 55%), linear-gradient(180deg, #0e1318 0%, var(--bg) 100%);border-bottom:1px solid var(--border);width:100%;padding:52px 22px 40px;position:relative;overflow:hidden}.hero-banner:before{content:"";opacity:.55;pointer-events:none;background-image:radial-gradient(circle,#ffffff0d 1px,#0000 1.4px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 90% at 50% 0,#000 0%,#0000 70%);mask-image:radial-gradient(120% 90% at 50% 0,#000 0%,#0000 70%)}.hero-banner:after{content:"";filter:blur(18px);pointer-events:none;background:radial-gradient(#33af7c38,#0000 70%);width:420px;height:280px;position:absolute;top:-130px;left:50%;transform:translate(-50%)}.hero-content{z-index:1;text-align:center;max-width:560px;margin:0 auto;position:relative}.hero-logo{filter:drop-shadow(0 2px 10px #33af7c40);width:auto;height:40px;margin:0 auto 22px;display:block}.hero-content h2{color:#f6f9fa;letter-spacing:-.01em;margin-bottom:10px;font-size:1.45rem;font-weight:700;line-height:1.25}.hero-content p{color:var(--text-dim);max-width:420px;margin:0 auto;font-size:.95rem;line-height:1.6}.detail-banner{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);border-radius:14px;margin-bottom:20px;padding:16px 20px}.detail-banner p{color:var(--text-dim);text-align:center;margin:0;font-size:.85rem;line-height:1.5}.app{max-width:760px;margin:0 auto;padding:28px 20px 56px}main{display:block}.create-form{gap:10px;margin-bottom:28px;display:flex}.create-form input{flex:1;min-width:0}input[type=text],input[type=file]{font-family:var(--sans);border:1px solid var(--border);color:var(--text);background:#ffffff0a;border-radius:12px;outline:none;padding:13px 15px;font-size:1rem;transition:border-color .2s,box-shadow .2s,background .2s}input[type=text]::placeholder{color:var(--text-faint)}input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), 0 0 18px -6px var(--accent-glow);background:#ffffff0f}button{font-family:var(--sans);background:linear-gradient(180deg, var(--accent-hover) 0%, var(--accent) 100%);color:#04140d;letter-spacing:.01em;cursor:pointer;box-shadow:0 6px 18px -8px var(--accent-glow), inset 0 1px 0 #ffffff47;border:1px solid #33af7c8c;border-radius:12px;padding:13px 22px;font-size:.95rem;font-weight:600;transition:transform .12s,box-shadow .25s,filter .2s}button:hover{filter:brightness(1.06);box-shadow:0 9px 26px -8px var(--accent-glow), inset 0 1px 0 #ffffff52}button:active{transform:translateY(1px)scale(.99)}button:focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;filter:none}.meeting-list{padding:0;list-style:none}.meeting-item{border:1px solid var(--border);cursor:pointer;-webkit-backdrop-filter:blur(10px);background:linear-gradient(#ffffff0b,#ffffff05);border-radius:16px;margin-bottom:12px;padding:16px 18px;transition:border-color .2s,transform .15s,box-shadow .25s,background .2s;box-shadow:0 1px 2px #0000004d,0 12px 30px -22px #000000e6}.meeting-item:hover{background:linear-gradient(#33af7c14,#ffffff05);border-color:#33af7c73;transform:translateY(-1px);box-shadow:0 1px 2px #0000004d,0 16px 36px -20px #000000e6}.meeting-item:active{transform:translateY(0)scale(.995)}.meeting-title{letter-spacing:-.005em;margin-bottom:8px;font-size:1rem;font-weight:600}.meeting-meta{align-items:center;gap:10px;display:flex}.badge{font-family:var(--mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff14;border-radius:6px;align-items:center;padding:3px 9px;font-size:.62rem;font-weight:600;display:inline-flex}.badge-completed{color:var(--accent-bright);background:#33af7c24;border-color:#33af7c4d}.badge-processing{color:#f8bf5e;background:#f5a52424;border-color:#f5a5244d}.badge-failed{color:#f48b86;background:#ef5b5424;border-color:#ef5b5452}.date{color:var(--text-dim);font-size:.78rem}.empty{color:var(--text-dim);text-align:center;border:1px dashed var(--border);border-radius:16px;padding:48px 20px;font-size:.95rem}.meeting-detail{padding-top:4px}.back-btn{color:var(--text-dim);border:1px solid var(--border);box-shadow:none;background:#ffffff08;margin-bottom:20px;padding:9px 16px;font-size:.85rem;font-weight:500}.back-btn:hover{filter:none;color:var(--text);border-color:var(--border-strong);box-shadow:none;background:#ffffff0f}.meeting-detail h2{letter-spacing:-.015em;margin:16px 0 12px;font-size:1.35rem;font-weight:700;line-height:1.3}.upload-form{margin-top:22px}.recording-active{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);background:linear-gradient(#ffffff0b,#ffffff05);border-radius:18px;flex-direction:column;align-items:center;gap:18px;margin-top:16px;padding:26px 24px;display:flex;box-shadow:0 1px 2px #0000004d,0 18px 40px -28px #000000e6}.recording-indicator{align-items:center;gap:12px;display:flex}.recording-dot{background:var(--error);border-radius:50%;flex-shrink:0;width:11px;height:11px;animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 0 4px #ef5b5424,0 0 12px #ef5b548c}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.18)}}.recording-timer{font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.04em;min-width:64px;font-size:1.6rem;font-weight:600}.waveform{justify-content:center;align-items:flex-end;gap:3px;width:100%;max-width:220px;height:50px;display:flex}.waveform-bar{background:linear-gradient(to top, var(--accent-deep), var(--accent-bright));will-change:height;border-radius:2px;width:4px;min-height:2px}.recording-ready{color:var(--accent-bright);margin-bottom:14px;font-size:.95rem;font-weight:600}.stop-btn{color:#fff;background:linear-gradient(#f4665e,#e0463d);border-color:#ef5b548c;box-shadow:0 6px 18px -8px #ef5b5480,inset 0 1px #ffffff38}.stop-btn:hover{filter:brightness(1.06);box-shadow:0 9px 26px -8px #ef5b5480,inset 0 1px #ffffff42}.recording-controls{gap:10px;width:100%;max-width:220px;margin-top:4px;display:flex}.recording-controls button{flex:1}.pause-btn{color:#2a1c05;background:linear-gradient(#f7b13f,#e0932a);border-color:#f5a5248c;box-shadow:0 6px 18px -8px #f5a52480,inset 0 1px #ffffff47}.pause-btn:hover{filter:brightness(1.06)}.resume-btn{background:linear-gradient(180deg, var(--accent-hover), var(--accent-deep));color:#04160f;border-color:#33af7c8c;box-shadow:0 6px 18px -8px #33af7c80,inset 0 1px #ffffff3d}.resume-btn:hover{filter:brightness(1.06)}.recording-dot.paused{background:var(--warning);animation:none;box-shadow:0 0 0 4px #f5a52429,0 0 12px #f5a52480}.pause-warning{color:#f7c877;text-align:center;background:#f5a5241f;border:1px solid #f5a52466;border-radius:12px;padding:10px 14px;font-size:.88rem;line-height:1.45;animation:1.4s ease-in-out infinite blink}.upload-actions{gap:10px;margin-top:14px;display:flex}.upload-actions button:last-child{color:var(--text-dim);border:1px solid var(--border);box-shadow:none;background:#ffffff0a}.upload-actions button:last-child:hover{filter:none;color:var(--text);border-color:var(--border-strong);box-shadow:none;background:#ffffff12}.progress-container{background:#ffffff0f;border-radius:999px;height:8px;margin:14px 0;position:relative;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--accent), var(--accent-bright));height:100%;box-shadow:0 0 12px -2px var(--accent-glow);border-radius:999px;transition:width .3s}.progress-text{color:#04140d;white-space:nowrap;font-size:.7rem;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.processing-indicator{text-align:center;margin-top:26px}.processing-bar{background:linear-gradient(90deg, #33af7c26, var(--accent-bright), #33af7c26);max-width:220px;height:3px;box-shadow:0 0 14px -2px var(--accent-glow);background-size:200% 100%;border-radius:999px;margin:0 auto;animation:2s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.processing-text{font-family:var(--mono);color:var(--warning);text-transform:uppercase;letter-spacing:.12em;margin-top:14px;font-size:.78rem;animation:1.5s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.error-toast{color:#f7b0ab;background:#ef5b541f;border:1px solid #ef5b5452;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:.9rem;line-height:1.5}.info-toast{color:#f7c877;background:#f5a5241f;border:1px solid #f5a52452;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:.9rem;line-height:1.5}.report{margin-top:24px}.report h3{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin:28px 0 10px;font-size:.72rem;font-weight:700}.report h3:first-child{margin-top:4px}.report p{color:var(--text);font-size:.92rem;line-height:1.7}.report>p{color:var(--text);font-size:1rem}.report ul{padding:0;list-style:none}.report li{color:var(--text);padding:7px 0 7px 22px;font-size:.92rem;line-height:1.6;position:relative}.report li:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px -1px var(--accent-glow);border-radius:50%;position:absolute;top:14px;left:2px}.participants{margin-top:10px}.participant{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);border-radius:14px;margin-bottom:10px;padding:14px 16px}.participant strong{color:var(--accent-bright);font-size:.92rem;font-weight:600}.participant p{color:var(--text-dim);margin-top:5px;font-size:.85rem;line-height:1.6}.participant ul{margin-top:8px}.participant li{font-size:.85rem}.loading{text-align:center;color:var(--text-dim);padding:40px 20px;font-size:.9rem}@media (width>=640px){.hero-banner{padding:72px 24px 56px}.hero-logo{height:48px;margin-bottom:26px}.hero-content h2{font-size:2rem}.hero-content p{font-size:1.05rem}.meeting-detail h2{font-size:1.6rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.login-form{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:14px;max-width:420px;margin:0 auto;padding:24px;display:flex}.login-label{color:var(--text,#eaeef1);font-size:1rem;font-weight:600}.login-hint{color:var(--text-dim,#9aa3ad);margin:0;font-size:.8rem}.user-bar{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.user-id{color:#57d39e;font-size:.9rem;font-weight:600}.logout-btn{color:var(--text-dim,#9aa3ad);background:0 0;border:1px solid #ffffff24;padding:6px 14px;font-size:.85rem}.logout-btn:hover{color:#f48b86;background:0 0;border-color:#ef5b54}.section-title{margin:8px 0 14px;font-size:1.1rem;font-weight:700}.owner-tag{color:#57d39e;background:#33af7c1f;border-radius:8px;padding:2px 8px;font-size:.75rem;font-weight:600}.update-banner{color:#57d39e;background:#33af7c1f;border:1px solid #33af7c66;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:.85rem;display:flex}.update-banner button{flex-shrink:0;padding:6px 16px;font-size:.85rem}.report-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.meeting-type{color:var(--accent-bright);background:#33af7c24;border:1px solid #33af7c59;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:600}.confidence{color:var(--text-dim);font-size:.8rem}.subhead{color:var(--text-dim);margin:8px 0 4px;font-size:.9rem}.quote{color:var(--text-dim);font-style:italic}.patient-block,.coach-block,.opps-block{border:1px solid var(--border);background:#ffffff08;border-radius:14px;margin-top:18px;padding:14px 16px}.coach-block{background:#33af7c0f;border-color:#33af7c40}.coach-section{margin-top:10px}.coach-section h4{margin:0 0 4px;font-size:.95rem}.coach-section.wins h4{color:var(--accent-bright)}.coach-section.growth h4{color:var(--warning)}.coach-section.try h4{color:var(--accent)}.opp{border:1px solid var(--border);background:#ffffff08;border-radius:12px;margin-top:12px;padding:12px 14px}.opp-title{color:var(--accent-bright);margin-bottom:4px;font-weight:700}.opp .how-to{margin-top:6px}.chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chip{border:1px solid var(--border);color:var(--text-dim);background:#ffffff0f;border-radius:999px;padding:2px 9px;font-size:.78rem}.media-bar-wrap{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.media-bar{justify-content:center;gap:.75rem;display:flex}.media-icon{border:1px solid var(--border-strong);background:var(--surface);width:46px;height:46px;color:var(--text-dim);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.media-icon:hover{color:var(--text);border-color:var(--accent)}.media-icon.active{color:var(--accent-bright);border-color:var(--accent);background:var(--accent-soft)}.media-panel{margin-top:1rem}.audio-player{border-radius:10px;width:100%;height:40px}.media-hint{text-align:center;color:var(--text-dim);padding:.75rem;font-size:.9rem}.media-hint.error{color:var(--error)}.transcript{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:.6rem;max-height:420px;padding:.9rem 1rem;display:flex;overflow-y:auto}.transcript-line{flex-direction:column;gap:.15rem;display:flex}.transcript-speaker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:.72rem}.transcript-text{color:var(--text)}
