*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:#f4f5f7;color:#1f2933}
.labbar{background:#060b16;color:#8b949e;font:13px/1 ui-monospace,Menlo,monospace;padding:10px 20px;display:flex;justify-content:space-between}
.labbar a{color:#f15a22;text-decoration:none}
.app-header{background:var(--brand,#2563eb);color:#fff;padding:18px 32px;display:flex;align-items:center;gap:12px}
.app-header h1{margin:0;font-size:22px}
.app-header nav{margin-left:auto;display:flex;gap:18px}
.app-header nav a{color:#fff;opacity:.85;text-decoration:none;font-size:14px}
.wrap{max-width:900px;margin:32px auto;padding:0 20px}
.narrow{max-width:460px}
.panel{background:#fff;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.08);padding:24px;margin-bottom:20px}
.panel h2{margin-top:0}
label{display:block;font-size:14px;font-weight:600;margin:12px 0 6px}
input[type=text],input[type=password],textarea{width:100%;padding:10px 12px;border:1px solid #cbd2d9;border-radius:6px;font-size:15px;font-family:inherit}
button,.btn{background:var(--brand,#2563eb);color:#fff;border:0;border-radius:6px;padding:10px 18px;font-size:15px;cursor:pointer;margin-top:14px;text-decoration:none;display:inline-block}
button.secondary{background:#9aa5b1}
.error{background:#fde8e8;color:#9b1c1c;padding:10px 14px;border-radius:6px;margin-top:14px}
.success{background:#def7ec;color:#03543f;padding:10px 14px;border-radius:6px;margin-top:14px}
.flag{font:600 16px ui-monospace,Menlo,monospace;background:#0d1117;color:#39ff88;padding:12px 16px;border-radius:6px;margin-top:12px;display:inline-block}
.debug{font:13px ui-monospace,Menlo,monospace;background:#1f2933;color:#e4e7eb;padding:12px 14px;border-radius:6px;margin-top:16px;white-space:pre-wrap;word-break:break-all}
.debug b{color:#fbbf24}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:10px;border-bottom:1px solid #e4e7eb;font-size:14px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.product{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.muted{color:#7b8794;font-size:14px}
pre.term{background:#0d1117;color:#c9d1d9;padding:16px;border-radius:8px;font:13px/1.5 ui-monospace,Menlo,monospace;white-space:pre-wrap;word-break:break-all;min-height:80px;margin:0}
.entry{border-bottom:1px solid #e4e7eb;padding:12px 0}
.entry strong{color:var(--brand)}
.hidden{display:none}
#xss-win{position:fixed;left:50%;top:20px;transform:translateX(-50%);background:#0d1117;color:#39ff88;border:2px solid #39ff88;padding:16px 22px;border-radius:8px;font:600 15px ui-monospace,Menlo,monospace;z-index:99999;box-shadow:0 0 30px rgba(57,255,136,.4)}
