*{box-sizing:border-box;margin:0;padding:0}:root{--text-primary:#dadada;--text-secondary:#acacac;--text-tertiary:#7f7f7f;--text-disable:#5f5f5f;--text-blue:#1a93fe;--text-brand:#7f00ff;--text-onblack:#000000e6;--text-white:#fff;--text-white-tsp:#fff9;--theme-text-primary:#dbdbdb;--theme-text-quaternary:#7a7a7a;--logo-color:#dadada;--text-shining:#474747;--text-katex:#5eb92d;--chat-user:#383739;--background-gray-main:#272728;--background-white-main:#161618;--background-menu-white:#383739;--background-menu-gray:#272728;--background-tsp-menu-white:#ffffff0f;--background-tsp-card-gray:#ffffff0f;--background-nav:#212122;--background-card:#383739;--background-mask:#000000a6;--background-card-gray:#383739;--background-preview-mask:#000000d9;--border-main:#ffffff14;--border-white:#00000014;--border-btn-main:#ffffff1a;--border-input-active:#1a93fe80;--border-light:#ffffff0f;--border-dark:#ffffff29;--border-primary:#56565f52;--icon-primary:#dadada;--icon-secondary:#acacac;--icon-tertiary:#7f7f7f;--icon-disable:#5f5f5f;--icon-blue:#1a93fe;--icon-onblack:#000000d9;--icon-white:#fff;--icon-white-tsp:#fff9;--function-error:#eb4d4d;--function-success:#5eb92d;--function-warning:#ffbf36;--function-error-tsp:#eb4d4d14;--function-warning-tsp:#ffbf361f;--function-success-tsp:#25ba3b1f;--fill-blue:#1a93fe1f;--fill-tsp-white-main:#ffffff0f;--fill-tsp-white-dark:#ffffff1f;--fill-tsp-white-light:#ffffff0a;--fill-tsp-gray-dark:#00000047;--fill-tsp-gray-main:#0003;--fill-white:#3e3d3e;--fill-black:#28282973;--fill-gray:#444345;--fill-input-chat:#363537;--Button-primary-black:#fff;--Button-primary-white:#ffffff14;--Button-primary-brand:#1a93fe;--Button-primary-brand-disabled:#215d93;--Button-secondary-brand:#1a93fe1f;--Button-secondary-error-border:#eb4d4d29;--Button-secondary-error-fill:#eb4d4d1f;--Button-secondary-main:#ffffff1f;--Button-secondary-gray:#ffffff0f;--tab-fill:#ffffff0f;--tab-active-black:#fff;--shadow-L:#0006;--shadow-M:#0000003d;--shadow-S:#00000029;--shadow-XS:#0000001f;--shadows-inner-0:#ffffff1f;--shadows-inner-1:#ffffff14;--shadows-inner-2:#ffffff1f;--shadows-drop-1:#0000001f;--shadows-drop-2:#0003;--shadows-drop-3:#00000047;--shadows-drop-4:#0000005c;--shadows-highlight-1:#1b61a6;--shadows-highlight-2:#1487fa;--shadows-danger-1:#8f1919;--shadows-danger-2:#ee3a3a;--shadows-card-border:#ffffff1f;--shadows-card-border-2:#fff0;--Tooltips-main:#000000e6;--gradual-white-0:#27272800;--gradual-gray-100:#444345;--gradual-gray-0:#44434500;--gradual-dark-20:#fff3;--gradient-bg-mask-gray-0:#1e1e1e00;--gradual-white-menu-0:#38373900}body,html{height:100%;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;width:100%}body.login-page{overflow:auto}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#161618;background-color:var(--background-white-main);color:#dadada;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}#root{height:100%;width:100%}code{background-color:#272728;background-color:var(--background-menu-gray);border-radius:4px;color:var(--accent-light);font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;padding:2px 6px}.app{background-color:#161618}.access-denied{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.access-denied-content{background:#1a1a1a;background:var(--bg-color,#1a1a1a);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:16px;box-shadow:0 20px 40px #0000004d;max-width:500px;padding:40px;text-align:center}.access-denied-content h2{color:#ef4444;font-size:28px;font-weight:700;margin-bottom:16px}.access-denied-content p{color:#a0a0a0;color:var(--text-secondary,#a0a0a0);font-size:16px;line-height:1.5;margin-bottom:8px}.access-denied-content p:last-child{margin-bottom:0}.header{background:var(--background-gray-main);box-shadow:0 1px 3px #0000001a;color:var(--text-primary);flex-shrink:0;position:relative;z-index:9998}.header-content{align-items:center;display:flex;gap:0;height:60px;margin:0 auto;overflow:visible;padding:0 20px;width:100%}.chat-mode .header{display:none}.header-nav{flex:0 0 auto;left:50%;position:absolute;transform:translateX(-50%)}.header-nav,.nav-item{align-items:center;display:flex;gap:8px}.nav-item{background:var(--background-menu-gray);border:1px solid #111827;border-radius:8px;box-shadow:none;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;outline:none;padding:10px 16px;text-decoration:none;transition:all .3s ease}.nav-item:hover{background:var(--background-gray-main);border-color:#111827;box-shadow:none;transform:none}.nav-item.active{background:var(--text-brand);border-color:var(--text-brand);box-shadow:var(--shadow-md);color:#fff}.nav-item.admin-nav{background:#f59e0b1a;box-shadow:none;color:#f59e0b;color:var(--warning-color,#f59e0b)}.nav-item.admin-nav,.nav-item.admin-nav:hover{border-color:#f59e0b;border-color:var(--warning-color,#f59e0b)}.nav-item.admin-nav:hover{background:#f59e0b;background:var(--warning-color,#f59e0b);box-shadow:var(--shadow-md);color:#fff}.nav-item.upgrade-nav{align-items:center;background:#0000;border-color:#111827;box-shadow:none;color:var(--text-primary);display:flex;gap:6px}.nav-item.upgrade-nav:hover{background:#0000000d;border-color:#111827;color:var(--text-primary)}.nav-item.upgrade-nav svg{flex-shrink:0}.login-button{align-items:center;border:1px solid var(--text-brand);border-radius:8px;box-shadow:none;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;height:44px;line-height:1;outline:none;padding:10px 16px;text-decoration:none;transition:all .3s ease}.login-button,.login-button:hover{background:var(--text-brand);color:#fff}.login-button:hover{border-color:var(--text-brand);box-shadow:var(--shadow-md);transform:translateY(-1px)}.login-button:active{transform:translateY(0)}.login-button:focus{outline:2px solid var(--text-brand);outline-offset:2px}.header-right{align-items:center;display:flex;flex:0 0 auto;gap:16px;margin-left:auto}.profile-section,.subscription-section{position:relative}.profile-button{align-items:center;background:#0000;border:1px solid #111827;border-radius:20px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;height:36px;line-height:1;padding:8px 12px;transition:all .2s ease}.profile-button:hover{background:#0000000d;border-color:#111827}.profile-button:active{transform:translateY(0)}.profile-avatar{align-items:center;background:var(--text-brand);border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;overflow:hidden;width:32px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.profile-avatar svg{color:#fff;height:20px;width:20px}.profile-name{color:var(--text-primary);font-weight:500;white-space:nowrap}.chevron{color:var(--text-tertiary);transition:transform .2s ease}.chevron.rotated{transform:rotate(180deg)}@media (max-width:768px){.header-content{height:60px;padding:0 16px}.header-left{gap:12px}.logo-text{font-size:20px}.logo-subtitle{font-size:10px}.logo-icon{font-size:24px}.header-nav{margin:0 12px}.login-button,.nav-item,.profile-button{font-size:13px;height:40px;padding:8px 12px}.profile-name{display:none}.profile-button{gap:8px}.profile-dropdown{min-width:320px;right:-20px;width:320px}}.profile-dropdown{animation:dropdownSlideIn .2s ease-out;background:var(--background-white-main);border:none;border-radius:8px;box-shadow:var(--shadow-lg);margin-top:8px;min-width:400px;opacity:1;overflow:hidden;position:absolute;right:0;top:100%;transform:translateY(0);transition:all .3s ease;width:400px;z-index:10000!important}.profile-dropdown.closing{animation:dropdownSlideOut .3s ease-in forwards;opacity:0;transform:translateY(-10px)}.profile-info{align-items:center;background:var(--background-menu-white);border-bottom:none;display:flex;gap:16px;padding:20px}.profile-avatar.large{height:48px;width:48px}.profile-details{display:flex;flex-direction:column;gap:4px}.profile-name-large{color:var(--text-primary);font-size:16px;font-weight:600}.profile-email{color:var(--text-tertiary);font-size:14px}.admin-badge{background:var(--background-menu-gray);border-radius:4px;color:var(--text-primary);display:inline-block;font-size:12px;font-weight:500;margin-top:8px;padding:4px 8px}.profile-divider{background:var(--border-main);height:1px;margin:0}.profile-actions{display:flex;flex-direction:column;gap:8px;padding:16px}.profile-action{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.profile-action:hover{background:var(--background-menu-gray);color:var(--text-primary);transform:translateX(2px)}.profile-action.logout{color:var(--text-secondary)}.profile-action.logout:hover{background:var(--background-menu-gray);color:var(--text-primary)}.user-profile{align-items:center;background:#1a1a1a;border:1px solid #333;border-radius:8px;cursor:pointer;display:flex;gap:12px;margin-left:auto;margin-right:-20px;padding:8px 12px;transition:all .2s ease}.user-profile:hover{background:#262626;border-color:#4a4a4a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.user-avatar{align-items:center;background:var(--text-brand);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.user-info{align-items:flex-start;display:flex;flex-direction:column}.user-name{color:var(--text-primary);font-size:14px;font-weight:500;margin:0}.user-email{color:var(--text-tertiary);font-size:12px;margin:0}.user-menu{position:relative}.user-menu-toggle{background:none;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;padding:8px;transition:all .2s ease}.user-menu-toggle:hover{background:var(--background-menu-gray);color:var(--text-primary)}.user-dropdown{animation:dropdownSlideIn .2s ease-out;background:var(--background-menu-white);border:1px solid var(--border-main);border-radius:8px;box-shadow:var(--shadow-lg);margin-top:8px;min-width:200px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10000!important}.dropdown-item{align-items:center;color:var(--text-primary);display:flex;gap:12px;padding:12px 16px;text-decoration:none;transition:all .2s ease}.dropdown-item,.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:var(--background-menu-gray);color:var(--text-primary);transform:translateX(2px);transition:all .2s ease}.dropdown-item.danger{color:var(--text-secondary)}.dropdown-item.danger:hover{background:var(--background-menu-gray);color:var(--text-primary);transform:translateX(2px);transition:all .2s ease}.dropdown-icon{height:16px;opacity:.7;width:16px}.action-buttons{align-items:center;display:flex;gap:8px}.action-btn{background:var(--background-menu-gray);border:1px solid var(--border-main);font-size:14px;font-weight:500;padding:8px 12px;transition:all .2s ease}.action-btn:hover{background:var(--background-gray-main);border-color:var(--text-brand);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.action-btn.primary{color:#fff}.action-btn.primary,.action-btn.primary:hover{background:var(--text-brand);border-color:var(--text-brand)}.action-btn.danger{background:var(--function-error);border-color:var(--function-error)}.action-btn.danger:hover{background:#ef4444;border-color:#ef4444}.notifications{position:relative}.notification-badge{align-items:center;background:var(--function-error);border-radius:50%;color:#fff;display:flex;font-size:10px;font-weight:600;height:18px;justify-content:center;position:absolute;right:-4px;top:-4px;width:18px}.search-container{flex:1 1;margin:0 20px;max-width:400px;position:relative}.search-input{background:var(--background-menu-gray);border-radius:8px;padding:10px 16px 10px 40px;width:100%}.search-input:focus{box-shadow:0 0 0 3px var(--focus-ring)}.search-icon{height:16px;top:50%;transform:translateY(-50%);width:16px}@media (max-width:1024px){.header-nav{display:none}.search-container{max-width:300px}}@media (max-width:768px){.header-content{padding:0 16px}.logo-text,.search-container,.user-info{display:none}.menu-toggle{display:block}.action-buttons{display:none}}@media (max-width:480px){.header-content{padding:0 12px}.header-left{gap:12px}.header-right{gap:8px}}.action-btn:focus,.nav-item:focus,.search-input:focus,.user-profile:focus{outline:2px solid var(--text-brand);outline-offset:2px}.header.loading{opacity:.8;pointer-events:none}.header.loading:after{animation:loadingBar 2s infinite;background:linear-gradient(90deg,var(--text-brand),var(--text-brand));content:"";height:2px;left:0;position:absolute;right:0;top:0}@keyframes loadingBar{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.subscription-dropdown{animation:dropdownSlideIn .2s ease-out;background:var(--background-white-main);border:none;border-radius:8px;box-shadow:var(--shadow-lg);margin-top:8px;min-width:400px;opacity:1;overflow:hidden;position:absolute;right:0;top:100%;transform:translateY(0);transition:all .3s ease;width:400px;z-index:10000!important}.subscription-dropdown.closing{animation:dropdownSlideOut .3s ease-in forwards;opacity:0;transform:translateY(-10px)}.subscription-dropdown-header{align-items:center;background:var(--background-menu-white);border-bottom:none;display:flex;gap:16px;justify-content:space-between;padding:20px}.subscription-title{align-items:center;display:flex;gap:12px}.subscription-title svg{color:var(--text-tertiary)}.subscription-title span{color:var(--text-primary);font-size:18px;font-weight:600}.subscription-status{align-items:center;display:flex;gap:8px}.subscription-status svg{color:var(--text-tertiary)}.subscription-status .status{border-radius:6px;font-size:14px;font-weight:500;padding:4px 8px;text-transform:capitalize}.subscription-status .status.active{background:var(--background-menu-gray);color:var(--text-primary)}.subscription-status .status.canceled,.subscription-status .status.past_due{background:var(--background-menu-gray);color:var(--text-secondary)}.subscription-details{display:flex;flex-direction:column;gap:12px;padding:20px}.subscription-detail-item{align-items:center;display:flex;gap:12px;justify-content:space-between}.subscription-detail-item svg{color:var(--text-tertiary);flex-shrink:0;margin-top:0}.detail-content{align-items:center;display:flex;flex:1 1;flex-direction:row;gap:8px;justify-content:space-between}.detail-label{color:var(--text-tertiary);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.detail-label,.detail-value{font-weight:500;white-space:nowrap}.detail-value{margin-left:auto;text-align:right}.detail-value .billing-cycle{color:var(--text-tertiary);font-weight:400;margin-left:4px}.subscription-actions{background:var(--background-menu-white);border-top:none;display:flex;flex-direction:row;gap:12px;justify-content:space-between;padding:16px 20px 20px}.subscription-action{align-items:center;background:var(--text-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s ease}.subscription-action:hover{background:var(--text-brand);box-shadow:var(--shadow-md);transform:translateY(-1px)}.subscription-action.manage{background:var(--background-menu-white);border:1px solid var(--border-main);color:var(--text-primary)}.subscription-action.manage:hover{background:var(--background-menu-gray);border-color:var(--border-main);color:var(--text-primary)}.subscription-action.cancel{background:var(--background-menu-white);border:1px solid var(--border-main);color:var(--text-secondary)}.subscription-action.cancel:hover{background:var(--background-menu-gray);border-color:var(--border-main);color:var(--text-primary)}.scheduled-change-warning{align-items:flex-start;background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;color:#92400e;display:flex;font-size:13px;gap:8px;line-height:1.5;margin-top:8px;padding:12px}.scheduled-change-warning svg{color:#f59e0b;flex-shrink:0;margin-top:1px}.scheduled-change-warning strong{font-weight:600;text-transform:capitalize}.mobile-nav{animation:dropdownSlideIn .2s ease-out;background:var(--background-menu-white);border:1px solid var(--border-main);border-radius:8px;box-shadow:var(--shadow-lg);left:0;margin-top:8px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10000!important}.mobile-nav-item{align-items:center;background:none;border:none;border-bottom:1px solid var(--border-main);color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:16px 20px;text-align:left;text-decoration:none;transition:all .2s ease;width:100%}.mobile-nav-item:last-child{border-bottom:none}.mobile-nav-item:hover{background:var(--background-menu-gray);color:var(--text-brand)}.mobile-nav-item.upgrade-nav{background:#22c55e1a;color:#22c55e;color:var(--success-color,#22c55e)}.mobile-nav-item.upgrade-nav:hover{background:#22c55e;background:var(--success-color,#22c55e);color:#fff}.mobile-nav-item.admin-nav{background:#f59e0b1a;color:#f59e0b;color:var(--warning-color,#f59e0b)}.mobile-nav-item.admin-nav:hover{background:#f59e0b;background:var(--warning-color,#f59e0b);color:#fff}.mobile-nav-item.login-nav{background:#7f00ff1a;color:#7f00ff;color:var(--accent-color,#7f00ff)}.mobile-nav-item.login-nav:hover{background:#7f00ff;background:var(--accent-color,#7f00ff);color:#fff}.profile-popup-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}.profile-popup{animation:popupSlideIn .3s ease-out;background:var(--background-menu-white);border:1px solid var(--border-main);border-radius:12px;box-shadow:var(--shadow-lg);max-height:80vh;max-width:500px;overflow-y:auto;width:90%}.profile-popup.closing{animation:popupSlideOut .3s ease-in forwards}.profile-popup-header{align-items:center;background:var(--background-menu-gray);border-bottom:1px solid var(--border-main);border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.profile-popup-header h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.profile-popup-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.profile-popup-close:hover{background:var(--background-gray-main);color:var(--text-primary)}.profile-popup-content{padding:24px}.profile-popup-section{margin-bottom:32px}.profile-popup-section:last-child{margin-bottom:0}.profile-popup-section h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 16px}.profile-popup-field{margin-bottom:16px}.profile-popup-field:last-child{margin-bottom:0}.profile-popup-field label{color:var(--text-secondary);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.profile-popup-input{background:var(--background-menu-gray);border:1px solid var(--border-main);border-radius:8px;color:var(--text-primary);font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.profile-popup-input:focus{border-color:var(--text-brand);box-shadow:0 0 0 3px #7f00ff1a;outline:none}.profile-popup-input:read-only{background:var(--background-gray-main);color:var(--text-tertiary);cursor:not-allowed}.profile-popup-actions{display:flex;flex-wrap:wrap;gap:12px}.profile-popup-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease}.profile-popup-btn.primary{background:var(--background-menu-white);border:1px solid var(--border-main);color:var(--text-primary)}.profile-popup-btn.primary:hover{background:var(--background-menu-gray);box-shadow:var(--shadow-md);transform:translateY(-1px)}.profile-popup-btn.secondary{background:var(--background-menu-gray);border:1px solid var(--border-main);color:var(--text-primary)}.profile-popup-btn.secondary:hover{background:var(--background-gray-main);border-color:var(--border-main);color:var(--text-primary)}@keyframes popupSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes popupSlideOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.9) translateY(-20px)}}@media (max-width:768px){.subscription-dropdown{min-width:320px;right:-20px;width:320px}.subscription-dropdown-header{padding:16px}.subscription-details{gap:12px;padding:16px}.subscription-actions{padding:12px 16px 16px}.profile-popup{margin:20px;width:95%}.profile-popup-header{padding:16px 20px}.profile-popup-content{padding:20px}.profile-popup-actions{flex-direction:column}.profile-popup-btn{justify-content:center;width:100%}}.nav-item.credits-nav{align-items:center;background:#0000;border-color:#111827;box-shadow:none;color:var(--text-primary);display:flex;gap:8px;padding:8px 12px}.nav-item.credits-nav:hover{background:#ffffff0d}.credits-icon{color:var(--text-tertiary)}.credits-count{font-size:14px;font-weight:600}.credits-dropdown-header{justify-content:space-between;padding:16px 20px}.credits-dropdown-header,.plan-info{align-items:center;display:flex}.plan-name-large{color:var(--text-primary);font-family:serif;font-size:20px;font-weight:700}.upgrade-btn-small{background:#fff;border:none;border-radius:20px;color:#000;cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:transform .2s}.upgrade-btn-small:hover{transform:scale(1.05)}.credits-divider{border-top:1px dashed #fff3;margin:0 20px}.credits-details-row{align-items:flex-start;display:flex;justify-content:space-between;padding:20px}.credits-label-group{display:flex;gap:12px}.credits-label-group .credits-icon{color:var(--text-secondary);margin-top:2px}.credits-label-main{align-items:center;color:var(--text-primary);display:flex;font-size:16px;font-weight:600;gap:6px}.credits-label-sub{color:var(--text-tertiary);font-size:13px;margin-top:4px}.credits-value-group{text-align:right}.credits-value-main{color:var(--text-primary);font-size:16px;font-weight:600}.credits-value-sub{color:var(--text-tertiary);font-size:13px;margin-top:4px}.credits-footer{padding:0 20px 20px}.view-usage-link{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:14px;font-weight:500;padding:0;transition:color .2s}.view-usage-link:hover{color:var(--text-primary)}.upgrade-cta-button{align-items:center;background:linear-gradient(135deg,var(--text-brand),#9f7aea);border:none;border-radius:8px;box-shadow:0 2px 4px #7f00ff33;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-bottom:12px;padding:10px 16px;transition:all .2s ease;width:100%}.upgrade-cta-button:hover{box-shadow:0 4px 6px #7f00ff4d;filter:brightness(1.05);transform:translateY(-1px)}.upgrade-cta-button:active{transform:translateY(0)}.upgrade-cta-button svg{color:#fff}.low-credits{color:var(--function-warning)!important;font-weight:700}.credit-total{color:var(--text-secondary);font-weight:400}.compact-credits{color:var(--text-primary);font-weight:600}.compact-credits.low-credits{animation:pulse-warning 2s ease-in-out infinite;color:var(--function-warning);font-weight:700}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.sidebar{background:var(--background-nav);box-shadow:var(--shadow-lg);color:var(--text-primary);display:flex;flex-direction:column;gap:32px;height:100vh;max-width:280px;min-width:280px;overflow:hidden;padding:0;position:relative;transition:all .3s ease;width:280px;z-index:200}.sidebar.collapsed{align-items:center;max-width:72px;min-width:72px;padding:0;transform:none;width:72px}.sidebar.collapsed .admin-link svg+span,.sidebar.collapsed .mark-history-actions,.sidebar.collapsed .mark-history-content,.sidebar.collapsed .mark-history-tabs,.sidebar.collapsed .mark-homework-main-btn svg+span,.sidebar.collapsed .mark-homework-main-btn:after,.sidebar.collapsed .sidebar-logo-subtitle,.sidebar.collapsed .sidebar-logo-text,.sidebar.collapsed .sidebar-section{display:none!important;height:0;margin:0;opacity:0;overflow:hidden;padding:0;width:0}.sidebar.collapsed .mark-homework-main-btn{border-radius:50%;gap:0;height:44px;justify-content:center;margin:4px auto;padding:10px;width:44px}.sidebar.collapsed .sidebar-content{align-items:center;width:100%}.sidebar.collapsed .sidebar-header{flex-direction:column;gap:16px;justify-content:center;padding:20px 10px;width:100%}.sidebar.collapsed .sidebar-menu-toggle{margin:0}.sidebar.collapsed .sidebar-logo{justify-content:center;margin:0}.sidebar.collapsed .sidebar-logo-img{margin:0}.sidebar.collapsed .admin-link{justify-content:center;padding:12px}.sidebar.collapsed .mark-history-scrollable{display:none}@media (max-width:768px){.sidebar{height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);z-index:1000}.sidebar.mobile-open{transform:translateX(0)}.sidebar.open{left:0}}.sidebar-content{display:flex;flex-direction:column;gap:0;height:100vh;overflow:hidden;padding:0}.sidebar-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:16px}.sidebar-menu-toggle{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;padding:6px;transition:all .2s ease;width:32px}.sidebar-menu-toggle:hover{background-color:var(--background-gray-main);transform:scale(1.05)}.sidebar-logo{align-items:center;cursor:pointer;display:flex;flex:1 1}.sidebar-logo-img{height:32px;margin-right:12px;object-fit:contain;width:32px}.sidebar-logo-text{color:var(--text-primary);font-size:16px;font-weight:700;line-height:1.2;margin:0}.sidebar-logo-subtitle{color:var(--text-tertiary);font-size:10px;font-weight:400;line-height:1;margin:0}.sidebar-auth-buttons{display:flex;flex-direction:row;gap:6px;margin-bottom:0;padding:0 20px}.upgrade-btn{background:#0000;border:1px solid var(--function-success);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:16px 20px;text-align:center;transition:all .2s ease}.upgrade-btn:hover{background:var(--background-gray-main);color:var(--text-primary)}.signin-btn{background:#0000;border:1px solid var(--text-brand);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:16px 20px;text-align:center;transition:all .2s ease}.signin-btn:hover{background:var(--background-gray-main);color:var(--text-primary)}.sidebar-section-header{color:var(--text-tertiary);font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:8px;margin-top:8px;padding:0 16px;pointer-events:none;text-transform:uppercase}.mark-homework-main-btn{align-items:center;background:#0000;border:none;border-radius:8px;box-shadow:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;justify-content:flex-start;margin:2px 8px;padding:10px 16px;transition:all .2s ease;width:calc(100% - 16px)}.mark-homework-main-btn svg{background:#0000;color:var(--text-secondary);flex-shrink:0;height:20px;padding:0;transition:color .2s ease;width:20px}.mark-homework-main-btn:hover{background:var(--background-menu-gray);box-shadow:none;color:var(--text-primary);transform:none}.mark-homework-main-btn:hover svg{color:var(--text-primary)}.sidebar-section{display:flex;flex:1 1;flex-direction:column;height:calc(100vh - 20px);margin-top:20px;overflow:hidden}.sidebar-section-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;margin-top:16px;padding:0 16px}.sidebar-section-header{margin:0;padding:0}.mark-history-filter-container{position:relative}.mark-history-filter-trigger{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:4px;padding:4px 8px;text-transform:capitalize;transition:all .2s ease}.mark-history-filter-trigger:hover{background:var(--background-menu-gray);color:var(--text-primary)}.mark-history-filter-trigger .filter-chevron{opacity:.7;transition:transform .2s ease}.mark-history-filter-trigger .filter-chevron.open{transform:rotate(180deg)}.mark-history-filter-dropdown{animation:dropdownSlideIn .2s ease-out;background:var(--background-card);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 4px 12px #0000004d;margin-top:4px;min-width:120px;overflow:hidden;padding:4px;position:absolute;right:0;top:100%;z-index:200}.filter-option{align-items:center;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;padding:8px 12px;transition:all .2s ease}.filter-option:hover{background:var(--background-menu-gray);color:var(--text-primary)}.filter-option.selected{background:var(--text-brand);color:var(--text-white);font-weight:500}.mark-history-scrollable{flex:1 1;overflow-x:hidden;overflow-y:auto;scrollbar-color:#0000 #0000;scrollbar-width:thin;transition:scrollbar-color .3s ease}.mark-history-scrollable:hover{scrollbar-color:var(--text-tertiary) #0000}.mark-history-scrollable::-webkit-scrollbar{background:#0000;width:5px}.mark-history-scrollable::-webkit-scrollbar-track{background:#0000;margin:0}.mark-history-scrollable::-webkit-scrollbar-thumb{background:#0000;border:none;border-radius:3px}.mark-history-scrollable:hover::-webkit-scrollbar-thumb{background:var(--text-tertiary)}.mark-history-list{display:flex;flex-direction:column;gap:0}.mark-history-item{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;gap:8px;margin:4px 12px;padding:6px 12px;position:relative;transition:all .2s ease;width:auto}.mark-history-item:hover{background:var(--background-menu-gray);color:var(--text-brand)}.mark-history-item.active{background:#7c3aed26;border-left:none;color:var(--text-primary);position:relative}.mark-history-item.has-open-dropdown{z-index:100}.mark-history-item.active:before{background:var(--text-brand);border-radius:4px 0 0 4px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.mark-history-item.active .mark-history-item-title{color:var(--text-primary);font-weight:600}.mark-history-item.active .mark-history-last-message{color:var(--text-tertiary)}.mark-history-item.active .mark-history-time{color:var(--text-brand);opacity:1}.mark-history-content{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.mark-history-item-bottom-row,.mark-history-item-top-row{align-items:center;display:flex;justify-content:space-between}.mark-history-item-bottom-row{gap:8px}.mark-history-meta{align-items:center;display:flex;flex-shrink:0;gap:0;justify-content:flex-end;min-width:40px;position:relative}.mark-history-item-title{align-items:center;color:var(--text-primary);display:flex;font-size:13px!important;font-weight:500;margin:0;padding:0;position:relative;text-align:left!important;width:100%}.mark-history-item-title,.mark-history-last-message{line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mark-history-last-message{color:var(--text-tertiary);font-size:12px;max-width:160px;opacity:.8}.mark-history-time{color:var(--text-secondary);font-size:11px;opacity:.6;transition:opacity .2s ease;white-space:nowrap}.mark-history-item:hover .mark-history-time{opacity:0}.mark-history-actions-container{align-items:center;display:flex;opacity:0;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:all .2s ease;visibility:hidden}.mark-history-actions-container:hover,.mark-history-dropdown-btn,.mark-history-item:hover .mark-history-actions-container{opacity:1;visibility:visible}.mark-history-dropdown-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;display:flex;height:24px;justify-content:center;padding:4px;transition:all .2s ease;width:24px}.mark-history-actions-container.dropdown-open{opacity:1!important;visibility:visible!important}.mark-history-dropdown-btn:hover{background:var(--background-menu-gray);color:var(--text-primary)}.mark-history-dropdown-btn:hover svg{stroke:var(--text-primary);color:var(--text-primary)}.favorite-star-inline{fill:var(--function-warning);color:var(--function-warning);display:inline-block;flex-shrink:0;height:10px;margin-right:4px;vertical-align:middle;width:10px}.mark-history-delete-btn{align-items:center;background:#0000;border:none;border-radius:3px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;opacity:.3;padding:2px;transition:all .2s ease;width:24px}.mark-history-item:hover .mark-history-delete-btn{opacity:1}.mark-history-delete-btn:hover{background:var(--function-error);color:var(--text-white)}.mark-history-error,.mark-history-loading,.mark-history-placeholder{padding:16px;text-align:center}.placeholder-item{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-size:12px;gap:6px}.mark-history-login-prompt{background:#0000;border:none;border-radius:6px;margin-top:16px;padding:12px}.login-prompt-btn{border-radius:4px;color:var(--text-white);font-size:11px;margin-top:6px;padding:6px 12px}.login-prompt-btn:hover{background:var(--shadows-highlight-2)}.admin-section{background:var(--background-menu-nav);border-top:1px solid var(--border-main);margin-top:auto;padding:16px 20px}.admin-link{align-items:center;border:1px solid #0000;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 12px;transition:all .2s ease}.admin-link:hover{background:var(--background-gray-main);border-color:var(--border-main);color:var(--text-primary);transform:translateX(2px)}.title-edit-container{width:100%}.title-edit-input{background:#0000!important;border:none!important;border-radius:4px!important;box-sizing:border-box!important;color:var(--text-primary)!important;flex:1 1!important;font-size:12px!important;font-weight:500!important;margin:0!important;max-width:none!important;min-width:0!important;outline:none!important;overflow:visible!important;padding:2px 4px!important;text-overflow:clip!important;transition:all .2s ease!important;white-space:nowrap!important}.title-edit-input:hover{background:var(--background-gray-main)!important;border:1px solid var(--border-main)!important}.title-edit-input:focus{background:var(--background-white-main)!important;border:1px solid var(--text-brand)!important;box-shadow:0 0 0 2px #3b82f61a!important;flex:1 1!important;max-width:none!important;min-width:150px!important;outline:none!important}.mark-history-dropdown{animation:dropdownSlideIn .2s ease-out;background:#1f2937;border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-top:8px;min-width:160px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10000!important}.mark-history-dropdown.closing{animation:dropdownSlideOut .3s ease-in forwards;opacity:0;transform:translateY(-10px)}.mark-history-dropdown .dropdown-item{align-items:center;border-bottom:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:12px;padding:12px 16px;text-decoration:none;transition:all .2s ease}.mark-history-dropdown .dropdown-item:last-child{border-bottom:none}.mark-history-dropdown .dropdown-item:hover{background:#2a2a2b;color:#fff;transform:translateX(2px);transition:all .2s ease}.mark-history-dropdown .dropdown-item.danger{color:#ef4444}.mark-history-dropdown .dropdown-item.danger:hover{background:#2a2a2b;color:#fff;transform:translateX(2px);transition:all .2s ease}@keyframes dropdownSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media (max-width:768px){.sidebar-content{padding:20px 16px}.admin-section{padding:12px 16px}.admin-link{font-size:12px;padding:8px 10px}.mark-homework-main-btn{font-size:13px;gap:8px;margin:0 6px;padding:10px 12px}}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.22"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.markdown-math-renderer{color:var(--text-primary);line-height:1.8;padding:0 25px}.markdown-ol,.markdown-p,ul{line-height:1.6;margin:.8em 0}.markdown-math-renderer h3{color:var(--text-primary);font-size:1.1em;font-weight:700;margin:1.5em 0 .8em}.markdown-math-renderer h3~.markdown-ol,.markdown-math-renderer h3~.markdown-p,.markdown-math-renderer h3~ul{margin-left:1.5em}.markdown-math-renderer .markdown-ol,.markdown-math-renderer ul{list-style-position:outside;padding-left:1.5em}.markdown-math-renderer .katex,.markdown-math-renderer .markdown-em{color:var(--text-katex);font-size:1.1em}.markdown-math-renderer .model_question{color:var(--text-tertiary);display:block;font-weight:500;margin-bottom:.5em}.markdown-math-renderer .question_header_text{color:var(--text-primary);display:block;font-size:1.5em;font-weight:700;margin-bottom:1em;margin-top:2em}.markdown-math-renderer hr{border:0;border-top:1px solid #e5e5e5;border-top:1px solid var(--border-color,#e5e5e5);margin:2em 0}.student-work{color:var(--text-tertiary)!important;font-style:italic}.student-work .katex{color:inherit!important}.step-title{color:var(--text-primary);font-size:1.2em;font-weight:700;margin-bottom:.5em;margin-top:1.5em}.step-explanation{color:var(--text-secondary);font-size:.95em;font-weight:400;line-height:1.6;margin-bottom:1.5em}.ai-explanation-section{color:var(--function-warning)!important;margin:15px 0 25px}.ai-explanation-section div,.ai-explanation-section li,.ai-explanation-section p,.ai-explanation-section span,.ai-explanation-section strong{color:inherit!important}.ai-explanation-section .markdown-h3{color:var(--function-warning)!important;font-size:1.1em;margin-bottom:12px;opacity:1}.ai-marking-scheme-section{border-top:1px solid #ffffff1a;color:#9ca3af!important;margin-top:40px;padding-top:25px}.ai-marking-scheme-section div,.ai-marking-scheme-section li,.ai-marking-scheme-section p,.ai-marking-scheme-section span,.ai-marking-scheme-section strong{color:inherit!important}.ai-marking-scheme-section .markdown-h3{color:#d1d5db!important;font-size:.95em;letter-spacing:.8px;margin-bottom:15px;text-transform:uppercase}.annotation-feedback{color:#d97706;font-size:1em;font-weight:400;margin-left:.5em}.admin-page{display:flex;height:calc(100vh - 60px);overflow-y:auto}.admin-content,.admin-page{background:var(--background-gray-main)}.admin-content{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1400px;min-height:100%;padding:24px 24px 100px}.admin-page::-webkit-scrollbar{width:8px}.admin-page::-webkit-scrollbar-track{background:var(--background-nav);border-radius:4px}.admin-page::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}.admin-page::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.admin-header{background:var(--background-nav);border:1px solid var(--border-main);border-radius:12px;box-shadow:var(--shadow-S);margin-bottom:32px;padding:24px;text-align:center}.admin-header__title{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 8px}.admin-header__subtitle{color:var(--text-secondary);font-size:16px;margin:0}.admin-alert{border-radius:8px;font-weight:500;margin-bottom:24px;padding:16px 20px}.admin-alert--success{background:var(--function-success-tsp);border:1px solid var(--function-success);color:var(--function-success)}.admin-alert--error{background:var(--function-error-tsp);border:1px solid var(--function-error);color:var(--function-error)}.admin-tabs{background:var(--background-nav);border:1px solid var(--border-main);border-radius:12px;box-shadow:var(--shadow-S);display:flex;gap:8px;margin-bottom:24px;padding:8px}.admin-tab{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease}.admin-tab:hover{background:var(--background-gray-main);color:var(--text-secondary)}.admin-tab--active{background:var(--text-brand);box-shadow:var(--shadow-M);color:var(--text-white)}.admin-tab-content{background:var(--background-nav);border:1px solid var(--border-main);border-radius:12px;box-shadow:var(--shadow-S);margin-bottom:40px;padding:24px}.admin-section-header{margin-bottom:24px}.admin-section-header__title{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 8px}.admin-section-header__subtitle{color:var(--text-secondary);font-size:14px;margin:0}.admin-upload-section{margin-bottom:32px}.admin-upload-section__title{color:var(--text-primary);font-size:20px;font-weight:600;margin-bottom:16px}.admin-upload-form{background:var(--background-card);border:1px solid var(--border-main);border-radius:12px;padding:24px}.admin-form-group{margin-bottom:20px}.admin-form-label{color:var(--text-secondary);display:block;font-weight:500;margin-bottom:8px}.admin-form-control{background:var(--background-nav);border:1px solid var(--border-main);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;font-size:13px;line-height:1.5;min-height:200px;padding:12px 16px;resize:vertical;transition:border-color .2s ease;width:100%}.admin-form-control:focus{border-color:var(--text-brand);box-shadow:0 0 0 3px var(--border-input-active);outline:none}.admin-form-control::placeholder{color:var(--text-tertiary)}.admin-form-actions{display:flex;gap:20px;justify-content:flex-start;margin-top:24px}.admin-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;text-decoration:none;transition:all .2s ease}.admin-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.admin-btn--primary{background:var(--text-brand);color:var(--text-white)}.admin-btn--primary:hover:not(:disabled){background:var(--shadows-highlight-2);box-shadow:var(--shadow-L);transform:translateY(-2px)}.admin-btn--secondary{background:var(--background-card);border:1px solid var(--border-main);color:var(--text-secondary)}.admin-btn--secondary:hover:not(:disabled){background:var(--fill-gray);color:var(--text-primary);transform:translateY(-1px)}.admin-btn--danger{background:var(--function-error);color:var(--text-white)}.admin-btn--danger:hover:not(:disabled){background:var(--shadows-danger-2);box-shadow:var(--shadow-L);transform:translateY(-2px)}.admin-btn--icon{background:none;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;padding:8px;transition:all .2s ease}.admin-btn--icon:hover{background:var(--background-card);color:var(--text-secondary)}.admin-btn--icon.admin-btn--danger:hover{background:var(--function-error-tsp);color:var(--function-error)}.admin-data-section{background:var(--background-card);border:1px solid var(--border-main);border-radius:12px;margin-bottom:40px;margin-top:32px;padding:24px}.admin-data-section__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.admin-data-section__title{margin:0}.admin-empty-state__icon{margin-bottom:16px;opacity:.5}.admin-empty-state__text{font-size:16px;line-height:1.6;margin:8px 0}.admin-table-container{background:var(--background-nav);border:1px solid var(--border-main);border-radius:12px;box-shadow:var(--shadow-S);margin-top:16px;overflow:hidden}.admin-table{border-collapse:collapse;font-size:14px;width:100%}.admin-table__header{background:var(--background-gray-main);color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:24px;text-align:left;text-transform:uppercase}.admin-table__cell,.admin-table__header{border-bottom:2px solid var(--border-main)}.admin-table__cell{color:var(--text-primary);font-size:14px;line-height:1.6;padding:12px;vertical-align:middle}.admin-table__row:hover{background:var(--background-nav)}.admin-table__row:last-child .admin-table__cell{border-bottom:none}.status-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status-badge--success{background:var(--function-success-tsp);border:1px solid var(--function-success);color:var(--function-success)}.status-badge--warning{background:var(--function-warning-tsp);border:1px solid var(--function-warning);color:var(--function-warning)}.admin-exam-paper-link{min-width:300px;padding:12px 0}.admin-exam-paper{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;cursor:pointer;display:flex;gap:12px;margin:8px 0;overflow:hidden;padding:16px 20px;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.admin-exam-paper:hover{background:var(--background-nav);border-color:var(--text-brand);box-shadow:var(--shadow-S);transform:translateX(6px)}.admin-exam-paper__name,.exam-paper-name{color:var(--text-primary);flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-exam-paper__indicator{color:var(--text-brand);font-size:12px;font-weight:700;transition:transform .2s ease}.admin-exam-paper:hover .admin-exam-paper__indicator{transform:scale(1.2)}.admin-table__actions{min-width:100px;text-align:center}.admin-table__actions .admin-btn--icon{margin:0 4px}.admin-question-count{background:var(--fill-blue);border-radius:12px;color:var(--text-brand);font-size:12px;font-weight:600;padding:2px 8px}.admin-question-count--empty{color:var(--text-tertiary);font-size:12px;font-style:italic}.admin-expanded-row{background-color:var(--background-card)}.admin-expanded-row td{border:none;padding:0}.admin-expanded-content{background:var(--background-card);border-radius:0 0 12px 12px;border-top:2px solid var(--text-brand);box-shadow:inset 0 2px 4px #0000001a;margin:0;padding:32px}.admin-content-header{align-items:center;background:var(--background-nav);border:1px solid var(--border-main);border-radius:8px;box-shadow:var(--shadow-S);display:flex;justify-content:space-between;margin-bottom:24px;padding:20px}.admin-content-info{align-items:center;display:flex;gap:16px}.admin-content-info__text{color:var(--text-tertiary);font-size:12px;font-style:italic}.admin-content-header__title{color:var(--text-primary);font-size:20px;font-weight:700;line-height:1.3;margin:0}.admin-close-btn{background:none;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;font-size:20px;padding:4px 8px;transition:all .2s ease}.admin-close-btn:hover{background-color:var(--background-nav);color:var(--text-secondary)}.admin-questions-content{border:1px solid var(--border-main);border-radius:8px;margin-top:16px;padding:24px}.admin-questions-summary{background-color:var(--background-nav);border:1px solid var(--border-main);border-radius:8px;display:flex;gap:24px;margin-bottom:24px;padding:16px 16px 10px}.admin-questions-summary__title{border-bottom:1px solid var(--border-main);color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.admin-query-section{background:var(--background-card);border:1px solid var(--border-main);border-radius:12px;box-shadow:var(--shadow-S);margin-bottom:24px;overflow:hidden}.admin-query-header{background:var(--background-nav);border-bottom:1px solid var(--border-main);padding:20px 24px}.admin-query-title{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 8px}.admin-query-description{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.admin-query-content{padding:24px}.admin-query-warning{align-items:flex-start;background:var(--function-warning-tsp);border:1px solid var(--function-warning);border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:16px}.admin-query-warning-icon{flex-shrink:0;font-size:20px;margin-top:2px}.admin-query-warning-text{color:var(--text-primary);font-size:14px;line-height:1.5}.admin-query-details{margin-bottom:20px}.admin-query-details-title{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 12px}.admin-query-list{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0;padding-left:20px}.admin-query-list li{margin-bottom:8px}.admin-query-danger{background:var(--function-error-tsp);border:1px solid var(--function-error);border-radius:8px;color:var(--function-error);font-size:14px;font-weight:600;margin-bottom:24px;padding:16px;text-align:center}.admin-query-actions{display:flex;gap:12px;justify-content:flex-end}.admin-questions-list{display:flex;flex-direction:column;gap:20px}.admin-question-item{background-color:var(--background-card);border:1px solid var(--border-main);border-radius:8px;box-shadow:var(--shadow-S);margin-bottom:12px;padding:6px;position:relative;transition:all .2s ease}.admin-question-item:hover{box-shadow:var(--shadow-M);transform:translateY(-1px)}.admin-question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.admin-question-main{align-items:center;display:flex;flex:1 1;gap:8px;padding-left:0}.admin-question-number{background:var(--text-brand);border-radius:16px;box-shadow:var(--shadow-S);color:#fff;display:inline-block;font-size:13px;font-weight:700;margin-right:10px;min-width:20px;padding:4px 10px;text-align:center}.admin-question-text{color:var(--text-white);display:inline;font-size:14px;font-weight:500;line-height:1.5}.admin-sub-questions{border-left:2px solid var(--text-brand);border-radius:0 6px 6px 0;margin-left:8px;margin-top:12px;padding:12px 16px}.admin-sub-question-item{align-items:center;border:1px solid var(--border-main);border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 12px;transition:all .2s ease}.admin-sub-question-item:hover{background:var(--background-gray-main);transform:translateX(3px)}.admin-sub-question-number{background:var(--text-brand);border-radius:10px;box-shadow:var(--shadow-S);color:#fff;display:inline-block;font-size:11px;font-weight:600;margin-right:8px;min-width:18px;padding:3px 6px;text-align:center}.admin-sub-question-content{align-items:center;display:flex;flex:1 1;gap:8px}.admin-sub-question-text{color:var(--text-white);display:inline;font-size:13px;font-weight:400;line-height:1.4}.admin-question-marks{background:var(--text-brand);border-radius:10px;box-shadow:var(--shadow-S);font-size:12px;font-weight:600;padding:3px 7px}.admin-question-marks,.admin-sub-question-marks{color:var(--text-white);display:inline-block;flex-shrink:0}.admin-sub-question-marks{background:var(--text-tertiary);border-radius:6px;font-size:11px;font-weight:500;padding:2px 5px}.admin-question-main:before{border-radius:2px;left:-6px;opacity:.4;width:3px}.admin-question-main:before,.admin-sub-questions:before{background:var(--text-brand);bottom:0;content:"";position:absolute;top:0}.admin-sub-questions:before{border-radius:1px;left:-8px;opacity:.6;width:2px}.admin-loading-container{color:var(--text-tertiary);padding:60px 20px;text-align:center}.admin-loading-spinner{animation:admin-spin 1s linear infinite;border-top:4px solid var(--border-main);border:4px solid var(--border-main);border-radius:50%;border-top-color:var(--text-brand);height:40px;margin:0 auto 16px;width:40px}@keyframes admin-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.admin-loading-container__text{font-size:16px;margin:0}.admin-exam-details-section{background:var(--background-nav);border:1px solid var(--border-main);border-radius:8px;margin-bottom:24px;padding:20px}.admin-exam-details-section__title{color:var(--text-brand);font-size:16px;font-weight:600;margin:0 0 16px}.admin-exam-details-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.admin-detail-item{align-items:center;background:var(--background-gray-main);border:1px solid var(--border-main);border-radius:6px;justify-content:space-between;padding:8px 12px}.admin-detail-label{color:var(--text-secondary);font-size:14px;font-weight:600}.admin-detail-value{max-width:200px;text-align:right;word-break:break-word}.admin-summary-stats{background:var(--background-nav);border:1px solid var(--border-main);border-radius:8px;display:flex;gap:24px;margin-bottom:24px;padding:16px}.admin-stat-item{align-items:center;display:flex;flex-direction:column;text-align:center}.admin-stat-label{color:var(--text-secondary);font-size:12px;margin-bottom:4px}.admin-stat-value{color:var(--text-brand);font-size:20px;font-weight:700}.admin-questions-section{margin-bottom:24px}.admin-questions-section__title{color:var(--text-brand);font-size:16px;font-weight:600;margin:0 0 16px}.admin-questions-list--marking{display:flex;flex-direction:column;gap:16px}.admin-question-item--marking{background:var(--background-nav);border:1px solid var(--border-main);border-radius:8px;padding:20px}.admin-question-header--marking{align-items:center;border-bottom:1px solid var(--border-main);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.admin-question-number--marking{color:var(--text-brand);font-size:18px;font-weight:700}.admin-question-answer{background:#22c55e1a;border:1px solid #22c55e4d;border-radius:4px;color:var(--function-success);font-size:14px;font-weight:600;padding:4px 8px}.admin-guidance-section,.admin-marks-section{margin-bottom:16px}.admin-guidance-section__title,.admin-marks-section__title{color:var(--text-primary);display:block;font-size:14px;font-weight:600;margin:0 0 12px}.admin-guidance-item,.admin-mark-item{background:var(--background-gray-main);border:1px solid var(--border-main);border-radius:6px;margin-bottom:12px;padding:12px}.admin-mark-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.admin-mark-type{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:4px;color:var(--function-warning);font-size:12px;font-weight:700;min-width:40px;padding:2px 6px;text-align:center}.admin-mark-answer{color:var(--text-primary);flex:1 1;font-family:Courier New,monospace;font-size:13px}.admin-mark-comments{border-top:1px solid var(--border-main);color:var(--text-secondary);font-size:13px;font-style:italic;margin-top:8px;padding-top:8px}.admin-guidance-outcome,.admin-guidance-scenario{font-size:13px;margin-bottom:8px}.admin-guidance-scenario{color:var(--text-primary)}.admin-guidance-outcome{color:var(--function-success);font-weight:600}.admin-metadata-section{background:var(--background-nav);border:1px solid var(--border-main);border-radius:8px;margin-top:24px;padding:16px}.admin-metadata-section__title{color:var(--text-brand);font-size:14px;font-weight:600;margin:0 0 12px}.admin-metadata-info p{color:var(--text-secondary);font-size:13px;margin:4px 0}.admin-upload-date{color:var(--text-secondary)!important;font-size:12px!important;margin-top:4px!important}.admin-mark-count{color:var(--text-brand);font-size:13px;font-weight:600}.admin-no-marks{color:var(--text-secondary);font-size:13px;font-style:italic}.admin-content:after{background:var(--background-nav);border:3px solid var(--function-success);border-radius:12px;color:var(--function-success);content:"END OF ADMIN CONTENT";font-size:16px;margin:30px 0;padding:30px}.admin-content:after,.admin-data-section:after{display:block;font-weight:700;text-align:center}.admin-data-section:after{background:var(--background-card);border:2px dashed var(--text-brand);border-radius:8px;color:var(--text-brand);content:"END OF DATA SECTION";font-size:14px;margin:20px 0;padding:20px}@media (max-width:768px){.admin-page{flex-direction:column}.admin-content{padding:16px 16px 80px}.admin-header{padding:20px}.admin-header__title{font-size:24px}.admin-form-actions{flex-direction:column}.admin-table{font-size:12px}.admin-table__cell,.admin-table__header{padding:24px 16px}.admin-content-header,.admin-questions-summary{flex-direction:column;gap:12px}.admin-content-header{align-items:flex-start}.admin-expanded-content,.admin-question-item{padding:16px}}@media (max-width:480px){.admin-header,.admin-tab-content,.admin-upload-form{padding:20px}.admin-tabs{flex-direction:column}.admin-tab{justify-content:center}}.grade-boundaries-list{background:var(--background-menu-gray);border-radius:6px;margin-top:12px;padding:12px}.grade-boundaries-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:8px}.grade-boundary-item{background:var(--background-menu-white);border:1px solid var(--border-main);border-radius:4px;display:flex;flex-direction:column;gap:4px;padding:8px 12px}.grade-label{color:var(--text-brand);font-size:12px;font-weight:600}.grade-mark{color:var(--text-primary);font-size:14px;font-weight:500}.markdown-marking-scheme{word-wrap:break-word;background:var(--background-nav);border:1px solid var(--text-tertiary);border-radius:8px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;margin:12px 0;padding:16px}.marking-scheme-item{margin-bottom:12px;padding-left:20px;position:relative}.marking-scheme-item:before{color:#2c3e50;content:"•";font-size:1.2em;font-weight:700;left:0;position:absolute}.marking-scheme-item:last-child{margin-bottom:0}.markdown-marking-scheme strong{color:var(--function-error);font-weight:600}.markdown-marking-scheme .katex{font-size:1.1em}.markdown-marking-scheme .katex-display{margin:.5em 0;text-align:center}@media (max-width:768px){.markdown-marking-scheme{font-size:14px;padding:12px}}.usage-summary-header{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.usage-summary-card{background:var(--background-card);border:1px solid var(--border-main);border-radius:12px;box-shadow:var(--shadow-S);padding:20px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.usage-summary-card:hover{box-shadow:var(--shadow-M);transform:translateY(-2px)}.usage-summary-label{color:var(--text-secondary);font-size:13px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.usage-summary-value{color:var(--text-primary);font-size:28px;font-weight:700}.usage-filter-tabs{border-bottom:2px solid var(--border-main);display:flex;gap:8px;margin-bottom:24px;padding-bottom:0}.usage-filter-tab{background:none;border:none;border-bottom:3px solid #0000;bottom:-2px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;position:relative;transition:all .2s ease}.usage-filter-tab:hover{background:var(--background-card);color:var(--text-primary)}.usage-filter-tab--active{border-bottom-color:var(--text-brand);color:var(--text-brand)}@media (max-width:768px){.usage-summary-header{grid-template-columns:repeat(2,1fr)}.usage-filter-tabs{flex-wrap:wrap}.usage-filter-tab{font-size:13px;padding:10px 16px}}.admin-subscription-search{background:var(--background-card);border:1px solid var(--border-main);border-radius:8px;margin-bottom:24px;padding:24px}.admin-subscription-search h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px}.admin-search-box{display:flex;gap:12px}.admin-search-input{background:var(--background-white-main);border:1px solid var(--border-main);border-radius:8px;color:var(--text-primary);flex:1 1;font-size:14px;padding:12px 16px}.admin-credits-management,.admin-subscription-details{background:var(--background-card);border:1px solid var(--border-main);border-radius:8px;margin-bottom:24px;padding:24px}.admin-credits-management h3,.admin-subscription-details h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 20px}.admin-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.admin-detail-item{display:flex;flex-direction:column;gap:4px}.admin-detail-label{color:var(--text-tertiary);font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.admin-detail-value{color:var(--text-primary);font-size:14px;font-weight:500}.admin-credits-display{background:var(--background-menu-gray);border-radius:8px;display:flex;gap:24px;margin-bottom:24px;padding:20px}.admin-credit-stat{display:flex;flex-direction:column;gap:4px}.admin-credit-label{color:var(--text-tertiary);font-size:12px;font-weight:500;text-transform:uppercase}.admin-credit-value{color:var(--text-primary);font-size:20px;font-weight:600}.admin-credit-actions{align-items:flex-end;display:flex;gap:16px}.admin-adjust-credits{display:flex;flex:1 1;gap:12px}.admin-adjust-input{background:var(--background-white-main);border:1px solid var(--border-main);border-radius:8px;color:var(--text-primary);flex:1 1;font-size:14px;padding:12px 16px}.admin-empty-state{color:var(--text-tertiary);padding:60px 20px;text-align:center}.admin-empty-state p{font-size:16px;margin:0}.admin-subscription-list-section{background:var(--background-card);border:1px solid var(--border-main);border-radius:8px;margin-bottom:24px;padding:24px}.admin-subscription-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.admin-subscription-list-header h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.admin-subscriptions-table{margin-bottom:20px;overflow-x:auto}.admin-pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:20px}.admin-pagination-info{color:var(--text-secondary);font-size:14px;font-weight:500;min-width:120px;text-align:center}.admin-filter-tab{background:var(--background-menu-gray);border:1px solid var(--border-main);padding:6px 12px}.admin-filter-tab:hover{background:var(--background-card)}.admin-filter-tab--active{background:var(--text-brand);border-color:var(--text-brand)}.mode-history-details{width:100%}.mode-history-summary{cursor:pointer;list-style:none}.mode-history-summary::-webkit-details-marker{display:none}.mode-history-dropdown{animation:fadeIn .15s ease-out;background:var(--background-card);border:1px solid var(--border-main);border-radius:8px;margin-top:8px;min-width:250px;padding:12px;width:-webkit-max-content;width:max-content}.mode-history-title{color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;padding-bottom:6px;text-transform:uppercase}.mode-history-item,.mode-history-title{grid-gap:12px;border-bottom:1px solid var(--border-main);display:grid;gap:12px;grid-template-columns:100px 80px 60px}.mode-history-item{align-items:center;font-size:13px;padding:6px 0}.mode-history-item:last-child{border-bottom:none}.mode-name{color:var(--text-primary);font-weight:500}.mode-time{color:var(--text-tertiary);font-size:11px}.mode-cost{color:var(--text-primary);font-family:monospace;font-size:12px;text-align:right}.admin-filter-tabs{display:flex;gap:8px;margin-bottom:24px}.admin-filter-tab{background:var(--surface-card);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.admin-filter-tab:hover{background:var(--surface-hover);color:var(--text-primary)}.admin-filter-tab--active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.admin-filter-tab--active:hover{background:var(--primary-hover);color:#fff}.info-dropdown-container{display:inline-block;position:relative}.info-dropdown{animation:dropdownSlideIn .3s ease-out;background:#363537;border:1px solid #111827;border-radius:16px;box-shadow:0 4px 12px #0006;margin-top:8px;min-width:380px;opacity:1;position:absolute;right:0;top:100%;transform:translateY(0);z-index:10000!important}.info-dropdown.closing{animation:dropdownSlideOut .3s ease-in forwards;opacity:0;transform:translateY(-10px)}.info-dropdown-content{background:#363537;border-radius:16px;overflow:hidden;padding:20px}.dropdown-header{border-bottom:1px solid #111827;margin-bottom:16px;padding-bottom:12px}.dropdown-header h3{color:#fff;font-size:16px;font-weight:600;margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-main-content,.exam-paper-section,.label-value-pairs{margin-bottom:16px}.label-value-item{align-items:center;border-bottom:1px solid #111827;display:flex;justify-content:space-between;padding:8px 0}.label-value-item:last-child{border-bottom:none}.label-value-item .label{color:#adb5bd;font-size:13px;font-weight:500}.label-value-item .value{color:#fff;font-size:13px;font-weight:600}.label-value-item .value.grade-value{color:#3b82f6;font-weight:600}.title-edit-container{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:flex-end}.title-edit-input{background:#2a2a2b;border:1px solid #111827;border-radius:6px;color:#fff;flex:1 1;font-size:13px;font-weight:600;outline:none;padding:4px 8px}.title-edit-input:focus{border-color:var(--text-brand);box-shadow:0 0 0 2px #7f00ff33}.edit-title-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--icon-tertiary);cursor:pointer;display:flex;justify-content:center;padding:2px;transition:all .2s ease}.edit-title-btn:hover{background:#7f00ff1a;color:var(--text-brand);opacity:.8}.agent-speed-section{display:flex;justify-content:space-between}.agent-speed-section,.cost-section{background:#2a2a2b;border:1px solid #111827;border-radius:12px;margin-bottom:16px;padding:12px}.cost-section .label-value-item{border-bottom:1px solid #111827;padding:8px 0}.cost-section .label-value-item:last-child{border-bottom:none}.cost-breakdown{border-top:1px solid #111827;margin-top:8px;padding-top:8px}.cost-breakdown .label-value-item{border-bottom:1px solid #111827;padding:6px 0}.cost-breakdown .label-value-item:last-child{border-bottom:none}.agent-info,.speed-info{display:flex;flex-direction:column;gap:4px}.speed-info{align-items:flex-end;text-align:right}.agent-info .label,.speed-info .label{color:#adb5bd;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.agent-info .value,.speed-info .value{color:#fff;font-size:14px;font-weight:600}.rating-section{gap:12px;margin-bottom:16px}.dropdown-rating-section{background:#2a2a2b;border:1px solid #111827;border-radius:12px;margin-bottom:16px;margin-top:16px;padding:12px 16px}.dropdown-rating-section .rating-container{align-items:center;display:flex;justify-content:space-between;width:100%}.dropdown-rating-section .rating-label{flex:1 1}.dropdown-rating-section .rating-label .label{color:#adb5bd;font-size:13px;font-weight:500;margin:0}.dropdown-rating-section .rating-stars{align-items:center;display:flex;gap:4px}.rating-section .label{color:#adb5bd;font-size:13px;font-weight:500}.star{color:#6c757d;font-size:16px}.star.filled{color:#ffc107}.dropdown-footer{grid-gap:12px;border-top:1px solid #111827;display:grid;font-size:11px;gap:12px;grid-template-columns:1fr 1fr;padding-top:12px}.dropdown-footer .annotations,.dropdown-footer .confidence,.dropdown-footer .image-size,.dropdown-footer .last-update,.dropdown-footer .mathpix-count,.dropdown-footer .processing-time,.dropdown-footer .token-count{align-items:center;display:flex;flex-direction:row;gap:8px}.dropdown-footer .last-update{border-top:1px solid #111827;grid-column:1/-1;margin-top:8px;padding-top:8px}.dropdown-footer .label{color:#adb5bd;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.dropdown-footer .label:after{content:":";margin-left:4px}.dropdown-footer .value{color:#fff;font-weight:600}.dropdown-footer .processing-time .value{color:#10b981}.dropdown-footer .token-count .value{color:#3b82f6}.dropdown-footer .mathpix-count .value{color:#f59e0b}.back-btn{align-items:flex-start;background:none;border:none;border-radius:0;box-shadow:none;color:var(--text-brand);cursor:pointer;display:block;font-size:16px;font-weight:500;gap:0;padding:0;text-align:left;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;transition:all .2s ease}.back-btn:hover{box-shadow:none;color:#9f7aea;-webkit-text-decoration-color:#9f7aea;text-decoration-color:#9f7aea;transform:none}.back-btn:active{transform:none}.session-header{background:var(--background-gray-main);flex-shrink:0;flex-wrap:nowrap;height:55px;justify-content:space-between;margin:0;padding:0 20px;position:relative;z-index:100}.session-header,.session-title-section{align-items:center;display:flex;width:100%}.session-title-section{flex:1 1;min-width:0}.session-title{flex:1 1;font-size:1.125rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.session-title,.session-title .title-main{color:#fff;color:var(--text-primary,#fff)}.session-title .title-secondary,.session-title .title-separator{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:14px}.session-title .title-badge-label{display:none}.session-title .title-badge{align-items:center;background:#0000;border:1.5px solid;border-radius:8px;display:inline-flex;font-size:11px;font-weight:600;gap:6px;height:24px;justify-content:center;margin-left:12px;padding:4px 10px}.session-title .badge-label{font-size:10px;font-weight:500;opacity:.8}.session-title .badge-value{font-size:11px}.session-title .score-badge{border-color:var(--function-success);color:var(--function-success)}.session-title .grade-badge{border-color:var(--function-warning);color:var(--function-warning)}.session-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.rating-section{align-items:center;display:flex;gap:8px}.rating-label{color:var(--text-secondary);font-size:14px;font-weight:500}.star{color:#d1d5db;cursor:pointer;font-size:18px;transition:color .2s ease}.star.active,.star:hover{color:#fbbf24}@media (max-width:768px){.session-header{align-items:stretch;flex-direction:column;padding:12px 16px}.session-actions{justify-content:space-between;width:100%}.session-title{font-size:18px}}.image-upload{background:var(--background-menu-white);border:2px dashed var(--text-brand);border-radius:24px;min-height:200px;padding:32px;text-align:center;transition:all .3s ease;width:150px}.image-upload:hover:not(.disabled){transform:translateY(-2px)}.image-upload.drag-over,.image-upload:hover:not(.disabled){background:var(--background-menu-gray);border-color:var(--text-brand);box-shadow:var(--shadow-lg)}.image-upload.drag-over{transform:scale(1.02)}.image-upload.disabled{background:var(--background-gray-main);cursor:not-allowed;opacity:.5}.image-upload-placeholder{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:1rem}.image-upload-icon{color:var(--text-brand);font-size:3rem;margin-bottom:.5rem}.image-upload-processing{align-items:center;color:var(--text-brand);display:flex;flex-direction:column;gap:1rem}.image-upload-preview{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.image-upload-preview img{border-radius:4px;max-height:200px;max-width:100%;object-fit:contain}.image-upload-overlay{background-color:#00000080;opacity:0;transition:opacity .2s ease}.image-upload-overlay,.image-upload-spinner-overlay{align-items:center;border-radius:4px;bottom:0;color:#fff;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.image-upload-spinner-overlay{background-color:#000000b3;flex-direction:column;z-index:10}.image-upload-spinner-overlay .spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:24px;margin-bottom:8px;width:24px}.image-upload-spinner-overlay span{font-size:14px;font-weight:500}.image-upload-preview:hover .image-upload-overlay{opacity:1}.model-selector{display:inline-block;min-width:180px;position:relative}.model-selector.disabled{cursor:not-allowed;opacity:.5}.model-selector-button{background:var(--background-nav);border:none;border-radius:12px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:12px 16px;transition:all .3s ease;width:100%}.model-selector-button:hover:not(:disabled){background:var(--background-menu-gray);box-shadow:var(--shadow-md);transform:translateY(-1px)}.model-selector-button:focus{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.model-selector-button:disabled{background:var(--background-gray-main);cursor:not-allowed}.model-selector-content{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.model-selector-label{color:var(--text-primary);font-weight:500}.model-selector-arrow{color:var(--text-secondary);font-size:12px;transition:transform .3s ease}.model-selector-dropdown{background:var(--background-menu-white);border:1px solid var(--border-main);border-radius:12px;bottom:100%;box-shadow:var(--shadow-lg);font-size:13px;left:0;margin-bottom:8px;max-height:none;overflow:visible;position:absolute;right:0;z-index:50}.model-selector-dropdown.direction-down{bottom:auto;margin-bottom:0;margin-top:8px;top:100%}.model-selector-option{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:12px 16px;text-align:left;transition:all .3s ease;width:100%}.model-selector-option:last-child{border-bottom:none}.model-selector-option:hover{background:var(--background-menu-gray)}.model-selector-option.selected{background:var(--text-brand);border-radius:12px;color:#fff}.model-option-content{display:flex;flex-direction:column;gap:.25rem}.model-option-label{color:inherit;font-weight:500}.model-option-description{color:var(--text-secondary);font-size:12px;opacity:.8}.model-selector.small .model-selector-button{font-size:.75rem}.model-selector.large .model-selector-button{font-size:1rem;padding:.75rem 1rem}.model-selector.small .model-selector-option{padding:.5rem}.model-selector.large .model-selector-option{padding:1rem}.send-button{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease}.send-button:focus{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.send-button:disabled{cursor:not-allowed;opacity:.5}.send-button.loading{cursor:not-allowed}.send-button.small{font-size:12px;min-height:36px;padding:8px 16px}.send-button.medium{font-size:14px;min-height:44px;padding:12px 24px}.send-button.large{font-size:16px;min-height:52px;padding:16px 32px}.send-button.main{font-size:16px;min-height:56px;min-width:120px;padding:16px 32px}.send-button.primary{background:var(--text-brand);color:#fff}.send-button.primary:hover:not(:disabled){background:#7a00e6;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.send-button.secondary{background:var(--text-brand);color:#fff}.send-button.secondary:hover:not(:disabled){background:var(--accent-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.send-button.success{background:var(--text-brand);color:#fff}.send-button.success:hover:not(:disabled){background:#7a00e6;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.send-button-content,.send-button-loading{align-items:center;display:flex;gap:.5rem;justify-content:center}.send-button-icon{font-size:1.2em;line-height:1}.send-button-text{line-height:1}.send-button:not(:disabled):not(.loading):hover{transform:translateY(-1px)}.send-button:not(:disabled):not(.loading):active{transform:translateY(0)}.send-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.progress-steps-display{background:var(--background-menu-gray);border:1px solid var(--border-main);border-radius:8px;margin:12px 0}.progress-steps-header{border-bottom:1px solid var(--border-main);padding:8px 12px}.progress-toggle-button{color:var(--text-secondary);font-size:14px;gap:4px;padding:4px 8px;transition:background-color .2s}.progress-toggle-button:hover{background:var(--background-hover)}.progress-steps-list{max-height:200px;overflow-y:auto;padding:8px 12px}.progress-step{align-items:center;display:flex;font-size:14px;gap:8px;padding:4px 0}.progress-step.completed{color:var(--text-primary)}.progress-step:not(.completed){color:var(--text-secondary)}.progress-step-indicator{align-items:center;display:flex;flex-shrink:0;font-size:12px;height:16px;justify-content:center;width:16px}.progress-step-description{flex:1 1}.chat-message.compact{margin-bottom:8px}.chat-message-avatar{align-items:center;background:var(--background-menu-gray);border:2px solid var(--border-main);border-radius:50%;display:flex;flex-shrink:0;font-size:16px;height:40px;justify-content:center;width:40px}.chat-message.assistant .chat-message-avatar,.chat-message.user .chat-message-avatar{background:var(--text-brand);border-color:var(--text-brand);color:#fff}.chat-message-content{flex:1 1;min-width:0}.chat-message.user .chat-message-content{align-items:flex-end;display:flex;flex-direction:column}.chat-message.assistant .chat-message-content{align-items:flex-start;display:flex;flex-direction:column}.chat-message .chat-message-bubble{word-wrap:break-word;border-radius:18px;max-width:70%;padding:16px 20px;position:relative}.chat-message.user .chat-message-bubble{background:var(--chat-user);border-bottom-right-radius:6px;box-shadow:0 2px 8px #0003;color:#fff;margin-left:auto;margin-right:0;transition:all .2s ease}.chat-message.assistant .chat-message-bubble{background:#0000;border:none;border-radius:18px;border-bottom-left-radius:4px;box-shadow:var(--shadow-sm);color:var(--text-primary);font-size:1em;max-width:100%;padding:0 20px;transition:all .2s ease;width:100%}.chat-message.assistant .chat-message-bubble:hover{box-shadow:none;transform:none}.chat-message.user .chat-message-bubble:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-1px)}.chat-message.user .chat-message-bubble.marking-message{background:#363537;border:1px solid #4b5563;box-shadow:0 2px 8px #0003;margin-left:auto;margin-right:0;max-width:70%;padding:12px;text-align:right;width:auto}.chat-message-image{border-radius:12px;cursor:zoom-in;margin-bottom:8px;max-width:550px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.chat-message-image:hover{box-shadow:0 4px 12px #00000026;transform:scale(1.02)}.chat-message.user .chat-message-image{margin:8px 0 4px auto}.chat-message.assistant .chat-message-image{padding-left:25px}.chat-message-image img{border-radius:8px;display:block;height:auto;margin:8px 0;max-height:300px;max-width:400px;object-fit:contain;transition:transform .3s ease;width:100%}.chat-message-image:hover img{transform:scale(1.05)}.homework-annotated-image{border-radius:8px;cursor:zoom-in;margin:8px 0;max-height:500px;max-width:300px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.homework-annotated-image:hover{box-shadow:0 4px 12px #00000026;transform:scale(1.02)}.homework-annotated-image img{border-radius:8px;display:block;height:auto;max-height:none;max-width:500px;object-fit:contain;width:100%}.chat-message.user .homework-annotated-image{margin-left:auto;margin-right:0}.chat-message.assistant .homework-annotated-image{padding-left:25px}.chat-message-image-error{background:var(--function-error);border-radius:8px;color:#fff;font-size:12px;padding:12px;text-align:center}.chat-message-text{font-size:14px;line-height:1.6;white-space:pre-wrap}.chat-message-empty{color:var(--text-tertiary);font-size:12px;font-style:italic}.chat-message-timestamp{color:var(--text-tertiary);font-size:11px;margin-top:4px;padding:0 24px}.chat-message.user:has(.chat-message-image) .chat-message-timestamp{margin-top:2px}.chat-message.compact .chat-message-bubble{font-size:.875rem;padding:.5rem .75rem}.chat-message.compact .chat-message-avatar{font-size:.875rem;height:24px;width:24px}.chat-message.compact .chat-message-image{max-width:150px}@media (max-width:640px){.chat-message-bubble{max-width:85%}.chat-message-image{max-width:150px}}.marking-results{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:12px;padding:12px}.marking-results h4{color:var(--text-primary);font-size:14px;font-weight:600;margin:0 0 12px}.question-result{background:var(--background-primary);border-left:3px solid var(--text-brand);border-radius:6px;margin-bottom:12px;padding:8px}.question-result:last-child{margin-bottom:0}.question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.question-header strong{color:var(--text-primary);font-size:13px}.score{background:var(--background-brand-light);border-radius:4px;color:var(--text-brand);font-size:12px;font-weight:600;padding:2px 6px}.feedback{color:var(--text-secondary);font-size:12px;line-height:1.4}.feedback strong{color:var(--text-primary);font-weight:600}.question-marks{color:#10b981;float:right;font-size:14px;font-weight:500;margin-left:12px}.message-context-tag{align-items:center;color:var(--text-secondary);display:flex;font-size:10px;gap:4px;margin-bottom:4px;opacity:.8;padding:0 24px}.chat-message.user .message-context-tag{justify-content:flex-end}.chat-message.assistant .message-context-tag{justify-content:flex-start}.ai-performance-summary{background:linear-gradient(135deg,#6366f11a,#a855f71a);border-left:4px solid var(--text-brand);border-radius:12px;box-shadow:0 2px 8px #6366f11a;color:var(--text-primary);font-size:15px;font-weight:500;line-height:1.6;margin-bottom:20px;margin-left:24px;margin-right:24px;padding:16px 20px;transition:all .3s ease}.ai-performance-summary:hover{box-shadow:0 4px 12px #6366f126;transform:translateY(-1px)}.ai-performance-summary:before{color:var(--text-brand);content:"✨ AI Performance Summary";display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;opacity:.9;text-transform:uppercase}@media (prefers-color-scheme:dark){.ai-performance-summary{background:linear-gradient(135deg,#6366f126,#a855f726);box-shadow:0 2px 8px #6366f133;margin-left:24px}.ai-performance-summary:hover{box-shadow:0 4px 12px #6366f140}}.summary-separator{border:none;border-top:1px solid var(--border-color);margin:16px 0 8px;opacity:.3}.your-work-wrapper{display:flex;flex-direction:column;margin:25px 0}.your-work-section{background:#fff;border-left:4px solid var(--function-success);border-radius:4px;box-shadow:0 2px 8px #0000000d;color:var(--text-onblack);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;overflow-x:auto;padding:16px}.your-work-header{color:var(--function-success);font-size:15px;font-weight:700;letter-spacing:.5px;margin-bottom:15px;text-transform:uppercase}.your-work-grid-container{grid-column-gap:8px;grid-row-gap:8px;align-items:center;column-gap:8px;display:grid;grid-template-columns:2ch 4ch -webkit-min-content auto auto;grid-template-columns:2ch 4ch min-content auto auto;row-gap:8px}.yw-col-qnum{color:var(--text-onblack);font-weight:600;min-width:1ch;text-align:left}.yw-col-bullet{align-items:center;color:var(--text-onblack);display:flex;font-size:10px;justify-content:center;line-height:1;opacity:.8}.yw-col-sublabel{font-weight:600;min-width:4ch;text-align:left}.yw-col-sublabel,.yw-col-work{color:var(--text-onblack);font-style:italic;white-space:nowrap}.yw-col-work{align-items:center;display:flex;padding-right:12px}.yw-col-work.yw-no-bullet{grid-column:3/5}.yw-col-annotation{color:var(--text-tertiary);display:flex;flex-direction:row;gap:8px;white-space:nowrap}.yw-marks{color:var(--text-brand);font-weight:700;min-width:4ch;white-space:nowrap}.yw-reason{color:var(--text-onblack);white-space:nowrap}@media (max-width:768px){.your-work-grid-container{column-gap:8px;display:block}}.yw-math-renderer{align-items:center!important;display:inline-flex!important;flex:0 1 auto!important;width:auto!important}.yw-math-renderer,.yw-math-renderer .markdown-p{color:var(--text-onblack)!important;margin:0!important;padding:0!important}.yw-math-renderer .markdown-p{display:inline!important}.yw-math-renderer .katex{color:var(--text-onblack)!important;margin:0!important}.yw-math-renderer .katex-display{margin:0!important}.suggested-follow-ups{background-color:var(--background-secondary);border:1px solid var(--background-tertiary);border-radius:8px;margin-top:16px;padding:12px 25px 0}.suggested-follow-ups-header{margin-bottom:8px}.suggested-follow-ups-title{color:var(--text-tertiary);font-size:14px;font-weight:500;margin:0}.suggested-follow-ups-list{display:flex;flex-direction:column}.suggested-follow-up-button{align-items:center;background:#0000;border:none;border-radius:0;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:14px;justify-content:space-between;line-height:22px;margin:0 -12px;min-height:auto;padding:9px 12px;position:relative;text-align:left;transition:all .2s ease;width:calc(100% + 12px)}.suggested-follow-up-button:after{background-color:var(--border-main);bottom:0;content:"";height:1px;left:12px;position:absolute;right:12px}.suggested-follow-up-button:hover{background-color:var(--fill-tsp-white-main);border-radius:10px;box-shadow:none;transform:none}.suggested-follow-up-button:hover:after{display:none}.suggested-follow-up-button:active{box-shadow:none;transform:none}.suggested-follow-up-button:focus{background-color:var(--fill-tsp-white-main);border-radius:10px;outline:none}.suggested-follow-up-button:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.suggested-follow-up-button:disabled:hover{background-color:initial;box-shadow:none;transform:none}.suggested-follow-up-content{align-items:center;display:flex;justify-content:space-between;width:100%}.suggested-follow-up-left{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.suggested-follow-up-start-icon{stroke:var(--icon-tertiary);stroke-width:2;flex-shrink:0;height:16px;width:16px}.suggested-follow-up-text{color:var(--text-tertiary);flex:1 1;font-size:14px;line-height:22px;min-width:0}.suggested-follow-up-end-icon{stroke:var(--icon-disable);stroke-width:2;flex-shrink:0;height:16px;width:16px}@media (max-width:768px){.suggested-follow-ups{margin-top:12px;padding:10px 12px}.suggested-follow-up-button{font-size:13px;padding:8px 12px}.suggested-follow-up-text{font-size:13px}.suggested-follow-up-end-icon,.suggested-follow-up-start-icon{height:14px;width:14px}}.image-mode-modal{background:var(--background-gray-main);display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;width:100%;z-index:10}.image-mode-header{align-items:center;display:flex;justify-content:center;left:0;padding:12px 20px;position:absolute;right:0;top:0;width:100%;z-index:20}.image-mode-controls{align-items:center;-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);background:var(--background-nav);border-radius:8px;display:flex;gap:12px;padding:4px 8px}.zoom-controls{gap:6px}.zoom-btn,.zoom-controls{align-items:center;display:flex}.zoom-btn{background:none;border:none;border-radius:4px;color:#374151;color:var(--icon-primary,#374151);cursor:pointer;height:28px;justify-content:center;transition:background-color .2s ease;width:28px}.zoom-btn:hover:not(:disabled){background:#fffc;background:var(--fill-tsp-white-main,#fffc)}.zoom-btn:disabled{cursor:not-allowed;opacity:.5}.zoom-level{color:#111827;color:var(--text-primary,#111827);font-size:14px;font-weight:400;letter-spacing:-.154px;line-height:20px;min-width:38px;text-align:center;white-space:nowrap}.control-separator{background:#d1d5db;background:var(--border-dark,#d1d5db);height:16px;width:1px}.rotate-btn{align-items:center;background:none;border:none;border-radius:4px;color:#374151;color:var(--icon-primary,#374151);cursor:pointer;display:flex;height:28px;justify-content:center;transition:background-color .2s ease;width:28px}.rotate-btn:hover{background:#fffc;background:var(--fill-tsp-white-main,#fffc)}.download-btn{align-items:center;background:none;border:none;border-radius:4px;color:#374151;color:var(--icon-primary,#374151);cursor:pointer;display:flex;gap:6px;height:28px;padding:0 8px;transition:background-color .2s ease}.download-btn:hover:not(:disabled){background:#fffc;background:var(--fill-tsp-white-main,#fffc)}.download-btn:disabled{cursor:not-allowed;opacity:.5}.download-btn span{color:#111827;color:var(--text-primary,#111827);font-size:14px;font-weight:400;letter-spacing:-.154px;line-height:20px;white-space:nowrap}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#374151;color:var(--icon-primary,#374151);cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:20px;transition:background-color .2s ease;width:28px}.close-btn:hover{background:#fffc;background:var(--fill-tsp-white-main,#fffc)}.image-mode-content{flex:1 1;gap:10px;min-height:0;padding:60px 20px 20px}.image-container,.image-mode-content{align-items:flex-start;display:flex;justify-content:center;width:100%}.image-container{height:100%;position:relative}.main-image{border-radius:8px;cursor:grab;display:inline-flex;max-height:100%;max-width:100%;object-fit:contain;overflow:hidden;touch-action:none;transition:transform .1s ease-out;-webkit-user-select:none;user-select:none;width:760px;will-change:transform}.main-image:active{cursor:grabbing}.image-loading{align-items:center;color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;flex-direction:column;gap:12px}.loading-spinner{border:3px solid #e2e8f0;border-top:3px solid #374151;border:3px solid var(--border-main,#e2e8f0);border-top-color:var(--icon-primary,#374151);height:32px;width:32px}.image-error{align-items:center;color:#dc2626;color:var(--text-error,#dc2626);display:flex;flex-direction:column;gap:12px}.image-error button{background:#111827;background:var(--Button-primary-black,#111827);border:none;border-radius:6px;color:#fff;color:var(--text-onblack,#fff);cursor:pointer;font-size:14px;padding:8px 16px}.image-error button:hover{background:#1f2937;background:var(--Button-primary-black-hover,#1f2937)}.thumbnail-sidebar{align-items:flex-start;display:flex;flex-shrink:0;height:100%;padding:68px 0 20px;position:relative;z-index:10}.thumbnail-list{-ms-overflow-style:none;align-items:flex-end;display:flex;flex-direction:column;gap:8px;max-height:100%;overflow-y:auto;padding-right:16px;scrollbar-width:none;width:100px}.thumbnail-list::-webkit-scrollbar{display:none}.thumbnail-btn{background:none;border:1px solid #e2e8f0;border:1px solid var(--border-main,#e2e8f0);border-radius:8px;cursor:pointer;flex-shrink:0;height:60px;overflow:hidden;padding:0;position:relative;scroll-margin-top:8px;transition:all .2s ease;width:60px}.thumbnail-btn:hover{opacity:.75}.thumbnail-btn.active{border-color:#374151;border-color:var(--icon-primary,#374151);height:72px;opacity:1;width:72px}.thumbnail-badge{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000bf;bottom:0;color:#fff;font-size:12px;left:0;line-height:1.2;overflow:hidden;padding:2px 4px;pointer-events:none;position:absolute;right:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.thumbnail-badge.green{background:var(--function-success)}.thumbnail-badge.red{background:var(--function-error)}.thumbnail-badge.yellow{background:var(--function-warning)}.thumbnail-badge.neutral{background:var(--function-neutral)}.modal-thumbnail-image{display:block;height:100%;max-height:100%;max-width:100%;object-fit:cover;object-position:top center;width:100%}@media (max-width:768px){.image-mode-content{max-width:calc(100% - 80px);padding:68px 12px 32px}.thumbnail-sidebar{width:60px}.thumbnail-list{padding-right:8px;width:60px}.thumbnail-btn{height:32px;width:32px}.thumbnail-btn.active{height:40px;width:40px}}@media (max-width:480px){.image-mode-content{max-width:calc(100% - 60px);padding:68px 8px 32px}.thumbnail-sidebar{width:50px}.thumbnail-list{padding-right:4px;width:50px}.thumbnail-btn{height:28px;width:28px}.thumbnail-btn.active{height:36px;width:36px}.image-mode-controls{gap:8px;padding:2px 6px}.download-btn span{display:none}}.thumbnail-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));max-width:100%;overflow-x:auto;padding:16px}.thumbnail-item{background:var(--background-card-gray);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s ease}.thumbnail-item:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.thumbnail-item:focus{outline:2px solid var(--primary-color);outline-offset:2px}.thumbnail-image{height:120px;object-fit:contain}.multi-image-gallery .thumbnail-image{height:100%;object-fit:cover}.thumbnail-overlay{align-items:flex-end;background:linear-gradient(#0000,#000000b3);bottom:0;display:flex;left:0;padding:8px;position:absolute;right:0}.thumbnail-label{color:#fff;font-size:11px;font-weight:500;text-shadow:0 1px 2px #00000080}.multi-image-gallery{margin:8px 0;max-width:100%;padding:0 13px}.multi-image-gallery.thumbnail-grid{grid-gap:8px;display:grid;gap:8px;grid-auto-flow:row;grid-auto-rows:100px;grid-template-columns:repeat(3,1fr);max-height:320px;overflow-y:auto;padding:12px 25px;width:350px}.multi-image-gallery .thumbnail-item{align-items:center;aspect-ratio:.8!important;border:1px solid var(--border-color);border-radius:6px;display:flex;float:none!important;height:100px;justify-content:center;margin:0!important;overflow:hidden;width:100%}.multi-image-gallery .thumbnail-label{font-size:9px;padding:2px 4px}@media (max-width:768px){.thumbnail-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));padding:12px}.thumbnail-image{height:100px}}@media (max-width:640px){.multi-image-gallery .thumbnail-grid{gap:6px!important;grid-auto-rows:80px!important;grid-template-columns:repeat(3,1fr)!important;max-height:240px!important;padding:8px!important}.multi-image-gallery .thumbnail-item{aspect-ratio:.8!important;height:80px!important}}.thumbnail-error{align-items:center;background:var(--function-error);border-radius:8px;color:#fff;display:flex;font-size:12px;height:100%;justify-content:center;min-height:80px;text-align:center;width:100%}.multi-image-gallery .thumbnail-error{border-radius:6px;font-size:10px;min-height:100px}.pdf-files-container{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);max-width:100%}.chat-message-file-card{align-items:center;background-color:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:all .2s ease;width:100%}.chat-message-file-card:hover{background-color:#333;border-color:#4a4a4a;box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.small-pdf-icon{align-items:center;background-color:#fa423e;border-radius:3px;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.small-pdf-icon-svg{fill:#fff;height:14px;width:14px}.pdf-file-info{display:flex;flex-direction:column;min-width:0}.small-pdf-file-name{font-size:9px;font-weight:500}.pdf-file-size,.small-pdf-file-name{color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-file-size{font-size:8px}.chat-message-file-card .pdf-badge{background:#e74c3c;border-radius:6px;color:#fff;display:inline-block;font-size:11px;font-weight:700;padding:2px 6px}.chat-message-file-card .file-name{color:var(--text-primary);font-size:10px}.gallery-container{width:100%}.gallery-view-toggle{display:flex;gap:4px;justify-content:flex-end;padding:8px 12px}.view-toggle-btn{background:#0000;border:1px solid #3a3a3a;border:1px solid var(--border-color,#3a3a3a);color:#9ca3af;color:var(--text-secondary,#9ca3af);padding:6px 8px}.view-toggle-btn:hover{background:#ffffff0d}.view-toggle-btn.active,.view-toggle-btn:hover{border-color:#8b5cf6;border-color:var(--text-brand,#8b5cf6)}.view-toggle-btn.active{background:#8b5cf6;background:var(--text-brand,#8b5cf6)}.thumbnail-horizontal{display:flex;gap:8px;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:8px 12px;scroll-behavior:smooth;scrollbar-width:none}.thumbnail-horizontal:hover{scrollbar-width:thin}.thumbnail-horizontal::-webkit-scrollbar{height:6px}.thumbnail-horizontal::-webkit-scrollbar-track{background:#0000;border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}.thumbnail-horizontal:hover::-webkit-scrollbar-track{background:#0000001a}.thumbnail-horizontal::-webkit-scrollbar-thumb{background:#0000;border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}.thumbnail-horizontal:hover::-webkit-scrollbar-thumb{background:#ffffff4d}.thumbnail-horizontal:hover::-webkit-scrollbar-thumb:hover{background:#ffffff80}.thumbnail-horizontal .thumbnail-item{aspect-ratio:3/4;flex-shrink:0;height:133px;min-width:100px;width:100px}.thumbnail-horizontal .thumbnail-image{height:100%;object-fit:contain;width:100%}.multi-image-gallery.thumbnail-horizontal{margin:8px 20px;max-width:650px;width:100%}.multi-image-gallery.thumbnail-horizontal .thumbnail-item{aspect-ratio:3/4;height:133px;width:100px}.title-upload-btn{flex-shrink:0;width:200px}.title-upload-btn:hover{background:#404040;box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-2px)}.title-upload-btn:active{box-shadow:0 2px 6px #8b5cf633;transform:translateY(0)}.chat-title-section{margin:0 auto 24px;max-width:1000px;padding-left:0;text-align:left;width:100%}.chat-title-greeting{color:var(--text-primary);font-size:42px;font-weight:500;letter-spacing:-.02em;line-height:1.1;margin:0}.chat-title-subtitle{display:none}.chat-title-followup{bottom:200px;left:280px;margin:0 auto;max-width:1000px;padding:0 16px;pointer-events:none;position:fixed;right:0;text-align:left;z-index:50}.follow-up-chat-input-container.follow-up-bottom .chat-title-followup{display:none}.main-upload-input-bar{margin:0 auto;padding:0}.chat-mode .main-upload-input-bar{background:var(--background-gray-main);margin:0;padding:12px 16px;width:auto;z-index:100}@media (max-width:768px){.chat-title-section{margin-bottom:24px;width:90%}.chat-title-followup{bottom:100px;left:0;padding:0 20px;right:0}.chat-title-greeting{font-size:28px}.chat-title-subtitle{font-size:16px}.chat-mode .main-upload-input-bar{left:0}}.main-chat-input{background:var(--background-white-main);border-radius:8px;font-family:inherit;min-height:60px;padding:16px 20px}.main-chat-input:focus{box-shadow:0 0 0 3px #8b5cf61a}.main-chat-input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.upload-loading-bar{animation:loading-shimmer 2s infinite;background:linear-gradient(90deg,#8b5cf6,#a855f7,#8b5cf6);background-size:200% 100%;border-radius:0 0 12px 12px;bottom:0;left:0;overflow:hidden;position:absolute;right:0}.upload-loading-bar.inside-input{border-radius:8px;position:relative}.loading-content{display:flex;flex-direction:column;gap:8px;padding:12px 20px}.loading-text{color:#fff;font-weight:500}.progress-bar{background:#fff3;border-radius:2px;height:4px;width:100%}.progress-fill{background:#fff;border-radius:2px;transition:width .3s ease}@keyframes loading-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.followup-chat-input-bar{background:var(--background-gray-main);bottom:0;left:280px;padding:12px 16px;position:fixed;right:0;z-index:100}.followup-chat-input-bar.first-time{background:#0000;bottom:auto;left:auto;margin:0 auto;max-width:100%;padding:0;position:relative;right:auto;width:100%}.followup-chat-input-bar.expanded{z-index:1000}.followup-input-wrapper{display:flex;flex-direction:column;margin:0 auto;max-width:1000px;width:100%}.followup-single-line-container{align-items:stretch;background:#363537f2;border:1px solid #ffffff14;border-radius:28px;display:flex;gap:12px;padding:8px 16px;transition:all .2s ease;width:100%}.followup-single-line-container.expanded{align-items:stretch;flex-direction:column;margin-top:-80px;min-height:180px;padding:16px;position:relative;z-index:1000}.followup-preview-section{display:flex;justify-content:flex-start;margin-bottom:12px;padding:8px 0}.followup-image-preview{display:inline-block;position:relative}.followup-preview-image{border:2px solid var(--text-brand);border-radius:8px;max-height:150px;max-width:200px;object-fit:cover}.followup-remove-preview{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:24px;justify-content:center;line-height:1;position:absolute;right:-8px;top:-8px;transition:all .2s ease;width:24px}.followup-remove-preview:hover{background:#dc2626;transform:scale(1.1)}.followup-controls-row{display:flex;flex-direction:column;padding:8px 12px 0;width:100%}.followup-buttons-row{justify-content:space-between;width:100%}.followup-buttons-row,.followup-left-buttons{align-items:center;display:flex;gap:12px}.followup-single-line-container:focus-within{box-shadow:0 0 0 3px #8b5cf61a}.followup-chat-input-bar .followup-upload-button{align-items:center;background:var(--fill-gray);border:none;border-radius:50%;box-sizing:border-box;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.followup-chat-input-bar .followup-upload-button:hover:not(:disabled){background:#4b5563;transform:scale(1.05)}.followup-chat-input-bar .followup-upload-button:active:not(:disabled){transform:scale(.95)}.followup-chat-input-bar .followup-upload-button:disabled{background:#374151;color:#6b7280;cursor:not-allowed;transform:none}.followup-text-wrapper{position:relative;width:100%}.followup-text-input{background:#0000;border:none;border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:1rem;line-height:1.4;max-height:100px;min-height:40px;outline:none;padding:12px 5px 8px;resize:none;transition:all .2s ease;width:100%}.followup-text-input::placeholder{color:var(--text-secondary)}.followup-text-input:focus{box-shadow:0 0 0 2px #8b5cf61a}.followup-text-input:disabled{background:var(--background-card-gray);color:#9ca3af;cursor:not-allowed}.multi-image-preview-container{position:relative;width:100%}.multi-image-scroll{display:flex;flex-wrap:wrap;gap:8px;max-height:300px;overflow-x:auto;overflow-y:scroll;padding:12px 12px 4px 0;scrollbar-color:#ccc #0000;scrollbar-width:thin}.multi-image-scroll::-webkit-scrollbar{height:6px;width:6px}.multi-image-scroll::-webkit-scrollbar-track{background:#0000}.multi-image-scroll::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.multi-image-item{align-items:center;display:flex;flex-direction:column;flex-shrink:0;min-width:80px;position:relative;text-align:center}.multi-image-item .followup-preview-image{border:2px solid var(--text-brand);border-radius:8px;max-height:150px;max-width:200px;object-fit:cover}.multi-image-remove{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:20px;justify-content:center;line-height:1;position:absolute;right:-8px;top:-8px;transition:all .2s ease;width:20px;z-index:1}.multi-image-remove:hover{background:#c82333;transform:scale(1.1)}.multi-image-label{color:#666;font-size:11px;font-weight:500;margin-top:4px}@media (max-width:768px){.followup-chat-input-bar{left:0}.multi-image-item .followup-preview-image{max-height:120px;max-width:150px}}.pdf-preview-container{border:1px solid var(--text-tertiary);border-radius:16px;display:inline-block;margin-bottom:20px;max-width:320px;position:relative}.pdf-preview-content{align-items:center;display:flex;gap:8px;padding:8px}.pdf-icon-wrapper{flex-shrink:0}.pdf-icon{align-items:center;border-radius:8px;display:flex;height:40px;justify-content:center;width:40px}.pdf-icon-svg{color:#fff;height:20px;width:20px}.pdf-file-info{flex:1 1;overflow:hidden}.pdf-file-name{color:var(--text-tertiary);font-size:14px;font-weight:600}.pdf-file-name,.pdf-file-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-file-type{color:#6b7280;font-size:12px}.pdf-remove-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;transition:all .2s ease;width:20px;z-index:2}.pdf-remove-btn:hover{background:#c82333;transform:scale(1.1)}.autocomplete-dropdown.inline-style{animation:dropdown-fade-in-inline .3s ease;background:#0000;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:16px;margin-top:12px;padding:0 12px 16px;z-index:10}@keyframes dropdown-fade-in-inline{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.autocomplete-chips-section{display:flex;flex-direction:column;gap:10px}.autocomplete-chips-label{color:var(--text-tertiary);font-size:13px;font-weight:500;opacity:.8}.autocomplete-chips-container{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:5px 14px;transition:all .2s ease}.filter-chip:hover{background:#ffffff1a;border-color:#fff3}.filter-chip.active{background:var(--text-brand);border-color:#0000;color:#fff}.input-chips-container{display:flex;flex-wrap:wrap;gap:6px;padding:8px 8px 4px 4px;width:100%}.vibrant-chip{align-items:center;animation:chip-pop-in .25s ease-out;background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:12px;color:#c4b5fd;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:4px 10px;transition:all .2s cubic-bezier(.4,0,.2,1)}@keyframes chip-pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.vibrant-chip:hover{background:#8b5cf640;border-color:#8b5cf680;transform:translateY(-1px)}.chip-icon-left{color:#8b5cf6}.chip-remove-btn{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:inherit;cursor:pointer;display:flex;height:16px;justify-content:center;margin-left:2px;transition:all .2s ease;width:16px}.chip-remove-btn:hover{background:#ef44444d;color:#f87171}.followup-text-wrapper.has-chips{display:flex;flex-direction:column}.followup-text-wrapper.has-chips .followup-text-input{padding-top:4px}.autocomplete-results-list{display:flex;flex-direction:column;margin-top:4px}.autocomplete-results-label{color:var(--text-tertiary);font-size:13px;font-weight:500;margin-bottom:8px;opacity:.8}.autocomplete-item{align-items:center;background:#0000;border-bottom:1px solid #ffffff0d;cursor:pointer;display:flex;gap:12px;padding:12px 0;position:relative;transition:all .2s ease}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:#ffffff08;border-radius:8px;margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px}.autocomplete-item.highlighted{background:#ffffff0d;border-radius:8px;padding-left:8px}.suggestion-icon{color:var(--text-secondary);opacity:.5}.suggestion-text{color:var(--text-secondary);flex:1 1;font-size:15px;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease;white-space:nowrap}.autocomplete-item:hover .suggestion-text{color:var(--text-primary)}.check-icon{color:#10b981;opacity:.8}.mark-homework-page{background:var(--background-gray-main);color:var(--text-primary);height:100vh;overflow:visible}.follow-up-chat-input-container.follow-up-center{left:50%;max-width:850px;padding:0 20px;position:absolute;top:40%;transform:translate(-50%,-50%);width:100%;z-index:1000}@media (max-width:768px){.follow-up-chat-input-container.follow-up-center{left:50%;width:100vw}}.chat-panel-layout{width:100%}.follow-up-chat-input-container.follow-up-bottom{background:#0000!important;bottom:0;display:flex;justify-content:center;left:0;max-width:none;padding:0;pointer-events:none;position:absolute;right:0;width:100%;z-index:1000}.follow-up-chat-input-container.follow-up-bottom:before{backdrop-filter:blur(10px) saturate(110%);-webkit-backdrop-filter:blur(10px) saturate(110%);background:linear-gradient(to bottom,#27272800 0,#272728b3 15%,var(--background-gray-main) 10%,var(--background-gray-main) 100%);bottom:0;content:"";height:170px;left:0;mask-image:linear-gradient(0deg,#000 80%,#0000);-webkit-mask-image:linear-gradient(0deg,#000 80%,#0000);pointer-events:none;position:absolute;right:0;z-index:-1}.chat-container{overflow-y:auto}.scroll-to-bottom-container{bottom:90px}.follow-up-chat-input-container.follow-up-bottom .followup-chat-input-bar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#0000!important;border-radius:28px;bottom:auto!important;box-shadow:none!important;left:auto!important;margin:0 auto 20px!important;max-width:800px;padding:8px 12px;pointer-events:auto!important;position:relative!important;right:auto!important;width:80%!important}.follow-up-chat-input-container.follow-up-bottom .followup-single-line-container{border-radius:6px;gap:8px;padding:4px 8px}.follow-up-chat-input-container.follow-up-bottom .followup-text-input{background:#0000;font-size:1rem;min-height:24px;padding:10px 12px 6px}.follow-up-chat-input-container.follow-up-bottom .followup-upload-button{font-size:12px;height:24px;width:24px}.follow-up-chat-input-container.follow-up-bottom .send-button{font-size:12px}.follow-up-chat-input-container.follow-up-bottom .send-button,.follow-up-chat-input-container.follow-up-bottom .send-button.small{height:24px!important;min-height:24px!important;min-width:24px!important;padding:4px!important;width:24px!important}.follow-up-chat-input-container.follow-up-bottom .send-button svg{height:14px!important;width:14px!important}.follow-up-chat-input-container.follow-up-bottom .model-selector-button{font-size:12px;height:24px;padding:4px 8px}@media (max-width:768px){.follow-up-chat-input-container.follow-up-bottom{left:50%;width:100vw}}.upload-bottom.entering{transform:translateY(100%)}.upload-bottom.entered{transform:translateY(0)}.mark-homework-page.chat-mode{background:var(--background-gray-main);border:none;display:flex;flex-direction:column;height:100vh;margin-top:0;overflow:hidden;padding:0}.mark-homework-page.chat-mode .chat-interface{display:flex;flex:1 1;flex-direction:column;min-height:0;position:relative}.mark-homework-header{align-items:center;display:flex;flex-direction:column;margin-bottom:40px;padding:20px 0;text-align:center;width:100%}.mark-homework-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text-brand),#9f7aea);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:800;letter-spacing:-.02em;margin-bottom:12px}.mark-homework-header p{color:var(--text-secondary);font-size:16px;line-height:1.6;margin:0 auto;max-width:600px}.chat-mode{background:#0000;border:none;display:flex;flex-direction:column;height:100vh;margin-top:0;overflow:hidden;padding:0}.chat-panel-layout{height:100%;overflow:hidden}.chat-container,.chat-panel-layout{display:flex;flex:1 1;flex-direction:column;min-height:0;position:relative}.chat-container{align-items:stretch;background:var(--background-gray-main);margin:0;overflow-x:hidden;overflow-y:scroll!important;padding-top:20px;width:100%}.chat-container::-webkit-scrollbar{display:block!important;height:12px!important;width:12px!important}.chat-container::-webkit-scrollbar-track{background:#1a1a1a!important;border-left:1px solid var(--border-main)!important}.chat-container::-webkit-scrollbar-thumb{background:#666!important;border:2px solid #1a1a1a!important;border-radius:6px!important}.chat-container::-webkit-scrollbar-thumb:hover{background:#888!important}.chat-header{background:var(--background-gray-main)!important;flex-shrink:0!important;justify-content:space-between!important;max-width:1000px!important;opacity:1!important;position:-webkit-sticky!important;position:sticky!important;top:0!important;transform:translateY(0)!important;transition:transform .3s ease-out,opacity .3s ease-out!important;width:80vw!important;z-index:100!important}.chat-header,.chat-header-content{align-items:center!important;display:flex!important;height:50px!important;margin:0 auto!important}.chat-header-content{gap:0!important;overflow:visible!important;width:100%!important}.chat-header.hidden{opacity:0;transform:translateY(-100%)}.chat-header .chat-header-left h1{color:var(--text-primary)!important;font-size:16px!important;font-weight:500!important;line-height:1.3!important;margin-bottom:8px!important;word-break:break-word!important}.chat-header .chat-header-left{gap:12px!important;margin-right:auto!important}.chat-header .chat-header-left,.chat-header .chat-header-right{align-items:center!important;display:flex!important;flex:0 0 auto!important}.chat-header .chat-header-right{gap:16px!important;margin-left:auto!important}.favorite-btn.active{background:var(--text-brand);border-color:var(--text-brand);color:#fff}.context-image{border:2px solid var(--border-main);border-radius:12px;height:168px;object-fit:cover;width:180px}.classification-info{background:#7f00ff1a;border:1px solid var(--text-brand);border-radius:8px;color:var(--text-secondary);font-size:14px;margin-bottom:8px;padding:8px 12px;text-align:left}.raw-toggle-btn,.switch-mode-btn{background:var(--background-menu-gray);border:1px solid #111827;border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.raw-toggle-btn:hover,.switch-mode-btn:hover{background:#7f00ff1a;border-color:var(--text-brand)}.header-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.header-btn:hover{background:#7f00ff1a;color:var(--text-brand)}.header-btn.favorite-btn,.header-btn.info-btn{background:none}.header-btn.favorite-btn:hover,.header-btn.info-btn:hover{background:#7f00ff1a}.header-btn.favorite-btn.favorited{color:#ffc107}.header-btn.favorite-btn.favorited:hover{background:#ffc1071a;color:#ffc107}.chat-messages{background:#0000;border:none;border-radius:0;display:flex;flex:1 1;flex-direction:column;gap:16px;margin:0 auto;max-width:1000px;min-height:0;padding-bottom:500px;padding-left:60px;padding-right:60px;width:80vw}.scroll-to-bottom-container{bottom:100px;display:flex;justify-content:center;left:50%;opacity:1;pointer-events:auto;position:absolute;right:auto;transform:translateX(-50%);transition:all .3s ease;width:auto;z-index:1001}.scroll-to-bottom-container.show{opacity:1;visibility:visible}.scroll-to-bottom-container.hidden{opacity:0;pointer-events:none;visibility:hidden}.scroll-to-bottom-btn{align-items:center;background:--text-brand;background:var(--text-brand,--text-brand);border:none;border-radius:50%;box-shadow:0 6px 20px #0006;color:#fff;cursor:pointer;display:flex;font-size:18px;height:50px;justify-content:center;pointer-events:auto;transition:all .2s ease;width:50px;z-index:1001}.scroll-to-bottom-btn:hover{background:#2563eb;background:var(--text-brand,#2563eb);box-shadow:0 8px 25px #00000080;transform:translateY(-3px) scale(1.1)}.scroll-to-bottom-btn:active{box-shadow:0 4px 15px #0006;transform:translateY(-1px) scale(1.05)}.scroll-to-bottom-btn.new-response-btn{background:#10b981}.scroll-to-bottom-btn.new-response-btn.blinking{animation:blink 1.5s infinite}.scroll-to-bottom-btn.new-response-btn:hover{background:#059669;box-shadow:0 8px 25px #10b98180;transform:translateY(-3px) scale(1.1)}.scroll-to-bottom-btn.new-response-btn:active{box-shadow:0 4px 15px #10b98166;transform:translateY(-1px) scale(1.05)}.new-response-icon{align-items:center;display:flex;flex-direction:column;gap:2px}.new-text{font-size:10px;font-weight:600;letter-spacing:.5px;line-height:1;text-transform:uppercase}@keyframes blink{0%,50%{opacity:1;transform:scale(1)}25%,75%{opacity:.7;transform:scale(.95)}}.chat-message{background:#0000;border:none;border-radius:0;display:flex;padding:0;scroll-margin-top:120px}.chat-message:last-child{margin-bottom:24px}.chat-message.user{align-items:flex-end;justify-content:flex-end;text-align:right}.chat-message.assistant{justify-content:flex-start;width:100%}.chat-message.assistant .chat-message-bubble:has(.homework-annotated-image){background:#0000;border:none;box-shadow:none}.annotated-image,.content-image{border-radius:8px;display:block;height:auto;margin:8px 0;max-height:400px;max-width:100%;object-fit:contain;width:auto}.content-image{border-radius:6px;max-height:300px;max-width:400px}.chat-message.user .content-image{margin-left:auto;margin-right:0}.chat-message.assistant .content-image{padding-left:25px}.annotated-image{border-radius:8px;max-height:none;max-width:500px}.chat-message.user .annotated-image{margin-left:auto;margin-right:0}.chat-message.assistant .annotated-image{padding-left:0}.message-text{word-wrap:break-word;color:var(--text-primary);font-size:16px;line-height:1.6;margin:0}.message-timestamp{font-size:11px;margin-top:8px;opacity:.8}.chat-message.user .message-timestamp{color:#fffc}.chat-message.assistant .message-timestamp{color:var(--text-secondary)}.assistant-header{align-items:center;color:var(--text-primary);display:flex;flex-direction:row;font-size:20px;font-weight:700;gap:12px;justify-content:flex-start;margin-bottom:8px}.assistant-header .thinking-indicator{flex:1 1;margin:0;padding-top:10px}.progress-details-container{margin-bottom:8px;padding:12px}.assistant-brain-icon{color:var(--text-brand);flex-shrink:0;height:20px;width:20px}.ai-thinking{background:var(--background-menu-gray)!important;border:1px solid #111827;transition:all .5s ease}.ai-thinking.expanded{align-items:center;display:flex;height:70%;justify-content:center;max-width:70%!important;min-height:200px;width:70%}.thinking-indicator{align-items:flex-start;display:flex;flex-direction:column}.thinking-dots{align-items:center;display:flex;flex-shrink:0;gap:8px}.thinking-dot{animation:thinkingPulse 1.4s ease-in-out infinite both;background:var(--text-brand);border-radius:50%;height:8px;width:8px}.thinking-dot:first-child{animation-delay:-.32s}.thinking-dot:nth-child(2){animation-delay:-.16s}.thinking-dot:nth-child(3){animation-delay:0s}.thinking-dot.no-animation{animation:none}.thinking-text{color:var(--text-tertiary);flex-shrink:1;font-size:14px;font-style:italic;font-weight:500;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis}.ai-thinking.expanded .thinking-text{color:var(--text-primary);font-size:16px;font-weight:600}.progress-indicator{align-items:center;display:flex;flex-direction:column;gap:12px;margin-top:20px}.progress-accordion details{width:100%}.progress-accordion summary{transition:color .2s ease;-webkit-user-select:none;user-select:none}.progress-accordion summary:hover{color:var(--text-brand)}.progress-accordion details[open] summary span:last-child{transform:rotate(180deg);transition:transform .2s ease}.thinking-indicator details,.thinking-indicator details>*{margin-left:0!important;padding-left:0!important}.progress-bar{background:var(--border-main);border-radius:4px;height:8px;overflow:hidden;width:200px}.progress-fill{background:linear-gradient(90deg,var(--text-brand),#9f7aea);height:100%}.progress-text{color:var(--text-tertiary);font-size:12px;font-weight:500}@keyframes progressFill{0%{width:0}50%{width:70%}to{width:100%}}@keyframes thinkingPulse{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.progress-main-line{align-items:center;display:flex;gap:8px;padding:0 0 8px;white-space:nowrap;width:100%}.progress-toggle-container{flex-shrink:0;height:16px;width:16px}.progress-toggle-button,.progress-toggle-container{align-items:center;display:flex;justify-content:center}.progress-toggle-button{background:none;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;margin:0;outline:none;padding:4px;transition:all .2s ease}.progress-toggle-button:hover{background:#7f00ff1a;color:var(--text-brand)}.progress-details-container{align-items:flex-start;background-color:initial;border-radius:0;display:flex;flex-direction:row;gap:0;position:relative}.progress-message-text{flex-shrink:0;font-size:14px;white-space:nowrap}.progress-step-text{color:#666;flex-shrink:0;font-size:12px;white-space:nowrap}.progress-bar-container{background:var(--border-main);border-radius:4px;flex-shrink:0;height:8px;overflow:hidden;width:120px}.step-list-container{background:#0000;border:none;border-radius:0;display:flex;flex-direction:column;gap:0;position:relative}.progress-details-container{background:var(--background-gray-main);border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:8px;padding:8px}.step-list-container:before{background:var(--text-tertiary);border-radius:1px;bottom:15px;content:"";left:8px;position:absolute;top:15px;width:2px;z-index:0}.step-item{align-items:center;border-radius:0;display:flex;font-size:15px;gap:12px;padding:12px 0;position:relative;transition:background-color .2s ease}.step-item:hover{background-color:#0000000d}.step-indicator{align-items:center;background-color:var(--background-card-gray);border:2px solid var(--text-tertiary);border-radius:50%;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:20px;justify-content:center;position:relative;width:20px;z-index:2}.step-item.completed .step-indicator,.step-item.current .step-indicator,.step-item:not(.completed):not(.current) .step-indicator{background-color:var(--background-card-gray);border-color:var(--text-tertiary);color:var(--text-tertiary)}.step-description{color:var(--text-secondary);flex:1 1;font-weight:500;line-height:1.4}.step-item.completed .step-description{color:var(--text-primary);opacity:.7}.step-item.current .step-description{color:var(--text-primary);font-weight:500}.marking-header-unified{background:var(--background-gray-main)!important;display:flex;flex-direction:column;flex-shrink:0;position:relative;z-index:110}.marking-header-ribbon-row{align-items:center;background:var(--background-gray-main);display:flex;justify-content:space-between;padding:0 20px;width:100%}.ribbon-wrapper-full-width{flex:1 1;min-width:0}.context-filter-wrapper{align-items:center;border-left:1px solid var(--border-main);display:flex;gap:8px;margin-left:8px;padding-left:12px}.filter-toggle-btn{align-items:center;background-color:initial;border:1px solid var(--border-main);border-radius:16px;color:var(--text-primary);cursor:pointer;display:flex;font-size:12px;gap:6px;padding:4px 10px;transition:all .2s;white-space:nowrap}.filter-toggle-btn.active{background-color:var(--Button-primary-black);color:var(--background-gray-main)}.marking-header-unified:after{backdrop-filter:blur(20px) saturate(120%);-webkit-backdrop-filter:blur(20px) saturate(120%);background:linear-gradient(to bottom,var(--background-gray-main) 0,#27272866 40%,#0000 100%);content:"";height:20px;left:0;mask-image:linear-gradient(180deg,#000 0,#0000);-webkit-mask-image:linear-gradient(180deg,#000 0,#0000);pointer-events:none;position:absolute;right:0;top:100%;z-index:100}.processing-dots:after{animation:dots 1.5s steps(5) infinite;content:".";display:inline-block;width:1.5em}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%{content:"..."}80%,to{content:""}}.mark-homework-page{display:flex;flex:1 1;flex-direction:column;height:100%;min-height:0;overflow:hidden}.split-view-container{display:flex;flex:1 1;gap:16px;height:100%;overflow:hidden;padding:0 16px 0 0}.split-chat-panel{background:#0000;display:flex;flex-direction:column}.split-canvas-panel,.split-chat-panel{flex:1 1;min-width:320px;overflow:hidden;position:relative;width:50%}.split-canvas-panel{background:var(--background-gray-main);border:1px solid var(--border-main);border-radius:24px;box-shadow:0 4px 12px #00000014;margin-bottom:8px;margin-top:10px;transition:all .3s cubic-bezier(.4,0,.2,1)}.question-navigator-ribbon-wrapper{background:var(--background-gray-main);border-bottom:1px solid var(--border-color);position:relative;width:100%;z-index:90}.question-navigator-ribbon-container{margin:0;padding-right:20px;width:100%}.mark-homework-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:0 auto;max-width:1200px;text-align:center;width:100%}.upload-section{background:#363537;border:2px solid var(--border-main);border-radius:24px;height:-webkit-fit-content;height:fit-content;overflow:visible;padding:32px;position:relative;text-align:center;transition:all .3s ease;width:100%}.upload-section.bottom-upload{background:linear-gradient(135deg,var(--background-menu-white),var(--background-menu-gray));border-top:2px solid var(--text-brand);margin-top:40px}.historical-marking-data{background:var(--background-menu-gray);border:1px solid #111827;border-radius:8px;box-shadow:var(--shadow-sm);margin-top:16px;padding:16px}.historical-header{border-bottom:1px solid var(--border-main);margin-bottom:16px;padding-bottom:12px}.historical-header h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 8px}.historical-meta{color:var(--text-tertiary);display:flex;font-size:12px;gap:16px}.historical-meta span{background:#363537;border:1px solid #111827;border-radius:4px;padding:4px 8px}.marking-annotations{margin-bottom:16px}.marking-annotations h5{color:var(--text-primary);font-size:14px;font-weight:600;margin:0 0 8px}.marking-annotations ul{list-style-type:disc;margin:0;padding-left:20px}.marking-annotations li{color:var(--text-secondary);font-size:13px;line-height:1.4;margin-bottom:8px}.marking-annotations strong{color:var(--text-brand);font-weight:600}.bbox-info{color:var(--text-tertiary);font-size:11px;font-style:italic;margin-left:8px}.upload-section:hover{border-color:var(--text-brand);box-shadow:0 20px 40px #7f00ff26;transform:translateY(-4px)}.image-preview-container{background:var(--background-menu-gray);border:2px solid var(--border-main);border-radius:16px;max-width:100%;overflow:hidden;position:relative;transition:all .3s ease;width:100%}.image-preview-container:hover{border-color:var(--text-brand);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.preview-overlay{background:linear-gradient(#0000,#000c);bottom:0;color:#fff;left:0;padding:20px;position:absolute;right:0}.file-info{display:flex;flex-direction:column;gap:4px}.file-name{color:#fff;font-size:14px;font-weight:500;word-break:break-word}.file-size{background:#fff3;border-radius:6px;color:#fffc;font-size:12px;padding:4px 8px}.change-image-btn,.file-size{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.change-image-btn{background:var(--text-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.change-image-btn:hover{background:var(--accent-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.upload-area{align-items:center;background:var(--background-menu-gray);border:3px dashed var(--border-main);border-radius:20px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:250px;padding:60px 32px;position:relative;text-align:center;transition:all .3s ease}.upload-area:hover{background:#7f00ff0d}.upload-area.dragover,.upload-area:hover{border-color:var(--text-brand);transform:scale(1.02)}.upload-area.dragover{background:#7f00ff1a}.upload-icon{color:var(--text-brand);font-size:64px;margin-bottom:20px;opacity:.9;transition:all .3s ease}.upload-area:hover .upload-icon{opacity:1;transform:scale(1.1)}.upload-text{color:var(--text-primary);font-size:20px;font-weight:700;margin-bottom:10px}.upload-subtext{line-height:1.5;margin-bottom:24px}.upload-hint,.upload-subtext{color:var(--text-secondary);font-size:14px}.upload-hint{margin-top:16px;opacity:.7}.upload-actions{margin-top:32px;text-align:center}.upload-homework-btn{align-items:center;background:linear-gradient(135deg,var(--text-brand),#9f7aea);border:none;border-radius:16px;box-shadow:0 8px 24px #7f00ff4d;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:12px;padding:16px 32px;transition:all .3s ease}.upload-homework-btn:hover{box-shadow:0 12px 32px #7f00ff66;transform:translateY(-2px)}.upload-homework-btn:active{transform:translateY(0)}.upload-homework-btn:disabled{background:var(--text-tertiary)!important;border:1px solid #111827;box-shadow:none;color:var(--text-secondary);cursor:not-allowed;transform:none}.upload-homework-btn .upload-spinner{animation:uploadSpin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;margin-right:8px;width:20px}@keyframes uploadSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-progress-container{margin-left:auto;margin-right:auto;margin-top:24px;max-width:400px}.loading-progress-bar{background:var(--background-menu-gray);border:1px solid #111827}.loading-progress-fill{background:linear-gradient(90deg,var(--text-brand),#9f7aea);overflow:hidden}.loading-progress-fill:after{animation:shimmer 1.5s infinite}.loading-progress-container{margin-top:20px;width:100%}.loading-progress-bar{background-color:var(--border-main);border-radius:4px;height:8px;overflow:hidden;position:relative;width:100%}.loading-progress-fill{background:linear-gradient(90deg,var(--primary-color),var(--text-brand));border-radius:4px;height:100%;position:relative;transition:width .3s ease}.loading-progress-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.loading-progress-text{color:var(--text-secondary);font-size:14px;font-weight:500;margin-top:12px;min-height:20px;text-align:center}.image-with-overlay{display:inline-block;max-width:100%;position:relative}.base-image{border:1px solid #111827;border-radius:8px;display:block;height:auto;max-width:100%}.svg-overlay{pointer-events:none;z-index:10}.svg-overlay,.svg-overlay svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotations-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.annotation-item{background:#363537;border:1px solid #111827;border-radius:8px;padding:16px;transition:all .2s ease}.annotation-item:hover{border-color:var(--text-brand);box-shadow:0 2px 8px #0000001a}.annotation-action{margin-bottom:8px}.action-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.action-tick{background:#22c55e1a;border:1px solid #22c55e33;color:#16a34a}.action-cross{background:#ef44441a;border:1px solid #ef444433;color:#dc2626}.action-circle{background:#3b82f61a;border:1px solid #3b82f633;color:#2563eb}.action-underline{background:#f59e0b1a;border:1px solid #f59e0b33;color:#d97706}.action-comment{background:#a855f71a;border:1px solid #a855f733;color:#9333ea}.annotation-comment{color:var(--text-primary);font-weight:500;line-height:1.5;margin-bottom:8px}.annotation-text{background:#3b82f60d;border-left:3px solid var(--text-brand);font-style:italic;margin-bottom:8px;padding:8px 12px}.annotation-position,.annotation-text{border-radius:4px;color:var(--text-secondary)}.annotation-position{background:var(--background-white-main);border:1px solid #111827;font-family:Courier New,monospace;font-size:12px;padding:4px 8px}.upload-main-content{left:0;padding:0 24px;top:0;transform:none}.upload-main-content,.upload-title-section{margin:0 auto;max-width:1000px;position:relative;width:100%}.upload-title-section{align-items:stretch;display:flex;gap:24px;text-align:left}.title-content{display:flex;flex:1 1;flex-direction:column;justify-content:center}.upload-title-section h1{color:#fff;font-size:48px;font-weight:700;line-height:1.2;margin:0 0 16px}.upload-title-section p{color:var(--text-secondary);font-size:18px;line-height:1.5;margin:0}.upload-button-base{align-items:center;cursor:pointer;display:flex;justify-content:center;position:relative;transition:all .2s ease}.title-upload-btn{background:#363537;border:2px solid var(--text-brand);border-radius:8px;color:var(--text-primary);flex-direction:column;font-size:12px;font-weight:500;gap:8px;height:100%;margin-top:0;min-height:120px;padding:20px 16px;transform:translateX(0)}.title-upload-btn svg{height:32px;width:32px}.title-upload-btn:hover{background:var(--background-menu-gray);border-color:var(--text-brand);box-shadow:0 0 0 2px #7f00ff33}.title-upload-btn.has-image{background-position:50%;background-repeat:no-repeat;background-size:40%;border:2px solid #ffffff4d;color:#fff;overflow:hidden;position:relative;text-shadow:0 2px 4px #000c}.title-upload-btn.has-image:before{background:#0009;border-radius:inherit;bottom:0;content:"";left:-5%;position:absolute;right:-5%;top:0;width:110%;z-index:1}.title-upload-btn.has-image .change-image-text{font-weight:600;position:relative;text-shadow:0 2px 4px #000c;z-index:2}.title-upload-btn.has-image:hover:before{background:#0006}.main-upload-input-bar{background:#0000;border:none;border-radius:12px;box-shadow:none;left:0;margin-top:40px;padding:16px 0;position:relative;top:0;transform:none;width:80%;z-index:100}.chat-mode .main-upload-input-bar{background:var(--background-white-main);border-radius:0;bottom:0;box-shadow:0 -2px 10px #0000001a;left:280px;padding:16px 20px;position:fixed;right:0;top:auto;transform:none;z-index:1000}@media (max-width:768px){.chat-mode .main-upload-input-bar{left:0}}.main-upload-input{background:#363537;border:1px solid #111827;border-radius:12px;display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:1000px;padding:8px 8px 0;position:relative;width:100%}.main-upload-input .model-selector{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px;margin-top:0;padding:0 12px 16px}.main-upload-input .model-selector .left-controls{align-items:center;display:flex;gap:8px}.main-upload-input .input-container{position:relative;width:100%}.main-chat-input{background:#0000;border:none;border-radius:6px;box-sizing:border-box;color:var(--text-primary);direction:ltr;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;margin:0;max-height:120px;min-height:48px;outline:none;padding:12px 16px;resize:none;text-align:left;transition:all .2s ease;width:100%}.main-chat-input::placeholder{color:var(--text-secondary);font-size:16px}.main-chat-input:focus{outline:none}.upload-loading-bar{align-items:center;display:flex;justify-content:center;margin-top:20px;padding:20px 0;width:100%}.upload-loading-bar.inside-input{margin-top:8px;padding-top:8px}.upload-loading-bar .loading-content{align-items:center;display:flex;flex-direction:column;gap:12px}.upload-loading-bar .loading-text{color:var(--text-primary);font-size:16px;font-weight:600;text-align:center}.upload-loading-bar .progress-bar{background:var(--border-main);border-radius:4px;height:8px;overflow:hidden;width:300px}.upload-loading-bar .progress-fill{background:linear-gradient(90deg,var(--text-brand),#9f7aea);border-radius:4px;height:100%;overflow:hidden;position:relative;transition:width .3s ease}.upload-loading-bar .progress-fill:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.navigator-side{flex-shrink:0;margin:10px 30px;width:100px}.question-navigator-table-horizontal{background-color:var(--surface-secondary);border-radius:8px;margin-bottom:12px;padding:8px}.table-ribbon-scroll-container{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scroll-behavior:smooth;scrollbar-width:thin}.table-ribbon-scroll-container::-webkit-scrollbar{height:6px}.table-ribbon-scroll-container::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.table-ribbon-scroll-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.table-ribbon-scroll-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}.table-ribbon-item{align-items:center;background-color:var(--surface-secondary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:.95rem;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.table-ribbon-item:hover{background-color:var(--surface-tertiary);transform:translateY(-1px)}.table-ribbon-item.active{background-color:var(--brand-primary-light);border-color:var(--brand-primary);color:var(--brand-primary);font-size:1rem;font-weight:600;padding:10px 16px}.table-ribbon-item .q-label{font-weight:600}.table-ribbon-item .score-text{font-size:.85rem}.question-navigator-table-wrapper{background-color:var(--surface-secondary);border:1px solid var(--border-color);border-radius:12px;display:none;flex-direction:column;height:100%;max-height:350px;overflow:hidden}.ribbon-label{color:var(--text-tertiary);font-size:8px;font-weight:600;letter-spacing:1px;opacity:.8;text-transform:uppercase;white-space:nowrap}.question-navigator-ribbon{align-items:flex-start;background-color:initial;border-bottom:none;display:flex;flex-direction:column;gap:0;position:relative;width:100%;z-index:100}.ribbon-nav-row{align-items:center;display:flex;gap:12px;padding:0;position:relative;width:100%}.ribbon-scroll-container{-ms-overflow-style:none;align-items:center;display:flex;flex:1 1;gap:8px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none}.ribbon-scroll-container::-webkit-scrollbar{display:none}.ribbon-item{align-items:center;background-color:var(--surface-secondary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:6px;justify-content:center;min-height:36px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.ribbon-item:hover{background-color:var(--surface-tertiary);transform:translateY(-1px)}.ribbon-item.active{background-color:var(--brand-primary-light);border-color:var(--brand-primary);color:var(--brand-primary);font-size:1rem;font-weight:600;padding:8px 14px;transform:scale(1.1)}.status-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.score-text{font-size:.8rem;font-weight:600;line-height:1}.score-text.green{color:var(--function-success)}.score-text.yellow{color:var(--function-warning)}.score-text.red{color:var(--function-error)}.score-text.neutral{color:var(--function-neutral)}.nav-arrow{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0d;border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:all .2s;width:32px}.nav-arrow:hover{background-color:var(--surface-tertiary);color:var(--text-primary)}.library-item{background-color:var(--background-menu-white);border:1px solid var(--border-main);border-radius:8px;cursor:default;padding:16px;transition:all .2s ease}.library-item:hover{border-color:var(--text-brand);box-shadow:0 0 20px #3b82f626,var(--shadow-M);transform:translateY(-2px)}.library-item-header{align-items:flex-start;display:flex;flex-direction:column;gap:8px;margin-bottom:12px;position:relative}.library-item-top-row{align-items:center;display:flex;gap:12px;justify-content:space-between;width:100%}.library-item-date{color:var(--text-tertiary)}.library-item-date,.library-item-score{flex-shrink:0;font-size:10px;white-space:nowrap}.library-item-score{background-color:var(--background-menu-white);border:1px solid var(--border-main);border-radius:4px;color:var(--function-error);font-weight:500;padding:2px 4px}.library-item-title-wrapper{display:flex;flex-direction:column;gap:4px;min-width:0;width:100%}.library-item-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;color:var(--text-primary);display:-webkit-box;font-size:12px;font-weight:500;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.library-item-thumbnails{display:flex;flex-wrap:wrap;gap:8px}.library-thumbnail{border:1px solid var(--border-main);border-radius:6px;cursor:pointer;flex-shrink:0;height:80px;overflow:hidden;position:relative;transition:all .2s ease;width:80px}.library-thumbnail:hover{border-color:var(--text-brand);box-shadow:var(--shadow-M);transform:scale(1.05)}.library-thumbnail:focus{outline:2px solid var(--text-brand);outline-offset:2px}.thumbnail-image{display:block;height:100%;object-fit:cover;width:100%}.more-files-btn{word-wrap:break-word;align-items:center;background-color:var(--fill-tsp-white-main);border:1px solid var(--border-main);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:11px;height:80px;justify-content:center;line-height:1.2;max-width:80px;min-width:80px;overflow-wrap:break-word;padding:8px 6px;text-align:center;transition:all .2s ease;white-space:normal}.more-files-btn span{display:block;text-align:center;width:100%}.more-files-btn:hover{background-color:var(--background-gray-main);border-color:var(--border-dark);color:var(--text-primary)}.collapse-files-btn{word-wrap:break-word;align-items:center;background-color:var(--background-menu-gray);border:1px solid var(--border-main);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:11px;height:80px;justify-content:center;line-height:1.2;max-width:80px;min-width:80px;overflow-wrap:break-word;padding:8px 6px;text-align:center;transition:all .2s ease;white-space:normal}.collapse-files-btn:hover{background-color:var(--background-gray-main);border-color:var(--border-dark);color:var(--text-primary)}.library-group{margin-bottom:32px}.library-group-header{align-items:center;background-color:var(--background-menu-white);border:1px solid var(--border-main);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.library-group-header:hover{background-color:var(--background-menu-gray)}.group-chevron{color:var(--text-secondary);flex-shrink:0}.group-count{color:var(--text-tertiary);font-size:14px;font-weight:400}.library-group-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:16px;padding:0}.library-page{background-color:var(--background-gray-main);color:var(--text-primary);display:flex;flex:1 1;flex-direction:column;height:100vh;overflow:hidden;position:relative}.library-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:24px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.library-title{color:var(--text-primary);font-size:24px;font-weight:600;margin:0}.library-controls{align-items:center;display:flex;gap:16px}.library-filters{align-items:center;display:flex;gap:8px}.filter-dropdown{align-items:center;background-color:var(--background-menu-white);border:1px solid var(--border-main);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.filter-dropdown:hover{background-color:var(--background-menu-gray)}.favorite-filter-btn{align-items:center;background-color:var(--background-menu-white);border:1px solid var(--border-main);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.favorite-filter-btn:hover{background-color:var(--background-menu-gray);color:var(--text-primary)}.favorite-filter-btn.active{border-color:var(--function-warning);color:var(--function-warning)}.library-search{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-tertiary);left:12px;pointer-events:none;position:absolute}.search-input{background-color:var(--background-menu-white);border:1px solid var(--border-main);border-radius:6px;color:var(--text-primary);font-size:14px;padding:8px 12px 8px 36px;transition:all .2s ease;width:200px}.search-input:focus{border-color:var(--text-brand);box-shadow:0 0 0 3px var(--fill-blue);outline:none}.search-input::placeholder{color:var(--text-tertiary)}.library-view-toggle{align-items:center;display:flex;gap:4px}.view-toggle-btn{align-items:center;background-color:var(--background-menu-white);border:1px solid var(--border-main);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.view-toggle-btn:hover{background-color:var(--background-menu-gray);color:var(--text-primary)}.view-toggle-btn.active{background-color:var(--text-brand);border-color:var(--text-brand);color:#fff}.library-content{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:24px 32px}.library-content::-webkit-scrollbar{width:8px}.library-content::-webkit-scrollbar-track{background:var(--background-nav);border-radius:4px}.library-content::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}.library-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.library-loading{flex-direction:column;gap:16px}.library-empty,.library-loading{align-items:center;color:var(--text-secondary);display:flex;height:100%;justify-content:center}.library-empty{font-size:16px}.analysis-report{background:var(--background-secondary);border-radius:8px;color:var(--text-primary);margin:16px 0}.re-analysis-banner{background:#fbbf2426;border:1px solid #fbbf244d;border-radius:8px;color:#fbbf24;font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 16px}.re-analysis-banner p{margin:0}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--border-main);border-radius:50%;border-top-color:var(--text-brand);height:40px;width:40px}.analysis-empty-state,.analysis-error,.analysis-loading{color:var(--text-secondary);padding:40px;text-align:center}.analysis-error{color:var(--text-error)}.generate-button,.retry-button{background:var(--text-brand);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;margin-top:16px;padding:10px 20px;transition:background .2s ease}.generate-button:hover,.retry-button:hover{background:var(--text-brand-hover)}.performance-overview{background:var(--background-tertiary);border:1px solid var(--border-main);border-radius:8px;margin-bottom:24px;padding:20px}.performance-overview h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 16px}.performance-stats{align-items:center;display:flex;flex-wrap:nowrap;gap:32px;margin-bottom:16px}.stat-item{white-space:nowrap}.stat-label{font-size:14px}.stat-value{font-size:24px;font-weight:700}.performance-summary-section{background:var(--background-tertiary);border:1px solid var(--border-main);border-radius:8px;margin-bottom:24px;padding:20px}.performance-summary-section h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 12px}.performance-summary-section p{color:var(--text-secondary);font-size:15px;line-height:1.7;margin:0}.grade-analysis{background:var(--background-tertiary);border:1px solid var(--border-main);border-radius:8px;margin-bottom:24px;margin-top:20px;padding:20px}.grade-analysis h3{color:var(--function-warning);font-size:16px;font-weight:600;margin:0 0 12px}.grade-analysis-text{margin:0}.grade-analysis-text p{color:var(--function-warning);font-size:16px;line-height:1.7;margin:0 0 8px}.grade-analysis-text p:last-child{margin-bottom:0}.strengths-weaknesses{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px}.strengths-section,.weaknesses-section{background:var(--background-tertiary);border:1px solid var(--border-main);border-radius:8px;padding:20px}.strengths-section h3,.weaknesses-section h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 12px}.strengths-section ul,.weaknesses-section ul{list-style-type:disc;margin:0;padding-left:20px}.strengths-section li,.weaknesses-section li{color:var(--text-secondary);line-height:1.5;margin-bottom:8px}.topic-analysis{margin-bottom:24px}.topic-analysis h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 20px}.topic-group{margin-bottom:24px}.topic-group:last-child{margin-bottom:0}.topic-group-title{border-radius:6px;display:inline-block;font-size:16px;font-weight:600;margin:0 0 12px;padding:8px 12px}.topic-group-title.strong{background:#22c55e26;border:1px solid #22c55e4d;color:#22c55e}.topic-group-title.average{background:#fbbf2426;border:1px solid #fbbf244d;color:#fbbf24}.topic-group-title.weak{background:#ef444426;border:1px solid #ef44444d;color:#ef4444}.topics-list{display:flex;flex-direction:column;gap:16px}.topic-card{background:var(--background-tertiary);border:1px solid var(--border-main);border-radius:8px;padding:20px;transition:all .2s ease}.topic-card:hover{border-color:var(--text-brand);box-shadow:0 2px 8px #0000001a}.topic-card-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.topic-name-section{display:flex;flex:1 1;flex-direction:column;gap:8px}.topic-name-section h4{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.topic-score-section{align-items:center;display:flex;flex-shrink:0}.topic-score{background:var(--background-gray-main);color:var(--text-secondary);font-size:16px;padding:4px 12px}.performance-badge,.topic-score{border-radius:6px;font-weight:600}.performance-badge{display:inline-block;font-size:12px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.performance-badge.strong{background:#22c55e33;border:1px solid #22c55e66;color:#22c55e}.performance-badge.average{background:#fbbf2433;border:1px solid #fbbf2466;color:#fbbf24}.performance-badge.weak{background:#ef444433;border:1px solid #ef444466;color:#ef4444}.topic-card-body{border-top:1px solid var(--border-main);margin-top:12px;padding-top:12px}.topic-recommendation{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0}.next-steps{margin-bottom:24px}.next-steps h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 16px}.next-steps-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.next-step-item{align-items:flex-start;background:var(--background-tertiary);border:1px solid var(--border-main);border-radius:8px;display:flex;gap:16px;padding:16px;transition:all .2s ease}.next-step-item:hover{background:var(--background-gray-main);border-color:var(--text-brand)}.step-number{align-items:center;background:var(--text-brand);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;min-width:32px;width:32px}.step-text{color:var(--text-secondary);flex:1 1;font-size:14px;line-height:1.6;padding-top:4px}@media (max-width:768px){.strengths-weaknesses{grid-template-columns:1fr}.performance-stats{flex-wrap:wrap;gap:16px}.stat-item{flex-direction:row}}.grade-trend-chart-container{background:var(--background-tertiary);border:1px solid var(--border-main);border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:12px}.chart-tabs{border-bottom:1px solid var(--border-main);display:flex;gap:4px;margin-bottom:12px;padding-bottom:0}.chart-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;bottom:-1px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;position:relative;transition:all .2s ease}.chart-tab:hover{background:var(--background-gray-main);color:var(--text-primary)}.chart-tab.active{border-bottom-color:var(--text-brand);color:var(--text-brand);font-weight:600}.chart-tab svg{flex-shrink:0}.chart-wrapper{margin-bottom:20px;overflow:hidden;width:100%}.chart-svg{display:block;height:auto;width:100%}.chart-empty{color:var(--text-tertiary);padding:60px 20px;text-align:center}.chart-empty p{font-size:14px;margin:0}.chart-legend{border-top:1px solid var(--border-main);display:flex;flex-direction:column;gap:8px;margin-top:20px;padding-top:20px}.legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;gap:8px}.legend-color{border-radius:2px;display:inline-block;flex-shrink:0;height:12px;width:12px}.legend-label{color:var(--text-secondary);font-size:12px}@media (max-width:1024px){.grade-trend-chart-container{min-height:350px}}@media (max-width:768px){.grade-trend-chart-container{min-height:300px;padding:16px}.chart-title{font-size:14px;margin-bottom:16px}.legend-item{font-size:11px}}.marking-results-enhanced-container{margin-bottom:32px;overflow:visible;position:relative}.marking-results-layout{align-items:flex-start;display:flex;gap:24px;height:500px}.marking-results-table-column{border:1px solid var(--border-main);border-radius:8px;display:flex;flex:0 0 60%;flex-direction:column;height:500px;min-width:0;overflow-x:hidden;overflow-y:auto;padding:20px}.marking-results-chart-column{display:flex;flex:0 0 40%;flex-direction:column;height:500px;min-width:0}.marking-results-group{background:var(--background-tertiary);border:1px solid var(--border-main);border-radius:8px;flex-shrink:0;margin-bottom:16px;overflow:hidden}.group-header{align-items:center;background:var(--background-gray-main);border-bottom:1px solid var(--border-main);cursor:pointer;display:flex;gap:12px;padding:16px 20px;transition:background .2s ease;-webkit-user-select:none;user-select:none}.group-header:hover{background:var(--background-tertiary)}.group-title{color:var(--text-primary);flex:1 1;font-size:14px;font-weight:600}.chevron-icon{color:var(--text-tertiary);flex-shrink:0;transition:transform .2s ease}.status-indicator{border-radius:50%;display:inline-block;flex-shrink:0;height:12px;margin-right:0;width:12px}.group-content{padding:12px}.exam-code-group{background:var(--background-gray-main);border:1px solid var(--border-main);border-radius:6px;margin-bottom:12px;overflow:hidden}.exam-code-group:last-child{margin-bottom:0}.exam-code-header{align-items:center;cursor:pointer;display:flex;gap:10px;padding:12px 16px;transition:background .2s ease;-webkit-user-select:none;user-select:none}.exam-code-header:hover{background:var(--background-tertiary)}.exam-code-title{color:var(--text-secondary);flex:1 1;font-size:13px;font-weight:500}.record-count{color:var(--text-tertiary);font-size:12px;font-weight:400}.records-table-container{overflow-x:auto;padding:0 16px 12px}.records-table{border-collapse:collapse;font-size:13px;width:100%}.records-table thead{background:#0000}.records-table th{color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.5px;padding:8px 12px;text-align:left;text-transform:uppercase}.records-table tbody tr,.records-table th{border-bottom:1px solid var(--border-main)}.records-table tbody tr{transition:background .2s ease}.records-table tbody tr:hover{background:var(--background-tertiary)}.records-table tbody tr:last-child{border-bottom:none}.records-table td{color:var(--text-secondary);font-size:13px;padding:10px 12px}.records-table .score-cell{font-weight:600}.records-table .score-text{color:var(--text-primary);margin-right:4px}.records-table .score-percentage{color:var(--text-tertiary);font-size:11px}.grade-badge,.records-table .grade-cell{text-align:center}.grade-badge{border-radius:6px;color:var(--text-brand);display:inline-block;font-size:11px;font-weight:600;min-width:28px;padding:4px 10px}.no-grade{color:var(--text-tertiary);font-size:12px;font-style:italic}.records-table .model-cell{color:var(--text-secondary);font-family:Monaco,Menlo,Courier New,monospace;font-size:12px}.records-table .date-cell{color:var(--text-tertiary);font-size:12px}.records-table .actions-cell{text-align:center;width:40px}.marking-result-actions-container{align-items:center;display:flex;justify-content:center;position:relative}.marking-result-dropdown-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;display:flex;height:24px;justify-content:center;padding:4px;transition:all .2s ease;width:24px}.marking-result-dropdown-btn:hover{background:var(--background-gray-main);color:var(--text-primary)}.marking-result-dropdown-btn svg{stroke:var(--text-tertiary);color:var(--text-tertiary);height:16px;width:16px}.marking-result-dropdown-btn:hover svg{stroke:var(--text-primary);color:var(--text-primary)}.marking-result-dropdown{animation:dropdownSlideIn .3s ease-out;background:#363537;border:1px solid #111827;border-radius:16px;box-shadow:0 4px 12px #0006;min-width:200px;overflow:hidden;position:fixed;z-index:99999}.marking-result-dropdown .dropdown-item{align-items:center;border-bottom:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:12px;padding:12px 16px;text-decoration:none;transition:all .2s ease}.marking-result-dropdown .dropdown-item:last-child{border-bottom:none}.marking-result-dropdown .dropdown-item:hover:not(:disabled){background:#2a2a2b;color:#fff;transform:translateX(2px);transition:all .2s ease}.marking-result-dropdown .dropdown-item.danger{color:#ef4444}.marking-result-dropdown .dropdown-item.danger:hover:not(:disabled){background:#2a2a2b;color:#fff;transform:translateX(2px);transition:all .2s ease}.marking-result-dropdown .dropdown-item.disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.marking-result-dropdown .dropdown-item svg{height:16px;width:16px}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.marking-results-empty{color:var(--text-secondary);padding:40px;text-align:center}@media (max-width:1024px){.marking-results-layout{flex-direction:column}.marking-results-table-column{flex:1 1 100%}.marking-results-chart-column{flex:1 1 100%;position:static}}@media (max-width:768px){.group-header{padding:12px 16px}.group-title{font-size:13px}.exam-code-header{padding:10px 12px}.exam-code-title,.records-table{font-size:12px}.records-table td,.records-table th{padding:6px 8px}}.qualification-selector-container{display:block;position:relative;width:100%}.qualification-selector-button{background:var(--background-secondary);border:1px solid var(--border-main);border-radius:4px;box-sizing:border-box;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500;height:32px;padding:4px 8px;transition:all .2s ease;width:100%}.qualification-selector-button:hover{background:var(--background-gray-main);border-color:var(--text-brand)}.qualification-selector-button:focus{border-color:var(--text-brand);box-shadow:0 0 0 3px #3b82f61a;box-shadow:0 0 0 3px rgba(var(--text-brand-rgb,59,130,246),.1);outline:none}.qualification-selector-content{align-items:center;display:flex;gap:8px;height:100%;justify-content:space-between}.qualification-selector-label{color:var(--text-primary);flex:1 1;font-weight:500;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.qualification-selector-arrow{color:var(--text-secondary);flex-shrink:0;font-size:10px;transition:transform .2s ease}.qualification-selector-container:active .qualification-selector-arrow,.qualification-selector-dropdown:active~.qualification-selector-button .qualification-selector-arrow{transform:rotate(180deg)}.qualification-selector-dropdown{background:var(--background-menu-white);border:1px solid var(--border-main);border-radius:4px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;font-size:13px;left:0;margin-top:4px;max-height:200px;overflow:hidden;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.qualification-selector-option{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:6px 8px;text-align:left;transition:all .2s ease;width:100%}.qualification-selector-option:hover{background:var(--background-menu-gray)}.qualification-selector-option.selected{background:var(--text-brand);color:#fff;font-weight:500}.exam-board-selector-container{display:block;margin-bottom:0;position:relative;width:100%}.exam-board-selector-button{background:var(--background-secondary);border:1px solid var(--border-main);border-radius:4px;box-sizing:border-box;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500;height:32px;padding:4px 8px;transition:all .2s ease;width:100%}.exam-board-selector-button:hover{background:var(--background-gray-main);border-color:var(--text-brand)}.exam-board-selector-button:focus{border-color:var(--text-brand);box-shadow:0 0 0 3px #3b82f61a;box-shadow:0 0 0 3px rgba(var(--text-brand-rgb,59,130,246),.1);outline:none}.exam-board-selector-content{align-items:center;display:flex;gap:8px;height:100%;justify-content:space-between}.exam-board-selector-label{color:var(--text-primary);flex:1 1;font-weight:500;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.exam-board-selector-arrow{color:var(--text-secondary);flex-shrink:0;font-size:10px;transition:transform .2s ease}.exam-board-selector-container:active .exam-board-selector-arrow,.exam-board-selector-dropdown:active~.exam-board-selector-button .exam-board-selector-arrow{transform:rotate(180deg)}.exam-board-selector-dropdown{background:var(--background-menu-white);border:1px solid var(--border-main);border-radius:4px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;font-size:13px;left:0;margin-top:4px;max-height:200px;overflow:hidden;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.exam-board-selector-option{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:6px 8px;text-align:left;transition:all .2s ease;width:100%}.exam-board-selector-option:hover{background:var(--background-menu-gray)}.exam-board-selector-option.selected{background:var(--text-brand);color:#fff;font-weight:500}.paper-code-set-selector-container{display:block;margin-bottom:0;position:relative;width:100%}.paper-code-set-selector-button{background:var(--background-secondary);border:1px solid var(--border-main);border-radius:4px;box-sizing:border-box;color:var(--text-primary);cursor:pointer;font-family:Monaco,Menlo,Courier New,monospace;font-size:13px;font-weight:500;height:32px;padding:4px 8px;transition:all .2s ease;width:100%}.paper-code-set-selector-button:hover{background:var(--background-gray-main);border-color:var(--text-brand)}.paper-code-set-selector-button:focus{border-color:var(--text-brand);box-shadow:0 0 0 3px #3b82f61a;box-shadow:0 0 0 3px rgba(var(--text-brand-rgb,59,130,246),.1);outline:none}.paper-code-set-selector-content{align-items:center;display:flex;gap:8px;height:100%;justify-content:space-between}.paper-code-set-selector-label{color:var(--text-primary);flex:1 1;font-family:Monaco,Menlo,Courier New,monospace;font-weight:500;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.paper-code-set-selector-arrow{color:var(--text-secondary);flex-shrink:0;font-size:10px;transition:transform .2s ease}.paper-code-set-selector-container:active .paper-code-set-selector-arrow,.paper-code-set-selector-dropdown:active~.paper-code-set-selector-button .paper-code-set-selector-arrow{transform:rotate(180deg)}.paper-code-set-selector-dropdown{background:var(--background-menu-white);border:1px solid var(--border-main);border-radius:4px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;font-size:13px;left:0;margin-top:4px;max-height:200px;overflow:hidden;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.paper-code-set-selector-option{background:none;border:none;color:var(--text-primary);cursor:pointer;font-family:Monaco,Menlo,Courier New,monospace;padding:6px 8px;text-align:left;transition:all .2s ease;width:100%}.paper-code-set-selector-option:hover{background:var(--background-menu-gray)}.paper-code-set-selector-option.selected{background:var(--text-brand);color:#fff;font-weight:500}.paper-code-aggregated-stats{margin-bottom:24px}.paper-code-aggregated-stats h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 12px}.paper-code-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.paper-code-stat-card{align-items:center;background:var(--background-tertiary);border:1px solid var(--border-main);border-radius:6px;display:flex;flex-direction:column;padding:12px;text-align:center;transition:all .2s ease}.paper-code-stat-card:hover{border-color:var(--text-brand);box-shadow:0 2px 8px #0000001a}.paper-code-stat-card h3{border-bottom:1px solid var(--border-main);color:var(--text-primary);font-size:14px;font-weight:600;margin:0 0 10px;padding-bottom:8px;width:100%}.stat-list{flex-direction:column}.stat-item,.stat-list{display:flex;gap:8px;width:100%}.stat-item{align-items:center;flex-direction:row;justify-content:space-between}.stat-label{color:var(--text-secondary);font-size:12px;font-weight:500}.stat-value{color:var(--text-primary);font-size:13px;font-weight:600;text-align:right}.stat-value.grade{color:var(--text-brand)}.paper-code-stat-card.no-attempts{background:var(--background-gray-main);opacity:.5}.paper-code-stat-card.no-attempts .stat-label,.paper-code-stat-card.no-attempts .stat-value,.paper-code-stat-card.no-attempts .stat-value.grade,.paper-code-stat-card.no-attempts h3{color:var(--text-tertiary)}@media (max-width:768px){.paper-code-stats-grid{grid-template-columns:1fr}}.exam-series-tier-reminder{align-items:center;background:var(--background-card-gray);border:1px solid var(--function-warning);border-radius:6px;display:flex;gap:12px;margin-bottom:24px;padding:2px 6px}.reminder-icon{flex-shrink:0;font-size:20px}.reminder-content{align-items:center;color:var(--function-warning);display:flex;flex:1 1;flex-wrap:wrap;font-size:13px;gap:4px;line-height:1.5}.reminder-title{font-weight:600}.reminder-text,.reminder-title{color:var(--function-warning)}@media (max-width:768px){.exam-series-tier-reminder{gap:10px;padding:10px 12px}.reminder-title{font-size:13px}.reminder-details{font-size:12px}}.analysis-page{margin:0 auto;max-width:1400px;min-height:calc(100vh - 100px);min-width:100%;padding:24px}.analysis-page-header{margin-bottom:24px}.analysis-page-header h1{color:var(--text-primary);font-size:24px;font-weight:700;margin:0 0 8px}.analysis-page-header p{color:var(--text-secondary);font-size:14px;margin:0}.qualification-selector-container{margin-bottom:0}.qualification-exam-board-paper-code-container{grid-gap:4px;align-items:start;display:grid;gap:4px;grid-template-columns:minmax(100px,120px) minmax(150px,200px) 1fr;margin-bottom:12px;max-width:700px}.qualification-exam-board-paper-code-container .exam-board-selector-container,.qualification-exam-board-paper-code-container .paper-code-set-selector-container,.qualification-exam-board-paper-code-container .qualification-selector-container{margin-bottom:0;min-width:0;overflow:visible;position:relative}.qualification-exam-board-paper-code-container .exam-board-selector-container select,.qualification-exam-board-paper-code-container .paper-code-set-selector-container select,.qualification-exam-board-paper-code-container .qualification-selector-container select{box-sizing:border-box;max-width:100%;position:relative;width:100%;z-index:1}.qualification-exam-board-paper-code-container .exam-board-selector-container select:focus,.qualification-exam-board-paper-code-container .paper-code-set-selector-container select:focus,.qualification-exam-board-paper-code-container .qualification-selector-container select:focus{z-index:10}.subject-tabs-container{border-bottom:1px solid var(--border-main);display:flex;gap:12px;margin-bottom:24px;padding-bottom:0}.subject-tab{background:#0000;border:none;border-bottom:3px solid #0000;bottom:-1px;color:var(--text-secondary);cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;position:relative;transition:all .2s ease}.subject-tab:hover{background:var(--background-gray-main);color:var(--text-primary)}.subject-tab.active{border-bottom-color:var(--text-brand);color:var(--text-brand);font-weight:600}.analysis-content{background:var(--background-secondary);border:1px solid var(--border-main);border-radius:8px;max-height:calc(100vh - 250px);min-height:600px;overflow-y:auto;padding:24px}.no-sessions{color:var(--text-secondary);padding:40px;text-align:center}.no-sessions .hint{color:var(--text-tertiary);font-size:12px;margin-top:8px}.analysis-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px;text-align:center}.analysis-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--border-main);border-radius:50%;border-top-color:var(--text-brand);height:40px;width:40px}.aggregated-stats-section,.marking-results-section{margin-bottom:32px}.marking-results-section h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 12px}.filter-indicator{background:var(--background-gray-main);border-radius:6px;color:var(--text-secondary);font-size:14px;margin-bottom:16px;padding:8px 12px}.analysis-section{margin-top:32px}.analysis-section h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 20px}@media (max-width:768px){.analysis-page{padding:16px}.subject-tabs-container{flex-wrap:wrap;gap:8px}.subject-tab{font-size:14px;padding:10px 16px}.exam-board-paper-code-container{flex-direction:column;gap:8px}.analysis-content{max-height:calc(100vh - 200px);padding:16px}}.auth-container{align-items:center;background:var(--background-white-main);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative;width:100vw}body.login-page .auth-container{margin:0;max-width:none;padding:20px;width:100vw}.auth-container:before{background:radial-gradient(circle at 20% 80%,var(--text-brand) 0,#0000 50%),radial-gradient(circle at 80% 20%,var(--text-brand) 0,#0000 50%);bottom:0;content:"";left:0;opacity:.1;position:absolute;right:0;top:0;z-index:0}.auth-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--background-menu-white);border:1px solid var(--border-main);border-radius:20px;box-shadow:var(--shadow-lg);max-width:480px;padding:40px;position:relative;width:100%;z-index:1}.auth-header{margin-bottom:32px;text-align:center}.auth-logo{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:16px}.logo-icon{filter:drop-shadow(0 2px 4px rgba(127,0,255,.3));font-size:40px}.auth-logo h1,.logo-icon{color:var(--text-brand)}.auth-logo h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text-brand),var(--text-brand));-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;margin:0;@supports not (-webkit-background-clip:text){background:none}}.auth-subtitle{color:var(--text-primary);font-size:24px;font-weight:600;margin:0}.auth-form{gap:24px}.auth-form,.social-login-section{display:flex;flex-direction:column}.social-login-section{gap:16px}.social-login-text{color:var(--text-secondary);font-size:16px;margin:0;text-align:center}.social-buttons{display:flex;flex-direction:column;gap:12px}.auth-error{align-items:center;animation:shake .5s ease-in-out;background:#f871711a;border:1px solid var(--function-error);border-radius:8px;color:var(--function-error);display:flex;font-size:14px;gap:8px;padding:12px 16px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.auth-success{animation:slideIn .3s ease-out;background:#34d3991a;border:1px solid var(--success-color);border-radius:8px;color:var(--success-color);font-size:14px;gap:8px;padding:12px 16px}.auth-success,.form-label{align-items:center;display:flex}.form-label{gap:12px;line-height:1;margin-bottom:4px}.form-label svg{display:inline-block;flex-shrink:0;height:16px;margin-top:-1px;vertical-align:middle;width:16px}.form-input{border:2px solid var(--border-main);font-size:16px}.form-input:focus{background:var(--background-gray-main)}.form-input.error{background:#f871710d;border-color:var(--function-error)}.form-input.success{background:#34d3990d;border-color:var(--success-color)}.form-error{color:var(--function-error)}.form-error,.form-success{align-items:center;display:flex;font-size:12px;gap:4px;margin-top:4px}.form-success{color:var(--success-color)}.auth-button{background:var(--text-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;overflow:hidden;padding:14px 20px;position:relative;transition:all .2s ease;width:100%}.auth-button:hover{background:var(--text-brand);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.auth-button:active{transform:translateY(0)}.auth-button:disabled{background:var(--text-tertiary);cursor:not-allowed;transform:none}.auth-button.loading{color:#0000}.auth-button.loading:after{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;content:"";height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:20px}.auth-divider{align-items:center;color:var(--text-tertiary);display:flex;font-size:14px;gap:16px;margin:5px 0}.auth-divider:after,.auth-divider:before{background:var(--border-main);content:"";flex:1 1;height:1px}.social-auth{display:flex;flex-direction:column;gap:12px}.social-button{align-items:center;background:var(--background-menu-gray);border:1px solid var(--border-main);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:16px;justify-content:center;min-height:56px;padding:16px 24px;transition:all .3s ease}.social-button:hover{background:var(--background-gray-main);border-color:var(--text-brand);box-shadow:var(--shadow-md);transform:translateY(-2px)}.social-icon{height:20px;width:20px}.auth-footer{color:var(--text-secondary);font-size:14px;margin-top:40px;text-align:center}.auth-link{text-decoration:none}.auth-switch{background:var(--background-menu-gray);border:1px solid var(--border-main);border-radius:8px;margin-top:16px;padding:16px}.auth-switch-text{color:var(--text-secondary);font-size:14px;margin-bottom:8px}.auth-switch-button{background:none;border:none;cursor:pointer;font-weight:500;text-decoration:underline;transition:color .2s ease}.auth-switch-button,.auth-switch-button:hover{color:var(--text-brand)}.password-strength{margin-top:8px}.strength-bar{background:var(--border-main);border-radius:2px;height:4px;margin-bottom:4px;overflow:hidden}.strength-fill{border-radius:2px;height:100%;transition:all .3s ease}.strength-fill.weak{background:var(--function-error);width:25%}.strength-fill.fair{background:var(--warning-color);width:50%}.strength-fill.good{background:#f59e0b;width:75%}.strength-fill.strong{background:var(--success-color);width:100%}.strength-text{color:var(--text-tertiary);font-size:12px}.remember-me{align-items:center;display:flex;gap:8px;margin-bottom:16px}.remember-me input[type=checkbox]{accent-color:var(--text-brand);height:16px;width:16px}.remember-me label{color:var(--text-secondary);cursor:pointer;font-size:14px}.forgot-password{margin-bottom:16px;text-align:right}.forgot-password a{color:var(--text-brand);font-size:14px;text-decoration:none;transition:color .2s ease}.forgot-password a:hover{color:var(--text-brand);text-decoration:underline}@media (max-width:480px){.auth-container{padding:16px}.auth-card{max-width:100%;padding:32px 24px}.auth-logo h1{font-size:28px}.logo-icon{font-size:32px}.social-button{font-size:15px;min-height:52px;padding:14px 20px}}.auth-button:focus,.form-input:focus,.social-button:focus{outline:2px solid var(--text-brand);outline-offset:2px}.email-password-form{display:flex;flex-direction:column;gap:20px}.form-group{gap:4px;margin-bottom:12px}.password-input-container{align-items:center;display:flex;position:relative;width:100%}.password-input-container .form-input{padding-right:48px}.password-toggle{align-items:center;background:none;border:none;color:var(--text-tertiary);cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .2s ease}.password-toggle:hover{color:var(--text-primary)}.auth-back-button{align-items:center;background:#0000;border:2px solid var(--border-main);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;margin-top:16px;padding:12px 20px;transition:all .2s ease;width:100%}.auth-back-button:hover{background:var(--background-menu-gray);border-color:var(--text-primary);color:var(--text-primary)}.auth-container{animation:slideIn .3s ease-out}.auth-form{animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-submit-button{align-items:center;background:var(--text-brand);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;min-height:56px;padding:16px 24px;transition:all .3s ease;width:100%}.auth-submit-button:hover{background:var(--text-brand);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.auth-submit-button:active{transform:translateY(0)}.auth-submit-button:disabled{background:var(--text-tertiary);cursor:not-allowed;transform:none}.auth-submit-button.compact{border-radius:8px;font-size:14px;min-height:30px;padding:12px 20px}.auth-link{background:none;border:none;cursor:pointer;font-size:inherit;font-weight:500;transition:color .2s ease}.auth-link,.auth-link:hover{color:var(--text-brand);text-decoration:underline}.auth-info{color:var(--text-secondary);font-size:14px;margin:0}.auth-warning{color:var(--warning-color);font-size:12px;margin:8px 0 0}.auth-loading{pointer-events:none;position:relative}.auth-loading:after{background:#00000080;border-radius:16px;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:10}.auth-loading:after,.upgrade-page{align-items:center;display:flex;justify-content:center}.upgrade-page{background:var(--background-white-main);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0;min-height:100vh;padding:60px 0;position:relative;width:100vw}.upgrade-page-container{margin:0;max-width:none;padding:0 20px;width:100%}.upgrade-page-close-button{align-items:center;background:var(--background-card);border:1px solid var(--border-main);border-radius:50%;box-shadow:var(--shadow-S);color:var(--text-primary);cursor:pointer;display:flex;height:48px;justify-content:center;padding:12px;position:absolute;right:20px;top:20px;transition:all .2s ease;width:48px;z-index:10}.upgrade-page-close-button:hover{background:var(--background-gray-main);border-color:var(--text-brand);box-shadow:var(--shadow-M);transform:translateY(-1px)}.upgrade-page-header{margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:1000px;padding:0 10px;text-align:center}.upgrade-page-header h1{color:var(--text-primary);font-size:48px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0 0 12px}.upgrade-page-header p{color:var(--text-secondary);font-size:18px;font-weight:400;margin:0 auto;max-width:600px}.current-subscription-compact{background:var(--background-card);border:1px solid var(--border-main);border-radius:10px;margin:0 auto 24px;max-width:800px;padding:12px 20px;text-align:center}.subscription-compact-content{align-items:center;display:flex;flex-wrap:wrap;font-size:14px;gap:12px;justify-content:center}.compact-label{color:var(--text-secondary);font-weight:500}.compact-plan{color:var(--text-brand);font-size:15px;font-weight:700}.compact-divider{color:var(--text-tertiary)}.compact-billing{color:var(--text-primary);font-weight:600}.compact-next{color:var(--text-secondary)}.upgrade-billing-toggle{align-items:center;background:var(--background-card);border-radius:12px;box-shadow:var(--shadow-S);display:flex;gap:16px;justify-content:center;margin:0 auto 64px;max-width:320px;padding:6px}.upgrade-billing-toggle span{align-items:center;color:var(--text-secondary);display:flex;font-size:15px;font-weight:500;gap:6px;transition:color .2s ease;white-space:nowrap}.upgrade-billing-toggle span.active{color:var(--text-primary);font-weight:600}.upgrade-billing-toggle-switch{background:var(--background-gray-main);border:none;border-radius:14px;cursor:pointer;height:28px;padding:0;position:relative;transition:all .2s ease;width:56px}.upgrade-billing-toggle-switch:hover{background:var(--fill-gray)}.upgrade-billing-toggle-switch.yearly{background:var(--text-brand)}.upgrade-billing-toggle-slider{background:var(--text-white);border-radius:50%;box-shadow:var(--shadow-S);height:24px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:24px}.upgrade-billing-toggle-switch.yearly .upgrade-billing-toggle-slider{transform:translateX(28px)}.upgrade-billing-toggle .upgrade-billing-save-badge{background:none;border-radius:6px;color:var(--function-error);display:inline-block;flex-shrink:0;font-size:11px;font-weight:600;line-height:1;padding:3px 8px;white-space:nowrap}.upgrade-plan-pricing{margin-bottom:2px;text-align:center}.upgrade-plan-price{color:var(--text-primary);font-size:48px;font-weight:800;letter-spacing:-.02em;margin-bottom:4px}.upgrade-plan-period{color:var(--text-secondary);font-size:16px;font-weight:500}.upgrade-plan-popular-badge{background:linear-gradient(135deg,var(--text-brand),var(--shadows-highlight-2));border-radius:0 0 8px 8px;color:var(--text-white);font-size:12px;font-weight:600;left:50%;letter-spacing:.025em;padding:6px 20px;position:absolute;top:0;transform:translateX(-50%)}.upgrade-plan-header{margin-bottom:32px}.upgrade-plan-icon{align-items:center;background:var(--background-gray-main);border-radius:12px;color:var(--text-brand);display:inline-flex;height:56px;justify-content:center;margin-bottom:20px;width:56px}.upgrade-plan-header h3{color:var(--text-primary);font-size:28px;font-weight:700;letter-spacing:-.01em;margin:0 0 8px}.upgrade-plan-header p{color:var(--text-secondary);font-size:16px;line-height:1.5;margin:0}.upgrade-plan-features{flex-grow:1;list-style:none;margin:0 0 32px;padding:0;text-align:left}.upgrade-plan-features li{align-items:center;color:var(--text-primary);display:flex;font-size:14px;font-weight:600;gap:12px;line-height:1.5;min-width:0;padding:10px 0}.feature-text{flex:1 1;white-space:nowrap}.upgrade-plan-features li:last-child{padding-bottom:50px}.upgrade-plan-features li svg{color:var(--function-success);flex-shrink:0}.upgrade-header{margin-bottom:48px;text-align:center}.upgrade-header h1{color:var(--text-primary);font-size:32px;font-weight:700;margin:0}.upgrade-header p{color:var(--text-tertiary);font-size:16px;margin:8px 0 0}.scheduled-banner{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fbbf24;border-radius:10px;box-shadow:0 2px 4px -1px #fbbf241a;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px;margin-left:auto;margin-right:auto;max-width:800px;padding:8px 16px}.scheduled-banner-content{align-items:center;display:flex;flex:1 1;gap:10px}.scheduled-banner-content svg{color:#f59e0b;flex-shrink:0}.scheduled-banner-text{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}.scheduled-banner-text strong{color:#92400e;font-size:14px;font-weight:600}.scheduled-banner-text span{color:#78350f;font-size:13px;line-height:1.4}.scheduled-banner-text span strong{font-size:13px;text-transform:capitalize}.cancel-schedule-button{background:#fff;border:2px solid #fbbf24;border-radius:6px;color:#92400e;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.cancel-schedule-button:hover{background:#fef3c7;border-color:#f59e0b;box-shadow:0 4px 8px -2px #fbbf244d;transform:translateY(-1px)}.upgrade-plans-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1150px;padding:0}.upgrade-plan-card{background:var(--background-card);border:1px solid var(--border-main);border-radius:16px;box-shadow:var(--shadow-S);cursor:pointer;display:flex;flex-direction:column;height:100%;margin:0;max-width:100%;min-width:0;padding:24px 16px;position:relative;text-align:center;transition:all .2s ease}.upgrade-plan-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-M);transform:translateY(-2px)}.upgrade-plan-card.popular{background:var(--background-card);border-color:var(--text-brand);box-shadow:0 4px 20px #8b5cf626}.upgrade-plan-subscribe-button{background:#ffffff1a;border:1px solid #ffffff1a;border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;margin-bottom:24px;padding:12px 20px;text-align:center;transition:all .2s ease;width:100%}.upgrade-plan-subscribe-button:hover{background:#ffffff26;border-color:#fff3}.upgrade-plan-card.current-plan{animation:glow-pulse 2s ease-in-out infinite;background:var(--background-card);background-clip:padding-box;border:2px solid #0000;border-radius:16px;box-shadow:0 0 20px #ffd70080,0 0 40px #ffa5004d;position:relative}.upgrade-plan-card.current-plan:before{background:linear-gradient(135deg,gold,orange,#ff6b6b,#9b59b6,#3498db,#2ecc71,gold);border-radius:16px;content:"";inset:-2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;pointer-events:none;position:absolute;z-index:-1}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #ffd70080,0 0 40px #ffa5004d}50%{box-shadow:0 0 30px #ffd700cc,0 0 60px #ffa50080}}.upgrade-plan-card.current-plan:hover{box-shadow:0 0 30px #ffd70099,0 0 50px #ffa50066;transform:translateY(-2px)}.plan-change-info{border-radius:8px;font-size:12px;line-height:1.4;margin:16px 0 0;padding:0}.upgrade-info{background:var(--background-success);border:1px solid #22c55e4d;border-radius:6px;color:var(--function-success)}.downgrade-info,.upgrade-info{align-items:flex-start;display:flex;gap:8px;padding:10px;text-align:left}.downgrade-info{background:var(--background-warning);border:1px solid #fbbf244d;border-radius:6px;color:var(--function-warning)}.downgrade-info svg,.upgrade-info svg{flex-shrink:0;margin-top:2px}.upgrade-plan-subscribe-button.current,.upgrade-plan-subscribe-button:disabled{background:var(--background-gray-main);color:var(--text-secondary);cursor:not-allowed;opacity:.6}.upgrade-plan-subscribe-button.current:hover,.upgrade-plan-subscribe-button:disabled:hover{box-shadow:none;transform:none}.current-subscription-info{background:var(--background-card);border:2px solid var(--border-main);border-radius:16px;box-shadow:var(--shadow-S);margin:48px auto 32px;max-width:900px;padding:28px}.subscription-info-header{align-items:center;border-bottom:1px solid var(--border-main);display:flex;gap:12px;margin-bottom:20px;padding-bottom:16px}.subscription-info-header svg{color:var(--text-brand)}.subscription-info-header h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.subscription-info-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.info-item{display:flex;flex-direction:column;gap:6px}.info-item .label{color:var(--text-secondary);font-size:13px;font-weight:500}.info-item .value{color:var(--text-primary);font-size:16px;font-weight:600}.plan-change-notice{background:var(--background-gray-main);border-left:4px solid var(--text-brand);border-radius:8px;padding:16px}.plan-change-notice strong{color:var(--text-primary);display:block;font-size:14px;margin-bottom:8px}.plan-change-notice p{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:6px 0}.upgrade-page-footer{padding-top:40px;text-align:center}.upgrade-page-footer p{color:var(--text-secondary);font-size:14px;margin:0}.upgrade-page-footer a{color:var(--text-brand);font-weight:500;text-decoration:none;transition:color .2s ease}.upgrade-page-footer a:hover{color:var(--shadows-highlight-2)}@media (min-width:1200px){.upgrade-page{padding:80px 40px}.upgrade-plans-grid{gap:32px;grid-template-columns:repeat(3,1fr)}.upgrade-plan-card{padding:40px}}@media (max-width:768px){.upgrade-page{align-items:flex-start;justify-content:center;padding:40px 0}.upgrade-page-container{padding:0 20px}.upgrade-page-close-button{height:44px;padding:10px;right:15px;top:15px;width:44px}.upgrade-page-header h1{font-size:42px}.upgrade-page-header p{font-size:18px}.upgrade-plans-grid{gap:20px;grid-template-columns:1fr}.upgrade-plan-card{padding:28px}.upgrade-plan-price{font-size:40px}.upgrade-billing-toggle{flex-wrap:wrap;gap:12px;max-width:300px}.upgrade-billing-toggle span{font-size:14px}.upgrade-billing-save-badge{font-size:10px;padding:2px 6px}}@media (max-width:480px){.upgrade-page{align-items:flex-start;justify-content:center;padding:32px 0}.upgrade-page-container{padding:0 16px}.upgrade-page-close-button{height:40px;padding:8px;right:10px;top:10px;width:40px}.upgrade-page-header h1{font-size:32px}.upgrade-page-header p{font-size:16px}.upgrade-plan-card{padding:24px}.upgrade-plan-price{font-size:36px}.upgrade-billing-toggle{max-width:280px;padding:4px}}:root{--modal-bg:#222;--modal-border:#333;--sidebar-width:200px;--text-primary:#fff;--text-secondary:#a1a1aa;--accent-color:#fff;--radius-lg:12px;--radius-md:8px}.unified-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.unified-modal{border:1px solid #333;border:1px solid var(--modal-border);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #0006,0 10px 10px -5px #0000004d;color:#fff;color:var(--text-primary);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;height:60%;overflow:hidden;position:relative;width:60%}.unified-modal,.unified-modal-header{background:#222;background:var(--modal-bg);display:flex}.unified-modal-header{align-items:center;border-bottom:none;justify-content:space-between;padding:16px 20px}.unified-modal-title{color:#a1a1aa;color:var(--text-secondary);font-size:14px;font-weight:500}.unified-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#a1a1aa;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color .2s}.unified-modal-close:hover{color:#fff;color:var(--text-primary)}.unified-modal-body{border-top:1px solid #333;border-top:1px solid var(--modal-border);display:flex;flex:1 1;overflow:hidden}.unified-sidebar{background:#222;background:var(--modal-bg);border-right:1px solid #333;border-right:1px solid var(--modal-border);display:flex;flex-direction:column;gap:4px;padding:12px;width:200px;width:var(--sidebar-width)}.unified-sidebar-item{align-items:center;background:none;border:none;border-radius:6px;color:#a1a1aa;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:400;gap:10px;padding:8px 12px;text-align:left;text-decoration:none;transition:all .2s;width:100%}.unified-sidebar-item:hover{background:#ffffff0d;color:#fff;color:var(--text-primary)}.unified-sidebar-item.active{background:#ffffff1a;color:#fff;color:var(--text-primary)}.unified-sidebar-item svg{height:16px;opacity:.8;width:16px}.unified-sidebar-item.active svg{opacity:1}.unified-content{background:#222;background:var(--modal-bg);flex:1 1;overflow-y:auto;padding:24px 32px}.unified-content::-webkit-scrollbar{width:8px}.unified-content::-webkit-scrollbar-track{background:#0000}.unified-content::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:4px}.section-title{color:#fff;color:var(--text-primary);display:none;font-size:16px;font-weight:500;margin-bottom:24px}@media (max-width:640px){.unified-modal{border:none;border-radius:0;height:100%;width:100%}.unified-modal-body{flex-direction:column}.unified-sidebar{border-bottom:1px solid #333;border-bottom:1px solid var(--modal-border);border-right:none;flex-direction:row;overflow-x:auto;padding:8px;width:100%}}.settings-page{max-width:100%;padding:0}.settings-page-header{margin-bottom:32px}.settings-page-title{color:#fff;color:var(--text-primary);font-size:24px;font-weight:600;margin:0}.settings-section{margin-bottom:40px}.settings-section-title{color:#a1a1aa;color:var(--text-secondary,#9ca3af);font-size:14px;font-weight:500;letter-spacing:.5px;margin:0 0 20px;text-transform:uppercase}.settings-item{margin-bottom:24px}.settings-item-label{color:#fff;color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:12px}.theme-options{display:flex;gap:12px}.theme-option{align-items:center;background:#0000;border:2px solid #ffffff1a;border-radius:12px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:0;transition:all .2s ease}.theme-option:hover{background:#ffffff05;border-color:#fff3}.theme-option.active{background:#8b5cf61a;border-color:#8b5cf6;border-color:var(--text-brand,#8b5cf6)}.theme-preview{align-items:center;background:#ffffff0d;color:#a1a1aa;color:var(--text-secondary);display:flex;height:80px;justify-content:center;transition:all .2s ease;width:100%}.theme-option:hover .theme-preview{color:#fff;color:var(--text-primary)}.theme-option.active .theme-preview{color:var(--text-brand)}.light-preview{background:linear-gradient(135deg,#f5f5f5,#e0e0e0);color:#666}.dark-preview{background:linear-gradient(135deg,#2a2a2a,#1a1a1a);color:#fff}.system-preview{background:linear-gradient(135deg,#f5f5f5,#1a1a1a);color:#fff}.theme-option-label{color:#a1a1aa;color:var(--text-secondary);display:block;font-size:13px;font-weight:500;padding:12px;transition:color .2s ease}.theme-option.active .theme-option-label,.theme-option:hover .theme-option-label{color:#fff;color:var(--text-primary)}.settings-subsection{margin-bottom:20px}.settings-label{color:#a1a1aa;color:var(--text-secondary);display:block;font-size:13px;font-weight:500;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.usage-container{display:flex;flex-direction:column;gap:20px;height:100%}.usage-summary-box{background:#ffffff08;border:1px solid #333;border:1px solid var(--modal-border);border-radius:8px;border-radius:var(--radius-md);padding:20px}.usage-plan-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.usage-plan-name{color:#fff;color:var(--text-primary);font-size:16px;font-weight:600}.usage-upgrade-btn{background:#fff;background:var(--text-primary);border:none;border-radius:20px;color:#000;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:opacity .2s}.usage-upgrade-btn:hover{opacity:.9}.usage-stat-row{align-items:center;display:flex;font-size:13px;justify-content:space-between;margin-bottom:12px}.usage-stat-row:last-child{margin-bottom:0}.usage-stat-label{align-items:center;color:#a1a1aa;color:var(--text-secondary);display:flex;gap:8px}.usage-stat-value{color:#fff;color:var(--text-primary);font-family:monospace}.usage-history-container{background:#0000001a;padding-bottom:8px}.usage-list-subitem{align-items:center;border-bottom:1px solid #ffffff08;color:#a1a1aa;color:var(--text-secondary);display:grid;font-size:13px;grid-template-columns:2fr 1.5fr 1fr;padding:8px 0 8px 48px;position:relative}.usage-list-subitem:before{background:#ffffff26;bottom:0;content:"";left:28px;position:absolute;top:0;width:1px}.usage-list-subitem:last-child:before{bottom:50%}.usage-list-subitem:after{background:#ffffff26;content:"";height:1px;left:28px;position:absolute;top:50%;width:12px}.usage-subitem-content{display:flex;flex-direction:column;gap:2px}.usage-subitem-mode{color:#fff;color:var(--text-primary);font-weight:500;opacity:.9}.usage-subitem-model{color:#a1a1aa;color:var(--text-secondary);font-size:11px;opacity:.8}.usage-row-toggle{align-items:center;cursor:pointer;display:flex;gap:6px}.usage-chevron{opacity:.5;transition:transform .2s}.usage-chevron:hover{opacity:1}.account-container{display:flex;flex-direction:column;gap:32px}.profile-card{align-items:center;background:#ffffff08;border:1px solid #333;border:1px solid var(--modal-border);border-radius:12px;border-radius:var(--radius-lg);display:flex;gap:20px;padding:24px}.profile-avatar-large{align-items:center;background:#333;border:2px solid #ffffff1a;border-radius:50%;color:#a1a1aa;color:var(--text-secondary);display:flex;height:72px;justify-content:center;overflow:hidden;width:72px}.profile-avatar-large img{height:100%;object-fit:cover;width:100%}.profile-info-primary{flex:1 1}.profile-display-name{color:#fff;color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:4px}.profile-email-text{color:#a1a1aa;color:var(--text-secondary);font-size:14px}.account-actions{display:flex;gap:12px}.action-btn{align-items:center;background:#0000;border:1px solid #333;border:1px solid var(--modal-border);border-radius:6px;color:#fff;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 16px;transition:all .2s}.action-btn:hover{background:#ffffff0d;border-color:#fff3}.action-btn.primary{background:#fff;background:var(--text-primary);border-color:#fff;border-color:var(--text-primary);color:#000}.action-btn.primary:hover{opacity:.9}.action-btn.danger{border-color:#ef444433;color:#fff}.action-btn.danger:hover{background:#ef44441a}.account-form{gap:20px}.account-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-label{color:#a1a1aa;color:var(--text-secondary);font-size:13px}.form-input{background:#0003;border:1px solid #333;border:1px solid var(--modal-border);border-radius:6px;color:#fff;padding:10px 12px;transition:border-color .2s}.form-input:focus{border-color:#a1a1aa;border-color:var(--text-secondary)}.form-input:disabled{cursor:not-allowed;opacity:.6}.account-details-grid{grid-gap:16px 24px;align-items:center;display:grid;gap:16px 24px;grid-template-columns:120px 1fr}.detail-label{color:#a1a1aa;color:var(--text-secondary);font-size:14px}.detail-value{color:#fff;color:var(--text-primary);font-size:14px}.usage-details-list{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.usage-list-header{border-bottom:1px solid #333;border-bottom:1px solid var(--modal-border);color:#a1a1aa;color:var(--text-secondary);display:grid;font-size:12px;grid-template-columns:2fr 1.5fr 1fr;margin-bottom:8px;padding:8px 0}.usage-list-scroll{flex:1 1;overflow-y:auto}.usage-list-item{border-bottom:1px solid #ffffff0d;color:#fff;color:var(--text-primary);display:grid;font-size:13px;grid-template-columns:2fr 1.5fr 1fr;padding:10px 0}.usage-list-item:last-child{border-bottom:none}.usage-list-date{color:#a1a1aa;color:var(--text-secondary);font-size:12px}.usage-list-credits{font-family:monospace;padding-right:25px;text-align:right}.plan-container{display:flex;flex-direction:column;gap:24px;height:100%}.plan-loading{color:#a1a1aa;color:var(--text-secondary);font-size:14px}.plan-empty-state,.plan-loading{align-items:center;display:flex;height:100%;justify-content:center}.plan-empty-state{flex-direction:column;gap:16px;padding:32px;text-align:center}.plan-icon-large{color:#a1a1aa;color:var(--text-secondary);opacity:.5}.plan-header-card{background:#ffffff0d;border:1px solid #333;border:1px solid var(--modal-border);border-radius:8px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:16px;padding:20px}.plan-title-row{justify-content:space-between}.plan-identity,.plan-title-row{align-items:center;display:flex}.plan-identity{gap:10px}.plan-crown-icon{color:#a1a1aa;color:var(--text-secondary)}.plan-name{font-size:18px;font-weight:600}.plan-name,.plan-status-badge{color:#fff;color:var(--text-primary)}.plan-status-badge{align-items:center;background:#2a2a2a;border:1px solid #333;border:1px solid var(--modal-border);border-radius:6px;display:flex;font-size:13px;gap:6px;padding:6px 12px}.plan-details-grid{grid-gap:16px;background:#0003;border-radius:8px;border-radius:var(--radius-md);display:grid;gap:16px;padding:24px}.plan-detail-row{align-items:center;display:flex;justify-content:space-between;padding:4px 0}.plan-detail-label{align-items:center;color:#a1a1aa;color:var(--text-secondary);display:flex;font-size:13px;font-weight:500;gap:10px;letter-spacing:.5px;text-transform:uppercase}.plan-detail-label svg{opacity:.7}.plan-detail-value{color:#fff;color:var(--text-primary);font-family:inherit;font-size:14px;font-weight:500}.plan-interval{color:#a1a1aa;color:var(--text-secondary);font-size:13px;font-weight:400}.credits-negative{color:#ef4444;color:#fbbf24;font-weight:600}.credits-total{color:#a1a1aa;color:var(--text-secondary)}.plan-warning-box{align-items:center;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;border-radius:var(--radius-md);color:#fca5a5;display:flex;font-size:13px;gap:10px;padding:12px}.manage-subscription-btn{background:var(--background-card-gray);border:1px solid #333;border:1px solid var(--modal-border);border-radius:8px;border-radius:var(--radius-md);color:var(--icon-primary);cursor:pointer;font-size:14px;margin-top:auto;padding:12px;text-align:center;transition:all .2s;width:100%}.manage-subscription-btn:hover{background:#ffffff0d;border-color:#a1a1aa;border-color:var(--text-secondary)}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-weight:500;gap:8px;justify-content:center;overflow:hidden;position:relative;text-decoration:none;transition:all .2s ease}.btn:focus{box-shadow:0 0 0 2px var(--primary-color);outline:2px solid #0000;outline-offset:2px}.btn-small{font-size:14px;min-height:32px;padding:6px 12px}.btn-medium{font-size:16px;min-height:40px;padding:8px 16px}.btn-large{font-size:18px;min-height:48px;padding:12px 24px}.btn-primary{background-color:#3b82f6;background-color:var(--primary-color,#3b82f6);color:#fff}.btn-primary:hover:not(.btn-disabled){background-color:#2563eb;background-color:var(--primary-hover,#2563eb);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-secondary{background-color:#f1f5f9;background-color:var(--secondary-color,#f1f5f9);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);color:#1e293b;color:var(--text-color,#1e293b)}.btn-secondary:hover:not(.btn-disabled){background-color:#e2e8f0;background-color:var(--secondary-hover,#e2e8f0);transform:translateY(-1px)}.btn-danger{background-color:#ef4444;background-color:var(--danger-color,#ef4444);color:#fff}.btn-danger:hover:not(.btn-disabled){background-color:#dc2626;background-color:var(--danger-hover,#dc2626);box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.btn-ghost{background-color:initial;border:1px solid #0000;color:#1e293b;color:var(--text-color,#1e293b)}.btn-ghost:hover:not(.btn-disabled){background-color:#f8fafc;background-color:var(--ghost-hover,#f8fafc);border-color:#e2e8f0;border-color:var(--border-color,#e2e8f0)}.btn-disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.btn-loading{cursor:wait}.btn-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.btn-content-loading{opacity:.7}.btn-group{display:inline-flex;gap:8px}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-bottom-left-radius:6px;border-top-left-radius:6px}.btn-group .btn:last-child{border-bottom-right-radius:6px;border-top-right-radius:6px}.modal-backdrop{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal{animation:slideIn .3s ease-out;background:#fff;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;overflow:hidden}.modal-small{max-width:400px;width:100%}.modal-medium{max-width:600px;width:100%}.modal-large{max-width:800px;width:100%}.modal-full{height:95vh;width:95vw}.modal-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);flex-shrink:0;padding:20px 24px}.modal-title{color:#1e293b;color:var(--text-color,#1e293b);font-size:18px;margin:0}.modal-close{align-items:center;color:#64748b;color:var(--text-muted,#64748b);display:flex;justify-content:center}.modal-close:hover{background-color:#f1f5f9;background-color:var(--hover-bg,#f1f5f9);color:#1e293b;color:var(--text-color,#1e293b)}.modal-content{flex:1 1;overflow-y:auto;padding:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:640px){.modal-backdrop{padding:10px}.modal{border-radius:8px}.modal-header{padding:16px 20px}.modal-content{padding:20px}.modal-title{font-size:16px}}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center}.spinner{animation:spin 1s linear infinite;border:3px solid #0000;border-radius:50%;border-top-color:currentcolor}.loading-spinner-small .spinner{border-width:2px;height:20px;width:20px}.loading-spinner-medium .spinner{border-width:3px;height:32px;width:32px}.loading-spinner-large .spinner{border-width:4px;height:48px;width:48px}.spinner-primary{color:#3b82f6;color:var(--primary-color,#3b82f6)}.spinner-secondary{color:#64748b;color:var(--secondary-color,#64748b)}.spinner-white{color:#fff}.spinner-success{color:#10b981;color:var(--success-color,#10b981)}.spinner-danger{color:#ef4444;color:var(--danger-color,#ef4444)}.loading-text{color:#64748b;color:var(--text-muted,#64748b);font-size:14px;margin:0;text-align:center}.loading-spinner-small .loading-text{font-size:12px}.loading-spinner-large .loading-text{font-size:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-spinner-fullscreen{background-color:#ffffffe6;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.loading-spinner-fullscreen .spinner{border-width:6px;height:64px;width:64px}.loading-spinner-fullscreen .loading-text{font-size:18px;font-weight:500}.app-container{background-color:var(--background-white-main);color:var(--text-primary);height:100vh!important;width:100vw}.app-body,.app-container{display:flex;overflow:hidden!important}.app-body{flex:1 1;height:100%}.right-side{display:flex;flex:1 1;flex-direction:column;height:100vh;overflow:hidden}.right-side:has(.library-page){height:100vh}.right-side:has(.library-page) .main-content{height:100vh;overflow:hidden;padding:0}.mark-homework-right-side{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.mark-homework-main-content{display:flex;flex:1 1;flex-direction:column;height:100%;overflow:hidden}.right-side.chat-mode .mark-homework-main-content{height:100%}.right-side.chat-mode:has(.mark-homework-page.follow-up-mode) .header{display:none}.main-content{background-color:var(--background-gray-main);display:flex;flex:1 1;flex-direction:column;margin-left:0;min-width:0;overflow:hidden;padding-top:0;width:100%}.main-content.has-chat-header{padding-top:0}.app{background-color:var(--background-white-main);color:var(--text-primary);display:flex;min-height:100vh}.welcome-message{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:0;padding:2rem;text-align:center}.welcome-message h1{color:var(--text-brand);font-size:2.5rem;margin-bottom:1rem}.welcome-message p{color:var(--text-secondary);font-size:1.2rem;margin-bottom:2rem}.app{position:relative}.loading-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.empty-state,.loading-overlay{align-items:center;display:flex;justify-content:center}.empty-state{color:var(--text-tertiary);flex-direction:column;height:100%;padding:40px;text-align:center}.empty-state h3{color:var(--text-primary);font-size:24px;font-weight:600;margin-bottom:12px}.empty-state p{color:var(--text-secondary);font-size:16px;line-height:1.6;max-width:400px}.empty-state-icon{color:var(--text-brand);height:64px;margin-bottom:24px;opacity:.5;width:64px}.error-state{align-items:center;color:var(--function-error);display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px;text-align:center}.error-state h3{color:var(--function-error);font-size:24px;font-weight:600;margin-bottom:12px}.error-state p{color:var(--text-secondary);font-size:16px;line-height:1.6;margin-bottom:20px;max-width:400px}.error-state .btn{background:var(--function-error);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.error-state .btn:hover{background:#ef4444;transform:translateY(-1px)}.success-state{align-items:center;color:var(--success-color);display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px;text-align:center}.success-state h3{color:var(--success-color);font-size:24px;font-weight:600;margin-bottom:12px}.success-state p{color:var(--text-secondary);font-size:16px;line-height:1.6;max-width:400px}.form-label{display:block;font-weight:500;margin-bottom:8px}.form-input,.form-label{color:var(--text-primary);font-size:14px}.form-input{background:var(--background-menu-gray);border:1px solid var(--border-main);border-radius:8px;padding:12px 16px;transition:all .2s ease;width:100%}.form-input:focus{border-color:var(--text-brand);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.form-input::placeholder{color:var(--text-tertiary)}.form-textarea{min-height:100px;resize:vertical}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{animation:modalSlideIn .3s ease-out;background:var(--background-menu-white);border:1px solid var(--border-main);border-radius:12px;box-shadow:var(--shadow-lg);max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;border-bottom:1px solid var(--border-main);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.modal-title{color:var(--text-primary);font-size:20px;font-weight:600}.modal-close{background:none;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;padding:8px;transition:all .2s ease}.modal-close:hover{background:var(--background-menu-gray);color:var(--text-primary)}.modal-body{margin-bottom:20px}.modal-footer{border-top:1px solid var(--border-main);display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.tooltip{display:inline-block;position:relative}.tooltip .tooltip-text{background-color:var(--background-menu-gray);border:1px solid var(--border-main);border-radius:6px;bottom:125%;box-shadow:var(--shadow-md);color:var(--text-primary);font-size:12px;left:50%;margin-left:-100px;opacity:0;padding:8px 12px;position:absolute;text-align:center;transition:opacity .3s;visibility:hidden;width:200px;z-index:1}.tooltip:hover .tooltip-text{opacity:1;visibility:visible}.badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.badge-primary{background:var(--text-brand);color:#fff}.badge-secondary{background:var(--background-menu-gray);border:1px solid var(--border-main);color:var(--text-secondary)}.badge-success{background:var(--success-color);color:#fff}.badge-warning{background:var(--warning-color);color:#fff}.badge-error{background:var(--function-error);color:#fff}.divider{background:var(--border-main);height:1px;margin:20px 0}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--background-menu-gray)}::-webkit-scrollbar-thumb{background:var(--border-main);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}@media (max-width:768px){.modal{margin:20px;width:calc(100% - 40px)}.btn-group{flex-direction:column}}@media (max-width:480px){.modal{margin:10px;padding:16px;width:calc(100% - 20px)}.modal-header{align-items:flex-start;flex-direction:column;gap:12px}}.mark-history-login-prompt{padding:1rem}.mark-history-login-prompt .placeholder-item{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:center}.login-prompt-btn{background:var(--text-brand);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-top:.5rem;padding:.5rem 1rem;transition:all .2s ease}.login-prompt-btn:hover{background:var(--text-brand);transform:translateY(-1px)}.login-prompt-btn:active{transform:translateY(0)}
/*# sourceMappingURL=main.9e3c2bdb.css.map*/