.signdex-intro { display:flex; align-items:center; gap:18px; padding:20px; background:#e8dfee; }
.signdex-intro strong { font:27px var(--game); }
.signdex-intro p { margin:6px 0 0; font-size:13px; }
.signdex-book-icon { font:54px var(--game); width:64px; flex:0 0 64px; text-align:center; border:3px double var(--ink); background:var(--paper); }
.signdex-notice { padding:13px 16px; border-left:4px solid var(--plum-deep); background:#e8e1ed; font-size:13px; margin:20px 0; }
.signdex-workshop { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:22px; align-items:start; }
#signdex-form { padding:22px; min-width:0; }
#signdex-form .box-caption { gap:12px; }
.form-guidance { font-size:12px; line-height:1.65; }
.signature-field { margin:17px 0; }
.signature-field label { display:block; font-size:13px; font-weight:600; margin-bottom:7px; }
.signature-field label span { color:var(--muted); font-size:11px; font-weight:400; }
.signature-field input,.signature-field select,.signature-field textarea { display:block; width:100%; min-width:0; padding:10px; border:2px solid #6e6577; border-radius:0; background:#fffefb; font:14px/1.5 var(--body); color:var(--ink); }
.signature-field textarea { resize:vertical; }
.signature-field [aria-invalid=true],.signature-consent input[aria-invalid=true] { border-color:#a63449; outline:1px solid #a63449; }
.signature-field small { display:block; margin-top:5px; font-size:11px; color:var(--muted); }
.field-error { display:block; color:#9b2941; font-size:12px; line-height:1.5; }
.field-error:not(:empty) { margin-top:6px; }
#signdex-form fieldset { min-width:0; border:0; border-top:2px dashed #bdafc8; padding:8px 0 0; margin:28px 0 0; }
#signdex-form legend { padding:0 8px 0 0; font:17px var(--game); }
#signdex-form legend span { margin-left:6px; color:var(--muted); }
.signature-consent { display:flex; align-items:flex-start; gap:10px; }
.signature-consent input { width:18px; height:18px; flex:0 0 18px; accent-color:var(--plum-deep); margin-top:3px; }
.signature-consent label { font-size:12px; }
.signature-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#signature-submit { width:100%; }
#signature-submit:disabled { opacity:.6; }
#signature-result { font-size:13px; color:var(--plum-deep); margin:12px 0 0; overflow-wrap:anywhere; }
.signature-preview-area { position:sticky; top:24px; min-width:0; }
.signature-card { --signature-paper:#e4ddef; --signature-ink:#624a82; --signature-tilt:0deg; border:2px solid var(--ink); background:var(--paper); box-shadow:5px 5px 0 #302b3b25; min-width:0; overflow:hidden; }
.signature-card-top { padding:10px 14px; display:flex; justify-content:space-between; gap:12px; background:var(--signature-paper); border-bottom:2px solid var(--ink); color:var(--signature-ink); font:16px var(--game); }
.signature-card-art { background-color:var(--signature-paper); padding:24px 18px; display:flex; justify-content:center; align-items:center; gap:20px; position:relative; border-bottom:2px solid var(--ink); }
.signature-pattern-0 .signature-card-art { background-image:repeating-linear-gradient(45deg,transparent 0 10px,#ffffff48 10px 12px); }
.signature-pattern-1 .signature-card-art { background-image:radial-gradient(#ffffffa0 2px,transparent 2px); background-size:12px 12px; }
.signature-pattern-2 .signature-card-art { background-image:linear-gradient(#ffffff60 1px,transparent 1px),linear-gradient(90deg,#ffffff60 1px,transparent 1px); background-size:12px 12px; }
.signature-seal { display:grid; grid-template-columns:repeat(7,7px); grid-template-rows:repeat(7,7px); padding:7px; border:2px solid var(--signature-ink); background:var(--paper); rotate:var(--signature-tilt); box-shadow:3px 3px 0 var(--signature-ink); }
.signature-seal i { width:7px; height:7px; }
.signature-seal i.filled { background:var(--signature-ink); }
.signature-partner { min-width:0; max-width:65%; color:var(--signature-ink); }
.signature-partner strong { font:29px/1.1 var(--game); display:block; overflow-wrap:anywhere; }
.signature-partner span { font:16px var(--game); display:block; margin-top:6px; }
.signature-card-body { padding:20px; }
.signature-name { font:italic 30px/1.3 Georgia,serif; color:var(--ink); overflow-wrap:anywhere; margin:0 0 5px; }
.signature-title { font:19px var(--game); color:var(--signature-ink); margin-bottom:16px; }
.signature-bio { font-size:12px; margin:4px 0; overflow-wrap:anywhere; }
.signature-favorites { padding-top:12px; margin:12px 0 0; border-top:1px dashed #a99daf; }
.signature-favorites dt { font:15px var(--game); color:var(--muted); margin-top:10px; }
.signature-favorites dd { margin:3px 0 0; font-size:12px; overflow-wrap:anywhere; }
.signature-message { font-size:13px; line-height:1.6; margin:18px 0 0; padding:12px; border:1px solid #b7a8be; background:var(--signature-paper); color:var(--ink); overflow-wrap:anywhere; }
.signature-card-bottom { padding:10px 14px; border-top:2px solid var(--ink); font:13px var(--game); color:var(--muted); overflow-wrap:anywhere; }
.signature-card-bottom time { display:block; margin-bottom:4px; }
.signature-book { margin-top:40px; padding-top:24px; border-top:3px double var(--ink); }
.signature-book-heading { display:flex; gap:16px; justify-content:space-between; align-items:center; }
.signature-book-heading h3 { font:29px var(--game); margin-bottom:0; }
.signature-book-heading .eyebrow { margin-bottom:5px; }
.signature-book-heading button { flex-shrink:0; }
#signature-book-status { font-size:13px; margin:18px 0; }
.signature-entries { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
#signature-more { margin-top:24px; }
@media(max-width:1100px) {
  .signdex-workshop { grid-template-columns:1fr; }
  .signature-preview-area { position:static; max-width:460px; width:100%; }
}
@media(max-width:700px) {
  .signdex-intro { padding:16px; gap:12px; }
  .signdex-book-icon { width:46px; flex-basis:46px; font-size:40px; }
  #signdex-form { padding:18px; }
  .signature-field input,.signature-field select,.signature-field textarea { font-size:16px; }
  .signature-entries { grid-template-columns:1fr; }
  .signature-book-heading { align-items:flex-start; flex-direction:column; }
  .game-menu [data-route=signdex] { grid-column:1/-1; border-top:1px dashed #b4a1c5; }
}
