@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500&family=Inter:wght@400;500&display=swap";:root{--olive-dark:#2e2b1e;--olive:#4e4b30;--olive-card:#5c5936;--cream:#f3ecdd;--cream-card:#fff;--graph-dark:#241a12;--orange:#d97a34;--orange-glow:#d97a3466;--sage:#8a9464;--sage-glow:#8a946459;--text-on-dark:#f0ead6;--text-on-cream:#2b2417;--text-muted-dark:#b8b296;--text-muted-cream:#8a8371;--danger:#c24c3b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text-on-cream);background:var(--cream);font-family:Inter,sans-serif}.wordmark{font-family:Fraunces,serif;font-weight:500}input,button,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}.centered-screen{background:var(--olive-dark);height:100%;color:var(--text-on-dark);justify-content:center;align-items:center;display:flex}.signin-card{flex-direction:column;gap:16px;width:min(360px,88vw);display:flex}.signin-card .wordmark{margin:0;font-size:26px}.signin-card .tagline{color:var(--text-muted-dark);margin:-8px 0 4px;font-size:14px;line-height:1.5}.signin-card input[type=email]{background:var(--olive);color:var(--text-on-dark);border:1px solid #ffffff1a;border-radius:10px;padding:12px 14px}.signin-card input[type=email]::placeholder{color:var(--text-muted-dark)}.signin-card input[type=email]:focus{border-color:var(--orange);outline:none}.signin-card button{background:var(--orange);color:#fff6ec;border:none;border-radius:10px;padding:12px 14px;font-weight:500}.signin-card .error{color:#f0a695;margin:0;font-size:13px}.signin-card .confirmation{color:var(--text-muted-dark);font-size:14px;line-height:1.6}.app-root{flex-direction:column;height:100%;display:flex}.app-shell{flex:1;min-height:0;display:flex;overflow:hidden}.folder-bar{background:var(--olive-dark);border-bottom:1px solid #ffffff14;flex-shrink:0;padding:10px 20px}.folder-bar-error{margin:0 0 6px;font-size:12px}.folder-bar-row{align-items:center;gap:6px;display:flex;overflow-x:auto}.folder-pill{background:var(--olive);color:var(--text-muted-dark);white-space:nowrap;border:1px solid #ffffff14;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.folder-pill.active{background:var(--orange);border-color:var(--orange);color:#fff6ec}.folder-pill-count{opacity:.75;font-size:10px}.folder-pill-delete{opacity:.6;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:12px;line-height:1;display:flex}.folder-pill-delete:hover{opacity:1;background:#0003}.folder-pill.new-folder{color:var(--text-muted-dark);background:0 0;border-style:dashed}.folder-create-form{flex-shrink:0}.folder-create-input{background:var(--olive);border:1px solid var(--orange);color:var(--text-on-dark);border-radius:999px;width:140px;padding:6px 12px;font-size:12px}.saving-status{color:var(--text-muted-dark,#8a8a7a);align-items:center;gap:8px;margin:0 0 8px;font-size:12px;display:flex}.saving-spinner{border:2px solid #00000026;border-top-color:var(--orange,#d97b3f);border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite saving-spin}@keyframes saving-spin{to{transform:rotate(360deg)}}.folder-rename-input{background:var(--olive);border:1px solid var(--orange);color:var(--text-on-dark);width:120px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.panel-hint{color:var(--text-muted-dark);font-size:13px;line-height:1.6}.panel-hint.dark{color:var(--text-muted-cream)}.panel-hint.error,.error,.error.dark{color:var(--danger)}.signout-link{color:var(--text-muted-dark);background:0 0;border:none;padding:4px 0;font-size:12px}.signout-link:hover{color:var(--text-on-dark)}.left-panel{background:var(--olive-dark);max-width:min(480px,30vw);color:var(--text-on-dark);flex-direction:column;flex-shrink:0;padding:24px 20px;display:flex}.left-panel .header{font-size:19px}.item-list{flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.item-card{background:var(--olive-card);border-radius:12px;padding:14px 16px}.item-card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.item-card-header .title{flex:1}.item-card-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.explain-button{opacity:.85;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.explain-button:hover{opacity:1}.explain-button:disabled{opacity:.4}.delete-button{color:var(--text-muted-dark);background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.delete-button:hover{color:var(--danger)}.edit-button{color:var(--text-muted-dark);opacity:.85;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:13px;line-height:1}.edit-button:hover{opacity:1;color:var(--orange)}.item-edit-input{max-height:240px;margin-bottom:8px}.item-edit-actions{justify-content:flex-end;gap:8px}.item-edit-actions button{background:var(--olive);color:var(--text-on-dark);border:1px solid #ffffff1a;border-radius:6px;padding:4px 10px;font-size:12px}.item-edit-actions button:first-child{background:var(--orange);color:var(--bg-dark,#1a1a1a);border-color:#0000}.item-card .title{margin:0 0 2px;font-size:14px;font-weight:500;line-height:1.4}.item-card .time{color:var(--text-muted-dark);margin:0 0 10px;font-size:12px}.tag{color:#d3d8b8;background:#8a94644d;border-radius:999px;margin:0 5px 5px 0;padding:3px 9px;font-size:11px;display:inline-block}.tag.orange{color:#f0c08e;background:#d97a3447}.extracted-data{color:var(--text-muted-dark);margin:0 0 10px;font-size:12px}.extracted-fields{flex-direction:column;gap:2px;margin:0 0 8px;display:flex}.extracted-field{gap:6px;display:flex}.extracted-field dt{color:#d3d8b8;font-weight:500}.extracted-field dd{margin:0}.extracted-line-items{border-collapse:collapse;width:100%;margin:0 0 8px}.extracted-line-items td{border-bottom:1px solid #d3d8b81f;padding:2px 6px 2px 0}.extracted-figures{margin:0 0 8px;padding-left:16px}.extracted-video-link{color:var(--orange);margin-bottom:6px;font-size:11px;display:inline-block}.resurface-card{background:#d97a341f;border:1px solid #d97a344d;border-radius:10px;margin-bottom:10px;padding:10px 12px}.resurface-card-header{justify-content:space-between;align-items:center;display:flex}.resurface-card-label{text-transform:uppercase;letter-spacing:.04em;color:var(--orange);font-size:11px;font-weight:600}.resurface-card-title{text-align:left;width:100%;color:var(--text-on-dark);background:0 0;border:none;padding:4px 0 0;font-size:13px;font-weight:500;line-height:1.4;display:block}.view-tabs{gap:4px;margin-bottom:10px;display:flex}.view-tab{background:var(--olive);color:var(--text-muted-dark);border:1px solid #ffffff14;border-radius:8px;flex:1;padding:6px 0;font-size:12px}.view-tab.active{background:var(--orange);border-color:var(--orange);color:#fff6ec}.type-filters{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.type-filter-chip{color:var(--text-muted-dark);background:0 0;border:1px solid #ffffff1f;border-radius:999px;padding:3px 10px;font-size:11px}.type-filter-chip.active{border-color:var(--orange);color:#f0c08e;background:#d97a3433}.items-table{border-collapse:collapse;width:100%;font-size:12px}.items-table th{text-align:left;color:var(--text-muted-dark);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:6px 8px;font-weight:500}.items-table td{vertical-align:middle;border-top:1px solid #ffffff0f;padding:8px}.items-table tr:hover td{background:#ffffff08}.calendar-view{flex-direction:column;gap:10px;display:flex}.calendar-nav{justify-content:space-between;align-items:center;font-size:13px;font-weight:500;display:flex}.calendar-nav-button{background:var(--olive);width:26px;height:26px;color:var(--text-on-dark);border:1px solid #ffffff14;border-radius:6px;font-size:15px;line-height:1}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.calendar-weekday{text-align:center;color:var(--text-muted-dark);padding-bottom:2px;font-size:10px}.calendar-cell{aspect-ratio:1;background:var(--olive);color:var(--text-on-dark);border:none;border-radius:6px;justify-content:center;align-items:center;font-size:12px;display:flex;position:relative}.calendar-cell.empty{background:0 0}.calendar-cell.has-items{background:var(--olive-card);font-weight:500}.calendar-cell.selected{outline:2px solid var(--orange)}.calendar-dot{background:var(--orange);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px}.calendar-day-items{border-top:1px solid #ffffff14;flex-direction:column;gap:8px;padding-top:4px;display:flex}.save-form{margin-top:16px}.save-form .error{margin:0 0 8px;font-size:12px}.save-input{background:var(--olive);width:100%;color:var(--text-on-dark);resize:none;border:1px solid #ffffff14;border-radius:10px;max-height:160px;padding:12px 14px;font-family:inherit;font-size:13px;line-height:1.4;overflow-y:auto}.save-input::placeholder{color:var(--text-muted-dark)}.save-input:focus{border-color:var(--orange);outline:none}.save-folder-select{background:var(--olive);max-width:110px;color:var(--text-muted-dark);border:1px solid #ffffff14;border-radius:10px;flex-shrink:0;padding:8px 6px;font-size:12px}.item-folder-select{background:var(--olive);color:var(--text-muted-dark);border:1px solid #ffffff1a;border-radius:6px;margin-top:8px;padding:3px 6px;font-size:11px}.save-row{align-items:flex-end;gap:8px;display:flex}.save-row .save-input{flex:1}.icon-button{background:var(--olive);width:34px;height:34px;color:var(--text-muted-dark);border:1px solid #ffffff14;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-button:hover{color:var(--text-on-dark);border-color:var(--orange)}.upload-menu-wrapper{flex-shrink:0;position:relative}.upload-menu{background:var(--olive-card);z-index:10;border:1px solid #ffffff1a;border-radius:10px;min-width:180px;padding:6px;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 8px 24px #00000059}.upload-menu button{text-align:left;width:100%;color:var(--text-on-dark);background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13px;display:block}.upload-menu button:hover{background:#ffffff0f}.recording-bar{background:var(--olive);border:1px solid #d97a3466;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.recording-dot{background:var(--danger);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.4s ease-in-out infinite recording-pulse}@keyframes recording-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.recording-time{color:var(--text-on-dark);flex:1;font-size:13px}.stop-button{background:var(--orange);color:#fff6ec;border:none;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:500}.middle-panel{background:var(--cream);color:var(--text-on-cream);flex-direction:column;flex:1;min-width:0;padding:24px 32px;display:flex}.middle-panel .header{margin-bottom:20px;font-size:19px}.chat{flex-direction:column;flex:1;gap:14px;display:flex;overflow-y:auto}.bubble{border-radius:14px;max-width:78%;padding:12px 16px;font-size:14px;line-height:1.55}.bubble.user{background:var(--orange);color:#fff6ec;align-self:flex-end}.bubble.answer{background:var(--cream-card);border:1px solid #2b241714;align-self:flex-start}.bubble.answer p{margin:0 0 8px}.bubble.answer p:last-child{margin-bottom:0}.bubble.answer ul,.bubble.answer ol{margin:4px 0 8px;padding-left:20px}.bubble.answer li{margin-bottom:2px}.bubble.answer strong{color:var(--text-on-cream);font-weight:600}.chat-generated-image{border-radius:10px;max-width:100%;margin-top:8px;display:block}.citation-row{border-top:1px solid #2b241714;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:8px;display:flex}.citation-chip{text-overflow:ellipsis;white-space:nowrap;background:var(--cream);max-width:100%;color:var(--text-muted-cream);border:1px solid #2b24171f;border-radius:999px;padding:3px 10px;font-size:11px;overflow:hidden}.citation-chip:hover{color:var(--text-on-cream);border-color:var(--orange)}.citation-chip.web{color:#2b648c;background:#2b648c14;border-color:#2b648c40;text-decoration:none;display:inline-block}.citation-chip.web:hover{color:#1d4a68;border-color:#2b648c}.not-from-notes-badge{text-transform:uppercase;letter-spacing:.04em;color:#a85a1e;background:#d97a341f;border:1px solid #d97a344d;border-radius:6px;margin-bottom:8px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-block}.chat-form{margin-top:16px}.chat-form .error{margin:0 0 8px;font-size:12px}.chat-input{background:var(--cream-card);width:100%;color:var(--text-on-cream);border:1px solid #2b24171a;border-radius:999px;padding:13px 20px;font-size:14px}.chat-input::placeholder{color:var(--text-muted-cream)}.chat-input:focus{border-color:var(--orange);outline:none}.chat-row{align-items:center;gap:8px;display:flex}.chat-row .chat-input{flex:1}.chat-mic-button{background:var(--cream-card);width:34px;height:34px;color:var(--text-muted-cream);border:1px solid #2b24171a;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-mic-button:hover{color:var(--text-on-cream);border-color:var(--orange)}.attached-image-preview{margin-bottom:8px;display:inline-block;position:relative}.attached-image-preview img{object-fit:cover;border-radius:8px;width:64px;height:64px;display:block}.attached-image-remove{background:var(--olive-dark);width:18px;height:18px;color:var(--text-on-dark);border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;font-size:12px;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.chat-recording-bar{background:var(--cream-card);border:1px solid #d97a3466;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;display:flex}.chat-recording-bar .recording-time{color:var(--text-on-cream)}.right-panel{background:var(--graph-dark);max-width:min(720px,42vw);color:var(--text-on-dark);flex-direction:column;flex-shrink:0;padding:24px 20px;display:flex}.right-panel .header{margin-bottom:4px;font-size:19px}.subheader{color:var(--text-muted-dark);margin-bottom:10px;font-size:12px}.graph-canvas{flex:1;min-height:0;position:relative}.resize-handle{cursor:col-resize;background:0 0;flex-shrink:0;width:6px;position:relative}.resize-handle:after{content:"";background:#ffffff14;border-radius:1px;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:2px}.resize-handle:hover:after,.resize-handle:active:after{background:var(--orange)}.header-title{align-items:baseline;gap:8px;display:flex}.palette-hint kbd{color:var(--text-muted-dark);background:var(--olive);border:1px solid #ffffff1a;border-radius:5px;padding:2px 5px;font-family:inherit;font-size:10px}.item-card-flash{animation:1.2s ease-out item-card-flash-pulse}@keyframes item-card-flash-pulse{0%{box-shadow:0 0 0 2px var(--orange)}to{box-shadow:0 0 0 2px #0000}}.command-palette-overlay{z-index:100;background:#00000080;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.command-palette{background:var(--cream);width:min(560px,90vw);max-height:60vh;color:var(--text-on-cream);border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 20px 60px #0006}.command-palette-input-row{color:var(--text-muted-cream);border-bottom:1px solid #2b24171a;align-items:center;gap:10px;padding:16px 18px;display:flex}.command-palette-input{color:var(--text-on-cream);background:0 0;border:none;flex:1;font-size:15px}.command-palette-input:focus{outline:none}.command-palette-kbd{color:var(--text-muted-cream);background:var(--cream-card);border:1px solid #2b241726;border-radius:5px;padding:2px 6px;font-family:inherit;font-size:11px}.command-palette-results{padding:8px;overflow-y:auto}.command-palette-group{margin-bottom:8px}.command-palette-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted-cream);margin:6px 10px;font-size:11px}.command-palette-result{text-align:left;width:100%;color:var(--text-on-cream);background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.command-palette-result.selected{background:var(--cream-card)}.command-palette-hint{color:var(--text-muted-cream);flex-shrink:0;font-size:12px}.command-palette-empty{color:var(--text-muted-cream);text-align:center;padding:16px;font-size:13px}.explainer-overlay{z-index:100;background:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.explainer-player{background:var(--olive-dark);width:min(560px,100%);color:var(--text-on-dark);border-radius:16px;flex-direction:column;gap:12px;padding:18px;display:flex;box-shadow:0 20px 60px #00000080}.explainer-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.explainer-title{font-family:Fraunces,serif;font-size:16px}.explainer-header .delete-button{color:var(--text-on-dark);font-size:20px}.explainer-stage{aspect-ratio:16/10;background:var(--olive);border-radius:10px;width:100%;overflow:hidden}.explainer-image{object-fit:cover;width:100%;height:100%;display:block}.explainer-image-placeholder{background:var(--olive);width:100%;height:100%}.explainer-caption{color:var(--text-on-dark);min-height:3em;font-size:14px;line-height:1.5}.explainer-controls{justify-content:center;align-items:center;gap:12px;display:flex}.explainer-nav-button,.explainer-play-button{background:var(--olive);color:var(--text-on-dark);border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:flex}.explainer-play-button{background:var(--orange);border-color:var(--orange);color:#fff6ec}.explainer-nav-button:disabled{opacity:.35}.explainer-progress{color:var(--text-muted-dark);margin-left:6px;font-size:12px}@media (width<=768px){.app-shell{flex-direction:column;height:auto;min-height:100%;overflow:hidden auto}.left-panel,.middle-panel,.right-panel{width:100%!important;max-width:100%!important}.left-panel{min-height:55vh}.middle-panel{min-height:65vh}.right-panel{min-height:75vh}.resize-handle{display:none}}
