body{margin:0;line-height:1.6}main{max-width:760px;margin:auto;padding:48px 20px}.eyebrow{color:var(--signal);font-size:12px;letter-spacing:.15em}h1{color:var(--parchment);font-size:clamp(30px,7vw,54px);margin:.3rem 0}.intro{color:var(--ash)}section{margin-top:34px;border:1px solid var(--line);padding:22px}h2{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--parchment);margin:0 0 4px}h2 .step{color:var(--ash);margin-right:10px}.desc{font-size:12px;color:var(--ash);margin:0 0 16px;line-height:1.6}label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ash);margin:14px 0 6px}input[type=text],textarea{width:100%;background:var(--ink);border:1px solid var(--line);color:var(--parchment);font:inherit;font-size:13px;padding:10px 12px;transition:border-color .15s ease}input:focus,textarea:focus{outline:none;border-color:var(--signal)}textarea{resize:vertical;min-height:70px}.pick{display:flex;gap:8px;flex-wrap:wrap}.pick label{flex:1 1 auto;min-width:180px;display:block;border:1px solid var(--line);padding:10px 12px;font-size:12px;color:var(--bone);cursor:pointer;transition:border-color .15s ease,color .15s ease;letter-spacing:0;text-transform:none;margin:0}.pick label:hover{border-color:var(--bone)}.pick input{position:absolute;opacity:0;pointer-events:none}.pick input:checked + label,.pick label.checked{border-color:var(--signal);color:var(--parchment);font-weight:600}.pick .when{display:block;font-size:10px;color:var(--ash);margin-top:3px}button{background:var(--signal);color:#fff;border:0;padding:14px 22px;font:inherit;cursor:pointer}button.submit{width:100%;margin-top:18px;padding:16px;letter-spacing:.12em;text-transform:uppercase}#result{display:none}pre.preview{background:var(--ink);border:1px solid var(--line);padding:18px;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--bone);max-height:520px;overflow:auto}.count{font-size:11px;color:var(--ash);margin-top:8px}.cap-banner{display:none;margin-top:16px;border:1px solid var(--line);border-left:3px solid var(--signal);padding:14px 16px;font-size:12px;color:var(--ash)} .cap-banner.show{display:block}.cap-banner a{color:var(--parchment)}footer{margin-top:48px;border-top:1px solid var(--line);padding-top:20px;font-size:12px;color:var(--ash)}footer a{color:var(--bone)}@media (prefers-reduced-motion:reduce){input,textarea,.pick label{transition:none}}
