:root{--bg:#f4f4ef;--bg-accent:#e8e5d8;--ink:#1e1f1b;--muted:#4f5147;--card:#ffffff;--line:#d6d2c1;--primary:#116466}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:IBM Plex Sans,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 0,var(--bg-accent),transparent 40%),linear-gradient(135deg,var(--bg),#faf9f5 60%);min-height:100%}.page{min-height:100vh;max-width:980px;margin:0 auto;padding:32px 20px 60px}.panel{margin-top:20px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 8px 20px rgba(30,31,27,.06)}.panel h2{margin:0 0 12px}label{display:block;margin:8px 0 6px;font-size:.88rem;color:var(--muted)}.input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;background:#fff}.mono{font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:.85rem}button{margin-top:12px;border:1px solid transparent;border-radius:10px;background:var(--primary);color:#fff;padding:10px 14px;font:inherit;cursor:pointer}button[disabled]{opacity:.5;cursor:not-allowed}.actions-row{display:flex;gap:10px}.status-line{margin:12px 0 0;color:var(--muted);font-size:.95rem}.hero h1{margin:6px 0 10px;font-size:clamp(2rem,6vw,3.4rem);letter-spacing:-.03em}.badge{display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--primary);background:rgba(17,100,102,.12);border:1px solid rgba(17,100,102,.25);border-radius:999px;padding:6px 10px}.subtitle{max-width:680px;color:var(--muted);line-height:1.45}.grid{margin-top:24px;display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.controls-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 8px 20px rgba(30,31,27,.06)}.card h2{margin:0 0 8px;font-size:1.1rem}.card p{margin:0;color:var(--muted)}.control-card h2{margin-bottom:8px}.danger-card{border-color:#c93c2f;background:linear-gradient(180deg,#fff9f7,#fff)}.danger{background:#b42d21}.err,.ok{margin-top:10px;border-radius:8px;padding:10px;font-size:.9rem}.ok{background:#e9f8f0;color:#0e5f3f}.err{background:#fdebea;color:#8a2118}@media (max-width:640px){.page{padding:20px 14px 48px}button{width:100%}}