:root{--bg:#f4efe6;--ink:#1c1915;--muted:#6b6358;--card:#fffdf8;--line:#e4d9c8;--accent:#c45c26;--accent-2:#2f6f5e;--danger:#b42318;--ok:#1f7a4c;--shadow:0 18px 50px rgba(60,40,20,0.08);--radius:18px;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,#ffe7c8 0,transparent 55%),radial-gradient(900px 500px at 100% 0,#d9efe6 0,transparent 50%),var(--bg)}a{color:var(--accent-2)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 14px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{background:#fff5f4;border-color:#f0c2bc;color:var(--danger)}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff}.shell{width:min(980px,calc(100% - 32px));margin:40px auto 64px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.hero h1{margin:0 0 8px;font-size:28px;letter-spacing:.02em}.muted{color:var(--muted)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.stack{display:grid;grid-gap:12px;gap:12px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid var(--line)}.badge.ok{background:#eaf7ef;color:var(--ok);border-color:#bfe5cd}.badge.bad{background:#fff1ef;color:var(--danger);border-color:#f0c2bc}.badge.warn{background:#fff7e8;color:#9a6700;border-color:#efd7a0}.table{width:100%;border-collapse:collapse;font-size:14px}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.nav{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;align-items:center}.result{margin-top:16px;padding:16px;border-radius:14px;background:#f8f4ec;border:1px solid var(--line)}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}@media (max-width:720px){.grid2{grid-template-columns:1fr}.shell{margin-top:20px}}