: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-shell.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,.app-shell{min-height:100vh}.app-container{max-width:980px;margin:0 auto;padding:0 24px 48px}.top-nav{z-index:100;-webkit-backdrop-filter:blur(14px)saturate(180%);border-bottom:1px solid var(--color-border);background:#ffffffe6;position:sticky;top:0}.top-nav__inner{grid-template-columns:auto 1fr auto auto;grid-template-areas:"brand links actions icon";align-items:center;column-gap:18px;max-width:980px;min-height:60px;margin:0 auto;padding:0 24px;display:grid}.brand{grid-area:brand}.nav-links{grid-area:links}.nav-actions{grid-area:actions}.icon-btn{grid-area:icon}.brand{flex-shrink:0;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand__mark{font-size:22px;line-height:1}.brand__name{letter-spacing:-.01em;color:var(--color-text);white-space:nowrap;font-size:17px;font-weight:700}.nav-links{justify-self:start;align-items:center;gap:2px;display:flex}.nav-links a{color:var(--color-text-secondary);white-space:nowrap;border-radius:8px;align-items:center;padding:7px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.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}.nav-actions{align-items:center;gap:10px;display:flex}.segmented{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:2px;padding:3px;display:inline-flex}.segmented button{appearance:none;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:600;line-height:1;transition:color .15s,background .15s,box-shadow .15s}.segmented button:hover{color:var(--color-text)}.segmented button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-xs)}.icon-btn{border:1px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.icon-btn:hover{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-bg)}.icon-btn svg{width:17px;height:17px}.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):not(.correct):not(.incorrect){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)}.explanation-box{background:var(--color-bg-soft);border-left:3px solid var(--color-primary);border-radius:6px;margin-top:8px;padding:8px 10px}.explanation-box__label{margin-bottom:4px;font-size:13px;font-weight:700}.explanation-box p,.all-explain__p{margin:0;font-size:13.5px;line-height:1.7}.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:16px;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{width:100%;color:var(--color-text);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:10px;padding:11px 14px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}.text-input::placeholder{color:#94a3b8}.text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.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:16px;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<=900px){.top-nav__inner{grid-template-columns:auto 1fr auto;grid-template-areas:"brand actions icon""links links links";row-gap:8px;min-height:0;padding-top:10px;padding-bottom:10px}.nav-actions{justify-self:end}.nav-links{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}}@media (width<=768px){.app-container{padding:0 16px 40px}.top-nav__inner{padding-left:16px;padding-right:16px}.card{padding:20px 16px}.fill-blank-item label{min-width:100%}.fill-blank-item input{width:100%}.journey-item{padding:14px 16px}}@media (width<=600px){.top-nav__inner{grid-template-columns:1fr auto;grid-template-areas:"brand icon""actions actions""links links"}}.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}.btn-sm{border-radius:var(--radius-xs);padding:7px 14px;font-size:13px}.vocab-header{margin-bottom:18px}.vocab-header h2{font-size:26px}.vocab-sub{color:var(--color-text-secondary);margin-top:4px}.vocab-unit-card{padding-top:20px;padding-bottom:20px}.vocab-unit-head{margin-bottom:2px}.vocab-deck-row{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 0;display:flex}.vocab-deck-row:first-of-type{border-top:none}.vocab-deck-info{flex:1;min-width:0}.vocab-deck-line{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.vocab-deck-name{font-weight:600}.vocab-deck-count{color:var(--color-text-secondary);white-space:nowrap;font-size:13px}.vocab-deck-actions{flex-shrink:0;gap:8px;display:flex}.vocab-study-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.vocab-back{color:var(--color-text-secondary);font-size:14px;font-weight:500;text-decoration:none}.vocab-back:hover{color:var(--color-primary)}.vocab-study-meta{flex-direction:column;align-items:center;display:flex}.vocab-study-mode{font-size:14px;font-weight:600}.vocab-study-progress{color:var(--color-text-secondary);font-size:13px}.vocab-top-bar{margin-bottom:16px}.vocab-card{flex-direction:column;gap:14px;min-height:220px;display:flex}.vocab-word-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.vocab-word-head h2{word-break:break-word;font-size:30px}.vocab-pos{color:var(--color-primary);background:var(--color-primary-light);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-block}.vocab-reveal{flex-direction:column;gap:12px;animation:.25s fadeSlideIn;display:flex}.vocab-definition{font-size:18px}.vocab-definition.soft{color:var(--color-text-secondary);font-size:15px}.vocab-example{color:var(--color-text-secondary);font-style:italic}.vocab-grade-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.vocab-formation-q{color:var(--color-text-secondary)}.vocab-formation-box{background:var(--color-primary-light);border-radius:var(--radius-sm);padding:16px 18px;font-size:20px;font-weight:600;line-height:1.7}.vocab-answer-box{color:var(--color-primary);font-size:24px;font-weight:700}.vocab-spell-form{gap:10px;display:flex}.vocab-spell-input{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);flex:1;padding:12px 16px;font-family:inherit;font-size:17px}.vocab-spell-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.vocab-feedback{font-weight:600}.vocab-feedback.wrong{color:var(--color-warning)}.vocab-feedback.correct{color:var(--color-success)}.vocab-correct,.vocab-spell-side{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.vocab-result{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.vocab-result-mode{color:var(--color-text-secondary)}.vocab-result-stats{flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0;display:flex}.vocab-result-pill{background:var(--color-bg);border-radius:999px;padding:8px 18px;font-weight:600}.vocab-result-pill.good{background:var(--color-success-bg);color:var(--color-success)}.vocab-result-pill.bad{background:var(--color-warning-bg);color:var(--color-warning)}.vocab-result-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.vocab-study-range{color:var(--color-primary);background:var(--color-primary-light);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.vocab-empty-sub{color:var(--color-text-secondary);margin:4px 0 14px}.slice-toggle.open{background:var(--color-primary-light);color:var(--color-primary)}.vocab-slice{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:12px;padding:14px 16px;animation:.2s fadeSlideIn;display:flex}.vocab-slice-hint{color:var(--color-text-secondary);font-size:13px}.vocab-slice-inputs{align-items:center;gap:8px;display:flex}.vocab-slice-inputs input{text-align:center;border:1.5px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface);width:76px;padding:8px 10px;font-family:inherit;font-size:15px}.vocab-slice-inputs input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.vocab-slice-dash{color:var(--color-text-secondary)}.vocab-slice-actions{gap:8px;margin-left:auto;display:flex}.vocab-guided{flex-direction:column;gap:14px;display:flex}.vocab-stepdots{gap:7px;display:flex}.vocab-stepdot{background:var(--color-border);border-radius:999px;width:9px;height:9px;transition:background .2s,transform .2s}.vocab-stepdot.on{background:var(--color-primary);transform:scale(1.15)}.vocab-step-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary);font-size:12px;font-weight:700}.vocab-guided-block{flex-direction:column;gap:10px;animation:.25s fadeSlideIn;display:flex}.guided-example{border-left:3px solid var(--color-primary);padding:6px 0 6px 14px;font-size:18px;line-height:1.6;animation:.25s fadeSlideIn}.vocab-guided-final{flex-direction:column;gap:12px;animation:.25s fadeSlideIn;display:flex}.vocab-guided-final .vocab-answer-box{color:var(--color-primary);background:var(--color-primary-light);border-radius:var(--radius-sm);padding:14px 18px;font-size:28px;font-weight:800}.vocab-step-next{align-self:flex-start}.vocab-homework{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--color-primary-light), var(--color-bg));border:1px solid var(--color-border);margin:14px 0 6px;padding:16px}.vocab-hw-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.vocab-hw-badge{letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--color-primary);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.vocab-hw-sub{color:var(--color-text-secondary);font-size:13px}.vocab-hw-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.vocab-hw-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:14px;display:flex}.vocab-hw-card-top{justify-content:space-between;align-items:center;display:flex}.vocab-hw-day{color:var(--color-primary);background:var(--color-primary-light);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700}.vocab-hw-range{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.vocab-hw-card-title{flex:1;font-size:14px;font-weight:600}.vocab-hw-actions{flex-wrap:wrap;gap:8px;display:flex}.vocab-hw-actions .btn{text-align:center;flex:1}@media (width<=640px){.vocab-deck-row{flex-direction:column;align-items:stretch;gap:10px}.vocab-deck-actions{justify-content:space-between}.vocab-spell-form{flex-direction:column}.vocab-word-head h2{font-size:26px}.vocab-hw-grid{grid-template-columns:1fr}.vocab-slice-actions{width:100%;margin-left:0}.vocab-slice-actions .btn{flex:1}.vocab-guided-final .vocab-answer-box{font-size:23px}}.resources__head{margin-bottom:18px}.resources__head h1{color:var(--color-text);margin-bottom:6px;font-size:26px;font-weight:800}.resources__head p{color:var(--color-text-secondary);max-width:720px}.resource-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.resource-tile{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);flex-direction:column;gap:7px;min-height:134px;padding:16px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.resource-tile:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 20px #0f172a14}.resource-tile--empty{cursor:default;opacity:.6;background:0 0;border-style:dashed}.resource-tile--empty:hover{box-shadow:none;border-color:var(--color-border);transform:none}.resource-tile__badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:3px 9px;font-size:11px;font-weight:700}.resource-tile__badge--test{color:#2563eb;background:#eff6ff}.resource-tile__badge--answer{color:#16a34a;background:#f0fdf4}.resource-tile__badge--homework{color:#d97706;background:#fffbeb}.resource-tile__badge--vocabulary{color:#4f46e5;background:#eef2ff}.resource-tile__label{font-size:16px;font-weight:700}.resource-tile__label--muted{color:var(--color-text-secondary)}.resource-tile__desc{color:var(--color-text-secondary);flex:1;font-size:12.5px;line-height:1.45}.resource-tile__meta{color:var(--color-primary);font-size:12px;font-weight:600}.resource-tile__empty-label{color:var(--color-text-secondary);font-size:12px}.resource-view{flex-direction:column;gap:12px;display:flex}.resource-view__bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 18px;display:flex}.resource-view__heading{flex-direction:column;flex:1;gap:4px;min-width:200px;display:flex}.resource-view__heading h1{color:var(--color-text);font-size:19px;font-weight:800}.resource-view__heading p{color:var(--color-text-secondary);font-size:12.5px}.resource-view__actions{gap:10px;display:flex}.pdf-wrap{width:100%}.pdf-scroll{width:100%;padding-bottom:12px;overflow:auto}.pdf-document{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.pdf-toolbar{z-index:6;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:4px;width:fit-content;margin:0 auto 14px;padding:5px;display:flex;position:sticky;top:8px;box-shadow:0 6px 18px #0f172a1a}.pdf-toolbar button{min-width:36px;height:32px;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0 10px;font-size:16px;line-height:1}.pdf-toolbar button:hover{background:var(--color-bg)}.pdf-toolbar__pct{font-weight:700;min-width:66px!important;color:var(--color-primary)!important;font-size:13px!important}.pdf-page{border:1px solid var(--color-border);border-radius:var(--radius-xs);background:#fff;justify-content:center;align-items:center;min-height:120px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #0f172a12}.pdf-page canvas{display:block}.pdf-page__placeholder{background:var(--color-bg);color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.pdf-status{text-align:center}.pdf-spinner{vertical-align:-3px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:17px;height:17px;margin-right:8px;animation:.7s linear infinite pdfspin;display:inline-block}@keyframes pdfspin{to{transform:rotate(360deg)}}@media (width<=640px){.resource-view__bar{flex-direction:column;align-items:stretch}.resource-view__actions .btn{flex:1}}.cb-shell{flex-direction:column;gap:16px;display:flex}.cb-controls{flex-wrap:wrap;align-items:center;gap:12px;padding:14px 18px;display:flex}.cb-ctl{color:var(--color-text-secondary);align-items:center;gap:7px;font-size:13px;display:inline-flex}.cb-ctl input[type=number]{border:1px solid var(--color-border);border-radius:var(--radius-xs);width:64px;font-size:13px;font-family:var(--font-mono);background:var(--color-surface);color:var(--color-text);padding:6px 8px}.cb-ctl input[type=number].bad{border-color:var(--color-danger);background:var(--color-danger-bg)}.cb-ctl input[type=range]{width:120px;accent-color:var(--color-primary)}.cb-ctl input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.cb-zoomval{font-family:var(--font-mono);color:var(--color-text-secondary);min-width:34px;font-size:12px}.cb-sep{background:var(--color-border);align-self:stretch;width:1px}.cb-main{align-items:flex-start;gap:16px;display:flex}.cb-canvas-wrap{flex:auto;justify-content:center;padding:16px;display:flex;overflow:auto}.cb-board{cursor:crosshair;max-width:100%;height:auto}.cb-panel{flex:0 0 264px;padding:16px 18px}.cb-panel h2{justify-content:space-between;align-items:center;font-size:14px;display:flex}.cb-panel h2 em{color:var(--color-primary);font-size:13px;font-style:normal;font-weight:700}.cb-empty{color:var(--color-text-secondary);padding:12px 0;font-size:12px;line-height:1.7}.cb-edgehint{color:var(--color-primary);padding:8px 0;font-size:12px;line-height:1.6}.cb-divider{background:var(--color-border);height:1px;margin:12px 0}.cb-lst{flex-direction:column;gap:6px;max-height:220px;list-style:none;display:flex;overflow-y:auto}.cb-lst li{align-items:center;gap:7px;font-size:13px;display:flex}.cb-swatch{border-radius:50%;flex:none;width:11px;height:11px}.cb-nm{min-width:18px;font-weight:700}.cb-coord{font-family:var(--font-mono);color:var(--color-text-secondary);flex:auto;font-size:11.5px}.cb-edgelist .cb-edgeinfo{min-width:52px;font-weight:700}.cb-del,.cb-rot{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;padding:2px 4px;font-size:15px;line-height:1}.cb-rot{color:var(--color-warning);font-size:14px}.cb-del:hover{color:var(--color-danger);background:var(--color-danger-bg)}.cb-rot:hover{color:var(--color-primary-dark);background:var(--color-primary-light)}.cb-row{margin-top:14px;display:flex}.cb-row .btn{flex:1}@media (width<=840px){.cb-main{flex-direction:column}.cb-panel{flex:auto;width:100%}.cb-sep{display:none}}.gl-page{--gl-primary:#6366f1;--gl-primary-dark:#4f46e5;--gl-primary-soft:#eef2ff;--gl-aux:#2563eb;--gl-main:#059669;--gl-suffix:#d97706;--gl-good:#16a34a;--gl-bad:#dc2626;--gl-ink:#1e293b;--gl-muted:#64748b;--gl-line:#e6e9f2;--gl-surface:#fff;--gl-shadow:0 1px 2px #1018280d, 0 1px 3px #1018280f;max-width:860px;color:var(--gl-ink);margin:0 auto;padding-bottom:40px}.gl-back,.gl-link{color:var(--gl-primary);margin-bottom:14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.gl-back:hover,.gl-link:hover{color:var(--gl-primary-dark)}.gl-header{margin-bottom:20px}.gl-badge{letter-spacing:.06em;color:var(--gl-primary-dark);background:var(--gl-primary-soft);border-radius:999px;margin-bottom:10px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.gl-title{color:var(--gl-ink);margin:0 0 8px;font-size:26px;line-height:1.25}.gl-goal{color:var(--gl-muted);margin:0;font-size:14px}.gl-lab-header{text-align:center;margin:6px 0 24px}.gl-lab-title{margin:0 0 6px;font-size:28px}.gl-lab-sub{color:var(--gl-muted);margin:0 0 18px;font-size:14px}.gl-tabs{background:#f1f3f9;border-radius:12px;gap:4px;padding:4px;display:inline-flex}.gl-tab{color:var(--gl-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:8px 18px;font-size:13px;font-weight:600}.gl-tab--active{color:var(--gl-primary-dark);box-shadow:var(--gl-shadow);background:#fff}.gl-step{background:var(--gl-surface);border:1px solid var(--gl-line);box-shadow:var(--gl-shadow);border-radius:16px;margin-bottom:18px;padding:22px 24px;position:relative}.gl-step__num{color:var(--gl-primary);letter-spacing:.08em;font-size:13px;font-weight:800}.gl-step__title{margin:4px 0 14px;font-size:19px}.gl-step__hint{color:var(--gl-muted);margin:0 0 14px;font-size:13px}.gl-btn{border:1px solid var(--gl-line);color:var(--gl-ink);cursor:pointer;background:#fff;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:600}.gl-btn:disabled{opacity:.5;cursor:not-allowed}.gl-btn--primary{background:var(--gl-primary);border-color:var(--gl-primary);color:#fff}.gl-btn--primary:hover{background:var(--gl-primary-dark)}.gl-btn--ghost{color:var(--gl-muted);background:#fff}.gl-btn--good{color:var(--gl-good);background:#f0fdf4;border-color:#bbf7d0}.gl-btn--warn{color:var(--gl-bad);background:#fef2f2;border-color:#fecaca}.gl-notice__example{border-left:3px solid var(--gl-primary);background:#f8fafc;border-radius:0 10px 10px 0;margin:0 0 8px;padding:10px 14px;font-size:16px}.gl-notice__question{margin:16px 0 12px;font-size:15px;font-weight:600}.gl-notice__seen{color:var(--gl-good);margin:12px 0 0;font-size:13px;font-weight:600}.gl-options{flex-direction:column;gap:10px;display:flex}.gl-option{text-align:left;border:1px solid var(--gl-line);color:var(--gl-ink);cursor:pointer;background:#fff;border-radius:12px;padding:12px 14px;font-size:14px;transition:border-color .15s,background .15s}.gl-option:hover{border-color:#c7d2fe}.gl-option--selected{border-color:var(--gl-primary);background:var(--gl-primary-soft);font-weight:600}.gl-option--correct,.gl-option--answer{border-color:var(--gl-good);background:#f0fdf4}.gl-option--wrong{border-color:var(--gl-bad);background:#fef2f2}.gl-rule-card{background:linear-gradient(135deg,#eef2ff,#f5f3ff);border:1px solid #e0e7ff;border-radius:14px;margin-bottom:16px;padding:16px 18px}.gl-rule-card__label{letter-spacing:.08em;color:var(--gl-primary-dark);text-transform:uppercase;font-size:11px;font-weight:800}.gl-rule-card__text{margin:6px 0 0;font-size:16px;font-weight:600}.gl-formula{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.gl-formula__part{color:var(--gl-ink);background:#f1f5f9;border-radius:10px;padding:8px 12px;font-size:15px;font-weight:700;position:relative}.gl-formula__part--aux{color:var(--gl-aux);background:#dbeafe}.gl-formula__part--main{color:var(--gl-main);background:#d1fae5}.gl-formula__part--suffix{color:var(--gl-suffix);background:#fef3c7}.gl-formula__note{color:var(--gl-muted);margin-top:2px;font-size:10px;font-weight:500;display:block}.gl-uses{flex-direction:column;gap:12px;margin-bottom:18px;display:flex}.gl-use{border:1px solid var(--gl-line);border-radius:12px;padding:12px 14px}.gl-use__meaning{margin:0 0 4px;font-size:14px;font-weight:700}.gl-use__example{color:var(--gl-muted);margin:0;font-size:14px}.gl-timeline{flex-direction:column;gap:20px;margin:12px 0 4px;display:flex}.gl-timeline__row{position:relative}.gl-timeline__axislabel{color:var(--gl-primary-dark);margin:0 0 2px;font-size:11px;font-weight:800;display:block}.gl-timeline__axislabel--c{color:#7c3aed}.gl-timeline__line{border-top:2px solid #cbd5e1;height:46px;margin:20px 14px 4px;position:relative}.gl-timeline__past{color:var(--gl-muted);font-size:11px;position:absolute;top:6px;left:0}.gl-timeline__nowmark{width:0;height:0;position:absolute;top:0;right:28px}.gl-timeline__now{color:var(--gl-primary-dark);font-size:11px;font-weight:800;position:absolute;top:-26px;right:0}.gl-timeline__now:before{content:"";background:var(--gl-primary);width:2px;height:14px;position:absolute;top:24px;right:-1px}.gl-timeline__enddot{background:var(--gl-primary);width:12px;height:12px;box-shadow:0 0 0 1px var(--gl-primary);border:2px solid #fff;border-radius:50%;position:absolute;top:-7px;right:-6px}.gl-timeline__dot{position:absolute;top:-7px;transform:translate(-50%)}.gl-timeline__dot:before{content:"";background:var(--gl-primary);width:12px;height:12px;box-shadow:0 0 0 1px var(--gl-primary);border:2px solid #fff;border-radius:50%;display:block}.gl-timeline__bar{background:repeating-linear-gradient(90deg,#a5b4fc 0 6px,#c7d2fe 6px 12px);border-radius:6px;height:8px;position:absolute;top:-5px;right:28px}.gl-timeline__label{color:var(--gl-muted);white-space:nowrap;font-size:11px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.gl-timeline__label--top{color:#4c1d95;top:-26px;left:0;transform:none}.gl-timeline__label--result{text-align:right;color:var(--gl-primary-dark);font-weight:600;left:auto;right:0;transform:none}.gl-timeline__link{border-top:2px dashed var(--gl-primary);opacity:.4;position:absolute;top:-1px;right:28px}.gl-timeline__note{color:var(--gl-muted);text-align:center;margin:6px 0 0;font-size:12px}.gl-compare__title{margin:0 0 12px;font-size:14px;font-weight:700}.gl-compare__grid{background:var(--gl-line);border:1px solid var(--gl-line);border-radius:12px;grid-template-columns:1fr 1fr 1fr;gap:1px;display:grid;overflow:hidden}.gl-compare__head,.gl-compare__cell{background:#fff;padding:10px 12px;font-size:13px}.gl-compare__head{text-align:center;font-size:13px;font-weight:700}.gl-compare__head--a{color:var(--gl-aux);background:#eff6ff}.gl-compare__head--b{color:var(--gl-main);background:#f0fdf4}.gl-compare__cell--feature{background:#f8fafc;font-weight:600}.gl-compare__cell--a{background:#f8fbff}.gl-compare__cell--b{background:#f7fef9}.gl-pairs{flex-direction:column;gap:10px;margin-top:14px;display:flex}.gl-pair{border:1px solid var(--gl-line);border-radius:12px;padding:10px 14px}.gl-pair__a{color:var(--gl-aux);margin:0;font-size:14px;font-weight:600}.gl-pair__b{color:var(--gl-main);margin:4px 0 0;font-size:14px;font-weight:600}.gl-exercise-list{flex-direction:column;gap:14px;display:flex}.gl-exercise{border:1px solid var(--gl-line);background:#fff;border-radius:14px;padding:16px 18px}.gl-exercise--correct{border-color:#bbf7d0}.gl-exercise--incorrect{border-color:#fecaca}.gl-exercise__head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.gl-exercise__num{background:var(--gl-primary-soft);width:26px;height:26px;color:var(--gl-primary-dark);border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.gl-exercise__dim{letter-spacing:.07em;text-transform:uppercase;color:var(--gl-primary-dark);background:var(--gl-primary-soft);border-radius:6px;padding:3px 8px;font-size:10px;font-weight:700}.gl-exercise__prompt{margin:0 0 8px;font-size:15px;font-weight:600}.gl-exercise__context{color:var(--gl-muted);background:#f8fafc;border-radius:8px;margin:0 0 10px;padding:8px 12px;font-size:14px}.gl-exercise__keyword{color:var(--gl-muted);margin:0 0 10px;font-size:13px}.gl-exercise__keyword strong{color:var(--gl-ink);text-transform:uppercase}.gl-exercise__actions{gap:10px;margin-top:12px;display:flex}.gl-fills{flex-direction:column;gap:12px;display:flex}.gl-fill__label{color:var(--gl-muted);margin-bottom:6px;font-size:13px;display:block}.gl-input{box-sizing:border-box;border:1px solid var(--gl-line);width:100%;color:var(--gl-ink);background:#fff;border-radius:10px;padding:10px 12px;font-size:14px}.gl-input:focus{border-color:var(--gl-primary);outline:none;box-shadow:0 0 0 3px #6366f126}.gl-input--correct{border-color:var(--gl-good);background:#f0fdf4}.gl-input--wrong{border-color:var(--gl-bad);background:#fef2f2}.gl-input--sentence{margin-top:4px}.gl-order__slot{border:1.5px dashed #c7d2fe;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;min-height:52px;margin-bottom:12px;padding:10px;display:flex}.gl-order__placeholder{color:var(--gl-muted);font-size:13px}.gl-order__bank{flex-wrap:wrap;gap:8px;display:flex}.gl-token{color:var(--gl-primary-dark);cursor:pointer;background:#fff;border:1px solid #c7d2fe;border-radius:9px;padding:8px 14px;font-size:14px;font-weight:600}.gl-token--placed{background:var(--gl-primary);border-color:var(--gl-primary);color:#fff}.gl-textarea{box-sizing:border-box;border:1px solid var(--gl-line);resize:vertical;border-radius:10px;width:100%;margin-bottom:10px;padding:10px 12px;font-family:inherit;font-size:14px}.gl-textarea:focus{border-color:var(--gl-primary);outline:none;box-shadow:0 0 0 3px #6366f126}.gl-produce__parent{color:var(--gl-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.gl-hint{color:var(--gl-muted);margin-top:12px;font-size:13px}.gl-hint summary{cursor:pointer;font-weight:600}.gl-hint p{margin:8px 0 0}.gl-feedback{margin:12px 0 0;font-size:14px;font-weight:600}.gl-feedback--correct{color:var(--gl-good)}.gl-feedback--wrong{color:var(--gl-bad)}.gl-answer{color:var(--gl-muted);margin:10px 0 0;font-size:13px}.gl-mistakes{margin:0;padding-left:20px}.gl-mistakes li{margin-bottom:8px;font-size:14px}.gl-exceptions{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin-top:14px;padding:12px 14px}.gl-exceptions__label{color:var(--gl-suffix);text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.gl-exceptions ul{margin:0;padding-left:20px}.gl-exceptions li{margin-bottom:6px;font-size:14px}.gl-reflect__prompt{margin:0 0 12px;font-size:15px;font-weight:600}.gl-finish{margin-top:4px}.gl-discovery-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:16px;margin-bottom:20px;padding:18px 20px}.gl-discovery-card__mark{letter-spacing:.08em;color:#92400e;text-transform:uppercase;font-size:11px;font-weight:800}.gl-discovery-card__title{color:#78350f;margin:6px 0 0;font-size:18px;font-weight:700}.gl-mastery{border:1px solid var(--gl-line);background:#fff;border-radius:14px;margin-bottom:20px;padding:16px 18px}.gl-mastery__overall,.gl-mastery__dim{align-items:center;gap:10px;display:flex}.gl-mastery__overall{margin-bottom:14px;font-size:14px;font-weight:600}.gl-mastery__track{background:#eef0f6;border-radius:999px;flex:1;height:10px;overflow:hidden}.gl-mastery__track--sm{height:7px}.gl-mastery__fill{background:var(--gl-primary);border-radius:999px;height:100%;transition:width .4s}.gl-mastery__fill--form{background:#059669}.gl-mastery__fill--meaning{background:#6366f1}.gl-mastery__fill--contrast{background:#d97706}.gl-mastery__fill--production{background:#ec4899}.gl-mastery__pct{color:var(--gl-muted);text-align:right;min-width:36px;font-size:12px}.gl-mastery__dims{flex-direction:column;gap:8px;display:flex}.gl-mastery__dimlabel{color:var(--gl-muted);text-transform:capitalize;min-width:78px;font-size:12px}.gl-unit{margin-bottom:26px}.gl-unit__title{margin:0 0 4px;font-size:20px}.gl-unit__desc{color:var(--gl-muted);margin:0 0 14px;font-size:13px}.gl-lesson-cards{grid-template-columns:1fr 1fr;gap:14px;display:grid}.gl-lesson-card{color:var(--gl-ink);border:1px solid var(--gl-line);box-shadow:var(--gl-shadow);background:#fff;border-radius:16px;padding:18px;text-decoration:none;display:block}.gl-lesson-card:hover{border-color:#c7d2fe;transition:transform .15s;transform:translateY(-2px)}.gl-lesson-card__cefr{color:var(--gl-primary-dark);background:var(--gl-primary-soft);border-radius:6px;padding:3px 8px;font-size:10px;font-weight:800}.gl-lesson-card__title{margin:10px 0 6px;font-size:16px}.gl-lesson-card__goal{color:var(--gl-muted);min-height:36px;margin:0 0 12px;font-size:13px}.gl-lesson-card__status{color:var(--gl-muted);font-size:12px;font-weight:600}.gl-lesson-card--mastered .gl-lesson-card__status{color:var(--gl-good)}.gl-lesson-card--learning .gl-lesson-card__status{color:var(--gl-primary-dark)}.gl-explore__controls{flex-direction:column;gap:12px;margin-bottom:18px;display:flex}.gl-filter{background:#f1f3f9;border-radius:10px;align-self:flex-start;gap:4px;padding:4px;display:inline-flex}.gl-filter__btn{color:var(--gl-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:600}.gl-filter__btn--active{color:var(--gl-primary-dark);box-shadow:var(--gl-shadow);background:#fff}.gl-input--search{max-width:360px}.gl-egp-group{border:1px solid var(--gl-line);background:#fff;border-radius:14px;margin-bottom:12px;padding:4px 14px}.gl-egp-group__summary{cursor:pointer;padding:10px 0;font-size:15px;font-weight:700;list-style:none}.gl-egp-group__summary::-webkit-details-marker{display:none}.gl-egp-group__count{color:var(--gl-muted);background:#f1f3f9;border-radius:999px;margin-left:6px;padding:2px 9px;font-size:12px}.gl-egp-points{flex-direction:column;gap:6px;padding-bottom:12px;display:flex}.gl-egp-point{background:#f8fafc;border-radius:10px;padding:8px 12px}.gl-egp-point__summary{cursor:pointer;align-items:baseline;gap:8px;font-size:13px;display:flex}.gl-egp-point__cefr{color:var(--gl-primary-dark);background:var(--gl-primary-soft);border-radius:5px;padding:2px 6px;font-size:10px;font-weight:800}.gl-egp-point__guide{font-weight:600}.gl-egp-point__cando{margin:8px 0 4px;font-size:13px}.gl-egp-point__example{color:var(--gl-muted);margin:0;font-size:12px;font-style:italic}.gl-socratic{border:1px solid var(--gl-line);background:#f8fafc;border-radius:12px;margin-top:12px;padding:14px 16px}.gl-socratic--done{background:#f0fdf4;border-color:#bbf7d0}.gl-socratic__hint{letter-spacing:.07px;color:var(--gl-primary-dark);text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.gl-socratic__ask{margin:0 0 12px;font-size:14px;font-weight:600}.gl-socratic__options{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.gl-chip{border:1px solid var(--gl-line);cursor:pointer;background:#fff;border-radius:9px;padding:7px 14px;font-size:13px;font-weight:600}.gl-chip--selected{border-color:var(--gl-primary);background:var(--gl-primary-soft)}.gl-chip--right{border-color:var(--gl-good);background:#f0fdf4}.gl-socratic__feedback{color:var(--gl-good);margin:0 0 10px;font-size:13px;font-weight:600}.gl-socratic__feedback--muted{color:var(--gl-muted)}.gl-socratic__actions{gap:10px;display:flex}.gl-socratic__lead{color:var(--gl-muted);margin:0 0 6px;font-size:13px}.gl-socratic__correction{color:var(--gl-good);margin:0 0 12px;font-size:16px;font-weight:700}@media (width<=640px){.gl-step{padding:18px 16px}.gl-title,.gl-lab-title{font-size:22px}.gl-lesson-cards,.gl-compare__grid{grid-template-columns:1fr}.gl-compare__head--b,.gl-compare__cell--b{border-top:1px solid var(--gl-line)}.gl-compare__head{text-align:left}.gl-filter{align-self:stretch;overflow-x:auto}.gl-timeline__arrow{display: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-options{flex-direction:column;gap:2.5mm;margin:1mm 0 2mm;display:flex}.print-option{align-items:flex-start;gap:3mm;font-size:11pt;line-height:1.45;display:flex}.print-option__mark{text-align:center;color:#5f6368;border:1px solid #9aa0a6;border-radius:50%;flex:none;width:6mm;height:6mm;font-size:9pt;line-height:6mm}.print-option__text{flex:1}.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}
