@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=JetBrains+Mono&display=swap";:root{--primary: #4f46e5;--primary-hover: #4338ca;--secondary: #10b981;--bg-gradient: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--card-bg: rgba(255, 255, 255, .8);--glass-border: rgba(255, 255, 255, .3);--text-main: #1e293b;--text-muted: #64748b;--shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}body{font-family:Inter,system-ui,-apple-system,sans-serif;margin:0;padding:40px 20px;background:var(--bg-gradient);background-attachment:fixed;color:var(--text-main);min-height:100vh}.container{max-width:1000px;margin:0 auto}h1{color:var(--text-main);font-weight:800;margin-bottom:40px;text-align:center;font-size:2.5rem;letter-spacing:-.025em;background:linear-gradient(to right,#4f46e5,#10b981);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.card{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);padding:32px;border-radius:24px;margin-bottom:32px;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}textarea{width:100%;min-height:250px;padding:20px;border:1px solid #e2e8f0;border-radius:16px;font-size:16px;line-height:1.7;resize:vertical;background:#ffffff80;font-family:inherit;transition:border-color .2s,box-shadow .2s}textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #4f46e51a}.row{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-end}button{background:var(--primary);color:#fff;font-weight:700;padding:14px 28px;border:none;border-radius:14px;cursor:pointer;transition:all .2s;font-size:16px}button:hover{background:var(--primary-hover);transform:scale(1.02);box-shadow:0 4px 12px #4f46e54d}button:active{transform:scale(.98)}button.secondary{background:var(--secondary)}button.secondary:hover{background:#059669;box-shadow:0 4px 12px #10b9814d}.score-badge{display:flex;align-items:center;justify-content:center;width:140px;height:140px;border-radius:50%;font-size:56px;font-weight:900;color:#fff;margin:0 auto 16px;position:relative;text-shadow:0 4px 12px rgba(0,0,0,.1)}.score-label{font-size:14px;text-transform:uppercase;color:var(--text-muted);font-weight:800;letter-spacing:.1em}.counter-tag{display:inline-flex;align-items:center;background:#f1f5f9;color:#475569;padding:6px 14px;border-radius:99px;font-size:13px;font-weight:600;margin-right:10px;margin-bottom:10px;border:1px solid #e2e8f0}.markdown-body{line-height:1.8;font-size:16px;color:var(--text-main)}.markdown-body table{border-collapse:separate;border-spacing:0;width:100%;margin:32px 0;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;background:#fff}.markdown-body th,.markdown-body td{padding:14px 20px;text-align:left;border-bottom:1px solid #f1f5f9}.markdown-body th{background-color:#f8fafc;font-weight:700;color:#1e293b;text-transform:uppercase;font-size:13px;letter-spacing:.05em}.markdown-body tr:last-child td{border-bottom:none}.markdown-body pre{background:#0f172a;color:#f8fafc;padding:24px;border-radius:16px;overflow-x:auto;margin:24px 0;border:1px solid #1e293b}.markdown-body code{font-family:JetBrains Mono,monospace;font-size:.9em;padding:.2em .4em;background:#f1f5f9;border-radius:6px;color:#ef4444}.markdown-body pre code{background:transparent;padding:0;color:inherit;font-size:15px;line-height:1.6}.mermaid{background:#fff;padding:32px;border-radius:16px;margin:24px 0;text-align:center;border:1px solid #e2e8f0;box-shadow:inset 0 2px 4px #00000005}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:none;justify-content:center;align-items:center;z-index:2000}.loading-overlay.active{display:flex!important}.loading-content{text-align:center;background:#fff;padding:48px;border-radius:32px;box-shadow:0 25px 50px -12px #00000040;max-width:500px;width:90%}.loading-spinner{width:80px;height:80px;border:6px solid #f1f5f9;border-top:6px solid var(--primary);border-radius:50%;margin:0 auto 32px;animation:spin 1s cubic-bezier(.5,0,.5,1) infinite}.loading-status{color:var(--text-muted);font-size:15px;margin-bottom:24px;font-weight:500}.loading-timer{font-family:JetBrains Mono,monospace;font-size:20px;color:var(--text-main);margin-bottom:32px;font-weight:700}.loading-progress-container{margin-bottom:32px;width:100%}.loading-progress-track{width:100%;height:12px;background:#f1f5f9;border-radius:6px;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #0000000d}.loading-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--primary),var(--secondary));transition:width .4s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 0 15px #4f46e566}.loading-progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.loading-progress-percent{margin-top:8px;font-size:14px;font-weight:800;color:var(--primary);text-align:right;font-family:JetBrains Mono,monospace}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.trivia-box{background:#f0fdfa;border-left:6px solid #14b8a6;padding:24px;border-radius:16px;text-align:left;display:flex;align-items:flex-start;gap:16px}.trivia-icon{font-size:28px}.trivia-box strong{display:block;color:#0d9488;font-size:13px;text-transform:uppercase;margin-bottom:8px;letter-spacing:.1em}.trivia-box p{margin:0;font-size:15px;color:#134e4a;line-height:1.6}select{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;font-size:16px;color:var(--text-main);transition:all .2s;cursor:pointer;font-weight:600}select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #4f46e51a}.blank-marker{color:var(--primary);font-weight:800;background:#4f46e51a;padding:4px 10px;border-radius:8px;border:1px solid rgba(79,70,229,.2);font-size:1.1em;margin:0 4px;white-space:nowrap}.markdown-body u{text-decoration:none;border-bottom:3px solid var(--primary);padding-bottom:2px;font-weight:700;color:var(--text-main);font-size:1.05em}.score-badge:after{content:"点";position:absolute;right:15px;bottom:25px;font-size:18px;font-weight:700;opacity:.9;z-index:2}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pdf-container{position:relative;height:500px;background:#f8fafc;border-radius:12px;overflow:hidden}.pdf-loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffffe6;z-index:10;transition:opacity .3s ease}.pdf-loading-overlay.hidden{opacity:0;pointer-events:none}.spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.pdf-loading-text{font-size:14px;color:var(--text-muted);font-weight:500}.hidden{display:none!important}.text-center{text-align:center}.text-left{text-align:left}.full-width{width:100%}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-32{margin-top:32px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.pb-16{padding-bottom:16px}.flex-1{flex:1}.flex-2{flex:2}.min-w-150{min-width:150px}.min-w-200{min-width:200px}.error-card{border-left:5px solid #ef4444;background:#fef2f2!important}.error-title{color:#b91c1c;display:block}.error-list{color:#b91c1c;font-size:14px}.section-header{display:flex;align-items:center;border-bottom:1px solid #e2e8f0}.indicator{width:4px;height:24px;border-radius:2px;margin-right:12px}.indicator.primary{background:var(--primary)}.indicator.secondary{background:var(--secondary)}.score-result-card{text-align:center;border-top:none!important;margin-top:60px!important;margin-bottom:60px!important;padding-top:48px}.scoring-content{text-align:left;margin-top:40px}.scoring-content hr{margin-top:40px;margin-bottom:40px;border:none;border-top:1px solid #e2e8f0}.btn-large{padding:16px 64px;font-size:18px}.display-flex-wrap-gap-8{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.navbar{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);padding:16px 0;margin-bottom:32px;position:sticky;top:0;z-index:1000}.nav-content{display:flex;justify-content:space-between;align-items:center}.nav-brand{font-weight:800;font-size:1.2rem;color:var(--primary);text-decoration:none;transition:all .2s ease}.nav-brand:hover{transform:translateY(-2px);text-shadow:0 2px 8px rgba(79,70,229,.3)}.nav-links{display:flex;gap:12px;align-items:center}.nav-links a{text-decoration:none;color:var(--text-main);font-weight:600;font-size:14px;padding:10px 18px;border-radius:10px;background:#ffffff80;border:1px solid rgba(226,232,240,.8);transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.nav-links a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(79,70,229,.1),transparent);transition:left .5s ease}.nav-links a:hover{color:var(--primary);background:#4f46e514;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #4f46e533}.nav-links a:hover:before{left:100%}.nav-links a:active{transform:translateY(0);box-shadow:0 2px 6px #4f46e526}.inline{display:inline}.link-button{background:#ffffff80;border:1px solid rgba(226,232,240,.8);color:var(--text-main);font-weight:600;font-size:14px;padding:10px 18px;border-radius:10px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.link-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(79,70,229,.1),transparent);transition:left .5s ease}.link-button:hover{color:var(--primary);background:#4f46e514;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #4f46e533}.link-button:hover:before{left:100%}.link-button:active{transform:translateY(0);box-shadow:0 2px 6px #4f46e526}.success-card{border-left:5px solid var(--secondary);background:#ecfdf5!important;color:#065f46;padding:16px 24px;margin-bottom:24px;border-radius:12px}.flex-display-align-center-gap-8{display:flex;align-items:center;gap:8px}.progress-container{display:flex;align-items:center;gap:12px}.progress-track{flex:1;background:#f1f5f9;height:8px;border-radius:4px;overflow:hidden;min-width:100px}.progress-bar{height:100%;transition:width .3s ease}.progress-bar.success{background:var(--secondary)}.progress-bar.warning{background:#f59e0b}.progress-bar.danger{background:#ef4444}.status-badge{font-weight:700}.status-badge.success{color:var(--secondary)}.status-badge.warning{color:#f59e0b}.status-badge.danger{color:#ef4444}.no-underline{text-decoration:none!important}.inline-block{display:inline-block!important}.auth-card{max-width:500px;margin:0 auto}.form-input{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:12px;margin-top:8px;font-family:inherit}.divider-container{display:flex;align-items:center;margin:24px 0}.divider-line{flex:1;height:1px;background:#e2e8f0}.divider-text{padding:0 16px;color:var(--text-muted);font-size:14px}.social-buttons{display:flex;flex-direction:column;gap:12px}.btn-social{text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px}.btn-google{background:#fff;border:1px solid #e2e8f0;color:#4a5568!important}.btn-github{background:#24292e;color:#fff!important}.link-secondary{color:var(--text-muted);font-size:14px;text-decoration:none;transition:color .2s}.link-secondary:hover{color:var(--primary)}.link-primary{color:var(--primary);font-size:14px;font-weight:600;text-decoration:none}.cursor-pointer{cursor:pointer}.text-sm{font-size:16px}.mb-0{margin-bottom:0!important}.dynamic-question-item{margin-bottom:24px}.dynamic-question-label{display:block;font-weight:700;margin-bottom:8px;color:var(--text-main)}.dynamic-input-container{display:flex;flex-direction:column;gap:4px}.dynamic-input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:12px;font-size:16px;font-family:inherit;background:#fff;transition:all .2s}.dynamic-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #4f46e51a}.dynamic-limit-hint{font-size:12px;color:var(--text-muted);text-align:right;font-weight:600}.dynamic-limit-hint.error{color:#ef4444}.question-selector-card{animation:fadeIn .3s ease}.question-checkboxes{display:flex;flex-direction:column;gap:12px}.question-checkbox-label{display:flex;align-items:center;padding:16px 20px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative}.question-checkbox-label:hover{border-color:var(--primary);background:#4f46e505;transform:translate(4px)}.question-checkbox-label.solved{background:#f0fdf4;border-color:#86efac}.question-checkbox{width:20px;height:20px;margin-right:12px;cursor:pointer;accent-color:var(--primary)}.question-title{flex:1;font-weight:600;color:var(--text-main);font-size:15px}.solved-badge{display:inline-flex;align-items:center;background:var(--secondary);color:#fff;padding:4px 12px;border-radius:99px;font-size:12px;font-weight:700;margin-left:12px}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}button:disabled:hover{background:var(--primary);box-shadow:none}.question-block{margin-bottom:48px;padding:24px;background:#ffffff80;border-radius:16px;border:1px solid #e2e8f0}.question-block h3{color:var(--primary);font-size:1.3rem;font-weight:800;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--primary)}.section-block{margin-bottom:32px}.section-block h4{color:var(--text-main);font-size:1.1rem;font-weight:700;margin-bottom:12px}.section-text{color:var(--text-muted);font-size:15px;line-height:1.6;margin-bottom:16px;padding:12px;background:#f8fafc;border-left:3px solid var(--secondary);border-radius:8px}.answer-item{margin-bottom:20px}.answer-item label{display:block;font-weight:600;color:var(--text-main);margin-bottom:8px;font-size:14px}.char-limited-input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:12px;font-size:16px;font-family:inherit;background:#fff;transition:all .2s}.char-limited-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #4f46e51a}.char-counter{display:block;text-align:right;font-size:12px;color:var(--text-muted);margin-top:4px;font-weight:600}.char-counter.over-limit{color:#ef4444;font-weight:700}body .container.container-past_paper{max-width:2000px!important;width:98%!important}body .container.container-ai_generated{max-width:1400px!important;width:95%!important}body .container{transition:none!important}.container-past_paper .exercise-split-container{display:flex!important;gap:32px!important;align-items:stretch!important;height:90vh!important;min-height:600px!important}.container-past_paper .exercise-split-left,.container-past_paper .exercise-split-right{display:flex!important;flex-direction:column!important;height:100%!important;flex:1!important}.container-past_paper .exercise-split-left .card,.container-past_paper .exercise-split-right .card{height:100%!important;overflow-y:auto!important}.container-ai_generated .exercise-split-container{display:flex!important;gap:32px!important;align-items:flex-start!important;height:auto!important}.container-ai_generated .exercise-split-left,.container-ai_generated .exercise-split-right{height:auto!important}.container-ai_generated .exercise-split-left .card,.container-ai_generated .exercise-split-right .card{height:auto!important;overflow:visible!important}.exercise-split-left .card,.exercise-split-right .card{background-color:#fff!important;border:none!important;box-shadow:0 4px 6px -1px #0000001a!important}.pdf-container-inner{background-color:#f1f5f9!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:center!important}.pdf-container-inner canvas{margin-bottom:24px!important;box-shadow:0 10px 15px -3px #0000001a!important}.no-padding{padding:0!important}.paper-mode{padding:40px!important}.markdown-body p{margin-bottom:2rem!important;line-height:1.8!important}.answer-item label span,.cursor-pointer span{white-space:normal!important;display:inline-block!important;flex:1!important}.question-tabs{display:flex!important;background:#f8fafc!important;border-bottom:2px solid #e2e8f0!important;padding:0 20px!important;gap:4px!important;position:sticky!important;top:0!important;z-index:50!important}.question-tab{padding:12px 24px!important;border:none!important;background:none!important;font-weight:700!important;color:#64748b!important;cursor:pointer!important;border-bottom:3px solid transparent!important;transition:all .2s!important;border-radius:0!important;box-shadow:none!important}.question-tab:hover{background:#f1f5f9!important;color:#1e293b!important;transform:none!important;box-shadow:none!important}.question-tab.active{color:#4f46e5!important;border-bottom-color:#4f46e5!important;background:#fff!important}.tab-content{padding:40px!important;background:#fff!important}.tab-pane{display:none}.tab-pane.active{display:block!important}
