.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);position:relative}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-small{padding:6px 12px;font-size:.8125rem}.btn-medium{padding:10px 16px;font-size:.9375rem}.btn-large{padding:14px 24px;font-size:1rem}.btn-primary{background:linear-gradient(135deg,#ff6b4a,#ff8a65);color:#fff;box-shadow:0 4px 16px #ff6b4a66}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ff6b4a80}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:linear-gradient(180deg,var(--gray-50) 0%,white 100%);color:var(--gray-700);border:1px solid var(--gray-200);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:linear-gradient(180deg,var(--primary-50) 0%,white 100%);border-color:var(--primary-300);color:var(--primary-700);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,var(--success-500) 0%,var(--success-600) 100%);color:#fff;box-shadow:0 4px 14px #22c55e59}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #22c55e73}.btn-danger{background:linear-gradient(135deg,var(--error-500) 0%,var(--error-600) 100%);color:#fff;box-shadow:0 2px 8px #dc26264d}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #dc262666}.btn-ghost{background:transparent;color:var(--gray-600);border:1px solid var(--gray-200)}.btn-ghost:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300);color:var(--gray-700)}.btn-full-width{width:100%}.btn-loading{pointer-events:none}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.btn-small .btn-spinner{width:12px;height:12px}.btn-large .btn-spinner{width:20px;height:20px}.btn-icon-left,.btn-icon-right{display:flex;align-items:center;justify-content:center}.btn-icon-left svg,.btn-icon-right svg{width:1em;height:1em}.btn-content{line-height:1}.loading-spinner{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.spinner-circle{border-radius:50%;border:2px solid;animation:spin .8s linear infinite}.spinner-small .spinner-circle{width:14px;height:14px;border-color:#ffffff4d;border-top-color:#fff}.spinner-medium .spinner-circle{width:20px;height:20px;border-color:#f973164d;border-top-color:#f97316}.spinner-large .spinner-circle{width:32px;height:32px;border-color:#f973164d;border-top-color:#f97316}.spinner-text{color:var(--gray-500);font-size:.875rem}.spinner-small .spinner-text{font-size:.75rem}.spinner-large .spinner-text{font-size:1rem}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out;padding:var(--space-4)}.modal-dialog{background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);animation:slideUp .3s ease-out;border:1px solid var(--gray-200);max-width:100%;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.modal-small{width:100%;max-width:380px}.modal-medium{width:100%;max-width:500px}.modal-large{width:100%;max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--gray-200);background:linear-gradient(180deg,var(--gray-50) 0%,var(--bg-secondary) 100%);flex-shrink:0}.modal-title{font-size:1.0625rem;font-weight:600;color:var(--gray-800);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--gray-500);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.modal-close:hover{background:var(--gray-200);color:var(--gray-700)}.modal-close svg{width:18px;height:18px}.modal-content{padding:var(--space-5);overflow-y:auto;-webkit-overflow-scrolling:touch}@media(max-width:640px){.modal-dialog{max-height:80vh}.modal-small,.modal-medium,.modal-large{max-width:none}.modal-content{padding:var(--space-4)}}.toast-container{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-2);padding:12px 20px;background:linear-gradient(135deg,var(--gray-800) 0%,var(--gray-700) 100%);color:#fff;border-radius:50px;box-shadow:0 8px 24px #0003;pointer-events:auto;animation:slideDownFade .3s ease-out forwards;min-width:200px;justify-content:center}.toast.closing{animation:slideUpFade .2s ease-out forwards}.toast-success{background:linear-gradient(135deg,#22c55e,#4ade80);box-shadow:0 8px 24px #22c55e66}.toast-error{background:linear-gradient(135deg,#ef4444,#f87171);box-shadow:0 8px 24px #ef444466}.toast-warning{background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 8px 24px #f59e0b66}.toast-info{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 8px 24px #3b82f666}.toast-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#fff}.toast-icon svg{width:100%;height:100%}.toast-message{font-size:.9375rem;font-weight:600;white-space:nowrap}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpFade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media(max-width:768px){.toast-container{top:60px;left:50%;right:auto;transform:translate(-50%);width:auto;max-width:calc(100% - 32px)}.toast{min-width:unset;max-width:none;padding:10px 16px}.toast-message{font-size:.875rem}}@media print{.toast-container{display:none!important}}.grade-selector{padding:0;position:relative}.grade-hint{text-align:center;font-size:.8rem;color:#9ca3af;margin:0 0 1.5rem;padding:0}.grade-section{margin-bottom:1.5rem}.grade-section:last-of-type{margin-bottom:1rem}.grade-section-title{font-size:.95rem;font-weight:600;color:#374151;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.grade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.grade-btn{width:100%;padding:.75rem .5rem;font-size:.95rem;transition:all .2s ease}.grade-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.grade-loading-overlay{position:fixed;inset:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:3000}.structured-preview-shared{font-size:.9375rem;line-height:1.9;color:var(--gray-800)}.structured-preview-shared .preview-title{margin-bottom:var(--space-5);text-align:center}.structured-preview-shared .preview-title h2{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin:0}.structured-preview-shared .questions-container{display:flex;flex-direction:column;gap:var(--space-5)}.structured-preview-shared .question-wrapper{page-break-inside:avoid}@media print{.structured-preview-shared{display:block!important}.structured-preview-shared .preview-title h2{font-size:18pt!important;margin-bottom:30px!important}.structured-preview-shared .questions-container{gap:18px!important}}.header{background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100;padding-top:var(--safe-area-top)}.header-content{max-width:1400px;margin:0 auto;padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:var(--space-3)}.logo-small{width:42px;height:42px;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 14px #ff6b4a59;transition:transform var(--transition-base)}.logo-small:hover{transform:scale(1.05)}.logo-small img{width:24px;height:24px}.header h1{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#ff6b4a,#ff8a65);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;letter-spacing:-.02em}.header-right{display:flex;align-items:center;gap:var(--space-3)}.user-info{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--gray-50);border-radius:var(--radius-full);border:1px solid var(--gray-200);transition:all var(--transition-base)}.user-info:hover{background:var(--gray-100);border-color:var(--gray-300)}.user-avatar{width:32px;height:32px;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem}.username{font-size:.875rem;font-weight:500;color:var(--gray-700);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);color:var(--gray-500)}.btn-logout svg{width:18px;height:18px}.btn-logout:hover{background:var(--error-50);border-color:var(--error-200);color:var(--error-600);transform:translateY(-1px)}.btn-history{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--gray-50);border-radius:var(--radius-md);color:var(--gray-600);transition:all var(--transition-base);border:1px solid var(--gray-200);cursor:pointer}.btn-history svg{width:18px;height:18px}.btn-history:hover,.btn-history.active{background:var(--primary-50);border-color:var(--primary-200);color:var(--primary-700);transform:translateY(-1px)}.history-dropdown-wrapper{position:relative;display:inline-block}.history-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;width:360px;max-height:500px;background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--gray-200);z-index:1000;display:flex;flex-direction:column;overflow:hidden;animation:dropdown-slide .2s ease-out;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-base)}.history-dropdown-wrapper.open .history-dropdown{opacity:1;visibility:visible;transform:translateY(0)}@keyframes dropdown-slide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.history-dropdown-wrapper.open:before{content:"";position:fixed;inset:0;background:#00000080;z-index:999;animation:fadeIn .2s ease-out}.history-dropdown{position:fixed;top:auto;right:var(--space-4);left:var(--space-4);width:auto;max-height:70vh;max-width:none;z-index:1000}}.history-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--gray-200);background:linear-gradient(180deg,var(--gray-50) 0%,var(--bg-secondary) 100%)}.history-dropdown-header h3{font-size:.9375rem;font-weight:600;color:var(--gray-800);margin:0}.btn-history-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--gray-500);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.btn-history-close:hover{background:var(--gray-200);color:var(--gray-700)}.history-dropdown-list{max-height:360px;overflow-y:auto;-webkit-overflow-scrolling:touch}.history-dropdown-loading{padding:var(--space-8) var(--space-4);text-align:center;color:var(--gray-500);font-size:.9375rem;display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.history-dropdown-loading:before{content:"";width:20px;height:20px;border:2px solid var(--primary-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.history-dropdown-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--gray-100);transition:background var(--transition-base);cursor:pointer;min-width:0}.history-dropdown-item:last-child{border-bottom:none}.history-dropdown-item:hover{background:var(--gray-50)}.history-dropdown-item>a{flex:1;text-decoration:none;color:inherit;display:block;min-width:0;overflow:hidden}.history-item-title{font-size:.875rem;font-weight:500;color:var(--gray-800);margin-bottom:var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.history-item-meta{display:flex;align-items:center;gap:var(--space-2);font-size:.75rem;color:var(--gray-500);overflow:hidden}.btn-delete-item{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--gray-200);border-radius:var(--radius-md);color:var(--gray-400);cursor:pointer;font-size:1rem;transition:all var(--transition-base);flex-shrink:0}.btn-delete-item:hover{background:var(--error-50);border-color:var(--error-200);color:var(--error-600)}.sidebar{width:400px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-4)}.sidebar-content{background:var(--bg-secondary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);border:1px solid var(--gray-200)}.panel-section{display:flex;flex-direction:column;gap:var(--space-3)}.section-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.section-header svg{width:18px;height:18px;color:var(--primary-500);flex-shrink:0}.section-header label{font-size:.8125rem;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.03em}.prompt-input{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-size:.9375rem;resize:vertical;font-family:inherit;transition:all var(--transition-base);background:var(--gray-50);min-height:100px}.prompt-input::placeholder{color:var(--gray-400)}.prompt-input:hover{border-color:var(--gray-300)}.prompt-input:focus{outline:none;border-color:var(--primary-500);background:#fff;box-shadow:0 0 0 4px #f973161f}.shortcuts{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.btn-shortcut{padding:var(--space-3) var(--space-3);font-size:.8125rem;font-weight:500;border:1px solid var(--gray-200);background:linear-gradient(180deg,var(--gray-50) 0%,white 100%);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--space-2);color:var(--gray-700);box-shadow:var(--shadow-xs)}.shortcut-icon{font-size:1.125rem;flex-shrink:0}.btn-shortcut:hover{background:linear-gradient(180deg,var(--primary-50) 0%,white 100%);border-color:var(--primary-300);color:var(--primary-700);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.btn-shortcut:active{transform:translateY(0)}.image-upload-section{display:flex;flex-direction:column;gap:var(--space-2)}.file-input-wrapper{position:relative}.file-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden}.file-label{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);border:2px dashed var(--gray-300);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);font-size:.875rem;color:var(--gray-600);justify-content:center;background:var(--gray-50)}.file-label svg{width:18px;height:18px;flex-shrink:0}.file-label:hover{border-color:var(--primary-400);background:var(--primary-50);color:var(--primary-700)}.hint-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.8125rem;transition:all var(--transition-base)}.hint-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #f973161a}.btn-extend{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);font-size:.875rem;font-weight:600;background:linear-gradient(135deg,var(--success-500) 0%,var(--success-600) 100%);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 14px #22c55e59}.btn-extend svg{width:16px;height:16px}.btn-extend:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #22c55e73}.btn-extend:active:not(:disabled){transform:translateY(0)}.btn-extend:disabled{opacity:.6;cursor:not-allowed}.error-message{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:linear-gradient(180deg,var(--error-50) 0%,var(--error-100) 100%);border:1px solid var(--error-200);border-radius:var(--radius-lg);color:var(--error-700);font-size:.8125rem;animation:slide-in .3s ease-out}.error-message-inline{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) 0;color:var(--error-600);font-size:.75rem;animation:slide-in .3s ease-out}.error-message-inline svg{width:14px;height:14px;flex-shrink:0}@keyframes slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.error-message svg{width:16px;height:16px;flex-shrink:0;margin-top:1px}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.spinner-small{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.action-buttons{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.btn-generate{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border:none;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 16px #ff6b4a66;position:relative;overflow:hidden}.btn-generate:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-generate:hover:before{left:100%}.btn-generate svg{width:20px;height:20px}.btn-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #ff6b4a80}.btn-generate:active:not(:disabled){transform:translateY(0)}.btn-generate:disabled{opacity:.7;cursor:not-allowed}.btn-print-sidebar{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);border:none;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 16px #f973164d;position:relative;overflow:hidden}.btn-print-sidebar:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-print-sidebar:hover:before{left:100%}.btn-print-sidebar svg{width:20px;height:20px}.btn-print-sidebar:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #f9731666}.btn-print-sidebar:active:not(:disabled){transform:translateY(0)}.preview{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-4);max-height:calc(100vh - var(--space-16));overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);border:1px solid var(--gray-200);flex-wrap:wrap;gap:var(--space-3);min-height:50px}.preview-header:empty{display:none}.question-count{font-size:.8125rem;color:var(--primary-700);background:var(--primary-100);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);white-space:nowrap;font-weight:500;flex-shrink:0}.preview-header-actions{display:flex;align-items:center;gap:var(--space-2)}.btn-icon-action{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);color:var(--gray-600)}.btn-icon-action svg{width:18px;height:18px}.btn-icon-action:hover:not(:disabled){background:#fff;border-color:var(--primary-300);color:var(--primary-600);box-shadow:0 2px 8px #f9731633;transform:translateY(-1px)}.btn-icon-action:active:not(:disabled){transform:translateY(0)}.btn-icon-action:disabled{opacity:.5;cursor:not-allowed}.preview-card{flex:1;background:var(--bg-secondary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:var(--space-6);min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--gray-200)}.placeholder{height:100%;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gray-400);text-align:center;padding:var(--space-8)}.placeholder-icon{width:100px;height:100px;margin-bottom:var(--space-5);background:linear-gradient(135deg,var(--gray-100) 0%,var(--gray-50) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 8px #0000000a}.placeholder-icon svg{width:48px;height:48px;color:var(--gray-300)}.placeholder p{margin:0;font-size:1rem;color:var(--gray-400);font-weight:500}.placeholder-hint{font-size:.875rem;color:var(--gray-300);margin-top:var(--space-2);max-width:280px;line-height:1.5}.markdown-body{font-size:.9375rem;line-height:1.9;color:var(--gray-800);overflow-x:hidden;word-wrap:break-word;word-break:break-word;white-space:normal}.markdown-body h1,.markdown-body h2{margin:var(--space-6) 0 var(--space-3);font-size:1.15em;font-weight:700;color:var(--gray-900);word-wrap:break-word;max-width:100%}.markdown-body p{margin:var(--space-2) 0;word-wrap:break-word;word-break:break-word}.markdown-body ol,.markdown-body ul{margin:var(--space-2) 0;padding-left:var(--space-6);max-width:100%;list-style-position:outside}.markdown-body li{margin:var(--space-1) 0;word-wrap:break-word;word-break:break-word;max-width:100%;list-style-position:outside}.markdown-body ol li,.markdown-body ul li{display:list-item!important}.answer-section{margin-top:var(--space-8);padding-top:var(--space-5);border-top:2px dashed var(--gray-300)}.comparison-circle{display:inline-block;width:32px;height:32px;line-height:28px;text-align:center;border:2px solid var(--gray-700);border-radius:var(--radius-md);margin:0 var(--space-1);font-size:1rem;vertical-align:middle;background:#fff}.blank-line{display:inline-block;min-width:60px;border-bottom:2px solid var(--gray-700);margin:0 var(--space-1);height:24px;vertical-align:bottom}.blank-box{display:inline-block;min-width:24px;height:24px;border:1px solid var(--gray-500);margin:0 var(--space-1);vertical-align:middle;background:#fff;border-radius:var(--radius-sm)}.blank-parentheses{display:inline-block;min-width:36px;height:24px;border:1px solid var(--gray-500);border-radius:var(--radius-sm);margin:0 var(--space-1);vertical-align:baseline;background:#fff}.question-number{display:inline-block;min-width:28px;font-weight:600;color:var(--gray-700);margin-right:var(--space-1)}.markdown-body img{max-width:200px;height:auto;margin:var(--space-2) 0;border:1px solid var(--gray-200);border-radius:var(--radius-md)}sup{font-size:.8em;vertical-align:super;line-height:0}sub{font-size:.8em;vertical-align:sub;line-height:0}small{font-size:.8em;vertical-align:middle}.structured-preview{font-size:.9375rem;line-height:1.9;color:var(--gray-800)}.structured-preview .question-wrapper{page-break-inside:avoid;margin-bottom:var(--space-6)}.question-content{margin-bottom:var(--space-2)}.option-item{margin-bottom:var(--space-1)}.sub-question{margin-top:var(--space-3);padding-left:var(--space-4);border-left:2px solid var(--gray-200)}.progress-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;padding:var(--space-4)}.progress-modal{background:var(--bg-secondary);border-radius:var(--radius-2xl);padding:var(--space-8);width:100%;max-width:400px;box-shadow:var(--shadow-2xl);animation:slideUp .3s ease-out;border:1px solid var(--gray-200)}.progress-title{font-size:1.125rem;font-weight:600;color:var(--gray-800);margin-bottom:var(--space-2);text-align:center}.progress-subtitle{font-size:.875rem;color:var(--gray-500);text-align:center;margin-bottom:var(--space-6)}.progress-bar-container{width:100%;height:6px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-5)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#ff6b4a,#ff8a65);border-radius:var(--radius-full);transition:width .5s ease-out;position:relative}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-steps{display:flex;justify-content:space-between;margin-bottom:var(--space-6)}.progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:1;position:relative}.progress-step-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gray-200);color:var(--gray-400);transition:all .3s ease}.progress-step-icon svg{width:20px;height:20px}.progress-step.active .progress-step-icon{background:linear-gradient(135deg,#ff6b4a,#ff8a65);color:#fff;box-shadow:0 4px 12px #ff6b4a66;animation:pulse 1.5s infinite}.progress-step.completed .progress-step-icon{background:linear-gradient(135deg,var(--success-500) 0%,var(--success-600) 100%);color:#fff}.progress-step-label{font-size:.6875rem;color:var(--gray-500);text-align:center;white-space:nowrap}.progress-step.active .progress-step-label{color:var(--primary-600);font-weight:600}.progress-step.completed .progress-step-label{color:var(--success-600)}.progress-time-hint{text-align:center;font-size:.8125rem;color:var(--gray-500);padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.progress-time-hint svg{width:14px;height:14px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media(max-width:640px){.progress-modal{padding:var(--space-6)}.progress-title{font-size:1rem}.progress-step-icon{width:40px;height:40px}.progress-step-label{font-size:.625rem}}.delete-confirm-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out;padding:var(--space-4)}.delete-confirm-dialog{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:380px;box-shadow:var(--shadow-2xl);animation:slideUp .3s ease-out;border:1px solid var(--gray-200)}.delete-confirm-title{font-size:1.0625rem;font-weight:600;color:var(--gray-800);margin:0 0 var(--space-2)}.delete-confirm-message{font-size:.9375rem;color:var(--gray-600);margin:0 0 var(--space-5);line-height:1.6}.delete-confirm-record-title{font-weight:500;color:var(--gray-800);display:block;margin:var(--space-1) 0;padding:var(--space-2) var(--space-3);background:var(--gray-50);border-radius:var(--radius-md);font-size:.875rem;word-break:break-word}.delete-confirm-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.btn-delete-confirm-cancel,.btn-delete-confirm-delete{padding:var(--space-2) var(--space-5);font-size:.9375rem;font-weight:500;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-base);min-width:80px}.btn-delete-confirm-cancel{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.btn-delete-confirm-cancel:hover:not(:disabled){background:var(--gray-200)}.btn-delete-confirm-delete{background:linear-gradient(135deg,var(--error-500) 0%,var(--error-600) 100%);color:#fff;box-shadow:0 2px 8px #dc26264d}.btn-delete-confirm-delete:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #dc262666}.btn-delete-confirm-cancel:disabled,.btn-delete-confirm-delete:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.delete-confirm-dialog{max-width:none;padding:var(--space-5)}.delete-confirm-title{font-size:1rem}.delete-confirm-message{font-size:.875rem}.btn-delete-confirm-cancel,.btn-delete-confirm-delete{min-width:70px;padding:var(--space-2) var(--space-4);font-size:.875rem}}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary)}.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#fffdf9,#fff5f0)}.main{flex:1;display:flex;gap:var(--space-6);padding:var(--space-6);max-width:1400px;margin:0 auto;width:100%}@media(max-width:1024px){.main{flex-direction:column}.sidebar{width:100%}.sidebar-content{padding:var(--space-5)}.shortcuts{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.header-content{padding:var(--space-3) var(--space-4)}.header h1{font-size:1.1rem}.username{display:none}.user-info{padding:var(--space-1) var(--space-2)}.main{padding:var(--space-4);gap:var(--space-4)}.sidebar-content{padding:var(--space-4);border-radius:var(--radius-xl)}.shortcuts{grid-template-columns:repeat(2,1fr)}.preview-card{padding:var(--space-4);min-height:250px;border-radius:var(--radius-xl)}.preview-header{padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl)}}@media(max-width:640px){.logo-small{width:38px;height:38px}.logo-small svg{width:20px;height:20px}.header h1{font-size:1rem}.btn-history,.btn-logout{width:36px;height:36px}.main{padding:var(--space-3);gap:var(--space-3)}.sidebar-content{padding:var(--space-4)}.section-header label{font-size:.75rem}.prompt-input{font-size:.875rem;min-height:80px}.shortcuts{grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.btn-shortcut{padding:var(--space-3);font-size:.75rem}.btn-generate{padding:var(--space-3) var(--space-4);font-size:.9375rem}.preview-header{flex-wrap:wrap;gap:var(--space-3)}.preview-title{width:100%;justify-content:center;text-align:center}.preview-header-actions{width:100%;justify-content:center;padding-top:var(--space-2);margin-top:var(--space-1)}.btn-icon-action{width:42px;height:42px}.preview-card{padding:var(--space-3);min-height:200px}.markdown-body{font-size:.875rem}.placeholder-icon{width:80px;height:80px}.placeholder-icon svg{width:40px;height:40px}.history-dropdown{width:calc(100vw - var(--space-8));right:-12px;max-height:60vh}}@media(max-width:375px){.header h1{display:none}.shortcuts{grid-template-columns:1fr}.btn-shortcut{justify-content:center}.image-upload-section .file-label{font-size:.8125rem}.preview-title span{display:none}.question-count{font-size:.75rem;padding:var(--space-1) var(--space-2)}}.detail-page{min-height:100vh;background:linear-gradient(180deg,#fffdf9,#fff5f0);padding:24px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.detail-header{max-width:900px;margin:0 auto 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.detail-header h2{font-size:1.5rem;font-weight:700;color:#262626;margin:0;letter-spacing:-.02em}.detail-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-action{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #ff6b4a4d}.btn-action:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b4a66}.btn-back{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:.9375rem;font-weight:500;color:#525252;background:#fff;border:1px solid #e5e5e5;border-radius:12px;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-back:hover{background:#fafafa;border-color:#d4d4d4;color:#262626}.share-link-display{max-width:900px;margin:0 auto 24px;padding:16px 20px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border-radius:14px;border:1px solid rgba(255,138,101,.2);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.share-link-display span{font-size:.875rem;color:#c2410c;font-weight:500}.share-link-display a{flex:1;min-width:200px;font-size:.875rem;color:#ea580c;text-decoration:none;word-break:break-all}.btn-copy{padding:8px 16px;font-size:.8125rem;font-weight:600;color:#ff6b4a;background:#fff;border:1px solid rgba(255,107,74,.3);border-radius:10px;cursor:pointer;transition:all .2s ease}.btn-copy:hover{background:#fff7ed;border-color:#ff6b4a}.detail-meta{max-width:900px;margin:0 auto 20px;display:flex;gap:24px;flex-wrap:wrap;padding:16px 20px;background:#fff;border-radius:14px;border:1px solid #f0f0f0;box-shadow:0 2px 8px #0000000a}.detail-meta span{font-size:.875rem;color:#737373}.detail-prompt{max-width:900px;margin:0 auto 24px;padding:20px;background:#fff;border-radius:14px;border:1px solid #f0f0f0;box-shadow:0 2px 8px #0000000a}.detail-prompt strong{display:block;font-size:.875rem;color:#525252;margin-bottom:12px}.detail-prompt p{margin:0;font-size:.9375rem;color:#262626;line-height:1.7;padding:12px 16px;background:#fafafa;border-radius:10px}.detail-content{max-width:900px;margin:0 auto;background:#fff;border-radius:14px;border:1px solid #f0f0f0;box-shadow:0 4px 16px #0000000f;padding:32px}.detail-content.markdown-body{font-size:.9375rem;line-height:1.9;color:#262626}.detail-content h1,.detail-content h2{margin:24px 0 12px;font-size:1.15em;font-weight:700;color:#171717}.detail-content p{margin:8px 0}.detail-content ol,.detail-content ul{margin:8px 0;padding-left:24px}.detail-content li{margin:6px 0}@media print{.answers-section{break-inside:avoid}.answer-item{break-inside:avoid;background:#fff7ed;border:1px solid #ddd}}.detail-page .loading{text-align:center;padding:80px 24px;font-size:1rem;color:#737373}.detail-page .error-card{max-width:500px;margin:80px auto;text-align:center;padding:48px 32px;background:#fff;border-radius:20px;border:1px solid #f0f0f0;box-shadow:0 8px 32px #0000000f}.share-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.share-modal{background:#fff;border-radius:16px;width:100%;max-width:420px;box-shadow:0 12px 48px #0003;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.share-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f0}.share-modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#262626}.share-modal-close{background:none;border:none;font-size:1.5rem;color:#737373;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.share-modal-close:hover{background:#fafafa;color:#262626}.share-modal-body{padding:20px}.share-link-box{display:flex;gap:10px;margin-bottom:16px}.share-link-input{flex:1;padding:12px 14px;font-size:.875rem;border:1px solid #e5e5e5;border-radius:10px;background:#fafafa;color:#262626;outline:none;transition:all .2s}.share-link-input:focus{border-color:#ff6b4a;background:#fff}.share-link-copy-btn{padding:12px 20px;font-size:.875rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border:none;border-radius:10px;cursor:pointer;transition:all .2s;white-space:nowrap}.share-link-copy-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b4a4d}.share-link-copy-btn:active{transform:translateY(0)}.wechat-hint,.safari-hint{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid rgba(255,138,101,.3);border-radius:12px;padding:14px 16px;margin-bottom:16px}.wechat-hint p,.safari-hint p{margin:0 0 10px;font-size:.875rem;font-weight:600;color:#c2410c}.wechat-hint ol,.safari-hint ol{margin:0;padding-left:20px}.wechat-hint li,.safari-hint li{font-size:.8125rem;color:#525252;line-height:1.8}.icon-dots{display:inline-block;background:#262626;color:#fff;padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:700;vertical-align:middle}.share-link-direct{display:block;text-align:center;padding:14px 20px;font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border-radius:12px;text-decoration:none;transition:all .2s;box-shadow:0 4px 14px #ff6b4a40}.share-link-direct:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b4a59}@media(max-width:480px){.share-modal-overlay{padding:16px;align-items:flex-end}.share-modal{max-width:none;border-radius:16px 16px 0 0;animation:slideUpBottom .3s ease}@keyframes slideUpBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.share-link-box{flex-direction:column}.share-link-copy-btn{width:100%}}.share-page{min-height:100vh;background:linear-gradient(180deg,#fffdf9,#fff5f0);padding:40px 24px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.share-header{max-width:900px;margin:0 auto 24px;text-align:center}.share-header h1{font-size:1.75rem;font-weight:700;color:#262626;margin:0 0 12px;letter-spacing:-.02em}.share-badge{display:inline-block;padding:6px 16px;font-size:.8125rem;font-weight:600;color:#ff6b4a;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid rgba(255,138,101,.3);border-radius:20px}.share-meta{max-width:900px;margin:0 auto 24px;text-align:center}.share-meta span{font-size:.875rem;color:#737373}.share-content{max-width:900px;margin:0 auto;background:#fff;border-radius:14px;border:1px solid #f0f0f0;box-shadow:0 4px 16px #0000000f;padding:32px}.share-content.markdown-body{font-size:.9375rem;line-height:1.9;color:#262626}.share-content h1,.share-content h2{margin:24px 0 12px;font-size:1.15em;font-weight:700;color:#171717}.share-content p{margin:8px 0}.share-content ol,.share-content ul{margin:8px 0;padding-left:24px}.share-content li{margin:6px 0}.share-content ol li,.share-content ul li{display:list-item!important}.share-content img{max-width:100%;height:auto;margin:12px 0;border:1px solid #e5e5e5;border-radius:10px}.share-footer{max-width:500px;margin:40px auto 0;text-align:center;padding:32px 24px;background:#fff;border-radius:20px;border:1px solid #f0f0f0;box-shadow:0 8px 32px #0000000f}.share-footer p{font-size:1rem;color:#525252;margin:0 0 20px;font-weight:500}.share-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.share-actions .btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 32px;font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border:none;border-radius:50px;text-decoration:none;box-shadow:0 4px 14px #ff6b4a4d;transition:all .2s ease}.share-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b4a66}.share-actions .btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:12px 32px;font-size:.9375rem;font-weight:500;color:#525252;background:#fff;border:1px solid #e5e5e5;border-radius:50px;text-decoration:none;transition:all .2s ease}.share-actions .btn-secondary:hover{background:#fafafa;border-color:#d4d4d4;color:#262626}.share-page .loading{text-align:center;padding:80px 24px;font-size:1rem;color:#737373}.share-page .error-card{max-width:500px;margin:80px auto;text-align:center;padding:48px 32px;background:#fff;border-radius:20px;border:1px solid #f0f0f0;box-shadow:0 8px 32px #0000000f}.error-card h2{font-size:1.25rem;color:#262626;margin:0 0 12px}.error-card p{font-size:.9375rem;color:#737373;margin:0 0 24px}.auth-hint{padding:24px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border-radius:14px;margin-top:24px}.auth-hint p{margin:0 0 16px;font-size:.9375rem;color:#c2410c;font-weight:500}.auth-hint .btn-primary{display:inline-block;padding:12px 32px;font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border:none;border-radius:50px;text-decoration:none;box-shadow:0 4px 14px #ff6b4a4d;transition:all .2s ease}.auth-hint .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b4a66}@media(max-width:768px){.share-page{padding:24px 16px}.share-header h1{font-size:1.375rem}.share-content{padding:20px}.share-footer{padding:24px 20px}.share-actions{flex-direction:column}.share-actions .btn-primary,.share-actions .btn-secondary{width:100%}}.preview-page{min-height:100vh;background:linear-gradient(180deg,#fffdf9,#fff5f0);padding:24px}.preview-header{max-width:900px;margin:0 auto 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.preview-header h2{font-size:1.5rem;font-weight:700;color:#262626;margin:0}.preview-actions{display:flex;gap:12px}.btn-print,.btn-back{padding:10px 20px;font-size:.9375rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease}.btn-print{color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 14px #10b9814d}.btn-print:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.btn-back{color:#525252;background:#fff;border:1px solid #e5e5e5}.btn-back:hover{background:#fafafa;border-color:#d4d4d4}.preview-content{max-width:900px;margin:0 auto}.prompt-input-container{background:#fff;padding:24px;border-radius:16px;border:1px solid #f0f0f0;box-shadow:0 4px 16px #0000000f}.prompt-input-container .prompt-label{font-size:.875rem;color:#525252;margin-bottom:12px;font-weight:500}.prompt-input{width:100%;padding:14px 16px;font-size:.9375rem;color:#262626;background:#fafafa;border:1px solid #e5e5e5;border-radius:12px;resize:vertical;min-height:120px;font-family:inherit;transition:all .2s ease}.prompt-input:focus{outline:none;border-color:#ff6b4a;background:#fff;box-shadow:0 0 0 3px #ff6b4a1a}.prompt-input::placeholder{color:#a1a1aa}.btn-generate{width:100%;margin-top:16px;padding:12px 24px;font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #ff6b4a4d}.btn-generate:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b4a66}.btn-generate:active{transform:translateY(0)}.questions-container{display:flex;flex-direction:column;gap:24px}.answers-section{margin-top:32px;padding-top:24px;border-top:2px dashed #e5e5e5}.answers-section h3{font-size:1.25rem;font-weight:700;color:#262626;margin:0 0 20px;display:flex;align-items:center;gap:8px}.answers-section h3:before{content:"";display:inline-block;width:4px;height:20px;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border-radius:2px}.answers-list{display:flex;flex-direction:column;gap:16px}.answer-item{padding:16px 20px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border-radius:12px;border:1px solid rgba(255,138,101,.2)}.answer-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.answer-index{font-size:.875rem;font-weight:600;color:#c2410c;background:#fff;padding:4px 12px;border-radius:20px;border:1px solid rgba(255,107,74,.2)}.answer-type{font-size:.75rem;color:#737373;text-transform:uppercase;letter-spacing:.05em}.answer-content{font-size:.9375rem;color:#262626;line-height:1.7}.answer-content strong{color:#c2410c;margin-right:8px}.question-wrapper{page-break-inside:avoid}.loading,.error{text-align:center;padding:80px 24px;font-size:1rem}.error{color:#dc2626}@media print{body *{visibility:hidden}#print-container,#print-container *{visibility:visible!important}#print-container{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;box-shadow:none!important}}@media(max-width:768px){.preview-page{padding:16px}.preview-header{flex-direction:column;align-items:flex-start}.preview-actions{width:100%}.btn-print,.btn-back{flex:1;justify-content:center}}.admin-login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.admin-login-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:50px 40px;width:100%;max-width:420px;animation:slideUp .5s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.admin-login-header{text-align:center;margin-bottom:40px}.admin-login-logo{font-size:64px;margin-bottom:16px}.admin-login-header h1{margin:0;font-size:24px;font-weight:700;color:#333}.admin-login-header p{margin:8px 0 0;font-size:14px;color:#999;letter-spacing:2px;text-transform:uppercase}.admin-login-form{display:flex;flex-direction:column;gap:20px}.admin-form-group{display:flex;flex-direction:column;gap:8px}.admin-form-group label{font-size:14px;font-weight:600;color:#555}.admin-form-group input{padding:14px 18px;border:2px solid #e8e8e8;border-radius:10px;font-size:16px;transition:all .3s ease;background:#fafafa}.admin-form-group input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea1a}.admin-form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.admin-form-error{padding:12px 16px;background:#fff2f0;border:1px solid #ffccc7;border-radius:8px;color:#ff4d4f;font-size:14px;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.admin-login-btn{padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px}.admin-login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.admin-login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.admin-login-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.admin-login-footer{margin-top:30px;text-align:center;color:#999;font-size:12px}.admin-login-footer p{margin:0}.users-page{max-width:1400px}.user-email{font-family:Consolas,Monaco,monospace;font-size:14px}.user-detail-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;font-size:14px;color:#666;transition:all .3s ease;text-decoration:none}.user-info-value.email{font-family:Consolas,Monaco,monospace}.records-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#333}.record-item{padding:16px 20px;border:1px solid #e8e8e8;border-radius:10px;margin-bottom:12px;transition:all .3s ease;cursor:pointer;background:#fff}.user-detail-page{max-width:1200px}.user-detail-header{margin-bottom:24px}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;font-size:14px;color:#666;transition:all .3s ease}.back-btn:hover{border-color:#667eea;color:#667eea}.user-info-card{margin-bottom:24px}.user-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;padding:20px 0}.user-info-item{display:flex;flex-direction:column;gap:8px}.user-info-label{font-size:13px;color:#999;text-transform:uppercase;letter-spacing:.5px}.user-info-value{font-size:16px;font-weight:500;color:#333}.user-info-value.email{font-family:Consolas,Monaco,monospace;font-size:14px}.user-actions{display:flex;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.records-section{margin-top:24px}.records-section h3{margin:0;font-size:16px;font-weight:600;color:#333}.record-item{padding:16px 20px;border:1px solid #e8e8e8;border-radius:10px;margin-bottom:12px;transition:all .3s ease;background:#fff}.record-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.record-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.record-id{font-size:12px;color:#999;font-weight:500}.record-date{font-size:13px;color:#999}.record-title{margin:0;font-size:15px;font-weight:500;color:#333}.record-type{display:inline-block;margin-top:8px;padding:4px 10px;background:#f5f5f5;border-radius:4px;font-size:12px;color:#666}.record-view-hint{display:inline-block;margin-left:12px;font-size:12px;color:#667eea;opacity:0;transition:opacity .3s ease}.record-item:hover .record-view-hint{opacity:1}.load-more-container{display:flex;justify-content:center;margin-top:24px}.operation-logs-page{max-width:1400px}.action-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.action-blue{background:#e6f4ff;color:#1890ff;border:1px solid #91d5ff}.action-red{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.action-green{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.action-gray{background:#f5f5f5;color:#666;border:1px solid #d9d9d9}.target-info{font-size:13px;color:#666}.text-muted{color:#999}.ip-address{font-family:Consolas,Monaco,monospace;font-size:13px}.ai-records-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{margin-bottom:24px}.filter-section{margin-bottom:24px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;align-items:end}.filter-item{display:flex;flex-direction:column;gap:6px}.filter-item label{font-size:13px;font-weight:500;color:#6b7280}.filter-item select,.filter-item input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;color:#1f2937}.filter-item select:focus,.filter-item input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-actions{display:flex;gap:8px}.records-table-container{overflow-x:auto}.records-table{width:100%;border-collapse:collapse;font-size:14px}.records-table th,.records-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.records-table th{background:#f9fafb;font-weight:600;color:#374151;font-size:13px;white-space:nowrap}.records-table tbody tr:hover{background:#f9fafb}.record-id{font-family:monospace;color:#6b7280}.type-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.prompt-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7280}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.duration-cell{font-family:monospace;color:#6b7280}.time-cell{white-space:nowrap;color:#6b7280;font-size:13px}.btn-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:13px;padding:4px 8px;border-radius:4px}.btn-link:hover{background:#eff6ff}.load-more-container{display:flex;justify-content:center;padding:16px}.pagination-info{text-align:center;padding:12px;font-size:13px;color:#6b7280}.ai-record-detail-page{padding:24px;max-width:1200px;margin:0 auto}.info-value.email{word-break:break-all}.info-value.duration{font-family:monospace}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500;width:fit-content}.status-badge.success{background:#dcfce7;color:#166534}.status-badge.failed{background:#fee2e2;color:#991b1b}.error-section{margin-bottom:24px}.error-content{background:#fef2f2;padding:16px;border-radius:8px;border:1px solid #fecaca;font-size:14px;line-height:1.6;color:#991b1b;white-space:pre-wrap;word-break:break-word}.user-record-detail-page{padding:24px;max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.back-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:14px;padding:8px 12px;border-radius:6px;display:flex;align-items:center;gap:4px}.back-btn:hover{background:#f3f4f6;color:#1f2937}.page-header h2{margin:0;font-size:24px;font-weight:600;color:#1f2937}.info-section{margin-bottom:24px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:6px}.info-item.full-width{grid-column:1 / -1}.info-label{font-size:13px;font-weight:500;color:#6b7280}.info-value{font-size:14px;color:#1f2937}.type-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500;width:fit-content}.type-badge.text{background:#dbeafe;color:#1e40af}.type-badge.vision{background:#fef3c7;color:#92400e}.prompt-section{margin-bottom:24px}.prompt-content{background:#f9fafb;padding:16px;border-radius:8px;border:1px solid #e5e7eb;font-size:14px;line-height:1.6;color:#1f2937;white-space:pre-wrap;word-break:break-word}.content-section{margin-bottom:24px}.record-content{font-size:15px;line-height:1.8}.record-content :first-child{margin-top:0}.record-content :last-child{margin-bottom:0}.templates-page{max-width:1400px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{margin:0;font-size:28px;font-weight:700;color:#333}.page-actions{display:flex;align-items:center;gap:16px}.page-stats{font-size:14px;color:#666;background:#fff;padding:10px 20px;border-radius:8px;box-shadow:0 2px 8px #0000000f}.page-stats span{font-weight:600;color:#667eea}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.form-content{max-height:60vh;overflow-y:auto;padding:0 8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:14px;font-weight:500;color:#555}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-group textarea{resize:vertical;font-family:Consolas,Monaco,monospace;font-size:13px}.checkbox-group label{flex-direction:row;align-items:center;gap:8px;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.test-content{max-height:60vh;overflow-y:auto;padding:0 8px}.test-info h4{margin:0 0 16px;font-size:16px;color:#333}.test-settings{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:8px}.test-settings label{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.test-settings input[type=number]{width:60px;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;text-align:center}.test-result{margin-top:20px}.test-result h4{margin:0 0 12px;font-size:16px;color:#333}.json-viewer{background:#1a1c2c;color:#f8f8f2;padding:16px;border-radius:8px;overflow-x:auto;font-size:13px;line-height:1.5;max-height:400px;overflow-y:auto}.json-viewer pre{margin:0;font-family:Consolas,Monaco,monospace}.view-content{max-height:60vh;overflow-y:auto;padding:0 8px}.view-row{margin-bottom:12px;padding:8px 0;border-bottom:1px solid #eee;font-size:14px;display:flex;flex-wrap:wrap;align-items:flex-start}.view-row:last-child{border-bottom:none}.view-row strong{color:#666;margin-right:8px;min-width:100px;flex-shrink:0}.view-row pre{margin:8px 0 0;background:#1a1c2c;color:#f8f8f2;padding:12px;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:12px;overflow-x:auto;width:100%;word-break:break-all}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.modal-close{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:#f5f5f5;color:#333}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee}.admin-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;background:#f5f5f5;color:#333}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-sm{padding:4px 10px;font-size:13px}.admin-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.admin-btn-secondary{background:#f5f5f5;color:#333;border:1px solid #ddd}.admin-btn-secondary:hover{border-color:#667eea;color:#667eea}@media(max-width:768px){.templates-page{padding:0}.page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.page-header h1{font-size:22px}.page-actions{width:100%;justify-content:space-between}.page-stats{width:auto}.admin-table{font-size:13px}.admin-table th,.admin-table td{padding:10px 8px}.admin-table th:nth-child(3),.admin-table td:nth-child(3),.admin-table th:nth-child(4),.admin-table td:nth-child(4){display:none}@media(max-width:1024px){.admin-table th:nth-child(5),.admin-table td:nth-child(5),.admin-table th:nth-child(6),.admin-table td:nth-child(6){display:none}}.action-buttons{flex-direction:column;gap:4px}.action-buttons .admin-btn{width:100%}.form-row{grid-template-columns:1fr}.modal-content{width:95%;max-height:90vh}.test-settings{flex-direction:column;align-items:stretch}}@media(max-width:480px){.admin-btn-sm{padding:6px 8px;font-size:12px}}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.admin-loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.admin-layout{display:flex;min-height:100vh;background:#f5f7fa}.admin-sidebar{width:260px;background:linear-gradient(180deg,#1a1c2c,#2d3142);color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto;box-shadow:2px 0 10px #0000001a;transition:transform .3s ease,width .3s ease;z-index:1000}.admin-sidebar.collapsed{width:0;transform:translate(-260px);overflow:hidden}.admin-logo{padding:30px 20px;text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.admin-logo h2{margin:0;font-size:18px;font-weight:600;letter-spacing:1px}.admin-logo span{display:block;margin-top:8px;font-size:12px;color:#fff9;letter-spacing:2px;text-transform:uppercase}.admin-nav{flex:1;padding:20px 0}.admin-nav a{display:flex;align-items:center;padding:14px 24px;color:#ffffffb3;text-decoration:none;transition:all .3s ease;margin:4px 12px;border-radius:8px;font-size:14px}.admin-nav a:hover{background:#ffffff1a;color:#fff}.admin-nav a.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.nav-icon{margin-right:12px;font-size:18px}.admin-logout{padding:20px;border-top:1px solid rgba(255,255,255,.1)}.admin-logout button{width:100%;padding:14px;background:#ffffff1a;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.admin-logout button:hover{background:#fff3}.admin-main{flex:1;margin-left:260px;padding:30px;min-height:100vh;overflow-y:auto;transition:margin-left .3s ease}.admin-main.expanded{margin-left:0}.sidebar-toggle{display:none;position:fixed;top:16px;left:16px;z-index:999;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 12px #667eea66;transition:all .3s ease}.sidebar-toggle:hover{transform:scale(1.1);box-shadow:0 4px 16px #667eea99}@media(max-width:768px){.sidebar-toggle{display:flex}.admin-sidebar{transform:translate(-260px)}.admin-sidebar.open{transform:translate(0)}.admin-main{margin-left:0;padding:60px 16px 16px}.admin-main.expanded{margin-left:0}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-header h1{font-size:22px}.admin-table{font-size:13px}.admin-table th,.admin-table td{padding:10px 8px}.admin-table th:nth-child(4),.admin-table td:nth-child(4),.admin-table th:nth-child(5),.admin-table td:nth-child(5),.admin-table th:nth-child(6),.admin-table td:nth-child(6){display:none}.admin-card-body{padding:16px}.generate-settings{flex-direction:column;align-items:stretch}}@media(max-width:480px){.admin-table th:nth-child(3),.admin-table td:nth-child(3){display:none}.admin-btn-sm{padding:4px 8px;font-size:12px}}.admin-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.admin-card-header{padding:20px 24px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between}.admin-card-header h3{margin:0;font-size:16px;font-weight:600;color:#333}.admin-card-body{padding:24px}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #f0f0f0}.admin-table th{background:#fafafa;font-weight:600;color:#666;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.admin-table tr:hover{background:#fafafa}.admin-table tr:last-child td{border-bottom:none}.admin-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.admin-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.admin-btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.admin-btn-secondary{background:#f5f5f5;color:#333}.admin-btn-secondary:hover{background:#e8e8e8}.admin-btn-danger{background:#ff4d4f;color:#fff}.admin-btn-danger:hover{background:#ff7875}.admin-btn-sm{padding:6px 14px;font-size:13px}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px}.admin-pagination button{padding:8px 16px;border:1px solid #e8e8e8;background:#fff;border-radius:6px;cursor:pointer;transition:all .3s ease}.admin-pagination button:hover:not(:disabled){border-color:#667eea;color:#667eea}.admin-pagination button:disabled{opacity:.5;cursor:not-allowed}.admin-pagination button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.admin-pagination span{color:#999;font-size:14px}.admin-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.admin-badge-success{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.admin-badge-error{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.admin-badge-warning{background:#fffbe6;color:#faad14;border:1px solid #ffe58f}.admin-empty{text-align:center;padding:60px 20px;color:#999}.admin-empty-icon{font-size:64px;margin-bottom:16px;opacity:.3}.admin-empty p{margin:0;font-size:14px}.admin-loading-state{display:flex;align-items:center;justify-content:center;padding:40px;color:#999}.admin-loading-state:before{content:"";width:24px;height:24px;border:3px solid #e8e8e8;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin-right:12px}:root{--coral-50: #fff7ed;--coral-100: #ffedd5;--coral-200: #fed7aa;--coral-300: #fdba74;--coral-400: #fb923c;--coral-500: #f97316;--coral-600: #ea580c;--coral-700: #c2410c;--pink-50: #fdf2f8;--pink-100: #fce7f3;--pink-200: #fbcfe8;--pink-300: #f9a8d4;--pink-400: #f472b6;--pink-500: #ec4899;--pink-600: #db2777;--yellow-50: #fefce8;--yellow-100: #fef9c3;--yellow-200: #fef08a;--yellow-300: #fde047;--yellow-400: #facc15;--yellow-500: #eab308;--green-50: #f0fdf4;--green-100: #dcfce7;--green-200: #bbf7d0;--green-300: #86efac;--green-400: #4ade80;--green-500: #22c55e;--sky-50: #f0f9ff;--sky-100: #e0f2fe;--sky-200: #bae6fd;--sky-300: #7dd3fc;--sky-400: #38bdf8;--sky-500: #0ea5e9;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--bg-warm: #fffdf9;--bg-soft: #fff9f5}.landing-page{min-height:100vh;background:var(--bg-warm);overflow-x:hidden;overflow-y:auto;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;width:100%}.landing-nav{background:#ffffffe6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,120,80,.1);position:sticky;top:0;z-index:1000;will-change:auto}.landing-nav-content{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.landing-nav-logo{display:flex;align-items:center;gap:10px;cursor:pointer;transition:transform .2s ease}.landing-nav-logo:hover{transform:scale(1.02)}.landing-nav-logo svg{width:36px;height:36px;background:linear-gradient(135deg,#ff8a65,#ffab91);padding:6px;border-radius:10px;color:#fff;box-shadow:0 4px 12px #ff8a6559}.landing-nav-logo span{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#ff6b4a,#ff8a65);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.landing-nav-actions{display:flex;align-items:center;gap:12px}.btn-nav-login{padding:10px 20px;font-size:.9375rem;font-weight:500;color:var(--gray-600);background:transparent;border:1px solid var(--gray-200);border-radius:12px;cursor:pointer;transition:all .2s ease}.btn-nav-login:hover{background:var(--gray-50);border-color:var(--gray-300);color:var(--gray-800)}.btn-nav-register{padding:10px 24px;font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #ff6b4a4d}.btn-nav-register:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b4a66}.landing-hero{background:linear-gradient(180deg,#fff5f0 0%,#fff9f5 50%,var(--bg-warm) 100%);padding:100px 24px 80px;position:relative;overflow:hidden}.landing-hero:before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(255,138,101,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}.landing-hero:after{content:"";position:absolute;bottom:-50px;left:-50px;width:300px;height:300px;background:radial-gradient(circle,rgba(255,179,129,.12) 0%,transparent 70%);border-radius:50%;pointer-events:none}.landing-hero-content{max-width:800px;margin:0 auto;position:relative;z-index:1;text-align:center}.landing-hero-title{font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.2;margin-bottom:20px;color:var(--gray-800);letter-spacing:-.03em}.landing-hero-title span{background:linear-gradient(135deg,#ff6b4a,#ff8a65);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-hero-subtitle{font-size:1.125rem;color:var(--gray-500);margin-bottom:40px;line-height:1.7}.hero-input-wrapper{background:#fff;border-radius:20px;padding:8px;margin-bottom:32px;box-shadow:0 8px 40px #ff6b4a1f;max-width:640px;margin-left:auto;margin-right:auto;border:1px solid rgba(255,107,74,.1);transition:all .3s ease}.hero-input-wrapper:focus-within{transform:translateY(-4px);box-shadow:0 12px 50px #ff6b4a2e;border-color:#ff6b4a33}.hero-input-demo{display:flex;align-items:center;gap:12px;padding:4px}.hero-input-icon{font-size:1.5rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg,#fff5f0,#ffedd5);border-radius:12px}.hero-input-demo input{flex:1;border:none;outline:none;font-size:1rem;color:var(--gray-700);background:transparent;padding:12px 16px}.hero-input-demo input::placeholder{color:var(--gray-400)}.hero-input-hint{font-size:.8125rem;color:var(--gray-500);background:var(--gray-50);padding:8px 14px;border-radius:10px;margin-top:12px;text-align:left;display:inline-block}.btn-hero-cta{display:inline-flex;align-items:center;gap:10px;padding:16px 40px;font-size:1.0625rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #ff6b4a59;margin-bottom:32px}.btn-hero-cta:hover{transform:translateY(-3px);box-shadow:0 12px 36px #ff6b4a73}.hero-trust-badges{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap}.trust-badge{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--gray-600);background:#fff;padding:8px 16px;border-radius:20px;box-shadow:0 2px 8px #0000000a}.landing-features{padding:80px 24px;background:#fff}.section-title{font-size:1.875rem;font-weight:700;text-align:center;margin-bottom:48px;color:var(--gray-800);letter-spacing:-.02em}.features-scroll-wrapper{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:0 8px}.features-scroll-wrapper::-webkit-scrollbar{display:none}.features-grid{display:flex;gap:20px;width:max-content;margin:0 auto;padding:0 8px}.feature-card{flex:0 0 260px;background:#fff;border-radius:24px;padding:32px 24px;text-align:center;transition:all .3s ease;border:1px solid var(--gray-100);position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000a}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ff6b4a,#ff8a65,#ffb381);opacity:0;transition:opacity .3s ease}.feature-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #ff6b4a1f;border-color:#ff6b4a33}.feature-card:hover:before{opacity:1}.feature-icon{font-size:3.5rem;margin-bottom:20px;display:block}.feature-title{font-size:1.125rem;font-weight:700;color:var(--gray-800);margin-bottom:12px;letter-spacing:-.01em}.feature-description{font-size:.9375rem;color:var(--gray-500);line-height:1.6;margin:0}.landing-use-cases{padding:80px 24px;background:linear-gradient(180deg,var(--bg-warm) 0%,#fff5f0 100%)}.use-cases-scroll-wrapper{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:0 8px}.use-cases-scroll-wrapper::-webkit-scrollbar{display:none}.use-cases-grid{display:flex;gap:20px;width:max-content;margin:0 auto;padding:0 8px}.use-case-card{flex:0 0 260px;background:#fff;border-radius:24px;padding:32px 24px;text-align:center;transition:all .3s ease;border:2px solid transparent;box-shadow:0 4px 20px #0000000a}.use-case-card:hover{border-color:#ff6b4a4d;transform:translateY(-6px);box-shadow:0 16px 40px #ff6b4a26}.use-case-icon{font-size:4.5rem;margin-bottom:20px;display:block}.use-case-title{font-size:1.25rem;font-weight:700;color:var(--gray-800);margin-bottom:16px}.use-case-scenarios{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.scenario-tag{display:inline-block;padding:6px 14px;background:linear-gradient(135deg,#fff5f0,#ffedd5);color:var(--coral-700);border-radius:20px;font-size:.8125rem;font-weight:600}.landing-demos{padding:80px 24px;background:#fff}.demos-scroll-wrapper{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:0 8px}.demos-scroll-wrapper::-webkit-scrollbar{display:none}.demos-grid{display:flex;gap:20px;width:max-content;margin:0 auto;padding:0 8px}.demo-card{flex:0 0 260px;background:#fff;border-radius:20px;overflow:hidden;cursor:pointer;transition:all .3s ease;border:1px solid var(--gray-200);box-shadow:0 4px 16px #0000000f}.demo-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001f;border-color:#ff6b4a4d}.demo-preview{height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;position:relative}.demo-preview:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent,#0000001a)}.demo-preview.from-blue-400-to-blue-600{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.demo-preview.from-pink-400-to-pink-600{background:linear-gradient(135deg,#f472b6,#ec4899)}.demo-preview.from-green-400-to-green-600{background:linear-gradient(135deg,#4ade80,#22c55e)}.demo-subject{font-size:1.5rem;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.15)}.demo-grade{font-size:.875rem;opacity:.95}.demo-info{padding:20px;text-align:center}.demo-topic{font-size:.9375rem;font-weight:600;color:var(--gray-700);margin-bottom:8px}.demo-action{font-size:.8125rem;color:var(--coral-600);font-weight:600}.landing-testimonials{padding:80px 24px;background:linear-gradient(180deg,var(--bg-warm) 0%,#fff9f5 100%)}.testimonials-scroll-wrapper{overflow:hidden;width:100%}.testimonials-scroll{display:flex;gap:16px;padding:16px 8px;animation:scroll-left 80s linear infinite;width:max-content}.testimonials-scroll:hover{animation-play-state:paused}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}.testimonial-card{flex-shrink:0;width:300px;padding:24px;border-radius:20px;transition:all .3s ease;border:1px solid rgba(0,0,0,.05)}.testimonial-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px #0000001a}.testimonial-content{font-size:.9375rem;line-height:1.7;color:var(--gray-700);margin-bottom:16px;font-style:italic}.testimonial-author{font-size:.8125rem;color:var(--gray-600);font-weight:600;margin:0;text-align:right}.landing-cta{padding:100px 24px;background:linear-gradient(135deg,#ff6b4a,#ff8a65);text-align:center;position:relative;overflow:hidden}.landing-cta:before{content:"";position:absolute;top:-50%;right:-20%;width:500px;height:500px;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 60%);border-radius:50%;pointer-events:none}.landing-cta:after{content:"";position:absolute;bottom:-30%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 60%);border-radius:50%;pointer-events:none}.cta-title{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:32px;position:relative;z-index:1}.btn-cta-primary{display:inline-flex;align-items:center;gap:10px;padding:18px 48px;font-size:1.0625rem;font-weight:700;color:#ff6b4a;background:#fff;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #00000026;position:relative;z-index:1}.btn-cta-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 36px #0003}.landing-footer{background:#f7f8fa;color:var(--gray-500);padding:24px;text-align:center}.footer-copyright{font-size:.75rem;margin:0;color:var(--gray-500)}@media(max-width:1024px){.landing-hero-title{font-size:2.25rem}}@media(max-width:768px){.landing-nav-content{padding:12px 16px}.landing-nav-logo span{font-size:1.1rem}.btn-nav-login,.btn-nav-register{padding:8px 16px;font-size:.875rem}.landing-hero{padding:60px 16px 50px}.landing-hero-title{font-size:1.75rem}.landing-hero-subtitle{font-size:1rem}.hero-input-wrapper{padding:6px}.hero-input-icon{width:40px;height:40px;font-size:1.25rem}.hero-input-demo input{font-size:.9375rem;padding:10px 12px}.hero-input-hint{font-size:.75rem;padding:6px 12px}.btn-hero-cta{padding:14px 32px;font-size:1rem}.hero-trust-badges{flex-direction:column;gap:12px}.trust-badge{padding:6px 12px;font-size:.8125rem}.landing-features,.landing-use-cases,.landing-demos,.landing-testimonials,.landing-cta{padding:50px 16px}.section-title,.cta-title{font-size:1.5rem}.feature-card,.use-case-card,.testimonial-card{padding:24px 20px}}@media(max-width:480px){.landing-nav-actions{gap:8px}.btn-nav-login{display:none}.landing-hero-title{font-size:1.5rem}.demo-preview{height:120px}.demo-subject{font-size:1.25rem}}.login-modal-overlay{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .25s ease-out;padding:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-modal{background:#fff;border-radius:28px;box-shadow:0 24px 60px #00000026,0 8px 24px #0000000f;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .4s cubic-bezier(.16,1,.3,1);border:1px solid rgba(255,107,74,.08)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--gray-50);border:none;border-radius:12px;color:var(--gray-400);cursor:pointer;transition:all .2s ease;z-index:10}.login-modal-close:hover{background:var(--gray-100);color:var(--gray-600);transform:rotate(90deg)}.login-modal-close svg{width:20px;height:20px}.login-modal-header{padding:32px 24px 20px;text-align:center}.login-modal-logo{width:64px;height:64px;margin:0 auto 18px;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border-radius:18px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 24px #ff6b4a59;transition:transform .3s ease}.login-modal-logo:hover{transform:scale(1.05)}.login-modal-logo svg{width:32px;height:32px}.login-modal-header h2{font-size:1.375rem;font-weight:800;color:var(--gray-800);margin-bottom:8px;letter-spacing:-.02em}.login-modal-hint{font-size:.875rem;color:var(--gray-500);margin:0}.login-modal-hint button{background:transparent;border:none;color:#ff6b4a;font-weight:700;cursor:pointer;text-decoration:underline;transition:color .2s ease}.login-modal-hint button:hover{color:#ff5a3a}.login-modal-form{padding:0 24px 24px}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:10px;letter-spacing:-.01em}.form-group input{width:100%;padding:13px 15px;border:2px solid var(--gray-200);border-radius:12px;font-size:.9375rem;transition:all .25s ease;background:var(--gray-50);color:var(--gray-700)}.form-group input::placeholder{color:var(--gray-400)}.form-group input:focus{outline:none;border-color:#ff8a65;background:#fff;box-shadow:0 0 0 5px #ff8a651f}.form-group input:hover:not(:disabled){border-color:var(--gray-300);background:#fff}.form-group input:disabled{background:var(--gray-100);cursor:not-allowed}.otp-input-wrapper{display:flex;gap:10px}.otp-input-wrapper input{flex:1}.otp-btn{padding:11px 16px;font-size:.8125rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff8a65,#ffb381);border:none;border-radius:12px;cursor:pointer;transition:all .25s ease;white-space:nowrap;box-shadow:0 4px 12px #ff8a654d}.otp-btn:hover:not(:disabled){background:linear-gradient(135deg,#ff7b5a,#ffa371);transform:translateY(-1px);box-shadow:0 6px 16px #ff8a6566}.otp-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--gray-200);box-shadow:none}.btn-submit{width:100%;margin-top:22px;padding:20px;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#ff6b4a,#ff8a65);border:none;border-radius:14px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 20px #ff6b4a59;display:flex;align-items:center;justify-content:center;gap:8px}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #ff6b4a73;background:linear-gradient(135deg,#ff5a3a,#ff7b5a)}.btn-submit:active:not(:disabled){transform:translateY(-1px)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.error-message{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:12px;color:#dc2626;font-size:.8125rem;margin-top:18px;animation:shake .45s cubic-bezier(.36,.07,.19,.97)}.error-message svg{width:16px;height:16px;flex-shrink:0;color:#ef4444}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-10px)}30%{transform:translate(8px)}45%{transform:translate(-6px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}}@media(max-width:480px){.login-modal-overlay{padding:12px}.login-modal{max-height:100vh;border-radius:20px}.login-modal-header{padding:32px 20px 20px}.login-modal-form{padding:0 20px 24px}.login-modal-logo{width:56px;height:56px}.login-modal-logo svg{width:28px;height:28px}.login-modal-header h2{font-size:1.25rem}}:root{--primary-50: #fff7ed;--primary-100: #ffedd5;--primary-200: #fed7aa;--primary-300: #fdba74;--primary-400: #fb923c;--primary-500: #f97316;--primary-600: #ea580c;--primary-700: #c2410c;--accent-50: #fff7ed;--accent-100: #ffedd5;--accent-200: #fed7aa;--accent-300: #fdba74;--accent-400: #fb923c;--accent-500: #f97316;--accent-600: #ea580c;--accent-700: #c2410c;--success-50: #f0fdf4;--success-100: #dcfce7;--success-200: #bbf7d0;--success-300: #86efac;--success-400: #4ade80;--success-500: #22c55e;--success-600: #16a34a;--success-700: #15803d;--error-50: #fef2f2;--error-100: #fee2e2;--error-200: #fecaca;--error-300: #fca5a5;--error-400: #f87171;--error-500: #ef4444;--error-600: #dc2626;--error-700: #b91c1c;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--bg-primary: #fffdf9;--bg-secondary: #ffffff;--bg-elevated: #ffffff;--bg-warm: #fffdf9;--bg-soft: #fff9f5;--gradient-primary: linear-gradient(135deg, #ff6b4a 0%, #ff8a65 100%);--gradient-primary-light: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);--gradient-bg: linear-gradient(180deg, #fffdf9 0%, #fff5f0 100%);--gradient-hero: linear-gradient(180deg, #fff5f0 0%, #fff9f5 50%, #fffdf9 100%);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .06), 0 1px 2px -1px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .06);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--shadow-primary: 0 4px 14px rgba(255, 107, 74, .3);--shadow-primary-hover: 0 6px 20px rgba(255, 107, 74, .4);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}.loading-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-bg)}.loading-content{text-align:center;color:var(--gray-700)}.loading-logo{width:80px;height:80px;margin:0 auto var(--space-6);background:var(--gradient-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-primary);animation:pulse 2s ease-in-out infinite}.loading-logo svg{width:48px;height:48px}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.loading-content p{font-size:1.25rem;font-weight:600;color:var(--gray-700);margin-bottom:var(--space-6)}.loading-spinner{width:32px;height:32px;margin:0 auto;border:3px solid var(--primary-100);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.history-dropdown-loading{padding:var(--space-8) var(--space-4);text-align:center;color:var(--gray-500);font-size:.9375rem}.history-dropdown-loading-more{padding:var(--space-3) var(--space-4);text-align:center;color:var(--gray-500);font-size:.8125rem;background:var(--gray-50)}.history-dropdown-empty{padding:var(--space-10) var(--space-4);text-align:center}.history-dropdown-empty p{color:var(--gray-500);font-size:.9375rem;margin-bottom:var(--space-4)}.history-dropdown-empty a{color:var(--primary-600);text-decoration:none;font-weight:500;font-size:.9375rem}.history-dropdown-empty a:hover{color:var(--primary-700)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}button:focus-visible,a:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.question-print-mode{--question-padding: 0;--question-margin-bottom: 16px;--question-background: transparent;--question-border: 1px solid #ddd;--question-box-shadow: none;--question-border-radius: 0;--question-number-font-weight: bold;--question-number-color: #000;--question-number-min-width: 24px;--question-stem-font-size: 10.5pt;--question-stem-line-height: 1.8;--question-stem-color: #000;--option-background: transparent;--option-border-radius: 0;--option-padding: 4px 0;--option-margin: 4px 0;--option-label-font-weight: bold;--option-text-color: #000;--answer-area-background: transparent;--answer-area-min-height: 40px;--answer-area-border-radius: 0;--answer-area-margin-top: 8px;--answer-placeholder-color: #000;--answer-placeholder-style: solid;--answer-placeholder-width: 200px;--passage-background: transparent;--passage-border-left: 2px solid #000;--passage-padding: 8px 0;--passage-title-color: #000;--passage-title-font-size: 10.5pt;--essay-line-height: 28px;--essay-line-border: 1px dashed #999;--essay-line-number-width: 20px;--essay-line-number-font-size: 6pt}.question-render-mode{--question-padding: 16px;--question-margin-bottom: 24px;--question-background: white;--question-border: 1px solid #f0f0f0;--question-box-shadow: 0 2px 8px rgba(0, 0, 0, .04);--question-border-radius: 12px;--question-number-font-weight: 700;--question-number-color: #ff6b4a;--question-number-min-width: 28px;--question-stem-font-size: 1rem;--question-stem-line-height: 1.6;--question-stem-color: #262626;--option-background: #fafafa;--option-border-radius: 8px;--option-padding: 8px 12px;--option-margin: 8px 0;--option-label-font-weight: 600;--option-text-color: #262626;--answer-area-background: #fafafa;--answer-area-min-height: 60px;--answer-area-border-radius: 8px;--answer-area-margin-top: 12px;--answer-placeholder-color: #a1a1aa;--answer-placeholder-style: dotted;--answer-placeholder-width: auto;--passage-background: #fff7ed;--passage-border-left: 4px solid #ff6b4a;--passage-padding: 16px;--passage-title-color: #c2410c;--passage-title-font-size: 1rem;--essay-line-height: 32px;--essay-line-border: 1px dashed #e5e5e5;--essay-line-number-width: 32px;--essay-line-number-font-size: .75rem}@media print{.question-print-mode{page-break-inside:avoid}.screen-only{display:none!important}.print-only{display:block!important}.option-item:hover{background:transparent!important}.essay-line{break-inside:avoid}}.question-print-mode.question-single-choice .question-options,.question-print-mode.question-multiple-choice .question-options{padding-left:36px}.question-print-mode.question-true-false .question-options{display:flex;gap:24px;padding-left:36px}.question-print-mode.question-fill-blank .answer-line{margin-top:8px}.question-print-mode.question-fill-blank .answer-placeholder{display:inline-block;min-width:var(--answer-placeholder-width);border-bottom:1px var(--answer-placeholder-style) var(--answer-placeholder-color)}.question-print-mode.question-calculation .answer-area,.question-print-mode.question-word-problem .answer-area,.question-print-mode.question-geometry .answer-area{margin-top:var(--answer-area-margin-top);min-height:var(--answer-area-min-height)}.question-print-mode.question-read-comp .passage-section{margin:12px 0;padding:8px 0;background:var(--passage-background);border-left:var(--passage-border-left)}.question-print-mode.question-read-comp .sub-questions{padding-left:20px;border-left:1px solid #ddd}.question-print-mode.question-cloze .passage-section{margin:12px 0;padding:8px 0}.question-print-mode.question-essay .essay-grid{margin-top:12px}.question-print-mode.question-essay .essay-line{height:var(--essay-line-height);border-bottom:var(--essay-line-border)}.question-print-mode.question-essay .line-number{width:var(--essay-line-number-width);font-size:var(--essay-line-number-font-size)}.question-item{margin-bottom:var(--question-margin-bottom, 24px);padding:var(--question-padding, 16px);background:var(--question-background, white);border-radius:var(--question-border-radius, 12px);border:var(--question-border, 1px solid #f0f0f0);box-shadow:var(--question-box-shadow, 0 2px 8px rgba(0, 0, 0, .04))}.question-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.question-number{font-weight:var(--question-number-font-weight, 700);color:var(--question-number-color, #ff6b4a);font-size:1rem;line-height:1.6;min-width:var(--question-number-min-width, 28px);flex-shrink:0}.question-stem{flex:1;font-size:var(--question-stem-font-size, 1rem);line-height:var(--question-stem-line-height, 1.6);color:var(--question-stem-color, #262626);font-weight:500}.question-stem>*{display:inline!important;margin:0!important}.question-stem br{display:none!important}.question-options{margin-top:12px;padding-left:44px}.option-item{margin:var(--option-margin, 8px 0);padding:var(--option-padding, 8px 12px);background:var(--option-background, #fafafa);border-radius:var(--option-border-radius, 8px);display:flex;align-items:flex-start;gap:8px;transition:all .2s ease}.option-item:hover{background:var(--option-hover-background, #ffedd5)}.option-label{font-weight:var(--option-label-font-weight, 600);color:var(--option-label-color, #525252);min-width:36px}.option-text{flex:1;color:var(--option-text-color, #262626);line-height:1.6;display:inline}.option-text p{display:inline;margin:0}.option-text br{display:none}.question-fill-blank .answer-line{margin-top:8px;padding:0;background:var(--answer-area-background, #fafafa);border-radius:var(--answer-area-border-radius, 8px)}.answer-placeholder{color:var(--answer-placeholder-color, #a1a1aa);font-family:monospace;font-size:.9rem;display:inline-block;min-width:var(--answer-placeholder-width, auto);border-bottom:1px var(--answer-placeholder-style, dotted) var(--answer-placeholder-color, #a1a1aa)}.answer-area{margin-top:var(--answer-area-margin-top, 12px);padding:12px;background:var(--answer-area-background, #fafafa);border-radius:var(--answer-area-border-radius, 8px);min-height:var(--answer-area-min-height, 60px)}.question-read-comp{padding:20px}.passage-section{margin:16px 0;padding:var(--passage-padding, 16px);background:var(--passage-background, #fff7ed);border-radius:8px;border-left:var(--passage-border-left, 4px solid #ff6b4a)}.passage-title{font-weight:600;color:var(--passage-title-color, #c2410c);margin-bottom:8px;font-size:var(--passage-title-font-size, 1rem)}.passage-content{font-size:.9375rem;line-height:1.8;color:#262626}.sub-questions{margin-top:16px;padding-left:20px;border-left:2px solid #f0f0f0}.question-sub{margin-bottom:12px;padding:10px;background:transparent;box-shadow:none}.question-cloze{padding:20px}.question-essay .answer-area{padding:0;background:transparent}.essay-answer{margin-top:12px}.essay-grid{background:var(--essay-grid-background, #fafafa);border-radius:8px;overflow:hidden}.essay-line{display:flex;height:var(--essay-line-height, 32px);border-bottom:var(--essay-line-border, 1px dashed #e5e5e5)}.essay-line:last-child{border-bottom:none}.line-number{display:flex;align-items:center;justify-content:center;width:var(--essay-line-number-width, 32px);font-size:var(--essay-line-number-font-size, .75rem);color:var(--essay-line-number-color, #a1a1aa);background:var(--essay-line-number-background, #f5f5f5);flex-shrink:0}.question-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:#737373}.loading-spinner{width:24px;height:24px;border:3px solid #f0f0f0;border-top-color:#ff6b4a;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.question-error{padding:20px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}@media(max-width:768px){.question-item{padding:14px}.question-header{gap:8px}.question-number{font-size:1rem;min-width:28px}.question-stem{font-size:.9375rem}.question-options{padding-left:36px}.option-item{padding:6px 8px}.passage-content{font-size:.875rem}.essay-line{height:24px}.line-number{width:24px;font-size:.7rem}}@media print{.question-item{page-break-inside:avoid}.question-print-mode{--option-hover-background: transparent}.option-item:hover{background:transparent!important}.essay-line{break-inside:avoid}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Microsoft YaHei,PingFang SC,Hiragino Sans GB,sans-serif;background:var(--bg-primary);color:var(--gray-800);line-height:1.6;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--gray-900)}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}p{margin-bottom:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
