@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap);:root,[data-theme=dark]{--bg-color:#0a0a0f;--bg-elevated:#111118;--bg-surface:#16161e;--bg-card:#1a1a24;--text-color:#f0f0f5;--text-secondary:#9ca3af;--text-muted:#6b7280;--border-color:#ffffff0f;--border-hover:#ffffff1f;--primary-color:#818cf8;--primary-hover:#6366f1;--primary-glow:#818cf826;--primary-subtle:#818cf814;--primary-border:#818cf840;--primary-text:#fff;--success:#22c55e;--success-bg:#22c55e1a;--error:#ef4444;--error-bg:#ef444414;--info:#3b82f6;--info-bg:#3b82f61a;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px #818cf826;--glass-bg:#ffffff08;--glass-border:#ffffff0f;--navbar-bg:#0a0a0fd9;--secondary-bg:var(--bg-elevated);--accent-color:var(--primary-color);color-scheme:dark}[data-theme=light]{--bg-color:#fafafa;--bg-elevated:#fff;--bg-surface:#f3f4f6;--bg-card:#fff;--text-color:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--border-color:#00000014;--border-hover:#00000026;--primary-color:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f11f;--primary-subtle:#6366f10f;--primary-border:#6366f140;--primary-text:#fff;--success:#16a34a;--success-bg:#16a34a14;--error:#dc2626;--error-bg:#dc26260f;--info:#2563eb;--info-bg:#2563eb0f;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-glow:0 0 20px #6366f11f;--glass-bg:#ffffffb3;--glass-border:#0000000f;--navbar-bg:#ffffffd9;--secondary-bg:var(--bg-elevated);--accent-color:var(--primary-color);color-scheme:light}:root{--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background-color:#0a0a0f;background-color:var(--bg-color);color:#f0f0f5;color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;min-height:100vh;transition:background-color .3s,color .3s}body,button{letter-spacing:-.01em}button{background:#818cf8;background:var(--primary-color);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;color:var(--primary-text);cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:600;padding:.6rem 1.25rem;transition:all .2s cubic-bezier(.4,0,.2,1)}button:hover{background:#6366f1;background:var(--primary-hover);box-shadow:0 0 20px #818cf826;box-shadow:var(--shadow-glow);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}input,select,textarea{background:#16161e;background:var(--bg-surface);border:1px solid #ffffff0f;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);color:#f0f0f5;color:var(--text-color);font-family:inherit;font-size:.9rem;outline:none;padding:.65rem .9rem;transition:border-color .2s,box-shadow .2s,background .3s,color .3s;width:100%}input:focus,select:focus,textarea:focus{border-color:#818cf8;border-color:var(--primary-color);box-shadow:0 0 0 3px #818cf826;box-shadow:0 0 0 3px var(--primary-glow)}input::placeholder,textarea::placeholder{color:#6b7280;color:var(--text-muted);opacity:.7}a{color:#818cf8;color:var(--primary-color);text-decoration:none;transition:color .2s,opacity .2s}a:hover{color:#6366f1;color:var(--primary-hover)}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff1f;background:var(--border-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6b7280;background:var(--text-muted)}::selection{background:#818cf84d;color:#f0f0f5;color:var(--text-color)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width:768px){body{font-size:15px}button{font-size:.82rem;padding:.55rem 1rem}input,select,textarea{font-size:.88rem;padding:.6rem .75rem}}.navbar{align-items:center;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);background:var(--navbar-bg);border-bottom:1px solid var(--border-color);display:flex;gap:1.5rem;height:56px;justify-content:flex-end;padding:0 2rem;position:sticky;top:0;transition:background .3s,border-color .3s;z-index:100}.navbar-logo{margin-right:auto}.navbar-logo a{align-items:center;color:var(--text-color);display:flex;font-size:1.2rem;font-weight:800;gap:.5rem;letter-spacing:-.03em;text-decoration:none;transition:opacity .2s;white-space:nowrap}.navbar-logo a:before{color:var(--primary-color);content:"✦";font-size:1.1rem}.navbar-logo a:hover{color:var(--text-color);opacity:.85}.navbar-links-desktop{align-items:center;display:flex;gap:.25rem;list-style:none}.navbar-links-desktop li a{border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;font-weight:500;letter-spacing:-.01em;padding:.45rem .85rem;text-decoration:none;transition:all .2s;white-space:nowrap}.navbar-links-desktop li a:hover{background:var(--glass-bg);color:var(--text-color)}.navbar-links-desktop li a.active{background:var(--primary-subtle);color:var(--primary-color)}.navbar-actions{align-items:center;display:flex;gap:.75rem}.welcome-text{white-space:nowrap}.logout-btn,.welcome-text{color:var(--text-muted);font-size:.8rem;font-weight:500}.logout-btn{background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.35rem .85rem;transition:all .2s}.logout-btn:hover{background:var(--error-bg);border-color:var(--error);box-shadow:none;color:var(--error);transform:none}.credits-widget{background:var(--navbar-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:4px;min-width:155px;padding:6px 10px;transition:background .3s,border-color .3s;width:max-content}.credits-header{font-size:.7rem;justify-content:space-between}.credits-header,.credits-label{align-items:center;display:flex}.credits-label{color:var(--text-secondary);font-weight:600;gap:4px;letter-spacing:.02em}.refresh-credits-btn{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;font-size:.75rem;justify-content:center;opacity:.6;padding:0;transition:opacity .2s,transform .2s}.refresh-credits-btn:hover{background:none;border:none;box-shadow:none;opacity:1;transform:scale(1.1)}.refresh-credits-btn.spinning{animation:spin 1s linear infinite}.credits-value{font-size:.72rem;font-weight:700;transition:color .3s}.credits-max{font-size:.65rem;font-weight:400;opacity:.45}.credits-low-warning{animation:pulse 2s infinite;color:var(--primary-color);font-size:.65rem;font-weight:600;text-align:center;text-decoration:none}.credits-low-warning:hover{color:var(--primary-hover);text-decoration:underline}.theme-toggle{border:1px solid var(--border-color);font-size:1.2rem;line-height:1;padding:.35rem .5rem}.theme-toggle:hover{background:var(--glass-bg);border-color:var(--border-hover)}.hamburger{background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;display:none;flex-direction:column;gap:5px;padding:6px;z-index:110}.hamburger:hover{border-color:var(--primary-color);box-shadow:none;transform:none}.hamburger span{background:var(--text-secondary);border-radius:2px;display:block;height:2px;transition:all .3s;width:20px}.hamburger.open span:first-child{transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu,.mobile-menu-overlay{display:none}@media (max-width:900px){.navbar{padding:0 1rem}.navbar-links-desktop{gap:0}.navbar-links-desktop li a{font-size:.78rem;padding:.4rem .6rem}.welcome-text{display:none}.credits-widget{min-width:130px}}@media (max-width:640px){.navbar{height:50px;padding:0 .75rem}.navbar-logo a{font-size:1rem}.navbar .logout-btn,.navbar-links-desktop,.theme-toggle,.welcome-text{display:none}.hamburger{display:flex}.mobile-menu-overlay{animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;left:0;position:fixed;right:0;top:50px;z-index:999}.mobile-menu{background:var(--bg-elevated);border-bottom:1px solid var(--border-color);box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;gap:.35rem;max-height:calc(100vh - 50px);overflow-y:auto;padding:1rem;width:100%}.mobile-menu-link{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-color);cursor:pointer;display:flex;font-family:inherit;font-size:1rem;font-weight:600;gap:.5rem;padding:.9rem 1rem;text-align:left;text-decoration:none;transition:background .15s;width:100%}.mobile-menu-link.active,.mobile-menu-link:hover{background:var(--primary-subtle);box-shadow:none;color:var(--primary-color);transform:none}.mobile-menu-divider{background:var(--border-color);height:1px;margin:.5rem 0}.mobile-theme-btn{color:var(--text-secondary)}.mobile-logout-btn{color:var(--error)}.mobile-logout-btn:hover{background:var(--error-bg);color:var(--error)}}.login-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.login-form{animation:fadeIn .4s ease;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:420px;overflow:hidden;padding:2.5rem;position:relative;width:100%}.login-form:before{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(90deg,var(--primary-color),#a5b4fc,var(--primary-color));background-size:200% 100%;content:"";height:3px;left:0;position:absolute;right:0;top:0}.login-form h2{color:var(--text-color);font-size:1.5rem;font-weight:800;letter-spacing:-.03em;margin-bottom:1.75rem;text-align:center}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-secondary);display:block;font-size:.82rem;font-weight:600;letter-spacing:.04em;margin-bottom:.5rem;text-transform:uppercase}.form-group input{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);font-size:.9rem;padding:.7rem 1rem;transition:all .2s;width:100%}.form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow)}.login-btn{background:var(--primary-color);border-radius:var(--radius-md);color:var(--primary-text);font-size:.95rem;font-weight:700;letter-spacing:-.01em;margin-top:.75rem;padding:.75rem;width:100%}.login-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow)}.redirect-link{color:var(--text-muted);font-size:.85rem;margin-top:1.5rem;text-align:center}.redirect-link a{color:var(--primary-color);font-weight:600;text-decoration:none}.redirect-link a:hover{text-decoration:underline}@media (max-width:768px){.login-container{min-height:calc(100vh - 150px);padding:1rem}.login-form{border-radius:var(--radius-lg);padding:1.75rem 1.25rem}.login-form h2{font-size:1.3rem;margin-bottom:1.25rem}}.register-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.register-form{animation:fadeIn .4s ease;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:420px;overflow:hidden;padding:2.5rem;position:relative;width:100%}.register-form:before{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(90deg,var(--primary-color),#a5b4fc,var(--primary-color));background-size:200% 100%;content:"";height:3px;left:0;position:absolute;right:0;top:0}.register-form h2{color:var(--text-color);font-size:1.5rem;font-weight:800;letter-spacing:-.03em;margin-bottom:1.75rem;text-align:center}.register-btn{background:var(--primary-color);border-radius:var(--radius-md);color:var(--primary-text);font-size:.95rem;font-weight:700;letter-spacing:-.01em;margin-top:.75rem;padding:.75rem;width:100%}.register-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow)}@media (max-width:768px){.register-container{min-height:calc(100vh - 150px);padding:1rem}.register-form{border-radius:var(--radius-lg);padding:1.75rem 1.25rem}.register-form h2{font-size:1.3rem;margin-bottom:1.25rem}}.dashboard-container{animation:fadeIn .4s ease;display:flex;flex-direction:column;gap:2.5rem;padding:1rem 0}.dashboard-header{margin-bottom:.5rem}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text-color),var(--text-secondary));-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.35rem}.dashboard-header p{color:var(--text-muted);font-size:1.05rem;font-weight:500}.dashboard-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stat-card{align-items:center;border-radius:var(--radius-lg);gap:1rem;justify-content:center;overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{transform:translateY(-3px)}.stat-card:before{background:var(--primary-color);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:4px}.stat-card:hover:before{opacity:1}.stat-icon{align-items:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;font-size:2rem;height:50px;justify-content:center;width:50px}.subjects-icon{background:#3b82f61a;border-color:#3b82f633}.resources-icon{background:#10b9811a;border-color:#10b98133}.credits-icon{background:#f59e0b1a;border-color:#f59e0b33}.tokens-icon{background:#8b5cf61a;border-color:#8b5cf633}.stat-info{align-items:center;display:flex;flex-direction:column;gap:.4rem}.stat-info h3{color:var(--text-muted);font-size:.85rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.stat-value{color:var(--text-color);line-height:1.1}.subjects-val{color:#3b82f6}.resources-val{color:#10b981}.credits-val{color:#f59e0b}.cost-val{color:#8b5cf6}.dashboard-actions{display:flex;flex-direction:column;gap:1.25rem}.section-title{color:var(--text-color);font-size:1.25rem;font-weight:700;margin:0}.action-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.action-card{align-items:flex-start;box-shadow:var(--shadow-sm);gap:.75rem;overflow:hidden;padding:1.75rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.action-card:after{bottom:1.75rem;color:var(--primary-color);content:"→";font-size:1.25rem;opacity:0;position:absolute;right:1.75rem;transform:translateX(-10px);transition:all .3s}.action-card:hover{background:var(--glass-bg);border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.action-card:hover:after{opacity:1;transform:translateX(0)}.action-icon{font-size:2.2rem;margin-bottom:.25rem}.action-card h3{color:var(--text-color);font-size:1.15rem;font-weight:700;margin:0}.action-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0}@media (max-width:768px){.dashboard-container{gap:2rem;padding:.5rem 0}.dashboard-header h1{font-size:1.8rem}.dashboard-stats{gap:1rem;grid-template-columns:1fr 1fr}.action-grid{gap:1rem;grid-template-columns:1fr}.stat-card{align-items:flex-start;flex-direction:column;gap:1rem;padding:1.25rem}.stat-icon{font-size:1.5rem;height:40px;width:40px}}@media (max-width:480px){.dashboard-stats{grid-template-columns:1fr}}.subjects-container{animation:fadeIn .4s ease;display:flex;flex-direction:column;gap:2rem}.subjects-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text-color),var(--text-secondary));-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;letter-spacing:-.03em}.add-subject-section{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem}.add-subject-form{display:flex;gap:.75rem}.add-subject-form input{flex:1 1}.add-subject-form button{flex-shrink:0;white-space:nowrap}.subjects-list{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.subject-card{align-items:flex-start;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-color);display:flex;flex-direction:column;gap:.5rem;justify-content:space-between;overflow:hidden;padding:1.5rem;position:relative;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1)}.subject-card-content{flex:1 1}.delete-btn{position:absolute;right:1rem;top:1rem}.subject-card:before{background:linear-gradient(90deg,var(--primary-color),#a5b4fc);content:"";height:2px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .25s}.subject-card:hover{border-color:var(--primary-border);box-shadow:0 8px 28px #818cf814;transform:translateY(-3px)}.subject-card:hover:before{opacity:1}.subject-card h3{color:var(--text-color);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0}.subject-card p{color:var(--text-muted);font-size:.85rem;margin:0}@media (max-width:768px){.subjects-container{gap:1.5rem}.subjects-header h1{font-size:1.5rem}.add-subject-form{flex-direction:column}.add-subject-form button{width:100%}.subjects-list{gap:1rem;grid-template-columns:1fr}.subject-card{padding:1.25rem}}.subject-detail-container{animation:fadeIn .4s ease;display:flex;flex-direction:column;gap:2rem}.subject-detail-header{border-bottom:1px solid var(--border-color);padding-bottom:1.25rem}.back-link{align-items:center;color:var(--text-muted);display:inline-flex;font-size:.88rem;font-weight:600;gap:.35rem;margin-bottom:1rem;text-decoration:none;transition:color .2s}.back-link:hover{color:var(--primary-color)}.title-row{align-items:center;display:flex;gap:1rem;justify-content:space-between}.title-row h1{font-size:1.75rem;font-weight:800;letter-spacing:-.03em}.add-btn{background:var(--primary-color);border:none;border-radius:var(--radius-md);color:var(--primary-text);cursor:pointer;font-size:.88rem;font-weight:700;padding:.6rem 1.25rem;transition:all .2s;white-space:nowrap}.add-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.resources-panel h2{color:var(--primary-color);display:none;margin-bottom:1.5rem}.resources-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:.5rem}.resource-card{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;gap:1.25rem;overflow:hidden;padding:1.25rem 1.5rem;position:relative;transition:all .3s cubic-bezier(.2,.8,.2,1)}.resource-card:before{background:var(--primary-color);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:4px}.resource-card:hover{background:var(--bg-elevated);border-color:var(--primary-border);box-shadow:var(--shadow-md),0 0 15px var(--primary-glow);transform:translateY(-3px)}.resource-card:hover:before{opacity:1}.res-icon{align-items:center;background:var(--primary-subtle);border:1px solid var(--primary-border);border-radius:14px;color:var(--primary-color);display:flex;flex-shrink:0;font-size:2rem;height:54px;justify-content:center;width:54px}.res-info a,.resource-link{color:var(--text-color);display:block;font-size:1rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.35rem;overflow:hidden;text-decoration:none;text-overflow:ellipsis;transition:color .2s;white-space:nowrap}.res-info a:hover,.resource-link:hover{color:var(--primary-color)}.res-info p{color:var(--text-muted);font-size:.8rem;margin:0}.res-info{flex:1 1;min-width:0}.delete-btn{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:1.25rem;opacity:.5;padding:.5rem;position:static;transition:all .2s}.delete-btn:hover{background:#ef44441a;color:#ef4444;opacity:1}.no-resources{color:var(--text-muted);font-size:.9rem;padding:2rem 0}.modal-overlay{align-items:center;animation:fadeIn .2s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.upload-modal{animation:fadeIn .3s ease;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:0 25px 60px #0009;max-width:480px;position:relative;width:90%}.upload-panel{display:flex;flex-direction:column;padding:2.5rem}.upload-panel h2{color:var(--text-color);font-size:1.3rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.4rem}.upload-panel p{color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem}.upload-box{display:flex;flex-direction:column;gap:1rem}.upload-box input[type=file]{background:var(--bg-surface);border:2px dashed var(--border-hover);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;padding:2rem 1.5rem;text-align:center;transition:all .2s}.upload-box input[type=file]:hover{background:var(--primary-subtle);border-color:var(--primary-color)}.upload-btn{font-size:.95rem;font-weight:700;padding:.75rem;width:100%}@media (max-width:768px){.subject-detail-header h1{font-size:1.3rem}.title-row{align-items:flex-start;flex-direction:column;gap:.75rem}.add-btn{text-align:center;width:100%}.resources-grid{gap:1rem;grid-template-columns:1fr}.resource-card{gap:.75rem;padding:1rem}.upload-modal{width:95%}.upload-panel{padding:1.5rem}.upload-panel h2{font-size:1.1rem}.upload-box input[type=file]{padding:1.25rem 1rem}}.resource-detail-container{animation:fadeIn .4s ease;display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:1400px}.resource-detail-header{border-bottom:1px solid var(--border-color);padding-bottom:1rem}.resource-detail-header h1{font-size:1.75rem;font-weight:800;letter-spacing:-.03em}.subtitle{color:var(--text-muted);font-size:.88rem;margin-top:.5rem}.view-original{background:var(--primary-subtle);border-radius:var(--radius-sm);color:var(--primary-color);font-size:.85rem;font-weight:600;margin-left:.5rem;padding:.2rem .6rem;text-decoration:none;transition:all .2s}.view-original:hover{background:var(--primary-color);color:var(--primary-text)}.split-view-container{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width:1024px){.split-view-container{grid-template-columns:1.2fr 2.5fr}}.document-viewer{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:80vh;min-height:600px;overflow:hidden}.document-viewer iframe{border:none;height:100%;width:100%}.doc-placeholder{align-items:center;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;gap:1rem;justify-content:center}.doc-placeholder .icon{font-size:3.5rem;opacity:.6}.ai-actions-sidebar{gap:1.25rem}.ai-actions-sidebar,.ai-panel{display:flex;flex-direction:column}.ai-panel{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);gap:.75rem;padding:1.5rem}.ai-panel h2{color:var(--text-color);font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0}.ai-panel p{color:var(--text-muted);font-size:.9rem;line-height:1.5;margin:0}.action-buttons-list{gap:1rem}.action-buttons-list,.action-card{display:flex;flex-direction:column}.action-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);gap:.85rem;padding:1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.action-card:hover{border-color:var(--primary-border);box-shadow:0 4px 16px #0000004d;transform:translateY(-1px)}.action-info h3{color:var(--text-color);font-size:1rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .3rem}.action-info p{color:var(--text-muted);font-size:.85rem;margin:0}.full-width-btn{width:100%}.ai-btn{align-items:center;background:var(--primary-color);border:none;border-radius:var(--radius-md);color:var(--primary-text);cursor:pointer;display:inline-flex;font-size:.88rem;font-weight:700;justify-content:center;padding:.7rem 1.25rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.ai-btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.ai-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.secondary-btn{background:#0000;border:1px solid var(--border-color);color:var(--text-color)}.secondary-btn:hover{background:#ffffff0a;border-color:var(--border-hover);box-shadow:none}.chat-btn{background:#3b82f6;color:#fff}.chat-btn:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d}.quiz-btn{background:#22c55e;color:var(--primary-text)}.quiz-btn:hover:not(:disabled){background:#16a34a;box-shadow:0 4px 12px #22c55e4d}.quiz-settings-modern{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1rem;padding:1.25rem}.quiz-setting-group{display:flex;flex-direction:column;gap:.6rem}.quiz-setting-title{color:var(--text-muted);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.difficulty-pills{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-full);display:flex;gap:.5rem;padding:.35rem}.diff-pill{background:#0000;border:none;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;padding:.5rem 0;transition:all .2s}.diff-pill:hover{color:var(--text-color)}.diff-pill.active{background:var(--primary-subtle);box-shadow:0 2px 8px #0000001a;color:var(--primary-color)}.diff-pill.active.easy{background:#10b98126;color:#10b981}.diff-pill.active.medium{background:#f59e0b26;color:#f59e0b}.diff-pill.active.hard{background:#ef444426;color:#ef4444}.modern-range-slider{-webkit-appearance:none;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-full);height:6px;outline:none;width:100%}.modern-range-slider::-webkit-slider-thumb{appearance:none;background:var(--primary-color);border-radius:50%;box-shadow:0 2px 6px #0003;cursor:pointer;height:18px;-webkit-transition:all .2s;transition:all .2s;width:18px}.modern-range-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.action-button-group{display:flex;flex-direction:column;gap:.5rem}.quiz-modal-overlay{align-items:center;animation:fadeIn .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.quiz-modal{animation:fadeIn .3s ease;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:0 25px 60px #0009;max-width:650px;overflow:hidden;position:relative;width:90%}.summary-modal{max-width:800px}.close-modal-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:1.6rem;opacity:.6;padding:.25rem;position:absolute;right:16px;top:12px;transition:all .2s;z-index:10}.close-modal-btn:hover{background:#ffffff0d;box-shadow:none;opacity:1;transform:none}.modal-heading{color:var(--text-color);font-size:1.4rem;font-weight:800;letter-spacing:-.02em;margin:0}.summary-badge-container{margin:.75rem 0}.badge{background:var(--primary-subtle);border-radius:var(--radius-full);color:var(--primary-color);font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:.3rem .75rem;text-transform:uppercase}.summary-content-inner{color:var(--text-color);font-size:.93rem;line-height:1.75;margin-top:1rem;max-height:62vh;overflow-y:auto;padding-right:.75rem}.summary-content-inner h1,.summary-content-inner h2,.summary-content-inner h3,.summary-content-inner h4{color:var(--text-color);font-weight:700;line-height:1.3;margin:1.4rem 0 .5rem}.summary-content-inner h2{border-bottom:1px solid var(--border-color);font-size:1.15rem;padding-bottom:.3rem}.summary-content-inner h3{font-size:1.02rem}.summary-content-inner h4{color:var(--text-muted);font-size:.93rem}.summary-content-inner p{margin:.6rem 0}.summary-content-inner ol,.summary-content-inner ul{margin:.6rem 0;padding-left:1.5rem}.summary-content-inner li{margin:.25rem 0}.summary-content-inner li::marker{color:var(--primary-color)}.summary-content-inner strong{color:var(--text-color);font-weight:700}.summary-content-inner em{color:var(--text-secondary);font-style:italic}.summary-content-inner code{background:var(--primary-subtle);border-radius:5px;color:var(--primary-color);font-family:JetBrains Mono,Fira Code,monospace;font-size:.85em;padding:.15em .4em}.summary-content-inner pre{background:#0006;border:1px solid var(--border-color);border-radius:var(--radius-md);margin:.75rem 0;overflow-x:auto;padding:1rem}.summary-content-inner pre code{background:none;color:#e2e8f0;padding:0}.summary-content-inner blockquote{background:var(--primary-subtle);border-left:3px solid var(--primary-color);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);margin:.75rem 0;padding:.4rem 1rem}.summary-content-inner hr{border:none;border-top:1px solid var(--border-color);margin:1.2rem 0}.summary-content-inner table{border-collapse:collapse;font-size:.88rem;margin:1rem 0;width:100%}.summary-content-inner td,.summary-content-inner th{border:1px solid var(--border-color);padding:.55rem .85rem;text-align:left}.summary-content-inner th{background:var(--primary-subtle);color:var(--primary-color);font-weight:700}.summary-content-inner tr:nth-child(2n) td{background:#ffffff05}.live-score,.summary-content-inner tr:hover td{background:var(--primary-subtle)}.live-score{border:1px solid var(--primary-border);border-radius:var(--radius-sm);color:var(--primary-color);font-size:.9rem;font-weight:700;left:20px;padding:.35rem .75rem;position:absolute;top:16px}.quiz-modal-content{padding:3.5rem 2rem 2rem}.quiz-progress{margin-bottom:2rem}.progress-bar-bg{background:var(--bg-surface);border-radius:var(--radius-full);height:5px;margin-bottom:.5rem;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,var(--primary-color),#a5b4fc);border-radius:var(--radius-full);height:100%;transition:width .3s ease-out}.quiz-progress span{color:var(--text-muted);font-size:.82rem}.quiz-question-text{color:var(--text-color);font-size:1.2rem;font-weight:700;letter-spacing:-.01em;line-height:1.5;margin-bottom:1.75rem}.quiz-options{display:flex;flex-direction:column;gap:.75rem}.glass-btn{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);cursor:pointer;font-size:.92rem;font-weight:500;padding:1rem 1.25rem;text-align:left;transition:all .2s}.glass-btn:hover{background:var(--primary-subtle);border-color:var(--primary-border);box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.quiz-result-section{padding:1rem 0;text-align:center}.completion-icon{font-size:3.5rem;margin-bottom:.75rem}.quiz-score-heading{color:var(--text-color);font-size:1.6rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.5rem}.quiz-score-display{color:var(--text-muted);font-size:1.1rem;margin-bottom:2rem}.quiz-score-display span{color:var(--primary-color);display:block;font-size:2.75rem;font-weight:800;margin:.5rem 0}.quiz-actions{gap:.75rem}.loading-state,.quiz-actions{display:flex;justify-content:center}.loading-state{align-items:center;color:var(--text-muted);font-size:.95rem;padding:4rem}@media (max-width:768px){.resource-detail-header h1{font-size:1.3rem}.split-view-container{grid-template-columns:1fr!important}.document-viewer{height:50vh;min-height:350px}.ai-panel{padding:1.25rem}.ai-panel h2{font-size:1rem}.action-card{padding:1rem}.quiz-modal,.summary-modal{max-width:none;width:95%}.quiz-modal-content{padding:2.5rem 1.25rem 1.5rem}.quiz-question-text{font-size:1rem}.glass-btn{font-size:.85rem;padding:.85rem 1rem}.quiz-score-display span{font-size:2rem}.quiz-actions{flex-direction:column}.quiz-actions button{width:100%}.summary-content-inner{font-size:.88rem;max-height:55vh}}.chat-page{background:var(--bg-color);font-family:Inter,sans-serif;height:calc(100vh - 56px);overflow:hidden;width:100vw}.chat-page,.chat-sidebar{display:flex;position:relative}.chat-sidebar{background:var(--bg-elevated);border-right:1px solid var(--border-color);flex-direction:column;min-width:300px;transition:width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1);width:300px;z-index:10}.chat-sidebar.collapsed{border-right:none;min-width:0;width:0}.chat-sidebar.collapsed .sidebar-body,.chat-sidebar.collapsed .sidebar-top{opacity:0;overflow:hidden;pointer-events:none}.sidebar-top{border-bottom:1px solid var(--border-color);flex-shrink:0}.sidebar-tabs{display:grid;grid-template-columns:1fr 1fr}.sidebar-tab{background:#0000;border:none;border-bottom:2px solid #0000;border-radius:0;color:var(--text-muted);cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:14px 8px;transition:all .2s;white-space:nowrap}.sidebar-tab:hover{background:#0000;box-shadow:none;color:var(--text-secondary);transform:none}.sidebar-tab.active{background:#0000;border-bottom-color:var(--primary-color);color:var(--primary-color)}.sidebar-body{flex:1 1;overflow-x:hidden;overflow-y:auto}.sidebar-body::-webkit-scrollbar{width:3px}.sidebar-body::-webkit-scrollbar-track{background:#0000}.sidebar-body::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.sidebar-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:.82rem;gap:12px;justify-content:center;opacity:.5;padding:3rem 1rem}.spinner{animation:spin .75s linear infinite;border:2.5px solid var(--border-color);border-top-color:var(--primary-color);height:24px;width:24px}.sidebar-collapse-btn{align-items:center;background:var(--primary-color);border:2px solid var(--bg-color);border-radius:50%;box-shadow:0 2px 10px #0000004d;color:var(--primary-text);cursor:pointer;display:flex;flex-shrink:0;font-size:.7rem;font-weight:700;height:32px;justify-content:center;left:300px;padding:0;position:absolute;top:50%;transform:translateY(-50%) translateX(-50%);transition:left .3s cubic-bezier(.4,0,.2,1),background .2s;width:32px;z-index:30}.sidebar-collapse-btn.is-collapsed{left:18px;transform:translateY(-50%)}.sidebar-collapse-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-50%) translateX(-50%) scale(1.08)}.sidebar-collapse-btn.is-collapsed:hover{transform:translateY(-50%) scale(1.08)}.resource-selector{padding:14px 12px}.selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px;padding:0 2px}.selector-header h3{color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.1em;margin:0;text-transform:uppercase}.selected-badge{background:var(--primary-color);border-radius:var(--radius-full);color:var(--primary-text);font-size:.62rem;font-weight:700;padding:2px 8px}.no-resources-msg{color:var(--text-muted);font-size:.8rem;line-height:1.6;padding:2rem 0;text-align:center}.subjects-accordion{display:flex;flex-direction:column;gap:6px}.subject-item{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s}.subject-item.open{border-color:var(--primary-border)}.subject-toggle{align-items:center;background:var(--bg-surface);border:none;border-radius:0;color:var(--text-color);cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;text-align:left;transition:background .15s;width:100%}.subject-toggle:hover{background:#ffffff08;box-shadow:none;transform:none}.subject-name{color:var(--text-color);font-size:.83rem;font-weight:600;gap:8px}.subject-meta,.subject-name{align-items:center;display:flex}.subject-meta{gap:6px}.sub-selected-count{background:var(--primary-color);border-radius:var(--radius-full);color:var(--primary-text);font-size:.6rem;font-weight:700;padding:1px 6px}.chevron{color:var(--text-muted);display:inline-block;font-size:1rem;opacity:.3;transition:transform .2s}.chevron.up{opacity:.7;transform:rotate(90deg)}.subject-resources{background:var(--bg-color);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:3px;padding:6px}.empty-subject{color:var(--text-muted);font-size:.75rem;margin:0;opacity:.35;padding:8px 4px}.res-checkbox-row{align-items:center;border:1.5px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:8px;padding:8px 10px;position:relative;transition:all .15s;-webkit-user-select:none;user-select:none}.res-checkbox-row input[type=checkbox]{display:none}.res-checkbox-row.checked{background:var(--primary-subtle);border-color:var(--primary-border)}.res-checkbox-row:not(.checked):not(.not-ready):hover{background:#ffffff08;border-color:var(--border-color);transform:translateX(2px)}.res-checkbox-row.not-ready{cursor:not-allowed;opacity:.4}.res-tick-box{align-items:center;background:var(--bg-surface);border:2px solid var(--border-hover);border-radius:5px;display:flex;flex-shrink:0;font-size:0;height:17px;justify-content:center;transition:all .18s;width:17px}.res-checkbox-row.checked .res-tick-box{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 2px 6px #818cf84d;color:var(--primary-text);font-size:.65rem}.res-type-icon{border-radius:4px;flex-shrink:0;font-size:.58rem;font-weight:800;letter-spacing:.04em;padding:2px 5px}.res-type-icon.pdf{background:#ef44441f;color:#ef4444}.res-type-icon.docx{background:#3b82f61f;color:#3b82f6}.res-type-icon.txt{background:#6b72801f;color:#9ca3af}.res-name{color:var(--text-secondary);flex:1 1;font-size:.78rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.res-checkbox-row.checked .res-name{color:var(--primary-color);font-weight:600}.processing-dot{font-size:.72rem}.settings-panel{gap:18px;padding:16px 12px}.setting-group,.settings-panel{display:flex;flex-direction:column}.setting-group{gap:9px}.setting-label{align-items:center;color:var(--text-muted);display:flex;font-size:.68rem;font-weight:700;gap:6px;letter-spacing:.08em;text-transform:uppercase}.setting-icon{font-size:.82rem}.chip-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:1fr 1fr}.chip{background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.72rem;font-weight:500;line-height:1.2;padding:8px 6px;text-align:center;transition:all .18s}.chip:hover{background:var(--primary-subtle);box-shadow:none;color:var(--primary-color);transform:none}.chip.chip-active,.chip:hover{border-color:var(--primary-color)}.chip.chip-active{background:var(--primary-color);box-shadow:0 2px 8px #818cf840;color:var(--primary-text);font-weight:700}.chip.chip-active:hover{background:var(--primary-hover);box-shadow:0 2px 8px #818cf84d;transform:none}.setting-select{background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-color);cursor:pointer;font-family:inherit;font-size:.8rem;outline:none;padding:9px 10px;transition:border-color .2s}.setting-select:focus{border-color:var(--primary-color)}.setting-textarea{background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-color);font-family:inherit;font-size:.78rem;line-height:1.55;outline:none;padding:9px 10px;resize:vertical;transition:border-color .2s}.setting-textarea:focus{border-color:var(--primary-color)}.setting-textarea::placeholder{color:var(--text-muted);opacity:.6}.chat-main{background:var(--bg-color);display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.chat-header{background:var(--bg-elevated);border-bottom:1px solid var(--border-color);flex-shrink:0;gap:16px;height:54px;justify-content:space-between;padding:0 20px}.chat-header,.chat-header-left{align-items:center;display:flex}.chat-header-left{flex:1 1;gap:14px;min-width:0}.chat-back-link{align-items:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);display:inline-flex;flex-shrink:0;font-size:.78rem;font-weight:600;gap:5px;padding:6px 12px;text-decoration:none;transition:all .2s;white-space:nowrap}.chat-back-link:hover{background:var(--primary-subtle);border-color:var(--primary-color);color:var(--primary-color)}.header-divider{background:var(--border-color);flex-shrink:0;height:24px;width:1px}.chat-title-block{align-items:center;display:flex;gap:12px;min-width:0}.chat-title{color:var(--text-color);font-size:.95rem;font-weight:700;letter-spacing:-.01em;margin:0;white-space:nowrap}.active-resources-strip{align-items:center;display:flex;flex-wrap:nowrap;gap:5px;overflow:hidden}.active-res-chip{background:var(--primary-subtle);border:1px solid var(--primary-border);border-radius:var(--radius-full);color:var(--primary-color);font-size:.68rem;font-weight:600;max-width:160px;overflow:hidden;padding:3px 10px;text-overflow:ellipsis;white-space:nowrap}.more-chip{max-width:none;opacity:.6}.no-res-hint{color:var(--text-muted);font-size:.73rem;font-style:italic;margin:0;white-space:nowrap}.chat-header-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.settings-summary{display:flex;gap:4px}.settings-pill{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-muted);font-size:.62rem;font-weight:600;letter-spacing:.02em;padding:3px 9px;text-transform:capitalize}.clear-btn{background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.73rem;font-weight:500;padding:5px 12px;transition:all .2s}.clear-btn:hover:not(:disabled){background:var(--error-bg);border-color:var(--error);box-shadow:none;color:var(--error);transform:none}.clear-btn:disabled{cursor:default;opacity:.2}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:28px 32px}.chat-welcome{animation:fadeIn .45s ease;margin:auto;max-width:520px;padding:2rem 1rem;text-align:center}.welcome-icon{animation:float 3s ease-in-out infinite;display:block;font-size:3rem;margin-bottom:20px}.chat-welcome h2{color:var(--text-color);font-size:1.5rem;font-weight:800;letter-spacing:-.03em;margin-bottom:10px}.chat-welcome>p{color:var(--text-muted);font-size:.9rem;line-height:1.65;margin-bottom:28px}.suggestions-label{color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}.suggestion-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.suggestion-chip{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;padding:8px 16px;transition:all .2s}.suggestion-chip:hover{background:var(--primary-subtle);border-color:var(--primary-color);box-shadow:none;color:var(--primary-color);transform:translateY(-1px)}.message-bubble{animation:fadeIn .22s ease;display:flex;gap:12px;max-width:75%}.message-bubble.user-bubble{align-self:flex-end;flex-direction:row-reverse;max-width:65%}.message-bubble.error-bubble{align-self:center;max-width:80%}.bubble-avatar{align-items:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:50%;display:flex;flex-shrink:0;font-size:.9rem;height:32px;justify-content:center;margin-top:4px;width:32px}.user-avatar{background:var(--primary-color);border-color:var(--primary-color)}.bubble-body{display:flex;flex-direction:column;gap:4px}.bubble-content{border-radius:var(--radius-lg);color:var(--text-color);font-size:.875rem;line-height:1.7;padding:12px 16px}.ai-bubble .bubble-content{background:var(--bg-elevated);border:1px solid var(--border-color);border-top-left-radius:4px}.user-bubble .bubble-content{background:var(--primary-color);border-top-right-radius:4px;color:var(--primary-text);font-weight:500}.error-bubble .bubble-content{background:var(--error-bg);border:1px solid #ef444433;border-radius:var(--radius-md);color:#f87171}.bubble-time{color:var(--text-muted);font-size:.63rem;opacity:.5;padding:0 4px}.user-bubble .bubble-time{text-align:right}.msg-para{margin:0 0 5px}.msg-para:last-child{margin-bottom:0}.msg-list-item{margin-bottom:4px;margin-left:18px}.typing-bubble .bubble-body{justify-content:center}.typing-dots{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);border-top-left-radius:4px;display:flex;gap:5px;padding:14px 18px}.typing-dots span{animation:dotPulse 1.4s ease-in-out infinite;background:var(--primary-color);border-radius:50%;height:7px;opacity:.35;width:7px}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.7)}40%{opacity:1;transform:scale(1.1)}}.chat-input-area{background:var(--bg-elevated);border-top:1px solid var(--border-color);flex-shrink:0;padding:12px 24px 16px}.input-wrapper{background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s,box-shadow .2s}.input-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow)}.chat-textarea{background:#0000;border:none;color:var(--text-color);display:block;font-family:inherit;font-size:.9rem;line-height:1.6;outline:none;padding:14px 18px 0;resize:none;width:100%}.chat-textarea::placeholder{color:var(--text-muted);opacity:.5}.input-footer{align-items:center;display:flex;justify-content:space-between;padding:8px 14px 12px}.input-hint{font-size:.7rem;opacity:.5}.input-hint,.send-btn{color:var(--text-muted)}.send-btn{align-items:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:not-allowed;display:flex;font-family:inherit;font-size:.82rem;font-weight:600;gap:7px;opacity:.35;padding:8px 18px;transition:all .2s}.send-btn.active{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 2px 10px #818cf840;color:var(--primary-text);cursor:pointer;opacity:1}.send-btn.active:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.send-arrow{font-size:1rem;line-height:1}.send-spinner{animation:spin .75s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-text);display:inline-block;height:14px;width:14px}@media (max-width:900px){.chat-sidebar{box-shadow:4px 0 24px #0006;height:100%;left:0;min-width:280px;position:absolute;top:0;width:280px;z-index:100}.chat-sidebar.collapsed{min-width:0;width:0}.chat-messages{padding:20px 16px}.chat-input-area{padding:12px 16px 14px}.settings-summary{display:none}.message-bubble{max-width:92%}.user-bubble{max-width:85%}}@media (max-width:640px){.chat-page{height:calc(100vh - 50px)}.chat-header{gap:8px;height:46px;padding:0 12px}.chat-back-link{font-size:.72rem;padding:4px 8px}.header-divider{height:18px}.chat-title{font-size:.85rem}.active-res-chip{font-size:.62rem;max-width:100px;padding:2px 7px}.clear-btn{font-size:.68rem;padding:4px 8px}.chat-messages{gap:14px;padding:14px 12px}.chat-welcome h2{font-size:1.2rem}.chat-welcome>p{font-size:.82rem}.welcome-icon{font-size:2.5rem}.suggestion-chip{font-size:.72rem;padding:6px 12px}.message-bubble{max-width:95%}.user-bubble{max-width:90%}.bubble-avatar{font-size:.8rem;height:28px;width:28px}.bubble-content{border-radius:var(--radius-md);font-size:.82rem;padding:10px 13px}.chat-input-area{padding:8px 12px 12px}.input-wrapper{border-radius:var(--radius-md)}.chat-textarea{font-size:.85rem;padding:10px 14px 0}.input-footer{padding:6px 10px 8px}.send-btn{font-size:.78rem;padding:6px 14px}.sidebar-collapse-btn{font-size:.6rem;height:28px;width:28px}.sidebar-collapse-btn.is-collapsed{left:14px}}.qna-fmt-body{color:var(--text-color);font-size:.88rem;line-height:1.7}.qna-fmt-p{margin:0 0 .55rem}.qna-fmt-p:last-child{margin-bottom:0}.qna-fmt-spacer{height:.4rem}.qna-fmt-h1{border-bottom:1px solid var(--border-color);font-size:1.05rem;margin:.8rem 0 .35rem;padding-bottom:.25rem}.qna-fmt-h1,.qna-fmt-h2{color:var(--text-color);font-weight:700}.qna-fmt-h2{font-size:.96rem;margin:.7rem 0 .3rem}.qna-fmt-h3{color:var(--primary-color);font-size:.9rem;font-weight:600;margin:.6rem 0 .25rem}.qna-fmt-ol,.qna-fmt-ul{display:flex;flex-direction:column;gap:.25rem;margin:.35rem 0 .6rem;padding-left:1.4rem}.qna-fmt-ul{list-style:disc}.qna-fmt-ol{list-style:decimal}.qna-fmt-ol li,.qna-fmt-ul li{line-height:1.6;padding-left:.2rem}.qna-fmt-ul li::marker{color:var(--primary-color)}.qna-fmt-ol li::marker{color:var(--primary-color);font-weight:600}.qna-fmt-blockquote{background:var(--primary-subtle);border-left:3px solid var(--primary-color);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:.5rem 0;padding:.4rem .85rem}.qna-fmt-blockquote p{color:var(--text-secondary);font-size:.86rem;font-style:italic;margin:0}.qna-fmt-hr{border:none;border-top:1px solid var(--border-color);margin:.75rem 0}.qna-fmt-code-block{background:#08080e;border:1px solid var(--border-color);border-radius:var(--radius-md);margin:.55rem 0;overflow:hidden}.qna-fmt-code-lang{background:var(--primary-subtle);border-bottom:1px solid var(--border-color);color:var(--primary-color);display:block;font-family:Inter,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:.25rem .75rem;text-transform:uppercase}.qna-fmt-code-block pre{margin:0;overflow-x:auto;padding:.75rem 1rem}.qna-fmt-code-block code{color:#e2e8f0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.82rem;line-height:1.6;white-space:pre}.qna-fmt-inline-code{background:var(--primary-subtle);border:1px solid var(--primary-border);border-radius:5px;color:var(--primary-color);font-family:JetBrains Mono,Consolas,monospace;font-size:.82em;padding:.12em .38em}.qna-fmt-body strong{color:var(--text-color);font-weight:700}.qna-fmt-body em{color:var(--text-secondary);font-style:italic}.qna-fmt-table-wrap{border:1px solid var(--border-color);border-radius:var(--radius-md);margin:.65rem 0;overflow-x:auto;width:100%}.qna-fmt-table{border-collapse:collapse;font-size:.83rem;line-height:1.5;white-space:nowrap;width:100%}.qna-fmt-table thead tr{background:var(--primary-subtle);border-bottom:2px solid var(--primary-border)}.qna-fmt-table th{color:var(--primary-color);font-size:.8rem;font-weight:700;letter-spacing:.035em;padding:.55rem .9rem;text-transform:uppercase;white-space:nowrap}.qna-fmt-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .12s}.qna-fmt-table tbody tr:last-child{border-bottom:none}.qna-fmt-table tbody tr:nth-child(2n){background:#ffffff05}.qna-fmt-table tbody tr:hover{background:var(--primary-subtle)}.qna-fmt-table td{color:var(--text-color);padding:.5rem .9rem;vertical-align:top;white-space:normal}.qna-fmt-table td:first-child,.qna-fmt-table th:first-child{font-weight:600;padding-left:1rem}.qna-fmt-table td:last-child,.qna-fmt-table th:last-child{padding-right:1rem}.qna-page{background:var(--bg-color);color:var(--text-color);display:flex;flex-direction:column;font-family:Inter,sans-serif;min-height:calc(100vh - 56px)}.qna-header{background:var(--bg-elevated);border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:.85rem 2rem}.qna-header,.qna-header-left{align-items:center;display:flex}.qna-header-left{gap:.75rem}.qna-header-right{align-items:center;display:flex;gap:.75rem}.qna-back{color:var(--text-muted);font-size:.85rem;font-weight:600;text-decoration:none;transition:color .2s;white-space:nowrap}.qna-back:hover{color:var(--primary-color)}.qna-divider{background:var(--border-color);height:20px;width:1px}.qna-page-title{color:var(--text-color);font-size:1.15rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.qna-create-btn{background:var(--primary-color);border:none;border-radius:var(--radius-md);color:var(--primary-text);cursor:pointer;font-size:.85rem;font-weight:700;padding:.5rem 1.1rem;transition:all .2s;white-space:nowrap}.qna-create-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow)}.qna-create-btn.full{margin-top:.75rem;width:100%}.qna-discover-btn{background:#0000;border:1px solid var(--primary-border);border-radius:var(--radius-md);color:var(--primary-color);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:.45rem 1rem;text-decoration:none;transition:all .2s;white-space:nowrap}.qna-discover-btn:hover{background:var(--primary-color);color:var(--primary-text)}.qna-public-badge{align-items:center;background:var(--success-bg);border:1px solid #22c55e33;border-radius:var(--radius-full);color:var(--success);display:inline-flex;font-size:.7rem;font-weight:700;gap:.2rem;margin-right:.35rem;padding:.15rem .5rem;vertical-align:middle;white-space:nowrap}.qna-visibility-block{align-items:flex-start;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:.75rem;justify-content:space-between;padding:.75rem}.qna-visibility-info{display:flex;flex:1 1;flex-direction:column;gap:.2rem}.qna-visibility-toggle{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:.78rem;font-weight:600;padding:.4rem .8rem;transition:all .2s;white-space:nowrap}.qna-visibility-toggle:hover:not(:disabled){border-color:var(--success);box-shadow:none;color:var(--success);transform:none}.qna-visibility-toggle.public{background:var(--success-bg);border-color:#22c55e4d;color:var(--success)}.qna-visibility-toggle.public:hover:not(:disabled){background:var(--error-bg);border-color:#ef44444d;color:var(--error)}.qna-share-row{display:flex;flex-direction:column;gap:.4rem}.qna-share-label{color:var(--text-muted);font-size:.78rem;font-weight:600}.qna-share-input-row{display:flex;gap:.4rem}.qna-share-input{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);flex:1 1;font-family:JetBrains Mono,monospace;font-size:.73rem;outline:none;padding:.4rem .6rem}.qna-copy-btn{background:var(--primary-color);border:none;border-radius:var(--radius-sm);color:var(--primary-text);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:.78rem;font-weight:700;padding:.4rem .7rem;transition:all .2s}.qna-copy-btn:hover{background:var(--primary-hover);box-shadow:none}.qna-detail-header-extras{align-items:center;display:flex;gap:.75rem}.qna-progress-pill{color:var(--primary-color);font-size:.8rem;font-weight:600;white-space:nowrap}.qna-progress-bar-outer{background:var(--bg-surface);border-radius:var(--radius-full);height:5px;overflow:hidden;width:120px}.qna-progress-bar-fill{background:linear-gradient(90deg,var(--primary-color),#a5b4fc);border-radius:var(--radius-full);height:100%;transition:width .5s ease}.qna-list-view{flex:1 1;padding:2rem}.qna-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.qna-set-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:.6rem;overflow:hidden;padding:1.25rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.qna-set-card:before{background:linear-gradient(90deg,var(--primary-color),#a5b4fc);content:"";height:2px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .25s}.qna-set-card:hover{border-color:var(--primary-border);box-shadow:0 8px 28px #818cf814;transform:translateY(-3px)}.qna-set-card:hover:before{opacity:1}.qna-set-card-top{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between}.qna-set-title{color:var(--text-color);flex:1 1;font-size:1rem;font-weight:700;letter-spacing:-.01em;margin:0}.qna-set-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-muted);display:-webkit-box;font-size:.82rem;margin:0;overflow:hidden}.qna-set-meta{display:flex;flex-wrap:wrap;gap:.4rem}.qna-meta-pill{background:var(--primary-subtle);color:var(--primary-color);font-weight:600;padding:.2rem .55rem}.qna-meta-pill,.qna-tag-pill{border-radius:var(--radius-full);font-size:.72rem}.qna-tag-pill{background:#ffffff0a;color:var(--text-muted);font-weight:500;padding:.2rem .5rem}.qna-set-res-chips{display:flex;flex-wrap:wrap;gap:.35rem}.qna-res-chip{align-items:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:.72rem;gap:.3rem;padding:.18rem .5rem}.qna-res-chip.more{border-color:var(--primary-border);color:var(--primary-color)}.qna-set-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:auto;padding-top:.5rem}.qna-ts{color:var(--text-muted);font-size:.75rem}.qna-open-btn{color:var(--primary-color);font-size:.82rem;font-weight:600}.qna-empty-state{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:1rem;justify-content:center;padding:5rem 2rem;text-align:center}.qna-empty-icon{font-size:3.5rem;opacity:.6}.qna-empty-state h2{font-size:1.4rem;font-weight:800;letter-spacing:-.02em}.qna-empty-state p{color:var(--text-muted);max-width:360px}.qna-loading{align-items:center;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;gap:1rem;justify-content:center;padding:4rem}.qna-create-view{flex:1 1;overflow:auto;padding:1.5rem 2rem}.qna-create-form{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 380px;margin:0 auto;max-width:1300px}@media (max-width:900px){.qna-create-form{grid-template-columns:1fr}}.qna-create-left,.qna-create-right{display:flex;flex-direction:column;gap:1.25rem}.qna-section{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:.65rem;padding:1.25rem}.qna-section-title{color:var(--text-color);font-size:.92rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .25rem}.qna-label{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.qna-input{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);font-family:inherit;font-size:.9rem;outline:none;padding:.6rem .9rem;transition:border-color .2s,box-shadow .2s;width:100%}.qna-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow)}.qna-textarea{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);font-family:inherit;font-size:.88rem;outline:none;padding:.6rem .9rem;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.qna-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow)}.qna-textarea.big{font-family:JetBrains Mono,monospace;font-size:.82rem;min-height:160px}.qna-hint{color:var(--text-muted);font-size:.78rem;margin:0}.qna-selected-count{color:var(--primary-color);font-size:.82rem;font-weight:600}.qna-settings-panel{display:flex;flex-direction:column;gap:.75rem}.qna-setting-row{display:flex;flex-direction:column;gap:.4rem}.qna-setting-label{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.qna-chips{display:flex;flex-wrap:wrap;gap:.4rem}.qna-chip{align-items:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;font-size:.78rem;font-weight:500;gap:.05rem;line-height:1.3;padding:.35rem .75rem;transition:all .15s}.qna-chip-hint{font-size:.68rem;font-weight:400;line-height:1;opacity:.5}.qna-chip.active .qna-chip-hint{opacity:.85}.qna-chip:hover{color:var(--primary-color)}.qna-chip.active,.qna-chip:hover{border-color:var(--primary-color)}.qna-chip.active{background:var(--primary-color);box-shadow:0 2px 8px #818cf840;color:var(--primary-text);font-weight:700}.qna-select{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);cursor:pointer;font-family:inherit;font-size:.85rem;outline:none;padding:.4rem .75rem;width:fit-content}.qna-resource-picker{display:flex;flex-direction:column;gap:.5rem}.qna-sub-block{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.qna-sub-toggle{align-items:center;background:var(--bg-surface);border:none;border-radius:0;color:var(--text-color);cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;font-weight:600;justify-content:space-between;padding:.65rem .9rem;text-align:left;transition:background .15s;width:100%}.qna-sub-toggle:hover{background:#ffffff08;box-shadow:none;transform:none}.qna-sub-meta{align-items:center;display:flex;gap:.4rem}.qna-badge{background:var(--primary-color);border-radius:var(--radius-full);color:var(--primary-text);font-size:.68rem;font-weight:700;padding:.1rem .4rem}.qna-chevron{color:var(--text-muted);display:inline-block;font-size:1.2rem;transition:transform .2s}.qna-chevron.up{transform:rotate(-90deg)}.qna-res-list{background:var(--bg-color);display:flex;flex-direction:column;gap:0}.qna-res-row{align-items:center;border-top:1px solid var(--border-color);cursor:pointer;display:flex;font-size:.82rem;gap:.5rem;padding:.5rem .9rem;transition:background .12s}.qna-res-row.checked,.qna-res-row:hover{background:var(--primary-subtle)}.qna-res-row.dimmed{cursor:not-allowed;opacity:.4}.qna-res-row input[type=checkbox]{display:none}.qna-tick{align-items:center;border:2px solid var(--border-hover);border-radius:4px;display:flex;flex-shrink:0;font-size:.65rem;font-weight:700;height:16px;justify-content:center;transition:all .15s;width:16px}.qna-tick.on{background:var(--primary-color);border-color:var(--primary-color);color:var(--primary-text)}.qna-res-name{color:var(--text-secondary);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qna-type-badge{border-radius:4px;flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.03em;padding:.15rem .4rem}.qna-type-badge.pdf{background:#ef44441f;color:#ef4444}.qna-type-badge.docx{background:#3b82f61f;color:#3b82f6}.qna-type-badge.txt{background:#6b72801f;color:#9ca3af}.qna-empty{color:var(--text-muted);font-size:.82rem;padding:.5rem 0}.qna-detail-view{display:flex;flex:1 1;height:calc(100vh - 120px);overflow:hidden}.qna-detail-sidebar{background:var(--bg-elevated);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;width:320px}.qna-detail-tabs{background:var(--bg-surface);border-bottom:1px solid var(--border-color);display:flex;position:sticky;top:0;z-index:5}.qna-detail-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;flex:1 1;font-family:inherit;font-size:.78rem;font-weight:600;padding:.7rem .2rem;transition:all .15s}.qna-detail-tab:hover{box-shadow:none;color:var(--text-secondary);transform:none}.qna-detail-tab.active{background:#0000;border-bottom-color:var(--primary-color);color:var(--primary-color)}.qna-sidebar-panel{display:flex;flex-direction:column;gap:.65rem;padding:1rem}.qna-sidebar-heading{color:var(--text-color);font-size:.88rem;font-weight:700;margin:0}.qna-sidebar-divider{background:var(--border-color);height:1px;margin:.25rem 0}.qna-detail-main{background:var(--bg-color);flex:1 1;overflow-y:auto;padding:1.5rem}.qna-questions-list{gap:1rem;margin:0 auto;max-width:820px}.qna-card,.qna-questions-list{display:flex;flex-direction:column}.qna-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);gap:.75rem;padding:1.1rem 1.25rem;transition:all .2s}.qna-card.answered{border-color:var(--primary-border)}.qna-card.qna-card-loading{opacity:.9;pointer-events:none;position:relative}.qna-card-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:.5rem;inset:0;justify-content:center;position:absolute;z-index:10}.qna-overlay-label{color:var(--primary-color);font-size:.82rem;font-weight:600;margin:0}.qna-card-header{align-items:flex-start;display:flex;gap:.75rem}.qna-q-num{background:var(--primary-color);border-radius:6px;color:var(--primary-text);flex-shrink:0;font-size:.72rem;font-weight:700;margin-top:2px;padding:.2rem .5rem}.qna-q-text{color:var(--text-color);flex:1 1;font-size:.92rem;font-weight:600;line-height:1.5;margin:0}.qna-card-actions{align-items:center;display:flex;flex-shrink:0;gap:.4rem}.qna-done-badge{background:var(--success-bg);border-radius:var(--radius-full);color:var(--success);font-size:.72rem;font-weight:700;padding:.2rem .5rem;white-space:nowrap}.qna-icon-btn{background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.85rem;padding:.3rem .5rem;transition:all .15s}.qna-icon-btn:hover{border-color:var(--primary-color);box-shadow:none;color:var(--primary-color);transform:none}.qna-icon-btn.danger:hover{border-color:var(--error);color:var(--error)}.qna-icon-btn.mini{font-size:.78rem;padding:.2rem .4rem}.qna-action-btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.82rem;font-weight:600;gap:.4rem;justify-content:center;padding:.55rem 1.1rem;transition:all .2s}.qna-action-btn.primary{background:var(--primary-color);color:var(--primary-text)}.qna-action-btn.primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-glow)}.qna-action-btn.secondary{background:#0000;border:1px solid var(--primary-border);color:var(--primary-color)}.qna-action-btn.secondary:hover:not(:disabled){background:var(--primary-subtle)}.qna-action-btn.ghost{background:#0000;border:1px solid var(--border-color);color:var(--text-muted)}.qna-action-btn.ghost:hover{border-color:var(--primary-color);color:var(--primary-color)}.qna-action-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.qna-action-btn.full{width:100%}.qna-card-btns{display:flex;flex-wrap:wrap;gap:.5rem}.qna-inline-settings{animation:fadeIn .2s ease;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.85rem}.qna-inline-settings-label{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-bottom:.6rem;text-transform:uppercase}.qna-answers{animation:fadeIn .25s ease;display:flex;flex-direction:column;gap:.75rem}.qna-answer-block{border:1px solid #0000;border-radius:var(--radius-md);padding:.9rem 1rem}.qna-answer-block.ai{background:var(--primary-subtle);border-color:var(--primary-border)}.qna-answer-block.mock{background:#ffffff08;border-color:var(--border-color)}.qna-answer-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.qna-answer-tag{border-radius:var(--radius-full);font-size:.72rem;font-weight:700;padding:.18rem .5rem}.qna-answer-tag.ai-tag{background:var(--primary-subtle);color:var(--primary-color)}.qna-answer-tag.mock-tag{background:#ffffff0a;color:var(--text-muted)}.qna-answer-text{color:var(--text-color);font-size:.88rem;line-height:1.65;margin:0;white-space:pre-wrap}.qna-linked-res{align-items:center;border-bottom:1px solid var(--border-color);color:var(--text-secondary);display:flex;font-size:.84rem;gap:.5rem;padding:.45rem 0}.qna-linked-res:last-child{border-bottom:none}.qna-link-btn{background:#0000;border:none;color:var(--primary-color);cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:600;padding:0}.qna-link-btn:hover{background:#0000;box-shadow:none;text-decoration:underline;transform:none}.qna-spin{animation:spin .65s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-text);display:inline-block;height:14px;width:14px}.qna-spin.large{border-color:var(--border-color);border-top-color:var(--primary-color);border-width:3px;height:36px;width:36px}@media (max-width:768px){.qna-header{gap:.5rem;padding:.75rem 1rem}.qna-page-title{font-size:1rem}.qna-header-right{gap:.5rem}.qna-create-btn{font-size:.78rem;padding:.4rem .85rem}.qna-discover-btn{font-size:.78rem;padding:.35rem .75rem}.qna-list-view{padding:1.25rem 1rem}.qna-grid{gap:1rem;grid-template-columns:1fr}.qna-set-card{padding:1rem}.qna-empty-state{padding:3rem 1.5rem}.qna-empty-state h2{font-size:1.2rem}.qna-create-view{padding:1rem}.qna-create-form{gap:1rem;grid-template-columns:1fr}.qna-section{border-radius:var(--radius-md);padding:1rem}.qna-section-title{font-size:.85rem}.qna-detail-view{flex-direction:column;height:auto;min-height:calc(100vh - 110px)}.qna-detail-sidebar{border-bottom:1px solid var(--border-color);border-right:none;max-height:240px;overflow-y:auto;width:100%}.qna-detail-main{padding:1rem}.qna-questions-list{gap:.85rem}.qna-card{border-radius:var(--radius-md);padding:.9rem 1rem}.qna-card-header{gap:.5rem}.qna-q-text{font-size:.85rem}.qna-card-btns{gap:.35rem}.qna-action-btn{font-size:.78rem;padding:.45rem .85rem}.qna-answer-block{padding:.75rem}.qna-detail-header-extras{gap:.5rem}.qna-progress-bar-outer{width:80px}}@media (max-width:480px){.qna-header{align-items:flex-start;flex-direction:column}.qna-header-right{justify-content:flex-start;width:100%}.qna-detail-sidebar{max-height:200px}.qna-card-actions{flex-wrap:wrap}}.qp-page{background-color:var(--bg-color);color:var(--text-color);display:flex;flex-direction:column;font-family:Inter,sans-serif;min-height:100vh}.qp-hero{padding:4rem 2rem 3rem}.qp-discover-hero,.qp-hero{background:var(--bg-elevated);border-bottom:1px solid var(--border-color);display:flex;justify-content:center;overflow:hidden;position:relative}.qp-discover-hero{padding:5rem 2rem 4rem;text-align:center}.qp-hero-glow{background:radial-gradient(circle,#818cf81a 0,#0000 70%);filter:blur(40px);height:300px;left:50%;pointer-events:none;position:absolute;top:-150px;transform:translateX(-50%);width:600px;z-index:0}.qp-discover-hero-inner,.qp-hero-content{max-width:900px;position:relative;width:100%;z-index:1}.qp-hero-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.qp-back-link{align-items:center;color:var(--text-muted);display:inline-flex;font-size:.88rem;font-weight:600;gap:.4rem;text-decoration:none;transition:color .2s}.qp-back-link:hover{color:var(--primary-color)}.qp-back-link span{font-size:1.1rem}.qp-discover-title{color:var(--text-color);font-size:2.5rem;font-weight:800;letter-spacing:-.04em;margin:1.5rem 0 .5rem}.qp-discover-sub{color:var(--text-muted);font-size:1.05rem;margin-bottom:2.5rem}.qp-hero-title{color:var(--text-color);font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1.2;margin:0 0 1rem}.qp-hero-desc{color:var(--text-muted);font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.qp-hero-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}.qp-body{flex:1 1;margin:0 auto;max-width:1200px;padding:3rem 2rem;width:100%}.qp-progress-row{align-items:center;display:flex;gap:1rem;margin-bottom:2rem}.qp-progress-track{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-full);flex:1 1;height:6px;max-width:300px;overflow:hidden}.qp-progress-fill{background:linear-gradient(90deg,var(--primary-color),#a5b4fc);border-radius:var(--radius-full);height:100%;transition:width .4s ease}.qp-progress-label{color:var(--primary-color);font-size:.88rem;font-weight:700}.qp-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.qp-btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.88rem;font-weight:700;gap:.5rem;justify-content:center;padding:.6rem 1.3rem;transition:all .2s}.qp-btn-primary{background:var(--primary-color);box-shadow:0 2px 10px #818cf833;color:var(--primary-text)}.qp-btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.qp-btn-ghost{background:#0000;border:1px solid var(--border-color);color:var(--text-secondary)}.qp-btn-ghost:hover{background:#ffffff08;border-color:var(--primary-border);box-shadow:none;color:var(--primary-color);transform:none}.qp-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.qp-search-form{margin:0 auto;max-width:600px}.qp-search-inner{align-items:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;padding:.4rem;transition:border-color .2s,box-shadow .2s}.qp-search-inner:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow)}.qp-search-icon{color:var(--text-muted);font-size:1rem;padding:0 1rem}.qp-search-input{background:none;border:none;color:var(--text-color);flex:1 1;font-family:inherit;font-size:.95rem;outline:none;padding:.5rem 0}.qp-search-input::placeholder{color:var(--text-muted);opacity:.6}.qp-search-btn{padding:.5rem 1.25rem}.qp-meta-pill{align-items:center;background:var(--primary-subtle);color:var(--primary-color);display:inline-flex;font-weight:600}.qp-meta-pill,.qp-tag-pill{border-radius:var(--radius-full);font-size:.78rem;padding:.35rem .75rem}.qp-tag-pill{background:#ffffff0a;color:var(--text-muted);font-weight:500}.qp-public-badge{background:var(--success-bg);border:1px solid #22c55e33;border-radius:var(--radius-full);color:var(--success);font-size:.72rem;font-weight:700;padding:.25rem .75rem}.qp-type-badge{border-radius:4px;font-size:.65rem;font-weight:700;letter-spacing:.03em;padding:.15rem .4rem}.qp-type-badge.pdf{background:#ef44441f;color:#ef4444}.qp-type-badge.docx{background:#3b82f61f;color:#3b82f6}.qp-type-badge.txt{background:#6b72801f;color:#9ca3af}.qp-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.qp-set-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:1rem;overflow:hidden;padding:1.5rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.qp-set-card:hover{border-color:var(--primary-border);box-shadow:0 12px 30px #0006;transform:translateY(-3px)}.qp-set-card:before{background:linear-gradient(90deg,var(--primary-color),#a5b4fc);content:"";height:2px;left:0;opacity:0;position:absolute;top:0;transition:opacity .25s;width:100%}.qp-set-card:hover:before{opacity:1}.qp-set-card-top{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.qp-set-title{color:var(--text-color);font-size:1.1rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin:0}.qp-set-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-muted);display:-webkit-box;font-size:.88rem;line-height:1.5;margin:0;overflow:hidden}.qp-set-meta{display:flex;flex-wrap:wrap;gap:.5rem}.qp-set-res-chips{border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem 0}.qp-res-chip{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.73rem;gap:.4rem;padding:.2rem .5rem}.qp-res-chip,.qp-set-footer{align-items:center;display:flex}.qp-set-footer{border-top:1px solid var(--border-color);justify-content:space-between;margin-top:auto;padding-top:.75rem}.qp-ts{color:var(--text-muted);font-size:.78rem}.qp-open-btn{color:var(--primary-color);font-size:.85rem;font-weight:600;transition:transform .2s}.qp-set-card:hover .qp-open-btn{transform:translateX(4px)}.qp-questions{display:flex;flex-direction:column;gap:1.25rem;margin:0 auto;max-width:900px}.qp-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:all .25s}.qp-card.answered{border-left:3px solid var(--primary-color)}.qp-card:hover{border-color:var(--primary-border)}.qp-card-header{align-items:flex-start;display:flex;gap:1rem}.qp-q-num{background:var(--primary-subtle);border-radius:var(--radius-sm);color:var(--primary-color);flex-shrink:0;font-size:.78rem;font-weight:800;margin-top:2px;padding:.35rem .6rem}.qp-q-text{color:var(--text-color);flex:1 1;font-size:1rem;font-weight:600;line-height:1.6;margin:0}.qp-toggle-btn{background:#0000;border:1px solid var(--primary-border);border-radius:var(--radius-sm);color:var(--primary-color);cursor:pointer;flex-shrink:0;font-size:.78rem;font-weight:600;padding:.4rem .8rem;transition:all .2s}.qp-toggle-btn:hover{background:var(--primary-subtle);box-shadow:none;transform:none}.qp-unanswered-badge{background:#ffffff0a;border-radius:6px;color:var(--text-muted);flex-shrink:0;font-size:.73rem;font-weight:600;padding:.3rem .6rem}.qp-answer-block{animation:fadeIn .3s ease;background:var(--primary-subtle);border:1px solid var(--primary-border);border-radius:var(--radius-md);margin-top:1.25rem;padding:1.25rem}.qp-answer-header{margin-bottom:1rem}.qp-answer-tag{background:var(--primary-subtle);border-radius:6px;color:var(--primary-color);font-size:.73rem;font-weight:700;padding:.25rem .6rem}.qp-fmt-body{color:var(--text-color);font-size:.92rem;line-height:1.7}.qp-fmt-p{margin:0 0 .75rem}.qp-fmt-p:last-child{margin-bottom:0}.qp-fmt-spacer{height:.5rem}.qp-fmt-ol,.qp-fmt-ul{color:var(--text-color);margin:.5rem 0 1rem;padding-left:1.5rem}.qp-fmt-ol li,.qp-fmt-ul li{margin-bottom:.4rem}.qp-fmt-ol li::marker,.qp-fmt-ul li::marker{color:var(--primary-color)}.qp-inline-code{background:var(--primary-subtle);border:1px solid var(--primary-border);border-radius:4px;color:var(--primary-color);font-family:JetBrains Mono,monospace;font-size:.85em;padding:.15rem .4rem}.qp-empty-state,.qp-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:6rem 2rem;text-align:center}.qp-empty-icon{font-size:3.5rem;margin-bottom:1.5rem;opacity:.6}.qp-empty-state h2{font-size:1.6rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .5rem}.qp-empty-state p{color:var(--text-muted);font-size:1rem;margin:0 0 2rem}@keyframes qpSpin{to{transform:rotate(1turn)}}.qp-spin-sm{animation:qpSpin .6s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-text);display:inline-block;height:14px;width:14px}.qp-spin-lg{animation:qpSpin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);display:inline-block;height:44px;margin-bottom:1.5rem;width:44px}@media (max-width:768px){.qp-discover-hero,.qp-hero{padding:2.5rem 1.25rem 2rem}.qp-discover-title{font-size:1.8rem}.qp-discover-sub{font-size:.95rem;margin-bottom:1.5rem}.qp-hero-title{font-size:1.5rem}.qp-hero-desc{font-size:.9rem}.qp-body{padding:1.5rem 1rem}.qp-progress-row{align-items:flex-start;flex-direction:column;gap:.5rem}.qp-progress-track{max-width:100%}.qp-grid{gap:1rem;grid-template-columns:1fr}.qp-set-card{padding:1.25rem}.qp-set-title{font-size:1rem}.qp-card{padding:1.1rem}.qp-card-header{flex-wrap:wrap;gap:.75rem}.qp-q-text{font-size:.92rem}.qp-answer-block{padding:1rem}.qp-hero-actions{gap:.5rem}.qp-btn{font-size:.82rem;padding:.5rem 1rem}.qp-search-inner{padding:.3rem}.qp-search-input{font-size:.88rem}.qp-empty-state{padding:3rem 1.5rem}.qp-empty-state h2{font-size:1.3rem}}@media (max-width:480px){.qp-discover-hero,.qp-hero{padding:2rem 1rem 1.5rem}.qp-discover-title{font-size:1.5rem}.qp-hero-meta{gap:.5rem}.qp-meta-pill,.qp-tag-pill{font-size:.7rem;padding:.25rem .55rem}.qp-set-card-top{flex-direction:column;gap:.5rem}}.admin-container{animation:fadeIn .4s ease;display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1400px;padding:1rem}.admin-header h1{color:var(--text-color);font-size:2rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.5rem}.admin-header p{color:var(--text-muted);font-size:1rem}.admin-tabs{border-bottom:1px solid var(--border-color);display:flex;gap:1rem;padding-bottom:1rem}.admin-tab{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.admin-tab:hover{background:var(--primary-subtle);border-color:var(--primary-border);color:var(--primary-color)}.admin-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:var(--primary-text)}.admin-content{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem}.admin-overview{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s}.stat-card:hover{border-color:var(--primary-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card h3{color:var(--text-muted);font-size:.85rem;letter-spacing:.05em;margin:0;text-transform:uppercase}.stat-value{color:var(--primary-color);font-size:2rem;font-weight:800;margin:0}.admin-users-table-container{overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table th{background:var(--bg-elevated);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.85rem;letter-spacing:.03em;padding:1rem;text-transform:uppercase}.admin-table td{border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:.95rem;padding:1rem;vertical-align:middle}.admin-table tbody tr:hover{background:var(--bg-elevated)}.role-badge{border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.role-badge.admin{background:#ef444426;border:1px solid #ef44444d;color:#ef4444}.role-badge.student{background:#3b82f626;border:1px solid #3b82f64d;color:#3b82f6}.user-info{display:flex;flex-direction:column;gap:.2rem}.user-name{font-weight:600}.user-email{color:var(--text-muted);font-size:.8rem}.highlight-val{color:var(--primary-color);font-weight:700}.admin-loading{align-items:center;color:var(--text-muted);display:flex;font-size:1.2rem;height:50vh;justify-content:center}.admin-search-container{margin-bottom:1.5rem}.admin-search-input{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);font-size:.95rem;max-width:400px;padding:.75rem 1rem;transition:all .2s;width:100%}.admin-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-subtle);outline:none}.add-credits-controls{align-items:center;display:flex;gap:.5rem}.add-credits-input{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-color);font-size:.85rem;padding:.4rem .5rem;width:80px}.add-credits-input:focus{border-color:var(--primary-color);outline:none}.add-credits-btn{background:var(--primary-color);border:none;border-radius:var(--radius-sm);color:var(--primary-text);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .75rem;transition:background .2s}.add-credits-btn:hover{background:var(--primary-hover)}.subject-selection-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-top:15px}.subject-selection-label{align-items:center;background-color:var(--surface-light);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 2px 4px #0000000d;color:var(--text-primary);cursor:pointer;display:flex;font-weight:500;gap:12px;padding:14px 18px;transition:all .3s ease}.subject-selection-label:hover{background-color:var(--surface-color);border-color:#6366f180;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.subject-selection-label.selected{background-color:#6366f10d;border-color:var(--primary-color)}.subject-selection-label input[type=checkbox]{accent-color:var(--primary-color);cursor:pointer;height:18px;width:18px}.subject-selection-details{color:var(--text-secondary);font-size:.85rem;font-weight:400;margin-left:auto}.subject-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-container{animation:fadeIn .3s ease;display:flex;flex-direction:column;gap:0}.rp-subtabs{border-bottom:2px solid var(--border-color);display:flex;gap:.5rem;margin-bottom:1.75rem;padding-bottom:0}.rp-subtab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;border-radius:var(--radius-md) var(--radius-md) 0 0;bottom:-2px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.65rem 1.25rem;position:relative;transition:all .2s}.rp-subtab:hover{background:var(--primary-subtle);transform:none}.rp-subtab.active,.rp-subtab:hover{box-shadow:none;color:var(--primary-color)}.rp-subtab.active{background:var(--bg-surface);border-bottom:2px solid var(--primary-color)}.rp-badge{background:var(--primary-color);border-radius:var(--radius-full);color:#fff;font-size:.72rem;font-weight:700;line-height:1.4;padding:.1rem .45rem}.rp-section{display:flex;flex-direction:column;gap:1.5rem}.rp-section-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.rp-section-header h2{color:var(--text-color);font-size:1.35rem;font-weight:700;margin-bottom:.3rem}.rp-section-header p{color:var(--text-secondary);font-size:.9rem}.rp-add-subject-row{align-items:center;display:flex;gap:.75rem}.rp-input{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);flex:1 1;font-size:.95rem;max-width:420px;padding:.7rem 1rem;transition:all .2s;width:auto}.rp-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.rp-btn-primary{background:var(--primary-color);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.7rem 1.4rem;transition:all .2s;white-space:nowrap}.rp-btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.rp-btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.45;transform:none}.rp-btn-primary.rp-btn-sm{font-size:.82rem;padding:.45rem .9rem}.rp-btn-primary.rp-btn-lg{font-size:1rem;padding:.85rem 2rem}.rp-btn-ghost{background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:.88rem;font-weight:500;padding:.65rem 1.2rem;transition:all .2s;white-space:nowrap}.rp-btn-ghost:hover{background:var(--bg-elevated);box-shadow:none;color:var(--text-color);transform:none}.rp-btn-outline{background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:600;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.rp-btn-outline:hover{background:var(--bg-elevated);border-color:var(--border-hover);box-shadow:none;color:var(--text-color);transform:none}.rp-btn-outline-danger{border-color:#ef44444d;color:var(--error)}.rp-btn-outline-danger:hover{background:var(--error-bg);border-color:var(--error);color:var(--error)}.rp-btn-outline-success{border-color:#22c55e4d;color:var(--success)}.rp-btn-outline-success:hover{background:var(--success-bg);border-color:var(--success);color:var(--success)}.rp-btn-icon{background:#0000;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.95rem;line-height:1;padding:.3rem .45rem;transition:all .15s}.rp-btn-icon:hover{box-shadow:none;transform:none}.rp-btn-icon.rp-btn-danger:hover{background:var(--error-bg)}.rp-btn-sm{font-size:.78rem;padding:.3rem .65rem}.rp-btn-warning{background:#eab3081f;border:1px solid #eab3084d;border-radius:var(--radius-sm);color:#ca8a04;cursor:pointer;font-weight:600;transition:all .2s}.rp-btn-warning:hover{background:#eab30833;box-shadow:none;transform:none}.rp-empty-state{align-items:center;background:var(--bg-elevated);border:1px dashed var(--border-hover);border-radius:var(--radius-lg);color:var(--text-muted);display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:3rem 1.5rem;text-align:center}.rp-empty-state.rp-empty-sm{font-size:.9rem;padding:1.5rem}.rp-empty-icon{font-size:2.5rem;opacity:.5}.rp-subjects-grid{display:flex;flex-direction:column;gap:.75rem}.rp-subject-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s,box-shadow .2s}.rp-subject-card:hover{border-color:var(--border-hover)}.rp-subject-card.expanded{border-color:var(--primary-border);box-shadow:0 0 0 1px var(--primary-border)}.rp-subject-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.25rem;transition:background .15s;-webkit-user-select:none;user-select:none}.rp-subject-header:hover{background:var(--bg-surface)}.rp-subject-title{align-items:center;display:flex;gap:.85rem}.rp-subject-icon{flex-shrink:0;font-size:1.4rem}.rp-subject-title h3{color:var(--text-color);font-size:1rem;font-weight:600;margin:0 0 .1rem}.rp-subject-meta{color:var(--text-muted);font-size:.78rem}.rp-subject-actions{align-items:center;display:flex;gap:.5rem}.rp-chevron{color:var(--text-muted);font-size:.75rem;padding:.2rem}.rp-subject-body{animation:fadeIn .15s ease;background:var(--bg-surface);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem;padding:1.1rem 1.25rem}.rp-resource-list{border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:0;overflow:hidden}.rp-resource-item{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:space-between;padding:.6rem .9rem;transition:background .15s}.rp-resource-item:last-child{border-bottom:none}.rp-resource-item:hover{background:var(--bg-elevated)}.rp-resource-info{align-items:center;display:flex;gap:.65rem;min-width:0}.rp-resource-icon{flex-shrink:0;font-size:1.1rem}.rp-resource-name{color:var(--text-color);display:block;font-size:.88rem;font-weight:500;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-resource-meta{color:var(--text-muted);display:block;font-size:.75rem}.rp-resource-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.rp-status-badge{border-radius:var(--radius-full);font-size:.75rem;font-weight:600;padding:.2rem .6rem;white-space:nowrap}.rp-status-success{background:var(--success-bg);border:1px solid #22c55e33;color:var(--success)}.rp-no-resources{color:var(--text-muted);font-size:.85rem;font-style:italic;margin:0;padding:.5rem 0}.rp-upload-row{background:var(--bg-elevated);border:1px dashed var(--border-hover);border-radius:var(--radius-md);gap:.75rem;padding:.75rem 1rem}.rp-file-label,.rp-upload-row{align-items:center;display:flex}.rp-file-label{cursor:pointer;flex:1 1;gap:.6rem;min-width:0}.rp-file-input{display:none;width:auto}.rp-file-btn{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:.82rem;font-weight:500;padding:.35rem .8rem;transition:all .2s;white-space:nowrap}.rp-file-label:hover .rp-file-btn{background:var(--primary-subtle);border-color:var(--primary-border);color:var(--primary-color)}.rp-file-name{color:var(--text-muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-form{gap:1.5rem;max-width:680px}.rp-form,.rp-form-group{display:flex;flex-direction:column}.rp-form-group{gap:.5rem}.rp-label{color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.rp-form-actions{align-items:center;display:flex;gap:.75rem;padding-top:.5rem}.rp-select-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:.25rem}.rp-select-card{align-items:center;background:var(--bg-elevated);border:1.5px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:.75rem;padding:.85rem 1rem;transition:all .2s;-webkit-user-select:none;user-select:none}.rp-select-card input[type=checkbox]{accent-color:var(--primary-color);cursor:pointer;flex-shrink:0;height:16px;width:16px;width:auto}.rp-select-card:hover{background:var(--primary-subtle);border-color:var(--primary-border)}.rp-select-card.selected{background:var(--primary-subtle);border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-border)}.rp-select-info{display:flex;flex:1 1;flex-direction:column;gap:.15rem;min-width:0}.rp-select-name{color:var(--text-color);font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-select-count{color:var(--text-muted);font-size:.75rem}.rp-select-check{flex-shrink:0;font-size:.95rem}.rp-packs-grid{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.rp-pack-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.8rem;padding:1.25rem 1.4rem;transition:box-shadow .2s,border-color .2s,transform .2s}.rp-pack-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.rp-pack-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.rp-pack-header h3{color:var(--text-color);font-size:1.05rem;font-weight:700;line-height:1.3;margin:0}.rp-visibility-badge{border-radius:var(--radius-full);flex-shrink:0;font-size:.75rem;font-weight:600;padding:.2rem .65rem;white-space:nowrap}.rp-visibility-badge.visible{background:var(--success-bg);border:1px solid #22c55e33;color:var(--success)}.rp-visibility-badge.hidden{background:var(--error-bg);border:1px solid #ef444433;color:var(--error)}.rp-pack-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0}.rp-pack-stats{color:var(--text-muted);display:flex;font-size:.82rem;gap:1rem}.rp-pack-actions{border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.4rem}@media (max-width:640px){.rp-subtabs{flex-wrap:wrap;gap:.25rem}.rp-subtab{font-size:.8rem;padding:.5rem .75rem}.rp-add-subject-row{align-items:stretch;flex-direction:column}.rp-input{max-width:100%}.rp-packs-grid,.rp-select-grid{grid-template-columns:1fr}.rp-upload-row{align-items:flex-start;flex-direction:column}}.pack-card{align-items:flex-start;cursor:default;display:flex!important;flex-direction:column!important;gap:1.5rem;justify-content:space-between;min-height:200px}.pack-card:hover{box-shadow:0 4px 12px #0000001a;transform:none}.pack-details{color:var(--text-secondary);font-size:.9rem;margin-top:10px}.add-pack-btn{background-color:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-top:auto;padding:12px 20px;text-align:center;transition:all .3s ease;white-space:nowrap;width:100%}.add-pack-btn:hover:not(:disabled){background-color:var(--primary-color-hover);transform:translateY(-2px)}.add-pack-btn:disabled{background-color:#555;cursor:not-allowed;transform:none}.back-btn{background-color:initial;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;padding:8px 16px;transition:all .2s}.back-btn:hover{background-color:var(--surface-lighter)}.guest-dashboard{background:#f8fafc;background:var(--bg-primary,#f8fafc);color:#0f172a;color:var(--text-primary,#0f172a);font-family:Inter,system-ui,-apple-system,sans-serif;min-height:100vh;padding-bottom:4rem}.guest-hero{background:linear-gradient(135deg,#1e1b4b,#312e81 40%,#4338ca);box-shadow:0 10px 30px #00000026;color:#fff;overflow:hidden;padding:3.5rem 1.5rem 3rem;position:relative;text-align:center}.guest-hero:before{background:radial-gradient(circle,#ffffff14 0,#0000 60%);content:"";height:200%;left:-20%;pointer-events:none;position:absolute;top:-50%;width:140%}.hero-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #fff3;border-radius:9999px;display:inline-block;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;padding:.35rem 1rem}.guest-hero h1{-webkit-text-fill-color:#0000;background:linear-gradient(180deg,#fff,#e0e7ff);-webkit-background-clip:text;font-size:2.75rem;font-weight:800;letter-spacing:-.025em;margin:0 0 .75rem}.guest-hero p{color:#c7d2fe;font-size:1.1rem;line-height:1.6;margin:0 auto 1.75rem;max-width:650px}.hero-cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-primary{align-items:center;background:#6366f1;border:none;border-radius:.5rem;box-shadow:0 4px 14px #6366f166;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;justify-content:center;padding:.75rem 1.75rem;text-decoration:none;transition:all .2s ease}.btn-primary:hover{background:#4f46e5;box-shadow:0 6px 20px #6366f180;transform:translateY(-1px)}.btn-secondary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff40;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.75rem;text-decoration:none;transition:all .2s ease}.btn-secondary:hover{background:#fff3;transform:translateY(-1px)}.guest-main-container{margin:-1.5rem auto 0;max-width:1200px;padding:0 1.5rem;position:relative;z-index:10}.guest-controls{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:1rem;box-shadow:0 10px 25px -5px #0000000d;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1rem 1.25rem}.semester-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem}.sem-tab{background:#f1f5f9;background:var(--bg-tab,#f1f5f9);border:1px solid #0000;border-radius:.5rem;color:#64748b;color:var(--text-muted,#64748b);cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.1rem;transition:all .2s ease;white-space:nowrap}.sem-tab:hover{background:#eef2ff;color:#4f46e5}.sem-tab.active{background:#4f46e5;box-shadow:0 4px 12px #4f46e54d;color:#fff}.guest-search-box{align-items:center;background:#f1f5f9;background:var(--bg-tab,#f1f5f9);border:1px solid #cbd5e1;border:1px solid var(--border-color,#cbd5e1);border-radius:.5rem;display:flex;padding:.4rem .8rem;transition:border-color .2s ease;width:280px}.guest-search-box:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.guest-search-box .search-icon{font-size:.9rem;margin-right:.5rem;opacity:.6}.guest-search-box input{background:#0000;border:none;color:#0f172a;color:var(--text-primary,#0f172a);font-size:.9rem;outline:none;width:100%}.clear-search{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.9rem;padding:0 .2rem}.clear-search:hover{color:#475569}.guest-loading{color:#64748b;color:var(--text-muted,#64748b);padding:4rem 1rem;text-align:center}.spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.no-subjects-card{background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:1rem;box-shadow:0 4px 15px #00000008;padding:3.5rem 1.5rem;text-align:center}.empty-icon{font-size:3.5rem;margin-bottom:1rem}.no-subjects-card h3{font-size:1.3rem;font-weight:700;margin-bottom:.5rem}.no-subjects-card p{color:#64748b;color:var(--text-muted,#64748b);margin-bottom:1.5rem}.quick-links-row{display:flex;gap:1.5rem;justify-content:center}.btn-link{color:#4f46e5;font-weight:600;text-decoration:none}.btn-link:hover{text-decoration:underline}.subjects-grid{display:flex;flex-direction:column;gap:1.25rem}.guest-subject-card{background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:.875rem;box-shadow:0 4px 12px #00000008;overflow:hidden;transition:all .2s ease}.guest-subject-card:hover{border-color:#c7d2fe;box-shadow:0 8px 24px #6366f114}.subject-card-header{align-items:center;background:#fff;background:var(--bg-card,#fff);cursor:pointer;display:flex;justify-content:space-between;padding:1.25rem 1.5rem;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.subject-card-header:hover{background:#f8fafc;background:var(--bg-hover,#f8fafc)}.subject-header-info{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.sem-badge{background:#e0e7ff;border-radius:.375rem;color:#3730a3;font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:.25rem .6rem;text-transform:uppercase}.subject-header-info h2{color:#0f172a;color:var(--text-primary,#0f172a);font-size:1.25rem;font-weight:700;margin:0}.resource-count{background:#f1f5f9;background:var(--bg-tab,#f1f5f9);border-radius:.375rem;color:#64748b;color:var(--text-muted,#64748b);font-size:.875rem;padding:.2rem .6rem}.expand-toggle-btn{background:#0000;border:1px solid #cbd5e1;border:1px solid var(--border-color,#cbd5e1);border-radius:.375rem;color:#475569;color:var(--text-muted,#475569);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .8rem;transition:all .2s ease}.expand-toggle-btn:hover{background:#4f46e5;border-color:#4f46e5;color:#fff}.subject-resources-container{background:#fafafa;background:var(--bg-subtle,#fafafa);border-top:1px dashed #e2e8f0;border-top:1px dashed var(--border-color,#e2e8f0);padding:1rem 1.5rem 1.5rem}.empty-resources-msg{color:#94a3b8;font-size:.9rem;font-style:italic;margin:.5rem 0}.guest-resource-list{display:flex;flex-direction:column;gap:.75rem}.guest-resource-item{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:.625rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:.9rem 1.25rem;transition:transform .15s ease,box-shadow .15s ease}.guest-resource-item:hover{border-color:#a5b4fc;box-shadow:0 4px 12px #0000000a;transform:translateX(4px)}.res-file-details{align-items:center;display:flex;gap:.875rem}.res-type-icon{font-size:1.5rem}.res-name-block{display:flex;flex-direction:column}.res-filename{color:#1e293b;color:var(--text-primary,#1e293b);font-size:.95rem;font-weight:600}.res-meta{color:#64748b;color:var(--text-muted,#64748b);font-size:.775rem;margin-top:.15rem}.res-action-buttons{display:flex;gap:.6rem}.btn-action{align-items:center;border:none;border-radius:.375rem;cursor:pointer;display:inline-flex;font-size:.825rem;font-weight:600;gap:.35rem;padding:.45rem .9rem;transition:all .2s ease}.view-pdf-btn{background:#3b82f6;color:#fff}.view-pdf-btn:hover{background:#2563eb;box-shadow:0 3px 10px #3b82f64d}.view-summary-btn{background:#8b5cf6;color:#fff}.view-summary-btn:hover{background:#7c3aed;box-shadow:0 3px 10px #8b5cf64d}.guest-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172ab3;bottom:0;display:flex;justify-content:center;left:0;padding:1.5rem;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.guest-modal{background:#fff;background:var(--bg-card,#fff);border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.pdf-modal{height:85vh}.summary-modal{max-height:85vh;max-width:750px}.modal-header{background:#f8fafc;background:var(--bg-tab,#f8fafc);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;padding:1rem 1.5rem}.modal-header,.modal-title-box{align-items:center;display:flex}.modal-title-box{gap:.75rem}.modal-title-box h3{color:#0f172a;color:var(--text-primary,#0f172a);font-size:1.1rem;font-weight:700;margin:0}.modal-icon{font-size:1.25rem}.modal-header-actions{align-items:center;display:flex;gap:1rem}.btn-modal-link{color:#4f46e5;font-size:.85rem;font-weight:600;text-decoration:none}.btn-modal-link:hover{text-decoration:underline}.modal-close-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.75rem;line-height:1;padding:0}.modal-close-btn:hover{color:#0f172a}.modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.pdf-body{display:flex;flex-direction:column;padding:0}.pdf-iframe{border:none;flex:1 1;height:100%;width:100%}.unsupported-preview{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:3rem;text-align:center}.unsupported-preview .large-icon{font-size:4rem;margin-bottom:1rem}.summary-loading{color:#64748b;color:var(--text-muted,#64748b);padding:3rem 1rem;text-align:center}.markdown-content{color:#334155;color:var(--text-primary,#334155);font-size:.975rem;line-height:1.7}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:#0f172a;color:var(--text-primary,#0f172a);margin-bottom:.5rem;margin-top:1.25rem}.markdown-content ol,.markdown-content ul{margin-bottom:1rem;padding-left:1.5rem}.markdown-content li{margin-bottom:.35rem}.modal-footer{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.guest-note{color:#475569;font-size:.85rem;font-weight:500}.btn-sm{font-size:.85rem;padding:.5rem 1rem}[data-theme=dark] .guest-dashboard{--bg-primary:#0f172a;--bg-card:#1e293b;--bg-subtle:#0f172a;--bg-tab:#334155;--bg-hover:#334155;--border-color:#334155;--text-primary:#f8fafc;--text-muted:#94a3b8}[data-theme=dark] .subject-card-header:hover{background:#334155}[data-theme=dark] .sem-badge{background:#312e81;color:#c7d2fe}[data-theme=dark] .modal-footer,[data-theme=dark] .modal-header{background:#0f172a;border-color:#334155}.guest-header{align-items:center;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--bg-elevated);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 2rem}.guest-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-color),#a5b4fc);-webkit-background-clip:text;background-clip:text;font-size:1.3rem;font-weight:700;letter-spacing:-.02em}.theme-toggle{background:#0000;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:1.3rem;padding:.4rem;transition:all .2s}.theme-toggle:hover{background:#ffffff0d;box-shadow:none;transform:none}.main-content{animation:fadeIn .3s ease;margin:0 auto;max-width:1280px;padding:2rem}@media (max-width:768px){.guest-header{padding:.75rem 1rem}.guest-header h2{font-size:1.1rem}.main-content{padding:1.25rem 1rem}}.primary-btn{background:var(--primary-color);border:none;border-radius:var(--radius-md);color:var(--primary-text);cursor:pointer;font-size:.88rem;font-weight:600;padding:.65rem 1.25rem;transition:all .2s}.primary-btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.primary-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.45;transform:none}
/*# sourceMappingURL=main.e4c2353c.css.map*/