:root{--bg: #faf7f2;--bg-raised: #fffdf9;--ink: #1c1917;--ink-soft: #57534e;--muted: #8a8177;--accent: #b4530a;--accent-soft: #f3e3d3;--border: #e7e0d5;--border-strong: #d6ccbc;--danger: #b3261e;--shadow: 0 1px 2px rgb(28 25 23 / .05), 0 4px 16px rgb(28 25 23 / .06);--serif: Georgia, "Iowan Old Style", "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,.brand{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}a{color:var(--accent)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:28px;padding:18px 32px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10}.brand{font-size:22px;color:var(--ink);text-decoration:none}.topnav{display:flex;gap:18px;flex:1}.topnav a{color:var(--ink-soft);text-decoration:none;font-size:15px;padding:4px 2px;border-bottom:2px solid transparent}.topnav a.active{color:var(--ink);border-bottom-color:var(--accent)}.content{flex:1;width:100%}.page{max-width:760px;margin:0 auto;padding:40px 24px 80px}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h1{margin:0;font-size:34px}.muted{color:var(--muted)}.error-text{color:var(--danger);margin:10px 0}.btn{font-family:var(--sans);font-size:14.5px;font-weight:500;padding:9px 16px;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease,opacity .12s ease;white-space:nowrap}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-primary:not(:disabled):hover{background:#9a4708}.btn-secondary{background:var(--bg-raised);color:var(--ink);border-color:var(--border-strong)}.btn-secondary:not(:disabled):hover{background:var(--accent-soft);border-color:var(--accent)}.btn-ghost{background:transparent;color:var(--ink-soft)}.btn-ghost:hover{color:var(--ink);background:var(--accent-soft)}.btn-block{width:100%}.icon-btn{background:transparent;border:none;font-size:15px;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:6px}.icon-btn:hover{color:var(--ink);background:var(--accent-soft)}.text-input{width:100%;font-family:var(--sans);font-size:15.5px;padding:11px 14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-raised);color:var(--ink);outline:none}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b4530a1f}.field-label{display:block;font-size:13.5px;font-weight:600;color:var(--ink-soft);margin:14px 0 6px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:360px;background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;padding:36px 32px;box-shadow:var(--shadow);text-align:left}.login-brand{margin:0;font-size:34px;text-align:center}.login-sub{margin:6px 0 18px;text-align:center;color:var(--muted);font-size:14.5px}.login-card .btn-primary{margin-top:18px}.search-input{margin-bottom:28px}.note-group{margin-bottom:30px}.group-label{font-size:15px;color:var(--muted);font-weight:500;margin:0 0 10px;text-transform:none}.card-list{display:flex;flex-direction:column;gap:10px}.note-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:15px 18px;text-decoration:none;color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.note-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.note-card-main{display:flex;flex-direction:column;gap:3px;min-width:0}.note-card-title{font-family:var(--serif);font-size:17.5px;font-weight:600}.note-card-attendees,.note-card-snippet{font-size:13.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:520px}.note-card-meta{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:13.5px}.pill{font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 10px}.empty-state{text-align:center;padding:56px 20px;border:1px dashed var(--border-strong);border-radius:14px;margin-top:8px}.empty-state h2{margin:0 0 6px;font-size:21px}.empty-state .btn{margin-top:14px}.detail-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.back-link{color:var(--muted);text-decoration:none;font-size:14.5px}.back-link:hover{color:var(--accent)}.save-indicator{font-size:13px;color:var(--muted)}.save-indicator.save-error{color:var(--danger)}.title-input{width:100%;font-family:var(--serif);font-size:32px;font-weight:600;letter-spacing:-.01em;border:none;background:transparent;color:var(--ink);outline:none;padding:0;margin:0 0 4px}.title-input::placeholder{color:var(--border-strong)}.detail-meta{font-size:14px;margin-bottom:20px}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.share-banner{display:flex;align-items:center;gap:12px;background:var(--accent-soft);border:1px solid var(--border-strong);border-radius:10px;padding:10px 14px;margin-bottom:14px}.share-url{font-family:var(--mono);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:18px 0 24px}.tab{background:transparent;border:none;font-family:var(--sans);font-size:15px;color:var(--muted);padding:9px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}.tab-panel{min-height:200px}.raw-editor{width:100%;min-height:420px;resize:vertical;font-family:var(--mono);font-size:14.5px;line-height:1.65;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--bg-raised);color:var(--ink);outline:none}.raw-editor:focus{border-color:var(--accent)}.markdown{font-size:16px;line-height:1.7}.markdown h1,.markdown h2,.markdown h3,.markdown h4{font-family:var(--serif);letter-spacing:-.01em;margin:1.4em 0 .5em}.markdown h1:first-child,.markdown h2:first-child,.markdown h3:first-child{margin-top:0}.markdown h1{font-size:26px}.markdown h2{font-size:21px}.markdown h3{font-size:18px}.markdown ul,.markdown ol{padding-left:24px}.markdown li{margin:4px 0}.markdown blockquote{border-left:3px solid var(--accent);margin:12px 0;padding:2px 16px;color:var(--ink-soft)}.markdown code{font-family:var(--mono);font-size:.88em;background:var(--accent-soft);border-radius:4px;padding:1px 5px}.markdown pre{background:#f1ece2;border:1px solid var(--border);border-radius:10px;padding:14px 16px;overflow-x:auto}.markdown pre code{background:none;padding:0}.markdown table{border-collapse:collapse;margin:12px 0}.markdown th,.markdown td{border:1px solid var(--border-strong);padding:6px 12px;text-align:left}.markdown hr{border:none;border-top:1px solid var(--border);margin:24px 0}.action-items{margin-top:32px;border-top:1px solid var(--border);padding-top:20px}.action-items h3{margin:0 0 10px;font-size:18px}.action-items ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.action{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:7px 10px;border-radius:8px}.action:hover{background:var(--accent-soft)}.action input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;margin-top:3px;flex-shrink:0;cursor:pointer}.action.done span{text-decoration:line-through;color:var(--muted)}.transcript{display:flex;flex-direction:column;gap:12px}.bubble-row{display:flex}.bubble-row.speaker-me{justify-content:flex-end}.bubble{max-width:78%;background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;padding:10px 14px}.speaker-me .bubble{background:var(--accent-soft);border-color:var(--border-strong)}.bubble-head{display:flex;gap:10px;align-items:baseline;margin-bottom:2px}.bubble-speaker{font-size:12.5px;font-weight:700;color:var(--accent)}.speaker-unknown .bubble-speaker{color:var(--muted)}.bubble-time{font-size:11.5px;color:var(--muted);font-family:var(--mono)}.bubble p{margin:0;font-size:15px}.chat-page{display:flex;flex-direction:column;min-height:calc(100vh - 140px)}.chat-hint{margin:-8px 0 20px;font-size:14px}.chat-thread{flex:1;display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.chat-msg{max-width:82%;border-radius:14px;padding:12px 16px}.chat-user{align-self:flex-end;background:var(--accent);color:#fff}.chat-user-text{margin:0;white-space:pre-wrap}.chat-assistant{align-self:flex-start;background:var(--bg-raised);border:1px solid var(--border)}.chat-pending{color:var(--muted);font-style:italic}.chat-sources{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:13px}.source-chip{background:var(--accent-soft);color:var(--accent);text-decoration:none;font-weight:600;border-radius:999px;padding:3px 12px;font-size:12.5px}.source-chip:hover{text-decoration:underline}.chat-composer{display:flex;gap:10px;position:sticky;bottom:0;background:var(--bg);padding:12px 0 4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c191766;display:grid;place-items:center;padding:24px;z-index:50}.modal{width:100%;max-width:620px;max-height:84vh;display:flex;flex-direction:column;background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:19px}.modal-body{padding:18px 20px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.email-draft{font-family:var(--mono);font-size:13.5px;line-height:1.65;white-space:pre-wrap;word-wrap:break-word;margin:0;background:#f1ece2;border:1px solid var(--border);border-radius:10px;padding:16px}@media (max-width: 560px){.topbar{padding:14px 18px;gap:16px}.page{padding:26px 16px 60px}.page-head h1{font-size:28px}.title-input{font-size:26px}.note-card-attendees,.note-card-snippet{max-width:200px}}
