/* Product pages (accounts, topic builder, settings, plans). Loaded by those pages only. */
.narrow{max-width:520px}.center{text-align:center;margin-left:auto;margin-right:auto}.center .lede{margin-left:auto;margin-right:auto}
.envelope{font-size:44px;line-height:1;width:84px;height:84px;margin:8px auto 4px;display:grid;place-items:center;border-radius:50%;background:var(--accent-2);color:var(--accent)}
.form-card,.builder{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:grid;gap:10px;margin:16px 0}
.form-card label,.builder>label{font-weight:600}
input[type=email],input[type=text],input[type=url],input[type=password],input:not([type]),select{font:inherit;min-height:48px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%}
input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:1px}
button{font:inherit;cursor:pointer}
.btn{border:0;font:600 16px var(--font);min-height:48px;justify-content:center}
.btn-block{width:100%}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:600 15px var(--font);text-decoration:none}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.danger{color:#a11}.btn.danger{background:#b42318;color:#fff}.btn-ghost.danger:hover{border-color:#b42318;color:#b42318}
.notice{border-radius:var(--radius);padding:12px 14px;margin:12px 0;border:1px solid}.notice-ok{background:var(--accent-2);border-color:var(--accent)}.notice-warn{background:#fffbeb;border-color:#fcd34d}.notice-error{background:#fef2f2;border-color:#fca5a5;color:#7f1d1d}
.subnav{display:flex;flex-wrap:nowrap;gap:4px;margin:0 0 6px;overflow-x:auto;border-bottom:1px solid var(--line)}
.subnav a{flex:0 0 auto;min-height:44px;padding:0 12px;display:inline-flex;align-items:center;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;border-radius:0;white-space:nowrap}
.subnav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent);background:none}
.account-nav:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}
.head-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.topic-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.topic-row h2 a{color:inherit}
.row-actions{display:flex;gap:8px;flex-shrink:0}.row-actions form{margin:0}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.help{margin:0}
.group{border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:var(--bg);position:relative}
.group h2,.group h3{margin:0;font-size:15px}.group-not{background:#fff8f8;border-color:#f3d4d4}
.group-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.joiner{margin:-4px 0 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}
.js .group-optional[hidden]{display:none}
.seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:2px;margin:0;background:var(--surface)}
.seg label{position:relative}.seg input{position:absolute;opacity:0;inset:0}
.seg span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:600;color:var(--muted)}
.seg input:checked+span{background:var(--accent);color:#fff}.seg input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent)}
.join-choice{border:0;padding:0;margin:0}.join-choice legend{font-weight:600;margin-bottom:6px;font-size:14px}
.chip-field label{font-size:13px;color:var(--muted);font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:48px;padding:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.chips:focus-within{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}
/* Chip actions are interactive controls: keep the hit area usable on phones. */
.chip{display:inline-flex;align-items:center;gap:2px;background:var(--accent-2);color:var(--accent);border-radius:999px;padding:0 0 0 12px;font-size:14px;font-weight:600;min-height:44px;max-width:100%;overflow-wrap:anywhere}
.group-not .chip{background:#fde8e8;color:#8a1c1c}
.chip button{border:0;background:none;color:inherit;min-width:44px;min-height:44px;font-size:18px;line-height:1;border-radius:999px}
.chip-entry{flex:1;min-width:8ch;border:0!important;min-height:44px!important;padding:4px!important;outline:none!important}
.delivery,.settings fieldset{border:0;padding:0;margin:0;display:grid;gap:4px}.delivery legend,.settings legend{font-weight:600;margin-bottom:4px}
.radio,.check,.switch{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:500}
.radio input,.check input,.switch input{width:20px;height:20px;accent-color:var(--accent)}
.settings input[type="checkbox"],.settings input[type="radio"]{flex:0 0 24px;width:24px;min-width:24px;height:24px;min-height:24px}
.locked{color:var(--muted)}
.pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#fff3bf;color:#7a5b00;text-decoration:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two label{display:grid;gap:4px;font-weight:600}
.preview{margin-top:8px}.preview h2 .muted{font-weight:400;font-size:15px}
.ticks{list-style:none;padding:0;margin:10px 0 0}.ticks li{padding:4px 0 4px 24px;position:relative}.ticks li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.plans .plan{display:flex;flex-direction:column}.plan-current{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}
.pill-current{margin:12px 0 0;font-weight:700;color:var(--accent);font-size:14px}
.upgrade-cta{max-width:420px;margin:18px 0}.waitlist{margin-top:18px;border-color:#fcd34d;background:#fffdf3}.waitlist h2{margin:8px 0 6px}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 12px}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}
.danger-zone{border:2px solid #b42318;background:#fff8f7}.danger-zone h3{margin:0 0 6px;color:#b42318}.danger-zone form{display:grid;gap:10px;justify-items:start}
.btn-danger-outline{background:#fff;color:#b42318;border:2px solid #b42318;min-height:44px}.btn-danger-outline:hover{background:#fdecea;color:#8f1c13}
.hub-danger{margin-top:56px;padding-top:24px;border-top:1px solid #f0c9c5}.hub-danger>h2{color:#b42318}
.delete-confirm h1{margin-top:16px}.delete-confirm ul{margin:8px 0 12px;padding-left:20px}.delete-form{display:grid;gap:8px;justify-items:stretch}.delete-form input{width:100%;min-height:44px;font:inherit;font-size:16px;letter-spacing:.06em}
.delete-form .actions{justify-content:space-between}.delete-form .btn{min-height:44px}
.card form{margin:0}
@media (max-width:720px){.topic-row{flex-direction:column}.two{grid-template-columns:1fr}.seg span{padding:0 10px;font-size:13px}.actions .btn,.actions .btn-ghost{flex:1}}
@media (max-width:600px){.actions>.btn,.actions>.btn-ghost{flex:1 1 100%}} /* phone: page actions full width, one per row (2 Nov 2026) */
.ticks li.no{color:var(--muted)}.ticks li.no:before{content:"–";color:var(--muted)}
/* Bills (follow button, bill page) */
.follow-form{margin:0;display:inline}.follow-btn{min-height:44px}.bill-card h1{margin:6px 0 10px}.stages{padding-left:20px}.stages li{margin:4px 0}
.result-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px}
.switch.locked{opacity:.75}

/* /bills index */
.bills-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin:16px 0}
.bills-filters label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}
.bills-filters input,.bills-filters select{width:100%;min-height:44px;padding:6px 10px;font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.bills-list{list-style:none;padding:0}.bills-list .follow-form{margin:0}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0}
@media (max-width:720px){.bills-filters{grid-template-columns:1fr}.bf-go{display:flex;gap:8px}.bf-go .btn{flex:1}}

/* Onboarding (/welcome) */
.ob{max-width:680px}.ob .eyebrow{margin:12px 0 4px}
.ob-progress{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 8px;flex-wrap:wrap}
.ob-progress li{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}
.ob-progress span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--border);font-weight:700;font-size:13px}
.ob-progress li[aria-current=step]{color:var(--ink);font-weight:600}.ob-progress li[aria-current=step] span{background:var(--accent);border-color:var(--accent);color:#fff}
.ob-progress li.done span{background:var(--accent-2);border-color:var(--accent);color:var(--accent)}
.ob-form fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}.ob-form legend{font-weight:600;margin-bottom:6px}
.ob-form label{font-weight:500;font-size:14px}
.ob-chips{display:flex!important;flex-wrap:wrap;gap:8px}
.chip-toggle{position:relative;display:inline-flex}.chip-toggle input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip-toggle span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-weight:600;font-size:15px}
.chip-toggle input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}
.chip-toggle input:checked+span:before{content:"✓ "}
.chip-toggle input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent)}
.ob-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.ob-skip{margin-left:auto}
.ob-search{display:flex;gap:8px;margin:12px 0}.ob-search input{flex:1;min-width:0;min-height:44px}
.ob-list{list-style:none;padding:0;display:grid;gap:8px;margin:12px 0}.ob-list h3{margin:0;font-size:16px}
.ob-summary dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px}.ob-summary dt{font-weight:600}.ob-summary dd{margin:0;overflow-wrap:anywhere}
@media (max-width:720px){.ob-nav .btn{flex:1 1 100%}.ob-nav .btn-ghost{flex:1}.ob-skip{margin-left:0}.ob-summary dl{grid-template-columns:1fr}.ob-summary dt{margin-top:6px}.member-row .row-actions{width:100%}.member-row .follow-btn{width:100%}}
.tag-draft{display:inline-block;margin-left:6px;padding:1px 6px;border:1px solid var(--border);border-radius:4px;font:500 11px/1.4 var(--mf);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);vertical-align:middle}
/* Upgrade flow (test mode) */
.test-banner{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin:16px 0;padding:12px 14px;border:1px dashed var(--accent);border-radius:var(--radius);background:var(--accent-2)}.test-banner strong{font-family:var(--hf)}.test-banner span{color:var(--muted);font-size:14px}
.faq details{border-top:1px solid var(--border);padding:4px 0}.faq summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600}.faq details p{margin:0 0 12px;color:var(--muted)}
.checkout{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;align-items:start}.checkout h2{margin-top:0}.order .total{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:10px;font-size:18px}
.pay-form label{display:block;font-weight:600;margin:12px 0 4px}.pay-form .btn{margin-top:16px}.pay-form [aria-invalid=true]{border-color:#b42318}.center{text-align:center}
.invoices{width:100%;border-collapse:collapse}.invoices th,.invoices td{text-align:left;padding:8px 6px;border-top:1px solid var(--border);vertical-align:middle}.invoices th{border-top:0;color:var(--muted);font-weight:500;font-size:14px}.invoices td:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:720px){.checkout{grid-template-columns:1fr}.invoices thead{display:none}.invoices tr{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:8px 0;border-top:1px solid var(--border)}.invoices td{border:0;padding:0}.invoices td:last-child{grid-column:1/-1;justify-content:stretch}.invoices td:last-child a{flex:1}}
/* Founding offer (plain facts, no discount framing) */
.founding{border:1px solid var(--accent, #c2410c);border-radius:10px;padding:10px 12px;margin:8px 0 12px}
.founding p{margin:0 0 6px}.founding-title{font-weight:700}.founding-places strong{font-variant-numeric:tabular-nums}
.trial-cta{margin-top:12px}
/* /account hub: sections with anchors, usage meters (native <progress>), two-up grid on wide screens */
.hub-head{display:flex;align-items:baseline;justify-content:space-between;gap:4px 16px;flex-wrap:wrap}.hub-head h1{margin-bottom:4px}.hub-email{margin:0;overflow-wrap:anywhere}
.hub-toc ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:12px 0 4px}
.hub-toc a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}
.hub-toc a:hover{border-color:var(--accent);color:var(--accent)}
.hub-section{scroll-margin-top:84px;margin:20px 0 0;min-width:0}.hub-section>h2{margin:0 0 8px;font-size:20px}
.hub-section .form-card{margin:0}.hub-section .card>p+p,.hub-section .card>.muted+dl{margin-top:8px}
.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:start}
.hub-days{color:var(--muted);white-space:nowrap}
.founding-held,.founding-open{font-weight:500}.founding-open strong{color:var(--accent)}
.usage-row{margin:14px 0 0}.usage-head{display:flex;justify-content:space-between;align-items:baseline;gap:4px 12px;flex-wrap:wrap}
.usage-label{font-weight:600}.usage-count{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}
.usage-link{margin:4px 0 0}.usage-link a{display:inline-flex;align-items:center;min-height:24px}
progress.meter{display:block;width:100%;height:12px;margin:6px 0 0;border:1px solid var(--muted);border-radius:999px;background:var(--bg);overflow:hidden;-webkit-appearance:none;appearance:none}
progress.meter::-webkit-progress-bar{background:var(--bg);border-radius:999px}
progress.meter::-webkit-progress-value{background:var(--accent);border-radius:999px}
progress.meter::-moz-progress-bar{background:var(--accent);border-radius:999px}
progress.meter-full::-webkit-progress-value{background:var(--text)}progress.meter-full::-moz-progress-bar{background:var(--text)}
.hub-topics{list-style:none;padding:0;margin:8px 0 0}.hub-topics li{padding:8px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.hub-topics li:first-child{border-top:0}
.hub-topics a{font-weight:600}
.hub-section .actions{margin-top:14px}.hub-section .actions form{margin:0}
.hub-signout{margin:0}.hub-signout .btn-ghost{min-height:44px}
@media (max-width:900px){.hub-grid{grid-template-columns:1fr}}
@media (max-width:480px){.hub-toc a{padding:0 12px;font-size:13px}.hub-section .actions .btn,.hub-section .actions .btn-ghost,.hub-section .actions form{flex:1 1 100%}.hub-section .actions form .btn{width:100%}.hub-section .kv{grid-template-columns:1fr;gap:2px}.hub-section .kv dd{margin-bottom:8px}}
/* Bill amendments (/bills/:id#amendments) */
.amendments>li{padding:12px 14px}.amend-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.amend-head h3{margin:0;font-size:17px}
.amendments p{margin:4px 0 0}.amend-text{overflow-wrap:anywhere}
.amend-status{display:inline-block;padding:1px 8px;border:1px solid var(--border);border-radius:4px;font:500 12px/1.6 var(--mf);letter-spacing:.04em;color:var(--muted);white-space:nowrap}
.amend-agreed{color:var(--accent);border-color:currentColor}.amend-disagreed,.amend-negatived{color:#a11;border-color:currentColor}
#amendments{scroll-margin-top:136px}
.secret{display:inline-block;margin:6px 0;padding:4px 6px;background:var(--surface);border:1px solid var(--line);border-radius:4px;overflow-wrap:anywhere;word-break:break-all;user-select:all}
