.feedback-buttons{display:inline-flex;gap:4px;margin-left:8px}.feedback-buttons button{background:none;border:none;cursor:pointer;font-size:.8rem;opacity:.5;padding:2px 4px;border-radius:4px}.feedback-buttons button:hover{opacity:1;background:#f3f4f6}.feedback-done{margin-left:8px;font-size:.8rem}.sources{margin-top:12px;font-size:.85rem}.course-group,.doc-group{margin-bottom:12px;padding:8px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.course-header,.doc-header{font-weight:500;margin-bottom:6px}.slide-count,.section-count{color:#6b7280;font-weight:400;margin-left:4px}.module-group{margin-left:16px;margin-bottom:8px}.module-header{color:#4b5563;margin-bottom:4px}.slide-item,.section-item{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:4px 0;border-bottom:1px solid #f3f4f6}.section-header{display:flex;align-items:center;gap:4px}.section-summary{color:#6b7280;font-size:.8rem;margin-top:2px;padding-left:24px}.ref-num{color:#0073bb;font-weight:600;min-width:24px}.slide-title{color:#374151}.slide-header{display:flex;align-items:center;gap:6px;width:100%}.slide-iframe-container{width:100%;margin:8px 0;border-radius:6px;overflow:hidden;border:1px solid #e5e7eb}.slide-iframe{width:100%;height:500px;border:none}.collapse-btn{background:none;border:none;cursor:pointer;font-size:.75rem;color:#6b7280;padding:2px 6px;border-radius:4px}.collapse-btn:hover{background:#e5e7eb;color:#374151}.slides-disclaimer{font-size:.7rem;color:#9ca3af;margin-top:12px;font-style:italic}.metadata-feedback{display:inline-flex;gap:6px;margin-top:8px}.metadata-feedback button{background:#f3f4f6;border:1px solid #d1d5db;cursor:pointer;font-size:.8rem;padding:4px 10px;border-radius:6px}.metadata-feedback button:hover{background:#e5e7eb}.metadata-feedback-done{display:inline-block;margin-top:8px;font-size:.8rem;color:#6b7280}.msg{display:flex}.msg.user{justify-content:flex-end}.msg.assistant{justify-content:flex-start}.bubble{max-width:85%;padding:12px 16px;border-radius:12px;line-height:1.5;font-size:.9rem}.user-bubble{background:#0073bb;color:#fff}.assistant-bubble{background:#fff;border:1px solid #e5e7eb}.assistant-bubble h3{font-size:1rem;margin:12px 0 8px}.assistant-bubble h3:first-child{margin-top:0}.assistant-bubble section{margin-bottom:12px}.collapsible{margin-top:8px}.collapsible-toggle{background:none;border:none;color:#6b7280;cursor:pointer;font-size:.85rem;padding:4px 0}.collapsible-toggle:hover{color:#0073bb}.collapsible-content{margin-top:4px;padding-left:8px;border-left:2px solid #e5e7eb}.citation-link{color:#0073bb;text-decoration:none;font-weight:600;cursor:pointer}.citation-link:hover{text-decoration:underline}.streaming-cursor{animation:blink 1s step-end infinite;color:#666}@keyframes blink{50%{opacity:0}}.ai-disclaimer{margin-top:12px;padding-top:8px;border-top:1px solid #e5e7eb;font-size:.78rem;color:#6b7280}.location-filter{position:relative;display:flex;align-items:center;gap:.5rem}.location-filter label{font-size:.85rem;font-weight:500;white-space:nowrap}.location-input-wrapper{position:relative}.location-input-wrapper input{width:140px;padding:.4rem 1.8rem .4rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.85rem}.location-input-wrapper input:focus{outline:none;border-color:#0073bb;box-shadow:0 0 0 2px #0073bb33}.clear-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;color:#666;line-height:1;padding:0 4px}.location-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:2px;list-style:none;padding:0;z-index:100;box-shadow:0 4px 8px #0000001a}.location-dropdown li{padding:.4rem .6rem;cursor:pointer;font-size:.85rem}.location-dropdown li:hover{background:#f0f4ff}.app{display:flex;flex-direction:column;height:100vh;max-width:900px;margin:0 auto}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #e5e7eb}.header h1{font-size:1.25rem}.sign-out-btn{background:none;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:.85rem;color:#6b7280}.sign-out-btn:hover{background:#f3f4f6}.chat-container{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.loading{color:#6b7280;font-style:italic;padding:8px 16px;display:flex;align-items:center;gap:8px}.loading:after{content:"";display:inline-block;width:20px;height:20px;border:2px solid #d1d5db;border-top-color:#0073bb;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.input-bar{display:flex;gap:8px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#fff}.input-bar input{flex:1;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem}.input-bar button{padding:10px 20px;background:#0073bb;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem}.input-bar button:disabled{opacity:.5;cursor:not-allowed}.welcome-message{text-align:center;color:#374151;margin:auto;padding:32px}.welcome-message h2{font-size:1.4rem;margin-bottom:12px}.welcome-message p{color:#6b7280;font-size:1rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f9fafb;color:#1a1a1a}a{color:#0073bb;text-decoration:none}a:hover{text-decoration:underline}
