:root{color-scheme:light;--color-bg: #fafafa;--color-surface: #ffffff;--color-text: #1c1c1e;--color-muted: #888888;--color-border: #e5e5e5;--color-accent: #2f6fed;--color-accent-hover: #2559c9;--color-error: #d64545;--color-error-hover: #b93939;--color-warn: #c8891f;--color-ok: #2f9e5b;--color-on-accent: #fff;--color-on-error: #fff}:root[data-theme=dark]{color-scheme:dark;--color-bg: #1e1e1e;--color-surface: #252526;--color-text: #d4d4d4;--color-muted: #9a9a9a;--color-border: #3c3c3c;--color-accent: #4a9eff;--color-accent-hover: #6cb6ff;--color-error: #f14c4c;--color-error-hover: #ff6b6b;--color-warn: #dcb67a;--color-ok: #4ec9b0;--color-on-accent: #0d1117;--color-on-error: #1e1e1e}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}.app-shell{display:flex;height:100vh;height:100dvh}.app{display:flex;flex-direction:column;flex:1;min-width:0;height:100%}.sidebar{flex:0 0 260px;max-width:80vw;overflow-y:auto;background:var(--color-surface);border-right:1px solid var(--color-border);padding:1rem;display:flex;flex-direction:column;gap:1rem;transition:flex-basis .18s ease,width .18s ease,padding .18s ease}.sidebar.sidebar-collapsed{flex:0 0 44px;max-width:44px;width:44px;overflow:visible;padding:.75rem .5rem;align-items:center}.sidebar-top-controls{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.sidebar-collapse-toggle{border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);width:2rem;height:2rem;font-size:.9rem;line-height:1;cursor:pointer;opacity:.85;transition:opacity .15s ease,background-color .15s ease}.sidebar-collapse-toggle:hover{opacity:1;background:var(--color-border)}.theme-toggle-btn{border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);width:2rem;height:2rem;font-size:1rem;line-height:1;cursor:pointer;opacity:.85;transition:opacity .15s ease,background-color .15s ease}.theme-toggle-btn:hover{opacity:1;background:var(--color-border)}.sidebar-section{display:flex;flex-direction:column;gap:.5rem}.sidebar-heading{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin:0}.sidebar-muted{color:var(--color-muted);font-size:.9rem;font-style:italic;margin:0}.sidebar-error{color:var(--color-error);font-size:.85rem;margin:0}.class-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.class-item{width:100%;text-align:left;border:none;border-radius:6px;background:transparent;color:var(--color-text);padding:.45rem .6rem;font-size:.92rem;cursor:pointer;transition:background-color .15s ease}.class-item:hover:not(:disabled){background:var(--color-bg)}.class-item.selected{background:var(--color-accent);color:var(--color-on-accent)}.class-item:disabled{opacity:.6;cursor:default}.new-class-form{display:flex;gap:.4rem;margin-top:.25rem}.new-class-input{flex:1;min-width:0;border:1px solid var(--color-border);border-radius:6px;padding:.4rem .55rem;font-size:.88rem;color:var(--color-text);background:var(--color-surface)}.new-class-submit{padding:.4rem .7rem;font-size:.82rem;background:var(--color-accent);color:var(--color-on-accent);white-space:nowrap}.new-class-submit:hover:not(:disabled){background:var(--color-accent-hover)}.entry-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.entry-row{display:flex;align-items:center;gap:.25rem}.entry-item{display:flex;flex-direction:column;gap:.1rem;flex:1;width:100%;text-align:left;border:none;border-radius:6px;background:var(--color-bg);padding:.4rem .6rem;cursor:pointer;transition:background-color .15s ease}.entry-delete-btn{flex-shrink:0;background:none;border:none;color:var(--color-muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:.3rem .4rem;border-radius:4px}.entry-delete-btn:hover:not(:disabled){color:var(--color-error)}.entry-delete-btn:disabled{opacity:.5;cursor:default}.entry-item:hover:not(:disabled){background:var(--color-border)}.entry-item.selected{background:var(--color-accent)}.entry-item.selected .entry-title,.entry-item.selected .entry-date{color:var(--color-on-accent)}.entry-item:disabled{opacity:.6;cursor:default}.entry-title{font-size:.9rem;color:var(--color-text)}.entry-date{font-size:.78rem;color:var(--color-muted)}.hint{color:var(--color-accent);border:1px solid var(--color-accent);border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;white-space:nowrap}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.app-title{font-size:1.05rem;font-weight:600;margin:0;letter-spacing:-.01em}.app-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.btn{border:none;border-radius:6px;padding:.5rem 1.1rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.btn:disabled{opacity:.6;cursor:default}.btn-start{background:var(--color-accent);color:var(--color-on-accent)}.btn-start:hover:not(:disabled){background:var(--color-accent-hover)}.btn-stop{background:var(--color-error);color:var(--color-on-error)}.btn-stop:hover:not(:disabled){background:var(--color-error-hover)}.elapsed{font-variant-numeric:tabular-nums;color:var(--color-muted);font-size:.9rem;min-width:3.5ch}.resume-prompt{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.resume-prompt-text{color:var(--color-text);font-size:.9rem}.status{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--color-muted);flex-shrink:0}.status-idle .status-dot{background:var(--color-muted)}.status-connected .status-dot,.status-transcribing .status-dot{background:var(--color-ok)}.status-reconnecting .status-dot{background:var(--color-warn)}.status-error .status-dot{background:var(--color-error)}.status-error{color:var(--color-error)}.app-main{flex:1;min-height:0;display:flex;overflow:hidden}.pane{position:relative;flex:1 1 50%;min-width:0;min-height:0;overflow:hidden;transition:flex-basis .3s ease,opacity .3s ease}.pane-transcript{border-right:1px solid var(--color-border)}.pane-notes{border-left:1px solid var(--color-border);display:flex;flex-direction:column}.pane-notes>.notes-pane{flex:1 1 auto;min-height:0}.notes-degraded-banner{flex-shrink:0;display:flex;align-items:center;gap:.4rem;font-size:.85rem;line-height:1.4;color:var(--color-text);background:var(--color-surface);border-left:3px solid var(--color-warn);padding:.55rem 3rem .55rem 1rem;margin:0}.pane-expand-btn{position:absolute;top:.5rem;right:.75rem;z-index:1;border:none;background:var(--color-surface);color:var(--color-muted);border-radius:4px;width:1.75rem;height:1.75rem;font-size:.95rem;line-height:1;cursor:pointer;opacity:.7;transition:opacity .15s ease}.pane-expand-btn:hover{opacity:1}.app-main.expanded-transcript .pane-transcript{flex:1 1 100%;border-right:none;border-bottom:none}.app-main.expanded-transcript .pane-notes{flex:1 1 0%;opacity:0;overflow:hidden}.app-main.expanded-notes .pane-notes{flex:1 1 100%;border-left:none}.app-main.expanded-notes .pane-transcript{flex:1 1 0%;opacity:0;overflow:hidden}.view-toggle{display:flex;gap:.4rem}.view-toggle-btn{border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-muted);padding:.35rem .75rem;font-size:.85rem;cursor:pointer;transition:background-color .15s ease,color .15s ease}.view-toggle-btn:hover{background:var(--color-bg)}.view-toggle-btn.active{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.history-single-pane{display:block;overflow-y:auto}.history-single-pane .notes-pane{height:100%}.history-single-pane>.notes-placeholder,.history-single-pane>.notes-error{padding:1.5rem 1.25rem;margin:0}.transcript-pane{width:100%;height:100%;padding:1.5rem 1.25rem 3rem;overflow-y:auto;-webkit-overflow-scrolling:touch;line-height:1.7;font-size:1.05rem}.transcript-final{margin:0 0 .9em}.transcript-placeholder{color:var(--color-muted);font-style:italic}.transcript-view-wrapper{width:100%;height:100%;display:flex;flex-direction:column;padding:1.5rem 1.25rem 3rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.transcript-view-wrapper>.transcript-view{flex:1 1 auto;min-height:0;width:100%;line-height:1.7;font-size:1.05rem;white-space:pre-wrap}.partial{color:var(--color-muted);font-style:italic}.notes-pane{width:100%;height:100%;padding:1.5rem 1.25rem 3rem;overflow-y:auto;-webkit-overflow-scrolling:touch;line-height:1.7;font-size:1.05rem}.notes-placeholder{color:var(--color-muted);font-style:italic}.notes-pane-toolbar{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.notes-edit-btn,.notes-save-btn{background:var(--color-accent);color:var(--color-on-accent)}.notes-edit-btn:hover:not(:disabled),.notes-save-btn:hover:not(:disabled){background:var(--color-accent-hover)}.notes-cancel-btn{background:transparent;color:var(--color-muted);border:1px solid var(--color-border)}.notes-cancel-btn:hover:not(:disabled){background:var(--color-bg)}.notes-error{color:var(--color-error);font-size:.85rem;margin:0 0 .75rem}.notes-editor{width:100%;min-height:60vh;flex:1;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Courier New,monospace;font-size:.95rem;line-height:1.6;padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text)}.transcript-editor{font-family:inherit;line-height:1.7}.notes-pane h1,.notes-pane h2,.notes-pane h3,.notes-pane h4,.notes-pane h5,.notes-pane h6{font-weight:600;line-height:1.3;margin:1.4em 0 .5em}.notes-pane h1:first-child,.notes-pane h2:first-child,.notes-pane h3:first-child{margin-top:0}.notes-pane h1{font-size:1.5rem}.notes-pane h2{font-size:1.25rem}.notes-pane h3{font-size:1.1rem}.notes-pane p{margin:0 0 .9em}.notes-pane ul,.notes-pane ol{margin:0 0 .9em;padding-left:1.5em}.notes-pane li{margin:0 0 .35em}.notes-pane code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Courier New,monospace;font-size:.9em;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:.1em .35em}.notes-pane pre{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;padding:.75em 1em;overflow-x:auto}.notes-pane pre code{border:none;padding:0;background:none}.notes-pane blockquote{margin:0 0 .9em;padding-left:1em;border-left:3px solid var(--color-border);color:var(--color-muted)}.concept-menu{z-index:20;display:flex;flex-direction:column;min-width:9rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.3rem;box-shadow:0 4px 16px #0000002e}.concept-menu-item{border:none;border-radius:5px;background:transparent;color:var(--color-text);text-align:left;padding:.45rem .7rem;font-size:.88rem;cursor:pointer;transition:background-color .12s ease,color .12s ease}.concept-menu-item:hover{background:var(--color-accent);color:var(--color-on-accent)}.resources-panel{flex:0 0 320px;max-width:85vw;overflow-y:auto;background:var(--color-surface);border-left:1px solid var(--color-border);padding:1rem;display:flex;flex-direction:column;gap:.75rem;transition:flex-basis .18s ease,width .18s ease,padding .18s ease}.resources-panel.resources-panel-collapsed{flex:0 0 44px;max-width:44px;width:44px;overflow:visible;padding:.75rem .5rem;align-items:center;justify-content:flex-start}.resources-panel-collapse-toggle{border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);width:2rem;height:2rem;font-size:.9rem;line-height:1;cursor:pointer;opacity:.85;transition:opacity .15s ease,background-color .15s ease}.resources-panel:not(.resources-panel-collapsed)>.resources-panel-collapse-toggle{align-self:flex-end}.resources-panel-collapse-toggle:hover{opacity:1;background:var(--color-border)}.resources-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.resources-panel-title{font-size:1.05rem;font-weight:600;line-height:1.35;margin:0;word-break:break-word}.resources-panel-header-actions{flex-shrink:0;display:flex;align-items:center;gap:.4rem}.resources-panel-close-btn{border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-muted);width:2rem;height:2rem;font-size:1.1rem;line-height:1;cursor:pointer;opacity:.85;transition:opacity .15s ease,background-color .15s ease,color .15s ease}.resources-panel-close-btn:hover{opacity:1;color:var(--color-error);background:var(--color-border)}.resources-panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.resources-panel-loading{display:flex;align-items:center;gap:.6rem;color:var(--color-muted);font-size:.92rem}.resources-panel-spinner{width:.9rem;height:.9rem;border-radius:50%;border:2px solid var(--color-border);border-top-color:var(--color-accent);animation:resources-panel-spin .8s linear infinite}@keyframes resources-panel-spin{to{transform:rotate(360deg)}}.resources-panel-error{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.resources-panel-error-text{color:var(--color-error);font-size:.9rem;margin:0}.resources-panel-retry-btn{background:var(--color-accent);color:var(--color-on-accent)}.resources-panel-retry-btn:hover{background:var(--color-accent-hover)}.resources-panel-section{display:flex;flex-direction:column;gap:.4rem}.resources-panel-empty{color:var(--color-muted);font-size:.88rem;font-style:italic;margin:0}.resources-panel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.resources-panel-list-item{display:flex;flex-direction:column;gap:.1rem}.resources-panel-list-item a{color:var(--color-accent);font-size:.92rem;text-decoration:none}.resources-panel-list-item a:hover{text-decoration:underline}.resources-panel-list-meta{color:var(--color-muted);font-size:.8rem}.resources-panel-explanation,.resources-panel-definition,.resources-panel-examples{font-size:.95rem;line-height:1.6}.resources-panel-explanation :first-child,.resources-panel-definition :first-child,.resources-panel-examples :first-child{margin-top:0}.resources-panel-explanation p,.resources-panel-definition p,.resources-panel-examples p{margin:0 0 .75em}.resources-panel-explanation ul,.resources-panel-explanation ol,.resources-panel-definition ul,.resources-panel-definition ol,.resources-panel-examples ul,.resources-panel-examples ol{margin:0 0 .75em;padding-left:1.4em}.resources-panel-explanation h1,.resources-panel-explanation h2,.resources-panel-explanation h3,.resources-panel-definition h1,.resources-panel-definition h2,.resources-panel-definition h3,.resources-panel-examples h1,.resources-panel-examples h2,.resources-panel-examples h3{font-size:1rem;font-weight:600;margin:1em 0 .4em}.resources-panel-explanation code,.resources-panel-definition code,.resources-panel-examples code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Courier New,monospace;font-size:.88em;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:.1em .35em}.resources-panel-ask{flex-shrink:0;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.5rem}.resources-panel-thread{max-height:14rem;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.resources-panel-thread-turn{font-size:.88rem;line-height:1.5;padding:.5rem .65rem;border-radius:8px;max-width:92%}.resources-panel-thread-turn p{margin:0 0 .5em}.resources-panel-thread-turn p:last-child{margin-bottom:0}.resources-panel-thread-turn-user{align-self:flex-end;background:var(--color-accent);color:var(--color-on-accent)}.resources-panel-thread-turn-assistant{align-self:flex-start;background:var(--color-bg);border:1px solid var(--color-border)}.resources-panel-ask-form{display:flex;flex-direction:column;gap:.4rem}.resources-panel-ask-error{color:var(--color-error);font-size:.82rem;margin:0}.resources-panel-ask-input{width:100%;min-height:3.2rem;resize:vertical;font-family:inherit;font-size:.9rem;line-height:1.5;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text)}.resources-panel-ask-btn{align-self:flex-end;background:var(--color-accent);color:var(--color-on-accent)}.resources-panel-ask-btn:hover:not(:disabled){background:var(--color-accent-hover)}@media (max-width: 480px){.app-shell{flex-direction:column}.sidebar{flex:0 0 auto;max-height:40vh;max-width:none;border-right:none;border-bottom:1px solid var(--color-border)}.sidebar.sidebar-collapsed{flex-basis:44px;max-height:44px;width:100%;max-width:none}.app-header{padding:.6rem .85rem}.app-title{font-size:1rem}.app-controls{gap:.5rem}.app-main{flex-direction:column}.pane{flex:1 1 0}.pane-transcript{border-right:none;border-bottom:1px solid var(--color-border)}.pane-notes{border-left:none}.transcript-pane,.transcript-view-wrapper,.notes-pane{padding:1rem .9rem 2rem;font-size:1rem}.transcript-view{font-size:1rem}.notes-editor,.transcript-editor{min-height:40vh}.resources-panel{flex:0 0 auto;max-height:60vh;max-width:none;border-left:none;border-top:1px solid var(--color-border)}.resources-panel.resources-panel-collapsed{flex-basis:44px;max-height:44px;width:100%;max-width:none}}
