.modal-open { overflow: hidden; }
#composer { width: min(880px, calc(100vw - 40px)); }
.composer-header { display:flex; align-items:center; justify-content:space-between; padding:22px 32px; border-bottom:1px solid var(--line); }
.composer-header .brand { font:13px var(--mono); letter-spacing:0; }
.close-dialog { width:38px; height:38px; border:1px solid var(--line); background:transparent; border-radius:50%; font-size:26px; line-height:1; color:var(--muted); }
.close-dialog:hover { background:#e9eee5; color:var(--ink); }
.flow-steps { display:flex; gap:28px; padding:28px 32px 0; margin:0; list-style:none; }
.flow-steps li { display:flex; gap:9px; align-items:center; font-size:13px; color:var(--muted); }
.flow-steps li>span { width:24px; height:24px; display:grid; place-items:center; border:1px solid var(--line); font:12px var(--mono); border-radius:50%; }
.flow-steps .current { color:var(--ink); font-weight:600; }
.flow-steps .current>span { background:var(--green); border-color:#c2e75d; }
.flow-steps .complete>span { background:var(--deep); color:var(--green); border-color:var(--deep); }
.composer-heading { padding:28px 32px 25px; }
.composer-heading .eyebrow { color:var(--muted); font-size:12px; }
.composer-heading h2 { font-size:32px; font-weight:500; letter-spacing:-1px; margin:12px 0; outline:none; }
.composer-heading p { font-size:14px; line-height:1.6; color:var(--muted); margin:0; }
.composer-grid { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:28px; padding:0 32px 30px; }
.field { margin-bottom:23px; }
.field label { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; font-size:14px; font-weight:550; }
.field label>span { font:12px var(--mono); color:var(--muted); }
.field input:not([type=checkbox]),.field textarea { width:100%; border:1px solid #cbd5cc; border-radius:4px; padding:13px; color:var(--ink); background:#fff; font-size:15px; line-height:1.6; }
.field textarea { resize:vertical; min-height:128px; max-height:300px; }
.field input:focus,.field textarea:focus { outline:2px solid #c7eaa0; outline-offset:1px; border-color:#6d8b50; }
.field-hint { font-size:12px; color:var(--muted); line-height:1.6; margin:8px 0 0; }
.field-error { color:#a03928; font-size:12px; line-height:1.5; margin:7px 0 0; }
.field [aria-invalid=true] { border-color:#b64b38!important; }
.field label .over-limit { color:#a03928; }
.amount-field { display:flex; align-items:center; gap:10px; border:1px solid #cbd5cc; border-radius:4px; padding:0 13px; background:white; }
.amount-field>span:first-child { font:20px var(--mono); }
.amount-field>span:last-child { font:12px var(--mono); color:var(--muted); }
.field .amount-field input { border:0; background:none; font:24px var(--mono); padding:13px 0; min-width:0; }
.amount-field:focus-within { outline:2px solid #c7eaa0; border-color:#6d8b50; }
.field .amount-field input:focus { outline:none; }
.amount-presets { display:flex; gap:8px; margin-top:10px; }
.amount-presets button { flex:1; border:1px solid var(--line); background:transparent; color:var(--muted); padding:9px 12px; border-radius:4px; font:13px var(--mono); }
.amount-presets button:hover,.amount-presets button.chosen { background:#e8efdf; color:var(--ink); border-color:#b6c7a3; }
.primary.lime { background:var(--green); border-color:#c7ec60; color:var(--ink); }
.primary.lime:hover:not(:disabled) { background:#c8f04f; }
.primary.lime:disabled { background:#e3e9da; color:#78856a; border-color:#e3e9da; }
.under-button { color:var(--muted); text-align:center; font-size:12px; line-height:1.6; margin:12px 0 0; }
.draft-preview { background:var(--deep); color:#e2ebdc; padding:22px; border-radius:6px; align-self:start; overflow:hidden; }
.draft-preview>.eyebrow { font-size:12px; letter-spacing:.5px; color:#b2c09f; border-bottom:1px solid #ffffff20; padding-bottom:17px; }
.preview-chain { margin:25px 0 30px; }
.preview-chain>.mono { font-size:12px; color:#a5b79f; }
.preview-chain h3 { color:#f4f7ee; font-size:26px; letter-spacing:-.8px; margin:8px 0 0; overflow-wrap:anywhere; }
.fan-label { display:block; font:12px var(--mono); letter-spacing:.2px; color:var(--green); }
.draft-preview blockquote { margin:16px 0; font-size:21px; letter-spacing:-.4px; line-height:1.5; overflow-wrap:anywhere; white-space:pre-wrap; }
.draft-preview blockquote:before { content:'“'; }.draft-preview blockquote:after { content:'”'; }
.preview-byline { color:#a6b99e; font-size:12px; overflow-wrap:anywhere; }
.preview-divider { height:1px; background:#ffffff20; margin:26px 0 18px; }
.draft-preview p { color:#a5b79f; font-size:12px; line-height:1.7; margin:0 0 24px; }
.preview-schema { display:block; font:12px/1.8 var(--mono); color:#b8cba9; }
.preview-schema>span { display:block; color:#809376; }
.composer-footer { border-top:1px solid var(--line); padding:17px 32px; font-size:12px; color:var(--muted); display:flex; gap:8px; align-items:center; line-height:1.6; }
.purchase-summary { border:1px solid var(--line); border-radius:5px; background:white; padding:20px; }
.purchase-summary>.eyebrow { font-size:12px; color:var(--muted); }
.purchase-summary dl { margin:15px 0 0; }
.purchase-summary dl>div { display:flex; justify-content:space-between; gap:16px; padding:9px 0; font-size:13px; }
.purchase-summary dt { color:var(--muted); }.purchase-summary dd { margin:0; text-align:right; }
.purchase-summary .summary-total { border-top:1px solid var(--line); padding:19px 0 0; margin-top:12px; align-items:center; }
.summary-total dt { color:var(--ink); font-size:14px; }.summary-total dt>span { font:12px var(--mono); color:var(--muted); display:block; margin-top:5px; }
.summary-total dd { font:28px var(--mono); letter-spacing:-1px; }
.review-rules { margin:23px 0; }.review-rules h3 { font-size:17px; letter-spacing:-.3px; }
.review-rules p { font-size:14px; color:var(--muted); line-height:1.7; margin:12px 0; }.review-rules b { color:var(--ink); font-weight:550; }
.terms { display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.6; margin:23px 0; cursor:pointer; }
.terms input { accent-color:#42622d; width:18px; height:18px; margin:2px 0 0; flex-shrink:0; }
.secondary { border:0; background:transparent; padding:14px; width:100%; color:var(--muted); font-size:13px; margin-top:5px; }
.secondary:hover { color:var(--ink); text-decoration:underline; }.finish-preview { display:block; margin:0 auto; }
.checkout-placeholder { border:1px solid var(--line); border-radius:5px; background:white; padding:24px; }
.checkout-icon { display:block; font:34px var(--mono); color:#77964f; margin-bottom:20px; }
.checkout-placeholder .eyebrow { font-size:12px; }.checkout-placeholder h3 { margin:12px 0; font-size:25px; }
.checkout-placeholder>p { font-size:13px; line-height:1.75; color:var(--muted); }
.checkout-total { border-top:1px solid var(--line); margin-top:24px; padding:22px 0; }
.checkout-total>span { display:block; font-size:12px; color:var(--muted); }.checkout-total>strong { display:block; font:38px var(--mono); letter-spacing:-1.5px; margin-top:8px; }
.checkout-placeholder .primary>span { font:12px var(--mono); }.checkout-placeholder #checkout-status { font-size:12px; margin:16px 0 0; }
/* Keep ordinary labels legible; the denser monospace labels are secondary metadata. */
.filters button { font-size:14px; }.chain-identity p { font-size:13px; }.sentence-explainer p { font-size:14px; }
@media(max-width:700px) {
  #composer { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  .composer-header { padding:14px 20px; }.flow-steps { padding:20px 20px 0; gap:24px; }
  .composer-heading { padding:23px 20px; }.composer-heading h2 { font-size:29px; }
  .composer-grid { grid-template-columns:1fr; gap:25px; padding:0 20px 25px; }
  .draft-preview { padding:20px; }.preview-chain { margin:18px 0; }.draft-preview blockquote { font-size:22px; }
  .preview-divider { margin:20px 0 15px; }.draft-preview p { margin-bottom:15px; }
  .composer-footer { padding:15px 20px; font-size:12px; }.field input:not([type=checkbox]),.field textarea { font-size:16px; }
  .field label>span { font-size:12px; }.checkout-placeholder { padding:21px; }
}

.health-line{font:12px/1.5 var(--mono)!important;color:#53753b!important;margin-top:8px!important}.health-line.check-warning{color:#897142!important}

.health-source:not([hidden]){display:block;font-size:12px;margin-top:7px}
