.user-avatar{overflow:hidden}.user-avatar__img{width:100%;height:100%;object-fit:cover}.user-avatar__icon{width:60%;height:60%}.spinner{border:4px solid rgba(255,255,255,.3);border-top-color:var(--primary-color);border-radius:50%;width:24px;height:24px;animation:spin 1s linear infinite;margin:0 auto}.ui-button{padding:var(--button-padding-y) var(--button-padding-x);min-height:var(--control-height);display:flex;justify-content:center;align-items:center;color:var(--white-color);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color .2s ease-in-out,transform .1s ease-in-out}.ui-button--primary{background-color:var(--primary-color)}.ui-button--primary:hover:not(:disabled){background-color:var(--primary-hover)}.ui-button--secondary{background-color:transparent;border-color:var(--border-color);color:var(--text-primary)}.ui-button--secondary:hover:not(:disabled){background-color:var(--surface-hover);border-color:var(--primary-color)}.ui-button--danger{background-color:var(--error-color)}.ui-button--danger:hover:not(:disabled){background-color:var(--error-hover)}.ui-button--ghost{background-color:transparent;color:var(--text-secondary)}.ui-button--ghost:hover:not(:disabled){background-color:var(--surface-hover);color:var(--text-primary)}.ui-button:active{transform:scale(.98)}.ui-button:disabled{background-color:var(--text-tertiary);cursor:not-allowed;opacity:.7}.ui-button__loading{display:inline-flex;align-items:center;gap:.5rem}.ui-button .spinner{width:18px;height:18px;border:3px solid rgba(255,255,255,.45);border-top-color:var(--white-color);margin:0}.ui-button--sm{min-height:var(--control-height-sm);padding:var(--button-padding-y-sm) var(--button-padding-x-sm);font-size:var(--font-size-sm)}.mobile-menu__bar,.mobile-menu__scrim,.mobile-menu__panel{display:none}@media(max-width:768px){.mobile-menu__bar{position:sticky;top:0;z-index:var(--z-header);display:flex;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);background:var(--surface-color);border-bottom:1px solid var(--border-color)}.mobile-menu__bar .ui-button.mobile-menu__toggle{flex:none;width:var(--control-height);height:var(--control-height);padding:0;color:var(--text-primary)}.mobile-menu__brand,.mobile-menu__title{margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mobile-menu__brand{flex:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-primary)}.mobile-menu__title{min-width:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.mobile-menu__title:before{content:"›";margin-right:var(--space-2)}.mobile-menu__scrim{position:fixed;inset:0;z-index:var(--z-header);display:block;background:var(--scrim-color)}.mobile-menu__panel{position:fixed;top:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;flex-direction:column;gap:var(--space-4);width:min(var(--mobile-menu-width),85vw);padding:var(--space-5) var(--space-3) var(--space-4);overflow-y:auto;background:var(--surface-color);box-shadow:var(--shadow-lg);transform:translate(-100%);visibility:hidden;transition:transform var(--transition-base),visibility var(--transition-base)}.mobile-menu__panel.is-open{transform:none;visibility:visible}.mobile-menu__panel-brand{margin:0;padding:0 var(--space-3);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-primary)}.mobile-menu__list{display:flex;flex-direction:column;gap:2px}.mobile-menu__item,.mobile-menu__panel .ui-button.mobile-menu__item{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3);background:transparent;border:0;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);text-align:left;text-decoration:none}.mobile-menu__item svg{flex:none;color:var(--text-secondary)}.mobile-menu__item.active,.mobile-menu__panel .ui-button.mobile-menu__item.active{background:var(--bg-tertiary);box-shadow:inset 3px 0 0 var(--primary-color)}.mobile-menu__item.active svg{color:var(--primary-color)}.mobile-menu__account{display:flex;flex-direction:column;gap:2px;margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--border-color)}.mobile-menu__who{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3)}.mobile-menu__avatar{display:grid;flex:none;place-items:center;width:var(--space-6);height:var(--space-6);border-radius:var(--radius-full);background:var(--primary-color);color:var(--white-color);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.mobile-menu__name,.mobile-menu__meta{margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mobile-menu__name{font-size:var(--font-size-sm);color:var(--text-primary)}.mobile-menu__meta{font-size:var(--font-size-xs);color:var(--text-secondary)}}.app-header{background-color:var(--card-bg-color);padding:1rem 1.5rem;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000;margin-bottom:2rem}.app-header nav{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;gap:1rem}.header-branding{display:flex;flex-direction:column;min-width:0}.header-branding .app-title{margin:0;color:var(--text-color);font-size:1.5rem;font-weight:600}.header-branding .welcome-message{display:flex;align-items:center;gap:var(--space-2);margin:0;color:var(--text-secondary);font-size:.9rem;white-space:nowrap}.header-branding .welcome-message__text{min-width:0;overflow:hidden;text-overflow:ellipsis}.header-branding .header-avatar{display:grid;flex:none;place-items:center;width:var(--space-5);height:var(--space-5);border-radius:var(--radius-full);background:var(--primary-color);color:var(--white-color);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.header-branding .institution-name{display:none!important}.header-controls{display:flex;align-items:center;gap:1.5rem}.points-display{display:flex;align-items:center;gap:.5rem;background-color:var(--background-color);padding:.5rem 1rem;border-radius:20px;font-weight:700;color:var(--text-color)}.points-display p{margin:0}.logout-button{background-color:var(--error-color)!important;border:none;color:#fff;width:40px;height:40px;border-radius:6px;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:background-color .2s ease;flex-shrink:0}.logout-button:hover{background-color:var(--error-hover)!important}.referral-link-catchy{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;margin-top:4px;text-decoration:none;font-weight:600;color:var(--text-secondary);transition:all .2s ease;padding:4px 10px;background-color:#8b5cf61a;border-radius:20px;border:1px solid rgba(139,92,246,.2);width:fit-content}.referral-link-catchy:hover{background-color:#8b5cf633;transform:translateY(-1px);box-shadow:0 2px 8px #8b5cf626;text-decoration:none}@media(max-width:768px){.user-status{font-size:.9rem}.user-status div:nth-child(2){display:none}.referral-link-catchy{padding:0;width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center;font-size:1.2rem;margin-top:2px;margin-right:.75rem;background-color:#8b5cf626;border:1px solid rgba(139,92,246,.3)}.referral-link-catchy span:not([role=img]){display:none}.referral-link-catchy:hover{background-color:#8b5cf640}.header-branding .app-title{font-size:1.2rem}.header-branding .welcome-message{font-size:.8rem}}@media(max-width:768px){.app-header.app-header--has-menu{display:none}.mobile-menu__bar.app-header-mobile{margin-bottom:var(--space-5)}}.verify-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.verify-modal-content{background:var(--verify-surface);border:1px solid var(--verify-border);border-radius:16px;padding:2rem;width:90%;max-width:450px;position:relative;color:var(--white-color);box-shadow:0 10px 25px #00000080;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.close-btn{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--verify-text-muted);cursor:pointer;padding:.5rem;border-radius:50%;transition:background .2s}.close-btn:hover{background:#ffffff1a;color:var(--white-color)}.verify-header{text-align:center;margin-bottom:2rem}.shield-icon{color:var(--verify-accent);margin-bottom:1rem}.verify-header h2{margin:0 0 .5rem;font-size:1.5rem}.verify-header p{color:var(--verify-text-muted);margin:0;font-size:.9rem}.input-group{display:flex;gap:.5rem;margin-bottom:1.5rem}.cert-input{flex:1;background:var(--verify-bg);border:1px solid var(--verify-border);padding:.75rem 1rem;border-radius:8px;color:var(--white-color);font-size:1rem}.cert-input:focus{outline:none;border-color:var(--verify-accent)}.verify-btn{background:var(--verify-accent);color:var(--white-color);border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:700;cursor:pointer;transition:background .2s}.verify-btn:disabled{opacity:.7;cursor:not-allowed}.verify-btn:not(:disabled):hover{background:var(--verify-accent-hover)}.verify-result{background:var(--verify-bg);border-radius:12px;padding:1.5rem;margin-top:1rem;animation:fadeIn .3s ease}.verify-result.success{border:1px solid var(--success-color)}.verify-result.error{border:1px solid var(--verify-danger);text-align:center;color:var(--verify-danger)}.result-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--verify-border)}.result-header h3{margin:0;color:var(--success-color)}.detail-row{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.95rem}.detail-row span{color:var(--verify-text-muted)}.id-badge{text-align:center;background:#3b82f633;color:var(--verify-accent-soft);padding:.25rem;border-radius:4px;font-size:.8rem;margin-top:1rem;font-family:monospace}.spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-footer{text-align:center;padding:var(--space-5);background-color:var(--card-bg-color);color:var(--text-secondary);margin-top:auto;margin-bottom:var(--space-7)}.footer-content{max-width:1200px;margin:0 auto}.footer-links{margin-bottom:var(--space-2);font-size:var(--font-size-sm)}.footer-verify-button{background:none;border:none;color:var(--text-primary);text-decoration:none;border-bottom:1px dotted currentColor;cursor:pointer;padding:0;font:inherit}.footer-verify-button:hover{color:var(--primary-color)}.footer-compliance{margin:var(--space-3) 0 var(--space-1);font-size:var(--font-size-xs);color:var(--text-primary);letter-spacing:.03em}.footer-copyright{margin:0}.footer-flag{display:inline-block;vertical-align:bottom;margin-left:var(--space-1);border-radius:var(--radius-sm)}.main-layout{display:flex;flex-direction:column;min-height:100vh}.main-layout>main{flex-grow:1}.install-prompt{position:fixed;right:0;bottom:0;left:0;z-index:var(--z-header);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--card-bg-color);border-top:1px solid var(--primary-color);box-shadow:var(--shadow-lg)}.install-prompt__icon{flex:none;font-size:var(--font-size-xl)}.install-prompt__text{flex:1;min-width:0;margin:0;font-size:var(--font-size-sm);line-height:1.4;color:var(--text-primary)}.install-prompt__text strong{font-weight:var(--font-weight-bold)}.install-prompt .ui-button{flex:none;white-space:nowrap}.install-prompt .ui-button.install-prompt__dismiss{width:var(--control-height-sm);min-height:var(--control-height-sm);padding:0}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:var(--background-color-dark);padding:2rem 2.5rem;border-radius:8px;width:90%;max-width:600px;position:relative;box-shadow:0 5px 15px #0000004d;border:1px solid var(--border-color)}.modal-close-button{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.5rem;color:var(--text-color-secondary);cursor:pointer;line-height:1}.homepage-content{text-align:center;padding:50px 20px}.homepage-content h1{font-size:2.5rem;color:var(--primary-color);margin-bottom:1rem}.homepage-content p{max-width:600px;margin:0 auto 2rem;font-size:1.1rem}.homepage-actions{display:flex;justify-content:center;gap:20px;align-items:center}.form-group{display:flex;flex-direction:column;margin-bottom:1rem;width:100%}.form-group label{margin-bottom:.5rem;font-weight:700;color:var(--text-color-secondary)}.form-group input,.form-group select{width:100%;min-height:var(--control-height);padding:0 var(--control-padding-x);background-color:var(--input-background);color:var(--text-color);border:1px solid var(--border-color);border-radius:5px;font-size:1rem;box-sizing:border-box}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23cccccc%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 15px top 50%;background-size:10px}.auth-page{display:flex;flex-direction:column;min-height:100vh;background-color:var(--background-color)}.auth-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--border-color);background-color:var(--white-color)}.home-link{color:var(--error-color);transition:color .3s ease}.home-link:hover{color:var(--error-hover)}.auth-header h1{margin:0;font-size:2rem;color:var(--primary-color)}.auth-main{flex-grow:1}.auth-container{max-width:var(--auth-card-width);width:100%;box-sizing:border-box;margin:40px auto;padding:var(--auth-card-padding);background-color:var(--card-bg-color);border-radius:8px;box-shadow:0 4px 8px #0003;text-align:center;position:relative}@media(max-width:480px){.auth-container{margin:16px auto;padding:20px 16px;border-radius:0;box-shadow:none}.auth-header{padding:.75rem 1rem}.auth-header h1{font-size:1.25rem}}.auth-container h2{color:var(--primary-color)}.auth-container form{display:flex;flex-direction:column;gap:15px;text-align:left}.password-wrapper{position:relative}.password-toggle-btn{position:absolute;top:50%;right:10px;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:var(--primary-color);transition:color .2s ease}.password-toggle-btn:hover{color:var(--primary-hover)}.password-toggle-btn svg{width:24px;height:24px}.error-message-box{background-color:var(--error-bg);color:var(--error-text);border:1px solid var(--error-color);border-radius:6px;padding:15px;margin-bottom:1.5rem;display:flex;align-items:center;gap:10px}.error-message-box p{margin:0;font-weight:700}.auth-container form .form-group{display:flex;flex-direction:column;text-align:left}.auth-container form .form-group label{margin-bottom:5px;font-weight:700}.auth-container form input,.auth-container form select,.auth-container form textarea,.auth-container form .ui-input{width:100%;box-sizing:border-box;min-height:var(--control-height);padding:0 var(--control-padding-x);background-color:var(--field-bg);color:var(--field-text);border:1px solid var(--field-border);border-radius:var(--field-radius);font-family:var(--font-family-base);font-size:var(--font-size-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-container form textarea{min-height:calc(var(--control-height) * 2);padding:var(--space-3) var(--control-padding-x);resize:vertical}.auth-container form input::placeholder,.auth-container form textarea::placeholder{color:var(--field-placeholder)}.auth-container form input:focus,.auth-container form select:focus,.auth-container form textarea:focus,.auth-container form .ui-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--field-focus-ring)}.auth-container form input:disabled,.auth-container form select:disabled,.auth-container form textarea:disabled{background-color:var(--field-bg-disabled);color:var(--field-placeholder);cursor:not-allowed}.auth-container form input[aria-invalid=true],.auth-container form select[aria-invalid=true],.auth-container form textarea[aria-invalid=true]{border-color:var(--field-border-error)}.auth-container form input[aria-invalid=true]:focus,.auth-container form select[aria-invalid=true]:focus,.auth-container form textarea[aria-invalid=true]:focus{border-color:var(--field-border-error);box-shadow:0 0 0 3px #c026264d}.auth-container form .field-message{display:block;margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--field-error-text)}.auth-container form label .required{color:var(--field-required);margin-left:2px}.auth-container form .ui-button,.auth-container form button[type=submit]{width:100%;box-sizing:border-box}.auth-container form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-6);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%231f2430' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--control-padding-x) center;background-size:12px 8px}.auth-link{display:inline-block;margin-top:20px;color:var(--text-color);text-decoration:none;transition:color .2s ease}.auth-link:hover{color:var(--primary-color)}.auth-links{display:flex;flex-direction:column;align-items:center;margin-top:20px;gap:10px}.auth-links a{color:var(--text-color-secondary);text-decoration:none;font-size:.9rem;transition:color .2s ease}.auth-links a:hover{color:var(--primary-color)}.auth-button{height:46px}.login-container form{max-width:100%;overflow:hidden}.ui-input-container{display:flex;flex-direction:column;text-align:left;width:100%}.ui-input-container label{margin-bottom:5px;font-weight:700}.ui-input{width:100%;box-sizing:border-box;min-height:var(--control-height);padding:0 var(--control-padding-x);border:1px solid var(--border-color);border-radius:4px;background-color:var(--input-background);color:var(--text-color);transition:border-color .3s}.ui-input:focus{outline:none;border-color:var(--secondary-color)}.password-toggle-btn-below{background:none;border:none;color:var(--primary-color);cursor:pointer;display:flex;align-items:center;gap:8px;align-self:flex-end;margin-top:8px;padding:0;font-size:.9rem;transition:color .2s ease;border-radius:var(--radius-md)}.password-toggle-btn-below:hover{color:var(--primary-hover)}.phone-input__row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:stretch}.phone-input__code{flex:1 1 14rem;min-width:0}.phone-input__number{flex:1 1 12rem;min-width:0}.phone-input__hint{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.spinner-overlay{position:absolute;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;border-radius:8px}.loading-spinner{width:50px;height:50px;border:8px solid var(--border-color);border-top:8px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-message-box{display:flex;align-items:center;gap:10px;margin:var(--space-3) 0;padding:15px;background-color:var(--success-bg);color:var(--success-text);border:1px solid var(--success-color);border-radius:6px}.success-message-box p{margin:0;font-weight:700}.register-container form{max-width:100%;overflow:hidden}.request-password-reset-container form{max-width:100%}.not-found-container{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:calc(100vh - 120px);padding:20px}.not-found-container h1{font-size:6rem;font-weight:700;color:var(--primary-color);margin:0}.not-found-container h2{font-size:2rem;margin:10px 0;color:var(--text-color)}.not-found-container p{font-size:1.1rem;color:var(--text-color-secondary);margin-bottom:30px}.home-link-button{display:inline-block;padding:12px 28px;background-color:var(--primary-color);color:#fff;text-decoration:none;border-radius:6px;font-weight:700;transition:background-color .2s ease}.home-link-button:hover{background-color:var(--primary-color-dark)}.two-step__summary{margin:0 0 var(--space-4);padding-left:var(--space-5);color:var(--text-secondary)}.two-step__setup,.two-step__manage{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.two-step__qr{width:200px;height:200px;align-self:center;border-radius:var(--radius-md)}.two-step__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.two-step__dialog .two-step__codes{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2) var(--space-5);margin:var(--space-4) 0;padding-left:var(--space-5);font-family:monospace;font-size:var(--font-size-lg)}.profile-page{max-width:1200px;margin:0 auto;padding:2rem 1rem}.profile-page-content{max-width:960px;margin:0 auto}.profile-back-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast)}.profile-back-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.profile-back-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.profile-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--space-6);align-items:start}.profile-menu{position:sticky;top:var(--space-4);display:flex;flex-direction:column;gap:2px;padding:var(--space-2);background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.profile-menu .ui-button.profile-menu__item{display:flex;justify-content:flex-start;width:100%;height:auto;min-height:0;padding:var(--space-2) var(--space-3);background:transparent;border:0;border-radius:var(--radius-md);box-shadow:none;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);text-align:left;transition:background-color var(--transition-fast)}.profile-menu .ui-button.profile-menu__item:hover{background:var(--bg-tertiary)}.profile-menu .ui-button.profile-menu__item.active{background:var(--bg-tertiary);box-shadow:inset 3px 0 0 var(--primary-color);font-weight:var(--font-weight-medium)}.profile-menu .ui-button.profile-menu__item:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.profile-panel>.profile-page-section:first-of-type{margin-top:0}@media(max-width:768px){.profile-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.profile-menu{position:static;flex-direction:row;overflow-x:auto}.profile-menu .ui-button.profile-menu__item{width:auto;white-space:nowrap}}.profile-page-content>h2{color:var(--primary-color);margin-bottom:var(--space-5);text-align:center}.profile-page-section{margin:var(--space-6) 0}.profile-page form{display:flex;flex-direction:column;gap:15px;text-align:left}.profile-page form .form-group{display:flex;flex-direction:column;text-align:left}.profile-page form .form-group label{margin-bottom:5px;font-weight:700}.profile-readonly-value{color:var(--text-primary);margin:0}.profile-readonly-hint{color:var(--text-secondary);font-size:var(--font-size-sm);margin:var(--space-2) 0 var(--space-4)}.profile-section-label{font-weight:var(--font-weight-medium);margin:var(--space-4) 0 var(--space-2)}.profile-photo-preview{display:flex;justify-content:center;margin-bottom:var(--space-4)}.profile-photo-image{width:120px;height:120px;border-radius:var(--radius-full);object-fit:cover;border:1px solid var(--border-color)}.profile-avatar-preview-icon{width:80px;height:80px;padding:var(--space-4);border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary)}.profile-photo-actions{display:flex;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-4)}.profile-avatar-grid{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.profile-avatar-grid .profile-avatar-btn{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border-radius:var(--radius-full);border:1px solid var(--field-border);background:var(--field-bg);color:var(--field-text)}.profile-avatar-grid .profile-avatar-btn:hover{border-color:var(--primary-color);background:var(--field-bg)}.profile-avatar-grid .profile-avatar-btn--selected{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--field-focus-ring)}.profile-contact-row{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md)}.profile-opt-in label{display:flex;align-items:center;gap:10px}.profile-opt-in input[type=checkbox]{transform:scale(1.2)}.privacy-note{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--space-2)}.profile-mobile__pill{display:inline-block;margin-left:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.profile-mobile__pill--verified{background:var(--success-bg);color:var(--success-text)}.profile-mobile__pill--unverified{background:var(--warning-bg);color:var(--warning-text)}.profile-mobile__verify{margin:var(--space-3) 0}.profile-mobile__code-form{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.privacy-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.profile-page .section-divider{box-sizing:border-box;width:210px;max-width:100%;margin:var(--space-6) auto;border:0;border-top:1px solid var(--border-color)}.profile-appearance{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.profile-appearance p{margin:0}.profile-theme-choice{display:flex;flex:none;gap:var(--space-2)}.institution-search-container{position:relative;width:100%}.suggestions-list{position:absolute;top:100%;left:0;right:0;background-color:var(--input-background);border:1px solid var(--border-color);border-radius:4px;list-style-type:none;padding:0;margin:5px 0 0;max-height:200px;overflow-y:auto;z-index:1000}.suggestion-item{padding:10px;cursor:pointer;border-bottom:1px solid var(--border-color)}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background-color:var(--primary-color)}.suggestion-item--loading{padding:10px;font-style:italic;color:var(--text-secondary)}.collapsible-section__header{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.collapsible-section__toggle{display:flex;align-items:center;gap:var(--space-3);flex:1;background:transparent;border:none;padding:0;cursor:pointer;color:inherit;text-align:left}.collapsible-section__toggle h3{margin:0;text-align:left}.collapsible-section__chevron{color:var(--text-secondary);font-size:var(--font-size-sm)}.floating-feedback{position:absolute;left:105%;top:50%;transform:translateY(-50%) translate(-10px);background:var(--surface-color);border:1px solid;padding:.5rem 1rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.16,1,.3,1);z-index:50;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-width:200px}.floating-feedback.visible{opacity:1;transform:translateY(-50%) translate(0);pointer-events:auto}.floating-feedback.success{border-color:var(--success-color);background:#10b9811a;color:var(--success-color)}.floating-feedback.error{border-color:var(--error-color);background:#ef44441a;color:var(--error-color)}.floating-feedback.warning{border-color:var(--warning-color);background:#f59e0b1a;color:var(--warning-color)}.feedback-icon{display:flex;align-items:center;justify-content:center}.feedback-message{font-size:.875rem;font-weight:500}.feedback-close{background:transparent;border:none;color:inherit;opacity:.7;cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:opacity .2s;margin-left:auto}.feedback-close:hover{opacity:1;background:#ffffff1a}.feedback-wrapper{position:relative;align-items:center}.floating-feedback.toast{position:fixed;inset:100px auto auto 50%;transform:translate(-50%) translateY(-20px);z-index:2000;min-width:300px;justify-content:center;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.floating-feedback.toast.visible{transform:translate(-50%) translateY(0)}@media(max-width:768px){.floating-feedback{position:fixed;inset:80px auto auto 50%;transform:translate(-50%) translateY(-20px);z-index:2000;max-width:90vw;white-space:normal}.floating-feedback.visible{transform:translate(-50%) translateY(0)}}.am{font-family:Inter,system-ui,sans-serif;color:var(--text-secondary);max-width:760px;position:relative}.am-toast{position:fixed;bottom:24px;right:24px;z-index:9999;padding:12px 20px;border-radius:10px;font-size:.875rem;font-weight:500;animation:am-slide-in .2s ease;box-shadow:0 8px 24px #00000059}.am-toast--success{background:var(--success-color);color:var(--white-color)}.am-toast--error{background:var(--error-color);color:var(--white-color)}@keyframes am-slide-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.am-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.am-header__title{font-size:1.25rem;font-weight:700;margin:0 0 2px}.am-header__sub{font-size:.82rem;color:var(--text-secondary);margin:0}.am-nominations{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:10px;padding:14px 18px;margin-bottom:24px}.am-nominations__title{font-size:.85rem;font-weight:600;color:var(--warning-color);margin:0 0 10px}.am-nominations__row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem;padding:6px 0}.am-nominations__exp{color:var(--text-secondary);font-style:normal;font-size:.78rem}.am-section{margin-bottom:var(--section-gap)}.am-section__title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin:0 0 12px}.am-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.am-list__item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 16px;transition:background .15s}.am-list__item:hover{background:#ffffff12}.am-list__info{display:flex;flex-direction:column;gap:2px;min-width:0}.am-list__info strong{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.am-list__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.am-badge{display:inline-block;font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}.am-badge--admin{background:#6366f133;color:var(--primary-color);border:1px solid rgba(99,102,241,.4)}.am-badge--teacher{background:#94a3b81a;color:var(--text-secondary);border:1px solid rgba(148,163,184,.2)}.am-badge--pending{background:#fbbf241a;color:var(--warning-color);border:1px solid rgba(251,191,36,.3)}.am-btn{font-size:.8rem;font-weight:600;padding:6px 14px;border-radius:7px;border:none;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap}.am-btn:disabled{opacity:.5;cursor:not-allowed}.am-btn:active:not(:disabled){transform:scale(.96)}.am-btn--nominate{background:var(--primary-color);color:var(--white-color)}.am-btn--nominate:hover:not(:disabled){background:var(--primary-color)}.am-btn--approve{background:var(--success-color);color:var(--white-color)}.am-btn--approve:hover{background:var(--success-color)}.am-btn--demote{background:#ef444426;color:var(--error-color);border:1px solid rgba(239,68,68,.3)}.am-btn--demote:hover{background:#ef444440}.am-search{margin-bottom:12px}.am-search__input{width:100%;box-sizing:border-box;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:9px 14px;font-size:.875rem;color:inherit;outline:none;transition:border-color .15s}.am-search__input:focus{border-color:var(--primary-color)}.am-search__input::placeholder{color:var(--text-secondary)}.am-muted{color:var(--text-tertiary);font-size:.82rem}.outside-grants__note{color:var(--text-secondary);font-size:var(--font-size-sm)}.outside-grants__group{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-3)}.outside-grants__check{display:flex;align-items:center;gap:var(--space-2);color:var(--text-primary)}.outside-grants__list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.outside-grants__item{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-3);background:var(--bg-secondary);color:var(--text-primary)}.outside-grants__meta{color:var(--text-secondary);font-size:var(--font-size-sm)}.outside-grants__actions,.outside-grants__withdraw{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.outside-grants__history{margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm)}.commission-settings__exposure{margin:var(--space-3) 0;padding:var(--space-2) var(--space-4);background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-primary);display:inline-block}.commission-settings__table{width:100%;border-collapse:collapse;margin:var(--space-3) 0}.commission-settings__table th,.commission-settings__table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--font-size-sm)}.commission-settings__table th{color:var(--text-primary);font-weight:var(--font-weight-medium)}.commission-settings__checkbox{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);margin:var(--space-3) 0}.commission-settings__worked-example{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-2) 0;color:var(--text-secondary);font-size:var(--font-size-sm)}.admin-form-section{max-width:600px;margin:40px auto;padding:20px;background-color:var(--card-bg-color);border-radius:8px;box-shadow:0 4px 8px #0003}.admin-form-section h3{text-align:center;color:var(--secondary-color);margin-bottom:1.5rem}.admin-form-section form{display:flex;flex-direction:column;gap:20px}.admin-form-section .form-group{display:flex;flex-direction:column;width:100%;gap:8px}.admin-form-section .form-group label{font-weight:700;color:var(--text-color-secondary)}.admin-form-section .form-group select{width:100%;padding:12px 15px;background-color:var(--input-background);color:var(--text-color);border:1px solid var(--border-color);border-radius:5px;font-size:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23cccccc%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 15px top 50%;background-size:10px}.requests-table{width:100%;border-collapse:collapse;margin-top:20px;background-color:var(--surface-color);border-radius:8px;overflow:hidden}.requests-table th,.requests-table td{padding:15px 20px;text-align:left;border-bottom:1px solid var(--input-background)}.requests-table th{background-color:var(--card-bg-color);color:var(--secondary-color);font-weight:700;text-transform:uppercase;font-size:.9rem;letter-spacing:.05em}.requests-table tr:hover{background-color:var(--surface-color)}.requests-table td{color:var(--text-color)}.alerts-open-badge{background:var(--error-bg);color:var(--error-text);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.admin-form-section .ui-input,.admin-form-section input[type=file],.admin-form-section select,.admin-form-section .ui-button{width:100%}.admin-form-section table .ui-button,.admin-form-section .ui-button--sm{width:auto}.admin-form-section input[type=file]{min-height:var(--control-height);padding:var(--space-2) var(--control-padding-x);background:var(--surface-color);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.admin-form-section .admin-stacked-controls{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.admin-form-section .institution-manager{display:grid;grid-template-columns:1fr;gap:var(--space-6)}.admin-form-section .institution-manager__bulk{border-top:1px solid var(--border-color);padding-top:var(--space-6)}.dashboard-content .section-divider{box-sizing:border-box;width:210px;max-width:100%;margin:var(--space-6) auto;border:0;border-top:1px solid var(--border-color)}.admin-tabs{display:flex;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}@media(max-width:768px){.admin-tabs{display:none}}.assignments-container{max-width:600px;margin:0 auto;padding:2rem 1rem 0}.assignments-header{position:fixed;top:150px;left:0;right:0;z-index:999;background-color:var(--background-color);padding:1rem 0;width:100%;max-width:600px;margin-left:auto;margin-right:auto}.assignments-header h2{text-align:center;margin:0;color:var(--primary-color)}.assignments-content{margin-top:80px}.assignment-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:1.5rem}.assignment-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--card-bg-color);padding:1.5rem;border-radius:8px;box-shadow:0 4px 8px #0003;border-left:5px solid var(--border-color);transition:transform .2s ease-in-out}.assignment-item:hover{transform:translateY(-3px)}.assignment-item.status-assigned{border-left-color:var(--primary-color)}.assignment-item.status-submitted{border-left-color:var(--warning-color)}.assignment-item.status-graded{border-left-color:var(--success-color)}.assignment-details h3{margin:0 0 .5rem;color:var(--text-color)}.assignment-details p{margin:.25rem 0;color:var(--text-color-secondary);font-size:.9rem}.assignment-status{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.assignment-item .status-badge{display:inline-block;padding:.3rem .7rem;border-radius:12px;font-size:.8rem;font-weight:700;color:#fff;background-color:var(--text-color-secondary);margin-bottom:.5rem;opacity:1!important;visibility:visible!important;z-index:10;position:relative}.assignment-item.status-assigned .status-badge{background-color:var(--primary-color)}.assignment-item.status-submitted .status-badge{background-color:var(--warning-color)}.assignment-item.status-graded .status-badge{background-color:var(--success-color)}.score{font-weight:700;font-size:1.2rem;margin:0}@media(max-width:768px){.assignments-header{top:120px}}.service-sidebar{width:280px;background:var(--background-color);color:#fff;padding:24px;overflow-y:auto;flex-shrink:0;transition:transform .3s ease}.service-sidebar.closed{transform:translate(-100%)}.sidebar-header{margin-bottom:32px}.category-icon{display:flex;align-items:center;margin-bottom:8px;color:var(--primary-hover)}.category-icon svg{width:32px;height:32px}.category-title{font-size:24px;font-weight:700;margin:0 0 4px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.category-subtitle{font-size:14px;color:var(--text-secondary);margin:0}.sidebar-section{margin-bottom:32px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin:0 0 12px}.new-conversation-btn{background:var(--primary-color);color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.new-conversation-btn:hover{background:var(--primary-hover);transform:scale(1.1)}.service-cards{display:flex;flex-direction:column;gap:12px}.service-card{background:var(--surface-color);border-radius:12px;padding:16px;cursor:pointer;transition:all .3s ease;position:relative;border:2px solid transparent}.service-card:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d;border-color:#6366f180}.service-card.active{border-color:var(--primary-color);background:var(--bg-tertiary)}.service-card.disabled{opacity:.6;cursor:not-allowed}.service-icon{display:flex;align-items:center;margin-bottom:8px;color:var(--primary-hover)}.service-icon svg{width:24px;height:24px}.service-info{flex:1}.service-name{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.service-description{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.4}.multimodal-indicator{margin-top:8px}.multimodal-icon{font-size:14px}.status-badge{position:absolute;top:12px;right:12px;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:var(--success-color);color:#fff}.status-badge.coming-soon{background:var(--primary-color);color:#fff}.status-badge.planned{background:var(--text-tertiary);color:#fff}.conversation-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.conversation-item{padding:12px;border-radius:8px;cursor:pointer;transition:background .2s ease}.conversation-item:hover{background:#ffffff0d}.conversation-title{font-size:14px;color:#fff;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.empty-conversations{text-align:center;padding:20px;color:var(--text-tertiary);font-size:14px}@media(max-width:1024px){.service-sidebar{position:fixed;left:0;top:60px;height:calc(100vh - 60px);z-index:1000;box-shadow:2px 0 8px #0003}}.concept-explainer-view{display:flex;flex-direction:column;height:100%}.concept-explainer-view .content-header{padding:1rem 2rem;border-bottom:1px solid var(--border-color);background:var(--surface-color)}.concept-explainer-view .content-header h2{margin:0;font-size:1.2rem;color:var(--primary-color)}.concept-explainer-view .content-body{flex:1;overflow-y:auto;padding:2rem}.concept-explainer-view .explainer-setup{padding:2rem;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.concept-explainer-view .setup-header{text-align:center;margin-bottom:2rem}.concept-explainer-view .setup-header h2{font-size:2rem;color:var(--primary-color);margin-bottom:.5rem;display:none}.concept-explainer-view .setup-header p{color:var(--text-secondary)}.concept-explainer-view .setup-form{background:var(--surface-color);padding:2rem;border-radius:12px;border:1px solid var(--border-color)}.concept-explainer-view .form-group{margin-bottom:1.5rem}.concept-explainer-view .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-color)}.concept-explainer-view .form-group input[type=text],.concept-explainer-view .form-group select{width:100%;padding:.8rem;border-radius:8px;border:1px solid var(--border-color);background:var(--background-color);color:var(--text-color);font-size:1rem;transition:border-color .2s}.concept-explainer-view .form-group input[type=text]:focus,.concept-explainer-view .form-group select:focus{outline:none;border-color:var(--primary-color)}.concept-explainer-view .explain-btn{width:100%;padding:1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;margin-top:1rem;transition:opacity .2s}.concept-explainer-view .explain-btn:disabled{opacity:.7;cursor:not-allowed}.concept-explainer-view .explanation-result{flex:1;overflow-y:auto;padding:2rem;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.concept-explainer-view .result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.concept-explainer-view .result-header h2{margin:0;font-size:1.5rem;color:var(--primary-color)}.concept-explainer-view .new-explanation-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--primary-color);color:var(--primary-color);border-radius:6px;cursor:pointer;font-weight:600}.concept-explainer-view .explanation-content{background:var(--surface-color);padding:2rem;border-radius:12px;border:1px solid var(--border-color)}.concept-explainer-view .main-text{font-size:1.1rem;line-height:1.6;color:var(--text-color);margin-bottom:2rem;white-space:pre-wrap}.concept-explainer-view .section-title{font-size:1.2rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.concept-explainer-view .key-points,.concept-explainer-view .examples{margin-bottom:2rem;background:var(--background-color);padding:1.5rem;border-radius:8px}.concept-explainer-view .key-points ul,.concept-explainer-view .examples ul{margin:0;padding-left:1.5rem}.concept-explainer-view .key-points li,.concept-explainer-view .examples li{margin-bottom:.5rem;line-height:1.5}.concept-explainer-view .related-concepts{margin-top:2rem}.concept-explainer-view .concepts-list{display:flex;flex-wrap:wrap;gap:.8rem}.concept-explainer-view .concept-chip{padding:.5rem 1rem;background:#6366f11a;color:var(--primary-color);border:1px solid rgba(99,102,241,.2);border-radius:20px;cursor:pointer;transition:all .2s;font-size:.9rem}.concept-explainer-view .concept-chip:hover{background:var(--primary-color);color:#fff}@media(max-width:600px){.concept-explainer-view .explainer-setup,.concept-explainer-view .explanation-result{padding:1.5rem}}.quiz-interface{display:flex;flex-direction:column;height:100%}.quiz-interface .content-header{padding:1rem 2rem;border-bottom:1px solid var(--border-color);background:var(--surface-color)}.quiz-interface .content-header h2{margin:0;font-size:1.2rem;color:var(--primary-color)}.quiz-interface .content-body{flex:1;overflow-y:auto;padding:2rem}.quiz-interface .quiz-setup{max-width:600px;margin:0 auto;width:100%;background:var(--surface-color);padding:2rem;border-radius:12px;border:1px solid var(--border-color);box-sizing:border-box}.quiz-interface .form-group{margin-bottom:1.5rem}.quiz-interface .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-color)}.quiz-interface .form-group input[type=text],.quiz-interface .form-group input[type=number]{width:100%;padding:.8rem;border-radius:8px;border:1px solid var(--border-color);background:var(--background-color);color:var(--text-color);font-size:1rem}.quiz-interface .form-group input:focus{outline:none;border-color:var(--primary-color)}.quiz-interface .difficulty-control{background:var(--background-color);padding:1rem;border-radius:8px;border:1px solid var(--border-color)}.quiz-interface .difficulty-slider{width:100%;margin-bottom:.5rem}.quiz-interface .difficulty-markers{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-secondary)}.quiz-interface button{width:100%;padding:1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;margin-top:1rem;transition:opacity .2s}.quiz-interface button:disabled{opacity:.7;cursor:not-allowed}.quiz-interface .quiz-questions{max-width:800px;margin:0 auto;width:100%}.quiz-interface .question-card{background:var(--surface-color);padding:2rem;border-radius:12px;border:1px solid var(--border-color);margin-bottom:1.5rem}.quiz-interface .question-card h4{display:flex;justify-content:space-between;align-items:center;margin-top:0;color:var(--text-color)}.quiz-interface .difficulty-badge{background:#6366f11a;color:var(--primary-color);padding:.2rem .6rem;border-radius:4px;font-size:.8rem}.quiz-interface .options{display:flex;flex-direction:column;gap:.8rem;margin-top:1.5rem}.quiz-interface .option{display:flex;align-items:center;padding:1rem;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.quiz-interface .option:hover{border-color:var(--primary-color);background:#6366f10d}.quiz-interface .option input{margin-right:1rem}.quiz-interface .correct{margin-left:auto;color:var(--success-color);font-weight:700}.quiz-interface .results{background:var(--surface-color);padding:2rem;border-radius:12px;border:1px solid var(--border-color);text-align:center;margin-top:2rem}.quiz-interface .performance-msg{font-size:1.2rem;font-weight:700;color:var(--primary-color);margin:1rem 0}.quiz-interface .difficulty-update{background:#6366f11a;padding:1rem;border-radius:8px;margin:1rem 0}@media(max-width:600px){.content-body{padding:1rem}.quiz-setup{padding:1.5rem;width:100%}}.autosave-indicator{font-size:.75rem;color:var(--text-secondary, var(--text-muted));text-align:right;margin:0 0 .5rem;opacity:1;transition:opacity .4s}.practice-exam-view{display:flex;flex-direction:column;height:100%}.exam-header{background:var(--surface-color);padding:1rem 2rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.exam-info h3{margin:0;font-size:1.2rem;color:var(--text-color)}.exam-meta{font-size:.9rem;color:var(--text-secondary)}.exam-timer{font-size:1.5rem;font-weight:700;font-family:monospace;color:var(--text-color);background:var(--background-color);padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border-color)}.exam-content{flex:1;padding:2rem;overflow-y:auto;display:flex;justify-content:center}.question-header{display:flex;justify-content:space-between;margin-bottom:1rem}.q-difficulty{background:#6366f11a;color:var(--primary-color);padding:.2rem .6rem;border-radius:4px;font-size:.8rem;font-weight:700;text-transform:uppercase}.question-text{font-size:1.2rem;line-height:1.6;margin-bottom:2rem}.options-grid{display:grid;gap:1rem}.option-label{display:flex;align-items:center;padding:1rem;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.option-label:hover{border-color:var(--primary-color);background:#6366f10d}.option-label.selected{border-color:var(--primary-color);background:#6366f11a}.option-label input{margin-right:1rem}.navigation-controls{display:flex;justify-content:space-between;margin-top:2rem}.navigation-controls button{padding:.8rem 1.5rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:transform .2s}.navigation-controls button:disabled{opacity:.5;cursor:not-allowed}.submit-btn{background:var(--success-color);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer}.exam-results{text-align:center;max-width:800px;width:100%}.score-circle{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--primary-color) 0%,var(--primary-color) var(--score, 0%),var(--surface-color) var(--score, 0%),var(--surface-color) 100%);display:flex;flex-direction:column;justify-content:center;align-items:center;margin:2rem auto;position:relative}.score-circle:before{content:"";position:absolute;width:130px;height:130px;background:var(--background-color);border-radius:50%}.score-value{font-size:3rem;font-weight:700;z-index:1;color:var(--text-color)}.score-label{font-size:1rem;color:var(--text-secondary);z-index:1}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:3rem}.metric-card{background:var(--surface-color);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color);text-align:left}.metric-card h4{margin-top:0;color:var(--text-secondary);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.metric-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.metric-value.positive{color:var(--success-color)}.metric-value.negative{color:var(--error-color)}.metric-value.warning{color:var(--warning-color)}.metric-comparison{display:flex;justify-content:space-between;margin-bottom:1rem}.metric-comparison div{display:flex;flex-direction:column}.metric-comparison span{font-size:.8rem;color:var(--text-secondary)}.metric-comparison strong{font-size:1.2rem}.metric-details{font-size:.85rem;color:var(--text-secondary);border-top:1px solid var(--border-color);padding-top:.8rem;margin-top:.8rem}.metric-details p{margin:.4rem 0;line-height:1.4}.metric-details strong{color:var(--text-color)}.practice-exam-setup{padding:2rem;max-width:600px;margin:0 auto}.setup-header{text-align:center;margin-bottom:3rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600}.form-group select,.form-group input[type=number]{width:100%;padding:.8rem;border-radius:8px;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-color)}.slider-container{padding:1rem 0}.month-slider{width:100%;margin-bottom:.5rem}.slider-labels{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-secondary)}.helper-text{font-size:.9rem;color:var(--text-secondary);margin-top:.5rem}.form-row{display:flex;gap:1rem}.form-group.half{flex:1}.timer-controls{display:flex;align-items:center;gap:1rem}.switch{position:relative;display:inline-block;width:50px;height:28px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-color);transition:.4s;border-radius:34px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--primary-color)}input:checked+.slider:before{transform:translate(22px)}.timer-input{display:flex;align-items:center;gap:.5rem}.timer-input input{width:70px!important}.generate-btn{width:100%;padding:1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;margin-top:1rem;transition:opacity .2s}.generate-btn:disabled{opacity:.7;cursor:not-allowed}.pressure-drill-setup{padding:2rem;max-width:600px;margin:0 auto;text-align:center}.setup-header h2{font-size:2rem;color:var(--primary-color);margin-bottom:.5rem}.start-drill-btn{background:linear-gradient(135deg,var(--error-color) 0%,var(--error-hover) 100%);color:#fff;padding:1rem 2rem;border:none;border-radius:8px;font-size:1.2rem;font-weight:700;cursor:pointer;width:100%;margin-top:1rem;transition:transform .2s}.start-drill-btn:hover{transform:scale(1.02)}.start-drill-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.pressure-drill-view{display:flex;flex-direction:column;height:100%}.drill-header{background:var(--surface-color);padding:1rem 2rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.drill-timer{font-size:2rem;font-weight:700;font-family:monospace;color:var(--text-color)}.drill-timer.critical{color:var(--error-color);animation:pulse 1s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.drill-content{padding:2rem;flex:1;display:flex;justify-content:center}.question-container{max-width:800px;width:100%}.question-card{background:var(--surface-color);padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:1rem}.question-text{font-size:1.3rem;margin-bottom:1.5rem}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.option-wrapper{padding:1rem;border:2px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-color);cursor:pointer;font-size:1rem;text-align:left;transition:all .2s;display:flex;align-items:center;gap:1rem}.option-wrapper:hover{border-color:var(--primary-color);background:#6366f10d}.option-wrapper.selected{border-color:var(--primary-color);background:#6366f11a;font-weight:700}.radio-circle{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;flex-shrink:0}.option-wrapper.selected .radio-circle{border-color:var(--primary-color)}.radio-dot{width:10px;height:10px;border-radius:50%;background:var(--primary-color)}.review-section{margin-top:3rem;text-align:left;width:100%;max-width:800px}.review-section h3{margin-bottom:1.5rem;color:var(--text-color);border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.review-card{background:var(--surface-color);padding:1.5rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid transparent}.review-card.correct{border-left-color:var(--success-color);background:#10b9810d}.review-card.incorrect{border-left-color:var(--error-color);background:#ef44440d}.review-question{font-size:1.1rem;margin-bottom:.5rem;color:var(--text-color)}.review-details{font-size:.95rem}.text-green{color:var(--success-color);font-weight:700}.text-red{color:var(--error-color);font-weight:700}.review-correct-answer{color:var(--success-color);margin-top:.25rem}.navigation-controls{display:flex;justify-content:space-between;margin-top:1rem}.navigation-controls button{padding:.8rem 1.5rem;border-radius:6px;border:none;cursor:pointer;font-weight:600}.next-btn{background:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer}.result-stats{display:flex;gap:2rem;justify-content:center;margin-top:2rem}.stat-box{background:var(--surface-color);padding:1.5rem;border-radius:12px;text-align:center;min-width:120px;border:1px solid var(--border-color)}.stat-value{display:block;font-size:2rem;font-weight:700;color:var(--primary-color)}.stat-label{font-size:.9rem;color:var(--text-secondary)}.syllabus-select{width:100%;padding:.8rem;border-radius:8px;border:1px solid var(--border-color);background-color:var(--surface-color);color:var(--text-color);font-size:1rem;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right .7em top 50%;background-size:.65em auto;padding-right:2.5em}.syllabus-select option{background-color:var(--text-primary);color:#fff;padding:10px}.loading-topics{color:var(--text-secondary);font-style:italic;padding:1rem}.topics-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.topic-chip{padding:.5rem 1rem;border-radius:20px;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-color);cursor:pointer;font-size:.9rem;transition:all .2s}.topic-chip:hover{border-color:var(--primary-color);background:#6366f10d}.topic-chip.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.helper-text{font-size:.85rem;color:var(--text-secondary);margin-top:.5rem}.form-group input[type=text]{width:100%;padding:.8rem;border-radius:8px;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-color);font-size:1rem}.form-group input[type=text]:disabled{opacity:.6;cursor:not-allowed}.topic-error{color:var(--error-color);font-size:.9rem;padding:1rem;background:#ef44441a;border-radius:8px;border:1px solid rgba(239,68,68,.2)}.socratic-tutor-view{display:flex;flex-direction:column;height:100%}.socratic-tutor-view .socratic-setup{padding:2rem;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.socratic-tutor-view .setup-header{text-align:center;margin-bottom:3rem}.socratic-tutor-view .setup-header h2{font-size:2rem;color:var(--primary-color);margin-bottom:.5rem}.socratic-tutor-view .setup-header p{color:var(--text-secondary)}.socratic-tutor-view .setup-form{background:var(--surface-color);padding:2rem;border-radius:12px;border:1px solid var(--border-color)}.socratic-tutor-view .form-group{margin-bottom:1.5rem}.socratic-tutor-view .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-color)}.socratic-tutor-view .form-group input[type=text]{width:100%;padding:.8rem;border-radius:8px;border:1px solid var(--border-color);background:var(--background-color);color:var(--text-color);font-size:1rem;transition:border-color .2s}.socratic-tutor-view .form-group input[type=text]:focus{outline:none;border-color:var(--primary-color)}.socratic-tutor-view .start-learning-btn{width:100%;padding:1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;margin-top:1rem;transition:opacity .2s}.socratic-tutor-view .start-learning-btn:disabled{opacity:.7;cursor:not-allowed}.chat-interface{display:flex;flex-direction:column;height:100%;background:var(--surface-color);border-radius:12px;overflow:hidden}.chat-interface .content-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--surface-color)}.chat-interface .content-header h2{margin:0;font-size:1.2rem;color:var(--primary-color)}.chat-interface .content-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-interface .chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-interface .message{max-width:80%;padding:1rem;border-radius:12px;line-height:1.5}.chat-interface .message.user{align-self:flex-end;background:var(--primary-color);color:#fff;border-bottom-right-radius:4px}.chat-interface .message.assistant{align-self:flex-start;background:var(--background-color);color:var(--text-color);border:1px solid var(--border-color);border-bottom-left-radius:4px}.chat-interface .message.loading{color:var(--text-secondary);font-style:italic;background:transparent;border:none;padding:0}.chat-interface .chat-input{padding:1.5rem;margin-top:1rem;display:flex;flex-direction:column;gap:1rem;background:var(--surface-color)}.chat-interface .input-row{display:flex;gap:1rem;width:100%}.chat-interface .input-row input{flex:1;padding:.8rem 1rem;border-radius:24px;border:1px solid var(--border-color);background:var(--background-color);color:var(--text-color);font-size:1rem}.chat-interface .input-row input:focus{outline:none;border-color:var(--primary-color)}.chat-interface .input-row button{padding:.8rem 1.5rem;border-radius:24px;background:var(--primary-color);color:#fff;border:none;font-weight:600;cursor:pointer;transition:opacity .2s}.chat-interface .input-row button:disabled{opacity:.6;cursor:not-allowed}.chat-interface .stop-session-btn{width:100%;padding:.8rem;background:transparent;color:var(--error-color);border:1px solid var(--error-color);border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.chat-interface .stop-session-btn:hover{background:#ef44441a}@media(max-width:600px){.socratic-setup{padding:1.5rem;width:100%}}.instant-badge{margin-top:.5rem;font-size:.75rem;background:#eab3081a;color:var(--warning-color);padding:.25rem .5rem;border-radius:4px;display:inline-flex;align-items:center;gap:.25rem;border:1px solid rgba(234,179,8,.2);font-weight:600}.message.assistant .message-content{display:flex;flex-direction:column}.problem-solver-interface,.problem-solver-interface .setup-view{display:flex;flex-direction:column;height:100%}.problem-solver-interface .problem-solver-setup{padding:2rem;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.problem-solver-interface .setup-header{text-align:center;margin-bottom:3rem}.problem-solver-interface .setup-header h2{font-size:2rem;color:var(--primary-color);margin-bottom:.5rem}.problem-solver-interface .setup-header p{color:var(--text-secondary)}.problem-solver-interface .setup-form{background:var(--surface-color);padding:2rem;border-radius:12px;border:1px solid var(--border-color)}.problem-solver-interface .form-group{margin-bottom:1.5rem}.problem-solver-interface .form-group label{display:block;margin-bottom:.8rem;font-weight:600;color:var(--text-color)}.problem-solver-interface .form-group textarea{width:100%;padding:1rem;border-radius:12px;border:1px solid var(--border-color);background:var(--background-color);color:var(--text-color);font-size:1rem;resize:vertical;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.problem-solver-interface .form-group textarea:focus{outline:none;border-color:var(--primary-color)}.problem-solver-interface .start-btn{width:100%;padding:1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:opacity .2s}.problem-solver-interface .start-btn:disabled{opacity:.7;cursor:not-allowed}.problem-solver-interface.chat-mode .content-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--surface-color);display:flex;justify-content:space-between;align-items:center}.problem-solver-interface .header-left{display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.problem-solver-interface .content-header h2{margin:0;font-size:1.2rem;color:var(--primary-color)}.problem-solver-interface .problem-preview{font-size:.85rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.problem-solver-interface .content-body{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0;max-width:none;margin:0}.problem-solver-interface .chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.problem-solver-interface .message{max-width:80%;padding:1rem;border-radius:12px;line-height:1.5}.problem-solver-interface .message.user{align-self:flex-end;background:var(--primary-color);color:#fff;border-bottom-right-radius:4px}.problem-solver-interface .message.assistant{align-self:flex-start;background:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color);border-bottom-left-radius:4px}.problem-solver-interface .message.loading{color:var(--text-secondary);font-style:italic;background:transparent;border:none;padding:0}.problem-solver-interface .message-content p{margin:0 0 .5rem}.problem-solver-interface .message-content p:last-child{margin-bottom:0}.problem-solver-interface .chat-controls{padding:1.5rem;background:var(--surface-color);border-top:1px solid var(--border-color)}.problem-solver-interface .action-bar{display:flex;gap:1rem;margin-bottom:1rem}.problem-solver-interface .hint-btn,.problem-solver-interface .check-btn{flex:1;padding:.75rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:opacity .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.problem-solver-interface .hint-btn{background:#f59e0b1a;color:var(--warning-color);border:1px solid rgba(245,158,11,.2)}.problem-solver-interface .hint-btn:hover{background:#f59e0b33}.problem-solver-interface .check-btn{background:#10b9811a;color:var(--success-color);border:1px solid rgba(16,185,129,.2)}.problem-solver-interface .check-btn:hover{background:#10b98133}.problem-solver-interface .input-area{display:flex;gap:1rem}.problem-solver-interface .input-area textarea{flex:1;padding:.8rem 1rem;border-radius:12px;border:1px solid var(--border-color);background:var(--background-color);color:var(--text-color);font-size:1rem;resize:none;font-family:inherit;box-sizing:border-box}.problem-solver-interface .input-area textarea:focus{outline:none;border-color:var(--primary-color)}.problem-solver-interface .send-btn{padding:0 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer}.problem-solver-interface .send-btn:disabled{opacity:.6;cursor:not-allowed}.problem-solver-interface .new-problem-container{margin-top:1.5rem;padding-top:1.5rem;border-top:1px dashed var(--border-color)}.problem-solver-interface .new-problem-btn{width:100%;padding:.8rem;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.problem-solver-interface .new-problem-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:#6366f10d}.problem-solver-interface .new-problem-btn:before{content:"↺";font-size:1.2rem}@media(max-width:600px){.problem-solver-interface .setup-form{padding:1.5rem}.problem-solver-interface .action-bar{flex-direction:column}}.problem-solver-interface.chat-mode .setup-header{padding:1.5rem;margin-bottom:0;background:var(--surface-color);border-bottom:1px solid var(--border-color)}.problem-solver-interface .problem-statement{color:var(--text-color);font-size:1rem;line-height:1.5;max-width:800px;margin:.5rem auto 0;white-space:pre-wrap;opacity:.9}.step-guide-view{display:flex;flex-direction:column;height:100%}.step-guide-view .content-header{padding:1rem 2rem;border-bottom:1px solid var(--border-color);background:var(--surface-color)}.step-guide-view .content-header h2{margin:0;font-size:1.2rem;color:var(--primary-color)}.step-guide-view .content-body{flex:1;overflow-y:auto;padding:2rem}.explainer-setup{background:var(--surface-color);border-radius:12px;padding:2rem;border:1px solid var(--border-color);box-shadow:0 4px 6px -1px #0000001a;max-width:600px;margin:0 auto}.setup-header h2{color:var(--primary-color);margin-bottom:.5rem}.setup-header p{color:var(--text-secondary);margin-bottom:2rem}.setup-form .form-group{margin-bottom:1.5rem}.setup-form label{display:block;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.setup-form input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color .2s;background:var(--background-color);color:var(--text-color)}.setup-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.create-guide-btn{width:100%;padding:.75rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:opacity .2s}.create-guide-btn:disabled{opacity:.7;cursor:not-allowed}.guide-result{display:flex;flex-direction:column;gap:2rem;max-width:800px;margin:0 auto}.guide-header{display:flex;justify-content:space-between;align-items:center;background:var(--surface-color);padding:1.5rem;border-radius:12px;box-shadow:0 2px 4px #0000000d;border:1px solid var(--border-color)}.guide-header h2{margin:0;color:var(--primary-color);font-size:1.5rem}.new-guide-btn{padding:.5rem 1rem;background:transparent;color:var(--primary-color);border:1px solid var(--primary-color);border-radius:6px;font-weight:500;cursor:pointer}.guide-overview{background:var(--background-color);border:1px solid var(--border-color);padding:1.5rem;border-radius:12px;color:var(--text-color)}.guide-overview h3{margin-top:0;color:var(--primary-color)}.steps-container{display:flex;flex-direction:column;gap:1.5rem}.step-card{background:var(--surface-color);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a;transition:all .3s ease;opacity:0;transform:translateY(20px);animation:slideIn .5s forwards;border:1px solid var(--border-color)}@keyframes slideIn{to{opacity:1;transform:translateY(0)}}.step-card.completed{opacity:.7}.step-header{display:flex;align-items:center;padding:1rem 1.5rem;background:var(--background-color);border-bottom:1px solid var(--border-color)}.step-number{background:var(--primary-color);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:1rem}.step-header h3{margin:0;font-size:1.1rem;color:var(--text-color)}.step-content{padding:1.5rem}.step-explanation{font-size:1.05rem;line-height:1.6;color:var(--text-color);margin-bottom:1.5rem}.step-extras{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.checkpoint,.key-takeaway{background:var(--background-color);padding:1rem;border-radius:8px;border-left:4px solid}.checkpoint{border-left-color:var(--warning-color)}.key-takeaway{border-left-color:var(--primary-color)}.extra-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:.5rem;display:block}.checkpoint .extra-title{color:var(--warning-hover)}.key-takeaway .extra-title{color:var(--primary-color)}.detailed-explanation{margin-top:1.5rem;padding:1.5rem;background:var(--background-color);border-radius:8px;border:1px solid var(--border-color)}.detailed-explanation h4{margin-top:0;margin-bottom:1rem;color:var(--primary-color);font-size:1.1rem}.markdown-content{color:var(--text-color);line-height:1.7;font-size:1rem}.markdown-content p{margin-bottom:1rem}.markdown-content p:last-child{margin-bottom:0}.markdown-content ul,.markdown-content ol{margin-bottom:1rem;padding-left:1.5rem}.markdown-content li{margin-bottom:.5rem}.markdown-content strong{color:var(--primary-color);font-weight:600}.explain-step-btn{background:transparent;border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:all .2s}.explain-step-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.guide-controls{display:flex;justify-content:center;padding:2rem 0}.next-step-btn{background:var(--primary-color);color:#fff;border:none;padding:1rem 2rem;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 6px -1px #10b9814d;transition:transform .2s;display:flex;align-items:center;gap:.5rem}.next-step-btn:hover{transform:translateY(-2px)}.practice-section{margin-top:3rem;border-top:2px dashed var(--border-color);padding-top:2rem}.practice-section h3{text-align:center;color:var(--text-color);margin-bottom:2rem}.practice-grid{display:grid;gap:1.5rem}.practice-card{background:var(--surface-color);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color)}.difficulty-badge{display:inline-block;padding:.25rem .75rem;border-radius:50px;font-size:.8rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase}.difficulty-easy{background:#10b9811a;color:var(--success-color)}.difficulty-medium{background:#f59e0b1a;color:var(--warning-color)}.difficulty-hard{background:#ef44441a;color:var(--error-color)}.hint-toggle{background:none;border:none;color:var(--text-secondary);font-size:.9rem;cursor:pointer;margin-top:1rem;text-decoration:underline}.hint-text{margin-top:.5rem;color:var(--text-color);font-style:italic;background:var(--background-color);padding:.5rem;border-radius:4px}.hint-generator-interface{display:flex;flex-direction:column;height:100%;color:var(--text-primary);background:var(--bg-secondary);border-radius:16px;overflow:hidden;position:relative}.hint-generator-interface .setup-view{display:flex;flex-direction:column;height:100%}.hint-generator-interface .hint-generator-setup{padding:2rem;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.hint-generator-interface .setup-header{text-align:center;margin-bottom:3rem}.hint-generator-interface .setup-header h2{font-size:2rem;margin-bottom:.5rem;color:var(--primary-color)}.hint-generator-interface .setup-header p{color:var(--text-secondary)}.hint-generator-interface .setup-form{width:100%;max-width:600px;display:flex;flex-direction:column;gap:1.5rem;background:var(--surface-color);padding:2rem;border-radius:12px;border:1px solid var(--border-color);box-sizing:border-box}.hint-generator-interface .form-group{display:flex;flex-direction:column;gap:.5rem;text-align:left}.hint-generator-interface .form-group label{font-weight:600;color:var(--text-primary);margin-left:.5rem}.hint-generator-interface textarea{width:100%;padding:1rem;border-radius:12px;border:1px solid var(--border-color);background:var(--background-color);color:var(--text-color);font-size:1rem;resize:vertical;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.hint-generator-interface textarea:focus{outline:none;border-color:var(--primary-color)}.hint-generator-interface .generate-btn{width:100%;padding:1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:opacity .2s}.hint-generator-interface .generate-btn:hover:not(:disabled){opacity:.9;transform:none}.hint-generator-interface .generate-btn:disabled{opacity:.7;cursor:not-allowed}.hint-generator-interface .results-view{display:flex;flex-direction:column;height:100%;padding:2rem;overflow-y:auto}.hint-generator-interface .problem-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.hint-generator-interface .problem-header h3{font-size:.9rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:.5rem}.hint-generator-interface .problem-text{font-size:1.1rem;line-height:1.6;color:var(--text-primary)}.hint-stack{display:flex;flex-direction:column;gap:1rem;flex:1;padding-bottom:2rem}.hint-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.hint-card.locked{cursor:pointer;opacity:.8}.hint-card.locked:hover{transform:translateY(-2px);border-color:var(--primary-color)}.hint-card.revealed{background:rgba(var(--primary-rgb),.1);border-color:rgba(var(--primary-rgb),.3)}.hint-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.hint-badge{background:var(--bg-secondary);padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.hint-card.revealed .hint-badge{background:var(--primary-color);color:#fff}.hint-content{font-size:1.1rem;line-height:1.6;color:var(--text-primary);min-height:3rem;position:relative}.hint-blur{filter:blur(8px);-webkit-user-select:none;user-select:none;opacity:.5}.hint-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:10}.tap-to-reveal{background:#0009;color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.5rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.locked-message{color:var(--text-secondary);font-size:.9rem;font-style:italic;display:flex;align-items:center;gap:.5rem}.hint-controls{margin-top:auto;display:flex;justify-content:center;padding-top:1rem}.new-problem-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.new-problem-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--bg-tertiary);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.service-work-area{flex:1;background:var(--white-color);padding:0;overflow-y:auto;display:flex;flex-direction:column}.empty-state,.coming-soon-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-tertiary);padding:32px}.empty-state-icon,.coming-soon-icon{font-size:64px;margin-bottom:24px}.empty-state h2,.coming-soon-state h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.empty-state p{font-size:16px;color:var(--text-tertiary);margin:0}.service-description{font-size:16px;color:var(--text-tertiary);margin:0 0 24px;max-width:500px}@media(max-width:768px){.empty-state,.coming-soon-state{padding:16px}}.service-layout{display:flex;height:calc(100vh - 60px);background:var(--white-color);position:relative}.mobile-menu-toggle{display:none;position:fixed;top:70px;left:16px;z-index:1001;background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:8px 12px;cursor:pointer;box-shadow:0 2px 8px #00000026}.hamburger-icon{font-size:20px}@media(max-width:1024px){.mobile-menu-toggle{display:block}}.returned-exams{max-width:880px;margin:0 auto}.returned-exams__header{margin-bottom:var(--space-6)}.returned-exams__header h1{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--student-text-strong)}.returned-exams__header p{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--student-text-muted)}.returned-exams__muted{color:var(--student-text-muted)}.returned-exams__empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--student-text-muted)}.returned-exams__empty p{margin:0}.returned-exams__empty-icon{width:var(--space-7);height:var(--space-7)}.returned-exams__list{list-style:none;margin:0;padding:0}.returned-exams__list li+li{border-top:1px solid var(--student-border)}.returned-exams__row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);color:var(--student-text);text-decoration:none}.returned-exams__row:hover,.returned-exams__row:focus-visible{background:var(--student-surface-hover)}.returned-exams__what{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.returned-exams__subject{color:var(--student-text-strong);font-weight:var(--font-weight-medium)}.returned-exams__meta{font-size:var(--font-size-sm);color:var(--student-text-muted)}.returned-exams__mark{display:flex;flex-direction:column;align-items:flex-end;color:var(--student-text-strong);font-weight:var(--font-weight-medium)}.returned-exams__percent{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--student-text-muted)}.returned-exams__chevron{width:var(--space-4);height:var(--space-4);color:var(--student-text-muted);flex-shrink:0}.returned-exams__back{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);color:var(--student-accent);font-size:var(--font-size-sm);text-decoration:none}.returned-exams__back-icon{width:var(--space-4);height:var(--space-4)}.returned-exams__total{display:flex;align-items:baseline;gap:var(--space-3);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--student-text-strong)}.returned-exams__parts{list-style:none;margin:0;padding:0}.returned-exams__part{padding:var(--space-4) 0}.returned-exams__part+.returned-exams__part{border-top:1px solid var(--student-border)}.returned-exams__part-head{display:flex;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.returned-exams__part-label{color:var(--student-text-strong);font-weight:var(--font-weight-medium)}.returned-exams__part-mark{color:var(--student-text-strong);font-weight:var(--font-weight-medium);white-space:nowrap}.returned-exams__question,.returned-exams__answer,.returned-exams__feedback{margin:var(--space-2) 0 0;color:var(--student-text);white-space:pre-wrap}.returned-exams__label{display:block;font-size:var(--font-size-xs);color:var(--student-text-muted)}.returned-exams__next{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}.returned-exams__next-link{padding:var(--space-1) var(--space-3);border:1px solid var(--student-border);border-radius:var(--radius-full);color:var(--student-accent);font-size:var(--font-size-sm);text-decoration:none}.returned-exams__next-link:hover,.returned-exams__next-link:focus-visible{background:var(--student-surface-hover)}.returned-exams__working{display:block;margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--student-text-muted)}.paper-work{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-5)}.paper-work__header h1{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--student-text-strong)}.paper-work__header p,.paper-work__window{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--student-text-muted)}.paper-work__instructions{margin:0;color:var(--student-text-strong);white-space:pre-wrap}.paper-work__label{display:block;margin-bottom:var(--space-3);color:var(--student-text)}.paper-work__pages{margin:var(--space-3) 0;color:var(--student-text);font-size:var(--font-size-sm)}.paper-work__done{margin:0;color:var(--student-text)}.assignment-view-container{max-width:900px;margin:40px auto;padding:20px;background-color:var(--card-bg-color);border-radius:8px}.back-link{display:inline-block;margin-bottom:2rem;color:var(--text-color-secondary);text-decoration:none;transition:color .2s}.back-link:hover{color:var(--primary-color)}.assignment-view-container h2{color:var(--primary-color);border-bottom:2px solid var(--border-color);padding-bottom:10px;margin-bottom:20px}.assignment-content{background-color:var(--bg-tertiary);padding:20px;border-radius:5px;white-space:pre-wrap;line-height:1.6;color:var(--text-color)}.note-content{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--surface-color) 100%);padding:40px;border-radius:12px;box-shadow:0 4px 20px #0000004d;border:1px solid rgba(108,92,231,.2)}.note-content h1,.note-content h2,.note-content h3,.note-content h4{color:var(--primary-color);margin-top:2em;margin-bottom:.8em;line-height:1.4;font-weight:600}.note-content h1{font-size:2em;border-bottom:3px solid var(--primary-color);padding-bottom:.5em;margin-top:0}.note-content h2{font-size:1.6em;border-left:4px solid var(--primary-color);padding-left:1em}.note-content h3{font-size:1.3em;color:var(--primary-hover)}.note-content p{line-height:1.9;margin-bottom:1.5em;color:var(--text-color);font-size:1.05em;text-align:justify}.note-content ul,.note-content ol{margin:1.5em 0;padding-left:2em;line-height:1.9}.note-content li{margin-bottom:.8em;color:var(--text-secondary)}.note-content li::marker{color:var(--primary-color);font-weight:700}.note-content strong{color:var(--primary-color);font-weight:600}.note-content em{color:var(--primary-hover);font-style:italic}.note-content code{background-color:#6c5ce726;padding:2px 8px;border-radius:4px;color:var(--primary-color);font-family:Courier New,monospace;font-size:.95em}.note-content blockquote{border-left:4px solid var(--primary-color);margin:1.5em 0;font-style:italic;color:var(--primary-color);background-color:#6c5ce70d;padding:1em 1.5em;border-radius:4px}.mcq-question{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--surface-color) 100%);padding:25px;margin-bottom:25px;border-radius:10px;border-left:4px solid var(--primary-color);box-shadow:0 2px 10px #0003;transition:transform .2s,box-shadow .2s}.mcq-question:hover{transform:translateY(-2px);box-shadow:0 4px 15px #6c5ce74d}.question-text{font-size:1.1em;line-height:1.7;margin-bottom:1.2em;color:var(--primary-color);font-weight:500}.options-group{display:flex;flex-direction:column;gap:12px}.option-label{display:flex;align-items:center;padding:15px 20px;background-color:#ffffff08;border:2px solid rgba(108,92,231,.2);border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:1.02em;color:var(--text-secondary)}.option-label:hover{background-color:#6c5ce71a;border-color:var(--primary-color);transform:translate(5px)}.option-label input[type=radio]{margin-right:15px;width:20px;height:20px;cursor:pointer;accent-color:var(--primary-color)}.option-label input[type=radio]:checked+*{color:var(--primary-color);font-weight:600}.mcq-question-review{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--surface-color) 100%);padding:25px;margin-bottom:25px;border-radius:10px;border-left:4px solid var(--primary-color);box-shadow:0 2px 10px #0003}.options-group-review{display:flex;flex-direction:column;gap:10px}.option-review{padding:12px 18px;border-radius:6px;border:2px solid transparent;background-color:#ffffff08;transition:all .2s}.option-review.correct{background-color:#2ed57326;border-color:var(--success-color);color:var(--success-color);font-weight:600}.option-review.incorrect{background-color:#ff475726;border-color:var(--error-color);color:var(--error-color);font-weight:600}.option-review span{font-size:.9em;font-style:italic;margin-left:10px}.assignment-view-container hr{border:none;border-top:1px solid var(--border-color);margin:30px 0}.assignment-view-container form{display:flex;flex-direction:column;gap:15px}.assignment-view-container textarea{width:100%;box-sizing:border-box;padding:15px 40px 15px 15px;background-color:var(--input-background);color:var(--text-color);border:1px solid var(--border-color);border-radius:5px;font-size:1rem;line-height:1.5;resize:vertical}.open-ended-answer{padding-right:40px!important}.assignment-view-container .result-view{text-align:center}.feedback-box{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--surface-color) 100%);border-left:4px solid var(--primary-color);padding:20px 25px;margin:20px 0;text-align:left;border-radius:8px;box-shadow:0 2px 10px #0003}.feedback-box h4{color:var(--primary-color);margin-bottom:.8em;font-size:1.2em}.feedback-box p{line-height:1.7;color:var(--text-color)}.submission-details h3{margin-bottom:1.5rem;color:var(--primary-color);font-size:1.5em}.submitted-answers{white-space:pre-wrap;padding:15px;border-radius:5px;background-color:var(--input-background);margin-bottom:20px}.final-score{font-size:1.8rem;font-weight:700;text-align:right;color:var(--success-color);margin-top:2rem;padding:1rem;background:linear-gradient(135deg,#2ed5731a,#2ed5730d);border-radius:8px;border:2px solid rgba(46,213,115,.3)}@media(max-width:768px){.note-content{padding:25px 20px}.mcq-question,.mcq-question-review{padding:20px 15px}.option-label{padding:12px 15px}}.open-ended-review{display:flex;flex-direction:column;gap:15px;margin-top:10px}.student-answer,.correct-answer{padding:15px;border-radius:6px;background-color:#ffffff08;border:1px solid var(--border-color)}.student-answer strong,.correct-answer strong{display:block;margin-bottom:8px;color:var(--primary-color);font-size:.95em;text-transform:uppercase;letter-spacing:.5px}.student-answer p,.correct-answer p{margin:0;line-height:1.6;color:var(--text-color)}.student-answer.correct{background-color:#2ed5731a;border-color:#2ed5734d}.student-answer.incorrect{background-color:#ff47571a;border-color:#ff47574d}.correct-answer{background-color:#6c5ce71a;border-color:#6c5ce74d}.exam-timer{font-size:1.2rem;font-weight:700;color:var(--text-color);background-color:var(--card-bg-color);padding:8px 16px;border-radius:20px;border:2px solid var(--primary-color);box-shadow:0 2px 8px #0003;transition:all .3s ease;margin-right:40px}.exam-timer.warning{color:var(--error-color);border-color:var(--error-color);animation:pulse 1s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.referral-page{max-width:1200px;margin:0 auto;padding:2rem 1rem}.referral-page-content{max-width:900px;margin:0 auto}.referral-page-content>h2{color:var(--primary-color);margin-bottom:var(--space-5)}.referral-page-section{margin:var(--space-6) 0}.referral-page form{display:flex;flex-direction:column;gap:15px;text-align:left}.referral-page form .form-group{display:flex;flex-direction:column;text-align:left}.referral-page form .form-group label{margin-bottom:5px;font-weight:700}.form-group-checkbox{display:flex;align-items:center;gap:.5rem}.form-group-checkbox input[type=checkbox]{width:auto;margin:0}.form-group-checkbox label{margin:0;font-weight:400}.referral-link-panel{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.referral-link-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.referral-instagram-hint{color:var(--text-secondary);font-size:var(--font-size-sm)}.referral-empty-state{color:var(--text-secondary)}.referral-summary-table-wrap{overflow-x:auto}.referral-summary-table{width:100%;border-collapse:collapse}.referral-summary-table th,.referral-summary-table td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--border-color);white-space:nowrap}.referral-attributed-badge{display:inline-block;padding:2px var(--space-3);border-radius:var(--radius-full);background:var(--success-bg);color:var(--success-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.referral-page .section-divider{box-sizing:border-box;width:210px;max-width:100%;margin:var(--space-6) auto;border:0;border-top:1px solid var(--border-color)}.back-button-container{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:center}.back-button{background-color:var(--primary-hover);color:var(--white-color);border:none;width:40px;height:40px;border-radius:var(--radius-full);font-size:18px;font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);padding:0}.back-button:hover{background-color:var(--primary-hover);transform:scale(1.1)}.back-button:active{transform:scale(.95)}.incident-drilldown{max-width:42rem;padding:0;overflow:hidden}.incident-drilldown__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-7) var(--space-5) var(--space-5);border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.incident-drilldown__badge{display:flex;padding:var(--space-2);border-radius:var(--radius-md);background-color:var(--error-bg);color:var(--error-color)}.incident-drilldown__title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.incident-drilldown__id{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.incident-drilldown__body{padding:var(--space-5);max-height:70vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-5)}.incident-drilldown__violation{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background-color:var(--error-bg);border:1px solid var(--error-color);color:var(--error-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em}.incident-drilldown__field{display:flex;flex-direction:column;gap:var(--space-2)}.incident-drilldown__label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--text-secondary)}.incident-drilldown__quote{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-secondary);font-size:var(--font-size-sm);font-style:italic;color:var(--text-primary)}.incident-drilldown__blocked{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--warning-color);background-color:var(--warning-bg);color:var(--warning-text);font-size:var(--font-size-sm)}.incident-drilldown__meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-color)}.incident-drilldown__meta-value{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--text-primary)}.incident-drilldown__detection{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-color);font-size:var(--font-size-xs);color:var(--text-primary)}.incident-drilldown__footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-color);background-color:var(--bg-secondary)}.incident-drilldown__flagged{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--success-color)}.incident-drilldown__state{padding:var(--space-6);text-align:center}.incident-drilldown__state-title{margin:0 0 var(--space-4);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--error-color)}.incident-drilldown__state-text{margin:0 0 var(--space-5);color:var(--text-secondary)}.threat-intel{padding:var(--space-5);min-height:400px;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary)}.threat-intel__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-bottom:var(--space-4);margin-bottom:var(--space-5);border-bottom:1px solid var(--border-color)}.threat-intel__heading{display:flex;align-items:center;gap:var(--space-3)}.threat-intel__heading h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.threat-intel__shield{color:var(--error-color);flex-shrink:0}.threat-intel__feed{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:var(--success-bg);color:var(--success-text)}.threat-intel__feed--offline{background-color:var(--error-bg);color:var(--error-text)}.threat-intel__pulse{width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--success-color);flex-shrink:0}.threat-intel__refresh{margin-left:var(--space-2);padding:0;background:none;border:none;color:inherit;font-size:inherit;text-decoration:underline;cursor:pointer}.threat-intel__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.threat-intel__card{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-color);background-color:var(--bg-secondary)}.threat-intel__card--ok{border-color:var(--success-color);background-color:var(--success-bg)}.threat-intel__card--degraded{border-color:var(--warning-color);background-color:var(--warning-bg)}.threat-intel__card-label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.threat-intel__card--ok .threat-intel__card-label{color:var(--success-text)}.threat-intel__card--degraded .threat-intel__card-label{color:var(--warning-text)}.threat-intel__card-status{margin:var(--space-1) 0 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--success-text)}.threat-intel__card--degraded .threat-intel__card-status{color:var(--warning-text)}.threat-intel__card-figure{text-align:right;flex-shrink:0}.threat-intel__card-value{display:block;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.threat-intel__card--ok .threat-intel__card-value{color:var(--success-text)}.threat-intel__card--degraded .threat-intel__card-value{color:var(--warning-text)}.threat-intel__card-note{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.threat-intel__card--metric{display:block}.threat-intel__metric-value{display:block;margin-top:var(--space-1);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--primary-color)}.threat-intel__metric-value--neutral{color:var(--text-primary)}.threat-intel__metric-value--warning{color:var(--warning-color)}.threat-intel__metric-value--good{color:var(--success-color)}.threat-intel__metric-unit{margin-left:var(--space-1);font-size:var(--font-size-xs);color:var(--text-secondary)}.threat-intel__metric-note{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.threat-intel__section-rule{border-top:1px solid var(--border-color);padding-top:var(--space-6)}.threat-intel__alerts{margin-bottom:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.threat-intel__alerts-title{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--error-color)}.threat-intel__alert{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--error-color);background-color:var(--error-bg)}.threat-intel__alert-kind{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--error-text)}.threat-intel__alert-school{margin:var(--space-1) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary)}.threat-intel__alert-detail{margin:0;font-size:var(--font-size-xs);color:var(--text-secondary)}.threat-intel__empty{padding:var(--space-7) 0;text-align:center;color:var(--text-secondary)}.threat-intel__list{display:flex;flex-direction:column;gap:var(--space-3);max-height:500px;overflow-y:auto;padding-right:var(--space-2)}.threat-intel__incident{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);cursor:pointer;transition:background-color var(--transition-fast)}.threat-intel__incident:hover{background-color:var(--surface-hover)}.threat-intel__incident--offline{opacity:.75}.threat-intel__incident-main{display:flex;align-items:center;gap:var(--space-4);min-width:0}.threat-intel__incident-icon{display:flex;padding:var(--space-2);border-radius:var(--radius-full);background-color:var(--warning-bg);color:var(--warning-color);flex-shrink:0}.threat-intel__incident-icon--severe{background-color:var(--error-bg);color:var(--error-color)}.threat-intel__incident-icon--offline{background-color:var(--bg-tertiary);color:var(--text-secondary)}.threat-intel__incident-head{display:flex;align-items:center;gap:var(--space-2)}.threat-intel__incident-category{margin:0;font-weight:var(--font-weight-bold);color:var(--text-primary)}.threat-intel__offline-tag{display:flex;align-items:center;gap:var(--space-1);padding:2px var(--space-1);border-radius:var(--radius-sm);background-color:var(--bg-tertiary);font-size:var(--font-size-xs);color:var(--text-secondary)}.threat-intel__incident-meta{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.threat-intel__incident-side{text-align:right;flex-shrink:0}.threat-intel__incident-time{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--text-secondary)}.threat-intel__incident-link{display:block;margin-top:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--primary-color)}.threat-intel__incident:hover .threat-intel__incident-link{text-decoration:underline}.partner-dashboard-container{background-color:var(--background-color);min-height:100vh;color:var(--text-primary);padding-bottom:90px}.partner-content-wrapper{max-width:1200px;margin:0 auto;width:100%}.partner-header{border-bottom:1px solid var(--surface-color);padding:1rem;display:flex;justify-content:space-between;align-items:center;background-color:var(--background-color);position:sticky;top:0;z-index:50}.partner-header-left{display:flex;align-items:center}.partner-title{color:var(--text-primary);font-size:1.2rem;margin:0}.partner-badge{background:var(--primary-color);color:var(--white-color);margin-left:.75rem;padding:.25rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:700}.partner-nav-tabs{background:var(--surface-color);border-top:1px solid var(--border-color);position:fixed;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;padding:.75rem 1rem;gap:1rem;z-index:1000;box-shadow:0 -4px 6px -1px #0000001a}.partner-tab-btn{flex:1;text-align:center;padding:.75rem .5rem;background:#ffffff0d;color:var(--text-secondary);font-weight:700;font-size:.75rem;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:all .2s ease;animation:float 2s infinite ease-in-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.partner-tab-btn.active.tab-overview{color:var(--primary-color)}.partner-tab-btn.active.tab-performance{color:var(--error-color)}.partner-tab-btn.active.tab-equity{color:var(--success-color)}.partner-tab-btn.active.tab-command{color:var(--warning-color)}.tab-label{display:none}.partner-content{padding:1rem}.arena-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.partner-dashboard-container{padding-bottom:0}.partner-sticky-top{position:sticky;top:100px;z-index:100;background-color:var(--background-color);padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.partner-header{padding:1rem 0;position:static;border-bottom:none}.partner-title{font-size:1.5rem}.partner-badge{font-size:.75rem;padding:.25rem .75rem;margin-left:1rem}.partner-nav-tabs{position:static;z-index:auto;width:100%;max-width:none;transform:none;left:auto;right:auto;bottom:auto;background:transparent;box-sizing:border-box;border:none;margin-top:.5rem;padding:0;box-shadow:none;border-radius:0;gap:1.5rem}.partner-tab-btn{height:65px;padding:0 1rem;font-size:1.1rem;background:var(--border-color);color:var(--text-primary);border-radius:8px;flex-direction:row;gap:.5rem}.tab-label{display:inline}.partner-tab-btn.active.tab-overview{background:var(--primary-color);color:var(--white-color)}.partner-tab-btn.active.tab-performance{background:var(--error-color);color:var(--white-color)}.partner-tab-btn.active.tab-equity{background:var(--success-color);color:var(--white-color)}.partner-tab-btn.active.tab-command{background:var(--warning-color);color:var(--white-color)}.partner-content{padding:2rem 0}.arena-grid,.distribution-grid{grid-template-columns:1fr 1fr}}.distribution-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(max-width:768px){.partner-nav-tabs{display:none}.partner-dashboard-container{padding-bottom:var(--space-5)}}.oauth-continue__as{color:var(--text-secondary);margin-bottom:var(--space-5)}.oauth-continue__actions{display:flex;gap:var(--space-3)}.oauth-continue__actions .ui-button{flex:1}.verification-container{padding:2rem;max-width:800px;margin:0 auto;font-family:Inter,sans-serif}.verification-container h1{color:var(--text-primary);margin-bottom:.5rem}.certificate-result{margin-top:2rem;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.verification-container input:focus{outline:2px solid var(--verify-accent);border-color:var(--verify-accent)}.verification-container button:hover{background-color:var(--verify-accent-hover)}.verification-container button:disabled{background-color:var(--text-tertiary);cursor:not-allowed}:root{--primary-color: #5d3fd3;--primary-hover: #4a32a8;--primary-rgb: 93, 63, 211;--secondary-color: #ff6f61;--background-color: #121212;--bg-primary: #212121;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--surface-color: #1e1e1e;--surface-hover: #2a2a2a;--card-bg-color: #2c2c2c;--background-color-dark: #1e1e1e;--text-primary: #ffffff;--text-color: #f0f0f0;--text-secondary: #9ca3af;--text-muted: #888888;--text-tertiary: #6b7280;--white-color: #ffffff;--border-color: #374151;--pt-border: #2d2d3a;--success-color: #10b981;--success-hover: #059669;--error-color: #ef4444;--error-hover: #c53030;--warning-color: #f59e0b;--warning-hover: #d97706;--warning-bg: #fff4e5;--warning-text: #8a5a00;--info-bg: #eef2ff;--error-bg: #4a1d1d;--error-text: #f8b4b4;--success-bg: #1d3a2a;--success-text: #a7f3d0;--color-class-label: #a78bfa;--color-class-label-bg: #4c1d95;--color-role-label: #7dd3fc;--color-role-label-bg: #0c4a6e;--verify-bg: #0f172a;--verify-surface: #1e293b;--verify-border: #334155;--verify-accent: #3b82f6;--verify-accent-hover: #2563eb;--verify-accent-soft: #60a5fa;--verify-text-muted: #94a3b8;--verify-danger: #f43f5e;--consent-inset: #f5f5f5;--consent-panel: #fafafa;--consent-border: #eeeeee;--consent-border-strong: #dddddd;--consent-border-muted: #cccccc;--consent-text: #333333;--consent-text-dim: #666666;--consent-warning: #ff9800;--consent-action: #2196f3;--consent-action-hover: #1976d2;--consent-danger: #f44336;--teacher-line: #8858e4;--teacher-link: #4493f8;--teacher-link-bg: #192434;--teacher-sidebar-width: 248px;--student-bg: #101010;--student-sidebar-bg: #181818;--student-surface: #1a1a1a;--student-surface-hover: #242424;--student-nav-active: #2a2d2e;--student-border: #2b2b2b;--student-text: #cccccc;--student-text-strong: #e8e8e8;--student-text-muted: #8b8b8b;--student-accent: #007acc;--student-accent-hover: #0062a3;--student-accent-rgb: 0, 122, 204;--student-sidebar-width: 248px;--chart-series-1: #3987e5;--chart-series-2: #d95926;--chart-series-3: #199e70;--chart-series-4: #c98500;--chart-series-5: #d55181;--chart-series-6: #9085e9;--chart-grid: #2a2a2a;--chart-axis: #9ca3af;--chart-tooltip-bg: #1e1e1e;--chart-tooltip-border: #374151;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--control-height: 46px;--control-padding-x: 15px;--button-padding-y: 10px;--button-padding-x: 24px;--control-height-sm: 34px;--button-padding-y-sm: 6px;--button-padding-x-sm: 14px;--control-height-lg: 70px;--control-radio-size: 36px;--control-radio-gap: 72px;--section-gap: 64px;--field-bg: #eef1f7;--field-bg-disabled: #dfe3ec;--field-text: #1f2430;--field-placeholder: #6b7280;--field-border: #c3c9d6;--field-radius: 8px;--field-focus-ring: rgba(93, 63, 211, .35);--field-border-error: #c02626;--field-error-text: #f8b4b4;--field-required: #e06c6c;--auth-card-width: 450px;--auth-card-padding: 40px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 12px;--radius-full: 9999px;--font-family-base: "Arial", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 600;--font-weight-bold: 700;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 8px rgba(0, 0, 0, .25);--shadow-lg: 0 5px 15px rgba(0, 0, 0, .3);--z-base: 1;--z-sticky: 100;--z-header: 500;--z-modal: 1000;--z-toast: 2000;--scrim-color: rgba(0, 0, 0, .5);--mobile-menu-width: 300px;--install-banner-height: 0px;--transition-fast: .15s ease;--transition-base: .3s ease;--primary-color-dark: var(--primary-hover);--text-color-secondary: var(--text-secondary);--secondary-background: var(--bg-tertiary);--card-background: var(--surface-color);--card-bg: var(--surface-color);--input-background: var(--surface-color)}:root[data-theme=light]{--background-color: #f4f5f7;--bg-primary: #f8f9fb;--bg-secondary: #eef0f4;--bg-tertiary: #e7eaef;--surface-color: #ffffff;--surface-hover: #f1f3f6;--card-bg-color: #ffffff;--background-color-dark: #ffffff;--text-primary: #1f2328;--text-color: #24292f;--text-secondary: #59636e;--text-muted: #636c76;--text-tertiary: #8c959f;--border-color: #d8dee4;--pt-border: #e1e4e8;--color-class-label: #6d28d9;--color-class-label-bg: #ede9fe;--color-role-label: #0369a1;--color-role-label-bg: #e0f2fe;--teacher-line: #8250df;--teacher-link: #0969da;--teacher-link-bg: #ddf4ff;--student-bg: #ffffff;--student-sidebar-bg: #f3f3f3;--student-surface: #f8f8f8;--student-surface-hover: #ececec;--student-nav-active: #e4e6f1;--student-border: #e0e0e0;--student-text: #3b3b3b;--student-text-strong: #1f1f1f;--student-text-muted: #6e6e6e;--student-accent-hover: #005a9e}.student-shell{--primary-color: var(--student-accent);--primary-hover: var(--student-accent-hover);--primary-rgb: var(--student-accent-rgb);--background-color: var(--student-bg);--bg-primary: var(--student-bg);--bg-secondary: var(--student-sidebar-bg);--bg-tertiary: var(--student-surface-hover);--surface-color: var(--student-surface);--surface-hover: var(--student-surface-hover);--card-bg-color: var(--student-surface);--border-color: var(--student-border);--text-primary: var(--student-text-strong);--text-color: var(--student-text);--text-secondary: var(--student-text-muted);--field-focus-ring: rgba(var(--student-accent-rgb), .35)}body{background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.ai-page-content{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh}.service-work-area{background:var(--bg-primary)!important;color:var(--text-primary)}.empty-state h2,.coming-soon-state h2{color:var(--text-primary)}.empty-state p,.service-description{color:var(--text-secondary)}input,textarea,select{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}input::placeholder,textarea::placeholder{color:var(--text-secondary)}.quiz-interface,.chat-interface,.problem-solver-interface{background:var(--bg-primary);color:var(--text-primary)}.quiz-interface .content-header,.chat-interface .content-header,.problem-solver-interface .content-header{position:fixed!important;top:60px!important;left:50%!important;transform:translate(-50%)!important;width:100%!important;max-width:800px!important;right:auto!important;z-index:100!important;background:var(--bg-secondary)!important;border-bottom:3px solid var(--border-color)!important;box-shadow:0 4px 12px #00000026!important;border-radius:0!important;padding:20px 0!important;margin:0!important;display:block!important}@media(max-width:1024px){.quiz-interface .content-header,.chat-interface .content-header,.problem-solver-interface .content-header{left:0!important;transform:none!important;width:100%!important;max-width:100%!important;border-radius:0!important;padding-left:60px!important;padding-right:60px!important;box-sizing:border-box!important}}.quiz-interface .content-header h2,.chat-interface .content-header h2,.problem-solver-interface .content-header h2{width:100%!important;max-width:600px!important;margin:0 auto!important;padding:0 20px!important;color:var(--text-primary)!important;font-size:24px!important;font-weight:600!important;text-align:left!important;background:transparent!important;border:none!important;box-shadow:none!important}.quiz-interface .content-body,.chat-interface .content-body,.problem-solver-interface .content-body{margin-top:80px!important;padding:32px!important}.question-card{background:var(--bg-secondary);border:1px solid var(--border-color);padding:20px;border-radius:12px;margin-bottom:20px}.question-card h4{color:var(--text-primary);margin-bottom:12px}.question-card p{color:var(--text-primary);margin-bottom:16px}.option{display:flex;align-items:center;padding:12px;margin:8px 0;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.option:hover{border-color:var(--primary-color);background:var(--bg-secondary)}.option input[type=radio]{margin-right:12px}.option span{color:var(--text-primary)}.message{padding:12px 16px;border-radius:12px;margin:8px 0;max-width:80%}.message.user{background:var(--primary-color);color:#fff;margin-left:auto}.message.assistant{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.message-content{margin:0}button:not([class]){background:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}button:not([class]):hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color);font-size:14px}.results{background:var(--bg-secondary);border:1px solid var(--border-color);padding:20px;border-radius:12px;margin-top:20px}.results h3{color:var(--text-primary);margin-bottom:12px}.results p{color:var(--text-secondary);margin:8px 0}.hint-display{background:var(--bg-secondary);border-left:4px solid var(--primary-color);padding:16px;border-radius:8px;margin-top:20px}.hint-display h3{color:var(--text-primary);margin-bottom:8px}.hint-display p{color:var(--text-secondary)}.chat-input{display:flex;gap:12px;margin-top:20px;padding:16px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.chat-input input{flex:1}.topic-setup,.quiz-setup,.problem-input{max-width:600px;margin:0 auto;padding:40px 20px}.topic-setup label,.quiz-setup label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:500}.chat-messages{max-height:500px;overflow-y:auto;padding:20px;margin-bottom:20px}.hint-controls{margin:20px 0}.hint-controls label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:500}.hint-controls input[type=range]{width:100%;margin:12px 0}@media(max-width:1024px){.quiz-interface .content-header,.chat-interface .content-header,.problem-solver-interface .content-header{left:0!important}}.main-layout.role-dashboard .ui-input,.main-layout.role-dashboard form input:not([type=checkbox]):not([type=radio]),.main-layout.role-dashboard form select,.main-layout.role-dashboard form textarea{box-sizing:border-box;width:100%;min-height:var(--control-height);padding:0 var(--control-padding-x);background-color:var(--field-bg);color:var(--field-text);border:1px solid var(--field-border);border-radius:var(--field-radius);font-family:var(--font-family-base);font-size:var(--font-size-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.main-layout.role-dashboard form textarea{min-height:calc(var(--control-height) * 2);padding:var(--space-3) var(--control-padding-x);resize:vertical}.main-layout.role-dashboard form input::placeholder,.main-layout.role-dashboard form textarea::placeholder{color:var(--field-placeholder)}.main-layout.role-dashboard .ui-input:focus,.main-layout.role-dashboard form input:focus,.main-layout.role-dashboard form select:focus,.main-layout.role-dashboard form textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--field-focus-ring)}.main-layout.role-dashboard form input:disabled,.main-layout.role-dashboard form select:disabled,.main-layout.role-dashboard form textarea:disabled{background-color:var(--field-bg-disabled)}.main-layout.role-dashboard form{display:flex;flex-direction:column;gap:var(--space-5)}.main-layout.role-dashboard form .form-group{margin-bottom:0}.main-layout.role-dashboard form .ui-button{width:100%}.main-layout.role-dashboard .admin-actions-grid{display:grid;gap:var(--space-6);margin-top:var(--space-4);margin-bottom:var(--space-6)}.main-layout.role-dashboard .teacher-form-section>.ui-button,.main-layout.role-dashboard .admin-actions-grid>.ui-button{width:100%}.main-layout.role-dashboard table .ui-button,.main-layout.role-dashboard .ui-button--sm,.main-layout.role-dashboard form .ui-button--sm{width:auto}.main-layout.role-dashboard form .ui-button[type=submit],.main-layout.role-dashboard .teacher-form-section>.ui-button,.main-layout.role-dashboard .admin-actions-grid>.ui-button{min-height:var(--control-height-lg)}@media(max-width:768px){.main-layout.role-dashboard form .form-row,.main-layout.role-dashboard form .form-actions,.main-layout.role-dashboard form [class*=-row],.main-layout.role-dashboard form [class*=__row]{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-5)}.main-layout.role-dashboard form button,.main-layout.role-dashboard form .ui-button--sm{width:100%}.main-layout.role-dashboard form table button,.main-layout.role-dashboard form table .ui-button{width:auto}}.main-layout.role-dashboard input:not([type=checkbox]):not([type=radio]):not([type=file]),.main-layout.role-dashboard select,.main-layout.role-dashboard textarea{box-sizing:border-box;min-height:var(--control-height);padding:0 var(--control-padding-x);background-color:var(--field-bg);color:var(--field-text);border:1px solid var(--field-border);border-radius:var(--field-radius);font-family:var(--font-family-base);font-size:var(--font-size-base)}.main-layout.role-dashboard input::placeholder,.main-layout.role-dashboard textarea::placeholder{color:var(--field-placeholder)}.main-layout.role-dashboard select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-6);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%231f2430' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--control-padding-x) center;background-size:12px 8px}.main-layout.role-dashboard .filter-buttons,.main-layout.role-dashboard .student-filters-container{display:flex;gap:var(--space-3)}.main-layout.role-dashboard .filter-buttons>.ui-button,.main-layout.role-dashboard .student-filters-container>.ui-button{flex:1;width:auto;min-height:var(--control-height)}.main-layout.role-dashboard input[type=radio]{flex:none;width:var(--control-radio-size);height:var(--control-radio-size);min-height:var(--control-radio-size);max-height:var(--control-radio-size);min-width:var(--control-radio-size);margin:0;padding:0;cursor:pointer}.main-layout.role-dashboard .radio-group,.main-layout.role-dashboard .filter-mode-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:var(--control-radio-gap);margin-bottom:var(--space-4)}.main-layout.role-dashboard .radio-group>label,.main-layout.role-dashboard .filter-mode-toggle>label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.main-layout.role-dashboard .dashboard-layout,.main-layout.role-dashboard .dashboard-content{padding-bottom:var(--space-7)}.main-layout.role-dashboard section{margin-bottom:var(--section-gap)}.main-layout.role-dashboard section:last-of-type{margin-bottom:0}.main-layout.role-dashboard hr.section-divider{box-sizing:border-box;width:210px;max-width:100%;margin:var(--space-6) auto;border:0;border-top:1px solid var(--border-color)}*,*:before,*:after{box-sizing:border-box}body{font-family:Arial,sans-serif;background-color:var(--background-color);color:var(--text-color);margin:0;padding:0;padding-bottom:var(--install-banner-height)}.loading-app{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--background-color);color:var(--text-secondary);font-size:1rem;font-weight:600;z-index:9999}.loading-app:before{content:"";width:44px;height:44px;border:4px solid rgba(255,255,255,.25);border-top-color:var(--primary-color);border-radius:50%;animation:loading-app-spin .9s linear infinite}@keyframes loading-app-spin{to{transform:rotate(360deg)}}@media(pointer:coarse){button,[role=button],input[type=radio],input[type=checkbox],.option,.option-label,.choice-bubble,.answer-option{min-height:44px;min-width:44px}}
