:root{--ivory:#faf7f0;--charcoal:#1f1f1f;--muted:#4a4a4a;--gold:#b8892f;--gold-dark:#8a6420;--line:#d9d2c3;--bad:#a3201a;--ok:#1d5c2e}*{box-sizing:border-box}html,body{background:var(--ivory);color:var(--charcoal);margin:0}body{-webkit-text-size-adjust:100%;font:18px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.cp{overflow-wrap:anywhere;word-break:break-word;flex-direction:column;gap:12px;max-width:32rem;min-height:100vh;margin:0 auto;padding:16px;display:flex}.cpHead{border-bottom:3px solid var(--gold);justify-content:space-between;align-items:baseline;padding-bottom:8px;display:flex}.cpBrand{letter-spacing:.04em;font-size:1.5rem;font-weight:800}.cpSub{color:var(--muted);font-size:.95rem}.cpHi{margin-bottom:0;font-size:1.2rem;font-weight:700}.cpDate{border:2px solid var(--gold);text-align:center;background:#fff;border-radius:10px;margin:8px 0;padding:12px;font-size:1.6rem;font-weight:800}.cpSmall{color:var(--muted);font-size:.9rem}.cpMsg{border:2px solid var(--line);background:#fff;border-radius:10px;padding:14px;font-size:1.1rem}.cpDone{border-color:var(--ok)}.cpErr{color:var(--bad);font-weight:700}.cpRow{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.cpBtn{min-width:44px;min-height:48px;font:inherit;border:2px solid var(--charcoal);color:var(--charcoal);cursor:pointer;background:#fff;border-radius:10px;flex:8rem;padding:10px 16px;font-weight:700}.cpGo{background:var(--gold);border-color:var(--gold-dark);color:#111}.cpBtn:focus-visible,.cpInput:focus-visible{outline:3px solid var(--charcoal);outline-offset:2px}.cpBtn:disabled{opacity:.6}.cpBox{border:2px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:6px;padding:12px;display:flex}.cpLabel{margin-top:6px;font-weight:700}.cpInput{min-height:48px;font:inherit;border:2px solid var(--charcoal);color:var(--charcoal);background:#fff;border-radius:8px;width:100%;padding:10px}.cpFoot{color:var(--muted);border-top:1px solid var(--line);margin-top:auto;padding-top:8px;font-size:.85rem}.cpMsg{margin:0;font-weight:600}h2.cpMsg{font-size:1.1rem}.cpQ{margin:0 0 4px;font-size:1.1rem;font-weight:600}[tabindex="-1"]:focus{outline:3px solid var(--charcoal);outline-offset:2px}
