@import "https://fonts.googleapis.com/css2?family=Inter:wght@300..700&family=DM+Serif+Display:ital@0;1&display=swap";:root{--color-bg:#171614;--color-surface:#1c1b19;--color-surface-2:#201f1d;--color-surface-offset:#1d1c1a;--color-surface-offset-2:#22211f;--color-divider:#262523;--color-border:#393836;--color-text:#cdccca;--color-text-muted:#797876;--color-text-faint:#5a5957;--color-text-inverse:#2b2a28;--color-primary:#4f98a3;--color-primary-hover:#227f8b;--color-primary-active:#195d66;--color-primary-highlight:#24484b;--color-success:#7fba47;--color-success-highlight:#26301f;--color-warning:#d58d62;--color-warning-highlight:#34271f;--color-error:#d27fb4;--color-error-highlight:#34212d;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:.875rem;--radius-xl:1.125rem;--radius-full:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--text-xs:.8rem;--text-sm:.93rem;--text-base:1rem;--text-lg:1.2rem;--text-xl:1.8rem;--font-body:"Inter", system-ui, sans-serif;--font-display:"DM Serif Display", Georgia, serif;--transition:.18s cubic-bezier(.16, 1, .3, 1);--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 10px 30px #0000004d;--shadow-lg:0 20px 50px #0006;--content-default:1100px}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;overflow-y:auto}body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:radial-gradient(circle at top left, color-mix(in srgb, var(--color-primary) 8%, transparent), transparent 35%), linear-gradient(180deg, color-mix(in srgb, var(--color-bg) 96%, white), var(--color-bg));margin:0;line-height:1.6}#root{min-height:100dvh}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}h1,h2,h3,h4{text-wrap:balance;line-height:1.2}p{text-wrap:pretty}a,button,input,textarea,select{transition:color var(--transition), background var(--transition), border-color var(--transition), box-shadow var(--transition), opacity var(--transition), transform var(--transition)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.app-shell{grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.header{z-index:100;-webkit-backdrop-filter:blur(16px);background:color-mix(in srgb, var(--color-bg) 82%, transparent);border-bottom:1px solid var(--color-divider);padding:var(--space-3) var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex;position:sticky;top:0}.logo{align-items:center;gap:var(--space-3);color:inherit;text-decoration:none;display:flex}.logo-icon-wrap{background:color-mix(in srgb, var(--color-primary) 12%, transparent);width:34px;height:34px;color:var(--color-primary);border-radius:10px;place-items:center;display:grid}.logo-text{font-family:var(--font-display);font-size:1.15rem}.logo-tag{color:var(--color-text-muted);font-size:var(--text-xs)}.header-actions,.action-bar,.modal-actions,.tab-bar,.result-meta-row,.model-pills,.alignment-label{gap:var(--space-2);display:flex}.main{width:min(var(--content-default), calc(100% - 2rem));padding:var(--space-8) var(--space-6) var(--space-12);margin:0 auto}.page-intro{margin-bottom:var(--space-8)}.page-intro h1{font-family:var(--font-display);color:var(--color-text);margin:0 0 var(--space-2);font-size:clamp(2rem,4vw,2.9rem)}.page-intro p{font-size:var(--text-sm);color:var(--color-text-muted);max-width:58ch;margin:0}.workflow{gap:var(--space-5);margin-bottom:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.workflow-section--full{grid-column:1/-1}.header--start{justify-content:flex-start}.section-body--col{gap:var(--space-4);flex-direction:column;display:flex}.centered-shell{place-items:center;display:grid}.auth-card{width:100%;max-width:400px;padding:var(--space-6)}.form-actions{gap:var(--space-3);margin-top:var(--space-2);display:flex}.main--narrow{max-width:800px;margin:0 auto}.main--medium{max-width:1000px;margin:0 auto}.section-card--col{gap:var(--space-4);flex-direction:column;display:flex}.simple-grid{gap:var(--space-4);display:grid}@media (width<=900px){.workflow,.analysis-grid{grid-template-columns:1fr}.workflow-section--full{grid-column:auto}.header,.main{width:min(100%,100% - 1rem)}}@media (width<=640px){.header,.main{padding-left:var(--space-4);padding-right:var(--space-4)}.page-intro h1{font-size:1.8rem}.action-bar{flex-direction:column;align-items:stretch}.action-status{justify-content:center;margin-left:0}.section-header{flex-wrap:wrap}.section-subtitle{width:100%;margin-left:0}}.section-card{background:color-mix(in srgb, var(--color-surface) 92%, transparent);border:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.section-header{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-divider);background:var(--color-surface-2);display:flex}.section-num{border-radius:var(--radius-full);background:var(--color-primary);width:24px;height:24px;color:var(--color-text-inverse);font-size:var(--text-xs);flex-shrink:0;place-items:center;font-weight:700;display:grid}.section-title{font-size:var(--text-sm);color:var(--color-text);font-weight:700}.section-subtitle{font-size:var(--text-xs);color:var(--color-text-muted);margin-left:auto}.section-body,.output-body{padding:var(--space-5)}.tab-bar{margin-bottom:var(--space-4);border-bottom:1px solid var(--color-divider)}.tab-btn{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-weight:600;font-size:var(--text-sm);border-bottom:2px solid #0000;align-items:center;gap:.45rem;display:inline-flex}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-pane{gap:var(--space-4);flex-direction:column;display:none}.tab-pane.active{display:flex}.field-group{gap:var(--space-2);flex-direction:column;display:flex}.field-label{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.field-label-inline{text-transform:none;letter-spacing:0;font-weight:500}.input,.textarea{border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--color-text) 12%, transparent);background:var(--color-surface-offset);width:100%;color:var(--color-text);padding:var(--space-3) var(--space-4);box-shadow:inset 0 1px #ffffff4d}.textarea{resize:vertical;min-height:110px}.textarea--tall{min-height:160px}.input::placeholder,.textarea::placeholder{color:var(--color-text-faint)}.input:focus,.textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary);background:color-mix(in srgb, var(--color-surface-2) 70%, var(--color-surface-offset))}.file-drop{border:2px dashed color-mix(in srgb, var(--color-border) 90%, transparent);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--color-surface-offset);color:var(--color-text-muted);gap:var(--space-2);text-align:center;place-items:center;display:grid}.file-drop--large{min-height:180px}.file-drop.drag-over{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface-offset))}.file-input-button{border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface-offset));width:fit-content;color:var(--color-primary);border:1px solid color-mix(in srgb, var(--color-primary) 20%, var(--color-border));justify-content:center;align-items:center;gap:.4rem;padding:.75rem 1rem;font-weight:700;display:inline-flex}.file-input-button input{display:none}.preview-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.preview-item{border-radius:var(--radius-md);background:var(--color-surface-offset);border:1px solid var(--color-divider);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.preview-item img{aspect-ratio:4/3;object-fit:cover;width:100%}.preview-label{white-space:nowrap;text-overflow:ellipsis;background:color-mix(in srgb, var(--color-text) 90%, transparent);color:#fff;padding:.45rem .55rem;font-size:10px;overflow:hidden}.preview-remove,.attachment-remove{background:color-mix(in srgb, var(--color-bg) 88%, transparent);width:1.55rem;height:1.55rem;color:var(--color-text);border:1px solid var(--color-divider);box-shadow:var(--shadow-sm);border-radius:999px;place-items:center;display:grid;position:absolute;top:.4rem;right:.4rem}.attachment-list{gap:var(--space-2);flex-direction:column;display:flex}.attachment-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-offset);border:1px solid color-mix(in srgb, var(--color-text) 8%, transparent);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-xs);display:flex;position:relative}.attachment-name{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);flex:1;overflow:hidden}.attachment-size{color:var(--color-text-faint)}.attachment-remove{width:1.4rem;height:1.4rem;box-shadow:none;background:0 0;border:none;position:static}.helper-note,.text-muted{color:var(--color-text-muted);font-size:var(--text-xs)}.helper-note--center{text-align:center;padding:var(--space-4) 0}.model-selector-area{gap:var(--space-3);flex-direction:column;display:flex}.model-pills{flex-wrap:wrap}.model-pill{border-radius:var(--radius-full);font-size:var(--text-xs);border:1px solid var(--color-border);background:var(--color-surface-offset);color:var(--color-text-muted);align-items:center;gap:.5rem;padding:.45rem .7rem;font-weight:700;display:inline-flex}.model-pill.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.pill-free{border-radius:var(--radius-full);background:color-mix(in srgb, currentColor 14%, transparent);padding:.2rem .35rem;font-size:9px}.output-header .section-subtitle{margin-left:0}.status-dot{border-radius:var(--radius-full);background:var(--color-text-faint);flex-shrink:0;width:8px;height:8px}.status-dot.done{background:var(--color-success)}.status-dot.loading{background:var(--color-warning);animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.output-empty{justify-content:center;align-items:center;gap:var(--space-3);text-align:center;min-height:220px;color:var(--color-text-muted);padding:var(--space-8) var(--space-4);flex-direction:column;display:flex}.output-empty h3{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.output-empty p{font-size:var(--text-xs);max-width:38ch;margin:0}.output-loading{gap:var(--space-4);flex-direction:column;display:flex}.skeleton{background:linear-gradient(90deg, var(--color-surface-offset) 25%, var(--color-surface-offset-2) 50%, var(--color-surface-offset) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-text{height:1em}.skeleton-heading{width:38%;height:1.4em}.skeleton-para{height:5em}.result-meta-row{margin-bottom:var(--space-4);flex-wrap:wrap}.result-badge{border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-primary) 14%, transparent);color:var(--color-primary);font-size:var(--text-xs);align-items:center;padding:.3rem .65rem;font-weight:700;display:inline-flex}.result-badge--muted{background:color-mix(in srgb, var(--color-text) 8%, transparent);color:var(--color-text-muted)}.analysis-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.analysis-card{border:1px solid color-mix(in srgb, var(--color-text) 8%, transparent);border-radius:var(--radius-lg);background:var(--color-surface-offset);padding:var(--space-4)}.analysis-card-title{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--color-primary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:800;display:flex}.analysis-card-body{white-space:pre-wrap;color:var(--color-text);line-height:1.7;font-size:var(--text-sm)}.alignment-bar{margin-top:var(--space-3)}.alignment-label{color:var(--color-text-muted);font-size:var(--text-xs);margin-bottom:var(--space-2);justify-content:space-between}.alignment-track{background:var(--color-surface-offset-2);border-radius:var(--radius-full);height:8px;overflow:hidden}.alignment-fill{border-radius:inherit;background:linear-gradient(90deg, var(--color-error), var(--color-warning), var(--color-success));height:100%;transition:width .55s cubic-bezier(.16,1,.3,1)}.action-bar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-2)}.action-status{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);margin-left:auto;display:inline-flex}.btn{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:.45rem;padding:.7rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface-offset);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-offset-2)}.btn-icon{width:2.5rem;height:2.5rem;padding:0}.btn-sm{width:fit-content;height:1.75rem;padding:0 .75rem;font-size:.8rem}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{padding:var(--space-4);z-index:200;background:#0000007a;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--color-surface);width:min(100%,540px);color:var(--color-text);border-radius:var(--radius-xl);border:1px solid var(--color-divider);padding:var(--space-5);box-shadow:var(--shadow-lg)}.modal-title-row{justify-content:space-between;align-items:start;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.modal h2{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.modal p{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted)}.lightbox-overlay{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000e0;justify-content:center;align-items:center;animation:.18s ease-out lightbox-fadein;display:flex;position:fixed;inset:0}@keyframes lightbox-fadein{0%{opacity:0}to{opacity:1}}.lightbox-close{z-index:10;color:#fff;cursor:pointer;width:2.5rem;height:2.5rem;transition:background var(--transition);background:#00000080;border:1px solid #ffffff26;border-radius:999px;place-items:center;display:grid;position:absolute;top:1rem;right:1rem}.lightbox-close:hover{background:#ffffff26}.lightbox-nav{z-index:10;color:#fff;cursor:pointer;width:3rem;height:3rem;transition:background var(--transition), transform var(--transition);background:#00000080;border:1px solid #ffffff26;border-radius:999px;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#ffffff26;transform:translateY(-50%)scale(1.08)}.lightbox-nav--prev{left:1rem}.lightbox-nav--next{right:1rem}.lightbox-image-wrapper{justify-content:center;align-items:center;width:100%;height:100%;padding:4.5rem 5rem;display:flex;overflow:hidden}.lightbox-image{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:100%;box-shadow:var(--shadow-lg);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:transform .2s ease-out}.lightbox-image.zoomed{transform-origin:50%;width:auto;max-width:none;height:auto;max-height:none}.lightbox-footer{align-items:center;gap:var(--space-3);color:#ccc;font-size:var(--text-xs);background:linear-gradient(#0000,#0009);padding:.75rem 1.25rem;display:flex;position:absolute;bottom:0;left:0;right:0}.lightbox-counter{font-variant-numeric:tabular-nums;opacity:.7}.lightbox-name{text-overflow:ellipsis;white-space:nowrap;opacity:.7;flex:1;overflow:hidden}.lightbox-zoom-btn{color:#fff;cursor:pointer;width:2rem;height:2rem;transition:background var(--transition);background:#ffffff1a;border:none;border-radius:999px;place-items:center;display:grid}.lightbox-zoom-btn:hover{background:#fff3}.streaming-output{padding:var(--space-4);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-lg);font-family:var(--font-mono,"SF Mono", "Cascadia Code", "Consolas", monospace);white-space:pre-wrap;word-break:break-word;max-height:60vh;color:var(--color-text);margin:0;font-size:.8125rem;line-height:1.65;overflow-y:auto}.api-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.api-hint a,.text-muted a{color:var(--color-primary);text-decoration:none}.api-hint a:hover,.text-muted a:hover{text-decoration:underline}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-heading{font-size:var(--text-lg);margin:0 0 var(--space-4)}.empty-text{color:var(--color-text-muted);font-size:var(--text-xs)}.inline-form{gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.student-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-offset)}.submissions-list{gap:var(--space-2);margin-top:var(--space-4);display:grid}.grade-badge{background:var(--color-success-highlight);color:var(--color-success);border-radius:var(--radius-sm);padding:.1rem .5rem;font-size:.8rem;font-weight:700}.assignment-details-toggle{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-offset);border:1px solid var(--color-divider);color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition), color var(--transition);margin-bottom:var(--space-4);font-weight:600;display:inline-flex}.assignment-details-toggle:hover{background:var(--color-surface-offset-2);color:var(--color-text)}.assignment-details-toggle.active{background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 25%, var(--color-border))}.assignment-details-panel{border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--color-surface);margin-bottom:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.assignment-details-field{gap:var(--space-2);flex-direction:column;display:flex}.assignment-details-label{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.assignment-details-save{align-self:flex-end}.context-summary{gap:var(--space-3);flex-direction:column;display:flex}.context-summary-block{border-left:3px solid var(--color-primary);padding-left:var(--space-3)}.context-summary-label{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--space-1);font-weight:700}.context-summary-text{font-size:var(--text-sm);color:var(--color-text);white-space:pre-wrap;margin:0;line-height:1.6}.context-summary-empty{color:var(--color-text-faint);font-size:var(--text-sm);font-style:italic}.context-source-note{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-primary);font-size:var(--text-xs);font-weight:600;display:flex}.context-source-note a{color:inherit;text-decoration:underline}.context-attachments{margin-top:var(--space-3)}.context-attachments-label{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--space-2);font-weight:700}.context-attachments-list{gap:var(--space-2);flex-direction:column;display:flex}.context-attachment-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-offset);border:1px solid var(--color-divider);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-xs);transition:border-color var(--transition), background var(--transition);text-decoration:none;display:flex}.context-attachment-item:hover{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface-offset))}.context-attachment-thumb{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--color-divider);flex-shrink:0;width:32px;height:32px}.context-attachment-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.context-attachment-size{color:var(--color-text-faint);flex-shrink:0}.attachment-file-preview{flex-shrink:0;align-items:center;text-decoration:none;display:flex}.attachment-thumb{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--color-divider);width:28px;height:28px}.storage-badge{font-size:var(--text-xs);color:var(--color-text-muted);cursor:default;align-items:center;gap:.5rem;margin-left:auto;display:flex}.storage-bar-track{background:var(--color-surface-2);border-radius:999px;width:4rem;height:4px;overflow:hidden}.storage-bar-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .3s}.preview-item--stored{cursor:pointer;transition:transform var(--transition), box-shadow var(--transition)}.preview-item--stored:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.preview-item--stored:after{content:"";border-radius:var(--radius-md);border:2px solid var(--color-primary);opacity:0;transition:opacity var(--transition);pointer-events:none;position:absolute;inset:0}.preview-item--stored:hover:after{opacity:.5}.classroom-card{align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow var(--transition), transform var(--transition), border-color var(--transition);color:inherit;text-decoration:none;display:flex}.classroom-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--color-primary) 40%, var(--color-border));transform:translateY(-2px)}.classroom-card-icon{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-primary) 10%, transparent);width:44px;height:44px;color:var(--color-primary);flex-shrink:0;place-items:center;display:grid}.classroom-card-body{flex:1;min-width:0}.classroom-card-title{font-weight:600;font-size:var(--text-base);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.classroom-card-meta{align-items:center;gap:var(--space-1);margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);display:flex}.classroom-card-arrow{color:var(--color-text-faint);transition:transform var(--transition);flex-shrink:0}.classroom-card:hover .classroom-card-arrow{color:var(--color-primary);transform:translate(3px)}.classroom-grid{gap:var(--space-6);grid-template-columns:1fr 300px;display:grid}@media (width<=900px){.classroom-grid{grid-template-columns:1fr}}.assignment-item{cursor:pointer;background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.assignment-item--submitted{border-color:var(--color-success)}.submission-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;background:var(--color-bg);border:1px solid var(--color-divider);color:inherit;transition:background var(--transition), border-color var(--transition);text-decoration:none;display:flex}.submission-row:hover{background:var(--color-surface-offset)}.submission-row--submitted{border-color:var(--color-success)}.submission-name{color:var(--color-text);flex:1;font-weight:500}.roster-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-offset);transition:border-color var(--transition), background var(--transition);border:1px solid #0000;display:flex}.roster-item:hover{border-color:var(--color-divider);background:color-mix(in srgb, var(--color-surface-offset) 80%, var(--color-surface-2))}.roster-item-name{font-size:var(--text-sm);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.roster-item-actions{gap:var(--space-1);opacity:0;transition:opacity var(--transition);display:flex}.roster-item:hover .roster-item-actions,.roster-item.editing .roster-item-actions{opacity:1}.roster-action-btn{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;place-items:center;display:grid}.roster-action-btn:hover{background:color-mix(in srgb, var(--color-text) 8%, transparent)}.roster-action-btn--delete:hover{background:color-mix(in srgb, var(--color-error) 14%, transparent);color:var(--color-error)}.roster-action-btn--edit:hover{background:color-mix(in srgb, var(--color-primary) 14%, transparent);color:var(--color-primary)}.roster-edit-input{font-size:var(--text-sm);border-radius:var(--radius-sm);border:1px solid var(--color-primary);background:var(--color-surface);color:var(--color-text);outline:none;flex:1;min-width:0;padding:.2rem .4rem}.roster-edit-actions{gap:var(--space-1);display:flex}.roster-edit-save{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;border:none;place-items:center;width:1.75rem;height:1.75rem;display:grid}.roster-edit-cancel{border-radius:var(--radius-sm);border:1px solid var(--color-divider);width:1.75rem;height:1.75rem;color:var(--color-text-muted);cursor:pointer;background:0 0;place-items:center;display:grid}.confirm-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:600;display:flex}.confirm-banner--delete{background:color-mix(in srgb, var(--color-error) 12%, transparent);color:var(--color-error);border:1px solid color-mix(in srgb, var(--color-error) 20%, transparent)}.confirm-banner-btn{border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;transition:background var(--transition);border:none;padding:.2rem .6rem;font-weight:600}.confirm-banner-btn--yes{background:var(--color-error);color:#fff}.confirm-banner-btn--yes:hover{background:color-mix(in srgb, var(--color-error) 80%, black)}.confirm-banner-btn--no{color:var(--color-text-muted);border:1px solid var(--color-divider);background:0 0}.confirm-banner-btn--no:hover{background:var(--color-surface-offset-2)}.confirm-dialog-overlay{z-index:999;background:0 0;position:fixed;inset:0}.confirm-dialog{z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:260px;box-shadow:var(--shadow-lg);padding:var(--space-4);gap:var(--space-3);flex-direction:column;animation:.2s cubic-bezier(.16,1,.3,1) dialog-appear;display:flex;position:fixed}@keyframes dialog-appear{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.confirm-dialog-title{font-size:var(--text-sm);color:var(--color-error);margin:0;font-weight:700}.confirm-dialog-text{font-size:var(--text-xs);color:var(--color-text-muted);margin:0;line-height:1.5}.confirm-dialog-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.confirm-dialog-btn{border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;transition:background var(--transition);border:none;padding:.4rem .85rem;font-weight:600}.confirm-dialog-btn--yes{background:var(--color-error);color:#fff}.confirm-dialog-btn--yes:hover{background:color-mix(in srgb, var(--color-error) 80%, black)}.confirm-dialog-btn--no{color:var(--color-text-muted);border:1px solid var(--color-divider);background:0 0}.confirm-dialog-btn--no:hover{background:var(--color-surface-offset-2)}.storage-card .section-header{align-items:center;gap:var(--space-2);display:flex}.storage-card .section-body{gap:var(--space-4);flex-direction:column;display:flex}.tier-badge{border-radius:var(--radius-full);letter-spacing:.05em;text-transform:uppercase;background:color-mix(in srgb, var(--color-primary) 18%, transparent);color:var(--color-primary);border:1px solid color-mix(in srgb, var(--color-primary) 24%, transparent);align-items:center;padding:.15rem .55rem;font-size:10px;font-weight:800;display:inline-flex}.btn-icon-sm{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.btn-icon-sm:hover{background:var(--color-surface-offset-2);color:var(--color-text);border-color:var(--color-divider)}.storage-metric-section{gap:var(--space-2);flex-direction:column;display:flex}.storage-metric-section+.storage-metric-section{padding-top:var(--space-3);border-top:1px solid var(--color-divider)}.storage-metric-label{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700;display:flex}.storage-progress{margin-bottom:var(--space-3)}.storage-progress-track{background:var(--color-surface-offset-2);border-radius:var(--radius-full);height:8px;overflow:hidden}.storage-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--color-primary), color-mix(in srgb, var(--color-primary) 70%, white));height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.storage-progress-fill--warn{background:linear-gradient(90deg, var(--color-warning), color-mix(in srgb, var(--color-warning) 70%, white))}.storage-progress-fill--danger{background:linear-gradient(90deg, var(--color-error), color-mix(in srgb, var(--color-error) 70%, white))}.storage-stats{gap:var(--space-3);margin-bottom:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.storage-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.storage-stat-value{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);font-variant-numeric:tabular-nums;line-height:1.2}.storage-stat-value--small{font-size:var(--text-sm)}.storage-stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.storage-notice{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);margin-top:var(--space-1);font-weight:600;display:flex}.storage-notice--warn{background:var(--color-warning-highlight);color:var(--color-warning);border:1px solid color-mix(in srgb, var(--color-warning) 20%, transparent)}.storage-notice--danger{background:var(--color-error-highlight);color:var(--color-error);border:1px solid color-mix(in srgb, var(--color-error) 20%, transparent)}.credits-bar{margin-bottom:var(--space-3)}.credits-bar-track{background:var(--color-surface-offset-2);border-radius:var(--radius-full);height:6px;overflow:hidden}.credits-bar-fill{border-radius:inherit;background:linear-gradient(90deg, var(--color-warning), var(--color-primary));height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.feature-limits{gap:var(--space-2);flex-direction:column;display:flex}.feature-limit-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.feature-limit-icon{color:var(--color-text-faint);flex-shrink:0}.feature-limit-icon--yes{color:var(--color-success)}.feature-limit-icon--no{color:var(--color-error)}.feature-limit-text{flex:1}.feature-limit-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;padding:.1rem .45rem;font-size:9px;font-weight:700}.feature-limit-badge--warn{background:var(--color-warning-highlight);color:var(--color-warning);border:1px solid color-mix(in srgb, var(--color-warning) 20%, transparent)}.storage-settings{margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-divider);gap:var(--space-3);flex-direction:column;display:flex}.storage-settings-row{gap:var(--space-2);flex-direction:column;display:flex}.storage-limit-select{cursor:pointer;width:100%}.storage-settings-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.storage-feedback{align-items:center;gap:var(--space-2);font-size:var(--text-xs);padding:var(--space-1) 0;font-weight:600;display:flex}.storage-feedback--success{color:var(--color-success)}.storage-feedback--error{color:var(--color-error)}.purge-summary{gap:var(--space-2);padding:var(--space-3);background:var(--color-surface-offset);border-radius:var(--radius-md);border:1px solid var(--color-divider);flex-direction:column;display:flex}.purge-summary-row{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.confirm-banner--purge{background:color-mix(in srgb, var(--color-warning) 12%, transparent);color:var(--color-warning);border:1px solid color-mix(in srgb, var(--color-warning) 20%, transparent)}.confirm-dialog--danger{border-color:var(--color-error);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-error) 20%, transparent), var(--shadow-lg)}.confirm-dialog-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.confirm-dialog-text--muted{opacity:.7;font-size:10px}.confirm-dialog-btn--danger{background:var(--color-error);color:#fff}.confirm-dialog-btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-error) 80%, black)}.btn-danger{background:var(--color-error);color:#fff;border:1px solid #0000}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-error) 80%, black)}.btn-danger:disabled{opacity:.55;cursor:not-allowed}@media (width<=640px){.storage-stats{gap:var(--space-2);grid-template-columns:repeat(2,1fr)}.storage-stat-value{font-size:var(--text-base)}}.landing{overflow-x:clip}.landing-skip-link{top:-100%;left:var(--space-3);z-index:300;padding:var(--space-2) var(--space-4);background:var(--color-primary);color:#fff;font-size:var(--text-sm);border-radius:var(--radius-md);font-weight:700;text-decoration:none;transition:top .18s cubic-bezier(.16,1,.3,1);position:fixed}.landing-skip-link:focus{top:var(--space-3)}.landing-nav-backdrop{z-index:150;background:#0006;animation:.2s ease-out both fadeIn;position:fixed;inset:0}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes orbitSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseGlow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}.landing-reveal{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(28px)}.landing-reveal.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.landing-hero-orbit,.landing-hero-glow,.landing-cta-glow{display:none}.landing-hero-badge,.landing-hero-title,.landing-hero-desc,.landing-hero-actions,.landing-hero-stats,.landing-hero-bg{opacity:1;animation:none;transform:none}.landing-reveal{opacity:1;transition:none;transform:none}.landing-reveal.visible{opacity:1;transform:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.landing-header{z-index:100;-webkit-backdrop-filter:blur(16px);background:color-mix(in srgb, var(--color-bg) 82%, transparent);border-bottom:1px solid var(--color-divider);transition:border-color var(--transition), background var(--transition);position:sticky;top:0}.landing-header-inner{width:min(var(--content-default), calc(100% - 2rem));padding:var(--space-3) 0;justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 auto;display:flex}.landing-nav{align-items:center;gap:var(--space-1);display:flex}.landing-nav button{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted);font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:color var(--transition);background:0 0;border:none;align-items:center;display:inline-flex;position:relative}.landing-nav button:after{content:"";bottom:2px;left:var(--space-3);right:calc(100% - var(--space-3));background:var(--color-primary);height:2px;transition:right var(--transition);border-radius:1px;position:absolute}.landing-nav button:hover{color:var(--color-text)}.landing-nav button:hover:after{right:var(--space-3)}.landing-nav .landing-nav-login{margin-left:var(--space-3)}.landing-mobile-nav{z-index:250;background:color-mix(in srgb, var(--color-bg) 92%, transparent);-webkit-backdrop-filter:blur(20px);flex-direction:column;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.landing-mobile-nav.open{display:flex}.landing-mobile-close{top:var(--space-4);right:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-offset);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text);cursor:pointer;transition:background var(--transition), color var(--transition);justify-content:center;align-items:center;display:flex;position:absolute}.landing-mobile-close:hover{background:var(--color-surface-offset-2);color:var(--color-primary)}.landing-mobile-nav-body{align-items:center;gap:var(--space-3);padding:var(--space-8);flex-direction:column;width:100%;max-width:320px;display:flex}.landing-mobile-nav-body button{padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);color:var(--color-text);font-weight:600;font-size:var(--text-lg);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;justify-content:center;align-items:center;width:100%;display:inline-flex;position:relative}.landing-mobile-nav-body button:hover{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.landing-mobile-nav-body .btn{width:100%;padding:var(--space-3) var(--space-6);height:auto;font-size:var(--text-lg);justify-content:center;font-weight:600}.landing-mobile-nav-body .landing-nav-login{margin-top:var(--space-2)}.landing-mobile-toggle{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-offset);width:36px;height:36px;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;display:none}.landing-hero{text-align:center;padding:6rem 1rem 5rem;position:relative;overflow:hidden}.landing-hero-bg{pointer-events:none;background:radial-gradient(ellipse 80% 60% at 50% 0%, color-mix(in srgb, var(--color-primary) 16%, transparent), transparent 70%), radial-gradient(ellipse 50% 50% at 80% 80%, color-mix(in srgb, var(--color-primary) 8%, transparent), transparent 60%);animation:1.2s ease-out both fadeIn;position:absolute;inset:0}.landing-hero-orbit{border:1px solid color-mix(in srgb, var(--color-primary) 10%, transparent);pointer-events:none;border-radius:50%;width:520px;height:520px;margin:-260px 0 0 -260px;animation:30s linear infinite orbitSpin;position:absolute;top:50%;left:50%}.landing-hero-orbit:before{content:"";background:var(--color-primary);opacity:.4;border-radius:50%;width:8px;height:8px;margin-left:-4px;position:absolute;top:-4px;left:50%}.landing-hero-glow{pointer-events:none;background:radial-gradient(circle, color-mix(in srgb, var(--color-primary) 20%, transparent), transparent 70%);border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;animation:4s ease-in-out infinite pulseGlow;position:absolute;top:50%;left:50%}.landing-hero-content{align-items:center;gap:var(--space-6);flex-direction:column;width:min(780px,100% - 2rem);margin:0 auto;display:flex;position:relative}.landing-hero-badge{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-primary) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-primary) 22%, transparent);color:var(--color-primary);font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;font-weight:700;animation:.5s cubic-bezier(.16,1,.3,1) .1s both fadeSlideUp;display:inline-flex}.landing-hero-title{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.02em;margin:0;font-size:clamp(2.5rem,6vw,4.2rem);line-height:1.1;animation:.5s cubic-bezier(.16,1,.3,1) .2s both fadeSlideUp}.landing-hero-accent{color:var(--color-primary);position:relative}.landing-hero-accent:after{content:"";background:var(--color-primary);opacity:.35;border-radius:1px;height:.06em;position:absolute;bottom:.08em;left:0;right:0}.landing-hero-desc{max-width:58ch;color:var(--color-text-muted);margin:0;font-size:clamp(1rem,2vw,1.15rem);line-height:1.7;animation:.5s cubic-bezier(.16,1,.3,1) .3s both fadeSlideUp}.landing-hero-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:center;animation:.5s cubic-bezier(.16,1,.3,1) .4s both fadeSlideUp;display:flex}.landing-hero-btn{font-size:var(--text-sm)}.landing-hero-btn:hover{transform:translateY(-2px)}.landing-hero-stats{gap:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-divider);width:100%;margin-top:var(--space-4);flex-wrap:wrap;justify-content:center;animation:.5s cubic-bezier(.16,1,.3,1) .5s both fadeSlideUp;display:flex}.landing-stat{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.landing-stat-num{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);font-variant-numeric:tabular-nums}.landing-stat-label{font-size:var(--text-xs);color:var(--color-text-muted)}.landing-section{padding:5rem 1rem}.landing-section--alt{background:color-mix(in srgb, var(--color-surface) 60%, transparent)}.landing-section-inner{width:min(var(--content-default), calc(100% - 2rem));margin:0 auto}.landing-section-accent{margin-bottom:var(--space-3);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:var(--color-primary);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700;display:inline-block}.landing-section-header{text-align:center;margin-bottom:var(--space-12)}.landing-section-header h2{font-family:var(--font-display);margin:0 0 var(--space-3);color:var(--color-text);font-size:clamp(1.8rem,4vw,2.6rem)}.landing-section-header p{max-width:52ch;color:var(--color-text-muted);font-size:var(--text-sm);margin:0 auto}.landing-features-grid{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.landing-feature-card{background:color-mix(in srgb, var(--color-surface) 80%, transparent);border:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);border-radius:var(--radius-xl);padding:var(--space-6);gap:var(--space-3);transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);flex-direction:column;display:flex}.landing-feature-card:hover{border-color:color-mix(in srgb, var(--color-primary) 35%, var(--color-border));box-shadow:var(--shadow-md);transform:translateY(-4px)}.landing-feature-icon{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-primary) 12%, transparent);width:46px;height:46px;color:var(--color-primary);transition:background var(--transition), transform var(--transition);place-items:center;display:grid}.landing-feature-card:hover .landing-feature-icon{background:color-mix(in srgb, var(--color-primary) 20%, transparent);transform:scale(1.08)}.landing-feature-card h3{font-size:var(--text-base);color:var(--color-text);margin:0;font-weight:700}.landing-feature-card p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:1.7}.landing-testimonials-grid{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.landing-testimonial-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);gap:var(--space-4);transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);flex-direction:column;display:flex}.landing-testimonial-card:hover{border-color:color-mix(in srgb, var(--color-primary) 25%, var(--color-border));box-shadow:var(--shadow-md);transform:translateY(-3px)}.landing-stars{color:var(--color-warning);gap:2px;display:flex}.landing-testimonial-card blockquote{font-size:var(--text-sm);color:var(--color-text);margin:0;font-style:italic;line-height:1.7}.landing-testimonial-author{align-items:center;gap:var(--space-3);margin-top:auto;display:flex}.landing-testimonial-avatar{border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-primary) 14%, transparent);width:38px;height:38px;color:var(--color-primary);font-size:var(--text-xs);flex-shrink:0;place-items:center;font-weight:800;display:grid}.landing-testimonial-name{font-size:var(--text-sm);color:var(--color-text);font-weight:700}.landing-testimonial-role{font-size:var(--text-xs);color:var(--color-text-muted)}.landing-pricing-grid{gap:var(--space-5);grid-template-columns:repeat(3,1fr);align-items:start;display:grid}.landing-pricing-card{background:color-mix(in srgb, var(--color-surface) 80%, transparent);border:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);border-radius:var(--radius-xl);padding:var(--space-6);gap:var(--space-4);transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);flex-direction:column;display:flex;position:relative}.landing-pricing-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.landing-pricing-card.highlighted{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 5%, var(--color-surface));transform:scale(1.04)}.landing-pricing-card.highlighted:hover{transform:scale(1.04)translateY(-3px)}.landing-pricing-badge{padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);background:var(--color-primary);color:#fff;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.landing-pricing-card h3{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);margin:0}.landing-pricing-price{align-items:baseline;gap:var(--space-2);display:flex}.landing-pricing-price .price{font-family:var(--font-display);color:var(--color-text);font-size:2.5rem;line-height:1}.landing-pricing-price .period{font-size:var(--text-sm);color:var(--color-text-muted)}.landing-pricing-desc{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.landing-pricing-features{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.landing-pricing-features li{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.landing-pricing-features li svg{color:var(--color-success);flex-shrink:0}.landing-pricing-cta{width:100%;margin-top:auto}.landing-cta-banner{text-align:center;padding:5rem 1rem;position:relative;overflow:hidden}.landing-cta-bg{background:radial-gradient(ellipse 90% 60% at 50% 50%, color-mix(in srgb, var(--color-primary) 12%, transparent), transparent 70%);pointer-events:none;position:absolute;inset:0}.landing-cta-glow{background:radial-gradient(circle, color-mix(in srgb, var(--color-primary) 10%, transparent), transparent 70%);pointer-events:none;border-radius:50%;width:200px;height:200px;margin:-100px 0 0 -100px;animation:5s ease-in-out infinite pulseGlow;position:absolute;top:50%;left:50%}.landing-cta-content{align-items:center;gap:var(--space-5);flex-direction:column;width:min(640px,100% - 2rem);margin:0 auto;display:flex;position:relative}.landing-cta-content h2{font-family:var(--font-display);color:var(--color-text);margin:0;font-size:clamp(1.8rem,4vw,2.6rem)}.landing-cta-content p{max-width:52ch;color:var(--color-text-muted);font-size:var(--text-sm);margin:0;line-height:1.7}.landing-footer{border-top:1px solid var(--color-divider);padding:var(--space-12) 1rem var(--space-4)}.landing-footer-inner{width:min(var(--content-default), calc(100% - 2rem));gap:var(--space-12);padding-bottom:var(--space-8);grid-template-columns:1.5fr 1fr;margin:0 auto;display:grid}.landing-footer-brand{gap:var(--space-3);flex-direction:column;display:flex}.landing-footer-brand p{font-size:var(--text-sm);color:var(--color-text-muted);max-width:36ch;margin:0}.landing-footer-links{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.landing-footer-col{gap:var(--space-2);flex-direction:column;display:flex}.landing-footer-col h4{font-size:var(--text-sm);margin:0 0 var(--space-2);color:var(--color-text);font-weight:700}.landing-footer-col button,.landing-footer-col a{font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;text-align:left;width:fit-content;transition:color var(--transition), text-decoration var(--transition);background:0 0;border:none;padding:0;text-decoration:none}.landing-footer-col button:hover,.landing-footer-col a:hover{color:var(--color-primary);text-decoration:underline}.landing-footer-coming-soon{font-size:var(--text-sm);color:var(--color-text-faint);font-style:italic}.landing-footer-bottom{width:min(var(--content-default), calc(100% - 2rem));padding-top:var(--space-4);border-top:1px solid var(--color-divider);margin:0 auto}.landing-footer-bottom p{font-size:var(--text-xs);color:var(--color-text-faint);margin:0}@media (width<=1024px){.landing-features-grid,.landing-testimonials-grid,.landing-pricing-grid{grid-template-columns:repeat(2,1fr)}.landing-footer-inner{gap:var(--space-8);grid-template-columns:1fr}}@media (width<=768px){.landing-nav{display:none}.landing-mobile-toggle{display:flex}.landing-hero{padding:4rem 1rem 3rem}.landing-hero-orbit{display:none}.landing-section{padding:3rem 1rem}.landing-features-grid,.landing-testimonials-grid,.landing-pricing-grid{gap:var(--space-4);grid-template-columns:1fr}.landing-pricing-card.highlighted{transform:none}.landing-pricing-card.highlighted:hover{transform:translateY(-2px)}.landing-hero-stats{gap:var(--space-4);flex-direction:column}.landing-footer-links{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.landing-footer-links{grid-template-columns:1fr}}.flex-row{flex-direction:row;display:flex}.flex-col{flex-direction:column;display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.w-full{width:100%}.fit-content{width:fit-content}.h-fit{height:fit-content}.max-h-96{max-height:24rem}.overflow-y-auto{overflow-y:auto}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-0{padding:0}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-lg{font-size:var(--text-lg)}.text-center{text-align:center}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-faint{color:var(--color-text-faint)}.text-decoration-none{text-decoration:none}.cursor-pointer{cursor:pointer}.opacity-50{opacity:.5}
