:root{--ink:#183d68;--blue:#204f8a;--muted:#617686;--line:#dbe3e1;--soft:#f1f5f2;--yellow:#f5c842;--paper:#fff;--rise:#a85131;--fall:#257d62}
.faq{max-width:850px;margin:0 auto 48px;padding-top:28px;border-top:1px solid var(--line)}
.faq h2{font:400 32px/1.15 Newsreader,Georgia,serif}
.faq details{padding:15px 0;border-bottom:1px solid var(--line)}
.faq summary{font-weight:700;cursor:pointer}
.faq details p{margin:12px 0 0;color:var(--muted);max-width:720px}
.privacy-page{max-width:760px;margin:40px auto;padding:0 24px 50px}
.privacy-page h1{margin-top:32px}
.privacy-page h2{margin-top:32px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 'Plus Jakarta Sans',Arial,sans-serif}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.48}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
a{color:inherit;text-decoration:none}
img{max-width:100%}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-shell{max-width:1320px;margin:auto;min-height:100vh}
.site-header{height:80px;margin:0 36px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:34px}
.brand{display:inline-flex;align-items:center;gap:11px;font-size:17px;font-weight:800;letter-spacing:-.055em;white-space:nowrap}
.brand-mark{width:37px;height:37px;display:grid;place-items:center;border-radius:9px;background:var(--ink);color:#fff;font:500 28px/.9 Newsreader,Georgia,serif;padding-top:4px;position:relative}
.brand-mark span{color:var(--yellow);position:absolute;right:5px;bottom:1px}
.site-header nav{display:flex;align-items:center;gap:25px;margin-left:auto;font-size:12px;color:var(--muted)}
.site-header nav a[aria-current]{color:var(--ink);font-weight:800}
.site-header nav a:hover{text-decoration:underline;text-underline-offset:4px}
.market-pill{border-left:1px solid var(--line);padding-left:23px;font-size:11px;color:var(--muted);white-space:nowrap}
main{padding:0 36px}
.eyebrow{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.intro{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:50px;padding:56px 25px 54px;align-items:end}
.intro-copy{max-width:720px}
h1,h2,h3,p{margin-top:0}
.intro h1{font:400 clamp(55px,7.2vw,93px)/.97 Newsreader,Georgia,serif;letter-spacing:-.06em;margin:18px 0 23px}
.intro h1 em{font-weight:400;color:var(--blue);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:7px;text-underline-offset:8px}
.intro-copy>p{max-width:610px;color:#526d7e;font-size:16px;line-height:1.75;margin-bottom:0}
.intro-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:27px}
.intro-actions>span{font-size:11px;color:var(--muted)}
.button{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:17px;padding:10px 16px;border-radius:6px;font-size:12px;font-weight:800;line-height:1.25;white-space:nowrap;transition:background .18s,transform .18s}
.button:not(:disabled):hover{transform:translateY(-2px)}
.button-primary{border:1px solid var(--yellow);background:var(--yellow);color:var(--ink)}
.button-primary:not(:disabled):hover{background:#e9bb32}
.button-outline{border:1px solid var(--ink);background:#fff;color:var(--ink)}
.button-outline:not(:disabled):hover{background:#f5f8f7}
.button-ink{background:var(--ink);border:1px solid var(--ink);color:#fff}
.button-ink:not(:disabled):hover{background:var(--blue)}
.intro-aside{border-left:1px solid #cbd7d4;padding-left:20px;margin-bottom:8px}
.aside-label{display:block;font-size:9px;font-weight:800;letter-spacing:.15em;color:var(--muted);margin-bottom:8px}
.intro-aside>div{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.35;font-weight:700}
.intro-aside>div:last-child{border:0}
.aside-number{font:400 21px/.8 Newsreader,Georgia,serif;color:#b6891c}
.workspace{border:1px solid var(--line);border-radius:19px;padding:30px 35px 34px;box-shadow:0 16px 46px #183d680a}
.workspace-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:23px;border-bottom:1px solid var(--line)}
.workspace-heading h2{font:400 44px/.95 Newsreader,Georgia,serif;letter-spacing:-.045em;margin:8px 0 0}
.workspace-heading-actions{display:flex;align-items:center;gap:17px}
.workspace-heading-actions>span{font-size:11px;color:var(--muted);white-space:nowrap}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.78fr);gap:31px;padding-top:25px}
.parts-panel{min-width:0}
.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.section-heading h3{font:400 27px/1 Newsreader,Georgia,serif;margin:0}
.section-heading span{font-size:11px;color:var(--muted);text-align:right}
.parts-list{min-height:20px}
.part-row{display:grid;grid-template-columns:65px minmax(0,1fr) 98px 96px 26px;align-items:center;gap:11px;border-bottom:1px solid var(--line);padding:14px 0}
.part-image{width:64px;height:64px;display:grid;place-items:center;background:#f3f6f4;border:1px solid #e6ece8;border-radius:4px;overflow:hidden}
.part-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.part-image .image-fallback{font:500 19px Newsreader,Georgia,serif;color:#94a5a9}
.part-identity{min-width:0}
.part-name{font-size:11px;font-weight:800;line-height:1.35;margin:0 0 5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.part-meta{font-size:10px;color:var(--muted);line-height:1.45;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.part-link{font-size:10px;text-decoration:underline;text-underline-offset:2px;color:var(--blue)}
.part-link:hover{color:var(--ink)}
.part-price{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.part-price>small{display:block;font-size:9px;color:var(--muted);margin-bottom:4px}
.part-price>strong{font-size:12px}
.part-price .status-no-offer{white-space:normal;font-size:11px;font-weight:700;color:var(--muted)}
.part-delta{display:block;margin-top:3px;font-size:9px;font-weight:800}
.is-up{color:var(--rise)}.is-down{color:var(--fall)}
.row-edit{width:25px;height:25px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:18px;line-height:1}
.row-edit:hover{background:var(--soft);color:var(--ink)}
.empty-state{text-align:center;padding:39px 20px 40px}
.empty-symbol{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px}
.empty-symbol span{width:55px;height:65px;display:grid;place-items:center;border:1px solid #cbd9d4;border-radius:5px;background:var(--soft);font:500 16px Newsreader,Georgia,serif;color:#66818d;transform:rotate(-6deg)}
.empty-symbol span:nth-child(2){background:#fff8e7;border-color:#e8c96e;transform:translateY(-7px)}
.empty-symbol span:nth-child(3){transform:rotate(7deg)}
.empty-state h3{font:400 30px/1 Newsreader,Georgia,serif;margin:0 0 9px}
.empty-state p{max-width:300px;margin:0 auto 22px;color:var(--muted);font-size:12px;line-height:1.6}
.sample-link,.text-button{border:0;background:none;color:var(--blue);padding:4px;font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.sample-link{display:block;margin:16px auto 0}
.text-button:hover,.sample-link:hover{color:var(--ink)}
.parts-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px}
.parts-bottom p{font-size:10px;line-height:1.5;color:var(--muted);margin:0}
.share-panel{border-left:1px solid var(--line);padding-left:30px;min-width:0}
.share-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}
.share-topline>span:last-child{color:var(--muted);font-size:10px}
.poster{background:var(--ink);color:#fff;aspect-ratio:4/5;min-height:410px;padding:20px 21px 17px;display:flex;flex-direction:column;overflow:hidden}
.poster-brand{font-size:10px;font-weight:800;letter-spacing:.18em;color:#ecf2f1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.poster-brand span:first-child{color:var(--yellow)}
.poster-kicker{margin:15px 0 6px;color:#aebfce;font-size:10px;line-height:1.4}
.poster h3{font:400 clamp(29px,3vw,38px)/.98 Newsreader,Georgia,serif;letter-spacing:-.045em;margin:0 0 9px}
.yellow-dot{color:var(--yellow)}
.poster-rule{height:3px;width:66px;background:var(--yellow);margin-bottom:13px}
.poster-totals{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:end}
.poster-totals>div{min-width:0}
.poster-totals span:not(.poster-arrow){display:block;color:#aebfce;font-size:8px;letter-spacing:.09em;white-space:nowrap}
.poster-totals strong{display:block;font:400 clamp(20px,2vw,27px)/1 Newsreader,Georgia,serif;margin-top:6px;white-space:nowrap;letter-spacing:-.045em}
.poster-arrow{font:400 18px Newsreader,Georgia,serif;color:var(--yellow);padding-bottom:1px}
.poster-delta{font:400 24px/1 Newsreader,Georgia,serif;color:var(--yellow);margin-top:8px}
.poster-change{font-size:10px;color:#c8d5dd;margin-top:3px}
.poster-movers{margin-top:8px;border-top:1px solid #65839a;min-height:20px}
.poster-mover{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #65839a;padding:3px 0;font-size:9px;color:#edf2f4}
.poster-mover b{font-size:10px;white-space:nowrap}
.poster-footer{display:flex;justify-content:space-between;gap:8px;margin-top:auto;border-top:1px solid #65839a;padding-top:7px;color:#aebfce;font-size:8px;line-height:1.4}
.poster-footer span:last-child{text-align:right}
.share-actions{display:flex;gap:8px;margin-top:14px}
.share-actions .button{flex:1;padding-inline:10px}
.share-note{font-size:10px;color:var(--muted);line-height:1.55;margin:12px 0 0}
.how{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:70px 20px 75px}
.how h2{font:400 clamp(34px,4vw,53px)/1.05 Newsreader,Georgia,serif;letter-spacing:-.045em;margin:13px 0 0}
.how-steps{display:grid;gap:0}
.how-steps p{font-size:12px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding:13px 0;margin:0;display:grid;grid-template-columns:40px 1fr;gap:10px}
.how-steps b{font:400 22px/1 Newsreader,Georgia,serif;color:#b7891e}
.site-footer{margin:0 36px;padding:23px 0 35px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--muted);font-size:10px}
.site-footer strong{font:400 21px Newsreader,Georgia,serif;color:var(--ink)}
.dialog-backdrop{position:fixed;inset:0;z-index:10;background:#15354d9c;display:flex;align-items:center;justify-content:center;padding:18px}
.dialog{width:min(100%,650px);max-height:min(90vh,850px);overflow:auto;background:#fff;border-radius:15px;padding:28px 31px 30px;box-shadow:0 25px 80px #091b2c60}
.dialog-small{max-width:500px}
.dialog-heading{display:flex;justify-content:space-between;gap:18px;align-items:start}
.dialog-heading h2{font:400 37px/1.05 Newsreader,Georgia,serif;letter-spacing:-.04em;margin:8px 0 23px}
.close-button{border:0;background:var(--soft);border-radius:50%;width:32px;height:32px;color:var(--ink);font-size:22px;line-height:1}
.search-form{display:flex;gap:8px}
.search-form input,.price-form input{min-width:0;width:100%;border:1px solid #bdcecc;border-radius:6px;padding:11px 12px;background:#fff;color:var(--ink);font-size:13px}
.search-form input{flex:1}
.search-help,.search-prompt{font-size:11px;color:var(--muted);line-height:1.55}
.search-help{margin:10px 0 15px}
.search-prompt{margin:22px 0 7px}
.search-results{max-height:420px;overflow:auto}
.search-result{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:13px;border-top:1px solid var(--line);padding:12px 2px}
.search-result img,.search-result .image-fallback{width:58px;height:58px;object-fit:contain;background:#f3f6f4}
.search-result .image-fallback{display:grid;place-items:center;color:var(--muted);font:400 20px Newsreader,Georgia,serif}
.search-result h3{font-size:12px;line-height:1.35;margin:0 0 3px}
.search-result p{font-size:10px;color:var(--muted);margin:0}
.search-result strong{font-size:12px;white-space:nowrap}
.search-result .no-offer{color:var(--muted);font-size:10px}
.search-result button{border:1px solid var(--ink);border-radius:5px;background:#fff;color:var(--ink);padding:7px 10px;font-size:10px;font-weight:800;margin-top:5px}
.search-result button:hover{background:var(--soft)}
.search-result-action{text-align:right}
.selected-product{display:flex;align-items:center;gap:15px;border-block:1px solid var(--line);padding:14px 0;margin-bottom:19px}
.selected-product img{width:65px;height:65px;object-fit:contain;background:#f3f6f4}
.selected-product strong{display:block;font-size:12px;line-height:1.35}
.selected-product small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.price-form{display:grid;gap:14px}
.price-form label{display:block;font-size:11px;font-weight:800}
.price-form label span{font-weight:400;color:var(--muted)}
.price-form input{display:block;margin-top:6px}
.price-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.edit-history{margin-top:22px}
.edit-history h3{font:400 23px Newsreader,Georgia,serif;margin:0 0 8px}
.history-row{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:9px 0;font-size:11px;color:var(--muted)}
.history-row strong{color:var(--ink);white-space:nowrap}
.history-note{font-size:10px;color:var(--muted);margin:7px 0 0}
.danger{color:#aa4036}
.toast{position:fixed;z-index:20;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 16px;border-radius:7px;box-shadow:0 7px 25px #15354d38;font-size:12px;text-align:center;max-width:min(90vw,450px)}
@media(max-width:1080px){.workspace-grid{grid-template-columns:minmax(0,1fr) 315px;gap:20px}.share-panel{padding-left:20px}.part-row{grid-template-columns:58px minmax(0,1fr) 78px 80px 24px;gap:7px}.part-image{width:57px;height:57px}.part-price>strong{font-size:11px}}
@media(max-width:850px){.site-header{margin-inline:20px}.intro{padding-inline:6px;grid-template-columns:1fr 190px;gap:28px}.workspace{padding:23px 20px}.workspace-grid{grid-template-columns:1fr}.share-panel{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.poster{max-width:360px;margin:auto}.share-actions{max-width:360px;margin-inline:auto}.share-note{max-width:360px;margin-inline:auto}.site-footer{margin-inline:20px}}
@media(max-width:620px){.site-header{height:68px;gap:12px}.site-header nav{display:none}.market-pill{margin-left:auto;padding-left:10px;font-size:10px}.brand{font-size:15px}.brand-mark{width:33px;height:33px}.intro{display:block;padding:44px 4px 39px}.intro h1{font-size:clamp(55px,12vw,72px)}.intro-copy>p{font-size:14px}.intro-aside{display:none}.workspace{padding:20px 13px;border-radius:13px}.workspace-heading{align-items:start}.workspace-heading h2{font-size:36px}.workspace-heading-actions{display:block;text-align:right}.workspace-heading-actions .button{margin-top:8px;padding:8px 9px;min-height:36px;font-size:10px}.part-row{grid-template-columns:58px minmax(0,1fr) 24px;gap:8px}.part-price{grid-column:2;display:flex;gap:7px;align-items:baseline;text-align:left}.part-price>small{display:inline;margin:0}.part-price-now{grid-column:2;margin-top:-5px}.part-delta{display:inline;margin-left:7px}.row-edit{grid-column:3;grid-row:1/3}.part-image{grid-row:1/3}.part-identity{grid-column:2}.section-heading h3{font-size:24px}.how{grid-template-columns:1fr;gap:25px;padding:55px 3px}.site-footer{display:block}.site-footer span{display:block;margin-top:7px}.dialog{padding:22px 18px}.dialog-heading h2{font-size:31px}}
@media(max-width:390px){main{padding-inline:14px}.site-header{margin-inline:14px}.site-header .brand{font-size:13px}.market-pill{font-size:9px}.workspace-heading-actions .button{white-space:normal}.search-form{display:grid}.search-result{grid-template-columns:48px minmax(0,1fr)}.search-result img,.search-result .image-fallback{width:48px;height:48px}.search-result-action{grid-column:2;text-align:left}.poster{padding:22px 18px}.poster-totals strong{font-size:21px}}
/* The original editorial palette, with a guided builder and full comparison image. */
.market-control{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;white-space:nowrap}
.market-control select{max-width:176px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:6px;padding:8px 26px 8px 9px;font-size:11px;font-weight:800;cursor:pointer}
.site-header nav{margin-left:auto}.site-header .market-control{margin-left:0}
.intro{grid-template-columns:minmax(0,1fr) 290px;align-items:center;gap:38px}
.intro-copy strong{color:var(--ink)}
.quick-add{display:flex;gap:7px;align-items:center;max-width:700px;margin-top:27px;padding:5px;border:1px solid #bdcecc;border-radius:9px;background:#fff;box-shadow:0 6px 23px #183d680a}
.quick-icon{font-size:25px;color:var(--blue);line-height:1;margin-left:10px}
.quick-add input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);padding:10px 4px;font-size:12px;outline:0}
.quick-add input:focus-visible{outline:0}
.quick-add input::placeholder{color:#8594a0}
.intro-note{font-size:11px!important;color:var(--muted)!important;margin-top:11px!important}
.intro-aside{border-left:1px solid #cbd7d4;padding-left:20px;margin:0}
.intro-aside>div{display:block;padding:0;border:0}
.intro-aside .aside-top{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.intro-aside>p{font:400 23px/1.13 Newsreader,Georgia,serif;margin:13px 0 14px}
.aside-actions{display:grid;gap:0}
.intro-aside .aside-actions button{width:100%;display:flex;justify-content:space-between;gap:12px;padding:9px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font-size:11px;font-weight:800}
.aside-actions button:last-child{border-bottom:1px solid var(--line)}
.aside-actions button:hover{color:var(--blue)}
.aside-actions button span{color:#b7891e}
.intro-aside .aside-bottom{margin-top:11px;color:var(--muted);font-size:10px}
.workspace-heading p{font-size:11px;color:var(--muted);margin:7px 0 0}
.brand-dot{color:#b7891e}
.slot-guide{border-bottom:1px solid var(--line);padding:23px 0 27px}
.slot-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}
.slot-heading h3{font:400 27px/1 Newsreader,Georgia,serif;margin:5px 0 0;letter-spacing:-.025em}
.slot-heading>span{color:var(--muted);font-size:10px;white-space:nowrap}
.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.slot-card{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:66px;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);text-align:left}
.slot-card:hover,.slot-card.is-next{border-color:#aabdd1;box-shadow:0 2px 10px #183d680b}
.slot-card.is-filled{background:#f1f6f3;border-color:#bddecf}
.slot-card-copy{display:grid;gap:4px;min-width:0}
.slot-card small{font-size:9px;line-height:1.1;color:var(--muted);font-weight:800;letter-spacing:.04em}
.slot-card strong{font-size:11px;line-height:1.25;font-weight:800}
.slot-card.is-filled strong{color:#257d62}
.slot-card.is-filled .slot-card-copy strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.slot-card-icon{flex:0 0 23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#fff4cf;color:var(--ink);font-size:16px;line-height:1}
.slot-card.is-filled .slot-card-icon{background:#d5ecdf;color:#257d62}
.part-slot{display:inline-block;color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.08em;margin-bottom:3px}
.build-finish{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:26px 0 0;padding:19px 22px;background:#f6f8f6;border:1px solid var(--line);border-radius:10px}
.build-finish h3{font:400 27px/1 Newsreader,Georgia,serif;margin:6px 0 4px}
.build-finish p{color:var(--muted);font-size:11px;margin:0}
.finish-fields{display:flex;gap:10px}
.finish-fields label{display:grid;gap:5px;min-width:130px;color:var(--muted);font-size:10px;font-weight:800}
.finish-fields select{width:100%;border:1px solid #bdcecc;border-radius:6px;background:#fff;color:var(--ink);padding:9px 10px;font-size:12px}
.share-section{border-top:1px solid var(--line);margin-top:30px;padding-top:28px}
.share-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:19px}
.share-heading h3{font:400 35px/1 Newsreader,Georgia,serif;letter-spacing:-.035em;margin:7px 0 5px}
.share-heading p{color:var(--muted);font-size:12px;margin:0}
.share-actions{display:flex;gap:8px;margin:0;flex-wrap:wrap}
.share-actions .button{flex:none}
.poster{aspect-ratio:auto;min-height:0;display:block;border:1px solid #dce4e1;border-radius:10px;background:#f6f8f6;color:var(--ink);padding:24px 26px 21px;overflow:hidden}
.poster-header{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #ccd9dc;padding-bottom:9px}
.poster-brand{color:var(--ink);font-size:12px;letter-spacing:.1em}
.poster-header>span:last-child{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--muted);text-align:right}
.poster-headline{display:flex;align-items:end;justify-content:space-between;gap:22px;padding:16px 0 17px}
.poster-kicker{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 4px}
.poster h3{color:var(--ink);font:400 30px/1 Newsreader,Georgia,serif;margin:0}
.poster-headline strong{color:var(--rise);font:500 29px/1 Newsreader,Georgia,serif;white-space:nowrap}
.poster-headline strong.is-down{color:var(--fall)}
.poster-comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.12em;padding-bottom:7px}
.poster-comparison div:nth-child(2){text-align:right}
.poster-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.poster-placeholder{grid-column:1/-1;color:var(--muted);text-align:center;padding:33px 12px;margin:0;background:#fff;border:1px dashed #d3ddda;border-radius:7px;font-size:12px}
.poster-pair{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:stretch;gap:6px;min-width:0}
.poster-price-card{display:flex;align-items:center;gap:8px;min-width:0;min-height:78px;padding:7px;border:1px solid #dde5e3;border-radius:6px;background:#fff}
.poster-price-card.is-paid{border-left:3px solid var(--fall)}
.poster-price-card.is-now{border-right:3px solid var(--rise)}
.poster-price-card img{width:42px;height:42px;object-fit:contain;flex:0 0 42px}
.poster-price-card .image-fallback{width:42px;flex:0 0 42px;font:400 18px Newsreader,Georgia,serif;text-align:center;color:var(--muted)}
.poster-price-card-copy{min-width:0}
.poster-price-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px;font-weight:700}
.poster-price-card strong{display:block;font-size:12px;font-weight:800;line-height:1.2;white-space:nowrap}
.poster-price-card.is-paid strong{color:var(--fall)}
.poster-price-card.is-now strong{color:var(--rise)}
.poster-move{align-self:center;text-align:center;font-size:9px;font-weight:800;line-height:1.2;color:var(--rise);white-space:nowrap}
.poster-move.is-down{color:var(--fall)}
.poster-move span{display:block;font-size:14px}
.poster-total{display:grid;grid-template-columns:1fr 44px 1fr;align-items:end;gap:12px;margin-top:17px}
.poster-total>div{padding:9px 14px;border:2px solid var(--fall);border-radius:6px;background:#fff;text-align:center;min-width:0}
.poster-total>div:last-child{border-color:var(--rise)}
.poster-total span:not(.poster-total-arrow){display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.poster-total strong{display:block;color:var(--fall);font:500 31px/1 Newsreader,Georgia,serif;white-space:nowrap}
.poster-total>div:last-child strong{color:var(--rise)}
.poster-total-arrow{text-align:center;color:var(--rise);font:400 30px Newsreader,Georgia,serif}
.poster-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 15px;border-top:1px solid #ccd9dc;margin-top:16px;padding-top:11px;font-size:9px;color:var(--muted)}
.poster-bottom strong{color:var(--ink);font-weight:800}
.share-note{max-width:none;margin:10px 0 0}
@media(max-width:1050px){.poster-parts{grid-template-columns:1fr}.poster-price-card{min-height:70px}.poster-headline strong{font-size:25px}}
@media(max-width:850px){.intro{grid-template-columns:minmax(0,1fr) 260px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.site-header{gap:8px}.market-control>span{display:none}.market-control select{max-width:145px;padding:7px 4px;font-size:10px}.intro{display:block}.intro-aside{display:block;border-left:0;border-top:1px solid var(--line);padding:18px 0 0;margin-top:28px}.intro-aside>p{font-size:21px}.aside-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.quick-add{flex-wrap:wrap}.quick-add input{min-width:calc(100% - 52px)}.quick-add .button{width:100%}.slot-heading{align-items:start}.slot-heading h3{font-size:24px}.build-finish{display:block;padding:17px}.finish-fields{margin-top:14px}.share-heading{display:block}.share-actions{margin-top:15px}.share-actions .button{flex:1}.poster{padding:16px 12px}.poster-headline{display:block}.poster-headline strong{display:block;margin-top:10px;font-size:25px}.poster-comparison{gap:8px}.poster-pair{grid-template-columns:minmax(0,1fr) 55px minmax(0,1fr);gap:3px}.poster-price-card{padding:5px;min-height:62px;gap:4px}.poster-price-card img,.poster-price-card .image-fallback{width:31px;height:31px;flex-basis:31px}.poster-price-card small{font-size:7px}.poster-price-card strong{font-size:10px}.poster-move{font-size:8px}.poster-total{grid-template-columns:1fr 20px 1fr;gap:5px}.poster-total>div{padding:7px 3px}.poster-total strong{font-size:21px}.poster-total-arrow{font-size:20px}}
@media(max-width:390px){.finish-fields label{min-width:0;flex:1}.slot-card{padding:8px}.slot-card strong{font-size:10px}.poster-price-card img,.poster-price-card .image-fallback{display:none}.poster-price-card strong{font-size:9px}}
.poster-price-card.is-paid{border-left-color:var(--blue)}
.poster-price-card.is-now{border-right-color:var(--rise)}
.poster-price-card.is-paid strong,.poster-total>div:first-child strong{color:var(--blue)}
.poster-total>div:first-child{border-color:var(--blue)}
.poster-parts.is-single{grid-template-columns:1fr}
/* Mobile-first entry: the build starts with components, not a marketing hero. */
.start-panel{padding:33px 25px 22px}
.start-copy{display:flex;align-items:end;justify-content:space-between;gap:28px}
.start-copy h1{font:400 clamp(40px,4.2vw,58px)/1.02 Newsreader,Georgia,serif;letter-spacing:-.05em;margin:9px 0 0}
.start-copy p{max-width:450px;color:#526d7e;font-size:13px;line-height:1.6;margin:0 0 4px}
.start-panel .slot-guide{padding:22px 0 0;border:0}
.start-panel .slot-heading{align-items:center;margin-bottom:12px}
.start-panel .slot-heading h2{font:400 24px/1.1 Newsreader,Georgia,serif;letter-spacing:-.025em;margin:0}
.start-panel .slot-card{min-height:62px}
.start-panel .quick-add{display:block;max-width:none;margin:20px 0 0;padding:14px 16px;background:#f6f8f6;border:1px solid var(--line);border-radius:9px;box-shadow:none}
.quick-add>label{display:block;color:var(--muted);font-size:10px;font-weight:800;margin-bottom:8px}
.quick-add-controls{display:flex;gap:7px}
.quick-add-controls input{flex:1;min-width:0;width:100%;border:1px solid #bdcecc;border-radius:6px;background:#fff;color:var(--ink);padding:10px 11px;font-size:12px}
.quick-add-controls .button{flex:0 0 auto;min-height:41px}
.workspace{margin-top:3px}
.empty-state{padding:22px 10px 16px;text-align:left}
.empty-state p{max-width:none;margin:0;color:var(--muted);font-size:11px}
@media(max-width:850px){.start-copy{display:block}.start-copy p{margin-top:7px}.start-panel{padding:28px 5px 20px}}
@media(max-width:620px){.start-panel{padding:19px 3px 17px}.start-copy h1{font-size:38px;line-height:1.04;margin-top:6px}.start-copy p{font-size:12px;line-height:1.5;margin-top:7px}.start-panel .slot-guide{padding-top:19px}.start-panel .slot-heading h2{font-size:21px}.start-panel .slot-card{min-height:65px}.start-panel .quick-add{margin-top:14px;padding:11px}.quick-add>label{font-size:10px}.quick-add-controls input{font-size:12px}.quick-add-controls .button{padding:8px 10px;gap:0;font-size:11px}.workspace{margin-top:0}.workspace-heading h2{font-size:31px}.workspace-heading p{display:none}.empty-state{padding:16px 5px}.dialog-backdrop{align-items:flex-end;padding:0}.dialog{width:100%;max-height:90dvh;border-radius:16px 16px 0 0;padding:20px 18px 24px}.dialog-heading h2{font-size:29px;margin-bottom:16px}.price-form input{font-size:17px;min-height:48px}.price-form-actions .button{min-height:46px}}
@media(max-width:390px){.start-copy h1{font-size:35px}.start-panel .slot-card{padding:8px}.start-panel .slot-card strong{font-size:10px}.quick-add-controls .button{font-size:10px}}
.quick-add-controls input{width:auto;min-width:0}
.quick-add-controls .button{width:auto;min-width:90px}
/* Recognisable component icons make the first tap easier to choose. */
.slot-glyph{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#eaf2f6;color:var(--blue)}
.slot-glyph svg{display:block;width:28px;height:28px}
.slot-product-image{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;overflow:hidden;border:1px solid #dce8e3;border-radius:8px;background:#fff}
.slot-product-image img{display:block;width:100%;height:100%;object-fit:contain}
.slot-product-image .slot-glyph{width:100%;height:100%;border-radius:0}
.slot-card.is-next .slot-glyph{background:#fff3ce;color:var(--ink)}
.slot-card.is-filled .slot-glyph{background:#dceee3;color:var(--fall)}
.slot-card-copy{flex:1}
.start-panel .slot-card{min-height:72px}
@media(max-width:620px){.slot-glyph{flex-basis:34px;width:34px;height:34px}.slot-glyph svg{width:26px;height:26px}.slot-product-image{flex-basis:38px;width:38px;height:38px}.start-panel .slot-card{min-height:72px;gap:6px}}
@media(max-width:350px){.slot-card-icon{display:none}}
/* A compact build board and a receipt worth keeping. */
:root {
  --mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;
  --paper:#fffefa
}
body {
  background:var(--paper)
}
.site-header {
  height:72px
}
.brand-mark {
  border-radius:4px
}
.brand {
  letter-spacing:-.035em
}
.start-copy {
  display:block;
  max-width:760px
}
.start-copy p {
  max-width:570px;
  margin-top:12px;
  font-size:14px
}
.start-copy h1 {
  max-width:680px
}
.start-panel {
  padding-top:35px
}
.start-panel .slot-guide {
  padding-top:26px
}
.slot-card {
  transition:border-color .16s,background .16s,transform .16s
}
.slot-card:active {
  transform:scale(.98)
}
.slot-card.is-filled {
  background:#fff;
  border-color:#b8cbd1
}
.slot-card.is-filled strong {
  color:var(--ink)
}
.slot-card small {
  font-size:8px;
  letter-spacing:.06em
}
.slot-delta {
  font:600 10px/1.3 var(--mono);
  color:var(--rise);
  overflow-wrap:anywhere
}
.slot-delta.is-down {
  color:var(--fall)
}
.slot-card.is-filled .slot-card-icon {
  background:#edf2f4;
  color:var(--ink)
}
.start-panel .slot-card {
  min-height:82px
}
.slot-card-copy {
  gap:5px
}
.category-help {
  font-size:12px;
  line-height:1.6;
  color:var(--muted);
  margin:0 0 18px
}
#multi-part-help {
  padding:13px 15px;
  background:#fff7db;
  border-left:3px solid var(--yellow);
  border-radius:3px
}
#multi-part-help strong {
  color:var(--ink);
  font-size:13px
}
#multi-part-help p {
  margin:5px 0 0
}
.part-added-product {
  font-size:13px;
  font-weight:700;
  overflow-wrap:anywhere
}
.add-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px
}
.add-actions .button {
  min-height:48px;
  flex:1
}
.build-reset {
  padding:0;
  text-align:right
}
.slot-heading-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:4px 12px
}
.slot-heading-actions #slot-progress {
  color:var(--muted);
  white-space:nowrap
}
.build-reset .text-button {
  min-height:44px;
  padding:10px 0
}
.button-danger {
  background:#aa4036;
  border:1px solid #aa4036;
  color:#fff
}
#clear-description {
  font-size:13px;
  line-height:1.7
}
.reality-check {
  margin-top:22px;
  border:1px solid #d1ddd9;
  border-top:3px solid var(--ink);
  background:#f2f5f1;
  padding:22px 26px 16px;
  border-radius:3px;
  scroll-margin-top:16px
}
.reality-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.receipt-stamp {
  font:700 9px/1.2 var(--mono);
  letter-spacing:.08em;
  border:1px solid #aebfc4;
  padding:6px 8px;
  white-space:nowrap;
  transform:rotate(-3deg);
  color:var(--ink)
}
.reality-check h2 {
  font:400 34px/1.1 Newsreader,Georgia,serif;
  margin:15px 0 10px;
  letter-spacing:-.035em
}
.reality-result {
  display:flex;
  align-items:baseline;
  gap:18px;
  flex-wrap:wrap
}
.reality-result>strong {
  font:700 clamp(36px,5vw,56px)/1.1 var(--mono);
  letter-spacing:-.06em;
  color:var(--rise)
}
.reality-result>span {
  font:500 12px var(--mono);
  color:var(--muted)
}
.reality-check.is-down .reality-result>strong {
  color:var(--fall)
}
.reality-totals {
  display:grid;
  grid-template-columns:1fr 30px 1fr;
  gap:12px;
  border-block:1px dashed #b8c9c8;
  margin-top:20px;
  padding:15px 0;
  align-items:center
}
.reality-totals>div:last-child {
  text-align:right
}
.reality-totals div>span {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-bottom:5px
}
.reality-totals strong {
  font:600 24px/1.2 var(--mono);
  letter-spacing:-.05em;
  overflow-wrap:anywhere
}
.total-arrow {
  color:#8b9ca4;
  text-align:center
}
.summary-coverage {
  font-size:10px;
  line-height:1.65;
  color:var(--muted);
  margin:10px 0 0;
  max-width:650px
}
.summary-actions {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:12px
}
.summary-actions .text-button {
  min-height:44px;
  text-align:left
}
.summary-actions .button {
  min-height:44px
}
.workspace {
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:30px 25px;
  margin-top:0
}
.workspace-heading {
  align-items:center;
  border-top:1px solid var(--line);
  padding-top:23px;
  padding-bottom:0;
  border-bottom:0
}
.workspace-heading h2 {
  font-size:34px;
  line-height:1.1
}
.build-name-field {
  margin-top:22px
}
.build-name-field>label {
  display:block;
  font-size:12px;
  font-weight:700;
  margin-bottom:7px
}
.build-name-field>label span {
  font-weight:400;
  font-size:10px;
  color:var(--muted);
  margin-left:8px
}
.build-name-field input {
  width:100%;
  max-width:470px;
  border:1px solid #bdcecc;
  border-radius:6px;
  min-height:48px;
  background:#fff;
  padding:10px 12px;
  font:inherit;
  color:var(--ink)
}
.build-name-field>p {
  font-size:10px;
  color:var(--muted);
  margin:6px 0 0
}
.build-finish {
  padding:0;
  margin-top:23px;
  background:none;
  border:0;
  align-items:end
}
.build-finish .eyebrow {
  display:none
}
.build-finish h3 {
  font:700 12px/1.5 'Plus Jakarta Sans',Arial,sans-serif;
  margin:0 0 5px
}
.build-finish p {
  max-width:350px;
  font-size:10px
}
.finish-fields {
  gap:10px
}
.finish-fields label {
  min-width:0
}
.finish-fields select {
  min-height:46px;
  font-size:14px
}
.share-section {
  margin-top:30px;
  border-top:1px solid var(--line);
  padding-top:26px
}
.share-heading h3 {
  font-size:36px
}
.share-heading p {
  font-size:12px
}
.share-actions {
  flex-wrap:wrap
}
.share-actions .button {
  min-height:46px
}
.receipt-options {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:22px 0 14px
}
.receipt-options label {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  font-weight:700
}
.receipt-options select {
  font:500 12px 'Plus Jakarta Sans',Arial,sans-serif;
  color:var(--ink);
  padding:10px 8px;
  background:#fff;
  border:1px solid #bdcecc;
  border-radius:6px;
  min-height:44px
}
.receipt-options>span {
  font-size:10px;
  color:var(--muted)
}
.poster {
  max-width:560px!important;
  margin-inline:auto!important;
  background:#fffefa;
  aspect-ratio:auto;
  min-height:0;
  border:1px solid #dbe3e1;
  border-top:4px solid var(--ink);
  border-radius:0;
  padding:24px!important;
  color:var(--ink);
  box-shadow:0 10px 30px #183d6808;
  position:relative;
  overflow:visible
}
.poster:after {
  content:'';
  position:absolute;
  bottom:-7px;
  left:-1px;
  right:-1px;
  height:8px;
  background:linear-gradient(135deg,#fffefa 25%,transparent 25%) -8px 0/16px 16px,linear-gradient(225deg,#fffefa 25%,transparent 25%) -8px 0/16px 16px
}
.poster-header {
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  border-bottom:1px dashed #bac9ce;
  padding-bottom:15px
}
.poster-brand {
  color:var(--ink);
  font-size:13px;
  letter-spacing:.1em
}
.poster-header #poster-period {
  flex-basis:100%;
  font-size:11px;
  font-weight:600;
  overflow-wrap:anywhere;
  color:var(--muted);
  margin-top:7px
}
.poster-headline {
  display:block;
  margin:21px 0
}
.poster-kicker {
  font-size:9px;
  color:var(--muted);
  margin-bottom:6px
}
.poster h3 {
  font-size:36px;
  line-height:1.1;
  margin:5px 0 12px
}
.poster-headline>strong {
  font:700 22px/1.3 var(--mono);
  letter-spacing:-.04em;
  color:var(--rise);
  overflow-wrap:anywhere
}
.poster-headline>strong.is-down {
  color:var(--fall)
}
#poster-headline-coverage {
  font-size:10px;
  color:var(--muted)
}
.poster-comparison {
  display:flex;
  justify-content:space-between;
  border-block:1px dashed #bac9ce;
  padding:9px 0;
  font:600 8px var(--mono);
  color:var(--muted)
}
.poster-parts {
  display:block
}
.receipt-part {
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px 0;
  border-bottom:1px solid #e2e7e2;
  break-inside:avoid
}
.receipt-part-image {
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center
}
.receipt-part-image img {
  width:42px;
  height:42px;
  object-fit:contain
}
.receipt-part-image .image-fallback {
  font:600 12px var(--mono);
  color:var(--muted)
}
.receipt-part-copy {
  min-width:0;
  flex:1
}
.receipt-part-copy>strong {
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:11px;
  line-height:1.5;
  font-weight:600
}
.receipt-part-prices {
  display:flex;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
  margin-top:5px;
  font:500 10px/1.5 var(--mono);
  color:var(--muted)
}
.receipt-part-prices b {
  color:var(--ink);
  font-weight:700
}
.poster-total {
  grid-template-columns:1fr 18px 1fr;
  border-bottom:3px solid var(--yellow);
  padding-bottom:15px;
  gap:4px;
  margin-top:22px
}
.poster-total>div,.poster-total>div:last-child {
  border:0;
  border-radius:0;
  background:none;
  padding:0;
  text-align:left
}
.poster-total>div:last-child {
  text-align:right
}
.poster-total span:not(.poster-total-arrow) {
  font:500 8px/1.5 var(--mono);
  letter-spacing:0;
  min-height:25px
}
.poster-total strong,.poster-total>div:first-child strong,.poster-total>div:last-child strong {
  font:700 21px/1.3 var(--mono);
  letter-spacing:-.055em;
  white-space:normal;
  overflow-wrap:anywhere;
  color:var(--ink)
}
.poster-total-arrow {
  font-size:20px;
  color:var(--muted)
}
.poster-bottom {
  display:block;
  border:0;
  margin-top:13px;
  padding-top:0;
  font:500 8px/1.8 var(--mono)
}
.poster-bottom>span {
  display:block
}
.poster-bottom strong {
  display:block;
  margin-top:9px;
  overflow-wrap:anywhere;
  font-size:8px
}
.share-note {
  max-width:560px;
  margin:18px auto 0;
  font-size:10px
}
.mobile-result {
  display:none
}
.dialog {
  overscroll-behavior:contain
}
.dialog-heading {
  position:sticky;
  top:-28px;
  z-index:1;
  background:#fff;
  padding-top:5px
}
.close-button {
  width:44px;
  height:44px;
  flex:0 0 44px
}
.row-edit {
  width:44px;
  height:44px
}
.parts-bottom {
  align-items:start;
  flex-wrap:wrap
}
.parts-bottom .text-button {
  min-height:44px
}
.parts-bottom p {
  overflow-wrap:anywhere
}
.part-name {
  overflow-wrap:anywhere
}
.section-heading {
  gap:8px;
  flex-wrap:wrap
}
.section-heading>span {
  font-size:10px
}
.part-meta {
  overflow-wrap:anywhere
}
.status-no-offer {
  overflow-wrap:anywhere
}
#add-to-slot {
  margin:0 0 18px;
  min-height:46px
}
.search-form input,.quick-add-controls input {
  font-size:16px;
  min-height:48px
}
.search-form .button,.search-result button {
  min-height:44px
}
.search-result button {
  font-size:12px
}
.search-result h3 {
  overflow-wrap:anywhere
}
.price-form-actions {
  position:sticky;
  bottom:0;
  background:#fff;
  padding-block:12px
}
.price-form-actions .button {
  white-space:normal
}
.dialog-backdrop {
  height:var(--visual-height,100dvh);
  top:var(--visual-top,0px);
  bottom:auto
}
.dialog {
  max-height:calc(var(--visual-height,100dvh) - 36px)
}
.search-skeleton {
  height:80px;
  border-top:1px solid var(--line);
  margin-top:10px;
  background:linear-gradient(100deg,#eef2ef 25%,#fafbf9 45%,#eef2ef 65%);
  background-size:200% 100%;
  animation:searching 1.5s linear infinite;
  border-radius:6px
}
@keyframes searching {
  to {
    background-position:-200% 0
  }
}
:focus-visible {
  outline:3px solid var(--yellow);
  outline-offset:3px
}
.quick-add-controls input:focus-visible {
  outline:3px solid var(--yellow);
  outline-offset:1px
}
@media(max-width:850px) {
  .workspace {
    padding-inline:5px
  }
  .start-panel {
    padding-inline:5px
  }
  .slot-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:620px) {
  main {
    padding-inline:16px
  }
  .site-header {
    margin-inline:19px;
    height:64px;
    gap:8px
  }
  .brand {
    font-size:16px
  }
  .market-control select {
    max-width:155px;
    font-size:10px;
    min-height:44px;
    padding-inline:6px
  }
  .site-header .market-control {
    margin-left:auto
  }
  .start-panel {
    padding:22px 0 20px
  }
  .start-copy h1 {
    font-size:37px;
    max-width:340px
  }
  .start-copy .eyebrow {
    font-size:9px
  }
  .start-copy p {
    font-size:12px;
    line-height:1.6;
    margin:9px 0 0
  }
  .start-panel .slot-guide {
    padding-top:22px
  }
  .start-panel .slot-heading {
    margin-bottom:12px
  }
  .start-panel .slot-heading h2 {
    font-size:22px
  }
  #slot-progress {
    font-size:9px
  }
  .slot-grid {
    gap:8px
  }
  .start-panel .slot-card {
    padding:10px 8px;
    gap:7px;
    min-height:78px;
    border-radius:6px
  }
  .slot-glyph {
    flex-basis:30px;
    width:30px;
    height:34px;
    background:none
  }
  .slot-glyph svg {
    width:27px;
    height:27px
  }
  .slot-product-image {
    flex-basis:32px;
    width:32px;
    height:38px;
    border:0
  }
  .slot-card-icon {
    flex-basis:18px;
    width:18px;
    height:18px;
    font-size:12px
  }
  .slot-card.is-filled .slot-card-icon {
    display:none
  }
  .slot-card small {
    font-size:7px
  }
  .start-panel .slot-card strong {
    font-size:10px;
    line-height:1.35
  }
  .slot-delta {
    font-size:9px
  }
  .slot-card-copy {
    gap:4px
  }
  .reality-check {
    padding:17px 16px 12px;
    margin-top:18px
  }
  .reality-top .eyebrow {
    font-size:8px;
    letter-spacing:.08em
  }
  .receipt-stamp {
    font-size:8px;
    padding:5px
  }
  .reality-check h2 {
    font-size:29px;
    margin:17px 0 10px
  }
  .reality-result {
    gap:8px 12px
  }
  .reality-result>strong {
    font-size:42px
  }
  .reality-result>span {
    font-size:10px
  }
  .reality-totals {
    margin-top:16px;
    gap:5px;
    grid-template-columns:1fr 20px 1fr
  }
  .reality-totals strong {
    font-size:22px
  }
  .reality-totals div>span {
    font-size:9px
  }
  .summary-coverage {
    font-size:9px
  }
  .summary-actions .button {
    font-size:11px;
    padding-inline:12px
  }
  .summary-actions .text-button {
    font-size:10px
  }
  .start-panel .quick-add {
    margin-top:16px;
    padding:10px
  }
  .quick-add>label {
    font-size:9px;
    line-height:1.5
  }
  .quick-add-controls input {
    font-size:16px;
    padding:10px 8px
  }
  .quick-add-controls .button {
    min-width:78px;
    min-height:48px;
    padding-inline:8px;
    font-size:10px
  }
  .workspace {
    padding:4px 0 20px
  }
  .workspace-heading {
    gap:10px;
    align-items:start;
    padding-top:22px
  }
  .workspace-heading h2 {
    font-size:28px
  }
  .workspace-heading .button {
    font-size:10px;
    min-height:44px;
    padding-inline:10px
  }
  .build-name-field {
    margin-top:20px
  }
  .build-name-field input {
    font-size:16px
  }
  .build-finish {
    margin-top:20px;
    padding:0
  }
  .finish-fields {
    margin-top:10px;
    display:flex
  }
  .finish-fields label {
    flex:1
  }
  .finish-fields select {
    width:100%;
    font-size:16px;
    min-height:48px
  }
  .share-section {
    margin-top:25px;
    padding-top:23px
  }
  .share-heading h3 {
    font-size:33px
  }
  .share-heading p {
    font-size:11px
  }
  .share-actions {
    display:flex;
    gap:8px
  }
  .share-actions .button {
    font-size:11px
  }
  .receipt-options>span {
    display:none
  }
  .receipt-options {
    margin-top:15px
  }
  .receipt-options label {
    width:100%;
    justify-content:space-between
  }
  .poster {
    padding:20px 17px!important
  }
  .poster h3 {
    font-size:32px
  }
  .poster-headline>strong {
    font-size:20px
  }
  .poster-total strong,.poster-total>div:first-child strong,.poster-total>div:last-child strong {
    font-size:21px
  }
  .receipt-part-prices {
    font-size:9px
  }
  .poster-total span:not(.poster-total-arrow) {
    font-size:7px
  }
  .poster-brand {
    font-size:12px
  }
  .mobile-result:not([hidden]) {
    display:flex;
    position:fixed;
    z-index:8;
    bottom:0;
    left:0;
    right:0;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:10px 18px calc(10px + env(safe-area-inset-bottom));
    background:#fffefa;
    border-top:1px solid #c5d4d3;
    box-shadow:0 -5px 25px #183d6809
  }
  .mobile-result>a {
    min-width:0;
    display:grid;
    gap:2px;
    min-height:44px
  }
  .mobile-result>a>span {
    font-size:9px;
    color:var(--muted)
  }
  .mobile-result strong {
    font:700 19px/1.3 var(--mono);
    color:var(--rise)
  }
  .mobile-result strong.is-down {
    color:var(--fall)
  }
  .mobile-result .button {
    min-height:46px;
    font-size:11px;
    padding-inline:15px
  }
  body:has(#mobile-result:not([hidden])) {
    padding-bottom:calc(85px + env(safe-area-inset-bottom))
  }
  body:has(.dialog-backdrop:not([hidden])) .mobile-result {
    display:none
  }
  body:has(.dialog-backdrop:not([hidden])) .toast {
    bottom:calc(15px + env(safe-area-inset-bottom))
  }
  .toast {
    bottom:calc(88px + env(safe-area-inset-bottom));
    font-size:11px
  }
  .dialog-backdrop {
    padding:0
  }
  .dialog {
    max-height:calc(var(--visual-height,100dvh) - 10px);
    border-radius:18px 18px 0 0;
    padding:10px 18px calc(18px + env(safe-area-inset-bottom))
  }
  .dialog:before {
    content:'';
    display:block;
    width:32px;
    height:4px;
    background:#ccd7d7;
    border-radius:4px;
    margin:0 auto 12px
  }
  .dialog-heading {
    top:-10px;
    padding-top:4px
  }
  .dialog-heading h2 {
    font-size:30px;
    line-height:1.15;
    margin-bottom:17px
  }
  .dialog-heading .eyebrow {
    font-size:9px
  }
  .search-form {
    display:flex;
    gap:7px
  }
  .search-form input {
    flex:1;
    width:0
  }
  .search-form .button {
    font-size:11px;
    padding-inline:12px
  }
  .search-results {
    max-height:none
  }
  .search-result {
    grid-template-columns:44px minmax(0,1fr);
    gap:10px
  }
  .search-result img {
    width:44px;
    height:44px
  }
  .search-result-action {
    grid-column:2;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    text-align:left
  }
  .search-result-action br {
    display:none
  }
  .search-result-action strong {
    font-size:12px
  }
  .search-result h3 {
    font-size:12px
  }
  .search-result-action button {
    margin-top:0;
    flex-shrink:0
  }
  .search-help {
    font-size:11px
  }
  .price-form-actions {
    bottom:calc(-18px - env(safe-area-inset-bottom));
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
    gap:10px
  }
  .price-form-actions .button {
    min-height:48px;
    font-size:12px
  }
  .price-form-actions .text-button {
    min-height:44px
  }
  .price-form input {
    font-size:20px;
    min-height:54px
  }
  .part-row {
    grid-template-columns:44px minmax(0,1fr) 44px;
    gap:8px
  }
  .part-image {
    width:44px;
    height:44px
  }
  .part-price-now {
    flex-wrap:wrap
  }
  .part-delta {
    margin-left:0
  }
  .part-meta {
    font-size:9px
  }
  .part-link {
    display:inline-flex;
    align-items:center;
    min-height:36px
  }
  .how {
    padding:30px 0 40px;
    gap:22px
  }
  .how h2 {
    font-size:38px
  }
  .how-steps p {
    font-size:12px
  }
  .site-footer {
    margin-inline:16px
  }
}
@media(max-width:350px) {
  .brand {
    font-size:14px
  }
  .brand-mark {
    width:29px;
    height:29px;
    font-size:24px
  }
  .market-control select {
    max-width:145px;
    font-size:9px
  }
  .site-header {
    margin-inline:16px;
    gap:4px
  }
  .start-copy h1 {
    font-size:33px
  }
  .reality-top {
    gap:5px
  }
  .receipt-stamp {
    font-size:7px
  }
  .reality-top .eyebrow {
    font-size:7px
  }
  .reality-totals strong {
    font-size:19px
  }
  .poster-headline>strong {
    font-size:17px
  }
  .poster-total strong,.poster-total>div:first-child strong,.poster-total>div:last-child strong {
    font-size:18px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
}
.reality-check {
  color:var(--ink)
}
.reality-totals strong {
  color:var(--ink)
}
.site-footer .brand-dot {
  display:inline;
  margin:0
}
@media(min-width:621px) {
  .part-row {
    grid-template-columns:52px minmax(0,1fr) 85px 90px 44px
  }
}
.brand {
  min-height:44px
}
@media(max-width:620px) {
  .start-panel .slot-card {
    min-height:84px
  }
  .start-panel .slot-card strong {
    font-size:11.5px
  }
  .slot-card small {
    font-size:8px
  }
  .slot-delta {
    font-size:9.5px
  }
}

/* Build components alongside the result and sharing controls. */
.start-panel{padding:32px 16px 28px}
.start-copy{max-width:720px}
.start-copy h1{max-width:650px;font-size:clamp(38px,4.6vw,62px);line-height:1.02}
.start-copy p{font-size:15px;line-height:1.6;max-width:560px;margin-top:14px}
.build-layout{display:grid;gap:26px;margin-top:30px;align-items:start}
.components-panel{min-width:0}
.start-panel .slot-guide{padding-top:0}
.start-panel .slot-heading{margin-bottom:6px;align-items:baseline}
.start-panel .slot-heading h2{font-size:29px}
#slot-progress{font-size:11px}
.build-instruction{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 16px}
.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.start-panel .slot-card{min-height:96px;padding:14px 12px;gap:10px;border-radius:9px}
.start-panel .slot-card strong{font-size:14px;line-height:1.4}
.slot-card small{font-size:10px;letter-spacing:.025em}
.slot-card-copy{gap:5px}
.slot-card-icon{flex:0 0 20px;width:20px;height:20px;font-size:14px}
.slot-glyph{width:38px;height:40px;flex-basis:38px}
.slot-product-image{width:46px;height:50px;flex-basis:46px;background:#fff;border:0}
.slot-product-image img{object-fit:contain}
.slot-delta{font-size:11px;line-height:1.45}
.start-panel .quick-add{margin-top:18px;padding:14px}
.quick-add>label{font-size:12px;line-height:1.5}
.quick-add-controls .button{min-height:48px;font-size:12px}
.workspace.results-column{padding:0;min-width:0;margin:0;border:0}
.reality-check{margin:0;padding:22px;border-radius:10px;background:#f2f5f1}
.reality-top .eyebrow{font-size:9px;letter-spacing:.1em}
.reality-check h2{font-size:30px;margin:20px 0 16px}
.reality-totals{display:block;margin:0;padding:0;border:0}
.reality-totals>div:last-child{text-align:left}
.reality-totals div>span{font-size:12px;margin-bottom:6px}
.reality-totals .current-total strong{display:block;font:700 clamp(32px,3.2vw,46px)/1.2 var(--mono);letter-spacing:-.06em;color:var(--ink)}
.reality-totals .paid-total{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:12px}
.reality-totals .paid-total strong{font-size:17px;letter-spacing:-.03em}
.reality-result{display:flex;gap:8px 12px;align-items:baseline;margin-top:16px;padding-top:14px;border-top:1px dashed #bdcecc}
.reality-result>span{font:600 13px/1.6 var(--mono);color:var(--rise)}
.reality-result>strong{font:600 13px/1.6 var(--mono);letter-spacing:0}
.reality-check.is-down .reality-result>span{color:var(--fall)}
.summary-coverage{font-size:11px;line-height:1.7;margin-top:10px}
.summary-actions{margin-top:8px;gap:8px;flex-wrap:wrap}
.summary-actions .text-button{font-size:12px;min-height:44px;padding:8px 0}
.share-section{margin-top:22px;padding:0;border:0;scroll-margin-top:20px}
.share-heading{display:block}
.share-heading .eyebrow{display:none}
.share-heading h3{font:400 31px/1.15 Newsreader,Georgia,serif;letter-spacing:-.035em;margin:0 0 6px}
.share-heading p{font-size:13px;line-height:1.6;margin:0 0 14px;color:var(--muted)}
.receipt-preview{background:#edf2ef;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.receipt-thumbnail{display:flex;position:relative;align-items:center;justify-content:center;min-height:240px;width:100%;padding:14px 16px 42px;background:transparent;border:0;color:var(--ink);cursor:zoom-in}
.receipt-thumbnail:disabled{opacity:1;cursor:wait}
.receipt-thumbnail img{display:block;max-width:100%;height:240px;object-fit:contain;filter:drop-shadow(0 4px 7px #183d6812)}
#preview-placeholder{font-size:12px;line-height:1.6;max-width:240px}
.preview-enlarge{position:absolute;bottom:12px;left:12px;right:12px;font-size:11px;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.receipt-thumbnail:disabled .preview-enlarge{display:none}
.share-actions{display:flex;gap:8px;margin:0;max-width:none}
.share-actions .button{flex:1;min-width:0;min-height:48px;font-size:12px;gap:6px;padding-inline:12px}
.image-customization{margin-top:4px;border-block:1px solid var(--line)}
.image-customization>summary{display:flex;align-items:center;gap:8px;min-height:52px;padding:12px 0;font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.image-customization>summary::-webkit-details-marker{display:none}
.image-customization>summary:after{content:'+';margin-left:auto;font-size:20px;font-weight:500}
.image-customization[open]>summary:after{content:'−'}
.image-customization>summary span{font-size:11px;font-weight:400;color:var(--muted)}
.customization-fields{padding:0 0 18px}
.customization-fields .build-name-field{margin-top:5px}
.customization-fields .build-name-field input{max-width:none;font-size:16px}
.customization-fields .build-name-field>p{font-size:11px}
.customization-fields .build-finish{display:block;margin-top:18px}
.customization-fields .build-finish p{font-size:12px}
.customization-fields .finish-fields{display:flex;margin-top:10px}
.customization-fields .finish-fields label{flex:1;min-width:0;font-size:12px}
.customization-fields .finish-fields select{width:100%;font-size:16px}
.customization-fields .receipt-options{margin:18px 0 0}
.customization-fields .receipt-options label{width:100%;justify-content:space-between;font-size:12px}
.customization-fields .receipt-options select{font-size:16px;max-width:65%;min-height:48px;border-radius:6px}
.customization-fields .receipt-options>span{display:none}
.share-note{font-size:11px;line-height:1.65;margin:12px 0 0;max-width:none}
.receipt-dialog{max-width:760px;padding:20px;max-height:calc(var(--visual-height,100dvh) - 32px)}
.receipt-dialog .dialog-heading{top:-20px;padding-top:8px;align-items:center}
.receipt-dialog .dialog-heading h2{font:400 30px/1.2 Newsreader,Georgia,serif;margin:0}
#full-receipt-image{display:block;width:100%;height:auto;background:#edf2ef}
.mobile-result strong,.mobile-result strong.is-down{color:var(--ink)}
@media(min-width:1024px){
  .build-layout{grid-template-columns:minmax(0,1fr) minmax(340px,380px);gap:36px}
  .build-layout:not(:has(#builder:not([hidden]))){grid-template-columns:minmax(0,1fr)}
  .build-layout:not(:has(#builder:not([hidden]))) .slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .start-panel .slot-card{min-height:102px}
  .receipt-thumbnail img{height:210px}
  .receipt-thumbnail{min-height:245px}
  .how{padding-top:36px;padding-bottom:48px}
}
@media(min-width:1024px){
  .mobile-result.summary-above:not([hidden]){display:flex;position:fixed;z-index:8;top:16px;right:max(52px,calc((100vw - 1320px)/2 + 52px));width:380px;max-width:calc(100vw - 40px);padding:12px 16px;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:10px;background:#fffefa;box-shadow:0 6px 24px #183d6818}
  .mobile-result>a{display:grid;gap:2px;min-width:0}
  .mobile-result>a>span{font-size:11px;color:var(--muted)}
  .mobile-result strong{font:700 22px/1.3 var(--mono)}
  body:has(.dialog-backdrop:not([hidden])) .mobile-result{display:none}
}
@media(min-width:621px) and (max-width:1023px){
  .start-panel{max-width:760px;margin-inline:auto}
  .slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .start-panel .slot-card{flex-wrap:wrap;justify-content:start;min-height:112px}
  .slot-card-icon{display:none}
  .receipt-thumbnail img{height:260px}
}
@media(max-width:620px){
  .start-panel{padding:22px 0 24px}
  .start-copy h1{font-size:clamp(34px,9.5vw,41px);max-width:390px}
  .start-copy p{font-size:14px;line-height:1.6;margin-top:12px;max-width:350px}
  .build-layout{margin-top:24px;gap:24px}
  .start-panel .slot-heading h2{font-size:26px}
  #slot-progress{font-size:11px}
  .build-instruction{font-size:12px;margin-bottom:14px}
  .slot-grid{gap:8px}
  .start-panel .slot-card{padding:12px 10px;min-height:88px;gap:8px;align-items:center}
  .start-panel .slot-card strong{font-size:13px;line-height:1.4}
  .slot-card small{font-size:9px}
  .slot-glyph{flex-basis:28px;width:28px;height:34px}
  .slot-product-image{flex-basis:34px;width:34px;height:42px}
  .slot-card-icon{display:none}
  .slot-delta{font-size:10px}
  .slot-card.is-filled{min-height:104px}
  .start-panel .slot-card.is-filled strong{-webkit-line-clamp:3;font-size:12px}
  .start-panel .quick-add{padding:12px;margin-top:16px}
  .quick-add>label{font-size:11px;margin-bottom:8px}
  .quick-add-controls .button{font-size:11px;min-width:76px}
  .workspace.results-column{padding:0}
  .reality-check{padding:20px 18px}
  .reality-check h2{font-size:30px;margin:18px 0 16px}
  .reality-totals .current-total strong{font-size:40px}
  .summary-coverage{font-size:11px}
  .share-section{margin-top:24px}
  .share-heading h3{font-size:32px}
  .receipt-thumbnail img{height:245px}
  .share-actions .button{font-size:12px;padding-inline:10px}
  .mobile-result>a>span{font-size:11px}
  .mobile-result strong{font-size:21px}
  .mobile-result .button{font-size:12px}
  .receipt-dialog{border-radius:16px 16px 0 0;max-height:calc(var(--visual-height,100dvh) - 16px)}
  .how{padding-top:20px;padding-bottom:36px}
}
@media(max-width:350px){
  .start-panel .slot-card{padding:10px 8px;gap:6px}
  .start-panel .slot-card strong{font-size:12px}
  .slot-glyph{flex-basis:25px;width:25px}
  .slot-product-image{flex-basis:28px;width:28px}
  .reality-totals .current-total strong{font-size:35px}
  .share-actions{flex-wrap:wrap}
  .share-actions .button{font-size:11px}
}

/* First addition, saved drafts and dated build links. */
.start-panel .slot-card.is-first{border:2px solid var(--ink);background:#fff8df;box-shadow:0 0 0 3px #f5c84230}
.slot-first-hint{font-size:10px;line-height:1.4;color:var(--ink);font-weight:700}
.saved-build-note{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 16px}
.shared-build-note{padding:16px;border:1px solid var(--line);border-radius:9px;background:var(--soft);margin-bottom:16px}
.shared-build-note p{font-size:13px;line-height:1.7;margin:0 0 12px}
.shared-build-note .text-button{display:inline-block;min-height:44px;padding:12px 4px}
.shared-build-note .button{width:100%;margin-bottom:6px}
.build-link-actions{margin-top:12px}
.build-link-actions .button{width:100%;min-height:46px}
.build-link-actions p,.build-link-result p{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 0}
.build-link-result{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}
.build-link-result label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}
.build-link-result input{display:block;width:100%;min-width:0;min-height:44px;font-size:16px;padding:8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff}
.build-link-result .text-button{min-height:44px}
body.is-shared-build #build-name-panel,body.is-shared-build .build-instruction,body.is-shared-build #add-part,body.is-shared-build #image-customization,body.is-shared-build #build-reset,body.is-shared-build #add-to-slot,body.is-shared-build #refresh-prices,body.is-shared-build .row-edit,body.is-shared-build .build-link-actions{display:none}
body.is-shared-build .slot-card:disabled{opacity:.65;cursor:default}
#copy-build-description{font-size:14px;line-height:1.7}

/* Saved builds expose every part and its Amazon destination without a dialog. */
.shared-create{margin-top:20px}
.shared-invite{margin-top:32px;padding:24px 18px;text-align:center;background:#fff8df;border:1px solid var(--line);border-radius:9px}
.shared-invite h2{margin:0;font-size:30px;line-height:1.15}
.shared-invite p{margin:12px 0 20px;font-size:13px;line-height:1.7}
body.is-shared-build .slot-grid{align-items:start}
.start-panel .shared-slot{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:14px 12px;cursor:default;transform:none;box-shadow:none;text-align:left}
.shared-slot-heading{display:flex;align-items:center;gap:8px;min-height:30px}
.shared-slot-heading .slot-glyph{width:26px;flex:0 0 26px}
.shared-slot-heading h3{margin:0;font-family:'Plus Jakarta Sans',sans-serif;font-size:9px;font-weight:800;line-height:1.5;letter-spacing:.02em}
.shared-slot-empty{margin:10px 0 0;font-size:11px;color:var(--muted)}
.shared-product{padding-top:14px;min-width:0}
.shared-product+.shared-product{margin-top:14px;border-top:1px solid var(--line)}
.shared-product-identity{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.shared-quantity{display:inline-block;padding:2px 7px;border-radius:3px;background:var(--yellow,#f5c842);color:#183d68;font-size:12px;font-weight:800;line-height:1.5}
.shared-product-identity .slot-product-image{width:70px;height:66px;flex:0 0 66px}
.shared-product-identity h4{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin:0;font-size:12px;line-height:1.6;font-weight:700;overflow-wrap:anywhere}
.shared-product-prices{display:flex;flex-direction:column;gap:4px;margin:12px 0;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.shared-product-current{font-weight:700}
.shared-product-unit{color:var(--muted)}
.shared-slot .shared-amazon{display:flex;min-height:44px;width:100%;padding:10px 6px;font-size:11px;white-space:normal;text-align:center;line-height:1.5}
.shared-slot .shared-details{min-height:44px;margin-top:8px;padding:10px 0;font-size:11px;text-align:left;white-space:normal}
@media(max-width:350px){.shared-slot .shared-amazon{font-size:10px}.shared-invite h2{font-size:26px}}

/* Share before the comparison, with primary actions before the preview. */
.results-column > .share-section{margin:0;padding:0;border:0}
.results-column > .reality-check{margin-top:24px}
.share-link-note{font-size:11px;line-height:1.6;color:var(--muted);margin:9px 0 14px}
.share-secondary{display:flex;justify-content:center;margin-top:6px}
.share-secondary .text-button{min-height:44px;font-size:12px;padding:10px 16px}
.share-section .build-link-result{margin-bottom:14px}

/* Keep the build's name beside its components, visible before the first addition. */
.start-panel .build-name-panel{margin:18px 0 0;padding:16px;background:#f6f8f6;border:1px solid var(--line);border-radius:9px}
.build-details-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:end}
.build-details-row .build-name-field{margin:0;min-width:0}
.build-details-row .build-name-field>label,.build-purchase-field legend{font-size:13px;line-height:1.5;font-weight:700;margin:0 0 9px;padding:0}
.build-purchase-field{min-width:0;margin:0;padding:0;border:0}
.build-details-row .build-name-field>label span,.build-purchase-field legend span{display:block;margin:0;color:var(--muted);font-size:10px;font-weight:400}
.build-purchase-field .finish-fields{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6px;margin:0}
.build-purchase-field .finish-fields label{display:block;min-width:0}
.build-purchase-field .finish-fields select{width:100%;min-width:0;min-height:48px;padding:10px 6px;font-size:16px}
.build-name-panel input{max-width:none;font-size:16px}
.build-name-panel>p{color:var(--muted);font-size:11px;line-height:1.6;margin:8px 0 0}
#build-name:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.start-copy h1 mark{color:inherit;background:linear-gradient(transparent 48%,var(--yellow) 48%,var(--yellow) 89%,transparent 89%);padding:0 .035em;margin:0 -.035em}
@media(max-width:620px){.start-panel .build-name-panel{margin-top:16px;padding:14px}}

/* Two explicit sharing choices in the compact summary. */
.dock-actions{display:flex;gap:6px;flex-shrink:0}
.mobile-result .dock-actions .button{font-size:11px;padding-inline:10px;white-space:nowrap}
.social-dialog{width:min(100%,440px)}
#social-help,#social-status{font-size:13px;line-height:1.6;margin:14px 0;color:var(--muted)}
#social-status:empty{display:none}
.social-networks{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 0}
.social-destination{display:flex;align-items:center;justify-content:center;flex:0 0 56px;width:56px;height:56px;padding:15px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);cursor:pointer;transition:transform .15s,border-color .15s,background .15s}
.social-destination svg{display:block;width:24px;height:24px;fill:currentColor}
.social-reddit{color:#ff4500}
.social-whatsapp{color:#128c4a}
.social-destination:hover{transform:translateY(-2px);border-color:var(--ink);background:var(--soft)}
.social-destination:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.social-destination[aria-disabled="true"],.social-destination:disabled{opacity:.4;pointer-events:none}
@media(min-width:1024px){.mobile-result.summary-above:not([hidden]){width:470px}}
@media(max-width:620px){
  .mobile-result:not([hidden]){gap:8px;padding-inline:12px}
  .mobile-result>a>span{font-size:9px}
  .mobile-result strong{font-size:18px}
  .mobile-result .dock-actions .button{padding-inline:8px;font-size:11px}
}
@media(max-width:350px){
  .mobile-result:not([hidden]){padding-inline:8px;gap:6px}
  .mobile-result>a>span{max-width:100px;line-height:1.3}
  .mobile-result strong{font-size:16px}
  .mobile-result .dock-actions .button{font-size:10px;padding-inline:7px}
}

/* The processor-shaped R shares one vector with the favicon and image exports. */
.brand {
  gap:9px;
  font-size:17px;
  letter-spacing:-.045em;
}
.brand-mark {
  display:block;
  flex:none;
  padding:0;
  border-radius:0;
  background:none;
  object-fit:contain;
}
.brand-wordmark {
  white-space:nowrap;
}
.brand-wordmark::after {
  content:'';
  display:inline-block;
  width:.2em;
  height:.2em;
  margin-left:.12em;
  border-radius:1px;
  background:var(--yellow);
}
.footer-brand,.poster-brand {
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.footer-brand img,.poster-brand img {
  flex:none;
}
.site-footer .footer-brand {
  font:800 14px 'Plus Jakarta Sans',Arial,sans-serif;
  letter-spacing:-.045em;
}
.site-footer .footer-brand .brand-wordmark {
  display:inline;
  margin:0;
}
.poster-brand .brand-wordmark {
  color:var(--ink);
}
@media(max-width:620px) {
  .brand {
    gap:7px;
    font-size:13px;
  }
}
@media(max-width:350px) {
  .brand {
    gap:6px;
    font-size:11px;
  }
}

/* A missing offer can be completed during the existing paid-price step. */
.search-result .search-custom-help{margin-top:6px;color:var(--ink);line-height:1.4;font-size:11px}
.search-result .no-offer{white-space:normal}
.custom-price-field{padding:15px;border:1px solid var(--line);border-left:3px solid var(--yellow,#f5c842);border-radius:6px;background:var(--soft,#f5f7f5)}
.custom-price-field p{font-size:12px;line-height:1.5;margin:0 0 12px;color:var(--muted)}
.custom-price-field small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:8px}
.custom-price-note{font-size:11px;color:var(--muted);line-height:1.5}
.part-price .custom-price-note{display:block;white-space:normal}
.add-current-price{display:block;margin-top:6px;font-size:11px;text-align:inherit}
@media(max-width:620px){.part-price-now:has(.custom-price-note),.part-price-now:has(.add-current-price){flex-wrap:wrap}.part-price-now .custom-price-note{flex-basis:100%}}

/* French headings and actions fit the same mobile grid. */
html[lang="fr"] .share-actions .button{white-space:normal;text-align:center}
html[lang="fr"] .price-form-actions .button{white-space:normal}
@media(max-width:620px){
  html[lang="fr"] .start-copy h1{font-size:clamp(19px,6.15vw,34px);line-height:1.2}
  html[lang="fr"] .mobile-result .dock-actions .button{font-size:10px;padding-inline:8px}
  html[lang="fr"] .slot-heading-actions{flex-wrap:wrap;justify-content:flex-end}
}
/* The explanatory paragraphs no longer contain numbered grid columns. */
.how-steps p{display:block}
html[lang="fr"] .add-actions .button{white-space:normal;text-align:center}
@media(max-width:620px){
  html[lang="fr"] .slot-heading{flex-wrap:wrap;row-gap:4px}
  html[lang="fr"] .slot-heading-actions{margin-left:auto}
}

.analytics-settings{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:10px}
.analytics-settings>div{display:flex;gap:12px;flex-wrap:wrap}

.privacy-page a{text-decoration:underline;text-underline-offset:3px}
