:root{--color-primary:#0d9488;--color-primary-dark:#0f766e;--color-primary-light:#f0fdfa;--color-primary-gradient:linear-gradient(135deg, #14b8a6, #0d9488);--color-accent:#f59e0b;--color-accent-light:#fffbeb;--color-bg:#f8fafc;--color-surface:#fff;--color-text:#0f172a;--color-text-secondary:#64748b;--color-border:#e2e8f0;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-info:#2563eb;--color-info-bg:#eff6ff;--radius:16px;--radius-sm:10px;--radius-xs:6px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow:0 4px 6px -1px #0f172a12, 0 2px 4px -2px #0f172a0d;--shadow-lg:0 10px 15px -3px #0f172a14, 0 4px 6px -4px #0f172a0d;--shadow-xl:0 20px 25px -5px #0f172a1a, 0 8px 10px -6px #0f172a0d;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"SF Mono", "Fira Code", "Consolas", monospace}.app-container.subject-english{--color-primary:#6366f1;--color-primary-dark:#4f46e5;--color-primary-light:#eef2ff;--color-primary-gradient:linear-gradient(135deg, #818cf8, #6366f1);--color-accent:#ec4899;--color-accent-light:#fdf2f8}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}#root{min-height:100vh}.app-container{max-width:920px;min-height:100vh;margin:0 auto;padding:0 20px 40px}.top-nav{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background:#ffffffd9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 -20px 24px;padding:12px 20px;display:flex;position:sticky;top:0}.top-nav h1{background:var(--color-primary-gradient);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.nav-links{flex-wrap:wrap;gap:4px;display:flex}.nav-links a{color:var(--color-text-secondary);border-radius:var(--radius-xs);padding:6px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s}.nav-links a:hover{color:var(--color-primary);background:var(--color-primary-light)}.nav-links a.active{color:var(--color-primary);background:var(--color-primary-light);font-weight:600}.subject-toggle button{font-family:inherit;transition:all .15s}.view-toggle{background:var(--color-border);border-radius:var(--radius-xs);gap:2px;padding:2px;display:flex}.view-toggle button{border-radius:var(--radius-xs);cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.view-toggle button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-xs);font-weight:600}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:16px;padding:28px;animation:.3s fadeSlideIn}.card h2{color:var(--color-text);margin-bottom:12px;font-size:20px;font-weight:700}.card h3{color:var(--color-text)}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background:var(--color-primary-gradient);color:#fff;box-shadow:0 2px 8px #0d948840}.app-container.subject-english .btn-primary{box-shadow:0 2px 8px #6366f140}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0d948859}.app-container.subject-english .btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #6366f159}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-primary-light);color:var(--color-primary)}.btn-secondary:hover{background:var(--color-primary-light);filter:brightness(.95)}.btn-ghost{color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0}.btn-ghost:hover{background:var(--color-bg);color:var(--color-text);border-color:var(--color-text-secondary)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.option-list{flex-direction:column;gap:10px;margin:20px 0;display:flex}.option-btn{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;align-items:center;width:100%;padding:16px 20px;font-family:inherit;font-size:15px;line-height:1.5;transition:all .15s;display:flex}.option-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-light);transform:translate(4px)}.option-btn.selected{border-color:var(--color-primary);background:var(--color-primary-light);font-weight:500}.option-btn.correct{border-color:var(--color-success);background:var(--color-success-bg);color:var(--color-success);font-weight:600}.option-btn.incorrect{border-color:var(--color-warning);background:var(--color-warning-bg);color:var(--color-warning)}.fill-blank-group{flex-direction:column;gap:14px;margin:20px 0;display:flex}.fill-blank-item{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.fill-blank-item label{flex:1;min-width:240px;font-size:15px;line-height:1.5}.fill-blank-item input{border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:160px;padding:10px 16px;font-family:inherit;font-size:15px;transition:all .15s}.fill-blank-item input:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.fill-blank-item input.correct{border-color:var(--color-success);background:var(--color-success-bg)}.fill-blank-item input.incorrect{border-color:var(--color-warning);background:var(--color-warning-bg)}.hint-section{border-top:1px dashed var(--color-border);margin-top:24px;padding-top:20px}.hint-content{background:var(--color-accent-light);border-left:4px solid var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:10px 0;padding:14px 18px;font-size:14px;animation:.25s fadeSlideIn}.hint-level-label{color:var(--color-accent);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.parent-panel{border-radius:var(--radius);background:linear-gradient(135deg,#fefce8,#fef3c7);border:1px solid #fde68a;margin-top:24px;padding:20px}.parent-panel h4{color:#92400e;margin-bottom:10px;font-size:14px;font-weight:700}.parent-coach{color:#78350f;border-radius:var(--radius-sm);background:#ffffffb3;margin-bottom:12px;padding:12px 14px;font-size:13px;line-height:1.7}.parent-record-options{flex-wrap:wrap;gap:8px;display:flex}.parent-record-options button{cursor:pointer;color:#78350f;background:#fffc;border:1.5px solid #fcd34d;border-radius:20px;padding:8px 16px;font-family:inherit;font-size:13px;transition:all .15s}.parent-record-options button:hover{background:#fef3c7}.parent-record-options button.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.screen-nav{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;display:flex}.screen-phase{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:600}.difficulty-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:700}.difficulty-basic{background:var(--color-success-bg);color:var(--color-success)}.difficulty-medium{background:var(--color-warning-bg);color:var(--color-warning)}.difficulty-advanced{background:var(--color-danger-bg);color:var(--color-danger)}.draw-segments{gap:6px;margin:16px 0;display:flex}.draw-segment{border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:var(--color-surface);justify-content:center;align-items:center;width:64px;height:64px;font-size:20px;font-weight:600;transition:all .15s;display:flex}.draw-segment:hover{border-color:var(--color-primary);transform:scale(1.05)}.draw-segment.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.trial-container{margin:16px 0}.trial-slider{width:100%;accent-color:var(--color-primary);margin:12px 0}.trial-values{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:12px;display:grid}.trial-value{background:var(--color-primary-light);border-radius:var(--radius-sm);text-align:center;padding:12px;font-size:14px}.trial-value.target{background:var(--color-success-bg);border:2px solid var(--color-success)}.journey-list{flex-direction:column;gap:10px;display:flex}.journey-item{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);border:1px solid var(--color-border);cursor:pointer;justify-content:space-between;align-items:center;padding:18px 22px;transition:all .2s;display:flex}.journey-item:hover:not(.locked){box-shadow:var(--shadow);border-color:var(--color-primary);transform:translate(6px)}.journey-item.locked{opacity:.45;cursor:not-allowed}.journey-item h3{font-size:16px;font-weight:600}.journey-status{white-space:nowrap;border-radius:16px;padding:5px 12px;font-size:12px;font-weight:600}.status-completed{background:var(--color-success-bg);color:var(--color-success)}.status-in_progress{background:var(--color-warning-bg);color:var(--color-warning)}.status-not_started{background:var(--color-border);color:var(--color-text-secondary)}.discovery-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.discovery-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-xs);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);padding:22px;transition:all .2s}.discovery-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.discovery-card h3{color:var(--color-text);margin-bottom:8px;font-size:15px;font-weight:600;line-height:1.5}.discovery-card .source{color:var(--color-text-secondary);font-size:12px}.dashboard-section{margin-bottom:28px}.dashboard-section h3{color:var(--color-text);margin-bottom:12px;font-size:16px;font-weight:700}.evidence-timeline{max-height:400px;overflow-y:auto}.evidence-item{border-left:3px solid var(--color-primary);background:var(--color-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:8px;padding:12px 16px;font-size:13px}.evidence-item .metric{color:var(--color-primary);font-weight:600}.evidence-item .time{color:var(--color-text-secondary);font-size:12px}.mastery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.mastery-item{background:var(--color-bg);border-radius:var(--radius-sm);padding:14px;font-size:13px}.mastery-item .metric-name{margin-bottom:4px;font-weight:600}.mastery-status{border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.text-input-area{border:2px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;background:var(--color-bg);width:100%;min-height:100px;margin:12px 0;padding:14px 16px;font-family:inherit;font-size:15px;line-height:1.6;transition:all .15s}.text-input-area:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.feedback{border-radius:var(--radius-sm);margin:14px 0;padding:14px 18px;font-size:14px;font-weight:500;animation:.25s fadeSlideIn}.feedback-info{background:var(--color-primary-light);color:var(--color-primary-dark)}.feedback-success{background:var(--color-success-bg);color:var(--color-success)}.feedback-warning{background:var(--color-warning-bg);color:var(--color-warning)}.progress-bar{background:var(--color-border);border-radius:5px;height:10px;margin:10px 0;overflow:hidden}.progress-bar-fill{background:var(--color-primary-gradient);border-radius:5px;height:100%;transition:width .5s}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (width<=768px){.app-container{padding:0 12px 32px}.top-nav{gap:8px;margin:0 -12px 16px;padding:10px 12px}.top-nav h1{font-size:16px}.nav-links{gap:2px}.nav-links a{padding:4px 8px;font-size:13px}.card{padding:20px 16px}.fill-blank-item label{min-width:100%}.fill-blank-item input{width:100%}.journey-item{padding:14px 16px}.view-toggle button{padding:5px 10px;font-size:12px}}.loading{min-height:50vh;color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:16px;animation:1.5s infinite pulse;display:flex}.empty-state{text-align:center;color:var(--color-text-secondary);padding:48px 24px}.empty-state h3{color:var(--color-text);margin-bottom:8px}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);padding:36px 32px}.login-card h1{background:var(--color-primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:24px;font-weight:700}.login-card input{border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:100%;margin-bottom:12px;padding:12px 16px;font-family:inherit;font-size:15px}.login-card input:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}@media print{@page{size:A4;margin:15mm 12mm}body{font-size:12pt;line-height:1.5;background:#fff!important}.app-container{max-width:100%!important;padding:0!important}.top-nav,.nav-links,.view-toggle,.no-print,.btn{display:none!important}.print-worksheet{box-shadow:none!important;border:none!important;margin:0!important;padding:0!important}.print-worksheet h1{margin-bottom:4mm;font-size:18pt;color:#1a1a1a!important}.print-worksheet h2{border-bottom:1px solid #ccc;margin-top:8mm;margin-bottom:3mm;padding-bottom:2mm;font-size:14pt;color:#2d5a3d!important}.print-worksheet h3{margin-top:5mm;margin-bottom:2mm;font-size:12pt}.print-problem{page-break-inside:avoid;margin-bottom:6mm}.print-problem-text{margin-bottom:3mm;font-size:12pt;font-weight:500}.print-answer-area{background:repeating-linear-gradient(#0000,#0000 7mm,#eee 7mm 7.2mm);border:1px solid #ddd;min-height:25mm;margin-top:2mm;padding:3mm}.print-answer-area.small{min-height:15mm}.print-answer-area.large{min-height:40mm}.print-hint-box{background:#fffbf0;border:1px dashed #c4956a;margin-top:3mm;padding:3mm;font-size:10pt}.print-hint-box .hint-label{color:#c4956a;margin-bottom:2mm;font-weight:700}.print-reflection-area{background:repeating-linear-gradient(#0000,#0000 7mm,#eee 7mm 7.2mm);border:1px solid #ddd;min-height:20mm;margin-top:2mm;padding:3mm}.print-parent-section{color:#555;border-top:2px solid #2d5a3d;margin-top:10mm;padding-top:5mm;font-size:10pt}.print-parent-section h3{color:#2d5a3d}.print-footer{text-align:center;color:#999;margin-top:10mm;font-size:9pt}.print-grid{grid-template-columns:1fr 1fr;gap:5mm;display:grid}.print-meta{color:#666;justify-content:space-between;margin-bottom:5mm;font-size:10pt;display:flex}}.print-preview{background:#fff;border-radius:8px;max-width:210mm;margin:0 auto;padding:20px;box-shadow:0 2px 12px #0000001a}
