:root{font-family:Arial,Helvetica,sans-serif;color:#27272a;background:#f7f7f8;--line:#e4e4e7;--muted:#71717a;--accent:#6653c7;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}textarea:focus,input:focus,select:focus{outline:2px solid #ac9fe5;outline-offset:1px}[hidden]{display:none!important}.topbar{max-width:1456px;margin:auto;padding:25px 28px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px}h1{font-size:26px;margin:0;font-weight:600}h1 span{color:var(--muted);font:16px var(--mono);margin-left:9px}.connection{display:flex;align-items:center;gap:7px;font-size:15px;color:var(--muted)}.status-dot{width:6px;height:6px;background:#aaa;border-radius:50%}.connection.ready .status-dot{background:#38966a}.workspace{max-width:1400px;display:grid;grid-template-columns:1fr 1fr;margin:0 auto 28px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.editor{padding:24px;min-width:0}.panel-heading,.output-top{display:flex;align-items:center;justify-content:space-between;gap:12px}h2{font-size:18px;margin:0;font-weight:600}.text-button{border:0;background:transparent;color:var(--muted);padding:5px;font-size:15px}.text-button:hover{color:var(--accent)}.preset-row{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}.preset{background:#fff;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:7px 11px;font-size:15px}.preset.active{color:var(--accent);background:#f2effc;border-color:#ded7f4}.field-label{display:block;font-size:15px;color:var(--muted);margin-bottom:8px}.state-input{display:block;width:100%;min-height:180px;padding:13px;resize:vertical;border:1px solid var(--line);border-radius:5px;color:inherit;background:#fdfdfd;font-size:18px;line-height:1.75}.input-footer{text-align:right;font:14px var(--mono);color:#71717a;margin-top:7px}.question-heading{margin:23px 0 14px}.question-card{border:1px solid var(--line);border-radius:5px;margin-bottom:8px;overflow:hidden}.question-card summary{display:flex;align-items:center;gap:10px;padding:12px;list-style:none;cursor:pointer;font-size:15px}.question-card summary::-webkit-details-marker{display:none}.question-card summary:after{content:'⌄';margin-left:auto;color:var(--muted)}.question-card[open] summary:after{content:'⌃'}.type-label{font:13px var(--mono);color:#6a54ae;background:#f2effa;padding:4px 6px;border-radius:3px}.type-label.score{color:#43735b;background:#edf5ef}.type-label.noul{color:#9e6d3b;background:#faf1e9}.question-name{font:15px var(--mono)}.question-fields{display:grid;gap:11px;padding:0 12px 13px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.question-fields label{display:grid;gap:6px;font-size:14px;color:var(--muted)}.question-fields input,.question-fields textarea,.question-fields select{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:4px;background:#fdfdfd;font-size:15px;color:inherit}.question-fields textarea{line-height:1.65;resize:vertical}.criteria-help{font-size:14px;color:#92929b;line-height:1.6}.remove-question{justify-self:start;color:#a25353}.run-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}.run-bar p{font:14px/1.6 var(--mono);color:var(--muted);margin:0}.primary-button{background:var(--accent);color:#fff;border:0;border-radius:5px;padding:11px 28px;font-size:16px}.primary-button:hover:not(:disabled){background:#5846b4}.error{color:#a43a3a;background:#fff1f0;padding:12px;font-size:16px;border-radius:4px;line-height:1.6}.output-panel{border-left:1px solid var(--line);background:#fdfdfe;min-width:0;display:flex;flex-direction:column}.output-top{padding:24px}.result-badge{font:13px var(--mono);color:#71717a}.result-badge.live{color:#398665}.output-tabs{display:flex;gap:24px;padding:0 24px;border-bottom:1px solid var(--line)}.output-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:0 0 13px;font-size:15px}.output-tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}#results,#request,#response{flex:1;min-height:400px}.empty-state{padding:120px 24px;text-align:center;font-size:16px;color:#71717a}.code-toolbar{padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:10px;font:14px var(--mono);color:var(--muted)}pre{font:15px/1.8 var(--mono);margin:0;padding:0 24px 24px;white-space:pre-wrap;overflow-wrap:anywhere;color:#575160;max-height:750px;overflow:auto}.answer-card{padding:20px 24px;border-bottom:1px solid var(--line)}.answer-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.answer-header h3{font:15px var(--mono);margin:0}.answer-value{font-size:30px;color:var(--accent);margin:12px 0 8px}.answer-confidence{font:14px var(--mono);color:var(--muted);margin-bottom:16px}.distribution-row{display:grid;grid-template-columns:minmax(70px,1fr) 1.3fr 65px;gap:10px;align-items:center;margin:10px 0;font:14px var(--mono)}.distribution-row>span:first-child{color:var(--muted);overflow-wrap:anywhere}.distribution-row>span:last-child{text-align:right;color:var(--muted)}progress{appearance:none;-webkit-appearance:none;width:100%;height:6px;border:0;border-radius:6px;overflow:hidden;background:#ece9f3}progress::-webkit-progress-bar{background:#ece9f3}progress::-webkit-progress-value{background:#b4a5dc}progress::-moz-progress-bar{background:#b4a5dc}.winner progress::-webkit-progress-value{background:var(--accent)}.winner progress::-moz-progress-bar{background:var(--accent)}.result-meta{padding:16px 24px;color:var(--muted);font:14px/1.8 var(--mono);overflow-wrap:anywhere}@media(max-width:1456px){.workspace{margin-left:28px;margin-right:28px}}@media(max-width:720px){.topbar{padding:20px 16px}.workspace{grid-template-columns:1fr;margin:0 16px 16px}.editor{padding:18px}.output-panel{border-left:0;border-top:1px solid var(--line)}.output-top,.answer-card{padding:18px}.connection{font-size:14px}h1{font-size:22px}h1 span{font-size:14px}.run-bar p{font-size:13px}#results,#request,#response{min-height:260px}.empty-state{padding:90px 20px}}

.preset-row{align-items:center}.preset-row .field-label{margin:0 7px 0 0}#presetSelect{flex:1;min-width:0;border:1px solid var(--line);border-radius:5px;background:#fff;padding:9px 11px;color:inherit;font-size:16px}
.image-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px}.image-controls .field-label{width:100%;margin:0}.image-controls input{font-size:15px;max-width:100%;min-width:0;flex:1}.image-info{font-size:14px;color:var(--muted);line-height:1.6;margin:8px 0}.image-info:empty{display:none}.image-preview{display:block;max-width:100%;max-height:240px;object-fit:contain;margin-top:10px;border:1px solid var(--line);border-radius:4px}.box-canvas{display:block;width:100%;height:auto;margin-top:14px;border-radius:4px}.box-coordinates{font:14px/1.8 var(--mono);color:var(--muted)}.type-label.box{color:#315e9b;background:#eef3fa}

.question-fields input,.question-fields textarea,.question-fields select{font-size:16px}.question-name,.answer-header h3{overflow-wrap:anywhere}.question-card summary{padding:15px 12px}.primary-button{padding:13px 28px}.threshold-control{display:grid;grid-template-columns:1fr auto;gap:10px 14px;align-items:center;border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.threshold-label{font-size:15px;color:var(--muted)}.threshold-value{font:15px var(--mono);color:inherit}.threshold-control input[type=range]{width:100%;margin:0;accent-color:var(--accent);min-height:28px;cursor:pointer}.threshold-decision{font:13px var(--mono);padding:7px 9px;border-radius:4px;white-space:nowrap}.threshold-decision.passed{background:#edf6ef;color:#286b45}.threshold-decision.below{background:#fff3e7;color:#8b5a22}@media(max-width:420px){.topbar{align-items:flex-start;flex-direction:column}.distribution-row{grid-template-columns:minmax(65px,1fr) 1fr 60px}.field-pair{grid-template-columns:1fr}.output-tabs{gap:20px}.threshold-label{font-size:14px}}
