:root {
  --sumi:#1f1a17;            /* inchiostro */
  --grigio:#7a6f63;
  --bordo:#e3dac6;
  --washi:#f6f1e6;           /* carta */
  --carta:#fffdf6;
  --vermiglio:#c73e2e;       /* accento */
  --vermiglio-scuro:#a92f21;
}
* { box-sizing:border-box; margin:0; }
body {
  font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',-apple-system,'Segoe UI',sans-serif;
  background:var(--washi);
  background-image:radial-gradient(circle at 1px 1px, rgba(31,26,23,.045) 1px, transparent 0);
  background-size:22px 22px;
  color:var(--sumi);
}
header {
  padding:16px 28px; background:var(--carta);
  border-bottom:3px solid var(--vermiglio);
  display:flex; align-items:center; gap:14px;
}
.hanko {
  width:38px; height:38px; background:var(--vermiglio); color:#fff;
  display:flex; align-items:center; justify-content:center;
  border-radius:7px; font-size:20px; font-weight:700;
  font-family:'Hiragino Mincho ProN','Yu Mincho',serif;
  box-shadow:1px 2px 0 var(--vermiglio-scuro);
}
header h1 { font-size:21px; letter-spacing:.06em; }
header h1 a { color:var(--sumi); text-decoration:none; }
header span { color:var(--grigio); font-size:13px; }
main { max-width:1200px; margin:26px auto; padding:0 20px; }
.split { display:grid; grid-template-columns:minmax(280px,1fr) minmax(320px,1.2fr); gap:24px; }
@media (max-width:820px) { .split { grid-template-columns:1fr; } }
.card {
  background:var(--carta); border:1px solid var(--bordo); border-radius:4px;
  padding:22px; box-shadow:0 1px 3px rgba(31,26,23,.06);
  position:relative;
}
.card::before {
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--vermiglio) 0 42px, transparent 42px);
}
.card img { max-width:100%; border-radius:3px; border:1px solid var(--bordo); }
label { font-size:13px; color:var(--grigio); display:block; margin:16px 0 5px; letter-spacing:.03em; }
textarea, input[type=file] {
  width:100%; font:inherit; padding:10px; border:1px solid var(--bordo);
  border-radius:3px; background:#fff;
}
textarea { resize:vertical; min-height:64px; }
textarea:focus, input:focus { outline:2px solid rgba(199,62,46,.35); }
button {
  margin-top:16px; padding:10px 26px; font:inherit; font-weight:600; color:#fff;
  background:var(--vermiglio); border:0; border-radius:3px; cursor:pointer;
  letter-spacing:.08em; box-shadow:1px 2px 0 var(--vermiglio-scuro);
}
button:hover { background:var(--vermiglio-scuro); }
button:disabled { opacity:.5; cursor:wait; }
.trad { line-height:1.6; font-size:15px; }
.trad hr { border:0; border-top:1px dashed var(--bordo); margin:10px 0; }
.capito {
  color:var(--grigio); font-size:13px; margin-bottom:12px;
  padding:8px 10px; background:var(--washi); border-left:3px solid var(--vermiglio);
}
.versioni { margin-bottom:14px; font-size:13px; }
.versioni a, .versioni b {
  display:inline-block; margin-right:6px; padding:2px 10px;
  border:1px solid var(--bordo); border-radius:999px; text-decoration:none;
}
.versioni a { color:var(--vermiglio); }
.versioni b { background:var(--vermiglio); border-color:var(--vermiglio); color:#fff; }
#stato { margin-top:12px; color:var(--grigio); font-size:14px; min-height:20px; }
footer { text-align:center; color:var(--grigio); font-size:12px; padding:28px; }
footer a { color:var(--grigio); }
.linkbox { font-size:13px; color:var(--grigio); margin-top:10px; word-break:break-all; }
