:root{
  --bg:#f5f1e8; --paper:#fffdf7; --ink:#242424; --muted:#6a675f; --line:#d8d0bf;
  --blue:#dbeafe; --green:#dcfce7; --amber:#fef3c7; --rose:#ffe4e6; --violet:#ede9fe;
  --primary:#1f4e79; --danger:#9f1239; --ok:#166534; --dark:#1f2937;
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif}
.hero{display:flex;justify-content:space-between;gap:32px;max-width:1320px;margin:28px auto 14px;padding:0 24px 22px;border-bottom:3px solid #222}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#69665e;font-size:12px;margin:0 0 8px}.hero h1{font-size:34px;margin:0 0 8px}.subtitle{max-width:850px;color:#56534d;margin:0}.hero-card{min-width:310px;border:1.5px solid #333;background:#faf8ef;padding:12px 18px;align-self:start}.hero-card div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:5px 0;gap:18px}.hero-card div:last-child{border:0}.hero-card span{color:#666;text-align:right}
.tabs{max-width:1320px;margin:0 auto;padding:0 24px 12px;display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.tab{border:1px solid var(--line);background:#eee8dc;color:#6b655c;border-radius:4px;padding:8px 13px;cursor:pointer}.tab.active{background:#222;color:#fff;border-color:#222}
main{max-width:1320px;margin:16px auto 60px;padding:0 24px}.panel{display:none}.panel.active{display:block}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}.workgrid{align-items:start}.stack{display:flex;flex-direction:column;gap:16px}.card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:16px;box-shadow:0 1px 0 rgba(0,0,0,.03)}.compact{padding:14px}.card h2{font-size:22px;margin:0 0 12px}.card h3{font-size:17px;margin:0 0 8px}.card p{color:#555;margin-top:0}.card-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.badge{background:#111;color:#fff;border-radius:99px;padding:4px 10px;font-size:12px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid.single{grid-template-columns:1fr}label{display:block;color:#4a4740;font-weight:600;margin:10px 0 6px}input,select,textarea{width:100%;border:1px solid #cfc7b9;background:#fffef9;border-radius:4px;padding:9px;font:inherit;color:#1f1f1f}textarea{min-height:90px;resize:vertical}.button-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.button-row.tight{margin-top:8px}.btn{border:1px solid #aaa;background:#f2eee5;border-radius:5px;padding:8px 12px;cursor:pointer;font-weight:650}.btn.primary{background:#1f4e79;color:#fff;border-color:#1f4e79}.btn.secondary{background:#eef2ff;color:#29335c;border-color:#b8c0f5}.btn.dark{background:#111827;color:#fff;border-color:#111827}.btn.danger{background:#fff1f2;color:#9f1239;border-color:#fda4af}.btn.ghost{background:#fff;color:#333}.file-label input{display:none}
.list-cards,.loop-grid{display:grid;gap:10px}.loop-grid{grid-template-columns:repeat(3,1fr)}.item,.loop,.layer,.rule,.memory,.skill,.kbdoc,.diff{border:1px solid var(--line);background:#fffaf0;border-radius:7px;padding:12px}.loop:nth-child(1){background:var(--blue)}.loop:nth-child(2){background:var(--green)}.loop:nth-child(3){background:var(--amber)}.item b,.loop b,.layer b,.rule b{display:block;margin-bottom:4px}.muted{color:var(--muted)}.callout{border-left:5px solid #888;padding:12px 14px;border-radius:6px;margin:10px 0;background:#f7f7f7}.callout.blue{background:var(--blue);border-color:#2563eb}.callout.green{background:var(--green);border-color:#16a34a}.callout.amber{background:var(--amber);border-color:#d97706}.callout.rose{background:var(--rose);border-color:#e11d48}
.layer-stack{display:flex;flex-direction:column;gap:10px}.layer{display:grid;grid-template-columns:190px 1fr 1fr;gap:12px;align-items:start}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px}.output-box{white-space:pre-wrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;min-height:180px;padding:12px}.gate-list{display:grid;gap:7px}.gate{display:flex;justify-content:space-between;border:1px solid var(--line);padding:8px;border-radius:6px;background:#fff}.gate.pass span{color:var(--ok);font-weight:700}.gate.fail span{color:var(--danger);font-weight:700}.code{background:#0f172a;color:#e5e7eb;border-radius:7px;padding:14px;overflow:auto;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid var(--line);padding:9px;text-align:left;vertical-align:top}th{background:#e7e1d4}.pill{display:inline-block;border-radius:99px;padding:2px 8px;font-size:12px;background:#e2e8f0;margin:2px}.pill.ok{background:#dcfce7;color:#166534}.pill.warn{background:#fef3c7;color:#92400e}.pill.bad{background:#ffe4e6;color:#9f1239}.footer{max-width:1320px;margin:0 auto 40px;padding:20px 24px;border-top:1px solid var(--line);color:#777}.small{font-size:12px}.actions-inline{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.section-title{font-weight:800;margin:12px 0 4px}.scorebar{height:8px;background:#e5e7eb;border-radius:99px;overflow:hidden}.scorebar i{display:block;height:100%;background:#1f4e79}.jsonline{white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}
@media (max-width: 880px){.hero,.grid.two,.loop-grid{grid-template-columns:1fr;display:block}.hero{display:block}.hero-card{margin-top:16px}.form-grid{grid-template-columns:1fr}.layer{grid-template-columns:1fr}.tabs{position:sticky;top:0;background:var(--bg);z-index:5}}
