.recorder{width:100%;max-width:32rem;margin-inline:auto}.recorder-panel{border:1px solid var(--border);border-radius:1.25rem;padding:1.5rem;background:#fff;box-shadow:0 10px 30px #0f172a0a}.recorder-status{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.indicator{width:1rem;height:1rem;border-radius:999px;flex-shrink:0}.indicator.amber{background:#f59e0b;box-shadow:0 0 0 6px #f59e0b26;animation:pulse 1.4s ease-in-out infinite}.indicator.white{background:#fff;border:2px solid #d0d5dd;box-shadow:0 0 0 6px #0f172a0a}.indicator.idle{background:#e5e7eb}.recorder-label{margin:0;color:var(--muted);font-size:.9rem}.recorder-time{margin:.15rem 0 0;font-family:var(--serif);font-size:2rem;letter-spacing:-.03em}.recorder-actions{display:flex;flex-wrap:wrap;gap:.75rem}.recorder-actions .btn{flex:1 1 auto;min-width:min(100%,9rem)}@media(max-width:480px){.recorder-actions .btn{flex:1 1 100%;width:100%}}.recorder-hint{margin:1rem 0 0;color:var(--muted);font-size:.85rem}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.library{width:100%;max-width:960px;margin-top:1.5rem;margin-inline:auto}.library-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.library-header h2{margin:0;font-family:var(--serif);font-size:1.6rem;letter-spacing:-.02em}.library-header p,.muted{margin:0;color:var(--muted)}.library-layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:1.25rem;align-items:start}.library-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.library-item{width:100%;text-align:left;border:1px solid transparent;background:#ffffff8c;border-radius:12px;padding:.85rem 1rem;min-height:var(--tap-min);cursor:pointer;display:grid;gap:.25rem}.library-item:hover,.library-item.active{border-color:#2563eb59;background:#fff}.library-title{font-weight:600;color:var(--ink);overflow-wrap:anywhere}.library-meta{font-size:.85rem;color:var(--muted);text-transform:lowercase}.transcript-pane{min-height:12rem;background:#ffffffb3;border-radius:16px;padding:1.25rem;display:grid;gap:.85rem}.transcript-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.library-back{justify-self:start;margin-bottom:.25rem;padding-inline:.85rem}.transcript-status{margin:0;font-size:.9rem;color:var(--blue);font-weight:600;text-transform:lowercase}.btn.danger{color:#b42318;border-color:#b4231859}.btn.danger:hover{background:#b423180f}.playback{width:100%}.insights{display:grid;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(15,23,42,.08)}.insights-block h3{margin:0 0 .4rem;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.insights-block p{margin:0;line-height:1.55;color:var(--ink)}.action-list,.mind-nodes{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.action-list li,.mind-nodes li{display:flex;justify-content:space-between;gap:.75rem;line-height:1.4;color:var(--ink);flex-wrap:wrap}.action-list time{color:var(--muted);font-size:.85rem;white-space:nowrap}.transcript{display:grid;gap:1rem;max-height:min(28rem,55dvh);overflow:auto;-webkit-overflow-scrolling:touch}.transcript-segment header{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--muted);margin-bottom:.35rem}.transcript-segment p{margin:0;line-height:1.55;color:var(--ink)}@media(max-width:720px){.library-layout{grid-template-columns:1fr}.library-header h2{font-size:1.35rem}.transcript-pane{min-height:auto}}.library-search{width:100%;max-width:960px;margin-inline:auto;padding:1.25rem;border:1px solid var(--border);border-radius:1rem;background:#fff}.card-wide{width:100%}.library-search-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.library-search-header h2{margin:0;font-family:var(--serif);font-size:1.35rem}.library-search-tabs{display:flex;gap:.35rem}.library-search-tabs .tab{border:1px solid var(--border);background:transparent;border-radius:999px;padding:.45rem .85rem;min-height:var(--tap-min);cursor:pointer}.library-search-tabs .tab.active{border-color:#2563eb73;background:#2563eb14;font-weight:600}.library-search-hint{margin:.5rem 0 0;color:var(--muted);font-size:.9rem}.library-search-form{display:flex;gap:.65rem;margin-top:1rem;flex-wrap:wrap}.library-search-form input{flex:1 1 12rem;min-height:var(--tap-min);border:1px solid var(--border);border-radius:.65rem;padding:.65rem .8rem;font-size:1rem}.ask-result h3,.ask-result h4{margin:1rem 0 .35rem;font-size:.95rem}.ask-result p{margin:0;line-height:1.55}.search-hits{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.65rem}.search-hit{width:100%;text-align:left;border:1px solid var(--border);border-radius:.75rem;padding:.75rem .85rem;background:var(--surface);cursor:pointer}.search-hit strong{display:inline-block;margin-right:.5rem}.search-hit span{color:var(--muted);font-size:.85rem}.search-hit p{margin:.35rem 0 0;line-height:1.45;color:var(--ink)}.insights-failed{color:#b42318;font-size:.95rem}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:calc(.75rem + var(--page-pad-top)) max(1rem,var(--page-pad-x)) .75rem;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{font-family:var(--serif);font-size:clamp(1.25rem,4vw,1.5rem);font-weight:600;letter-spacing:-.02em}.auth{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.username{color:var(--muted);font-size:.875rem;max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{border:0;border-radius:999px;padding:.65rem 1.1rem;min-height:var(--tap-min);cursor:pointer}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-hover)}.btn.primary:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--border)}.main{flex:1;display:grid;place-items:center;align-content:start;padding:1.25rem max(1rem,var(--page-pad-x)) calc(1.5rem + var(--page-pad-bottom));background:radial-gradient(circle at top right,rgba(37,99,235,.08),transparent 40%),var(--bg);width:100%}.hero{max-width:36rem;text-align:center}.hero h1{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);margin:0 0 .75rem;letter-spacing:-.03em}.hero p{margin:0;color:var(--muted);line-height:1.5}.home{width:min(100%,60rem);display:grid;gap:1.25rem;justify-items:stretch}.home-intro{text-align:center}.home-intro h1{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.4rem);margin:0 0 .4rem;letter-spacing:-.03em}.home-intro p{margin:0;color:var(--muted)}.card{width:min(100%,24rem);margin-inline:auto;padding:1.75rem;border:1px solid var(--border);border-radius:1rem;background:#fff;text-align:left}.card h1,.card p{text-align:center}.login-form{display:grid;gap:.9rem;margin-top:1.25rem}.login-form label{display:grid;gap:.35rem;font-size:.9rem;color:var(--muted)}.login-form input{border:1px solid var(--border);border-radius:.65rem;padding:.75rem .85rem;font:inherit;font-size:1rem;color:var(--ink);width:100%;min-height:var(--tap-min)}.login-form .btn{width:100%;margin-top:.25rem}.error{color:#b42318;margin:0;font-size:.9rem}.hint{margin-top:1rem!important;font-size:.85rem}.hint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--surface);padding:.1rem .35rem;border-radius:.3rem}.status{margin-top:1.25rem!important;font-size:.95rem}:root{--bg: #ffffff;--ink: #111111;--muted: #667085;--border: #e5e7eb;--blue: #2563eb;--blue-hover: #1d4ed8;--surface: #f8fafc;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: "Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif;--tap-min: 2.75rem;--page-pad-x: max(1rem, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));--page-pad-top: max(0px, env(safe-area-inset-top, 0px));--page-pad-bottom: max(1rem, env(safe-area-inset-bottom, 0px))}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{margin:0;min-height:100%;min-height:100dvh}body{font-family:var(--sans);color:var(--ink);background:var(--bg);overflow-x:hidden}button{font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}input,textarea,select{font:inherit;font-size:1rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
