*{box-sizing:border-box}:root{--primary-color: #5b7cfa;--primary-light: #748ffc;--primary-dark: #4c6ef5;--accent-color: #ff922b;--accent-light: #ffa500;--success-color: #51cf66;--warning-color: #ffd43b;--danger-color: #ff6b6b;--neutral-50: #f9fafb;--neutral-100: #f3f4f6;--neutral-200: #e5e7eb;--neutral-300: #d1d5db;--neutral-400: #9ca3af;--neutral-500: #6b7280;--neutral-600: #4b5563;--neutral-700: #374151;--neutral-800: #1f2937;--neutral-900: #111827;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--bg: #1a1a1a;--bg-secondary: #252525;--bg-tertiary: #2f2f2f;--text: #f0f0f0;--text-secondary: #b0b0b0;--text-tertiary: #808080;--border-color: #3a3a3a;--button-bg: #2f2f2f;--button-hover-bg: #3a3a3a;--surface-bg: #1f1f1f;--success-bg: #1a3a2e;--error-bg: #3a1a1a;--warning-bg: #3a3a1a;--color-text-primary: #f0f0f0;--color-text-secondary: #b0b0b0;--color-bg-primary: #1a1a1a;--color-bg-secondary: #252525;--color-bg-card: #2a2a2a;--color-bg-hover: #3a3a3a;--color-border: #3a3a3a;--color-accent-primary: #5b7cfa;--color-accent-secondary: #748ffc;--color-success: #51cf66;--color-info: #17a2b8;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6)}[data-theme=light]{--bg: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--text: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--border-color: #e5e7eb;--button-bg: #f3f4f6;--button-hover-bg: #e5e7eb;--surface-bg: #ffffff;--success-bg: #e8f5e9;--error-bg: #ffebee;--warning-bg: #fff8e1;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-card: #ffffff;--color-bg-hover: #f0f7ff;--color-border: #e5e7eb;--color-accent-primary: #5b7cfa;--color-accent-secondary: #748ffc;--color-success: #28a745;--color-info: #17a2b8;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1)}html{scroll-behavior:smooth;transition:background-color var(--transition-base),color var(--transition-base)}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);color:var(--text);transition:background var(--transition-base),color var(--transition-base);line-height:1.6;min-height:100vh;font-size:16px}h1{font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 1rem;letter-spacing:-.02em;color:var(--text)}h2{font-size:2rem;font-weight:700;line-height:1.3;margin:0 0 1rem;letter-spacing:-.015em;color:var(--text)}h3{font-size:1.5rem;font-weight:600;line-height:1.4;margin:0 0 .75rem;color:var(--text)}h4{font-size:1.25rem;font-weight:600;line-height:1.4;margin:0 0 .75rem;color:var(--text)}h5{font-size:1.125rem;font-weight:600;line-height:1.5;margin:0 0 .5rem;color:var(--text)}h6{font-size:1rem;font-weight:600;line-height:1.5;margin:0 0 .5rem;color:var(--text)}p{margin:0 0 1rem;line-height:1.6}p:last-child{margin-bottom:0}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast);font-weight:500}code{background:var(--bg-tertiary);border-radius:4px;padding:.2rem .4rem;font-family:Courier New,monospace;font-size:.9em;color:var(--danger-color)}pre{background:var(--bg);color:var(--text);padding:1.5rem;border-radius:8px;overflow-x:auto;line-height:1.5;border:1px solid var(--border-color)}pre code{background:transparent;color:inherit;padding:0}ul,ol{margin:0 0 1rem;padding-left:1.5rem}li{margin-bottom:.5rem}table{width:100%;border-collapse:collapse;margin:1.5rem 0}th{background:var(--bg-secondary);padding:.75rem;text-align:left;font-weight:600;border-bottom:2px solid var(--border-color);color:var(--text)}td{padding:.75rem;border-bottom:1px solid var(--border-color)}tr:hover{background:var(--bg-tertiary)}#root{margin:0;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:var(--primary-color);color:#fff}::-moz-selection{background:var(--primary-color);color:#fff}*:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}code{font-family:Monaco,Menlo,Consolas,Courier New,monospace;background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:4px;font-size:.9em;color:var(--text)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2;color:var(--text)}h1{font-size:2.5rem;font-weight:700;letter-spacing:-.02em}h2{font-size:1.875rem;font-weight:700;letter-spacing:-.01em;margin-bottom:1rem}h3{font-size:1.375rem;font-weight:600;margin-bottom:.75rem}h4{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}p{margin:0;line-height:1.7}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark);text-decoration:underline}button{font-family:inherit;cursor:pointer;transition:all var(--transition-base);border-radius:8px;font-weight:500}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:1rem;border-radius:8px;border:1px solid var(--border-color);padding:.75rem;transition:all var(--transition-base);background-color:var(--bg);color:var(--text)}input::placeholder,textarea::placeholder,select::placeholder{color:var(--text-tertiary)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #5b7cfa1a}textarea{resize:vertical}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background-color:var(--bg-secondary);color:var(--text);border-color:var(--border-color);caret-color:var(--text)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder,[data-theme=dark] select::placeholder{color:var(--text-tertiary)}.ca-shell{display:flex;flex-direction:column;max-width:640px;margin:2rem auto;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;box-shadow:0 4px 24px #00000014;min-height:420px}@media(max-width:768px){.ca-shell{margin:.75rem auto;border-radius:12px;min-height:360px}.ca-messages{max-height:50vh;padding:1rem .75rem .5rem}.ca-bubble{max-width:92%;font-size:.85rem}.ca-header{padding:.75rem .85rem}.ca-input-row{padding:.65rem .75rem}.ca-chip{font-size:.8rem;padding:.4rem .85rem}}@media(max-width:480px){.ca-shell{margin:.5rem 0;border-radius:8px;border-left:none;border-right:none}.ca-messages{max-height:45vh;padding:.75rem .5rem .5rem}.ca-bubble{max-width:96%;padding:.55rem .8rem;font-size:.82rem}.ca-chips{gap:.35rem}}.ca-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.ca-title{font-size:.875rem;font-weight:600;color:var(--text);white-space:nowrap}.ca-progress-track{flex:1;height:4px;background:var(--border-color);border-radius:2px;overflow:hidden}.ca-progress-fill{height:100%;background:var(--primary-color);border-radius:2px;transition:width .3s ease}.ca-step-label{font-size:.75rem;color:var(--text-tertiary);white-space:nowrap}.ca-messages{flex:1;padding:1.25rem 1.25rem .5rem;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;max-height:380px}.ca-exchange{display:flex;flex-direction:column;gap:.35rem}.ca-bubble{max-width:82%;padding:.65rem .95rem;border-radius:14px;font-size:.9rem;line-height:1.5}.ca-bubble--bot{background:var(--bg-tertiary);color:var(--text);border-bottom-left-radius:4px;align-self:flex-start}.ca-bubble--user{background:var(--primary-color);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.ca-bubble--inferred{background:var(--primary-color);opacity:.72;font-style:italic}.ca-inferred-badge{display:inline-block;margin-left:.4rem;font-style:normal;font-size:.75em;opacity:.85}.ca-bubble--editable{cursor:pointer;border:none;font-family:inherit;font-size:inherit;text-align:left;line-height:inherit;display:flex;align-items:center;gap:.35rem;transition:opacity .15s,box-shadow .15s}.ca-bubble--editable:hover:not(:disabled){opacity:.85;box-shadow:0 0 0 2px #ffffff59}.ca-edit-icon{font-style:normal;font-size:.75em;opacity:0;transition:opacity .15s;flex-shrink:0}.ca-bubble--editable:hover .ca-edit-icon{opacity:.8}.ca-bubble--thinking{opacity:.7;display:flex;align-items:center;gap:.5rem}.ca-dots{display:inline-flex;gap:3px;align-items:center}.ca-dots span{width:5px;height:5px;background:var(--text-secondary);border-radius:50%;animation:ca-bounce 1.2s infinite}.ca-dots span:nth-child(2){animation-delay:.2s}.ca-dots span:nth-child(3){animation-delay:.4s}@keyframes ca-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}.ca-chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 0 .25rem}.ca-chip{padding:.45rem 1rem;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text);font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s;font-family:inherit}.ca-chip:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);color:#fff}.ca-chip:disabled{opacity:.5;cursor:not-allowed}.ca-chip--selected{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.ca-chip--selected:hover:not(:disabled){opacity:.85}.ca-chip--sm{padding:.28rem .65rem;font-size:.78rem}.ca-inline-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.ca-inline-fields{display:flex;flex-direction:column;gap:.7rem;margin:.5rem 0}.ca-inline-field{display:flex;flex-direction:column;gap:0}.ca-inline-field__label{font-size:.78rem;font-weight:500;color:var(--text-secondary, #6b7280);margin-bottom:.1rem}.ca-input--sm{padding:.3rem .65rem;font-size:.84rem;border-radius:8px;width:7rem}.ca-chip--confirm{background:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:600;margin-top:.25rem}.ca-chip--confirm:hover:not(:disabled){opacity:.85}.ca-chip-footer{padding:.5rem 1.25rem .75rem}.ca-upload-area{display:flex;align-items:flex-start;gap:.65rem;padding:.875rem 1rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.ca-input-row{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.ca-input{flex:1;padding:.6rem .85rem;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.ca-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #5b7cfa1f}.ca-btn-send{padding:.6rem 1.1rem;border-radius:999px;border:none;background:var(--primary-color);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;font-family:inherit;white-space:nowrap}.ca-btn-send:hover:not(:disabled){filter:brightness(1.1)}.ca-btn-send:disabled{opacity:.5;cursor:not-allowed}.ca-btn-back{padding:.5rem .75rem;border-radius:999px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:color .15s,border-color .15s;font-family:inherit;white-space:nowrap}.ca-btn-back:hover:not(:disabled){color:var(--text);border-color:var(--text-secondary)}.ca-btn-back:disabled{opacity:.4;cursor:not-allowed}.ca-defaults-card,.ca-summarizer-card,.ca-final-card{background:var(--surface-elevated, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:1rem 1.25rem;margin:.5rem 0;max-width:520px}.ca-defaults-card__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.ca-defaults-card__title{font-size:.92rem;font-weight:600;color:var(--text-primary, #111827)}.ca-defaults-card__badge{font-size:.72rem;padding:.15em .5em;border-radius:9999px;background:var(--adp-info-bg, #eff6ff);color:var(--adp-info-fg, #1d4ed8);border:1px solid var(--adp-info-border, #bfdbfe)}.ca-defaults-table{width:100%;border-collapse:collapse;font-size:.84rem;margin-bottom:.75rem}.ca-defaults-table th,.ca-defaults-table td{text-align:left;padding:.22rem .35rem}.ca-defaults-table th{color:var(--text-secondary, #6b7280);font-weight:500;width:42%}.ca-defaults-table td{color:var(--text-primary, #111827);font-weight:600}.ca-defaults-card__actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.6rem}.ca-btn-primary{padding:.45rem 1rem;border-radius:8px;border:none;background:var(--adp-accent, #6366f1);color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;transition:opacity .15s}.ca-btn-primary:hover:not(:disabled){opacity:.88}.ca-btn-primary:disabled{opacity:.45;cursor:not-allowed}.ca-btn-ghost{padding:.42rem .9rem;border-radius:8px;border:1px solid var(--border-color, #d1d5db);background:transparent;color:var(--text-primary, #111827);font-size:.88rem;cursor:pointer;transition:background .15s}.ca-btn-ghost:hover:not(:disabled){background:var(--hover-bg, #f3f4f6)}.ca-btn-ghost:disabled{opacity:.45;cursor:not-allowed}.ca-btn-ghost--sm{padding:.28rem .65rem;font-size:.78rem}.ca-summarizer-card__headline{font-size:.9rem;margin:0 0 .65rem;color:var(--text-primary, #111827);line-height:1.4}.ca-final-card__headline{font-size:.92rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary, #111827)}.ca-final-card__actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.75rem}.ca-override-notice{background:var(--adp-warn-bg, #fffbeb);border:1px solid var(--adp-warn-border, #fde68a);border-radius:8px;padding:.6rem .75rem;font-size:.84rem;color:var(--text-primary, #111827);margin:.75rem 0}.ca-override-notice__actions{display:flex;align-items:center;gap:.65rem;margin-top:.45rem;flex-wrap:wrap}.trace-collapsible{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.trace-collapsible-summary{padding:.6rem 1rem;font-size:.8rem;color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-secondary);list-style:none;display:flex;align-items:center;gap:.4rem}.trace-collapsible-summary::-webkit-details-marker{display:none}.trace-collapsible-summary:before{content:"▶";font-size:.65rem;transition:transform .15s}.trace-collapsible[open] .trace-collapsible-summary:before{transform:rotate(90deg)}.trace-collapsible-summary:hover{color:var(--text-secondary)}.auth-demo{margin-top:30px;padding-top:20px;border-top:1px solid #eee;text-align:center}.demo-label{font-size:12px;color:#999;margin:0 0 8px;font-weight:600}.auth-demo code{display:block;padding:8px;background-color:#f5f5f5;border-radius:4px;font-size:12px;color:#333;margin:4px 0;font-family:Courier New,monospace}@media(max-width:480px){.auth-container{padding:3rem 1rem 1rem;align-items:flex-start}.auth-card{padding:24px 20px;border-radius:10px;max-width:100%}.auth-header h1{font-size:24px}.auth-form h2{font-size:17px}.form-group input{padding:10px;font-size:16px}.auth-button{padding:14px;font-size:15px}}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.auth-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:40px;width:100%;max-width:420px;animation:slideUp .4s ease-out}.auth-header{text-align:center;margin-bottom:30px}.auth-header h1{font-size:32px;margin:0;color:#333}.auth-header p{font-size:12px;color:#999;margin:8px 0 0;letter-spacing:.5px}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form h2{font-size:20px;margin:0;color:#333;text-align:center}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:600;color:#333}.form-group input{padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group small{font-size:12px;color:#999}.auth-button{padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{padding:12px;background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:13px;animation:slideDown .3s ease-out}.auth-footer{text-align:center;margin-top:20px}.auth-footer p{font-size:13px;color:#666;margin:0}.auth-link{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;padding:0;text-decoration:none;transition:color .2s}.auth-link:hover:not(:disabled){color:#764ba2}.auth-link:disabled{opacity:.6;cursor:not-allowed}.ma-toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1.25rem}.ma-grouping-label{font-size:.8rem;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ma-grouping-select{padding:.35rem .7rem;border-radius:8px;border:1.5px solid var(--border);background:var(--bg-muted);color:var(--text);font-size:.85rem;font-weight:500;cursor:pointer}.ma-grouping-select:focus{outline:none;border-color:var(--primary)}.ma-group{margin-bottom:1.5rem}.ma-group-header{display:flex;align-items:center;gap:.5rem;width:100%;background:var(--bg-muted);border:1px solid var(--border);border-radius:8px;padding:.55rem .9rem;cursor:pointer;text-align:left;font-weight:700;font-size:.9rem;color:var(--text);transition:background .15s}.ma-group-header:hover{filter:brightness(.95)}.ma-group-header--open{border-radius:8px 8px 0 0}.ma-group-chevron{font-size:.78rem;opacity:.55}.ma-group-count{margin-left:auto;font-size:.75rem;font-weight:400;color:var(--text-secondary, #6b7280)}.ma-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem;padding:.85rem;border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;background:var(--bg)}.ma-card{background:var(--bg-muted);border:1.5px solid var(--border);border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.45rem;transition:border-color .15s,box-shadow .15s}.ma-card:hover{border-color:var(--primary);box-shadow:0 2px 10px #2563eb1f}.ma-card-headline{font-size:.95rem;font-weight:700;color:var(--text);line-height:1.35;display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.ma-card-course{font-weight:700;color:var(--text)}.ma-card-sep{color:var(--text-secondary, #9ca3af);font-weight:400;margin:0 .1rem}.ma-card-topic{color:var(--text);font-weight:400}.ma-card-meta{font-size:.78rem;color:var(--text-secondary, #6b7280);display:flex;flex-wrap:wrap;gap:.35rem .55rem;align-items:center}.ma-card-meta-dot{opacity:.4}.ma-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.25rem;padding-top:.45rem;border-top:1px solid var(--border)}.ma-card-date{font-size:.75rem;color:var(--text-secondary, #9ca3af)}.ma-card-open-btn{padding:.28rem .85rem;border-radius:7px;border:1.5px solid var(--primary);background:transparent;color:var(--primary);cursor:pointer;font-size:.8rem;font-weight:600;transition:background .15s,color .15s}.ma-card-open-btn:hover{background:var(--primary);color:#fff}.ma-chips{display:flex;gap:4px;flex-wrap:wrap}.ma-chip{padding:2px 7px;border-radius:6px;font-size:.68rem;font-weight:600;border:1px solid transparent;text-transform:uppercase;letter-spacing:.3px;line-height:1.5}.chip-blue{background:#e8f0fe;color:#1a56db;border-color:#bcd3ff}.chip-green{background:#e6f7ec;color:#1b7f3c;border-color:#b9e8c8}.chip-purple{background:#f3e8ff;color:#6b21a8;border-color:#d8b4fe}.chip-orange{background:#fff4e6;color:#c2410c;border-color:#ffddb5}.chip-teal{background:#e6fffa;color:#0f766e;border-color:#b2f5ea}.chip-red{background:#ffe6e6;color:#b91c1c;border-color:#ffb3b3}.chip-indigo{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.chip-gray{background:#f3f4f6;color:#4b5563;border-color:#d1d5db}[data-theme=dark] .chip-blue{background:#1e3a6e;color:#93bbff;border-color:#2c4f9a}[data-theme=dark] .chip-green{background:#14472e;color:#6ee798;border-color:#1e6641}[data-theme=dark] .chip-purple{background:#3b1770;color:#d4a8ff;border-color:#5a2c9b}[data-theme=dark] .chip-orange{background:#6b2500;color:#ffb77a;border-color:#9a3b0b}[data-theme=dark] .chip-teal{background:#083d38;color:#5ef0e0;border-color:#0c5e56}[data-theme=dark] .chip-red{background:#6b0000;color:#f99;border-color:#9a0c0c}[data-theme=dark] .chip-indigo{background:#1e2580;color:#a5b4fc;border-color:#2c3ab0}[data-theme=dark] .chip-gray{background:#2d2f35;color:#c4c9d4;border-color:#44474f}.teacher-profile-page{max-width:720px;margin:0 auto;padding:2rem 1.5rem 4rem;font-family:var(--font-sans, system-ui, sans-serif);color:var(--color-text, #1a1a2e)}.teacher-profile-page h1{font-size:1.6rem;font-weight:700;margin-bottom:.25rem}.teacher-profile-page .page-subtitle{color:var(--color-text-muted, #64748b);margin-bottom:2rem;font-size:.95rem}.profile-section{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1.25rem}.profile-section h2{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--color-text, #1a1a2e);display:flex;align-items:center;gap:.5rem}.profile-section h2 .section-icon{font-size:1.1rem}.profile-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.profile-field:last-child{margin-bottom:0}.profile-field label{font-size:.82rem;font-weight:600;color:var(--color-text-muted, #475569);text-transform:uppercase;letter-spacing:.04em}.profile-field select,.profile-field input[type=text],.profile-field input[type=number]{padding:.5rem .75rem;border:1px solid var(--color-border, #e2e8f0);border-radius:6px;font-size:.9rem;background:var(--color-bg, #f8fafc);color:var(--color-text, #1a1a2e);outline:none;transition:border-color .15s}.profile-field select:focus,.profile-field input:focus{border-color:var(--color-primary, #6366f1);box-shadow:0 0 0 2px #6366f126}.chip-group{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:999px;font-size:.8rem;font-weight:500;border:1px solid var(--color-border, #e2e8f0);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s,border-color .12s,color .12s;background:var(--color-bg, #f8fafc);color:var(--color-text-muted, #475569)}.chip.active{background:var(--color-primary, #6366f1);border-color:var(--color-primary, #6366f1);color:#fff}.pacing-grid{display:grid;grid-template-columns:1fr 80px;gap:.4rem .75rem;align-items:center}.pacing-grid .pacing-label{font-size:.875rem;color:var(--color-text, #1a1a2e)}.pacing-grid input[type=number]{width:100%;text-align:right;padding:.35rem .5rem;border:1px solid var(--color-border, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--color-bg, #f8fafc)}.profile-save-bar{display:flex;align-items:center;gap:1rem;margin-top:1.5rem}.btn-save-profile{padding:.55rem 1.4rem;background:var(--color-primary, #6366f1);color:#fff;border:none;border-radius:7px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-save-profile:hover{background:var(--color-primary-dark, #4f46e5)}.btn-save-profile:disabled{opacity:.6;cursor:not-allowed}.save-status{font-size:.875rem;color:var(--color-text-muted, #64748b)}.save-status.saved{color:#16a34a;font-weight:600}.save-status.error{color:#dc2626}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid var(--color-border, #e2e8f0)}.toggle-row:last-child{border-bottom:none}.toggle-row span{font-size:.875rem;color:var(--color-text, #1a1a2e)}.toggle-row input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--color-primary, #6366f1)}.inference-page{padding:24px;font-family:system-ui,sans-serif;color:var(--text-color)}:root{--inference-page-bg: #ffffff;--inference-card-bg: #ffffff;--inference-card-hover: #f5f5f5;--inference-border: #e5e5e5;--text-color: #000000}[data-theme=dark]{--inference-page-bg: #121212;--inference-card-bg: #1e1f22;--inference-card-hover: #2a2c30;--inference-border: #2c2c2c;--text-color: #f5f5f5}.inference-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.inference-card{padding:16px;border-radius:8px;background:var(--inference-card-bg);border:1px solid var(--inference-border);color:var(--text-color);transition:background .2s ease}.inference-card:hover{background:var(--inference-card-hover)}.inference-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;color:var(--text-color)}.inference-card-text{font-size:14px;color:var(--text-color);margin-left:16px;line-height:1.45}.collapsible-trigger{font-size:20px;font-weight:600;cursor:pointer;margin-bottom:12px;display:flex;align-items:center;gap:8px;color:var(--text-color);-webkit-user-select:none;user-select:none;background:none;border:none;padding:0}.collapsible-trigger .arrow{transition:transform .25s ease}[data-state=open] .arrow{transform:rotate(90deg)}.collapsible-content{background:var(--inference-card-bg);padding:16px;border-radius:8px;border:1px solid var(--inference-border);overflow:hidden;transition:height .25s ease}.inference-section{margin-bottom:32px}.wgp-root{border:1px solid var(--border-color, #e5e7eb);border-radius:.5rem;overflow:hidden;margin-top:1rem;background:var(--bg, #ffffff)}.wgp-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:var(--bg-secondary, #f9fafb);border:none;border-bottom:1px solid var(--border-color, #e5e7eb);cursor:pointer;text-align:left;font-size:.9rem;font-weight:600;color:var(--fg, #111827);transition:background .15s}.wgp-toggle:hover{background:var(--bg-hover, #f3f4f6)}.wgp-toggle-icon{font-size:1rem}.wgp-toggle-label{flex:1}.wgp-toggle-chevron{font-size:.75rem;color:var(--text-secondary, #6b7280)}.wgp-badge{display:inline-block;padding:.15rem .5rem;border-radius:9999px;font-size:.72rem;font-weight:600;white-space:nowrap}.wgp-badge--green{background:#dcfce7;color:#166534}.wgp-badge--amber{background:#fef3c7;color:#92400e}.wgp-badge--blue{background:#dbeafe;color:#1e40af}.wgp-badge--neutral{background:#f3f4f6;color:#374151}.wgp-body{padding:0}.wgp-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color, #e5e7eb);overflow-x:auto;scrollbar-width:none}.wgp-tabs::-webkit-scrollbar{display:none}.wgp-tab{flex:0 0 auto;padding:.55rem 1rem;border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;font-size:.82rem;color:var(--text-secondary, #6b7280);white-space:nowrap;transition:color .15s,border-color .15s}.wgp-tab:hover{color:var(--fg, #111827)}.wgp-tab--active{color:var(--fg, #111827);border-bottom-color:var(--accent, #2563eb);font-weight:600}.wgp-tab-panel{padding:1rem}.wgp-tab-body{display:flex;flex-direction:column;gap:1rem}.wgp-section{border-left:3px solid var(--border-color, #e5e7eb);padding-left:.85rem}.wgp-section-heading{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);margin:0 0 .5rem}.wgp-kv-grid{display:flex;flex-direction:column;gap:.3rem}.wgp-kv-row{display:flex;align-items:baseline;gap:.5rem;font-size:.85rem}.wgp-kv-label{flex:0 0 140px;font-weight:600;color:var(--text-secondary, #6b7280);font-size:.82rem}.wgp-kv-value{color:var(--fg, #111827);flex:1}.wgp-additional-details{display:flex;flex-direction:column;gap:.25rem;padding-top:.25rem}.wgp-additional-text{margin:0;font-size:.85rem;color:var(--fg, #111827);font-style:italic;background:var(--bg-secondary, #f9fafb);padding:.4rem .6rem;border-radius:.25rem}.wgp-notice{font-size:.82rem;padding:.5rem .75rem;border-radius:.35rem;margin-top:.25rem}.wgp-notice--amber{background:#fef3c7;color:#92400e}.wgp-list{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.wgp-list--amber li{color:#92400e}.wgp-list--blue li{color:#1e40af}.wgp-ordered-list{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--fg, #111827)}.wgp-guideline{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.wgp-guideline--amber{color:#92400e}.wgp-guideline--blue{color:#1e40af}.wgp-help-text{margin:0;font-size:.82rem;color:var(--text-secondary, #6b7280);font-style:italic}.wgp-clean-banner{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;background:#dcfce7;border-radius:.4rem;font-size:.85rem;color:#166534;font-weight:600}.wgp-clean-icon{font-size:1.1rem}.wgp-code{background:var(--bg-secondary, #f3f4f6);padding:.1em .35em;border-radius:.2rem;font-size:.8rem;font-family:ui-monospace,monospace;color:#d97706}.wgp-perf-entry{padding:.5rem .75rem;background:var(--bg-secondary, #f9fafb);border-radius:.35rem;font-size:.85rem}.wgp-perf-score{font-weight:600;display:block;margin-bottom:.35rem}.wgp-perf-misc{margin:.35rem 0 0;font-style:italic;color:var(--text-secondary, #6b7280)}.wgp-history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.wgp-history-entry{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.82rem;padding:.35rem 0;border-bottom:1px solid var(--border-color, #e5e7eb)}.wgp-history-time{color:var(--text-secondary, #6b7280);font-variant-numeric:tabular-nums;flex:0 0 70px}.wgp-history-field{font-weight:600;color:var(--fg, #111827)}.wgp-history-arrow{color:var(--text-secondary, #6b7280)}.wgp-history-value{color:var(--fg, #111827);flex:1}.ptp-root{margin-top:1.5rem;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;background:var(--bg, #fff);font-family:var(--font-sans, system-ui, sans-serif);overflow:hidden}.ptp-panel-toggle{width:100%;display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;background:none;border:none;cursor:pointer;text-align:left;font-size:.95rem;color:var(--fg, #111);border-bottom:1px solid transparent;transition:background .15s}.ptp-panel-toggle:hover{background:var(--surface-hover, #f9fafb)}.ptp-panel-icon{font-size:1.1rem;flex-shrink:0}.ptp-panel-label{font-weight:700;flex-shrink:0}.ptp-panel-sub{font-size:.82rem;color:var(--gray-500, #6b7280);flex:1}.ptp-panel-body{border-top:1px solid var(--border-color, #e5e7eb)}.ptp-tabs{display:flex;align-items:center;gap:.25rem;padding:.6rem 1rem 0;border-bottom:1px solid var(--border-color, #e5e7eb);background:var(--surface, #fafafa)}.ptp-tab{padding:.4rem .85rem;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;background:none;cursor:pointer;font-size:.85rem;color:var(--text-secondary, #6b7280);transition:background .1s,color .1s}.ptp-tab:hover{background:var(--surface-hover, #f3f4f6);color:var(--fg, #111)}.ptp-tab--active{background:var(--bg, #fff);color:var(--fg, #111);border-color:var(--border-color, #e5e7eb);font-weight:600;position:relative;bottom:-1px}.ptp-run-btn{margin-left:auto;padding:.4rem 1rem;background:var(--accent, #2563eb);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:opacity .15s}.ptp-run-btn:hover{opacity:.88}.ptp-tab-content{padding:1rem;display:flex;flex-direction:column;gap:.6rem}.ptp-tab-desc{margin:0 0 .5rem;font-size:.85rem;color:var(--text-secondary, #6b7280)}.ptp-asteroid-card{border:1px solid var(--border-color, #e5e7eb);border-radius:6px;overflow:hidden}.ptp-asteroid-toggle{width:100%;display:flex;align-items:center;gap:.6rem;padding:.55rem .85rem;background:var(--surface, #fafafa);border:none;cursor:pointer;text-align:left;font-size:.85rem;color:var(--fg, #111);transition:background .1s}.ptp-asteroid-toggle:hover{background:var(--surface-hover, #f3f4f6)}.ptp-asteroid-num{font-weight:700;font-family:var(--font-mono, monospace);flex-shrink:0;min-width:2rem;color:var(--gray-500, #6b7280);font-size:.78rem}.ptp-asteroid-bloom{font-size:.75rem;font-weight:600;background:var(--accent-light, #dbeafe);color:var(--accent, #2563eb);padding:.15rem .45rem;border-radius:999px;flex-shrink:0}.ptp-asteroid-preview{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;color:var(--fg, #111)}.ptp-asteroid-chevron{font-size:.7rem;color:var(--gray-500, #6b7280);flex-shrink:0}.ptp-asteroid-body{padding:.75rem 1rem;border-top:1px solid var(--border-color, #e5e7eb);background:var(--bg, #fff)}.ptp-asteroid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.35rem 1rem;margin-bottom:.6rem}.ptp-kv-key{font-size:.75rem;color:var(--text-secondary, #6b7280);margin-right:.4rem}.ptp-kv-val{font-size:.82rem;font-weight:600;font-family:var(--font-mono, monospace);color:var(--fg, #111)}.ptp-astronaut-card{border:1px solid var(--border-color, #e5e7eb);border-radius:6px;padding:.85rem 1rem;background:var(--bg, #fff)}.ptp-astronaut-header{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.ptp-sliders{display:flex;flex-direction:column;gap:.45rem}.ptp-slider-row{display:grid;grid-template-columns:140px 1fr 42px;align-items:center;gap:.5rem}.ptp-slider-label{font-size:.82rem;color:var(--fg, #111)}.ptp-slider{width:100%;accent-color:var(--accent, #2563eb);cursor:pointer}.ptp-slider-val{font-size:.8rem;font-family:var(--font-mono, monospace);text-align:right;color:var(--fg, #111)}.ptp-sim-card{border:1px solid var(--border-color, #e5e7eb);border-radius:6px;overflow:hidden}.ptp-sim-toggle{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.65rem .85rem;background:var(--surface, #fafafa);border:none;cursor:pointer;text-align:left;font-size:.85rem;color:var(--fg, #111);transition:background .1s}.ptp-sim-toggle:hover{background:var(--surface-hover, #f3f4f6)}.ptp-sim-name{font-weight:700;margin-right:.25rem}.ptp-sim-stats{display:flex;flex-wrap:wrap;gap:.3rem;flex:1}.ptp-overlays{display:flex;gap:.25rem}.ptp-badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.73rem;font-weight:600;color:#fff;white-space:nowrap}.ptp-sim-body{padding:.85rem 1rem;border-top:1px solid var(--border-color, #e5e7eb);background:var(--bg, #fff)}.ptp-sim-summary{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem}.ptp-sim-metric{display:grid;grid-template-columns:180px 1fr 42px;align-items:center;gap:.5rem;font-size:.82rem}.ptp-bar-track{display:block;height:8px;border-radius:4px;background:var(--border-color, #e5e7eb);overflow:hidden}.ptp-bar-fill{display:block;height:100%;border-radius:4px;transition:width .3s ease}.ptp-per-problem{overflow-x:auto;margin-bottom:.75rem}.ptp-table{width:100%;border-collapse:collapse;font-size:.8rem}.ptp-table th,.ptp-table td{padding:.35rem .6rem;text-align:left;border-bottom:1px solid var(--border-color, #e5e7eb);white-space:nowrap}.ptp-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);background:var(--surface, #fafafa)}.ptp-table tr:last-child td{border-bottom:none}.ptp-json-toggle{margin-top:.5rem;font-size:.8rem}.ptp-json-toggle summary{cursor:pointer;color:var(--text-secondary, #6b7280);font-size:.78rem;padding:.25rem 0;-webkit-user-select:none;user-select:none}.ptp-json-toggle summary:hover{color:var(--fg, #111)}.ptp-json{background:var(--code-bg, #f8f9fa);border:1px solid var(--border-color, #e5e7eb);border-radius:4px;padding:.75rem;font-size:.75rem;font-family:var(--font-mono, monospace);overflow-x:auto;margin-top:.4rem;color:var(--fg, #111);max-height:360px;overflow-y:auto}.ptp-no-results{text-align:center;padding:2rem 1rem;color:var(--text-secondary, #6b7280);font-size:.9rem}.av-root{background:var(--bg);color:var(--fg);font-family:var(--font-sans);max-width:820px;margin:0 auto}.av-root h1,.av-root h2,.av-root h3,.av-root h4,.av-root h5,.av-root h6{color:var(--fg)}.av-header{border-bottom:2px solid var(--fg);padding-bottom:1rem;margin-bottom:2rem}.av-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.av-title{font-size:1.4rem;font-weight:700;margin:0 0 .25rem;line-height:1.2}.av-subtitle{font-size:.85rem;color:var(--gray-500);margin:0}.av-actions{display:flex;gap:.5rem;flex-shrink:0}.av-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border-radius:var(--radius);font-size:.8rem;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:background .15s,border-color .15s;white-space:nowrap}.av-btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.av-btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.av-btn-outline{background:transparent;color:var(--fg);border-color:var(--border)}.av-btn-outline:hover{background:var(--bg-muted)}.av-btn:disabled{opacity:.5;cursor:not-allowed}.av-meta{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:.75rem;font-size:.8rem;color:var(--gray-500)}.av-meta-item{display:flex;align-items:center;gap:.3rem}.av-reliability{margin-top:.75rem;border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:.75rem 1rem;background:var(--surface-2, #f9fafb)}.av-reliability-header{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500, #6b7280);margin-bottom:.6rem}.av-reliability-rows{display:flex;flex-direction:column;gap:.55rem}.av-reliability-row{display:flex;flex-direction:column;gap:.2rem}.av-reliability-row-top{display:flex;justify-content:space-between;align-items:baseline}.av-reliability-row-label{font-size:.8rem;font-weight:600;color:var(--gray-700, #374151)}.av-reliability-row-score{font-size:.78rem;font-weight:700}.av-reliability-bar{height:5px;background:var(--border, #e5e7eb);border-radius:999px;overflow:hidden}.av-reliability-fill{height:100%;border-radius:999px;transition:width .4s ease}.av-reliability-desc{font-size:.75rem;color:var(--gray-500, #6b7280);line-height:1.4}.av-match-rows{display:flex;flex-direction:column;gap:.35rem}.av-match-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.av-match-label{font-weight:600;color:var(--gray-700, #374151);min-width:7.5rem;flex-shrink:0}.av-match-value{color:var(--gray-600, #4b5563);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.av-match-badge{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;white-space:nowrap;flex-shrink:0}.av-match-badge--yes{background:#dcfce7;color:#166534}.av-match-badge--partial{background:#fef9c3;color:#854d0e}.av-match-badge--no{background:#fee2e2;color:#991b1b}.av-prompt-status{font-size:.84rem;font-weight:500;padding:.5rem .75rem;border-radius:6px;margin-bottom:.85rem;line-height:1.45}.av-prompt-status--clean{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.av-prompt-status--corrected{background:#fff7ed;color:#92400e;border:1px solid #fed7aa}.av-prompt-tips-heading{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500, #6b7280);margin:0 0 .6rem}.av-prompt-tips{display:flex;flex-direction:column;gap:.75rem}.av-prompt-tip{display:flex;flex-direction:column;gap:.2rem}.av-prompt-tip-reason{font-size:.8rem;color:var(--gray-500, #6b7280);margin:0}.av-prompt-tip-snippet{margin:0;padding:.45rem .7rem;background:var(--surface-2, #f3f4f6);border-left:3px solid #6366f1;border-radius:0 5px 5px 0;font-size:.82rem;font-style:italic;color:var(--gray-700, #374151);line-height:1.5}.av-student-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;margin-bottom:1.5rem;font-size:.85rem}.av-field-line{border-bottom:1px solid var(--fg);padding:.15rem 0;margin-bottom:.5rem;min-height:1.4rem}.av-field-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}.av-questions{display:flex;flex-direction:column;gap:1.75rem}.av-section-header{display:flex;align-items:baseline;gap:.75rem;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-secondary, #6b7280);border-bottom:1.5px solid var(--border, #e5e7eb);padding-bottom:.4rem;margin-top:.5rem;margin-bottom:.25rem}.av-section-time{font-weight:400;font-size:.78rem;text-transform:none;letter-spacing:0;color:var(--fg-tertiary, #9ca3af)}.av-pacing-breakdown{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.25rem 0 1.25rem;padding:.5rem .75rem;background:var(--bg-subtle, #f3f4f6);border-radius:6px}.av-pacing-header{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-tertiary, #9ca3af);margin-right:.1rem;align-self:center;flex-shrink:0}.av-pacing-pill{display:inline-flex;align-items:center;gap:.4rem;background:var(--bg, #fff);border:1px solid var(--border, #e5e7eb);border-radius:999px;padding:.2rem .7rem;white-space:nowrap;font-size:.79rem}.av-pacing-pill__label{font-weight:600;color:var(--fg, #111827)}.av-pacing-pill__detail{color:var(--fg-secondary, #6b7280);font-size:.75rem}.av-pacing-pill__detail strong{color:var(--fg, #111827);font-weight:700}.av-pacing-total{display:inline-flex;align-items:center;background:var(--adp-primary, #2563eb);color:#fff;font-size:.78rem;font-weight:700;border-radius:999px;padding:.22rem .8rem;white-space:nowrap;margin-left:.1rem}@media print{.av-pacing-breakdown,.av-section-time{display:none}}.av-question{display:flex;gap:1rem}.av-q-number{font-weight:700;font-size:.95rem;min-width:1.6rem;padding-top:.05rem;flex-shrink:0;color:var(--fg)}.av-q-body{flex:1;min-width:0}.av-q-prompt{font-size:.95rem;line-height:1.55;margin:0 0 .6rem;white-space:pre-wrap;color:var(--fg)}.av-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.av-option{font-size:.9rem;line-height:1.45;padding-left:.25rem;color:var(--fg)}.av-answer-lines{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.av-answer-line{border-bottom:1px solid var(--fg);height:1.6rem}.av-inline-answer{margin-top:.5rem;padding:.45rem .75rem;background:color-mix(in srgb,var(--primary) 10%,transparent);border-left:3px solid var(--primary);border-radius:0 6px 6px 0;font-size:.9rem;color:var(--fg);line-height:1.5}.av-inline-answer-label{font-weight:700;color:var(--primary)}.av-bloom-badge{display:inline-block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:var(--bg-muted);border:1px solid var(--border);border-radius:999px;padding:.1rem .5rem;margin-bottom:.4rem;color:var(--gray-500)}.av-questions-columns{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1.75rem 1.5rem}.av-question-compact{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.av-q-compact-number{font-size:.7rem;font-weight:600;color:var(--gray-500)}.av-q-compact-expr{font-size:1.3rem;font-weight:600;color:var(--fg);line-height:1.2}.av-q-compact-blank{width:100%;height:1.75rem;border-bottom:1.5px solid var(--fg);margin-top:.2rem}.av-q-compact-answer{font-size:1.1rem;font-weight:700;color:var(--primary)}.av-answer-key{margin-top:2.5rem;border-top:2px dashed var(--border);padding-top:1.25rem;page-break-before:always}.av-answer-key-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .75rem;color:var(--gray-500)}.av-answer-key-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.4rem 1.5rem;font-size:.85rem}.av-ak-entry{display:flex;gap:.4rem}.av-ak-num{font-weight:700;min-width:1.2rem}.av-cog-summary{margin-top:1rem;display:flex;gap:.5rem;flex-wrap:wrap}.av-cog-pill{font-size:.72rem;font-weight:600;text-transform:capitalize;padding:.2rem .55rem;border-radius:999px;background:var(--bg-muted);border:1px solid var(--border);color:var(--fg)}.av-toggle-row{display:flex;align-items:center;gap:.5rem;margin-top:1.5rem}.av-toggle-label{font-size:.8rem;color:var(--gray-500);cursor:pointer}@media print{.av-actions,.av-toggle-row{display:none}.av-answer-key{display:block!important}.av-report{display:none}}.av-btn-ghost{background:transparent;color:var(--gray-500);border-color:var(--border);opacity:.55;cursor:not-allowed}.av-report{margin-top:3rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:.88rem}.av-report-toggle{width:100%;display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;background:var(--bg-muted);border:none;border-bottom:1px solid var(--border);cursor:pointer;color:var(--fg);font-family:var(--font-sans);font-size:.85rem;font-weight:600;text-align:left;-webkit-user-select:none;user-select:none}.av-report-toggle:hover{background:var(--border)}.av-report-icon{font-size:1rem;line-height:1}.av-report-label{flex:1;letter-spacing:.01em}.av-report-chevron{font-size:.65rem;color:var(--gray-500)}.av-report-body{padding:1.25rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.1rem}.av-report-tagline{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);margin:0;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.av-report-section{display:flex;flex-direction:column;gap:.25rem}.av-report-section-heading{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);margin:0}.av-report-section-body{font-size:.88rem;line-height:1.6;color:var(--fg);margin:0}.av-report-verdict{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:.75rem;border-top:1px solid var(--border)}@media(max-width:540px){.av-report-verdict{grid-template-columns:1fr}}.av-report-col-heading{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .4rem}.av-report-col-heading--green{color:#22863a}.av-report-col-heading--amber{color:#b08800}.av-report-col-heading--blue{color:#0969da}.av-report-tips{margin-top:1rem;padding:.75rem 1rem;background:color-mix(in srgb,#0969da 6%,transparent);border-left:3px solid #0969da;border-radius:0 6px 6px 0}.av-report-list{margin:0;padding:0 0 0 1.1rem;display:flex;flex-direction:column;gap:.3rem;font-size:.84rem;line-height:1.45;color:var(--fg)}.av-question--passage .av-q-body{width:100%}.av-passage-block{background:#f6f8fa;border:1px solid #d0d7de;border-radius:6px;padding:.75rem 1rem;margin-bottom:.75rem}.av-passage-label{display:block;font-size:.78rem;font-weight:600;font-style:italic;color:#57606a;margin-bottom:.4rem;text-transform:none}.av-passage-text{margin:0;font-size:.92rem;line-height:1.65;color:var(--fg)}.av-passage-questions{margin:0;padding-left:1.2rem}.av-passage-question{margin-bottom:.75rem}@media print{.av-passage-block{background:#f6f8fa!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--adp-success-bg: #dcfce7;--adp-success-fg: #166534;--adp-warn-bg: #fef9c3;--adp-warn-fg: #854d0e;--adp-danger-bg: #fee2e2;--adp-danger-fg: #991b1b;--adp-report-active-bg: #10b981;--adp-report-active-fg: #fff;--adp-report-active-bdr: #10b981;--adp-report-inactive-bg: #f0fdf4;--adp-report-inactive-fg: #065f46;--adp-report-inactive-bdr: #d1fae5;--adp-report-container-bg: #f0fdf4}[data-theme=dark]{--adp-success-bg: #14532d;--adp-success-fg: #86efac;--adp-warn-bg: #713f12;--adp-warn-fg: #fde68a;--adp-danger-bg: #7f1d1d;--adp-danger-fg: #fca5a5;--adp-report-active-bg: #10b981;--adp-report-active-fg: #fff;--adp-report-active-bdr: #10b981;--adp-report-inactive-bg: #052e16;--adp-report-inactive-fg: #6ee7b7;--adp-report-inactive-bdr: #065f46;--adp-report-container-bg: #052e16}.adp-btn-outline{border:1px solid var(--border, #ccc)!important;background:var(--bg-muted, #f5f5f5)!important;color:var(--text, #333)!important}.adp-btn-muted-pill{padding:.2rem .75rem;border-radius:999px;border:1.5px solid var(--text-secondary, #6b7280);background:transparent;color:var(--text-secondary, #6b7280);cursor:pointer;font-size:.78rem;font-weight:600;transition:border-color .15s,color .15s}.adp-btn-muted-pill:hover:not(:disabled){border-color:var(--text, #111);color:var(--text, #111)}.adp-btn-muted-pill:disabled{opacity:.5;cursor:not-allowed}.adp-textarea{padding:.45rem .75rem;border-radius:8px;border:1.5px solid var(--border, #ddd);background:var(--bg, #fff);color:var(--text, #111827);font-size:.88rem;font-weight:400;resize:vertical;width:100%;box-sizing:border-box;font-family:inherit}.adp-textarea:focus{outline:none;border-color:var(--primary, #4f46e5)}.adp-btn-delete{padding:.2rem .6rem;border-radius:6px;border:1.5px solid var(--adp-danger-fg, #ef4444);background:transparent;color:var(--adp-danger-fg, #ef4444);cursor:pointer;font-size:.78rem;font-weight:600;line-height:1;flex-shrink:0;transition:background .15s,color .15s}.adp-btn-delete:hover:not(:disabled){background:var(--adp-danger-fg, #ef4444);color:#fff}.adp-btn-delete:disabled{opacity:.4;cursor:not-allowed}.adp-delete-confirm{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem .9rem;border:1.5px solid var(--adp-danger-fg, #ef4444);border-radius:8px;background:var(--adp-danger-bg, #fee2e2);font-size:.82rem;font-weight:500}.adp-delete-confirm span{color:var(--adp-danger-fg, #991b1b);font-weight:600}.adp-delete-confirm-yes{padding:.25rem .75rem;border-radius:6px;border:none;background:var(--adp-danger-fg, #ef4444);color:#fff;cursor:pointer;font-size:.8rem;font-weight:700}.adp-delete-confirm-yes:disabled{opacity:.6;cursor:wait}.adp-delete-confirm-no{padding:.25rem .75rem;border-radius:6px;border:1px solid var(--border, #ddd);background:transparent;color:inherit;cursor:pointer;font-size:.8rem;font-weight:600}.app-container{min-height:100vh;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg) 100%);animation:fadeIn .5s ease-in-out;transition:background var(--transition-base);display:flex;flex-direction:column}.app-header{background:var(--bg);border-bottom:2px solid var(--border-color);box-shadow:var(--shadow-sm);transition:background var(--transition-base),border-color var(--transition-base);position:sticky;top:0;z-index:100}.app-header-content{max-width:1400px;margin:0 auto;width:100%;padding:0 1.5rem}.app-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color)}.app-tab{display:flex;align-items:center;gap:8px;padding:16px 24px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.app-tab:hover{color:var(--text);background:var(--bg-secondary)}.app-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:transparent}.app-tab-icon{font-size:1.2rem}.app-header-controls{display:flex;align-items:center;gap:1rem;padding:1rem 0}.mode-selector{padding:.6rem 1rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text);font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.mode-selector:hover{border-color:var(--primary-color);background:var(--bg)}.reset-button{padding:.6rem 1rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text);font-size:.9rem;cursor:pointer;transition:all var(--transition-fast);font-weight:600}.reset-button:hover{background:var(--warning-color);color:#fff;border-color:var(--warning-color)}.app-content{flex:1;max-width:1400px;margin:0 auto;width:100%;padding:1.5rem;animation:slideUp .6s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-md);border:1px solid var(--neutral-100);transition:all var(--transition-base);animation:slideUp .4s ease-out}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--neutral-200);transform:translateY(-2px)}.card.elevated{box-shadow:var(--shadow-lg)}.section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md);border-left:4px solid var(--primary-color);animation:slideUp .5s ease-out}.section.info{border-left-color:var(--primary-color);background:linear-gradient(135deg,rgba(91,124,250,.02) 0%,transparent 100%)}.section.success{border-left-color:var(--success-color);background:linear-gradient(135deg,rgba(81,207,102,.02) 0%,transparent 100%)}.section.warning{border-left-color:var(--warning-color);background:linear-gradient(135deg,rgba(255,212,59,.02) 0%,transparent 100%)}.tag-container{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.tag{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-light) 100%);color:#fff;border-radius:20px;font-size:.875rem;font-weight:500;box-shadow:var(--shadow-sm);transition:all var(--transition-base);animation:slideIn .3s ease-out}.tag:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.tag.bloom{background:linear-gradient(135deg,#5b7cfa,#748ffc)}.tag.complexity{background:linear-gradient(135deg,#ff922b,orange)}.tag.novelty{background:linear-gradient(135deg,#15aabf,#17a2b8)}.tag.success{background:linear-gradient(135deg,#51cf66,#40c057)}.tag.warning{background:linear-gradient(135deg,#ffd43b,#ffec99);color:var(--neutral-800)}.btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--neutral-100);color:var(--neutral-700);border:1px solid var(--neutral-300)}.btn-secondary:hover:not(:disabled){background:var(--neutral-200);border-color:var(--neutral-400)}.btn-outline{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-outline:hover:not(:disabled){background:var(--primary-color);color:#fff}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn:disabled{opacity:.5;cursor:not-allowed}.progress-bar{width:100%;height:4px;background:var(--neutral-200);border-radius:2px;overflow:hidden;margin:1rem 0}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color) 0%,var(--primary-light) 100%);transition:width var(--transition-slow);box-shadow:0 0 10px #5b7cfa4d}.step-indicator{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center;flex-wrap:wrap}.step-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;animation:slideUp .5s ease-out}.step-number{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;transition:all var(--transition-base);background:var(--neutral-200);color:var(--neutral-600);border:2px solid var(--neutral-300)}.step-item.active .step-number{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-light) 100%);color:#fff;border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:scale(1.15)}.step-item.completed .step-number{background:var(--success-color);color:#fff;border-color:var(--success-color)}.step-item.completed .step-number:after{content:"✓";position:absolute;font-size:1.5rem}.step-label{font-size:.875rem;font-weight:500;color:var(--neutral-600);text-align:center;max-width:80px;line-height:1.2}.step-item.active .step-label{color:var(--primary-color);font-weight:600}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--neutral-300),transparent);margin:1.5rem 0}.loading{animation:pulse 2s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--neutral-100) 25%,var(--neutral-200) 50%,var(--neutral-100) 75%);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:8px}@media(max-width:768px){.app-container{padding:0}.app-header-content{padding:0 .75rem}.app-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.app-tabs::-webkit-scrollbar{display:none}.app-tab{padding:12px 14px;font-size:.85rem;gap:6px}.app-tab-icon{font-size:1rem}.app-content{padding:1rem}.section{padding:1.5rem 1rem}h1{font-size:1.5rem}h2{font-size:1.25rem}.grid-2,.grid-3{grid-template-columns:1fr}.step-indicator{gap:.5rem}.step-item{gap:.25rem}.step-label{font-size:.75rem;max-width:60px}.dashboard-grid{grid-template-columns:1fr}.dashboard-card{padding:1.25rem}.dashboard-header{flex-direction:column;align-items:stretch!important;gap:.75rem}}@media(max-width:480px){.app-header-content{padding:0 .5rem}.app-tab{padding:10px;font-size:.78rem;gap:4px}.app-content{padding:.75rem}h1{font-size:1.25rem}h2{font-size:1.1rem}.dashboard-card{padding:1rem}.dashboard-card-meta{grid-template-columns:1fr}.logout-button{padding:.4rem .75rem;font-size:.8rem}.assessments-table-wrap{display:none}.assessments-card-list{display:flex;flex-direction:column;gap:.75rem}}.assessments-card-list{display:none}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-color-scheme:dark){body{background:linear-gradient(135deg,#1f2937,#111827);color:var(--text)}.card,.section{background:var(--bg);border-color:var(--border-color);box-shadow:0 4px 6px #0000004d}code{background:var(--bg-secondary);color:var(--text)}h1,h2,h3,h4,h5,h6{color:var(--text)}}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.5rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg) 100%)}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-loading p{color:var(--text-secondary);font-size:1rem}.app-header-actions{display:flex;gap:1rem;padding:1rem 0;align-items:center}.logout-button{padding:.6rem 1rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text);font-size:.9rem;cursor:pointer;transition:all var(--transition-fast);font-weight:600}.logout-button:hover{background:#fee;border-color:#fcc;color:#c33}.ai-status-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.9rem;font-weight:600;transition:all var(--transition-fast)}.ai-status-indicator:hover{border-color:var(--primary-color);color:var(--primary-color)}.ai-status-icon{font-size:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media(prefers-color-scheme:dark){body{background-color:#121212;color:#e5e5e5}.card,.panel,.container,.section{background-color:#1e1e1e;color:#e5e5e5}pre,code{background-color:#1a1a1a;color:#d0d0d0;border:1px solid #333}input,textarea,select{background-color:#1a1a1a;color:#e5e5e5;border-color:#444}button{background-color:#2a2a2a;color:#e5e5e5;border-color:#444}}@media(prefers-color-scheme:dark){.json-preview{background-color:#1a1a1a;color:#d0d0d0;border:1px solid #333}}.ai-status-indicator:hover{border-color:#667eea;color:#fff}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:1.75rem;padding:1rem 0}.dashboard-card{background:var(--bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;justify-content:space-between;transition:all var(--transition-base)}.dashboard-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.dashboard-card-title{font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:.75rem}.dashboard-card-meta{display:grid;grid-template-columns:1fr 1fr;row-gap:.35rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem}.dashboard-card-stats{display:flex;align-items:center;gap:1rem;font-size:.9rem;color:var(--text-secondary);margin-bottom:1.25rem}.dashboard-card-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:auto}.dashboard-card-actions button{width:100%;padding:.65rem .75rem;border-radius:8px;font-size:.9rem;font-weight:600;text-align:center}.assignment-card{display:flex;flex-direction:column;height:100%}.card-actions{margin-top:auto}.card-actions-list{display:flex;flex-direction:column;gap:.5rem}:root{--radius: .5rem;--font-sans: system-ui, sans-serif;--bg: #ffffff;--bg-muted: #f5f5f5;--fg: #111111;--border: #e5e5e5;--primary: #2563eb;--primary-hover: #1d4ed8;--gray-500: #6b7280;--text: #111111;--text-secondary: #4b5563;--text-tertiary: #9ca3af}[data-theme=dark]{--bg: #0f0f0f;--bg-muted: #1a1a1a;--fg: #fafafa;--border: #333333;--primary: #3b82f6;--primary-hover: #2563eb;--text: #f0f0f0;--text-secondary: #b0b0b0;--text-tertiary: #808080}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--fg)}
