:root{--ac:#C8102E;--ink:#111418;--ink2:#3A414B;--mut:#6B7280;--line:#E3E5E8;--bg:#F6F6F4;--panel:#fff;--okb:#E8F5EC;--ok:#166534;--errb:#FCEAEA;--err:#991B1B}
@media (prefers-color-scheme:dark){:root{--ink:#ECEEF1;--ink2:#C9CED6;--mut:#9AA3AE;--line:#2A3038;--bg:#0E1114;--panel:#161A1F;--okb:#0F2A1A;--ok:#7EE2A0;--errb:#331616;--err:#FCA5A5}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--ac)}
.wrap{max-width:860px;margin:0 auto;padding:0 16px}
.top{background:#0B0D10;color:#fff;border-bottom:3px solid var(--ac)}
.brand img{display:block;height:38px;width:auto;max-width:min(240px,55vw)}
.top.light{background:#fff;color:#111418;box-shadow:0 1px 0 #E3E5E8}
.top.light .brand{color:#111418}.top.light .tag{border-color:#D5D8DD;color:#4B5563}
.top.light nav a{color:#3A414B}.top.light nav a:hover{color:var(--ac)}
.top .wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.brand{color:#fff;text-decoration:none;font-weight:800;font-size:1.15rem;letter-spacing:-.01em}
.tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:2px 10px;color:#E5E7EB}
.top nav{margin-left:auto;display:flex;gap:18px}.top nav a{color:#D1D5DB;text-decoration:none;font-size:.92rem}.top nav a:hover{color:#fff}
main.wrap{padding-top:28px;padding-bottom:40px}
h1{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.15;letter-spacing:-.02em;margin:0 0 10px}
.lead{font-size:1.06rem;color:var(--ink2);margin:0 0 14px}
.safe{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px}
.safe li{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--ac);border-radius:10px;padding:10px 14px;font-size:.94rem;color:var(--ink2)}
.safe b{color:var(--ink)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}
.card.narrow{max-width:460px;margin:0 auto}
label{display:block;font-weight:600;font-size:.92rem;margin:0 0 14px}
label em{font-style:normal;font-weight:500;color:var(--ac);font-size:.78rem;margin-left:4px}
input,select,textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font:inherit;font-weight:400}
input[type=file]{padding:9px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ac);outline-offset:1px;border-color:transparent}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--ink2)}.chk input{width:auto;margin-top:5px;flex:none}
details{margin:0 0 14px;border:1px dashed var(--line);border-radius:10px;padding:10px 14px}details summary{cursor:pointer;font-weight:600;font-size:.92rem}details label{margin-top:10px}
button{appearance:none;border:0;border-radius:10px;background:var(--ac);color:#fff;font:inherit;font-weight:700;padding:12px 22px;cursor:pointer;min-height:46px}
button.ghost{background:transparent;color:var(--ac);border:1px solid var(--ac);min-height:40px;padding:8px 16px}
.mut{color:var(--mut);font-weight:400}.small{font-size:.84rem}
.count{display:block;text-align:right;color:var(--mut);font-weight:400;font-size:.78rem;margin-top:4px}
.note{padding:10px 14px;border-radius:10px;margin:0 0 16px}.note.err{background:var(--errb);color:var(--err)}.note.ok{background:var(--okb);color:var(--ok)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.creds{display:grid;gap:10px;margin:16px 0}.creds div{border:2px solid var(--ac);border-radius:12px;padding:12px 16px}
.creds span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}
.creds b{font:700 clamp(1.05rem,4.4vw,1.5rem)/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em;word-break:break-all}
.boxhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.boxhead h1{margin:0}
.st{font-size:.8rem;font-weight:700;border-radius:999px;padding:4px 12px;background:var(--bg);border:1px solid var(--line)}.st-q{background:var(--ac);color:#fff;border-color:var(--ac)}.st-c{color:var(--mut)}
.thread{margin:18px 0;display:grid;gap:10px}
.msg{border:1px solid var(--line);border-radius:12px;padding:12px 14px}.msg p{margin:4px 0 0}.msg .who{font-size:.78rem;color:var(--mut);font-weight:600}
.msg-ed{border-left:3px solid var(--ac)}.msg-me{background:var(--bg)}
.reply{border-top:1px solid var(--line);padding-top:16px}
.foot{border-top:1px solid var(--line);color:var(--mut);font-size:.8rem;padding:20px 0 30px}
@media (max-width:640px){.g2{grid-template-columns:1fr}.card{padding:16px}.top nav{margin-left:0;width:100%}}

label.bad input,label.bad select,label.bad textarea{border-color:var(--err);outline:2px solid var(--err);outline-offset:1px}
.fielderr{display:block;color:var(--err);font-weight:600;font-size:.84rem;margin-top:6px}
.count.short{color:var(--err);font-weight:600}
#w42-invalid{margin-bottom:14px}
.rw{border-top:1px solid var(--line);margin-top:6px;padding-top:16px;margin-bottom:16px}.rw h2{font-size:1.15rem;margin:0 0 10px}
.rw-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 14px}.rw-sum div{border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.rw-sum b{display:block;font-size:1.5rem;line-height:1.2}.rw-sum span{font-size:.78rem;color:var(--mut)}.rw-sum .hl{border:2px solid var(--ac)}
a.btn{display:inline-block;border-radius:10px;background:var(--ac);color:#fff;font-weight:700;padding:11px 20px;text-decoration:none}a.btn.ghost{background:transparent;color:var(--ac);border:1px solid var(--ac)}
@media (max-width:480px){.rw-sum{grid-template-columns:1fr}}
.rw-sum.two{grid-template-columns:repeat(2,1fr)}
