/* Public experience. All component rules are scoped to xp pages. */
.wrap:has(.xp-home),.wrap:has(.xp-crumb){max-width:1200px;padding-left:var(--space-4);padding-right:var(--space-4)}
.xp-home,.xp-project{--xp-ink:var(--ink);--xp-rust:var(--accent);--xp-line:var(--line);--xp-muted:var(--muted);--xp-cream:var(--paper);color:var(--xp-ink)}
.xp-home h1,.xp-home h2,.xp-home h3,.xp-project h1,.xp-project h2,.xp-project h3{font-family:var(--display);letter-spacing:-.045em;line-height:1.13}
.xp-home p,.xp-project p{overflow-wrap:anywhere}
.xp-pot-job,.xp-project #now li,.xp-project #coming li,.xp-project #selected-version li,.xp-project .k-fold li{overflow-wrap:anywhere}
.xp-kicker{color:var(--xp-rust);font-size:var(--text-label);font-weight:800;letter-spacing:.13em}

/* UX pass 3 T1 (D4): the head's money link keeps a gap above the tagline on both layouts. */
.xp-back{width:100%}.btn.xp-back{gap:var(--space-2)}
.xp-meter{height:8px;border-radius:10px;background:var(--pill-bg);overflow:hidden;margin-top:var(--space-2)}.xp-meter span{display:block;height:100%;background:var(--accent);border-radius:var(--radius)}
.xp-detail-pair{border-top:1px solid var(--xp-line);padding:var(--space-3) 0}.xp-detail-pair strong{display:block;font-size:var(--text)}.xp-detail-pair p{margin:var(--space-1) 0 0;font-size:var(--text);color:var(--xp-muted)}.xp-detail-pair a{color:var(--xp-rust);font-weight:750;display:inline-flex;align-items:center;min-height:var(--tap)}.xp-small{font-size:var(--text)!important;margin:var(--space-1) 0 0;color:var(--xp-muted)}
.xp-preview-shell{position:relative;width:100%;max-width:none;max-height:none;margin:0;padding:0;box-sizing:border-box;color:inherit;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--paper)}.xp-preview-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-12);min-height:var(--tap);padding:var(--space-1) var(--space-2);background:var(--rail-bg);border-bottom:1px solid var(--line);font-size:var(--text)}.xp-preview-toolbar>span{color:var(--muted);font-size:var(--text-label);white-space:nowrap}.xp-preview-toolbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 0 auto;max-width:calc(100% - 4em)}.xp-preview-toolbar button,.xp-preview-toolbar a{background:var(--paper);border:1px solid var(--border-strong);border-radius:var(--radius-btn);padding:var(--space-2) var(--space-12);min-height:var(--tap);font-size:var(--text-form);font-weight:550;white-space:nowrap;color:var(--xp-ink);text-decoration:none}.xp-preview-frame{height:clamp(330px,42vw,470px)}.xp-preview-frame iframe{display:block;width:100%;height:100%;border:0}.xp-preview-shell.expanded{position:fixed;inset:14px;width:auto;height:calc(100dvh - 28px);z-index:1000;display:flex;flex-direction:column;box-shadow:0 12px 50px #101b3040;border-radius:var(--radius-lg)}.xp-preview-shell::backdrop{background:#101b30bd}.xp-preview-shell.expanded .xp-preview-frame{flex:1;min-height:0;height:auto}.xp-preview-shell.expanded .xp-preview-toolbar button{background:var(--xp-ink);color:var(--white)}
.xp-update{border-left:3px solid var(--accent);background:var(--rail-bg);border-radius:var(--radius);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-12)}.xp-update p{margin:0;white-space:pre-wrap;font-size:var(--text)}
.xp-flash{padding:var(--space-12) var(--space-3);border-radius:var(--radius);background:var(--rail-bg);border:0;border-left:3px solid var(--accent);color:var(--accent)}.xp-flash.bad{background:var(--error-bg);border-color:var(--error-line);color:var(--error-ink)}
.xp-dialog{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:1px solid var(--xp-line);border-radius:var(--radius);padding:var(--space-4);background:var(--paper);box-shadow:0 20px 70px color-mix(in srgb,var(--ink) 25%,transparent);color:var(--xp-ink)}.xp-dialog::backdrop{background:color-mix(in srgb,var(--ink) 60%,transparent)}.xp-dialog-header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-3)}.xp-dialog-header h2{font-size:var(--text-xl);margin:var(--space-1) 0 var(--space-3)}.xp-dialog-header button{border:1px solid var(--border-strong);background:var(--paper);border-radius:var(--radius-btn);min-width:var(--tap);min-height:var(--tap)}.xp-dialog form>label{display:block;font-weight:800;font-size:var(--text)}.xp-amount-entry{display:flex;background:var(--paper);align-items:center;gap:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-btn);padding:0 var(--space-12);margin:var(--space-2) 0 var(--space-12)}.xp-amount-entry input{width:100%;border:0;padding:var(--space-12) 0;font:inherit;outline:none}.xp-presets{display:flex;gap:var(--space-2)}.xp-presets button{flex:1;background:var(--paper);border:1px solid var(--border-strong);font-size:var(--text);font-weight:800}.xp-payment-terms{border-top:1px solid var(--xp-line);border-bottom:1px solid var(--xp-line);padding:var(--space-12) 0;margin:var(--space-3) 0}.xp-payment-terms div{margin:var(--space-2) 0}.xp-payment-terms dt{font-size:var(--text);font-weight:800}.xp-payment-terms dd{font-size:var(--text);color:var(--xp-muted);margin:3px 0 0}.xp-dialog .btn{width:100%}
@media(max-width:600px){.wrap:has(.xp-project){padding-left:var(--space-3);padding-right:var(--space-3)}.xp-preview-toolbar{gap:var(--space-1)}.xp-preview-toolbar strong{flex-basis:100%;max-width:100%}.xp-preview-toolbar>span{display:none}.xp-preview-frame{height:390px}.xp-dialog{padding:var(--space-3)}}
.xp-preview-note{background:var(--rail-bg);border-left:3px solid var(--accent);border-radius:var(--radius);padding:var(--space-2) var(--space-12);font-size:var(--text)!important}
.xp-brief-group{border-top:1px solid var(--xp-line);padding-top:var(--space-3);margin-top:var(--space-3)}.xp-brief-group h3{font-size:var(--text-lg);margin:0 0 var(--space-12)}.xp-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12)}.xp-brief-item{background:var(--rail-bg);border:0;border-radius:var(--radius);padding:var(--space-12) var(--space-3)}.xp-brief-item h4{font-size:var(--text);margin:0 0 var(--space-2)}.xp-brief-item p{font-size:var(--text);color:var(--xp-muted);margin:0;white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:600px){.xp-brief-grid{grid-template-columns:1fr}}
.xp-amount-entry:focus-within{outline:3px solid var(--focus,#1f2a44);outline-offset:2px}
/* Look B: the public project page in the Path's backer layout (the maker line, the head, the demo beside the side
   card, the free actions, the questions, then the brief folded). Scoped to .xp-project: home shares this file. */
.wrap:has(.xp-crumb){max-width:1008px}
/* Round 2 (owner, 6 Oct): the creator's own public page says so, with one link back. */
/* The "Get a demo" card's "Ask backers" fold on the project page (round 2 note 2). */
.pp-demo>details>summary{cursor:pointer;min-height:var(--tap);line-height:44px;font-weight:700}
/* The hand-in card's fold on the creator's page (UX pass 2 slice 4 PR C): the heading beside its marker. */
#handin>details>summary{cursor:pointer}#handin>details>summary h2{display:inline}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.xp-pot-figures div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-12)}.xp-pot-figures dt{min-width:0}.xp-pot-figures dd{margin:0;white-space:nowrap;text-align:right}
/* S1-e: the versions spine's public page: Vote and Follow beside the name (wrapping under it on a phone; UX pass 3
   cut 11: on every project page, with the money link under the pill at its own width), the Use card's buttons in one
   row (full width below 440px), decision 2's figures with the amount big, the backer's part. */
/* RC2 A/C follow-up (plan 20261028-rc2-ac-demo-heading-fold): the one-version demo's h2, the spine demo row's size. */
