.reference-graph.svelte-phaplw{aspect-ratio:16/9;border:1px solid var(--border);background:radial-gradient(circle at 1px 1px, var(--border-subtle) 1px, transparent 0) 0 0 / 24px 24px, var(--bg-secondary);border-radius:12px;width:100%;min-height:320px;max-height:480px;position:relative;overflow:hidden}.edge-layer.svelte-phaplw{width:100%;height:100%;position:absolute;inset:0}.edge-stroke.svelte-phaplw{fill:none;stroke:color-mix(in srgb, var(--accent) 72%, var(--text-secondary));stroke-width:1.65px;stroke-linecap:round;vector-effect:non-scaling-stroke}.edge-layer.svelte-phaplw marker:where(.svelte-phaplw) path:where(.svelte-phaplw){fill:color-mix(in srgb, var(--accent) 72%, var(--text-secondary))}.edge-label.svelte-phaplw{z-index:1;border:1px solid var(--border-subtle);background:var(--bg-primary);color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.reference-node.svelte-phaplw{z-index:2;border:1px solid var(--border);background:var(--bg-primary);width:104px;min-height:84px;color:var(--text-primary);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 20px #00000029}.reference-node.note-node.svelte-phaplw{background:color-mix(in srgb, var(--warning) 9%, var(--bg-primary));width:148px}.reference-node.svelte-phaplw svg{color:var(--accent)}.reference-node.svelte-phaplw strong:where(.svelte-phaplw){overflow-wrap:anywhere;max-width:100%;font-size:11px;font-weight:800;line-height:1.15}.reference-node.svelte-phaplw small:where(.svelte-phaplw){max-width:100%;color:var(--text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:9px;line-height:1.25;display:-webkit-box;overflow:hidden}@media (width<=720px){.reference-graph.svelte-phaplw{aspect-ratio:4/5}.reference-node.svelte-phaplw{gap:4px;width:78px;min-height:64px;padding:6px}.reference-node.svelte-phaplw strong:where(.svelte-phaplw){font-size:9px}.reference-node.svelte-phaplw small:where(.svelte-phaplw),.edge-label.svelte-phaplw{display:none}}.design-exercise.svelte-q9friq{flex-direction:column;gap:20px;display:flex}.prompt-card.svelte-q9friq{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-secondary);border-radius:12px;padding:20px}.prompt-body.svelte-q9friq h2{color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 8px;font-size:14px;font-weight:800}.prompt-body.svelte-q9friq h2:first-child{margin-top:0}.prompt-body.svelte-q9friq p{color:var(--text-secondary);margin:0 0 10px;line-height:1.6}.prompt-body.svelte-q9friq ul,.prompt-body.svelte-q9friq ol{color:var(--text-secondary);margin:0 0 10px;padding-left:20px;line-height:1.6}.prompt-body.svelte-q9friq strong{color:var(--text-primary)}.board-section.svelte-q9friq{flex-direction:column;gap:12px;display:flex}.board-hint.svelte-q9friq p:where(.svelte-q9friq){color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.board-frame.svelte-q9friq{border:1px solid var(--border);border-radius:12px;height:clamp(520px,74vh,940px);overflow:hidden}.rail-title.svelte-q9friq{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:11px;font-weight:900}.grade-form.svelte-q9friq{display:flex}.submit-btn.svelte-q9friq{background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:8px;flex:1;padding:14px 24px;font-size:15px;font-weight:700;transition:opacity .15s}.submit-btn.svelte-q9friq:hover:not(:disabled){opacity:.9}.submit-btn.svelte-q9friq:disabled{opacity:.55;cursor:not-allowed}.grade-card.svelte-q9friq{border:1px solid var(--border);background:var(--bg-secondary);border-radius:12px;padding:20px}.grade-card.passed.svelte-q9friq{border-color:color-mix(in srgb, var(--success,#22c55e) 55%, var(--border))}.grade-header.svelte-q9friq{border-bottom:1px solid var(--border-subtle);align-items:center;gap:16px;padding-bottom:16px;display:flex}.score-block.svelte-q9friq{align-items:baseline;gap:2px;display:flex}.score.svelte-q9friq{color:var(--text-primary);font-size:40px;font-weight:900;line-height:1}.score-total.svelte-q9friq{color:var(--text-muted);font-size:14px;font-weight:700}.score-meta.svelte-q9friq{flex-direction:column;gap:3px;display:flex}.score-meta.svelte-q9friq strong:where(.svelte-q9friq){color:var(--text-primary);font-size:15px;font-weight:800}.score-meta.svelte-q9friq span:where(.svelte-q9friq){color:var(--text-muted);font-size:12px;line-height:1.5}.grade-empty.svelte-q9friq{color:var(--text-secondary);margin:16px 0 0;font-size:14px;line-height:1.6}.check-columns.svelte-q9friq{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:16px;display:grid}.check-group.svelte-q9friq h4:where(.svelte-q9friq){color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:11px;font-weight:800}.check-group.svelte-q9friq h4.bonus-heading:where(.svelte-q9friq){margin-top:16px}.check-group.svelte-q9friq ul:where(.svelte-q9friq){flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.check-group.svelte-q9friq li:where(.svelte-q9friq){color:var(--text-muted);align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;display:flex}.check-group.svelte-q9friq li:where(.svelte-q9friq) svg{flex-shrink:0;margin-top:1px}.check-group.svelte-q9friq li.met:where(.svelte-q9friq){color:var(--text-primary)}.check-group.svelte-q9friq li.met:where(.svelte-q9friq) svg{color:var(--success,#22c55e)}.check-group.svelte-q9friq li.warn:where(.svelte-q9friq) svg{color:var(--warning,#f59e0b)}.check-group.svelte-q9friq li:where(.svelte-q9friq):not(.met):not(.warn):not(.bonus) svg{color:var(--error,#ef4444)}.check-group.svelte-q9friq li:where(.svelte-q9friq) strong:where(.svelte-q9friq){font-weight:700;display:block}.check-group.svelte-q9friq li:where(.svelte-q9friq) em:where(.svelte-q9friq){color:var(--text-muted);margin-top:2px;font-size:12px;font-style:normal;display:block}.solution-controls.svelte-q9friq{flex-direction:column;gap:6px;display:flex}.solution-toggle.svelte-q9friq{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-self:flex-start;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.solution-toggle.svelte-q9friq:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.solution-toggle.svelte-q9friq:disabled{opacity:.6;cursor:not-allowed}.solution-toggle.svelte-q9friq .chevron{transition:transform .15s}.solution-toggle.svelte-q9friq .chevron.open{transform:rotate(180deg)}.solution-hint.svelte-q9friq{color:var(--text-muted);margin:0;font-size:12px}.solution.svelte-q9friq{border:1px solid var(--border);background:var(--bg-secondary);border-radius:12px;padding:24px}.solution.svelte-q9friq h3:where(.svelte-q9friq){color:var(--text-primary);margin:0 0 6px;font-size:16px;font-weight:800}.solution-caveat.svelte-q9friq{color:var(--text-muted);margin:0 0 14px;font-size:13px;line-height:1.5}.solution-body.svelte-q9friq{margin-top:24px}.solution-body.svelte-q9friq h2{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);margin:24px 0 8px;padding-bottom:6px;font-size:15px;font-weight:800}.solution-body.svelte-q9friq h2:first-child{margin-top:0}.solution-body.svelte-q9friq p,.solution-body.svelte-q9friq li{color:var(--text-secondary);line-height:1.7}.solution-body.svelte-q9friq ul,.solution-body.svelte-q9friq ol{padding-left:20px}.solution-body.svelte-q9friq code{background:var(--bg-tertiary);border-radius:4px;padding:1px 5px;font-size:.9em}.solution-body.svelte-q9friq pre{background:var(--bg-tertiary);border-radius:8px;padding:12px;overflow-x:auto}.solution-body.svelte-q9friq strong{color:var(--text-primary)}@media (width<=1100px){.board-frame.svelte-q9friq{height:min(86vh,820px)}}@media (width<=720px){.grade-header.svelte-q9friq{flex-direction:column;align-items:flex-start;gap:8px}.board-frame.svelte-q9friq{height:min(88vh,760px)}.solution.svelte-q9friq{padding:16px}}.quiz-question-page.svelte-fv5w1y{max-width:800px;margin:0 auto;padding:40px 24px 80px}.quiz-question-page.wide.svelte-fv5w1y{max-width:1240px}.page-header.svelte-fv5w1y{justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.back-link.svelte-fv5w1y{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:14px;text-decoration:none;transition:color .15s;display:inline-flex}.back-link.svelte-fv5w1y:hover{color:var(--accent)}.nav-buttons.svelte-fv5w1y{align-items:center;gap:12px;display:flex}.nav-btn.svelte-fv5w1y{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-soft);color:var(--text-primary);cursor:pointer;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s}.nav-btn.svelte-fv5w1y:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.nav-btn.svelte-fv5w1y:disabled{opacity:.5;cursor:not-allowed}.random-btn.svelte-fv5w1y{border-color:var(--accent);color:var(--accent);align-items:center;gap:6px;display:inline-flex}.question-counter.svelte-fv5w1y{color:var(--text-secondary);padding:0 8px;font-size:13px;font-weight:600}.sequence-counter.svelte-fv5w1y{flex-direction:column;align-items:center;gap:1px;max-width:160px;line-height:1.2;display:inline-flex}.sequence-counter.svelte-fv5w1y .seq-pos:where(.svelte-fv5w1y){font-variant-numeric:tabular-nums;color:var(--text-primary)}.sequence-counter.svelte-fv5w1y .seq-label:where(.svelte-fv5w1y){color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:600;overflow:hidden}.continue-btn.svelte-fv5w1y{background:var(--accent);width:100%;color:var(--on-accent);border-radius:var(--radius-soft);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;margin-top:20px;padding:14px;font-size:15px;font-weight:700;transition:opacity .15s;display:flex}.continue-btn.svelte-fv5w1y:hover{opacity:.9}.question-container.svelte-fv5w1y{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-soft);padding:32px}.solved-banner.svelte-fv5w1y{border-radius:var(--radius-soft);color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d;align-items:center;gap:6px;margin-bottom:16px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.question-title.svelte-fv5w1y{color:var(--text-primary);margin-bottom:20px;font-size:24px;font-weight:700}.question-text.svelte-fv5w1y{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:20px 0;font-size:16px;line-height:1.7}.question-text.svelte-fv5w1y code{background:var(--bg-tertiary);border-radius:var(--radius-tight);padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:14px}.question-text.svelte-fv5w1y .markdown-image{border-radius:var(--radius-tight);border:1px solid var(--border-subtle);max-width:100%;height:auto;margin:16px 0}.question-text.svelte-fv5w1y .markdown-image-centered{text-align:center;margin:16px 0}.question-text.svelte-fv5w1y .markdown-image-centered .markdown-image{border:none;margin:0}.login-prompt.svelte-fv5w1y{text-align:center;background:var(--bg-tertiary);border-radius:var(--radius-soft);margin-top:24px;padding:32px 24px}.login-prompt.svelte-fv5w1y p:where(.svelte-fv5w1y){color:var(--text-secondary);margin:12px 0 16px}.sign-in-btn.svelte-fv5w1y{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-soft);padding:12px 28px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-block}.sign-in-btn.svelte-fv5w1y:hover{opacity:.9}.answer-form.svelte-fv5w1y{margin-top:24px}.fill-blank.svelte-fv5w1y{margin-bottom:16px}.answer-input.svelte-fv5w1y{background:var(--bg-primary);border:2px solid var(--border-subtle);border-radius:var(--radius-soft);width:100%;color:var(--text-primary);padding:16px;font-size:16px}.answer-input.svelte-fv5w1y:focus{border-color:var(--accent);outline:none}.options-list.svelte-fv5w1y{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.option.svelte-fv5w1y{background:var(--bg-primary);border:2px solid var(--border-subtle);border-radius:var(--radius-soft);cursor:pointer;align-items:flex-start;gap:14px;padding:16px 18px;transition:all .15s;display:flex}.option.svelte-fv5w1y:hover{border-color:var(--border)}.option.selected.svelte-fv5w1y{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--bg-primary))}.option.svelte-fv5w1y input:where(.svelte-fv5w1y){opacity:0;pointer-events:none;position:absolute}.option-marker.svelte-fv5w1y{background:var(--bg-tertiary);border-radius:var(--radius-tight);width:28px;height:28px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.option.selected.svelte-fv5w1y .option-marker:where(.svelte-fv5w1y){background:var(--accent);color:var(--on-accent)}.option-text.svelte-fv5w1y{color:var(--text-primary);font-size:15px;line-height:1.6}.submit-btn.svelte-fv5w1y{background:var(--accent);width:100%;color:var(--on-accent);border-radius:var(--radius-soft);cursor:pointer;border:none;padding:16px;font-size:16px;font-weight:700;transition:all .15s}.submit-btn.svelte-fv5w1y:hover:not(:disabled){opacity:.9}.submit-btn.svelte-fv5w1y:disabled{opacity:.5;cursor:not-allowed}.surrender-btn.svelte-fv5w1y{width:100%;color:var(--text-muted);border:1px dashed var(--border-subtle);border-radius:var(--radius-soft);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.surrender-btn.svelte-fv5w1y:hover{color:#f59e0b;background:#f59e0b0d;border-color:#f59e0b66}.surrender-reveal.svelte-fv5w1y{border-left-color:#f59e0b!important}.surrender-answer.svelte-fv5w1y{color:#f59e0b;padding:8px 0;font-size:18px;font-weight:700}.surrender-options.svelte-fv5w1y{flex-direction:column;gap:8px;display:flex}.surrender-option.svelte-fv5w1y{border-radius:var(--radius-soft);color:var(--text-muted);background:var(--bg-primary);align-items:center;gap:10px;padding:8px 12px;font-size:14px;display:flex}.surrender-option.correct.svelte-fv5w1y{color:#22c55e;background:#22c55e14;border:1px solid #22c55e40}.surrender-option.svelte-fv5w1y .option-marker:where(.svelte-fv5w1y){background:var(--bg-tertiary);border-radius:var(--radius-tight);flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.surrender-option.svelte-fv5w1y .option-marker.correct-marker:where(.svelte-fv5w1y){color:#22c55e;background:#22c55e33}.surrender-option.svelte-fv5w1y .correct-check{color:#22c55e;flex-shrink:0;margin-left:auto}.explanation.svelte-fv5w1y{background:var(--bg-tertiary);border-radius:var(--radius-soft);border-left:3px solid var(--text-secondary);margin-top:24px;padding:20px}.explanation.svelte-fv5w1y h4:where(.svelte-fv5w1y){text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px;font-size:12px;font-weight:700}.explanation-text.svelte-fv5w1y{color:var(--text-primary);font-size:15px;line-height:1.6}.question-text.svelte-fv5w1y table,.explanation-text.svelte-fv5w1y table{border-collapse:collapse;width:fit-content;max-width:100%;margin:16px 0;font-size:.92em;line-height:1.45;display:block;overflow-x:auto}.question-text.svelte-fv5w1y th,.question-text.svelte-fv5w1y td,.explanation-text.svelte-fv5w1y th,.explanation-text.svelte-fv5w1y td{border:1px solid var(--border-subtle);text-align:left;vertical-align:top;padding:7px 11px}.question-text.svelte-fv5w1y th,.explanation-text.svelte-fv5w1y th{background:color-mix(in srgb, var(--bg-tertiary) 70%, transparent);white-space:nowrap;font-weight:680}.question-text.svelte-fv5w1y tbody tr:nth-child(2n) td,.explanation-text.svelte-fv5w1y tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--bg-tertiary) 32%, transparent)}@media (width<=768px){.quiz-question-page.svelte-fv5w1y{padding:20px 16px 80px}.page-header.svelte-fv5w1y{flex-direction:column;align-items:flex-start}.question-container.svelte-fv5w1y{padding:24px 20px}.question-title.svelte-fv5w1y{font-size:20px}.question-text.svelte-fv5w1y{font-size:15px}.option.svelte-fv5w1y{padding:14px 16px}.option-marker.svelte-fv5w1y{width:24px;height:24px;font-size:13px}.option-text.svelte-fv5w1y{font-size:14px}}
