:root { font-family: system-ui, "Yu Gothic", sans-serif; color: #19332c; background: #f4f7f3; }
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.6; }
main { max-width: 920px; margin: auto; padding: 36px 20px 60px; }
h1 { font-size: clamp(1.8rem, 4.5vw, 2.7rem); line-height: 1.3; }
h2 { font-size: 1.3rem; }
h3 { font-size: 1rem; margin: 0; }
.eyebrow { color: #287252; font-weight: 700; }
.notice, form, .result, .related { background: #fff; border: 1px solid #cfddd1; border-radius: 12px; padding: 20px; margin: 20px 0; }
.notice { background: #eaf2eb; }
.grid, .measure { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 16px 0; }
.measure { background: #f7faf6; border-radius: 8px; padding: 14px; }
.measure h3 { grid-column: 1 / -1; }
.measure > .field-help { grid-column: 1 / -1; margin: 0; }
label { display: flex; flex-direction: column; gap: 5px; font-weight: 600; }
input, select, textarea { font: inherit; padding: 8px; border: 1px solid #869b8f; border-radius: 6px; background: #fff; min-width: 0; }
textarea { display: block; width: 100%; margin-top: 8px; resize: vertical; line-height: 1.6; }
textarea:disabled { background: #f1f4f1; }
input[type="checkbox"] { width: 1.1rem; height: 1.1rem; }
.confirm { flex-direction: row; align-items: flex-start; gap: 9px; margin: 18px 0; }
button { font: inherit; font-weight: 700; border: 0; border-radius: 7px; background: #17694c; color: #fff; padding: 10px 16px; cursor: pointer; }
button:disabled { background: #9daaa2; cursor: not-allowed; }
:focus-visible { outline: 3px solid #e9aa3c; outline-offset: 2px; }
.actions { display: flex; gap: 12px; flex-wrap: wrap; }
.description { background: #eaf2eb; padding: 14px; border-left: 4px solid #27805c; overflow-wrap: anywhere; white-space: pre-wrap; }
.small { font-size: .9rem; color: #425a4a; }
[hidden] { display: none !important; }
@media (max-width: 600px) { .grid, .measure { grid-template-columns: 1fr; } }

/* 0003 task layout only. Reuse the shared type scale, accent and control roles. */
body.product-copy { --ink:#182e34; --muted:#52666b; --line:#d3deda; --accent:#146358; --accent-soft:#edf5f0; color:var(--ink); font-size:17px; line-height:1.8; }
body.product-copy main { max-width:920px; padding-top:28px; }
body.product-copy h1 { font-size:clamp(1.8rem,3.5vw,2.5rem); line-height:1.4; margin:0 0 16px; letter-spacing:-.025em; }
body.product-copy h2 { margin:0 0 12px; }
body.product-copy p { margin:12px 0; }
body.product-copy .copy-intro { margin-bottom:24px; }
body.product-copy .eyebrow { font-size:1rem; letter-spacing:.04em; margin:0 0 12px; }
body.product-copy .privacy-line, body.product-copy .small, body.product-copy .field-help, body.product-copy .field-hint { font-size:1rem; color:var(--muted); }
body.product-copy .privacy-line a { display:inline-block; margin-left:.6em; }
body.product-copy .field-hint { font-weight:400; }
body.product-copy #facts-form { padding:24px; margin:0; border:1px solid var(--line); border-radius:18px; }
body.product-copy .grid { gap:20px; }
body.product-copy .field { min-width:0; }
body.product-copy .field > label { display:block; margin-bottom:6px; }
body.product-copy .field > :is(input,select) { width:100%; }
body.product-copy :is(input,select,textarea,button,summary) { font-size:1rem; }
body.product-copy :is(input:not([type=checkbox]),select,button) { min-height:48px; }
body.product-copy .confirm { padding:0; margin:20px 0; }
body.product-copy .confirm input { flex:0 0 auto; margin-top:5px; }
body.product-copy .actions { align-items:center; gap:12px; }
body.product-copy .secondary { background:#fff; color:var(--accent); border:1px solid #9eb4ae; }
body.product-copy .secondary:hover:not(:disabled) { background:var(--accent-soft); color:var(--accent); }
body.product-copy .format-field { margin-top:20px; }
body.product-copy .measure { padding:16px; gap:16px; }
body.product-copy .product-help { padding:0; margin:20px 0; border:1px solid var(--line); border-radius:12px; background:#fff; }
body.product-copy .product-help > summary { padding:14px 16px; min-height:48px; font-weight:600; cursor:pointer; color:var(--accent); }
body.product-copy .product-help > :not(summary) { margin:16px; }
body.product-copy #optional-facts { margin-bottom:0; }
body.product-copy .result { margin:0 0 24px; padding:24px; }
body.product-copy .result textarea { min-height:180px; }
body.product-copy .flow-message { color:var(--ink); border-left:3px solid var(--accent); padding:8px 12px; margin:16px 0; }
body.product-copy .field-error { color:#8c3026; font-size:1rem; margin:6px 0 0; }
body.product-copy [aria-invalid="true"] { border:2px solid #8c3026; }
body.product-copy .draft-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
body.product-copy #draft-file { width:100%; max-width:100%; }
body.product-copy #botai-use-guide { margin:24px 0; }
body.product-copy .product-return { padding:8px 0 24px; }
body.product-copy :focus-visible { outline:3px solid #be6720; outline-offset:4px; }
body.product-copy :is(.field, .result, details) { scroll-margin-top:24px; }
@media (max-width:600px) {
  body.product-copy main { padding:24px 16px 40px; }
  body.product-copy #facts-form, body.product-copy .result { padding:18px; }
  body.product-copy .actions > button { width:100%; }
}
@media (prefers-reduced-motion:reduce) { html:has(body.product-copy) { scroll-behavior:auto; } }
