@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-page:#f8f9fc;--bg-white:#fff;--bg-subtle:#f1f3f8;--bg-muted:#e8eaf0;--accent:#4f46e5;--accent-hover:#4338ca;--accent-light:#eef2ff;--accent-mid:#c7d2fe;--accent-text:#3730a3;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-faint:#cbd5e1;--border:#e2e8f0;--border-focus:#a5b4fc;--green:#10b981;--green-light:#d1fae5;--amber:#f59e0b;--amber-light:#fef3c7;--red:#ef4444;--red-light:#fee2e2;--blue:#3b82f6;--blue-light:#dbeafe;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 4px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 12px #0f172a14, 0 2px 4px #0f172a0a;--shadow-lg:0 8px 24px #0f172a1a, 0 4px 8px #0f172a0f;--shadow-xl:0 20px 48px #0f172a1f, 0 8px 16px #0f172a0f;--shadow-accent:0 4px 14px #4f46e540;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:18px;--r-2xl:24px;--r-full:9999px;--t-fast:.14s cubic-bezier(.4, 0, .2, 1);--t-base:.2s cubic-bezier(.4, 0, .2, 1);--t-slow:.32s cubic-bezier(.4, 0, .2, 1);--sidebar-w:240px;--topbar-h:60px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.6}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-page);min-height:100vh;color:var(--text-primary);overflow-x:hidden}img,svg{display:block}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.btn{border-radius:var(--r-md);transition:background var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast);white-space:nowrap;cursor:pointer;border:1.5px solid #0000;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.875rem;font-weight:600;line-height:1;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-accent)}.btn-secondary{background:var(--bg-white);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-subtle);border-color:var(--border-focus)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-subtle);color:var(--text-primary)}.btn-danger{background:var(--red-light);color:var(--red);border-color:#0000}.btn-danger:hover{background:var(--red);color:#fff}.btn-sm{border-radius:var(--r-sm);padding:.375rem .75rem;font-size:.8rem}.btn-lg{border-radius:var(--r-lg);padding:.75rem 1.5rem;font-size:.95rem}.btn-xl{border-radius:var(--r-lg);padding:.875rem 1.75rem;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm)}.form-label{color:var(--text-secondary);letter-spacing:.01em;margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.form-input,.form-select,.form-textarea{width:100%;color:var(--text-primary);background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-md);transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;padding:.625rem .875rem;font-size:.9rem}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border-focus)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f46e51f}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem}.form-textarea{resize:vertical;min-height:100px;line-height:1.6}.badge{border-radius:var(--r-full);letter-spacing:.02em;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-accent{background:var(--accent-light);color:var(--accent-text)}.badge-green{background:var(--green-light);color:#065f46}.badge-amber{background:var(--amber-light);color:#92400e}.badge-red{background:var(--red-light);color:#991b1b}.badge-blue{background:var(--blue-light);color:#1e40af}.badge-gray{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border)}.divider{background:var(--border);width:100%;height:1px}.skeleton{background:linear-gradient(90deg, var(--bg-subtle) 25%, var(--bg-muted) 50%, var(--bg-subtle) 75%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-wave}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.4)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin}.spinner-sm{width:14px;height:14px}.spinner-lg{border-width:3px;width:28px;height:28px}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.section-pad{padding:5rem 0}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.w-full{width:100%}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border-radius:var(--r-lg);box-shadow:var(--shadow-xl);cursor:pointer;pointer-events:all;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid #0000;align-items:center;gap:.65rem;max-width:340px;padding:.75rem 1.1rem;font-size:.875rem;font-weight:500;animation:.22s cubic-bezier(.34,1.56,.64,1) both toast-in;display:flex}.toast--success{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.toast--error{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.toast--warning{color:#92400e;background:#fffbeb;border-color:#fcd34d}.toast--info{background:var(--accent-light);color:var(--accent-text);border-color:var(--accent-mid)}.toast-icon{flex-shrink:0;font-size:1rem;font-weight:800;line-height:1}.toast-message{line-height:1.4}@keyframes toast-in{0%{opacity:0;transform:translate(20px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.sidebar{width:var(--sidebar-w);background:var(--bg-white);border-right:1px solid var(--border);min-height:100vh;transition:width var(--t-slow);z-index:100;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar--collapsed{width:64px}.sidebar-logo{border-bottom:1px solid var(--border);min-height:var(--topbar-h);align-items:center;gap:.6rem;padding:1.1rem 1rem;display:flex}.sidebar-logo-icon{background:var(--accent);color:#fff;border-radius:var(--r-md);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.sidebar-logo-text{color:var(--text-primary);white-space:nowrap;font-size:1rem;font-weight:700}.sidebar-logo-accent{color:var(--accent)}.sidebar-portal-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:-.2rem;font-size:.68rem;font-weight:700;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:.75rem .5rem;display:flex;overflow-y:auto}.sidebar-nav-item{border-radius:var(--r-md);color:var(--text-secondary);transition:background var(--t-fast), color var(--t-fast);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:.65rem;width:100%;padding:.55rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.sidebar-nav-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.sidebar-nav-item--active{background:var(--accent-light);color:var(--accent);font-weight:600}.sidebar-nav-item--active:hover{background:var(--accent-light);color:var(--accent)}.sidebar-nav-icon{flex-shrink:0}.sidebar-nav-label{white-space:nowrap}.sidebar-bottom{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:.5rem;display:flex}.sidebar-logout{color:var(--text-muted)}.sidebar-logout:hover{background:var(--red-light);color:var(--red)}.sidebar-collapse-btn{border-radius:var(--r-sm);width:100%;height:32px;color:var(--text-muted);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-collapse-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.topbar{height:var(--topbar-h);background:var(--bg-white);border-bottom:1px solid var(--border);z-index:90;align-items:center;gap:1rem;padding:0 1.5rem;display:flex;position:sticky;top:0}.topbar-title h1{color:var(--text-primary);white-space:nowrap;flex-shrink:0;font-size:1rem;font-weight:600}.topbar-search{flex:1;align-items:center;max-width:380px;display:flex;position:relative}.topbar-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.75rem}.topbar-search-input{background:var(--bg-subtle);border-radius:var(--r-full);width:100%;color:var(--text-primary);transition:border-color var(--t-fast), background var(--t-fast);border:1.5px solid #0000;outline:none;padding:.45rem .75rem .45rem 2.25rem;font-size:.85rem}.topbar-search-input:focus{background:var(--bg-white);border-color:var(--border-focus);box-shadow:0 0 0 3px #4f46e514}.topbar-search-input::placeholder{color:var(--text-muted)}.topbar-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.topbar-dropdown-wrap{position:relative}.topbar-icon-btn{border-radius:var(--r-md);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.topbar-icon-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.topbar-btn--active{background:var(--accent-light)!important;color:var(--accent)!important}.topbar-ai-btn{color:var(--accent)}.topbar-ai-btn:hover{background:var(--accent-light);color:var(--accent)}.topbar-notif-dot{background:var(--accent);border:1.5px solid var(--bg-white);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.topbar-profile{border:1.5px solid var(--border);border-radius:var(--r-full);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);background:0 0;align-items:center;gap:.5rem;padding:.3rem .75rem .3rem .4rem;display:flex}.topbar-profile:hover,.topbar-profile--open{background:var(--bg-subtle);border-color:var(--border-focus)}.topbar-avatar{background:var(--accent-light);width:26px;height:26px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.topbar-profile-name{color:var(--text-primary);font-size:.82rem;font-weight:600}.topbar-profile-chevron{color:var(--text-muted);transition:transform var(--t-base);flex-shrink:0}.topbar-profile-chevron.rotated{transform:rotate(180deg)}.topbar-panel{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);z-index:300;animation:.18s both fadeUp;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.topbar-panel-header{border-bottom:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8rem;font-weight:700;display:flex}.topbar-panel-close{color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);transition:background var(--t-fast);background:0 0;border:none;align-items:center;margin-left:auto;padding:.15rem;display:flex}.topbar-panel-close:hover{background:var(--bg-subtle);color:var(--text-primary)}.topbar-panel-mark-read{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600}.topbar-panel-mark-read:hover{text-decoration:underline}.topbar-notif-panel{width:320px}.topbar-notif-list{max-height:280px;overflow-y:auto}.topbar-notif-item{cursor:pointer;transition:background var(--t-fast);border-bottom:1px solid var(--border);align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex;position:relative}.topbar-notif-item:last-child{border-bottom:none}.topbar-notif-item:hover{background:var(--bg-subtle)}.topbar-notif-item--unread{background:var(--accent-light)}.topbar-notif-item--unread:hover{background:#e0e7ff}.topbar-notif-icon{flex-shrink:0;font-size:1.1rem}.topbar-notif-body{flex:1;min-width:0}.topbar-notif-text{color:var(--text-primary);font-size:.82rem;font-weight:500;line-height:1.4}.topbar-notif-time{color:var(--text-muted);margin-top:.2rem;font-size:.72rem}.topbar-notif-unread-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.topbar-ai-panel{width:300px}.topbar-ai-input-row{border-bottom:1px solid var(--border);padding:.75rem}.topbar-ai-input{background:var(--bg-subtle);border:1.5px solid var(--border);border-radius:var(--r-md);width:100%;transition:border-color var(--t-fast);outline:none;padding:.55rem .75rem;font-family:inherit;font-size:.875rem}.topbar-ai-input:focus{border-color:var(--accent);background:var(--bg-white)}.topbar-ai-suggestions-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:.5rem 1rem .25rem;font-size:.7rem;font-weight:700}.topbar-ai-suggestions{flex-direction:column;gap:0;padding-bottom:.5rem;display:flex}.topbar-ai-suggestion{text-align:left;color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;padding:.55rem 1rem;font-family:inherit;font-size:.84rem;font-weight:500}.topbar-ai-suggestion:hover{background:var(--accent-light);color:var(--accent)}.topbar-profile-panel{width:220px}.topbar-profile-info{align-items:center;gap:.75rem;padding:1rem;display:flex}.topbar-profile-avatar-lg{background:var(--accent-light);width:42px;height:42px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.topbar-profile-name-lg{color:var(--text-primary);font-size:.9rem;font-weight:700}.topbar-profile-role{color:var(--text-muted);font-size:.75rem}.topbar-profile-divider{background:var(--border);height:1px}.topbar-profile-item{width:100%;color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;align-items:center;gap:.6rem;padding:.65rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;display:flex}.topbar-profile-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.topbar-profile-item--danger{color:#ef4444}.topbar-profile-item--danger:hover{color:#dc2626;background:#fef2f2}.topbar-student-switcher{border:1.5px solid var(--border);border-radius:var(--r-full);color:var(--text-secondary);transition:border-color var(--t-fast), background var(--t-fast);background:#f8fafc;align-items:center;gap:.4rem;padding:.25rem .75rem;font-size:.8rem;display:flex}.topbar-student-switcher:hover{border-color:var(--border-focus);background:#f1f5f9}.topbar-student-icon{color:var(--accent);flex-shrink:0}.topbar-student-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.topbar-student-select{color:var(--text-primary);cursor:pointer;background:0 0;border:none;outline:none;max-width:220px;font-size:.82rem;font-weight:600}.landing-page{background:var(--bg-white);min-height:100vh}.ln-nav{z-index:200;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#fffffff2;position:sticky;top:0}.ln-nav-inner{align-items:center;gap:2rem;max-width:1160px;height:60px;margin:0 auto;padding:0 1.5rem;display:flex}.ln-brand{align-items:center;gap:.55rem;text-decoration:none;display:flex}.ln-brand-icon{background:var(--accent);color:#fff;border-radius:var(--r-md);justify-content:center;align-items:center;width:30px;height:30px;display:flex}.ln-brand-text{color:var(--text-primary);font-size:1rem;font-weight:700}.ln-brand-accent{color:var(--accent)}.ln-nav-links{gap:.25rem;margin:0 auto;display:flex}.ln-nav-link{color:var(--text-secondary);border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;padding:.4rem .85rem;font-size:.875rem;font-weight:500}.ln-nav-link:hover{background:var(--bg-subtle);color:var(--text-primary)}.ln-nav-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.ln-hero{background:var(--bg-white);border-bottom:1px solid var(--border);padding:5rem 0 2rem}.ln-hero-inner{text-align:center;max-width:800px;margin:0 auto;padding:0 1.5rem}.ln-hero-badge{background:var(--accent-light);color:var(--accent-text);border-radius:var(--r-full);align-items:center;gap:.4rem;margin-bottom:1.5rem;padding:.3rem .85rem;font-size:.78rem;font-weight:600;animation:.5s fadeUp;display:inline-flex}.ln-hero-headline{color:var(--text-primary);letter-spacing:-.03em;margin-bottom:1.25rem;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:800;line-height:1.18;animation:.5s .1s both fadeUp}.ln-hero-accent{color:var(--accent)}.ln-hero-sub{color:var(--text-secondary);max-width:580px;margin:0 auto 2rem;font-size:1.05rem;line-height:1.7;animation:.5s .15s both fadeUp}.ln-hero-ctas{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.5rem;animation:.5s .2s both fadeUp;display:flex}.ln-hero-trust{color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;font-size:.8rem;font-weight:500;animation:.5s .25s both fadeUp;display:flex}.ln-hero-trust span{align-items:center;gap:.35rem;display:flex}.ln-hero-trust svg{color:var(--green)}.ln-hero-preview{margin-top:3rem;animation:.6s .3s both fadeUp;position:relative}.ln-preview-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);text-align:left;max-width:640px;margin:0 auto;overflow:hidden}.ln-preview-header{background:var(--bg-subtle);border-bottom:1px solid var(--border);align-items:center;gap:.4rem;padding:.75rem 1rem;display:flex}.ln-preview-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.ln-dot-red{background:#fc5f57}.ln-dot-amber{background:#fdbd2d}.ln-dot-green{background:#27c840}.ln-preview-title{color:var(--text-secondary);margin-left:.25rem;font-size:.78rem;font-weight:600}.ln-preview-body{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.ln-preview-q{background:var(--bg-subtle);border-radius:var(--r-md);border:1px solid var(--border);align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.ln-preview-qnum{color:var(--accent);background:var(--accent-light);border-radius:var(--r-xs);flex-shrink:0;padding:.15rem .4rem;font-size:.72rem;font-weight:700}.ln-preview-qtext{color:var(--text-primary);flex:1;font-size:.85rem;line-height:1.4}.ln-preview-qmeta{flex-shrink:0;gap:.3rem;display:flex}.ln-preview-generating{color:var(--text-muted);align-items:center;gap:.6rem;padding:.25rem 0;font-size:.8rem;display:flex}.ln-generating-dots{gap:4px;display:flex}.ln-generating-dots span{background:var(--accent);opacity:.4;border-radius:50%;width:6px;height:6px}.ln-generating-dots span:first-child{animation:1.2s infinite pulse-dot}.ln-generating-dots span:nth-child(2){animation:1.2s .2s infinite pulse-dot}.ln-generating-dots span:nth-child(3){animation:1.2s .4s infinite pulse-dot}.ln-preview-float{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-full);box-shadow:var(--shadow-md);color:var(--text-secondary);align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.78rem;font-weight:600;animation:3s ease-in-out infinite float;display:flex;position:absolute}.ln-float-1{color:var(--accent);animation-delay:0s;top:-12px;right:20px}.ln-float-2{color:var(--green);animation-delay:1s;bottom:24px;left:8px}.ln-preview-float svg{flex-shrink:0}.ln-stats{background:var(--bg-subtle);border-bottom:1px solid var(--border);padding:2.5rem 0}.ln-stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.ln-stat{text-align:center;flex-direction:column;align-items:center;gap:.4rem;padding:1rem;display:flex}.ln-stat-icon{color:var(--accent)}.ln-stat-value{color:var(--text-primary);font-size:1.65rem;font-weight:800;line-height:1}.ln-stat-label{color:var(--text-muted);font-size:.8rem;font-weight:500}.ln-section-header{text-align:center;flex-direction:column;align-items:center;gap:.85rem;margin-bottom:3rem;display:flex}.ln-section-title{color:var(--text-primary);letter-spacing:-.02em;font-size:clamp(1.7rem,3vw,2.2rem);font-weight:800;line-height:1.2}.ln-section-sub{color:var(--text-secondary);max-width:460px;font-size:.95rem;line-height:1.6}.ln-features-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.ln-feature-card{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-xl);transition:border-color var(--t-base), box-shadow var(--t-base), transform var(--t-base);padding:1.75rem}.ln-feature-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ln-feature-card--accent{border-color:var(--accent-mid);background:var(--accent-light)}.ln-feature-icon{background:var(--bg-subtle);width:40px;height:40px;color:var(--accent);border-radius:var(--r-md);justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.ln-feature-card--accent .ln-feature-icon{background:#fff}.ln-feature-title{color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem;font-weight:700}.ln-feature-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.65}.ln-how-section{background:var(--bg-subtle)}.ln-steps{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid;position:relative}.ln-step{text-align:center;position:relative}.ln-step-number{color:var(--accent);opacity:.2;margin-bottom:.5rem;font-size:2.5rem;font-weight:800;line-height:1}.ln-step-connector{background:var(--border);z-index:0;height:1px;position:absolute;top:1.25rem;left:70%;right:-30%}.ln-step-title{color:var(--text-primary);margin-bottom:.75rem;font-size:1.05rem;font-weight:700}.ln-step-desc{color:var(--text-secondary);font-size:.875rem;line-height:1.65}.ln-testimonials{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.ln-testimonial{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-xl);padding:1.75rem}.ln-testimonial-stars{color:#f59e0b;margin-bottom:.85rem;font-size:.85rem}.ln-testimonial-text{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.875rem;font-style:italic;line-height:1.7}.ln-testimonial-author{align-items:center;gap:.75rem;display:flex}.ln-testimonial-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:flex}.ln-testimonial-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.ln-testimonial-role{color:var(--text-muted);font-size:.75rem}.ln-pricing-section{background:var(--bg-subtle)}.ln-pricing-cards{grid-template-columns:repeat(3,1fr);align-items:start;gap:1rem;display:grid}.ln-pricing-card{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-xl);padding:2rem;position:relative}.ln-pricing-card--primary{border-color:var(--accent);box-shadow:var(--shadow-accent)}.ln-pricing-badge{background:var(--accent);color:#fff;border-radius:var(--r-full);white-space:nowrap;padding:.2rem .75rem;font-size:.72rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.ln-pricing-name{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.ln-pricing-price{color:var(--text-primary);margin-bottom:.25rem;font-size:2rem;font-weight:800;line-height:1}.ln-pricing-period{color:var(--text-muted);font-size:.9rem;font-weight:500}.ln-pricing-desc{color:var(--text-secondary);margin:.75rem 0 1.25rem;font-size:.85rem;line-height:1.5}.ln-pricing-features{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;list-style:none;display:flex}.ln-pricing-features li{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.ln-pricing-features svg{color:var(--green);flex-shrink:0}.ln-faq{flex-direction:column;gap:0;max-width:680px;margin:0 auto;display:flex}.ln-faq-item{border-bottom:1px solid var(--border)}.ln-faq-question{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-size:.925rem;font-weight:600;display:flex}.ln-faq-chevron{color:var(--text-muted);transition:transform var(--t-base);flex-shrink:0}.ln-faq-chevron.rotated{transform:rotate(180deg)}.ln-faq-answer{color:var(--text-secondary);padding:0 0 1.1rem;font-size:.875rem;line-height:1.7}.ln-cta-section{background:var(--accent);padding:5rem 0}.ln-cta-inner{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;display:flex}.ln-cta-title{color:#fff;letter-spacing:-.02em;font-size:clamp(1.6rem,3vw,2rem);font-weight:800}.ln-cta-sub{color:#fffc;font-size:1rem}.ln-cta-section .btn-primary{color:var(--accent);background:#fff;border-color:#fff}.ln-cta-section .btn-primary:hover{background:var(--bg-subtle);border-color:var(--bg-subtle);box-shadow:0 4px 14px #00000026}.ln-footer{background:var(--bg-white);border-top:1px solid var(--border);padding:2rem 0}.ln-footer-inner{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.ln-footer-links{gap:1.5rem;margin:0 auto;display:flex}.ln-footer-links a{color:var(--text-secondary);font-size:.85rem}.ln-footer-links a:hover{color:var(--accent)}.ln-footer-copy{color:var(--text-muted);font-size:.8rem}@media (width<=900px){.ln-features-grid{grid-template-columns:1fr 1fr}.ln-testimonials{grid-template-columns:1fr}.ln-pricing-cards{grid-template-columns:1fr;max-width:440px;margin:0 auto}.ln-steps{grid-template-columns:1fr}.ln-step-connector{display:none}.ln-stats-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.ln-nav-links{display:none}.ln-features-grid{grid-template-columns:1fr}.ln-stats-grid{grid-template-columns:1fr 1fr}.ln-hero-headline{font-size:2rem}.ln-footer-inner{text-align:center;flex-direction:column}.ln-footer-links{margin:0}}.auth-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-left{background:var(--accent);flex-direction:column;padding:2.5rem;display:flex;position:relative;overflow:hidden}.auth-left:before{content:"";background:#ffffff0f;border-radius:50%;width:300px;height:300px;position:absolute;top:-60px;right:-60px}.auth-left:after{content:"";background:#ffffff0a;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-80px;left:-40px}.auth-brand{z-index:1;align-items:center;gap:.55rem;text-decoration:none;display:flex;position:relative}.auth-brand-icon{color:#fff;border-radius:var(--r-md);background:#fff3;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.auth-brand-text{color:#fff;font-size:1rem;font-weight:700}.auth-brand-accent{color:#ffffffb3}.auth-left-content{z-index:1;flex-direction:column;flex:1;justify-content:center;gap:1.5rem;padding:2rem 0;display:flex;position:relative}.auth-illustration{height:140px;margin-bottom:1rem;position:relative}.auth-ill-card{border-radius:var(--r-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:1px solid #fff3;flex-direction:column;gap:.4rem;padding:1rem;animation:3s ease-in-out infinite float;display:flex;position:absolute}.auth-ill-card--1{width:180px;animation-delay:0s;top:0;left:0}.auth-ill-card--2{width:160px;animation-delay:1s;bottom:0;right:0}.auth-ill-dot{background:#ffffff80;border-radius:50%;width:8px;height:8px}.auth-ill-dot--green{background:#34d399}.auth-ill-line{background:#fff3;border-radius:3px;width:100%;height:6px}.auth-ill-line--long{width:100%}.auth-ill-line--medium{width:75%}.auth-ill-line--short{width:55%}.auth-ill-badge{color:var(--accent);border-radius:var(--r-full);white-space:nowrap;box-shadow:var(--shadow-md);background:#fff;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.75rem;font-weight:700;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.auth-left-title{color:#fff;letter-spacing:-.02em;font-size:1.6rem;font-weight:800;line-height:1.2}.auth-left-sub{color:#ffffffbf;font-size:.9rem;line-height:1.6}.auth-left-points{flex-direction:column;gap:.6rem;list-style:none;display:flex}.auth-left-points li{color:#ffffffd9;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.auth-left-points svg{color:#ffffffb3;flex-shrink:0}.auth-right{background:var(--bg-page);justify-content:center;align-items:center;padding:2.5rem;display:flex}.auth-card{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-2xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:2.25rem}.auth-card-header{margin-bottom:1.75rem}.auth-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.4rem;font-size:1.35rem;font-weight:800}.auth-subtitle{color:var(--text-secondary);font-size:.875rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{flex-direction:column;display:flex}.auth-optional{color:var(--text-muted);font-size:.75rem;font-weight:400}.auth-role-grid{gap:.5rem;display:grid}.auth-role-card{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text-primary);text-align:left;transition:border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);align-items:center;gap:.65rem;padding:.7rem .8rem;display:flex}.auth-role-card:hover{background:var(--bg-subtle);border-color:var(--border-focus)}.auth-role-card--active{background:var(--accent-light);border-color:var(--accent);box-shadow:0 0 0 3px #4f46e514}.auth-role-icon{border-radius:var(--r-sm);background:var(--bg-subtle);width:32px;height:32px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.auth-role-card--active .auth-role-icon{background:var(--accent);color:#fff}.auth-role-label,.auth-role-desc{display:block}.auth-role-label{font-size:.85rem;font-weight:700}.auth-role-desc{color:var(--text-secondary);margin-top:.1rem;font-size:.74rem;line-height:1.35}.auth-input-wrapper{position:relative}.auth-key-input{letter-spacing:.05em;padding-right:2.75rem;font-family:Courier New,monospace}.auth-input--error{border-color:var(--red)!important;box-shadow:0 0 0 3px #ef44441a!important}.auth-input--success{border-color:var(--green)!important}.auth-show-btn{color:var(--text-muted);cursor:pointer;transition:color var(--t-fast);background:0 0;border:none;align-items:center;padding:.2rem;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.auth-show-btn:hover{color:var(--text-primary)}.auth-remember{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.auth-checkbox{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.auth-error-msg{background:var(--red-light);color:var(--red);border-radius:var(--r-md);align-items:flex-start;gap:.5rem;padding:.65rem .85rem;font-size:.82rem;font-weight:500;line-height:1.5;display:flex}.auth-success-msg{background:var(--green-light);color:#065f46;border-radius:var(--r-md);align-items:center;gap:.5rem;padding:.65rem .85rem;font-size:.82rem;font-weight:600;display:flex}.auth-spinner{animation:.7s linear infinite spin}.auth-submit-btn{justify-content:center;margin-top:.25rem}.auth-footer{border-top:1px solid var(--border);text-align:center;flex-direction:column;gap:.5rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.auth-footer p{color:var(--text-secondary);font-size:.82rem}.auth-footer a{color:var(--accent);font-weight:600}.auth-back-link{color:var(--text-muted);font-size:.82rem}.auth-back-link:hover{color:var(--text-secondary)}@media (width<=768px){.auth-page{grid-template-columns:1fr}.auth-left{min-height:280px;padding:2rem}.auth-left-content{gap:1rem;padding:1rem 0}.auth-illustration{display:none}.auth-right{padding:1.5rem}.auth-card{padding:1.75rem}}.dash-page{flex-direction:column;gap:1.25rem;max-width:1120px;display:flex}.dash-greeting{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem;display:flex}.dash-greeting-title{color:var(--text-primary);margin-bottom:.2rem;font-size:1.25rem;font-weight:700}.dash-greeting-sub{color:var(--text-secondary);font-size:.875rem}.dash-stats-row{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.dash-stat-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);transition:box-shadow var(--t-base), transform var(--t-base);align-items:center;gap:1rem;padding:1.25rem;display:flex}.dash-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.dash-stat-icon{border-radius:var(--r-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.dash-stat-value{color:var(--text-primary);margin-bottom:.2rem;font-size:1.5rem;font-weight:800;line-height:1}.dash-stat-label{color:var(--text-secondary);font-size:.78rem;font-weight:500}.dash-stat-trend{color:var(--green);align-items:center;gap:.2rem;margin-top:.2rem;font-size:.72rem;font-weight:600;display:flex}.dash-main-grid{grid-template-columns:1fr 340px;align-items:start;gap:1.25rem;display:grid}.dash-left-col,.dash-right-col{flex-direction:column;gap:1.25rem;display:flex}.dash-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.1rem 1.25rem;display:flex}.dash-card-title{color:var(--text-primary);font-size:.875rem;font-weight:700}.dash-quick-card{cursor:pointer;transition:box-shadow var(--t-base), transform var(--t-base), border-color var(--t-base);align-items:center;gap:1rem;padding:1.25rem;display:flex}.dash-quick-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.dash-quick-icon{background:var(--accent-light);width:44px;height:44px;color:var(--accent);border-radius:var(--r-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.dash-quick-title{color:var(--text-primary);margin-bottom:.15rem;font-size:.925rem;font-weight:700}.dash-quick-sub{color:var(--text-secondary);font-size:.8rem}.dash-quick-arrow{color:var(--accent);flex-shrink:0;margin-left:auto}.dash-draft-card{border-color:var(--amber);padding:1.25rem}.dash-draft-header{align-items:center;gap:.4rem;margin-bottom:.5rem;display:flex}.dash-draft-icon{color:var(--amber)}.dash-draft-title{color:var(--amber);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.dash-draft-dismiss{color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;align-items:center;margin-left:auto;padding:.1rem;display:flex}.dash-draft-dismiss:hover{background:var(--amber-light);color:var(--amber)}.dash-draft-name{color:var(--text-primary);margin-bottom:.2rem;font-size:.9rem;font-weight:600}.dash-draft-meta{color:var(--text-muted);margin-bottom:.875rem;font-size:.8rem}.dash-draft-actions{gap:.5rem;display:flex}.dash-quiz-list{flex-direction:column;display:flex}.dash-quiz-row{cursor:pointer;border-bottom:1px solid var(--border);transition:background var(--t-fast);align-items:center;gap:.875rem;padding:.875rem 1.25rem;display:flex}.dash-quiz-row:last-child{border-bottom:none}.dash-quiz-row:hover{background:var(--bg-subtle)}.dash-quiz-row-icon{background:var(--bg-subtle);width:34px;height:34px;color:var(--text-secondary);border-radius:var(--r-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.dash-quiz-row-info{flex:1;min-width:0}.dash-quiz-row-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.dash-quiz-row-meta{color:var(--text-muted);margin-top:.1rem;font-size:.78rem}.dash-quiz-row-arrow{color:var(--text-muted);transition:transform var(--t-fast);flex-shrink:0}.dash-quiz-row:hover .dash-quiz-row-arrow{color:var(--accent);transform:translate(2px)}.dash-ai-card{background:var(--accent-light);border-color:var(--accent-mid);padding:1.25rem}.dash-ai-header{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.4rem;margin-bottom:.65rem;font-size:.78rem;font-weight:700;display:flex}.dash-ai-text{color:var(--text-secondary);margin-bottom:.875rem;font-size:.85rem;line-height:1.65}.dash-ai-text strong{color:var(--text-primary)}.dash-activity-chart{align-items:flex-end;gap:.35rem;height:80px;padding:1rem 1.25rem .75rem;display:flex}.dash-activity-bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.35rem;height:100%;display:flex}.dash-activity-bar{background:var(--accent);width:100%;transition:height var(--t-slow);opacity:.7;border-radius:3px 3px 0 0;min-height:4px}.dash-activity-label{color:var(--text-muted);font-size:.65rem;font-weight:600}.dash-perf-list{flex-direction:column;gap:.7rem;padding:.75rem 1.25rem 1rem;display:flex}.dash-perf-item{align-items:center;gap:.75rem;display:flex}.dash-perf-topic{color:var(--text-secondary);flex-shrink:0;width:130px;font-size:.8rem;font-weight:500}.dash-perf-bar-wrap{background:var(--bg-subtle);border-radius:3px;flex:1;height:6px;overflow:hidden}.dash-perf-bar{border-radius:3px;height:100%;transition:width .6s}.dash-perf-score{text-align:right;flex-shrink:0;width:36px;font-size:.78rem;font-weight:700}@media (width<=1024px){.dash-main-grid{grid-template-columns:1fr}.dash-right-col{grid-template-columns:1fr 1fr;display:grid}}@media (width<=768px){.dash-stats-row{grid-template-columns:1fr 1fr}.dash-right-col{grid-template-columns:1fr}}@media (width<=480px){.dash-stats-row{grid-template-columns:1fr}.dash-greeting{flex-direction:column;align-items:flex-start}}.qg-wrapper{flex-direction:column;gap:1.5rem;display:flex}.qg-stepper{align-items:center;gap:0;margin-bottom:.5rem;display:flex}.qg-step-item{align-items:center;gap:.5rem;display:flex}.qg-step-circle{background:var(--bg-subtle);width:28px;height:28px;color:var(--text-muted);border:1.5px solid var(--border);transition:all var(--t-base);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.qg-step-item--active .qg-step-circle{background:var(--accent);color:#fff;border-color:var(--accent)}.qg-step-item--done .qg-step-circle{background:var(--green);color:#fff;border-color:var(--green)}.qg-step-label{color:var(--text-muted);font-size:.82rem;font-weight:600}.qg-step-item--active .qg-step-label{color:var(--accent)}.qg-step-item--done .qg-step-label{color:var(--green)}.qg-step-line{background:var(--border);flex:1;min-width:40px;height:1.5px;margin:0 .5rem}.qg-step-line--done{background:var(--green)}.qg-auth-box{background:var(--bg-subtle);border:1.5px dashed var(--border);border-radius:var(--r-xl);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.qg-auth-icon{background:var(--accent-light);width:48px;height:48px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.qg-auth-title{color:var(--text-primary);font-size:1rem;font-weight:700}.qg-auth-sub{color:var(--text-secondary);font-size:.85rem}.qg-auth-input-row{gap:.5rem;width:100%;max-width:400px;display:flex}.qg-auth-error{color:var(--red);align-items:center;gap:.35rem;font-size:.8rem;display:flex}.qg-auth-verified{background:var(--green-light);color:#065f46;border-radius:var(--r-full);align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.82rem;font-weight:600;display:flex}.qg-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);padding:1.75rem}.qg-card-title{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.95rem;font-weight:700;display:flex}.qg-card-title-icon{background:var(--accent-light);width:32px;height:32px;color:var(--accent);border-radius:var(--r-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.qg-form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.qg-form-group{flex-direction:column;gap:.4rem;display:flex;position:relative}.qg-form-full{grid-column:1/-1}.qg-select-trigger{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--t-fast), box-shadow var(--t-fast);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:.625rem .875rem;font-size:.9rem;display:flex}.qg-select-trigger:hover{border-color:var(--border-focus)}.qg-select-trigger--open{border-color:var(--accent);box-shadow:0 0 0 3px #4f46e51f}.qg-select-trigger--disabled{opacity:.5;cursor:not-allowed}.qg-select-value{color:var(--text-primary)}.qg-select-placeholder{color:var(--text-muted)}.qg-dropdown{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:200;max-height:220px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.qg-dropdown-item{cursor:pointer;color:var(--text-primary);transition:background var(--t-fast);justify-content:space-between;align-items:center;padding:.6rem .875rem;font-size:.88rem;display:flex}.qg-dropdown-item:hover{background:var(--bg-subtle)}.qg-dropdown-item--selected{background:var(--accent-light);color:var(--accent);font-weight:600}.qg-dropdown-empty{color:var(--text-muted);padding:.75rem .875rem;font-size:.85rem}.qg-chips-wrap{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;min-height:44px;transition:border-color var(--t-fast);flex-wrap:wrap;align-items:flex-start;gap:.35rem;padding:.4rem .6rem;display:flex}.qg-chips-wrap:hover{border-color:var(--border-focus)}.qg-chips-wrap--open{border-color:var(--accent);box-shadow:0 0 0 3px #4f46e51f}.qg-chip{background:var(--accent-light);color:var(--accent);border-radius:var(--r-full);align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.qg-chip-remove{color:var(--accent);cursor:pointer;opacity:.7;background:0 0;border:none;align-items:center;padding:0;display:flex}.qg-chip-remove:hover{opacity:1}.qg-chips-placeholder{color:var(--text-muted);padding:.1rem .2rem;font-size:.9rem}.qg-qtype-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.qg-qtype-btn{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-md);color:var(--text-secondary);cursor:pointer;text-align:left;transition:all var(--t-fast);padding:.6rem .875rem;font-size:.85rem;font-weight:500}.qg-qtype-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.qg-qtype-btn--selected{border-color:var(--accent);color:var(--accent);background:var(--accent-light);font-weight:600}.qg-ai-hint{background:var(--accent-light);border:1px solid var(--accent-mid);border-radius:var(--r-md);color:var(--text-secondary);align-items:flex-start;gap:.65rem;padding:.85rem 1rem;font-size:.82rem;line-height:1.55;display:flex}.qg-ai-hint-icon{color:var(--accent);flex-shrink:0;margin-top:1px}.qg-error{color:var(--red);background:var(--red-light);border-radius:var(--r-md);align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.82rem;font-weight:500;display:flex}.qg-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:1.25rem;display:flex}.qg-generating{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;padding:3.5rem 2rem;display:flex}.qg-gen-spinner{width:64px;height:64px;position:relative}.qg-gen-spinner-ring{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:64px;height:64px;animation:1s linear infinite spin}.qg-gen-icon{color:var(--accent);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.qg-gen-title{color:var(--text-primary);font-size:1.15rem;font-weight:700}.qg-gen-msg{color:var(--text-secondary);min-height:1.4em;font-size:.875rem}.qg-gen-progress{background:var(--bg-subtle);border-radius:2px;width:100%;max-width:320px;height:4px;overflow:hidden}.qg-gen-progress-bar{background:var(--accent);border-radius:2px;height:100%;animation:8s linear forwards progress-fill}@keyframes progress-fill{0%{width:0%}to{width:95%}}.qg-skeleton-list{flex-direction:column;gap:.75rem;width:100%;max-width:480px;display:flex}.qg-skeleton-card{background:var(--bg-subtle);border-radius:var(--r-md);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.qg-skel-line{background:linear-gradient(90deg, var(--bg-subtle) 25%, var(--bg-muted) 50%, var(--bg-subtle) 75%);background-size:200% 100%;border-radius:5px;height:10px;animation:1.5s ease-in-out infinite skeleton-wave}.qg-skel-line--short{width:40%}.qg-skel-line--medium{width:65%}.qv-wrapper{flex-direction:column;gap:1rem;display:flex}.qv-meta-header{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.qv-meta-left{align-items:center;gap:.875rem;display:flex}.qv-meta-icon{background:var(--accent-light);width:44px;height:44px;color:var(--accent);border-radius:var(--r-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.qv-quiz-title{color:var(--text-primary);margin-bottom:.4rem;font-size:1.05rem;font-weight:700}.qv-meta-pills{flex-wrap:wrap;gap:.35rem;display:flex}.qv-pill{background:var(--bg-subtle);color:var(--text-secondary);border-radius:var(--r-full);border:1px solid var(--border);padding:.2rem .6rem;font-size:.72rem;font-weight:600}.qv-pill--accent{background:var(--accent-light);color:var(--accent);border-color:var(--accent-mid)}.qv-pill--chapter{background:var(--green-light);color:#065f46;border-color:#0000}.qv-status-pill{text-transform:capitalize}.qv-meta-right{align-items:center;gap:.5rem;display:flex}.qv-q-count{color:var(--text-secondary);font-size:.82rem;font-weight:600}.qv-marks-total{color:var(--accent);background:var(--accent-light);border-radius:var(--r-full);padding:.2rem .65rem;font-size:.82rem;font-weight:700}.qv-edited-badge{color:var(--amber);background:var(--amber-light);border-radius:var(--r-full);padding:.2rem .6rem;font-size:.72rem;font-weight:700}.qv-question-list{flex-direction:column;gap:.625rem;display:flex}.qv-card{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);transition:border-color var(--t-base), box-shadow var(--t-base);overflow:hidden}.qv-card:hover{border-color:var(--border-focus)}.qv-card--expanded{border-color:var(--accent);box-shadow:var(--shadow-md)}.qv-card--dirty{border-color:var(--amber)}.qv-card-header{cursor:pointer;transition:background var(--t-fast);align-items:center;gap:.75rem;padding:.9rem 1.1rem;display:flex}.qv-card-header:hover{background:var(--bg-subtle)}.qv-card-header-left{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.qv-q-number{color:var(--accent);background:var(--accent-light);border-radius:var(--r-xs);letter-spacing:.02em;padding:.15rem .5rem;font-size:.72rem;font-weight:800}.qv-type-badge{border-radius:var(--r-full);text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;font-size:.68rem;font-weight:700}.qv-type-mcq,.qv-type-applicationbased{background:var(--accent-light);color:var(--accent-text)}.qv-type-truefalse{background:var(--blue-light);color:#1e40af}.qv-type-fillinblanks{background:var(--amber-light);color:#92400e}.qv-type-shortanswer{background:var(--green-light);color:#065f46}.qv-marks-badge{color:var(--text-secondary);background:var(--bg-subtle);border-radius:var(--r-full);border:1px solid var(--border);padding:.15rem .5rem;font-size:.68rem;font-weight:700}.qv-dirty-badge{color:var(--amber);background:var(--amber-light);border-radius:var(--r-full);padding:.1rem .45rem;font-size:.65rem;font-weight:700}.qv-q-preview{color:var(--text-primary);flex:1;min-width:0;font-size:.875rem;font-weight:500;line-height:1.45}.qv-card-header-right{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.qv-header-action-btn{border:1.5px solid var(--border);border-radius:var(--r-sm);cursor:pointer;width:30px;height:30px;color:var(--text-muted);transition:all var(--t-fast);background:0 0;justify-content:center;align-items:center;display:flex}.qv-header-action-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.qv-ai-btn{color:var(--accent);border-color:var(--accent-mid)}.qv-ai-btn:hover{background:var(--accent-light);border-color:var(--accent)}.qv-ai-btn--active{background:var(--accent);color:#fff;border-color:var(--accent)}.qv-delete-btn{border:1.5px solid var(--border);border-radius:var(--r-sm);cursor:pointer;width:30px;height:30px;color:var(--text-muted);transition:all var(--t-fast);background:0 0;justify-content:center;align-items:center;display:flex}.qv-delete-btn:hover,.qv-delete-btn--confirm{background:var(--red-light);border-color:var(--red);color:var(--red)}.qv-chevron{color:var(--text-muted);align-items:center;display:flex}.qv-card-body{overflow:hidden}.qv-body-inner{flex-direction:column;gap:.875rem;padding:0 1.1rem 1.1rem;display:flex}.qv-ai-input-wrapper{background:var(--accent-light);border:1.5px solid var(--accent-mid);border-radius:var(--r-md);align-items:center;gap:.5rem;padding:.5rem .625rem;display:flex}.qv-ai-input-icon{color:var(--accent);flex-shrink:0;align-items:center;display:flex}.qv-ai-text-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.875rem}.qv-ai-text-input::placeholder{color:var(--accent);opacity:.6}.qv-ai-send-btn{background:var(--accent);color:#fff;border-radius:var(--r-sm);cursor:pointer;width:28px;height:28px;transition:background var(--t-fast), transform var(--t-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.qv-ai-send-btn:hover{background:var(--accent-hover)}.qv-ai-send-btn:disabled{opacity:.5;cursor:not-allowed}.qv-field-label{color:var(--text-secondary);align-items:center;gap:.3rem;margin-bottom:.3rem;font-size:.75rem;font-weight:700;display:flex}.qv-q-textarea{width:100%;color:var(--text-primary);background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-md);resize:vertical;transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.88rem;line-height:1.55}.qv-q-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f46e51a}.qv-answer-textarea{background:var(--green-light);border-color:#a7f3d0}.qv-options-list{flex-direction:column;gap:.45rem;display:flex}.qv-option-row{border-radius:var(--r-md);transition:background var(--t-fast);align-items:center;gap:.625rem;padding:.35rem .5rem;display:flex}.qv-option-row--selected{background:var(--accent-light)}.qv-radio-btn{cursor:pointer;width:22px;height:22px;color:var(--text-muted);transition:color var(--t-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.qv-radio-btn--active{color:var(--accent)}.qv-radio-circle{border:2px solid var(--border);border-radius:50%;width:16px;height:16px;display:block}.qv-option-letter{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-xs);width:22px;height:22px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:flex}.qv-option-row--selected .qv-option-letter{background:var(--accent);border-color:var(--accent);color:#fff}.qv-option-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:.1rem 0;font-family:inherit;font-size:.875rem}.qv-option-row--selected .qv-option-input{color:var(--accent);font-weight:600}.qv-explanation-wrapper{border-top:1px solid var(--border);padding-top:.75rem}.qv-explain-toggle{cursor:pointer;color:var(--text-secondary);transition:color var(--t-fast);background:0 0;border:none;align-items:center;gap:.4rem;padding:0;font-size:.8rem;font-weight:600;display:flex}.qv-explain-toggle:hover{color:var(--accent)}.qv-explanation{background:var(--amber-light);border-radius:var(--r-md);color:var(--text-secondary);border:1px solid #fcd34d;margin-top:.625rem;padding:.75rem;font-size:.85rem;line-height:1.6;overflow:hidden}.qv-diagram-container{max-width:100%;overflow-x:auto}.qv-empty-state{text-align:center;color:var(--text-muted);background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);padding:3rem 1rem;font-size:.9rem}.qv-add-btn{background:var(--bg-white);width:100%;color:var(--accent);border:1.5px dashed var(--accent-mid);border-radius:var(--r-xl);cursor:pointer;transition:all var(--t-base);justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;font-weight:600;display:flex}.qv-add-btn:hover{background:var(--accent-light);border-color:var(--accent);border-style:solid}.qv-action-bar{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);z-index:50;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;display:flex;position:sticky;bottom:1rem}.qv-action-reset{background:var(--bg-white);color:var(--text-secondary);border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:all var(--t-fast);align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.875rem;font-weight:600;display:flex}.qv-action-reset:hover{background:var(--bg-subtle);border-color:var(--border-focus);color:var(--text-primary)}.qv-action-reset:disabled{opacity:.5;cursor:not-allowed}.qv-action-export{background:var(--accent);color:#fff;border:1.5px solid var(--accent);border-radius:var(--r-md);cursor:pointer;transition:all var(--t-fast);align-items:center;gap:.5rem;padding:.55rem 1.25rem;font-size:.875rem;font-weight:600;display:flex}.qv-action-export:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-accent)}.qv-action-export:disabled{opacity:.6;cursor:not-allowed}.qv-action-publish{background:var(--green);border-color:var(--green)}.qv-action-publish:hover{background:#059669;border-color:#059669;box-shadow:0 4px 14px #10b9814d}.qv-send-panel{z-index:100;background:#0f172a59;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.qv-send-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);width:min(460px,100%);box-shadow:var(--shadow-xl);flex-direction:column;gap:.9rem;padding:1.1rem;display:flex}.qv-send-title{color:var(--text-primary);font-size:1rem;font-weight:800}.qv-send-error{background:var(--red-light);color:var(--red);border-radius:var(--r-md);padding:.65rem .75rem;font-size:.84rem}.qv-send-actions{justify-content:flex-end;gap:.6rem;display:flex}.qv-action-exit-premium{background:var(--green);color:#fff;border-radius:var(--r-md);cursor:pointer;transition:all var(--t-fast);border:none;align-items:center;gap:.5rem;padding:.6rem 1.5rem;font-size:.875rem;font-weight:700;display:flex}.qv-action-exit-premium:hover{background:#059669;box-shadow:0 4px 14px #10b9814d}@media print{.no-print{display:none!important}.qv-action-bar{display:none}.qv-card{box-shadow:none;page-break-inside:avoid;border:1px solid #ccc}.qv-card-body,.qv-body-inner{display:block!important}}.history-page{flex-direction:column;gap:1.25rem;max-width:1100px;display:flex}.history-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.history-title{color:var(--text-primary);margin-bottom:.2rem;font-size:1.15rem;font-weight:700}.history-sub{color:var(--text-secondary);font-size:.85rem}.history-toolbar{align-items:center;gap:.5rem;display:flex}.history-search-wrap{align-items:center;display:flex;position:relative}.history-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.65rem}.history-search{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-md);width:220px;transition:border-color var(--t-fast);outline:none;padding:.4rem .75rem .4rem 2rem;font-size:.85rem}.history-search:focus{border-color:var(--border-focus)}.history-tabs{border-bottom:1px solid var(--border);gap:.25rem;padding-bottom:0;display:flex}.history-tab{color:var(--text-muted);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem 1rem;font-size:.85rem;font-weight:500}.history-tab:hover{color:var(--text-primary)}.history-tab--active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.history-loading{color:var(--text-muted);flex-direction:column;align-items:center;gap:1rem;padding:4rem;font-size:.9rem;display:flex}.history-empty{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:4rem;display:flex}.history-empty-icon{color:var(--text-muted);opacity:.4}.history-empty h3{color:var(--text-primary);font-size:1.1rem;font-weight:700}.history-empty p{color:var(--text-secondary);font-size:.875rem}.history-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.history-card{transition:box-shadow var(--t-base), transform var(--t-base);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.history-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.history-card-top{justify-content:space-between;align-items:center;display:flex}.history-card-icon{background:var(--accent-light);width:36px;height:36px;color:var(--accent);border-radius:var(--r-md);justify-content:center;align-items:center;display:flex}.history-card-title{color:var(--text-primary);flex:1;font-size:.9rem;font-weight:700;line-height:1.4}.history-card-meta{flex-wrap:wrap;gap:.75rem;display:flex}.history-card-meta span{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.78rem;display:flex}.history-card-btn{justify-content:center;margin-top:auto}.qb-page{flex-direction:column;gap:1.25rem;max-width:1100px;display:flex}.qb-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.qb-title{color:var(--text-primary);margin-bottom:.2rem;font-size:1.15rem;font-weight:700}.qb-sub{color:var(--text-secondary);font-size:.85rem}.qb-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.qb-search-wrap{flex:1;align-items:center;min-width:200px;display:flex;position:relative}.qb-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.65rem}.qb-search{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--r-md);width:100%;transition:border-color var(--t-fast);outline:none;padding:.4rem .75rem .4rem 2rem;font-size:.85rem}.qb-search:focus{border-color:var(--border-focus)}.qb-view-toggle{border:1.5px solid var(--border);border-radius:var(--r-md);display:flex;overflow:hidden}.qb-view-btn{color:var(--text-muted);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;padding:.35rem .6rem}.qb-view-btn.active{background:var(--accent-light);color:var(--accent)}.qb-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.qb-list{flex-direction:column;gap:.75rem;display:flex}.qb-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.75rem;padding:4rem;display:flex}.qb-empty h3{color:var(--text-primary);font-size:1.1rem;font-weight:700}.qb-empty p{color:var(--text-secondary);font-size:.875rem}.qb-q-card{transition:box-shadow var(--t-base), transform var(--t-base);flex-direction:column;gap:.65rem;padding:1.1rem;display:flex}.qb-q-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.qb-q-card--list{flex-direction:row;align-items:center;gap:1rem;padding:.9rem 1.1rem}.qb-q-card--list .qb-q-text{flex:1;margin:0}.qb-q-card--list .qb-q-meta{flex-flow:row}.qb-q-card--list .qb-q-actions{flex-direction:row;flex-shrink:0;margin-left:auto}.qb-q-top{align-items:center;gap:.4rem;display:flex}.qb-fav-btn{color:var(--text-muted);cursor:pointer;transition:color var(--t-fast);background:0 0;border:none;margin-left:auto;padding:.15rem}.qb-fav-btn:hover,.qb-fav-btn--active{color:var(--amber)}.qb-q-text{color:var(--text-primary);font-size:.875rem;font-weight:500;line-height:1.55}.qb-q-meta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.qb-q-subject,.qb-q-topic{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.75rem;display:flex}.qb-q-marks{color:var(--accent);background:var(--accent-light);border-radius:var(--r-full);margin-left:auto;padding:.1rem .45rem;font-size:.72rem;font-weight:700}.qb-q-actions{gap:.4rem;display:flex}.publish-page{justify-content:center;padding:2rem 0;display:flex}.publish-card{flex-direction:column;gap:1.75rem;width:100%;max-width:560px;padding:2.5rem;display:flex}.publish-success{text-align:center;border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:.75rem;padding-bottom:1.75rem;display:flex}.publish-check{background:var(--green-light);width:72px;height:72px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;display:flex}.publish-title{color:var(--text-primary);font-size:1.5rem;font-weight:800}.publish-sub{color:var(--text-secondary);font-size:.9rem}.publish-section{flex-direction:column;gap:.6rem;display:flex}.publish-section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;display:flex}.publish-link-row{gap:.5rem;display:flex}.publish-link-input{background:var(--bg-subtle);color:var(--text-secondary);cursor:default;flex:1;font-family:Courier New,monospace;font-size:.82rem}.publish-share-btns{flex-wrap:wrap;gap:.5rem;display:flex}.publish-qr{flex-direction:column;align-items:center;gap:.75rem;display:flex}.publish-qr-placeholder{background:var(--bg-subtle);border:1.5px dashed var(--border);border-radius:var(--r-lg);width:160px;height:160px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.72rem;display:flex}.publish-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;padding-top:.25rem;display:flex}.settings-page{justify-content:center;display:flex}.settings-card{width:100%;max-width:680px;padding:0;overflow:hidden}.settings-section{border-bottom:1px solid var(--border)}.settings-section:last-child{border-bottom:none}.settings-section-header{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-subtle);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.9rem 1.5rem;font-size:.78rem;font-weight:700;display:flex}.settings-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.settings-row:last-child{border-bottom:none}.settings-row--link{cursor:pointer}.settings-row--link:hover{background:var(--bg-subtle)}.settings-row--danger .settings-row-label{color:var(--red)}.settings-row--danger:hover{background:var(--red-light)}.settings-row-label{color:var(--text-primary);margin-bottom:.15rem;font-size:.875rem;font-weight:600}.settings-row-sub{color:var(--text-muted);font-size:.78rem}.settings-row-chevron{color:var(--text-muted);flex-shrink:0}.settings-toggle{background:var(--bg-muted);cursor:pointer;width:40px;height:22px;transition:background var(--t-base);border:none;border-radius:11px;flex-shrink:0;padding:0;position:relative}.settings-toggle--on{background:var(--accent)}.settings-toggle-thumb{width:16px;height:16px;transition:transform var(--t-base);box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.settings-toggle--on .settings-toggle-thumb{transform:translate(18px)}.settings-save-bar{background:var(--bg-subtle);border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.portal-page{flex-direction:column;gap:1.25rem;max-width:1180px;display:flex}.portal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.portal-title{color:var(--text-primary);font-size:1.2rem;font-weight:800}.portal-sub{color:var(--text-secondary);margin-top:.2rem;font-size:.86rem}.portal-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.portal-card-buttons{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.portal-main-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);align-items:start;gap:1rem;display:grid}.portal-card{padding:1.1rem}.portal-form-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:.75rem;display:grid}.portal-inline-create{grid-template-columns:minmax(120px,1fr) auto;align-items:end;gap:.5rem;display:grid}.portal-card-action{border-top:1px solid var(--border);margin-top:.85rem;padding-top:.85rem}.portal-kpi{align-items:center;gap:.85rem;display:flex}.portal-icon{border-radius:var(--r-md);background:var(--accent-light);width:42px;height:42px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-kpi-value{font-size:1.35rem;font-weight:800;line-height:1.1}.portal-kpi-label{color:var(--text-secondary);font-size:.8rem}.portal-section-title{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;font-size:.95rem;font-weight:800;display:flex}.portal-list{flex-direction:column;gap:.65rem;display:flex}.portal-row{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-md);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;display:flex}.portal-row-title{font-size:.9rem;font-weight:700}.portal-row-meta{color:var(--text-secondary);margin-top:.15rem;font-size:.78rem}.portal-accordion{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-white);overflow:hidden}.portal-accordion .portal-row{border:0;border-radius:0}.portal-accordion-header{background:var(--bg-white)}.portal-accordion-trigger{min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:.65rem;padding:0;display:flex}.portal-accordion-trigger .portal-row-meta,.portal-accordion-trigger .portal-row-title{display:block}.portal-accordion-body{background:var(--bg-subtle);border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding:0 .8rem .8rem 2.35rem;display:flex}.portal-student-row{margin-top:.5rem}.portal-empty-sm{text-align:left;padding:1rem .5rem}.portal-progress{background:var(--bg-subtle);border-radius:var(--r-full);width:100%;height:8px;overflow:hidden}.portal-progress-bar{background:var(--accent);border-radius:var(--r-full);height:100%}.portal-table{border-collapse:collapse;width:100%;font-size:.86rem}.portal-table th,.portal-table td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem .85rem}.portal-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-subtle);font-size:.72rem}.portal-empty{text-align:center;color:var(--text-secondary);padding:2.5rem 1rem}@media (width<=980px){.portal-main-grid{grid-template-columns:1fr}.portal-header{flex-direction:column}.portal-inline-create{grid-template-columns:1fr}}.portal-tabs-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.75rem;display:flex}.portal-tabs{gap:.5rem;display:flex}.portal-tab-btn{border-radius:var(--r-md,8px);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;transition:all .15s;display:inline-flex}.portal-tab-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.portal-tab-btn.active{background:var(--accent,#6366f1);color:#fff;border-color:var(--accent,#6366f1);box-shadow:0 2px 6px #6366f140}.portal-tab-badge{background:var(--bg-subtle);color:var(--text-secondary);border-radius:9999px;justify-content:center;align-items:center;padding:.12rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.portal-tab-btn.active .portal-tab-badge{color:#fff;background:#ffffff47}.portal-search-box{background:var(--bg-white,#fff);border:1px solid var(--border);border-radius:var(--r-md,8px);align-items:center;gap:.5rem;min-width:240px;padding:.4rem .75rem;display:flex}.portal-search-box input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-size:.85rem}.portal-search-box input::placeholder{color:var(--text-muted)}.portal-modal-backdrop{-webkit-backdrop-filter:blur(5px);z-index:1050;background:#0f172a8c;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0;overflow-y:auto}.portal-modal-content{background:var(--bg-white,#fff);border:1px solid var(--border,#e2e8f0);border-radius:var(--r-xl,16px);flex-direction:column;width:100%;max-width:520px;max-height:90vh;animation:.2s cubic-bezier(.16,1,.3,1) portalModalPop;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #0f172a40}@keyframes portalModalPop{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.portal-modal-header{border-bottom:1px solid var(--border,#e2e8f0);background:var(--bg-white,#fff);justify-content:space-between;align-items:center;padding:1.15rem 1.4rem;display:flex}.portal-modal-title{color:var(--text-primary,#0f172a);align-items:center;gap:.55rem;font-size:1.1rem;font-weight:700;display:flex}.portal-modal-icon{color:var(--accent,#6366f1)}.portal-modal-close{color:var(--text-muted,#94a3b8);cursor:pointer;border-radius:var(--r-sm,6px);background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;transition:all .15s;display:flex}.portal-modal-close:hover{background:var(--bg-subtle,#f1f5f9);color:var(--text-primary,#0f172a)}.portal-modal-body{flex-direction:column;gap:1rem;padding:1.35rem 1.4rem;display:flex;overflow-y:auto}.portal-modal-body label{flex-direction:column;gap:.35rem;display:flex}.portal-modal-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=540px){.portal-modal-row{grid-template-columns:1fr}}.portal-modal-footer{border-top:1px solid var(--border,#e2e8f0);background:var(--bg-subtle,#f8fafc);justify-content:flex-end;align-items:center;gap:.65rem;padding:1rem 1.4rem;display:flex}.lp-page-container{flex-direction:column;gap:1.5rem;max-width:1380px;min-height:calc(100vh - 120px);margin:0 auto;display:flex}.lp-filters-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.lp-filters-top-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.85rem;display:flex}.lp-view-switcher{background:var(--bg-subtle);border-radius:var(--r-lg);border:1px solid var(--border);gap:.25rem;padding:.25rem;display:inline-flex}.lp-view-tab{border-radius:var(--r-md);color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);background:0 0;border:none;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.85rem;font-weight:600;display:inline-flex}.lp-view-tab:hover{color:var(--text-primary);background:#fff9}.lp-view-tab--active{box-shadow:var(--shadow-xs);background:var(--bg-white)!important;color:var(--accent)!important}.lp-filters-actions{align-items:center;gap:.65rem;display:flex}.lp-filters-bottom-row{flex-wrap:wrap;align-items:flex-end;gap:.9rem;display:flex}.lp-select-wrapper{flex-direction:column;flex:140px;gap:.35rem;min-width:140px;display:flex}.lp-filter-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:700}.lp-select{border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--bg-white);width:100%;color:var(--text-primary);cursor:pointer;transition:border-color var(--t-fast);outline:none;padding:.5rem .75rem;font-size:.85rem;font-weight:500}.lp-select:focus{border-color:var(--border-focus)}.lp-search-wrapper{flex-direction:column;flex:2 240px;gap:.35rem;min-width:220px;display:flex}.lp-search-input-box{align-items:center;display:flex;position:relative}.lp-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.75rem}.lp-search-input{border:1.5px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text-primary);background:var(--bg-white);transition:border-color var(--t-fast);outline:none;padding:.5rem 2rem .5rem 2.2rem;font-size:.85rem}.lp-search-input:focus{border-color:var(--border-focus)}.lp-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:.6rem}.lp-search-clear:hover{color:var(--text-primary)}.lp-card-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.15rem;display:grid}.lp-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);cursor:pointer;transition:transform var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);flex-direction:column;justify-content:space-between;padding:1.15rem;display:flex;position:relative}.lp-card:hover{border-color:var(--accent-mid);box-shadow:var(--shadow-md);transform:translateY(-2px)}.lp-card-header{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.lp-card-status-row{align-items:center;gap:.5rem;display:flex}.lp-card-duration{color:var(--text-secondary);background:var(--bg-subtle);border-radius:var(--r-full);align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.lp-card-actions{align-items:center;gap:.35rem;display:flex}.lp-card-action-btn{border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;transition:all var(--t-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;display:flex}.lp-card-action-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.lp-card-action-btn--danger:hover{background:var(--red-light);color:var(--red)}.lp-card-body{flex:1;margin-bottom:.85rem}.lp-card-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.45rem;font-size:1rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.lp-card-topic{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.82rem;font-weight:500;display:flex}.lp-topic-icon{color:var(--accent);flex-shrink:0}.lp-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:.75rem;display:flex}.lp-card-tags{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.lp-tag{border-radius:var(--r-sm);align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.73rem;font-weight:600;display:inline-flex}.lp-tag--class{background:var(--accent-light);color:var(--accent-text)}.lp-tag--subject{background:var(--bg-subtle);color:var(--text-secondary)}.lp-tag--date{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.lp-card-open-arrow{color:var(--text-faint);transition:transform var(--t-fast), color var(--t-fast)}.lp-card:hover .lp-card-open-arrow{color:var(--accent);transform:translate(2px)}.lp-month-view{flex-direction:column;gap:1.25rem;display:flex}.lp-month-header{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.lp-month-title-wrap{align-items:center;gap:.75rem;display:flex}.lp-month-icon{color:var(--accent)}.lp-month-title{color:var(--text-primary);font-size:1.25rem;font-weight:700}.lp-month-context-tag{gap:.4rem;display:flex}.lp-ctx-pill{background:var(--accent-light);color:var(--accent-text);border-radius:var(--r-full);padding:.2rem .55rem;font-size:.75rem;font-weight:600}.lp-month-nav-controls{align-items:center;gap:.5rem;display:flex}.lp-month-today-btn{padding:.4rem .85rem!important;font-size:.8rem!important}.lp-month-arrows{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-white);align-items:center;display:flex;overflow:hidden}.lp-month-arrow-btn{color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.4rem .55rem;display:flex}.lp-month-arrow-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.lp-scheduling-notice{border-radius:var(--r-md);color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;align-items:flex-start;gap:.75rem;padding:.85rem 1.15rem;font-size:.84rem;line-height:1.45;display:flex}.lp-notice-icon{color:#15803d;flex-shrink:0;margin-top:1px}.lp-calendar-grid{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);overflow:hidden}.lp-calendar-weekdays{background:var(--bg-subtle);border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);display:grid}.lp-calendar-weekday{text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;padding:.65rem;font-size:.78rem;font-weight:700}.lp-calendar-days{grid-template-columns:repeat(7,1fr);display:grid}.lp-calendar-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:110px;transition:background var(--t-fast);background:var(--bg-white);flex-direction:column;padding:.5rem;display:flex}.lp-calendar-day:nth-child(7n){border-right:none}.lp-calendar-day--other-month{opacity:.45;background:#fafafa}.lp-calendar-day--today{background:#f5f7ff}.lp-calendar-day--today .lp-day-number{background:var(--accent);color:#fff;border-radius:var(--r-full);padding:.1rem .45rem}.lp-calendar-day-header{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.lp-day-number{color:var(--text-secondary);font-size:.8rem;font-weight:700}.lp-day-add-btn{border-radius:var(--r-xs);color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--t-fast);background:0 0;border:none;padding:.15rem}.lp-calendar-day:hover .lp-day-add-btn{opacity:1}.lp-day-add-btn:hover{background:var(--accent-light);color:var(--accent)}.lp-calendar-day-content{flex-direction:column;flex:1;gap:.25rem;display:flex;overflow:hidden}.lp-calendar-chip{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-primary);cursor:pointer;transition:all var(--t-fast);text-align:left;box-sizing:border-box;align-items:center;gap:.35rem;width:100%;padding:.2rem .4rem;font-size:.72rem;font-weight:500;text-decoration:none;display:flex}.lp-calendar-chip:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent-text);transform:translateY(-1px)}.lp-calendar-chip-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.lp-calendar-chip-dot--draft{background:#f59e0b}.lp-calendar-chip-dot--generated{background:#3b82f6}.lp-calendar-chip-dot--finalized{background:#10b981}.lp-calendar-chip-dot--archived{background:#9ca3af}.lp-calendar-chip-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.lp-calendar-more-badge{color:var(--text-muted);cursor:pointer;padding:.1rem .25rem;font-size:.68rem;font-weight:600}.lp-calendar-more-badge:hover{color:var(--accent)}.lp-month-queue-section{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);padding:1.5rem}.lp-month-queue-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.lp-section-title{color:var(--text-primary);font-size:1.15rem;font-weight:700}.lp-section-subtitle{color:var(--text-secondary);font-size:.82rem}.lp-month-queue-actions{gap:.5rem;display:flex}.lp-btn-sm{padding:.45rem .85rem!important;font-size:.82rem!important}.lp-btn-xs{padding:.35rem .65rem!important;font-size:.75rem!important}.lp-class-view{flex-direction:column;gap:1.25rem;display:flex}.lp-classes-bar{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:flex}.lp-classes-bar-label{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;display:flex}.lp-classes-pills{flex-wrap:wrap;gap:.4rem;display:flex}.lp-class-pill{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);padding:.4rem .85rem;font-size:.82rem;font-weight:600}.lp-class-pill:hover{background:var(--accent-light);color:var(--accent-text);border-color:var(--accent-mid)}.lp-class-pill--active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.lp-class-stats-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.lp-stat-box{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);padding:1.15rem}.lp-stat-num{color:var(--text-primary);margin-bottom:.25rem;font-size:1.75rem;font-weight:800;line-height:1.1}.lp-stat-lbl{color:var(--text-secondary);font-size:.78rem;font-weight:600}.lp-stat-box--green .lp-stat-num{color:var(--green)}.lp-stat-box--blue .lp-stat-num{color:var(--blue)}.lp-stat-box--amber .lp-stat-num{color:var(--amber)}.lp-class-subjects-container{flex-direction:column;gap:1.25rem;display:flex}.lp-subject-section-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);padding:1.35rem}.lp-subject-section-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.lp-subject-section-title-wrap{align-items:center;gap:.5rem;display:flex}.lp-subject-header-icon{color:var(--accent)}.lp-subject-section-title{color:var(--text-primary);font-size:1.1rem;font-weight:700}.lp-subject-plan-count{background:var(--bg-subtle);color:var(--text-secondary);border-radius:var(--r-full);padding:.15rem .5rem;font-size:.75rem;font-weight:600}.lp-subject-section-actions{gap:.5rem;display:flex}.lp-subject-empty-note{background:var(--bg-subtle);border-radius:var(--r-md);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:1.25rem;font-size:.85rem;display:flex}.lp-link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:600}.lp-link-btn:hover{text-decoration:underline}.lp-subject-view{flex-direction:column;gap:1.25rem;display:flex}.lp-subjects-bar{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:flex}.lp-subjects-bar-label{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;display:flex}.lp-subjects-pills{flex-wrap:wrap;gap:.4rem;display:flex}.lp-subject-pill{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);padding:.4rem .85rem;font-size:.82rem;font-weight:600}.lp-subject-pill:hover{background:var(--accent-light);color:var(--accent-text);border-color:var(--accent-mid)}.lp-subject-pill--active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.lp-subject-active-header{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.lp-subject-title{color:var(--text-primary);font-size:1.2rem;font-weight:700}.lp-subject-subtitle{color:var(--text-secondary);font-size:.82rem}.lp-subject-header-actions{gap:.5rem;display:flex}.lp-subject-classes-container{flex-direction:column;gap:1.25rem;display:flex}.lp-subject-class-section{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);padding:1.35rem}.lp-subject-class-section-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.lp-subject-class-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;display:flex}.lp-class-icon{color:var(--accent)}.lp-badge-counter{background:var(--bg-subtle);color:var(--text-secondary);border-radius:var(--r-full);padding:.15rem .5rem;font-size:.75rem;font-weight:600}.lp-subject-class-actions{gap:.4rem;display:flex}.lp-topic-view{flex-direction:column;gap:1.25rem;display:flex}.lp-topic-header-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.lp-topic-breadcrumb{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.lp-breadcrumb-step{font-weight:500}.lp-breadcrumb-step--chapter{color:var(--accent-text);font-weight:600}.lp-breadcrumb-step--active{color:var(--accent);font-weight:700}.lp-topic-header-actions{gap:.5rem;display:flex}.lp-topic-layout{grid-template-columns:280px 1fr;align-items:flex-start;gap:1.25rem;display:grid}.lp-topic-sidebar{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);padding:1.15rem}.lp-topic-sidebar-title{color:var(--text-primary);border-bottom:1px solid var(--border);align-items:center;gap:.4rem;margin-bottom:.85rem;padding-bottom:.5rem;font-size:.85rem;font-weight:700;display:flex}.lp-topic-list{flex-direction:column;gap:.4rem;display:flex}.lp-topic-item{text-align:left;border-radius:var(--r-md);cursor:pointer;transition:all var(--t-fast);background:0 0;border:1px solid #0000;padding:.65rem .85rem}.lp-topic-item:hover{background:var(--bg-subtle)}.lp-topic-item--active{background:var(--accent-light)!important;border-color:var(--accent-mid)!important}.lp-topic-item-name{color:var(--text-primary);margin-bottom:.15rem;font-size:.88rem;font-weight:600}.lp-topic-item--active .lp-topic-item-name{color:var(--accent-text)}.lp-topic-item-meta{color:var(--text-muted);gap:.35rem;font-size:.75rem;display:flex}.lp-topic-main{flex-direction:column;display:flex}.lp-topic-sequence-container{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);padding:1.5rem}.lp-topic-sequence-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.lp-sequence-title{color:var(--text-primary);font-size:1.25rem;font-weight:700}.lp-sequence-subtitle{color:var(--text-secondary);font-size:.85rem}.lp-seq-stat{color:var(--text-secondary);background:var(--bg-subtle);border-radius:var(--r-full);align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.82rem;display:inline-flex}.lp-topic-sequence-list{flex-direction:column;gap:1rem;display:flex;position:relative}.lp-sequence-step-card{align-items:flex-start;gap:1rem;display:flex}.lp-sequence-index-bubble{background:var(--accent);color:#fff;text-align:center;border-radius:var(--r-full);flex-shrink:0;width:76px;margin-top:1rem;padding:.35rem .5rem;font-size:.75rem;font-weight:700}.lp-sequence-card-content{flex:1}.lp-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.lp-modal-content{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);width:100%;max-width:520px;animation:.18s cubic-bezier(.16,1,.3,1) modalPop;overflow:hidden}@keyframes modalPop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.lp-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.15rem 1.4rem;display:flex}.lp-modal-title{color:var(--text-primary);align-items:center;gap:.45rem;font-size:1.05rem;font-weight:700;display:flex}.lp-modal-title--danger,.lp-danger-icon{color:var(--red)}.lp-accent-icon{color:var(--accent)}.lp-modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;justify-content:center;align-items:center;padding:.2rem;display:flex}.lp-modal-close:hover{background:var(--bg-subtle);color:var(--text-primary)}.lp-modal-body{flex-direction:column;gap:1rem;padding:1.25rem 1.4rem;display:flex}.lp-modal-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.45}.lp-modal-subtext{color:var(--text-muted);margin-top:.35rem;font-size:.82rem}.lp-modal-footer{background:var(--bg-subtle);border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:.65rem;padding:1rem 1.4rem;display:flex}.lp-form-group{flex-direction:column;gap:.4rem;display:flex}.lp-label{color:var(--text-primary);font-size:.82rem;font-weight:600}.lp-required{color:var(--red)}.lp-textarea{border:1.5px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text-primary);resize:vertical;transition:border-color var(--t-fast);outline:none;padding:.65rem .85rem;font-size:.85rem}.lp-textarea:focus{border-color:var(--border-focus)}.lp-suggestions-wrap{flex-direction:column;gap:.45rem;display:flex}.lp-suggestions-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;display:flex}.lp-chips-list{flex-direction:column;gap:.35rem;display:flex}.lp-chip{text-align:left;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);padding:.4rem .65rem;font-size:.78rem}.lp-chip:hover{background:var(--accent-light);border-color:var(--accent-mid);color:var(--accent-text)}.lp-error-banner{background:var(--red-light);border-radius:var(--r-md);color:var(--red);border:1px solid #fca5a5;padding:.65rem .85rem;font-size:.82rem}.lp-spinner{animation:1s linear infinite spin}.lp-empty-state{text-align:center;background:var(--bg-white);border:1px dashed var(--border);border-radius:var(--r-xl);flex-direction:column;justify-content:center;align-items:center;padding:3.5rem 1.5rem;display:flex}.lp-empty-icon{color:var(--accent-mid);margin-bottom:1rem}.lp-empty-title{color:var(--text-primary);margin-bottom:.4rem;font-size:1.15rem;font-weight:700}.lp-empty-desc{color:var(--text-secondary);max-width:440px;margin-bottom:1.25rem;font-size:.85rem;line-height:1.45}.lp-empty-actions{align-items:center;gap:.65rem;display:flex}@media (width<=900px){.lp-topic-layout{grid-template-columns:1fr}}@media (width<=680px){.lp-filters-top-row{flex-direction:column;align-items:stretch}.lp-view-switcher{width:100%;overflow-x:auto}.lp-card-grid{grid-template-columns:1fr}.lp-calendar-days{font-size:.75rem}.lp-sequence-step-card{flex-direction:column;gap:.4rem}.lp-sequence-index-bubble{align-self:flex-start;width:auto;margin-top:0}}.lc-page-container{flex-direction:column;gap:1.5rem;max-width:980px;min-height:calc(100vh - 120px);margin:0 auto;display:flex}.lc-header-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 1.75rem;display:flex}.lc-header-left{align-items:center;gap:1rem;display:flex}.lc-back-btn{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);justify-content:center;align-items:center;padding:.5rem;display:flex}.lc-back-btn:hover{background:var(--bg-white);color:var(--text-primary);border-color:var(--border-focus)}.lc-header-title{color:var(--text-primary);font-size:1.35rem;font-weight:800}.lc-header-subtitle{color:var(--text-secondary);margin-top:.15rem;font-size:.85rem}.lc-tabs-switcher{background:var(--bg-subtle);border-radius:var(--r-lg);border:1px solid var(--border);gap:.25rem;padding:.25rem;display:inline-flex}.lc-tab-btn{border-radius:var(--r-md);color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);background:0 0;border:none;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.lc-tab-btn:hover{color:var(--text-primary)}.lc-tab-btn--active{box-shadow:var(--shadow-xs);background:var(--bg-white)!important;color:var(--accent)!important}.lc-form-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);flex-direction:column;gap:1.75rem;padding:2rem;display:flex}.lc-section-divider{color:var(--text-primary);border-bottom:1.5px solid var(--border);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.5rem;padding-bottom:.65rem;font-size:.85rem;font-weight:700;display:flex}.lc-section-icon{color:var(--accent)}.lc-form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.lc-field-group{flex-direction:column;gap:.4rem;display:flex}.lc-field-group--full{grid-column:1/-1}.lc-field-label{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:.82rem;font-weight:600;display:flex}.lc-field-required{color:var(--red);margin-left:.2rem}.lc-input,.lc-select,.lc-textarea{border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--bg-white);width:100%;color:var(--text-primary);transition:border-color var(--t-fast);outline:none;padding:.65rem .85rem;font-size:.88rem}.lc-input:focus,.lc-select:focus,.lc-textarea:focus{border-color:var(--border-focus)}.lc-field-hint{color:var(--text-muted);font-size:.75rem}.lc-duration-presets{gap:.4rem;margin-top:.35rem;display:flex}.lc-preset-btn{border-radius:var(--r-xs);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);padding:.25rem .55rem;font-size:.75rem;font-weight:600}.lc-preset-btn:hover{background:var(--accent-light);color:var(--accent-text);border-color:var(--accent-mid)}.lc-preset-btn--active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.lc-form-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:.85rem;padding-top:1.25rem;display:flex}.lc-error-box{background:var(--red-light);border-radius:var(--r-md);color:var(--red);border:1px solid #fca5a5;padding:.85rem 1.15rem;font-size:.85rem}.lc-generating-screen{text-align:center;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;padding:4.5rem 1.5rem;display:flex}.lc-gen-spinner-container{justify-content:center;align-items:center;width:72px;height:72px;display:flex;position:relative}.lc-gen-spinner-ring{border:3.5px solid var(--accent-light);border-top-color:var(--accent);border-radius:50%;animation:1s linear infinite spin;position:absolute;inset:0}.lc-gen-icon{color:var(--accent)}.lc-gen-title{color:var(--text-primary);margin-bottom:.35rem;font-size:1.35rem;font-weight:800}.lc-gen-msg{color:var(--text-secondary);min-height:24px;font-size:.95rem;font-weight:500}.lc-gen-progress{background:var(--bg-subtle);border-radius:var(--r-full);width:280px;height:5px;overflow:hidden}.lc-gen-progress-bar{background:linear-gradient(90deg, var(--accent), #818cf8, var(--accent));border-radius:var(--r-full);background-size:200% 100%;width:100%;height:100%;animation:1.8s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.lc-skel-list{flex-direction:column;gap:.75rem;width:100%;max-width:500px;display:flex}.lc-skel-card{background:var(--bg-subtle);border-radius:var(--r-md);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.lc-skel-line{border-radius:var(--r-full);background:#e2e8f0;height:10px;animation:1.5s ease-in-out infinite pulse}.lc-skel-line--short{width:35%}.lc-skel-line--medium{width:65%}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.lc-category-switcher{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.5rem;display:grid}.lc-cat-btn{background:var(--bg-subtle);border:2px solid var(--border);border-radius:var(--r-lg);cursor:pointer;text-align:left;transition:all var(--t-fast);align-items:flex-start;gap:.85rem;padding:1rem 1.25rem;display:flex}.lc-cat-btn:hover{border-color:var(--accent);background:var(--bg-white)}.lc-cat-btn--active{box-shadow:var(--shadow-sm);background:var(--bg-white)!important;border-color:var(--accent)!important}.lc-cat-btn-text{flex-direction:column;gap:.2rem;display:flex}.lc-cat-btn-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.lc-cat-btn-sub{color:var(--text-secondary);font-size:.78rem}.lc-stepper-wrap{align-items:center;gap:.5rem;display:flex}.lc-stepper-btn{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-subtle);width:36px;height:36px;color:var(--text-primary);cursor:pointer;transition:all var(--t-fast);justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.lc-stepper-btn:hover:not(:disabled){background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.lc-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.lc-stepper-input{text-align:center;width:70px;padding:.4rem;font-size:1.1rem;font-weight:700}.lc-lectures-stack{flex-direction:column;gap:1.25rem;display:flex}.lc-lecture-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--t-fast);flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.lc-lecture-card:focus-within{border-color:var(--accent);background:var(--bg-white);box-shadow:var(--shadow-sm)}.lc-lecture-card-header{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.lc-lecture-badge{background:var(--accent-light);color:var(--accent-text);border-radius:var(--r-full);align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.85rem;font-weight:700;display:inline-flex}.lc-lecture-remove-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);transition:all var(--t-fast);background:0 0;border:none;align-items:center;gap:.35rem;padding:.35rem;font-size:.78rem;display:flex}.lc-lecture-remove-btn:hover{color:#ef4444;background:#fee2e2}.lc-btn-add-lecture{border:2px dashed var(--border);border-radius:var(--r-lg);color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);background:0 0;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.85rem 1.5rem;font-size:.9rem;font-weight:600;display:flex}.lc-btn-add-lecture:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.lc-ai-breakdown-btn{border-radius:var(--r-md);border:1px solid var(--accent);background:var(--accent-light);color:var(--accent-text);cursor:pointer;transition:all var(--t-fast);align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.82rem;font-weight:600;display:inline-flex}.lc-ai-breakdown-btn:hover:not(:disabled){background:var(--accent);color:#fff}.lc-ai-breakdown-btn:disabled{opacity:.5;cursor:not-allowed}.ld-page-container{flex-direction:column;gap:1.5rem;max-width:1040px;min-height:calc(100vh - 120px);margin:0 auto;display:flex}.ld-header-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem 1.75rem;display:flex}.ld-header-left{align-items:center;gap:1rem;display:flex}.ld-back-btn{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);justify-content:center;align-items:center;padding:.5rem;display:flex}.ld-back-btn:hover{background:var(--bg-white);color:var(--text-primary);border-color:var(--border-focus)}.ld-header-title-wrap{flex-direction:column;gap:.25rem;display:flex}.ld-header-title{color:var(--text-primary);font-size:1.35rem;font-weight:800}.ld-header-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.65rem;font-size:.8rem;display:flex}.ld-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ld-info-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);flex-direction:column;gap:1.25rem;padding:1.5rem 1.75rem;display:flex}.ld-info-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.15rem;display:grid}.ld-input-title{font-size:1.15rem;font-weight:700}.ld-list-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);flex-direction:column;gap:1rem;padding:1.5rem 1.75rem;display:flex}.ld-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.ld-card-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:flex}.ld-card-icon{color:var(--accent)}.ld-items-list{flex-direction:column;gap:.5rem;display:flex}.ld-item-row{align-items:center;gap:.5rem;display:flex}.ld-bullet{color:var(--accent);font-weight:800}.ld-item-input{border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-primary);transition:border-color var(--t-fast);outline:none;flex:1;padding:.45rem .75rem;font-size:.85rem}.ld-item-input:focus{border-color:var(--border-focus)}.ld-item-remove-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;padding:.35rem}.ld-item-remove-btn:hover{background:var(--red-light);color:var(--red)}.ld-add-item-row{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.ld-sections-container{flex-direction:column;gap:1.25rem;display:flex}.ld-sections-main-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ld-sections-main-title{color:var(--text-primary);font-size:1.15rem;font-weight:800}.ld-sections-total-time{color:var(--text-secondary);background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-full);padding:.3rem .75rem;font-size:.82rem;font-weight:600}.ld-phases-enhance-banner{border:1.5px solid var(--accent-mid);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);background:linear-gradient(135deg,#6366f114,#a855f714);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.ld-section-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);transition:border-color var(--t-fast);flex-direction:column;gap:1.15rem;padding:1.5rem 1.75rem;display:flex;position:relative}.ld-section-card:hover{border-color:var(--accent-mid)}.ld-section-card--regenerating{opacity:.75;pointer-events:none}.ld-section-card-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.85rem;display:flex}.ld-section-number-pill{background:var(--accent-light);color:var(--accent-text);border-radius:var(--r-full);text-transform:uppercase;letter-spacing:.04em;padding:.2rem .6rem;font-size:.72rem;font-weight:700}.ld-section-header-left{align-items:center;gap:.65rem;display:flex}.ld-section-title-input{color:var(--text-primary);border-radius:var(--r-md);transition:all var(--t-fast);border:1px solid #0000;outline:none;padding:.25rem .5rem;font-size:1.05rem;font-weight:700}.ld-section-title-input:hover,.ld-section-title-input:focus{border-color:var(--border-focus);background:var(--bg-subtle)}.ld-section-header-right{align-items:center;gap:.65rem;display:flex}.ld-section-duration-wrap{background:var(--bg-subtle);border-radius:var(--r-md);border:1px solid var(--border);align-items:center;gap:.35rem;padding:.25rem .55rem;display:inline-flex}.ld-section-duration-input{width:42px;color:var(--text-primary);text-align:center;background:0 0;border:none;outline:none;font-size:.82rem;font-weight:700}.ld-section-regen-btn{background:var(--accent-light);border:1px solid var(--accent-mid);border-radius:var(--r-md);color:var(--accent-text);cursor:pointer;transition:all var(--t-fast);align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.ld-section-regen-btn:hover{background:var(--accent);color:#fff}.ld-section-body{flex-direction:column;gap:.9rem;display:flex}.ld-section-content-textarea{border:1.5px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text-primary);resize:vertical;background:var(--bg-white);transition:border-color var(--t-fast);outline:none;padding:.85rem;font-size:.88rem;line-height:1.55}.ld-section-content-textarea:focus{border-color:var(--border-focus)}.ld-guidance-box{border:1px solid var(--border);border-left:3.5px solid var(--accent);border-radius:var(--r-md);background:#f8fafc;flex-direction:column;gap:.35rem;padding:.75rem 1rem;display:flex}.ld-guidance-header{color:var(--accent-text);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;display:flex}.ld-guidance-input{width:100%;color:var(--text-secondary);resize:vertical;background:0 0;border:none;outline:none;font-size:.82rem}.ld-activities-box{flex-direction:column;gap:.45rem;display:flex}.ld-activities-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:700}.ld-activities-list{flex-direction:column;gap:.35rem;display:flex}.ld-activity-row{align-items:center;gap:.4rem;display:flex}.ld-activity-input{border:1px solid var(--border);border-radius:var(--r-sm);outline:none;flex:1;padding:.35rem .65rem;font-size:.82rem}.ld-activity-input:focus{border-color:var(--border-focus)}.lp-print-sheet{display:none}.ld-lectures-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);flex-direction:column;gap:1.25rem;padding:1.5rem 1.75rem;display:flex}.ld-lectures-progress-wrap{background:var(--bg-subtle);border-radius:var(--r-md);border:1px solid var(--border);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.ld-lectures-progress-bar-bg{background:var(--border);border-radius:var(--r-full);flex:1;height:8px;overflow:hidden}.ld-lectures-progress-bar-fill{border-radius:var(--r-full);background:#10b981;height:100%;transition:width .3s}.ld-lectures-progress-stats{color:var(--text-secondary);white-space:nowrap;font-size:.82rem;font-weight:600}.ld-lecture-items-list{flex-direction:column;gap:1rem;display:flex}.ld-lecture-entry-card{background:var(--bg-subtle);border:1.5px solid var(--border);border-radius:var(--r-lg);transition:all var(--t-fast);flex-direction:column;gap:.85rem;padding:1.25rem 1.5rem;display:flex}.ld-lecture-entry-card:hover{border-color:var(--accent-mid)}.ld-lecture-entry-card:focus-within{border-color:var(--accent);background:var(--bg-white);box-shadow:var(--shadow-sm)}.ld-lecture-entry-header{border-bottom:1px dashed var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.65rem;display:flex}.ld-lecture-badge{background:var(--accent-light);color:var(--accent-text);border-radius:var(--r-full);align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.82rem;font-weight:700;display:inline-flex}.ld-lecture-status-select{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-white);color:var(--text-primary);cursor:pointer;padding:.35rem .6rem;font-size:.8rem;font-weight:600}.ld-lecture-date-input{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-white);color:var(--text-primary);padding:.35rem .6rem;font-size:.8rem}.ld-lecture-empty-state{text-align:center;background:var(--bg-subtle);border:2px dashed var(--border);border-radius:var(--r-lg);flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.5rem;display:flex}@media print{@page{size:A4 portrait;margin:12mm 14mm}.sidebar,.topbar,.navbar,.app-sidebar,nav,header:not(.lpp-header),.ld-page-container,.ld-header-card,.ld-header-actions,.ld-section-regen-btn,.ld-back-btn,.ld-item-remove-btn,.ld-add-item-row,.btn,.toast-container,button,.no-print{display:none!important}html,body{color:#0f172a!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;margin:0!important;padding:0!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif!important}.lp-print-sheet{font-size:9pt;line-height:1.4;color:#0f172a!important;background:#fff!important;width:100%!important;display:block!important}.lpp-header{break-inside:avoid;border-bottom:2px solid #0f172a;justify-content:space-between;align-items:flex-start;margin-bottom:10px;padding-bottom:8px;display:flex}.lpp-institution-crest{align-items:center;gap:10px;display:flex}.lpp-crest-icon{color:#fff;background:#0f172a;border-radius:4px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;font-weight:900;display:flex}.lpp-institution-details{flex-direction:column;display:flex}.lpp-school-name{letter-spacing:.5px;color:#0f172a;text-transform:uppercase;margin:0;font-size:1.15rem;font-weight:800;line-height:1.2}.lpp-school-sub{color:#475569;margin:2px 0 0;font-size:.72rem}.lpp-doc-title{letter-spacing:.6px;color:#1e293b;text-transform:uppercase;margin:3px 0 0;font-size:.8rem;font-weight:700}.lpp-doc-meta-badge{text-align:right;background:#f8fafc;border:1px solid #94a3b8;border-radius:4px;padding:4px 8px}.lpp-badge-status{color:#059669;letter-spacing:.5px;font-size:.75rem;font-weight:800}.lpp-badge-ref{color:#64748b;margin-top:2px;font-family:monospace;font-size:.65rem}.lpp-title-section{text-align:center;break-inside:avoid;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;margin-bottom:10px;padding:8px 12px}.lpp-lesson-title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:800;line-height:1.3}.lpp-meta-table{border-collapse:collapse;break-inside:avoid;border:1px solid #cbd5e1;width:100%;margin-bottom:10px;font-size:.75rem}.lpp-meta-table td{vertical-align:middle;border:1px solid #cbd5e1;padding:4px 8px}.lpp-label-cell{color:#475569;background:#f8fafc;width:18%;font-weight:600}.lpp-value-cell{color:#0f172a;width:32%}.lpp-section{break-inside:auto;margin-bottom:10px}.lpp-section-heading{text-transform:uppercase;letter-spacing:.4px;color:#0f172a;break-inside:avoid;border-bottom:1.5px solid #0f172a;margin:8px 0 5px;padding-bottom:2px;font-size:.8rem;font-weight:700}.lpp-sec-num{color:#2563eb;margin-right:4px}.lpp-section-subtext{color:#475569;margin:2px 0 4px;font-size:.74rem;font-style:italic}.lpp-sec-desc{color:#334155;margin:4px 0 0;font-size:.74rem;line-height:1.4}.lpp-section--grid{break-inside:avoid;gap:14px;display:flex}.lpp-col{flex:1}.lpp-numbered-list,.lpp-bullet-list{margin:0;padding:0;font-size:.76rem;list-style:none}.lpp-list-item,.lpp-bullet-item{gap:6px;margin-bottom:3px;line-height:1.4;display:flex}.lpp-bullet{color:#2563eb;font-weight:700}.lpp-empty-note{color:#64748b;font-style:italic}.lpp-procedure-table{border-collapse:collapse;page-break-inside:auto;border:1px solid #cbd5e1;width:100%;margin-top:6px;margin-bottom:10px;font-size:.74rem}.lpp-procedure-table thead{color:#fff;background:#0f172a;display:table-header-group}.lpp-procedure-table th{text-transform:uppercase;letter-spacing:.4px;text-align:left;border:1px solid #0f172a;padding:5px 7px;font-size:.7rem;font-weight:700}.lpp-procedure-table tr{page-break-inside:avoid;break-inside:avoid}.lpp-procedure-table td{vertical-align:top;border:1px solid #cbd5e1;padding:6px 7px;line-height:1.35}.lpp-proc-row:nth-child(2n){background:#f8fafc}.lpp-proc-phase{color:#0f172a}.lpp-phase-name{margin:2px 0;font-weight:600}.lpp-proc-time{color:#334155;background:#e2e8f0;border-radius:3px;padding:1px 4px;font-size:.65rem;font-weight:700;display:inline-block}.lpp-script-text{color:#1e293b;white-space:pre-wrap;margin:0}.lpp-mini-list{color:#1e293b;margin:0;padding-left:14px;font-size:.72rem}.lpp-mini-list li{margin-bottom:2px}.lpp-guidance-pill{color:#1e3a8a;background:#eff6ff;border-left:2.5px solid #3b82f6;border-radius:0 3px 3px 0;padding:3px 6px;font-size:.7rem}.lpp-text-muted{color:#64748b;font-size:.7rem;font-style:italic}.lpp-sign-off-section{page-break-inside:avoid;break-inside:avoid;margin-top:15px}.lpp-sign-off-heading{border-bottom:1.5px solid #0f172a;font-size:.76rem}.lpp-signatures-grid{justify-content:space-between;gap:16px;margin-top:16px;margin-bottom:8px;display:flex}.lpp-sig-block{text-align:center;flex:1}.lpp-sig-line{border-bottom:1px dashed #64748b;height:30px;margin-bottom:5px}.lpp-sig-role{color:#0f172a;font-size:.72rem;font-weight:700}.lpp-sig-meta{color:#64748b;margin-top:2px;font-size:.65rem}.lpp-footer{color:#64748b;page-break-inside:avoid;break-inside:avoid;border-top:1px solid #cbd5e1;justify-content:space-between;margin-top:12px;padding-top:4px;font-size:.62rem;display:flex}}.app-root{background:var(--bg-page);min-height:100vh;display:flex}.app-root--landing{display:block}
