:root{color-scheme:light;--bg:#f7f8fa;--panel:#fff;--stroke:#dde2e8;--muted:#616b79;--text:#202936;--blue:#285fba;--red:#b33232;--yellow:#926000;--green:#247047;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--sans)}button,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--stroke);border-radius:6px;background:#fff;color:var(--text);padding:8px 11px;font-size:13px;line-height:1.4}button:hover{background:#f1f4f8;border-color:#b6c0cd}button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.site-shell{width:min(1320px,calc(100% - 64px));margin:auto;padding:40px 0}.intro{margin-bottom:28px}h1{margin:0 0 10px;font-size:clamp(25px,3vw,32px);font-weight:650;letter-spacing:-.03em}.intro p{margin:4px 0;color:var(--muted)}.intro p:last-child{font-size:12px}.workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}.pane{min-width:0;background:var(--panel);border:1px solid var(--stroke);border-radius:10px;overflow:hidden}.pane-header{min-height:62px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--stroke)}h2{margin:0;font-size:15px;font-weight:650}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px}.primary-button{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.primary-button:hover:not(:disabled){background:#204f9d;border-color:#204f9d}.primary-button:disabled{cursor:wait;background:#e3e9f2;border-color:#d5dce6;color:#5a687e}.code-region{position:relative;display:flex;height:clamp(320px,55vh,600px);margin:0 14px;overflow:hidden;border:1px solid var(--stroke);border-radius:6px}.code-region:focus-within{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.line-gutter{flex:0 0 64px;height:100%;overflow:hidden;white-space:pre;text-align:right;padding:14px 8px 24px 6px;background:#f8f9fb;border-right:1px solid #e9ecf0;color:#778291;font:13px/25px var(--mono);-webkit-user-select:none;user-select:none}textarea{display:block;width:100%;min-width:0;height:100%;padding:14px 14px 24px;border:0;outline:none;resize:none;background:#fff;color:var(--text);font:13px/25px var(--mono);tab-size:2;white-space:pre;overflow:auto}textarea::placeholder{color:#798391}.drop-overlay{display:none;position:absolute;inset:0;align-items:center;justify-content:center;background:#edf4fff0;pointer-events:none}.dragging .drop-overlay{display:flex}.drop-visual{padding:24px;border:1px dashed var(--blue);border-radius:6px;color:var(--blue)}.pane-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:13px 16px;color:var(--muted);font-size:11px}kbd{font:11px var(--mono)}#engine-note{color:var(--red);font-size:12px;overflow-wrap:anywhere}.result-badge{padding:3px 9px;border:1px solid var(--stroke);border-radius:20px;color:var(--muted);background:#f8f9fb;font-size:11px;white-space:nowrap}.result-badge[data-state=valid],.summary-symbol.valid{color:var(--green);background:#eef8f1}.result-badge[data-state=warning],.summary-symbol.warning{color:var(--yellow);background:#fff7e6}.result-badge[data-state=error],.summary-symbol.error{color:var(--red);background:#fff0f0}.results-body{padding:22px 20px}.summary{display:flex;gap:12px;align-items:flex-start}.summary-symbol{flex:0 0 36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#f0f3f7;color:var(--muted);font-size:22px}.summary-copy{min-width:0}h3{margin:4px 0;font-size:16px;font-weight:600}.summary-copy p{margin:0;color:var(--muted);font-size:13px}.summary-copy p:empty{display:none}.counts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.count-box{display:flex;align-items:baseline;gap:10px;padding:16px;border:1px solid var(--stroke);border-radius:6px}.count-number{font:26px/1.2 var(--mono)}.count-label{color:var(--muted);font-size:12px}.error-text{color:var(--red)}.warning-text{color:var(--yellow)}.diagnostics-header{display:flex;justify-content:space-between;margin-bottom:10px;color:var(--muted);font-size:12px}.issue-list{max-height:420px;overflow:auto;padding:3px}.empty-issues{padding:28px 16px;border:1px dashed var(--stroke);border-radius:6px;color:var(--muted);text-align:center;font-size:13px}.issue{display:block;width:100%;text-align:left;padding:12px;margin-bottom:8px}.issue:focus-visible{outline-offset:-2px}.issue-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:6px;font:11px var(--mono)}.issue-kind{font-weight:600}.issue[data-severity=error] .issue-kind{color:var(--red)}.issue[data-severity=warning] .issue-kind{color:var(--yellow)}.issue-location{color:var(--muted)}.issue-message{font-size:13px;line-height:1.6;overflow-wrap:anywhere}@media(max-width:900px){.workspace{grid-template-columns:1fr}.site-shell{width:min(720px,calc(100% - 32px));padding:28px 0}}@media(max-width:480px){.site-shell{width:calc(100% - 24px);padding:22px 0}.pane-header{padding:14px}.toolbar{gap:6px;padding:12px}button{font-size:12px;padding:8px}.code-region{margin:0 12px}.results-body{padding:18px 14px}textarea{padding-left:10px}}.toolbar-group{display:flex;align-items:center;gap:8px}.editor-actions{margin-left:auto}.site-footer{padding:20px 2px 0;color:var(--muted);font-size:11px}.site-footer a{color:var(--blue);text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}[hidden]{display:none!important}.line-number{position:relative;display:block;width:max-content;margin-left:auto;height:25px;padding-left:15px}.line-number:before{content:"";position:absolute;left:0;top:50%;width:9px;height:9px;border-radius:50%;transform:translateY(-50%)}.line-number[data-severity=error]:before{background:var(--red)}.line-number[data-severity=warning]:before{background:#d49a00}
