*{box-sizing:border-box}html,body{color:#1f2328;background:#f6f8fa;height:100%;margin:0;font-family:system-ui,-apple-system,sans-serif}body{flex-direction:column;display:flex}header{background:#fff;border-bottom:1px solid #d0d7de;flex:none;align-items:center;gap:16px;padding:12px 20px;display:flex}header h1{margin:0;font-size:16px;font-weight:600}.status{border-radius:10px;padding:2px 8px;font-family:ui-monospace,monospace;font-size:12px}.status-loading{color:#6b5b00;background:#fff8c5}.status-ready{color:#1a7f37;background:#dafbe1}.status-error{color:#cf222e;background:#ffebe9}.status-muted{color:#656d76;background:#eaeef2}.header-btn{color:#1f2328;cursor:pointer;background:#f6f8fa;border:1px solid #1f232826;border-radius:6px;margin-left:auto;padding:4px 12px;font-size:12px}.header-btn:hover:not(:disabled){background:#eaeef2}.header-btn:disabled{color:#8c959f;cursor:not-allowed}.header-btn+.header-btn{margin-left:0}.gh-dialog{color:#1f2328;border:1px solid #d0d7de;border-radius:12px;width:min(440px,100vw - 32px);padding:0;box-shadow:0 8px 24px #8c959f33}.gh-dialog::backdrop{background:#1f232866}.gh-dialog-head{border-bottom:1px solid #d0d7de;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.gh-dialog-head h2{margin:0;font-size:14px;font-weight:600}.gh-close{cursor:pointer;color:#656d76;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:14px}.gh-close:hover{color:#1f2328;background:#f6f8fa}#github-dialog-body{padding:16px;font-size:13px}.gh-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.gh-avatar{border:1px solid #d0d7de;border-radius:50%;width:32px;height:32px}.gh-user{font-weight:600}.gh-muted{color:#656d76}.gh-field{margin-bottom:12px;display:block}.gh-field span{color:#656d76;margin-bottom:4px;font-size:12px;display:block}.gh-field input{width:100%;font:inherit;box-sizing:border-box;border:1px solid #d0d7de;border-radius:6px;padding:6px 8px}.gh-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.gh-btn{cursor:pointer;color:#1f2328;background:#f6f8fa;border:1px solid #1f232826;border-radius:6px;padding:6px 12px;font-size:13px}.gh-btn:hover:not(:disabled){background:#eaeef2}.gh-btn:disabled{color:#8c959f;cursor:not-allowed}.gh-btn-primary{color:#fff;background:#1f883d;border-color:#1f232826}.gh-btn-primary:hover:not(:disabled){background:#1a7f37}.gh-note{margin-top:12px;font-size:12px}.gh-note.gh-error{color:#cf222e}.gh-note.gh-ok{color:#1a7f37}.gh-note code{background:#eff1f3;border-radius:4px;padding:1px 4px}main.cols{background:#d0d7de;flex:1;gap:1px;min-height:0;display:flex}.column{background:#d0d7de;flex-direction:column;flex:1;gap:1px;min-width:0;min-height:0;display:flex}.panel{background:#fff;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.panel.collapsed{flex:none}.panel.collapsed .editor,.panel.collapsed .results{display:none}.panel-header{border-bottom:1px solid #d0d7de;flex:none;align-items:center;gap:12px;padding:8px 12px;display:flex}.panel.collapsed .panel-header{border-bottom:none}.panel-header h2{margin:0;font-size:13px;font-weight:600}.hint{color:#656d76;font-size:12px}.panel-header .collapser{color:#656d76;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;margin:0;padding:4px;font-size:12px;line-height:1;transition:transform .12s;display:inline-flex}.panel-header .collapser:hover{color:#1f2328;background:#f6f8fa}.panel.collapsed .panel-header .collapser{transform:rotate(-90deg)}.panel-header>button:not(.collapser){color:#fff;cursor:pointer;background:#1f883d;border:1px solid #1f232826;border-radius:6px;margin-left:auto;padding:4px 12px;font-size:12px}.panel-header>button:not(.collapser):disabled{cursor:not-allowed;background:#94d3a2}.editor{flex:1;min-height:0;overflow:auto}.cm-editor{height:100%;font-size:13px}.cm-editor.cm-focused{outline:none}.results{white-space:pre-wrap;background:#f6f8fa;flex:1;min-height:0;margin:0;padding:12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;overflow:auto}.results .test-pass{color:#1a7f37}.results .test-fail{color:#cf222e}.results .test-name{font-weight:600}.results .assertion-line{margin-left:12px}
