.wrap.narrow{max-width:760px}
form{display:flex;flex-direction:column;gap:18px}
.fld{display:block;margin:0 0 12px;font-weight:600;color:#fff}
.fld small{display:block;font-weight:400;color:var(--mute);font-size:13px}
.fld input,.cname,.xnote{display:block;width:100%;margin-top:6px;font:inherit;font-size:16px;color:#fff;background:#07131F;border:1px solid var(--line);border-radius:10px;padding:11px 12px}
.fld input:focus,.cname:focus,.xnote:focus{outline:2px solid var(--gold2);outline-offset:1px}
.btn{font:inherit;font-weight:800;font-size:17px;color:#07131F;background:linear-gradient(180deg,#E8D99A,#C9A227);border:1px solid #C9A227;border-radius:12px;padding:13px 22px;cursor:pointer;width:100%;min-height:50px}
.btn:disabled{opacity:.55;cursor:default}
.btn.ghost{background:transparent;color:var(--gold2);margin-top:6px}
.err{color:var(--err);margin:4px 0 10px;min-height:0}
.err:empty{display:none}
.ok{color:var(--ok);font-weight:600;margin-top:12px}
.hint{color:var(--mute);font-size:14.5px}
.policy ul{margin:0;padding-left:20px;color:var(--mute)}
.policy li{margin:4px 0}.policy b{color:var(--gold2)}
.cardbox{border:1px solid var(--line);border-radius:12px;padding:12px;margin:0 0 14px;background:rgba(7,19,31,.45)}
.cardhead{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.cardhead b{color:var(--gold);white-space:nowrap}
.cardhead .cname{margin:0;flex:1}
.rm{background:none;border:0;color:var(--mute);font-size:22px;cursor:pointer;padding:4px 8px}
.grp{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold2);font-weight:700;margin:12px 0 6px}
.grp em{font-style:normal;color:var(--mute);text-transform:none;letter-spacing:0;font-weight:400}
.slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media(min-width:560px){.slots{grid-template-columns:repeat(4,minmax(0,1fr))}}
.slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:112px;border:1.5px dashed var(--line);border-radius:10px;cursor:pointer;text-align:center;padding:8px;font-size:13.5px;color:#fff;overflow:hidden;background:rgba(16,42,69,.4)}
.slot.req{border-color:var(--gold)}
.slot.has{border-style:solid;border-color:var(--ok)}
.slot.flag{border:2px solid var(--err)}
.slot input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.slot img{width:100%;height:72px;object-fit:cover;border-radius:6px}
.slot small{color:var(--mute);font-size:11.5px}
.slot .why{color:var(--err)}
.xnote{font-size:14px;padding:7px 9px;margin-top:4px}
.prog{margin-top:14px}
.bar{height:12px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid var(--line)}
.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#C9A227,#E8D99A);transition:width .2s}
.foot{text-align:center;color:var(--mute);margin-top:24px}
