:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #1557b0}button:disabled{cursor:not-allowed;opacity:.5}#app{min-height:100vh}.app-shell{width:min(1240px,100% - 32px);margin:0 auto;padding:28px 0 56px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.eyebrow{color:#526078;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}h1{letter-spacing:-.045em;margin:7px 0 0;font-size:clamp(32px,5vw,56px);line-height:1}.lede{color:#617089;max-width:760px;line-height:1.65}.status-pill{color:#526078;background:#fff;border:1px solid #dbe4ef;border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:12px;display:flex}.status-pill span{background:#2fb36f;border-radius:50%;width:8px;height:8px}.tabs{background:#e8edf5;border-radius:13px;gap:5px;margin:22px 0 16px;padding:5px;display:inline-flex}.tab{color:#5f6c82;background:0 0;border:0;border-radius:9px;min-height:44px;padding:10px 18px;font-weight:800}.tab.active{color:#1e2d46;background:#fff;box-shadow:0 2px 8px #14233c14}.panel-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.progress-steps{grid-column:span 2;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.progress-steps li{color:#526078;background:#e8edf5;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:800;display:flex}.progress-steps span,.step-heading>span{color:#245fa8;background:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.progress-steps .current{color:#174f96;background:#dcebff}.progress-steps .completed{color:#176b44;background:#e8f7ef}.card{background:#fff;border:1px solid #dfe6f0;border-radius:18px;padding:20px;box-shadow:0 10px 34px #1c2d4b0d}.idea-card,.card.wide{grid-column:span 2}.card h2{margin:0 0 13px;font-size:18px}.card h3{margin:14px 0 8px;font-size:16px}.step-heading{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.step-heading>span{color:#fff;background:#1f6fc7;font-weight:900}.step-heading h2{margin:1px 0 4px}.step-heading p,.repair-tools p,.student-result p{color:#526078;margin:0;line-height:1.6}.field-label{color:#35445b;margin-bottom:7px;font-size:14px;font-weight:800;display:block}.request-input{color:#172033;resize:vertical;border:1px solid #c7d3e4;border-radius:12px;width:100%;min-height:110px;padding:13px;line-height:1.6}.idea-examples{color:#526078;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:14px;display:flex}.idea-chip{color:#174f96;background:#f3f8ff;border:1px solid #b9cce5;border-radius:999px;min-height:44px;padding:7px 12px;font-weight:800}.inline-status{color:#526078;min-height:24px;margin:9px 0 0;font-size:14px}.inline-status[data-kind=ok]{color:#176b44}.inline-status[data-kind=error]{color:#8b2929}.card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.mono{color:#1d2a40;resize:vertical;background:#fbfcfe;border:1px solid #d6deea;border-radius:12px;width:100%;padding:13px;font:14px/1.55 SFMono-Regular,Consolas,monospace}.mono.compact{min-height:180px}.mono.editor{min-height:430px}.mono.student-editor{min-height:260px}.button-row{flex-wrap:wrap;gap:9px;margin-top:12px;display:flex}.button{color:#243550;background:#fff;border:1px solid #d2dbe8;border-radius:10px;min-height:44px;padding:9px 13px;font-weight:800}.button.primary{color:#fff;background:#1f6fc7;border-color:#1f6fc7}.button.secondary:hover{background:#f6f8fb}.status-box{white-space:pre-wrap;color:#526078;background:#f6f8fb;border-radius:10px;min-height:44px;margin-top:12px;padding:10px 12px}.status-box:empty{display:none}.status-box[data-kind=ok]{color:#1d774d;background:#eefaf4}.status-box[data-kind=error]{color:#9d3434;background:#fff0f0}.repair-tools{background:#fff9eb;border:1px solid #e7c66d;border-radius:12px;margin-top:12px;padding:13px}.repair-report-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.repair-report-head strong{font-size:18px}.repair-tools .button-row{margin-top:9px}.clipboard-fallback{margin-top:12px}.clipboard-fallback label{color:#9d3434;margin-bottom:7px;font-size:14px;font-weight:700;display:block}.clipboard-fallback .mono.compact{min-height:150px}.student-result{background:#fff9eb;border-left:5px solid #d79921;border-radius:12px;margin-top:12px;padding:14px 16px}.student-result[data-kind=success]{background:#eefaf4;border-left-color:#2fa56c}.student-result strong{margin-bottom:4px;font-size:18px;display:block}.advanced-tools,.technical-details{border-top:1px solid #dfe6f0;margin-top:14px;padding-top:12px}.advanced-tools summary,.technical-details summary{color:#35445b;cursor:pointer;min-height:44px;padding:11px 4px;font-weight:800}.advanced-content{padding-top:4px}.dropzone{text-align:center;cursor:pointer;background:#fafcff;border:2px dashed #c8d3e2;border-radius:15px;gap:7px;padding:42px 20px;display:grid}.dropzone:focus-within{outline-offset:3px;outline:3px solid #1557b0}.dropzone.drag{background:#eff6ff;border-color:#4c97ff}.dropzone span{color:#526078;font-size:14px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stats>div{background:#f8fafc;border:1px solid #e4eaf2;border-radius:10px;padding:10px}.stats b,.stats span{display:block}.stats b{font-size:20px}.stats span{color:#526078;font-size:13px}.muted{color:#5f6c82}.diagnostics{gap:7px;margin-top:12px;display:grid}.diagnostic{background:#f7f9fc;border-left:4px solid #5d96df;border-radius:8px;gap:3px;padding:10px 11px;display:grid}.diagnostic.warning{border-left-color:#dc9d23}.diagnostic.ok{border-left-color:#2fa56c}.diagnostic b{font-size:14px}.diagnostic span{color:#526078;font-size:14px}.analysis-controls{grid-template-columns:1fr auto auto;gap:10px;display:grid}.analysis-controls label{color:#526078;gap:5px;font-size:14px;font-weight:700;display:grid}.analysis-controls input,.analysis-controls select{background:#fff;border:1px solid #d6deea;border-radius:9px;padding:9px 10px}.output-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}pre{color:#dce6f6;white-space:pre-wrap;word-break:break-word;background:#111827;border-radius:11px;max-height:500px;margin:0;padding:13px;font:13px/1.5 SFMono-Regular,Consolas,monospace;overflow:auto}@media (max-width:820px){.topbar{flex-direction:column}.panel-grid{grid-template-columns:1fr}.progress-steps,.idea-card{grid-column:auto}.progress-steps{grid-template-columns:repeat(2,1fr)}.card.wide{grid-column:auto}.output-grid,.analysis-controls{grid-template-columns:1fr}.tabs{grid-template-columns:1fr 1fr;width:100%;display:grid}.tab{padding-inline:10px}.student-actions .button{flex:100%}}
