:root{
  --ink:#1a1813;
  --muted:#6b6553;
  --line:#e7e0cf;
  --paper:#f7f3ea;
  --card:#fffdf8;
  --accent:#c8442f;
  --accent-2:#9e2e24;
  --ok:#2f7d4f;
  --shadow:0 18px 40px -22px rgba(60,30,20,.45);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  background:
    radial-gradient(1100px 600px at 80% -10%, #fbe9e2 0%, rgba(251,233,226,0) 60%),
    radial-gradient(900px 500px at -10% 110%, #f1e7d4 0%, rgba(241,231,212,0) 55%),
    var(--paper);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh;
}
.topbar{
  display:flex;align-items:center;gap:12px;
  padding:18px 26px;border-bottom:1px solid var(--line);
}
.logo{
  width:38px;height:38px;border-radius:11px;flex:0 0 auto;
  background:linear-gradient(160deg,#d45438,#9e2e24);
  color:#fff8f0;font-weight:800;font-size:22px;
  display:flex;align-items:center;justify-content:center;
  font-family:Georgia,"Times New Roman",serif;
  box-shadow:inset 0 2px 6px rgba(255,255,255,.25);
}
.brand{font-weight:700;letter-spacing:-.01em;font-size:18px}
.spacer{flex:1}
.wrap{flex:1;width:100%;max-width:680px;margin:0 auto;padding:48px 24px 80px}
.center{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}
h1{
  font-family:Georgia,"Iowan Old Style",Palatino,serif;
  font-size:clamp(30px,6vw,44px);line-height:1.05;letter-spacing:-.02em;margin:18px 0 10px;
}
.lede{color:var(--muted);font-size:18px;max-width:440px;margin:0 auto 30px}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:26px;box-shadow:var(--shadow);
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(160deg,#d45438,#a8311f);color:#fff;
  border:none;border-radius:12px;padding:15px 26px;font-size:16px;font-weight:600;
  cursor:pointer;text-decoration:none;transition:transform .08s ease,filter .15s ease;
  box-shadow:0 10px 22px -12px rgba(168,49,31,.8);
}
.btn:hover{filter:brightness(1.05)}
.btn:active{transform:translateY(1px)}
.btn.full{width:100%}
.btn.ghost{background:none;color:var(--accent);box-shadow:none;border:1px solid var(--line)}
.account{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--line);background:#eee}
.account .name{font-weight:700;font-size:17px}
.account .sub{color:var(--muted);font-size:13px}
.field{margin:18px 0}
.field label{display:block;font-weight:600;font-size:14px;margin-bottom:7px}
.field input[type=file],.field textarea,.field select{
  width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 13px;
  font-size:15px;background:#fff;font-family:inherit;color:var(--ink);
}
.field textarea{min-height:84px;resize:vertical}
.hint{color:var(--muted);font-size:12.5px;margin-top:6px}
.notice{
  border-radius:12px;padding:13px 15px;font-size:14px;margin:6px 0 20px;
  background:#fdf3e7;border:1px solid #f0d9bd;color:#8a5a1d;
}
.result{margin-top:22px;border-radius:12px;padding:16px;border:1px solid var(--line);background:#fff}
.result.ok{border-color:#bfe2cb;background:#f1fbf4}
.result.err{border-color:#f0c4bc;background:#fdf2f0}
.result h3{margin:0 0 8px;font-size:15px}
.result code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;color:var(--muted);word-break:break-all}
.foot{color:var(--muted);font-size:13px;text-align:center;padding:24px}
.foot a{color:var(--accent)}
