.abracadabra-app-page{
  --spark-paper:var(--night);
  --spark-panel:var(--panel);
  --spark-panel-strong:var(--panel-strong);
  --spark-ink:var(--ink);
  --spark-muted:var(--ink-soft);
  --spark-faint:var(--dim);
  --spark-line:var(--control-line);
  --spark-violet:var(--violet);
  --spark-pink:#ff7eaa;
  --spark-gold:var(--gold);
  --spark-mint:var(--mint);
  --spark-danger:var(--danger);
  color:var(--spark-ink);
  background:
    radial-gradient(circle at 84% 8%,rgba(133,76,186,.18),transparent 34rem),
    var(--spark-paper);
}

.abracadabra-app-page main{display:flex;flex-direction:column}
.spark-hero{padding:clamp(2rem,4vw,3.4rem) 0;border-bottom:1px solid var(--spark-line)}
.spark-hero-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:end}
.spark-kicker,.spark-panel-label{margin:0 0 .8rem;color:var(--spark-mint);font-size:.75rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.spark-hero h1{max-width:18ch;margin:0;font-size:clamp(2.5rem,5.5vw,4.4rem);line-height:.94;letter-spacing:-.055em}
.spark-lede{max-width:48rem;margin:1.2rem 0 0;color:var(--spark-muted);font-size:clamp(1.05rem,1.7vw,1.28rem);line-height:1.65}
.spark-trust{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.6rem 0 0;padding:0;list-style:none}
.spark-trust li{padding:.43rem .65rem;border:1px solid rgba(130,231,196,.25);border-radius:999px;color:#c7f8e7;background:rgba(56,129,105,.1);font-size:.75rem;font-weight:780;letter-spacing:.045em;text-transform:uppercase}
.spark-hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.spark-boundary{padding:1.35rem;border:1px solid var(--spark-line);border-radius:1.2rem;background:linear-gradient(145deg,rgba(39,24,50,.9),rgba(17,10,24,.94));box-shadow:0 30px 70px -48px #000}
.spark-boundary h2{margin:0;font-size:clamp(1.35rem,3vw,2.05rem);line-height:1.1}
.spark-boundary p:last-child{margin:.9rem 0 0;color:var(--spark-muted);font-size:.88rem;line-height:1.65}
.spark-boundary a{color:var(--spark-gold)}

.platform-control{padding:clamp(3rem,7vw,6.5rem) 0;border-bottom:1px solid var(--spark-line);background:linear-gradient(180deg,rgba(23,14,31,.68),rgba(10,6,15,.84))}
.platform-control [hidden]{display:none!important}
.platform-heading{margin-bottom:1.4rem}
.platform-boundary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem 1.1rem;align-items:start;margin-bottom:1rem;padding:.9rem 1rem;border:1px solid rgba(241,207,137,.25);border-radius:.8rem;color:var(--spark-muted);background:rgba(241,207,137,.06);font-size:.78rem;line-height:1.55}
.platform-boundary strong{color:var(--spark-gold);letter-spacing:.035em}
.platform-status{margin:0 0 1rem;padding:.85rem 1rem;border:1px solid var(--spark-line);border-left:4px solid var(--spark-violet);border-radius:.7rem;color:var(--spark-muted);background:rgba(185,152,255,.07);font-size:.8rem}
.platform-status.is-success{border-left-color:var(--spark-mint);color:#d6f7ec;background:rgba(72,151,125,.09)}
.platform-status.is-error{border-left-color:var(--spark-danger);color:#ffe5ec;background:rgba(150,52,79,.12)}
.platform-auth,.platform-dashboard{overflow:hidden;border:1px solid var(--spark-line);border-radius:1.35rem;background:linear-gradient(155deg,rgba(31,19,42,.96),rgba(12,7,18,.98));box-shadow:0 50px 120px -75px #000}
.platform-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--spark-line)}
.platform-tabs button{min-height:3.4rem;padding:.7rem;border:0;border-right:1px solid var(--spark-line);color:var(--spark-faint);background:transparent;font:inherit;font-size:.76rem;font-weight:820;cursor:pointer}
.platform-tabs button:last-child{border-right:0}
.platform-tabs button[aria-selected="true"]{color:var(--spark-ink);background:rgba(185,152,255,.1);box-shadow:inset 0 -2px var(--spark-violet)}
.platform-tabs button:focus-visible{position:relative;z-index:1;outline:3px solid var(--spark-gold);outline-offset:-3px}
.platform-panel{min-width:0;padding:clamp(1.2rem,3vw,1.75rem);border:1px solid var(--spark-line);border-radius:1rem;background:rgba(8,5,12,.34)}
.platform-panel>legend{max-width:100%;padding:0;color:var(--spark-ink);font-size:clamp(1.55rem,3vw,2.35rem);font-weight:820;letter-spacing:-.035em}
.platform-panel>legend+*{margin-top:.55rem}
.platform-panel>p{max-width:46rem;color:var(--spark-muted);font-size:.82rem;line-height:1.65}
.platform-proof-note{margin:.8rem 0 0;padding:.8rem;border:1px solid rgba(229,184,83,.24);border-radius:.7rem;background:rgba(229,184,83,.06);color:var(--spark-muted);font-size:.76rem;line-height:1.55}.platform-proof-note strong{color:var(--spark-ink)}
.platform-auth-panel{margin:clamp(1rem,3vw,1.8rem);border:0;background:transparent}
.platform-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.35rem}
.platform-field-wide{grid-column:1/-1}
.platform-inline-action{display:flex;align-items:end}
.platform-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--spark-line)}
.platform-actions-left{justify-content:flex-start}
.platform-recovery-message{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;margin-top:1.2rem;padding:1rem;border:1px solid rgba(130,231,196,.25);border-radius:.8rem;background:rgba(47,112,91,.09)}
.platform-recovery-message>p{grid-column:1/-1;display:grid;gap:.35rem;margin:0;color:var(--spark-muted);font-size:.78rem}
.platform-recovery-message strong{color:var(--spark-ink)}
.platform-recovery-message [data-recovery-token]{overflow-wrap:anywhere;color:var(--spark-mint);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}

.platform-account-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--spark-line);background:rgba(130,231,196,.045)}
.platform-account-bar>div{display:grid}
.platform-account-bar>div>span{color:var(--spark-mint);font-size:.75rem;font-weight:820;letter-spacing:.08em;text-transform:uppercase}
.platform-account-bar strong{margin-top:.2rem;font-size:1rem}
.platform-account-bar small{margin-top:.12rem;color:var(--spark-faint);font-size:.75rem}
.platform-dashboard-grid{display:grid;grid-template-columns:minmax(14rem,.34fr) minmax(0,1fr);min-height:35rem}
.platform-projects{border-right:1px solid var(--spark-line);background:rgba(6,4,9,.24)}
.platform-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem;border-bottom:1px solid var(--spark-line)}
.platform-sidebar-head>div{display:grid}
.platform-sidebar-head span{color:var(--spark-mint);font-size:.75rem;font-weight:820;letter-spacing:.08em;text-transform:uppercase}
.platform-sidebar-head strong{margin-top:.18rem}
.platform-projects ol{display:grid;gap:.45rem;margin:0;padding:.75rem;list-style:none}
.platform-project-button{display:grid;width:100%;gap:.18rem;padding:.8rem;border:1px solid transparent;border-radius:.7rem;color:var(--spark-muted);background:transparent;text-align:left;font:inherit;cursor:pointer}
.platform-project-button strong{overflow-wrap:anywhere;color:var(--spark-ink);font-size:.8rem}
.platform-project-button span{color:var(--spark-faint);font-size:.75rem}
.platform-project-button:hover{border-color:var(--spark-line);background:rgba(185,152,255,.06)}
.platform-project-button[aria-current="true"]{border-color:rgba(185,152,255,.34);background:rgba(185,152,255,.1)}
.platform-project-button:focus-visible{outline:3px solid var(--spark-gold);outline-offset:2px}
.platform-main{min-width:0;padding:clamp(1rem,3vw,1.6rem)}
.platform-empty{display:grid;min-height:27rem;align-content:center;justify-items:start}
.platform-empty h3{max-width:14ch;margin:0;font-size:clamp(2rem,5vw,4rem);line-height:.95;letter-spacing:-.045em}
.platform-project-creator{margin:0}
.platform-setup-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.25rem 0 0;padding:0;border:1px solid var(--spark-line);border-radius:.75rem;overflow:hidden;list-style:none}
.platform-setup-progress li{display:flex;align-items:center;gap:.5rem;min-height:3rem;padding:.65rem .8rem;color:var(--spark-faint);font-size:.75rem;font-weight:800}
.platform-setup-progress li+li{border-left:1px solid var(--spark-line)}
.platform-setup-progress span{display:grid;width:1.5rem;height:1.5rem;place-items:center;border:1px solid var(--spark-line);border-radius:50%}
.platform-setup-progress [aria-current="step"]{color:var(--spark-ink);background:rgba(185,152,255,.09)}
.platform-setup-progress [aria-current="step"] span{border-color:var(--spark-violet);color:#160c20;background:var(--spark-violet)}
.platform-setup-progress .is-complete{color:var(--spark-mint)}
.platform-step-status{margin:.75rem 0 0;padding:.7rem .8rem;border-left:3px solid var(--spark-violet);color:var(--spark-muted);background:rgba(185,152,255,.06);font-size:.78rem}
.platform-step-status.is-error{border-left-color:var(--spark-danger);color:#ffe5ec;background:rgba(150,52,79,.12)}
.platform-setup-step{margin-top:1.15rem}
.platform-terms-confirmation{margin-top:1rem}
.platform-terms-confirmation a{color:var(--spark-gold)}
.platform-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.platform-choice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.25rem .65rem;align-content:start;padding:1rem;border:1px solid var(--spark-line);border-radius:.85rem;color:var(--spark-muted);background:rgba(8,5,12,.4);cursor:pointer}
.platform-choice:has(input:checked){border-color:var(--spark-violet);background:rgba(185,152,255,.08);box-shadow:0 0 0 3px rgba(185,152,255,.1)}
.platform-choice input{grid-row:1/span 2;width:1.05rem;height:1.05rem;margin:.15rem 0 0;accent-color:var(--spark-violet)}
.platform-choice strong{color:var(--spark-ink);font-size:.82rem}
.platform-choice span{font-size:.75rem;line-height:1.45}
.platform-choice b{color:var(--spark-gold)}
[data-address-mode-a],[data-address-mode-b],[data-access-password]{margin-top:1rem}
.platform-address-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden;border:1px solid var(--spark-line);border-radius:.65rem;background:#0d0813}
.platform-address-input:focus-within{border-color:var(--spark-violet);outline:3px solid rgba(185,152,255,.2);outline-offset:1px}
.platform-address-input input{border:0;border-radius:0}
.platform-address-input b{padding-right:.85rem;color:var(--spark-faint);font-size:.76rem}

.platform-project-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:.25rem 0 1.3rem}
.platform-project-head h3{margin:0;font-size:clamp(2rem,5vw,3.8rem);line-height:.96;letter-spacing:-.05em}
.platform-project-head p:last-child{margin:.6rem 0 0;overflow-wrap:anywhere;color:var(--spark-muted);font-size:.82rem}
.platform-state-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 1rem;border:1px solid var(--spark-line);border-radius:.85rem;overflow:hidden}
.platform-state-grid>div{min-width:0;padding:.85rem;background:rgba(8,5,12,.4)}
.platform-state-grid>div+div{border-left:1px solid var(--spark-line)}
.platform-state-grid dt{color:var(--spark-faint);font-size:.75rem;font-weight:820;letter-spacing:.075em;text-transform:uppercase}
.platform-state-grid dd{margin:.25rem 0 0;overflow-wrap:anywhere;color:var(--spark-ink);font-size:.8rem}
.platform-command-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.platform-command-grid h4{margin:0;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.05;letter-spacing:-.025em}
.platform-command-grid .platform-panel>p:not(.spark-kicker){margin:.65rem 0 0}
.platform-collapsible-panel{padding:0;overflow:hidden}
.platform-collapsible-panel>details>summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.35rem 1rem;align-items:center;padding:1rem 1.2rem;cursor:pointer;list-style-position:outside}
.platform-collapsible-panel>details>summary span{color:var(--spark-mint);font-size:.75rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.platform-collapsible-panel>details>summary strong{font-size:.9rem}
.platform-collapsible-panel>details[open]>summary{border-bottom:1px solid var(--spark-line);background:rgba(185,152,255,.055)}
.platform-details-body{padding:1.2rem}
.platform-details-body>p{max-width:46rem;margin:0;color:var(--spark-muted);font-size:.82rem;line-height:1.65}
.platform-domain-step{display:grid;gap:.9rem;margin-top:1.15rem;padding:1.1rem;border:1px solid var(--spark-line);border-radius:.8rem;background:rgba(8,5,12,.3)}
.platform-domain-step h5{margin:0;font-size:1.05rem}
.platform-domain-step>p{margin:0;color:var(--spark-muted);font-size:.8rem;line-height:1.55}
.platform-domain-step .platform-actions{margin-top:.2rem}
.platform-domain-review-facts{display:grid;gap:0;margin:0;border:1px solid var(--spark-line);border-radius:.7rem;overflow:hidden}
.platform-domain-review-facts>div{display:grid;grid-template-columns:minmax(7rem,.35fr) minmax(0,1fr);gap:.7rem;padding:.7rem .8rem;background:rgba(8,5,12,.3)}
.platform-domain-review-facts>div+div{border-top:1px solid var(--spark-line)}
.platform-domain-review-facts dt{color:var(--spark-faint);font-size:.75rem;font-weight:820;text-transform:uppercase}
.platform-domain-review-facts dd{margin:0;overflow-wrap:anywhere;color:var(--spark-muted);font-size:.78rem;line-height:1.5}
.platform-domain-management{margin-top:1rem;border-top:1px solid var(--spark-line)}
.platform-domain-management>summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.3rem 1rem;padding:1rem 0;cursor:pointer}
.platform-domain-management>summary span{color:var(--spark-mint);font-size:.75rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.platform-domain-management>summary strong{font-size:.82rem}
.platform-domain-management .platform-details-body{display:grid;gap:.85rem;padding:1rem 0 0}
.platform-plan-definition{display:grid;gap:.45rem;margin:1rem 0 0}.platform-plan-definition>div{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.65rem;padding:.65rem .7rem;border:1px solid var(--spark-line);border-radius:.65rem;background:rgba(8,5,12,.3)}.platform-plan-definition dt{color:var(--spark-faint);font-size:.75rem;font-weight:820;letter-spacing:.06em;text-transform:uppercase}.platform-plan-definition dd{margin:0;color:var(--spark-muted);font-size:.75rem;line-height:1.5}
.platform-offer-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;width:100%;padding:1rem;border:1px solid rgba(130,231,196,.24);border-radius:.75rem;background:rgba(47,112,91,.07)}
.platform-offer-picker h5,.platform-offer-picker>p,.platform-offer-picker>[data-hosted-offer-state]{grid-column:1/-1;margin:0}
.platform-offer-picker h5{font-size:1rem}
.platform-offer-picker>p,.platform-offer-picker>[data-hosted-offer-state]{color:var(--spark-muted);font-size:.78rem;line-height:1.5}
.platform-offer-picker>select{grid-column:1/-1;min-height:3rem;padding:.65rem .8rem;border:1px solid var(--spark-line);border-radius:.65rem;color:var(--spark-ink);background:#0d0813;font:inherit}
.platform-offer-review{display:grid;gap:.85rem;width:100%;padding:1rem;border:1px solid rgba(241,207,137,.32);border-radius:.8rem;background:rgba(241,207,137,.055)}
.platform-offer-review[hidden]{display:none}
.platform-offer-review>h5,.platform-offer-review>p{margin:0}
.platform-offer-review>h5{font-size:1.05rem}
.platform-offer-review>p{color:var(--spark-muted);font-size:.78rem;line-height:1.55}
.platform-quote-lines{display:grid;gap:.7rem}
.platform-quote-line{display:grid;gap:.35rem;padding:.85rem;border:1px solid var(--spark-line);border-radius:.7rem;background:rgba(8,5,12,.36)}
.platform-quote-line h6,.platform-quote-line p{margin:0}
.platform-quote-line h6{font-size:.86rem}
.platform-quote-line p{color:var(--spark-muted);font-size:.75rem;line-height:1.5}
.platform-quote-totals{padding:.75rem;border-left:4px solid var(--spark-gold);color:var(--spark-ink)!important;background:rgba(241,207,137,.06);font-weight:780}
.platform-selected-release{display:grid;gap:.22rem;margin-top:1rem;padding:.85rem;border:1px solid rgba(130,231,196,.26);border-radius:.75rem;background:rgba(47,112,91,.08)}
.platform-selected-release>span{color:var(--spark-mint);font-size:.75rem;font-weight:840;letter-spacing:.08em;text-transform:uppercase}
.platform-selected-release>strong{overflow-wrap:anywhere;font-size:.84rem}
.platform-selected-release>small{color:var(--spark-muted);font-size:.75rem;line-height:1.5}
.platform-settings{display:grid;gap:.85rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--spark-line)}
.platform-settings .platform-owned-domain{display:grid;gap:.85rem;margin:0}
.platform-proof-actions{margin-top:0}
.platform-domain-status{display:grid;gap:.35rem;margin-top:1rem;padding:.85rem;border:1px solid rgba(241,207,137,.25);border-radius:.75rem;background:rgba(241,207,137,.055)}
.platform-domain-status>span{color:var(--spark-gold);font-size:.75rem;font-weight:840;letter-spacing:.08em;text-transform:uppercase}
.platform-domain-status>strong{overflow-wrap:anywhere;font-size:.84rem}
.platform-domain-status dl{display:grid;gap:.32rem;margin:.35rem 0 0}
.platform-domain-status dl>div{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.55rem}
.platform-domain-status dt{color:var(--spark-faint);font-size:.75rem;font-weight:820;text-transform:uppercase}
.platform-domain-status dd{margin:0;overflow-wrap:anywhere;color:var(--spark-muted);font-size:.75rem}
.platform-domain-status>p{margin:.35rem 0 0!important;color:var(--spark-muted);font-size:.75rem!important;line-height:1.5!important}
.platform-release-list,.platform-ticket-list{display:grid;gap:.45rem;margin:1rem 0 0;padding:0;list-style:none}
.platform-release-list li,.platform-ticket-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem;border:1px solid var(--spark-line);border-radius:.65rem;color:var(--spark-faint);font-size:.75rem}
.platform-release-list li[data-selected="true"]{border-color:rgba(130,231,196,.38);background:rgba(47,112,91,.07)}
.platform-release-list li>div{display:grid;min-width:0;gap:.18rem}
.platform-release-list strong{overflow-wrap:anywhere;color:var(--spark-ink);font-size:.77rem}
.platform-release-list span,.platform-release-list small{min-width:0;overflow-wrap:anywhere;color:var(--spark-faint);font-size:.75rem;line-height:1.35}
.platform-release-list .spark-button{flex:0 0 auto;min-height:2.75rem;padding:.35rem .65rem}
.platform-ticket-list li{display:grid;justify-content:stretch}
.platform-ticket-list strong{color:var(--spark-ink);font-size:.78rem}
.platform-export-state{margin-top:1rem;padding:.85rem;border:1px solid var(--spark-line);border-radius:.75rem;background:rgba(255,255,255,.035)}
.platform-export-state p{margin:0}
.platform-danger-panel{border-color:rgba(255,184,200,.18)}
.platform-danger-button{border-color:rgba(255,184,200,.35);color:#ffe3ea}
.platform-danger-button:hover:not(:disabled){border-color:var(--spark-danger);background:rgba(150,52,79,.14)}

.customer-control{border-top:1px solid var(--spark-line);background:linear-gradient(180deg,rgba(8,6,12,.98),rgba(14,9,20,.99));padding:clamp(2.5rem,5vw,4.5rem) 0}
.customer-control-progress{display:grid;grid-template-columns:repeat(4,1fr);max-width:58rem;margin:0 0 1.4rem;padding:0;border:1px solid var(--spark-line);border-radius:1rem;overflow:hidden;list-style:none}
.customer-control-progress li{display:flex;min-width:0;align-items:center;gap:.55rem;padding:.8rem .9rem;color:var(--spark-faint);font-size:.75rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.customer-control-progress li+li{border-left:1px solid var(--spark-line)}
.customer-control-progress span{display:grid;flex:0 0 auto;width:1.6rem;height:1.6rem;place-items:center;border:1px solid var(--spark-line);border-radius:50%}
.customer-control-progress li[aria-current="step"]{color:var(--spark-text);background:rgba(130,231,196,.08)}
.customer-control-progress li[aria-current="step"] span{border-color:var(--spark-mint);color:var(--spark-mint)}
.customer-control-stage{max-width:58rem;margin-top:1rem;padding:clamp(1.1rem,3vw,1.8rem);border:1px solid var(--spark-line);border-radius:1.2rem;background:rgba(25,16,35,.72)}
.customer-stage-heading{max-width:44rem;margin-bottom:1.2rem}
.customer-stage-heading h3{margin:.2rem 0 .65rem;font-size:clamp(1.55rem,4vw,2.35rem);letter-spacing:-.035em}
.customer-stage-heading p:last-child{margin:0;color:var(--spark-muted);line-height:1.6}
.customer-project-list{display:grid;gap:.65rem;margin:0 0 1rem;padding:0;list-style:none}
.customer-project-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--spark-line);border-radius:.8rem;color:var(--spark-text);background:rgba(255,255,255,.025);text-align:left}
.customer-project-list button[aria-current="true"]{border-color:var(--spark-mint);background:rgba(130,231,196,.08)}
.customer-download-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:1.2rem 0;border:1px solid var(--spark-line);border-radius:1rem;overflow:hidden}
.customer-download-facts>div{display:grid;gap:.25rem;padding:1rem}
.customer-download-facts>div+div{border-left:1px solid var(--spark-line)}
.customer-download-facts strong{color:var(--spark-text)}
.customer-download-facts span{color:var(--spark-muted);font-size:.88rem;line-height:1.45}
.customer-quote-review{margin-top:1rem}
.customer-quote-review dl{display:grid;grid-template-columns:repeat(2,1fr);margin:1rem 0;border:1px solid var(--spark-line);border-radius:.8rem;overflow:hidden}
.customer-quote-review dl>div{display:grid;grid-template-columns:minmax(7rem,.7fr) 1fr;gap:.7rem;padding:.75rem .85rem}
.customer-quote-review dl>div:nth-child(even){border-left:1px solid var(--spark-line)}
.customer-quote-review dl>div:nth-child(n+3){border-top:1px solid var(--spark-line)}
.customer-quote-review dt{color:var(--spark-faint)}
.customer-quote-review dd{margin:0;color:var(--spark-text);font-weight:750}
.customer-separate-help{display:flex;max-width:58rem;align-items:flex-start;gap:.55rem;margin-top:1rem;padding:1rem 1.1rem;border:1px solid rgba(130,231,196,.2);border-radius:1rem;color:var(--spark-muted);background:rgba(130,231,196,.045);line-height:1.55}
.customer-separate-help strong{flex:0 0 auto;color:var(--spark-text)}

.spark-workroom{padding:clamp(2rem,4vw,3.5rem) 0}
.spark-section-head{max-width:50rem;margin-bottom:2rem}
.spark-section-head h2{margin:0;font-size:clamp(2.2rem,6vw,4.7rem);line-height:.98;letter-spacing:-.05em}
.spark-section-head>p:last-child{max-width:48rem;margin:1rem 0 0;color:var(--spark-muted);line-height:1.65}
.spark-noscript,.spark-boot{margin:0 0 1rem;padding:.9rem 1rem;border:1px solid var(--spark-line);border-left:4px solid var(--spark-gold);border-radius:.7rem;color:var(--spark-muted);background:rgba(241,207,137,.08);font-size:.86rem}
.spark-noscript{border-left-color:var(--spark-danger)}

.spark-maker{border:1px solid var(--spark-line);border-radius:1.4rem;background:linear-gradient(160deg,rgba(32,20,43,.96),rgba(13,8,19,.98));box-shadow:0 50px 120px -75px #000;overflow:hidden}
.spark-maker[inert]{opacity:.62}
.spark-progress{display:grid;grid-template-columns:repeat(6,1fr);margin:0;padding:0;border-bottom:1px solid var(--spark-line);list-style:none}
.spark-progress li{display:flex;min-width:0;align-items:center;gap:.55rem;padding:.85rem 1rem;color:var(--spark-faint);font-size:.75rem;font-weight:780;letter-spacing:.06em;text-transform:uppercase}
.spark-progress li+li{border-left:1px solid var(--spark-line)}
.spark-progress span{display:grid;flex:0 0 auto;width:1.65rem;height:1.65rem;place-items:center;border:1px solid var(--spark-line);border-radius:50%;font-size:.75rem}
.spark-progress [aria-current="step"]{color:var(--spark-ink);background:rgba(185,152,255,.08)}
.spark-progress [aria-current="step"] span{border-color:var(--spark-violet);color:#160c20;background:var(--spark-violet)}

.spark-return{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--spark-line);background:rgba(130,231,196,.07)}
.spark-return[hidden]{display:none}.spark-return p{margin:0;color:#d8eee6;font-size:.8rem}

.spark-step{min-width:0;margin:0;padding:clamp(1.25rem,4vw,2.5rem);border:0}
.spark-step[hidden]{display:none}
.spark-step>legend{float:left;width:100%;margin:0 0 .5rem;padding:0;color:var(--spark-ink);font-size:clamp(1.6rem,4vw,2.6rem);font-weight:820;letter-spacing:-.035em}
.spark-step>legend+*{clear:both}
.spark-step-intro{max-width:46rem;margin:.35rem 0 1.6rem;color:var(--spark-muted);line-height:1.65}
.spark-quick-start{display:flex;flex-direction:column;align-items:center;gap:.8rem;margin:0 0 1.6rem;padding:1.1rem 1.25rem;border:1px solid rgba(241,207,137,.24);border-radius:.85rem;background:rgba(241,207,137,.06);text-align:center}
.spark-quick-start p{max-width:38rem;margin:0;color:var(--spark-muted);font-size:.8rem;line-height:1.55}.spark-quick-start strong{color:var(--spark-ink)}
.spark-quick-start>div{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:center;gap:.55rem}
.spark-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.spark-field{display:grid;align-content:start;justify-items:center;gap:.45rem;min-width:0;text-align:center}
.spark-field-wide{grid-column:1/-1}
.spark-fields>.spark-extras{grid-column:1/-1}
.spark-field>span{font-size:.76rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--spark-mint)}
.spark-field>span b{color:var(--spark-pink)}
.spark-field small{color:var(--spark-faint);font-size:.75rem;line-height:1.45}
.spark-field input,.spark-field textarea,.spark-field select{
  width:100%;min-height:3rem;padding:.8rem 1rem;border:1px solid rgba(242,206,131,.32);border-radius:.9rem;
  color:var(--spark-ink);background:linear-gradient(180deg,rgba(16,11,26,.72),rgba(10,7,16,.86));font:inherit;line-height:1.5;resize:vertical;
  text-align:center;box-shadow:inset 0 1px 0 rgba(242,206,131,.08),inset 0 -8px 22px rgba(0,0,0,.28);
  transition:border-color .15s ease,box-shadow .15s ease
}
.spark-field input::placeholder,.spark-field textarea::placeholder{color:rgba(242,220,176,.4)}
.spark-field textarea{min-height:6rem}
.spark-field input:hover,.spark-field textarea:hover,.spark-field select:hover{border-color:rgba(242,206,131,.55)}
.spark-field input:focus,.spark-field textarea:focus,.spark-field select:focus{border-color:var(--spark-mint);outline:0;box-shadow:0 0 0 3px rgba(242,206,131,.18),inset 0 1px 0 rgba(242,206,131,.1)}
.spark-field [aria-invalid="true"]{border-color:var(--spark-danger)}
.spark-step-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--spark-line)}
.spark-button{
  display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:.65rem .95rem;border:1px solid var(--spark-line);
  border-radius:999px;color:var(--spark-ink);background:rgba(255,255,255,.025);font:inherit;font-size:.77rem;font-weight:800;cursor:pointer
}
.spark-button:hover:not(:disabled){border-color:var(--spark-violet);background:rgba(185,152,255,.09)}
.spark-button:focus-visible{outline:3px solid var(--spark-gold);outline-offset:3px}
.spark-button:disabled{color:var(--spark-faint);cursor:not-allowed;opacity:.55}
.spark-button-primary{border-color:transparent;color:#130b1c;background:linear-gradient(135deg,var(--spark-violet),var(--spark-pink))}
.spark-button-primary:hover:not(:disabled){border-color:transparent;background:linear-gradient(135deg,#ceb8ff,#ff9bbc)}

.spark-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.spark-theme-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.3rem .8rem;align-items:center;padding:1rem;border:1px solid var(--spark-line);border-radius:1rem;background:#0d0813;cursor:pointer}
.spark-theme-card:has(input:checked){border-color:var(--spark-violet);box-shadow:0 0 0 3px rgba(185,152,255,.13)}
.spark-theme-card input{grid-row:1/span 2;width:1.05rem;height:1.05rem;accent-color:var(--spark-violet)}
.spark-theme-card strong{font-size:1.05rem}
.spark-theme-card small{color:var(--spark-faint);line-height:1.4}
.spark-theme-swatch{grid-column:1/-1;height:7.5rem;margin-bottom:.45rem;border-radius:.7rem}
.spark-theme-card.clear .spark-theme-swatch{background:linear-gradient(145deg,#fff,#dfe8fb 70%,#315fc8)}
.spark-theme-card.warm .spark-theme-swatch{background:linear-gradient(145deg,#fff8ed,#e8c29b 65%,#a7462c)}
.spark-theme-card.arcane .spark-theme-swatch{background:radial-gradient(circle at 70% 26%,#9cc0ff,transparent 18%),linear-gradient(145deg,#0f1d38,#070b14 72%)}

.spark-truth-review dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid rgba(242,206,131,.3);border-radius:1.1rem;overflow:hidden;background:linear-gradient(180deg,rgba(16,11,26,.55),rgba(10,7,16,.7));box-shadow:inset 0 0 30px rgba(242,206,131,.05),0 10px 30px rgba(0,0,0,.35)}
.spark-truth-review dl>div{min-width:0;padding:1.05rem 1rem;text-align:center}
.spark-truth-review dl>div:nth-child(even){border-left:1px dashed rgba(242,206,131,.22)}
.spark-truth-review dl>div:nth-child(n+3){border-top:1px dashed rgba(242,206,131,.22)}
.spark-truth-review dt{color:var(--spark-mint);font-size:.75rem;font-weight:820;letter-spacing:.075em;text-transform:uppercase}
.spark-truth-review dd{margin:.4rem 0 0;overflow-wrap:anywhere;color:var(--spark-ink);line-height:1.6;white-space:pre-line}
.spark-confirmation{display:flex;align-items:center;justify-content:center;gap:.7rem;margin:1.4rem auto 0;padding:.95rem 1.4rem;max-width:34rem;border:1px solid rgba(242,206,131,.42);border-radius:999px;color:#f4e9d0;background:linear-gradient(180deg,rgba(242,206,131,.1),rgba(242,206,131,.04));box-shadow:inset 0 0 20px rgba(242,206,131,.07);font-size:.84rem;line-height:1.5;text-align:center}
.spark-confirmation input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--spark-mint)}
.spark-confirmation input[aria-invalid="true"]{outline:3px solid var(--spark-danger);outline-offset:2px}

.spark-errors{margin:1rem;padding:1rem;border:1px solid var(--spark-danger);border-radius:.8rem;color:#ffe8ee;background:rgba(118,32,57,.24)}
.spark-errors h3{margin:0;font-size:1rem}.spark-errors ul{margin:.6rem 0 0;padding-left:1.2rem}.spark-errors li+li{margin-top:.3rem}

.spark-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem}
.spark-preview-toolbar p{margin:0;color:var(--spark-muted);font-size:.76rem;overflow-wrap:anywhere}
.spark-preview-toolbar>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}
.spark-preview{display:block;width:100%;height:min(72vh,52rem);border:1px solid var(--spark-line);border-radius:1rem;background:#fff}
.spark-history{margin-top:1rem;padding:1rem;border:1px solid var(--spark-line);border-radius:1rem;background:rgba(7,4,11,.35)}
.spark-history h3{margin:0;font-size:1rem}.spark-history>p{margin:.35rem 0 .8rem;color:var(--spark-faint);font-size:.75rem}
.spark-history ol{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}
.spark-history button{width:100%;min-height:2.75rem;padding:.65rem .75rem;border:1px solid var(--spark-line);border-radius:.55rem;color:var(--spark-muted);background:transparent;text-align:left;font:inherit;font-size:.75rem;cursor:pointer}
.spark-history button[aria-current="true"]{border-color:var(--spark-mint);color:var(--spark-ink);background:rgba(130,231,196,.08)}
.spark-history button:focus-visible{outline:3px solid var(--spark-gold);outline-offset:2px}
.spark-save-gate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;margin-top:1.5rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid rgba(130,231,196,.28);border-radius:1rem;background:linear-gradient(135deg,rgba(47,112,91,.12),rgba(185,152,255,.07))}
.spark-save-gate h3{margin:0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.05;letter-spacing:-.025em}
.spark-save-gate p:last-child{max-width:48rem;margin:.65rem 0 0;color:var(--spark-muted);font-size:.8rem;line-height:1.6}
.spark-save-gate b{color:var(--spark-gold)}
.spark-save-gate>.spark-button{min-width:min(100%,18rem)}
#control-room{scroll-margin-top:5rem}

@media(max-width:60rem){
  .spark-hero-grid{grid-template-columns:1fr}
  .spark-boundary{max-width:42rem}
  .platform-dashboard-grid{grid-template-columns:1fr}
  .platform-projects{border-right:0;border-bottom:1px solid var(--spark-line)}
  .platform-projects ol{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:44rem){
  .platform-boundary,.platform-recovery-message{grid-template-columns:1fr}
  .platform-tabs{grid-template-columns:1fr}
  .platform-tabs button{border-right:0;border-bottom:1px solid var(--spark-line)}
  .platform-tabs button:last-child{border-bottom:0}
  .platform-setup-progress{grid-template-columns:1fr}
  .platform-setup-progress li+li{border-left:0;border-top:1px solid var(--spark-line)}
  .platform-offer-picker{grid-template-columns:1fr}
  .platform-offer-picker h5,.platform-offer-picker>p,.platform-offer-picker>[data-hosted-offer-state]{grid-column:auto}
  .platform-domain-review-facts>div{grid-template-columns:1fr;gap:.25rem}
  .platform-fields,.platform-choice-grid,.platform-command-grid{grid-template-columns:1fr}
  .platform-field-wide{grid-column:auto}
  .platform-projects ol{grid-template-columns:1fr}
  .platform-account-bar,.platform-project-head,.platform-actions,.platform-release-list li{align-items:stretch;flex-direction:column}
  .platform-account-bar .spark-button,.platform-project-head .spark-button,.platform-actions .spark-button,.platform-release-list .spark-button{width:100%}
  .platform-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-state-grid>div:nth-child(3){border-left:0;border-top:1px solid var(--spark-line)}
  .platform-state-grid>div:nth-child(4){border-top:1px solid var(--spark-line)}
  .platform-address-input{grid-template-columns:minmax(0,1fr)}
  .platform-address-input b{padding:0 .85rem .7rem}
  .customer-control-progress{grid-template-columns:repeat(2,1fr)}
  .customer-control-progress li:nth-child(3){border-left:0}
  .customer-control-progress li:nth-child(n+3){border-top:1px solid var(--spark-line)}
  .customer-download-facts,.customer-quote-review dl{grid-template-columns:1fr}
  .customer-download-facts>div+div{border-left:0;border-top:1px solid var(--spark-line)}
  .customer-quote-review dl>div:nth-child(even){border-left:0}
  .customer-quote-review dl>div:nth-child(n+2){border-top:1px solid var(--spark-line)}
  .customer-separate-help{display:grid}
  .spark-progress{grid-template-columns:repeat(3,1fr)}
  .spark-progress li:nth-child(4){border-left:0}
  .spark-progress li:nth-child(n+4){border-top:1px solid var(--spark-line)}
  .spark-fields,.spark-theme-grid,.spark-truth-review dl{grid-template-columns:1fr}
  .spark-field-wide{grid-column:auto}
  .spark-truth-review dl>div:nth-child(even){border-left:0}
  .spark-truth-review dl>div:nth-child(n+2){border-top:1px solid var(--spark-line)}
  .spark-return,.spark-quick-start,.spark-step-actions,.spark-preview-toolbar,.spark-preview-toolbar>div{align-items:stretch;flex-direction:column}
  .spark-hero-actions{align-items:stretch;flex-direction:column}
  .spark-save-gate{grid-template-columns:1fr}
  .spark-quick-start>div{align-items:stretch;flex-direction:column}
  .spark-button{width:100%}
  .spark-preview{height:65vh}
}

@media(max-width:25rem){
  .spark-step{padding:1rem}
  .spark-progress{grid-template-columns:repeat(2,1fr)}
  .spark-progress li:nth-child(4){border-left:1px solid var(--spark-line)}
  .spark-progress li:nth-child(odd){border-left:0}
  .spark-progress li:nth-child(n+3){border-top:1px solid var(--spark-line)}
  .spark-progress li{padding:.7rem .65rem;font-size:.75rem}
}

@media(forced-colors:active){
  .spark-boundary,.spark-maker,.spark-field input,.spark-field textarea,.spark-theme-card,.spark-truth-review dl,.spark-confirmation,.spark-preview,.spark-history,.spark-button{
    border:1px solid CanvasText;background:Canvas;color:CanvasText
  }
  .spark-theme-swatch{border:1px solid CanvasText;background:Canvas}
}

/* ---------------------------------------------------------------------------
   THE COSTUME SWAP (owner order): the maker joins the site's voice. The old
   mint-and-pink dialect dies at the token level, and the buttons become the
   site's coins and gold-ringed glass.
   --------------------------------------------------------------------------- */
:root{--spark-pink:#e8b654;--spark-mint:#f2ce83}

.spark-button{border-radius:999px;border-color:rgba(242,206,131,.6);color:#f6dfae;background:rgba(16,10,26,.5)}
.spark-button:hover:not(:disabled){border-color:#f2ce83;color:#fff2d8;background:rgba(242,206,131,.14)}
.spark-button-primary{border-color:rgba(255,246,220,.85);color:#221430;background:linear-gradient(180deg,#fbe7b6 0%,#eec267 55%,#d99f36 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 0 0 1px rgba(140,96,26,.5),0 .45rem 1.2rem rgba(212,156,56,.35)}
.spark-button-primary:hover:not(:disabled){color:#221430;background:linear-gradient(180deg,#fff0c9 0%,#f2ce83 55%,#e0a83f 100%)}

.spark-hero-grid>div{margin-inline:auto;text-align:center}
.spark-hero-actions{justify-content:center}
#spark-title{font-family:var(--font-display,Georgia,serif);font-weight:600;background-image:linear-gradient(100deg,#fffdf6 0%,#f2e2ba 40%,#d8b56a 60%,#fff5df 85%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 6px rgba(8,7,12,.9))}
.spark-small{color:rgba(242,220,176,.85);font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.spark-section-head{text-align:center}
.spark-section-head h2{font-family:var(--font-display,Georgia,serif);font-weight:600}

.spark-step{border:1px solid rgba(242,206,131,.35);border-radius:1.1rem;background:linear-gradient(165deg,rgba(24,15,36,.5),rgba(14,9,22,.6))}
.spark-step legend{font-family:var(--font-display,Georgia,serif);font-weight:600;color:#f5e7cb}
.spark-progress [aria-current="step"]{color:#f2ce83}
.spark-progress [aria-current="step"] span{border-color:#f2ce83;color:#221430;background:linear-gradient(180deg,#fbe7b6,#e8b654)}

/* ---------------------------------------------------------------------------
   THE COSTUME SWAP (owner order): the maker joins the site's voice. The old
   mint-and-pink dialect dies at the token level; buttons become the site's
   coins and gold-ringed glass; the stage centers.
   --------------------------------------------------------------------------- */
:root{--spark-pink:#e8b654;--spark-mint:#f2ce83}

.spark-button{border-radius:999px;border-color:rgba(242,206,131,.6);color:#f6dfae;background:rgba(16,10,26,.5)}
.spark-button:hover:not(:disabled){border-color:#f2ce83;color:#fff2d8;background:rgba(242,206,131,.14)}
.spark-button-primary{border-color:rgba(255,246,220,.85);color:#221430;background:linear-gradient(180deg,#fbe7b6 0%,#eec267 55%,#d99f36 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 0 0 1px rgba(140,96,26,.5),0 .45rem 1.2rem rgba(212,156,56,.35)}
.spark-button-primary:hover:not(:disabled){color:#221430;background:linear-gradient(180deg,#fff0c9 0%,#f2ce83 55%,#e0a83f 100%)}

.spark-hero-grid>div{margin-inline:auto;text-align:center}
.spark-hero-actions{justify-content:center}
#spark-title{font-family:var(--font-display,Georgia,serif);font-weight:600;background-image:linear-gradient(100deg,#fffdf6 0%,#f2e2ba 40%,#d8b56a 60%,#fff5df 85%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 6px rgba(8,7,12,.9))}
.spark-small{color:rgba(242,220,176,.85);font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.spark-section-head{text-align:center}
.spark-section-head h2{font-family:var(--font-display,Georgia,serif);font-weight:600}

.spark-step{border:1px solid rgba(242,206,131,.35);border-radius:1.1rem;background:linear-gradient(165deg,rgba(24,15,36,.5),rgba(14,9,22,.6))}
.spark-step legend{font-family:var(--font-display,Georgia,serif);font-weight:600;color:#f5e7cb}
.spark-progress [aria-current="step"]{color:#f2ce83}
.spark-progress [aria-current="step"] span{border-color:#f2ce83;color:#221430;background:linear-gradient(180deg,#fbe7b6,#e8b654)}

/* The hero is a family crest now, not a lobby: champagne brand line with the
   dash, the incantation in metal at a working size, nothing else. */
.spark-hero{padding-block:2.6rem 1.2rem}
.spark-hero-brand{color:#f5e7cb;letter-spacing:.34em}
.spark-hero-brand::before{content:"";display:inline-block;width:1.4rem;height:2px;margin-right:.55rem;vertical-align:middle;background:linear-gradient(90deg,transparent,#f5e7cb)}
#spark-title{font-size:clamp(1.9rem,3.6vw,3.1rem);letter-spacing:.04em;text-transform:uppercase}
.spark-tab-note{margin:.2rem 0 1rem;text-align:center;color:rgba(242,220,176,.75);font-size:.78rem;letter-spacing:.05em}

/* One-screen business form: gold group labels split the sections; the tab
   hint whispers where investment begins. */
.spark-group-label{grid-column:1/-1;margin:1.2rem 0 -0.2rem;padding-top:1.1rem;border-top:1px solid rgba(242,206,131,.18)}
.spark-tab-hint{flex:1;align-self:center;color:rgba(242,220,176,.6);font-size:.72rem;letter-spacing:.04em}

/* Four steps, four columns - Preview stops absorbing the two ghost cells the
   six-step era left behind. */
.spark-progress{grid-template-columns:repeat(4,1fr)}

/* OWNER (session-only ruling follow-through): version archaeology is chrome a
   five-minute conjuring does not need - the fields keep your words, remaking
   is instant. The engine stays for the Alakazam tier era; the furniture goes. */
.spark-history,#previous-version{display:none}

/* ---------------------------------------------------------------------------
   OWNER ROUND: the gate ladder's clothes, the centering, the frost, and the
   spruce.
   --------------------------------------------------------------------------- */

/* Locked extras: visible, desirable, honest about the key. */
.spark-extras{margin-top:1.4rem;padding-top:1.1rem;border-top:1px dashed rgba(242,206,131,.28)}
.spark-extras.is-locked .spark-extra-rows,.spark-extras.is-locked .spark-fields{opacity:.45;filter:saturate(.5);pointer-events:none}
.spark-lock{margin-left:.5rem;color:rgba(242,220,176,.75);font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.spark-extra-rows{display:grid;gap:1rem;margin-top:.9rem}
.spark-extra{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}
.spark-extra-name{min-width:7.5rem;color:#f5e7cb;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.spark-swatches{display:flex;flex-wrap:wrap;gap:.7rem}
.spark-swatch{display:grid;justify-items:center;gap:.25rem;cursor:pointer}
.spark-swatch input{position:absolute;opacity:0}
.spark-swatch i{width:1.7rem;height:1.7rem;border:2px solid rgba(255,255,255,.25);border-radius:50%;background:var(--sw);box-shadow:0 0 .6rem rgba(0,0,0,.4)}
.spark-swatch small{color:rgba(242,220,176,.7);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase}
.spark-swatch input:checked+i{border-color:#f2ce83;box-shadow:0 0 0 3px rgba(242,206,131,.35)}
.spark-pair{display:flex;gap:1.1rem;color:#e9dcc2;font-size:.85rem}
.spark-pair label{display:flex;align-items:center;gap:.4rem;cursor:pointer}
.is-locked-link{opacity:.5;filter:saturate(.4);cursor:not-allowed}

/* Centered voices in every box; fields stay ergonomic. */
.spark-step legend{width:100%;text-align:center}
.spark-step-intro{text-align:center}
.spark-quick-start{text-align:center}
.spark-quick-start>div{justify-content:center}
.spark-theme-grid{justify-items:center}
.spark-theme-card{text-align:center}
.spark-panel-label{text-align:center}
.spark-extra{justify-content:center}
.spark-extra-rows{justify-items:center}
.spark-save-gate{text-align:center}
.spark-save-gate .spark-fine{margin-inline:auto}

/* The crest wears home's frost pools. */
.spark-hero .spark-hero-brand,#spark-title{position:relative;z-index:0}
.spark-hero .spark-hero-brand::after,#spark-title::before{content:"";position:absolute;inset:-.5rem -1.8rem;z-index:-1;border-radius:999px;backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);mask-image:radial-gradient(ellipse closest-side,#000 52%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse closest-side,#000 52%,transparent 100%)}
@media (max-width:40rem){#spark-title::before{inset-inline:0}}

/* Spruce: the boxes join the vessel's family. */
.spark-step{border-color:rgba(242,206,131,.42);box-shadow:inset 0 0 0 1px rgba(242,206,131,.08),0 .8rem 2rem rgba(8,7,12,.35)}
.spark-theme-card{border:1px solid rgba(242,206,131,.3);border-radius:1rem;background:linear-gradient(165deg,rgba(24,15,36,.6),rgba(14,9,22,.7));padding:.8rem}
.spark-theme-card:has(input:checked){border-color:#f2ce83;box-shadow:0 0 0 2px rgba(242,206,131,.3),0 0 1.6rem rgba(242,206,131,.25)}
.spark-save-gate{border:1.5px solid rgba(242,206,131,.5);border-radius:1.2rem;background:radial-gradient(circle at 50% -20%,rgba(174,112,255,.12),transparent 22rem),linear-gradient(165deg,rgba(24,15,36,.5),rgba(14,9,22,.62));box-shadow:inset 0 0 0 1px rgba(242,206,131,.1),0 0 2rem rgba(122,79,192,.25)}

/* Locked = one elegant teaser, zero controls. Open = chips and swatches
   worth paying for. The 90s furniture is gone. */
.spark-extras.is-locked [data-extra-controls]{display:none}
.spark-extras:not(.is-locked) .spark-tease{display:none}
.spark-tease{margin:.2rem 0 0;text-align:center;color:var(--spark-mint);font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.spark-tease b{color:#f2ce83;font-weight:800}
.spark-extras.is-locked .spark-extra-rows,.spark-extras.is-locked .spark-fields{opacity:1;filter:none}
.spark-chiprow{display:flex;flex-wrap:wrap;gap:.5rem}
.spark-chiprow label{position:relative;cursor:pointer}
.spark-chiprow input{position:absolute;opacity:0}
.spark-chiprow span{display:inline-flex;align-items:center;padding:.45rem 1rem;border:1px solid rgba(242,206,131,.5);border-radius:999px;color:#e9dcc2;background:rgba(16,10,26,.5);font-size:.8rem;font-weight:750;letter-spacing:.05em;transition:all .2s ease}
.spark-chiprow input:checked+span{border-color:rgba(255,246,220,.85);color:#221430;background:linear-gradient(180deg,#fbe7b6 0%,#eec267 100%);box-shadow:0 0 .9rem rgba(242,206,131,.35)}
.spark-chiprow input:focus-visible+span{outline:3px solid #f2ce83;outline-offset:2px}
.spark-swatch i{width:2rem;height:2rem;transition:transform .2s ease}
.spark-swatch:hover i{transform:translateY(-2px)}

/* The includes popup: one small scroll of truth, an X, nothing else. */
.spark-modal{width:min(26rem,90vw);padding:1.6rem 1.5rem 1.4rem;border:1.5px solid rgba(242,206,131,.55);border-radius:1.1rem;color:#e9dcc2;background:linear-gradient(165deg,#1a1128,#0e0916);box-shadow:0 0 3rem rgba(122,79,192,.4),0 1.5rem 3rem rgba(0,0,0,.6)}
.spark-modal::backdrop{background:rgba(8,7,12,.65);backdrop-filter:blur(4px)}
.spark-modal-x{position:absolute;top:.6rem;right:.6rem;width:2rem;height:2rem;border:1px solid rgba(242,206,131,.5);border-radius:50%;color:#f2ce83;background:rgba(16,10,26,.6);cursor:pointer}
.spark-modal-list{margin:.8rem 0 0;padding:0 0 0 1.1rem;display:grid;gap:.55rem;font-size:.88rem;line-height:1.5}
.spark-modal-list li::marker{content:"\2726  ";color:#f2ce83}

/* Phone: the rail folds two-by-two instead of cramming four across, and the
   boot toast stands on its own glass. */
@media (max-width:40rem){
  .spark-progress{grid-template-columns:repeat(2,1fr)}
  .spark-progress li:nth-child(-n+2){border-bottom:1px solid var(--spark-line)}
  .spark-progress li:nth-child(3){border-left:0}
}
.spark-boot{border:1px solid rgba(242,206,131,.4);border-radius:.8rem;background:rgba(14,9,22,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}

/* ---- the state coin under the title: gold PAID, green ACTIVE ---- */
.spark-state-coin{display:inline-block;margin:1.05rem auto 0;padding:.42rem 1.35rem;border-radius:999px;border:1px solid rgba(255,246,220,.85);background:linear-gradient(180deg,#fbe7b6 0%,#eec267 55%,#d99f36 100%);color:#221430;font-size:.72rem;font-weight:850;letter-spacing:.26em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 0 0 1px rgba(140,96,26,.5),0 .45rem 1.3rem rgba(212,156,56,.35),0 0 1.8rem rgba(255,214,130,.24)}
.spark-state-coin.is-live{border-color:rgba(214,255,235,.85);background:linear-gradient(180deg,#c9f5dd 0%,#6fd9a6 55%,#2e9e6b 100%);color:#0c2417;text-shadow:0 1px 0 rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 0 0 1px rgba(20,90,60,.55),0 .45rem 1.3rem rgba(46,158,107,.35),0 0 1.8rem rgba(110,220,170,.28)}

/* the Apply press inside the style kit - lighter than a step-actions bar */
.spark-apply-row{justify-content:center;margin-top:.5rem;padding-top:.9rem;border-top:1px dashed rgba(242,206,131,.25)}

/* the keep room: page made + download paid, the rail disappears - the wizard
   is a door you can walk back into, not the home */
.spark-maker.is-keep[data-current-step="preview"] .spark-progress{display:none}

/* the address hunt inside the keep room */
.spark-address{margin:1.6rem auto 0;max-width:34rem;text-align:left}
.spark-address .spark-panel-label,.spark-address .spark-tease,.spark-address>.spark-fine,.spark-address [data-extra-controls]>.spark-fine{text-align:center}
.spark-address .domain-search-status{font-size:.8rem}

/* the address hunt exists only once the download is paid - no teaser */
.spark-address.is-locked{display:none}

/* the empty Alakazam room: paid or live, but no page in this tab yet */
.spark-empty-room[hidden]{display:none}
.spark-empty-room{display:grid;justify-items:center;gap:.75rem;margin:.6rem auto 1rem;padding:2.2rem 1.5rem;max-width:36rem;border:1px dashed rgba(242,206,131,.42);border-radius:1.2rem;background:linear-gradient(180deg,rgba(16,11,26,.5),rgba(10,7,16,.6));text-align:center}
.spark-empty-title{margin:0;font-family:inherit;font-size:1.35rem;font-weight:800;color:var(--spark-ink)}
.spark-empty-room p{margin:0;color:var(--spark-muted);font-size:.9rem;line-height:1.6}
.spark-maker.is-keep.is-empty .spark-preview,.spark-maker.is-keep.is-empty .spark-preview-toolbar,.spark-maker.is-keep.is-empty [data-step="preview"] .spark-extras:not(.spark-address){display:none}

/* the Alakazam chamber is its own room - mint cast over the storm, mint-metal title */
.ss-keep-room .spark-hero{position:relative}
.ss-keep-room .spark-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(70% 95% at 50% 15%,rgba(63,191,152,.2),transparent 70%),linear-gradient(180deg,rgba(8,26,20,.42),transparent 65%)}
.ss-keep-room .spark-hero-grid{position:relative;z-index:1}
.ss-keep-room #spark-title{background-image:linear-gradient(100deg,#f6fffa 0%,#c4f2da 40%,#5fc492 60%,#ecfff5 85%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 6px rgba(8,7,12,.9))}

/* display:none here trips a Chrome fieldset quirk (first block after the
   legend) that zeroes the next sibling's width - collapse in flow instead */
.spark-maker.is-keep [data-step="preview"]>.spark-step-intro{visibility:hidden;block-size:0;margin:0;padding:0;overflow:hidden}
.spark-maker.is-keep.is-empty [data-edit-facts],
.spark-maker.is-keep.is-empty [data-edit-look]{display:none}

/* the account panel - made right before you pay, mint like the Alakazam side */
.spark-account-panel{display:grid;justify-items:center;gap:.55rem;margin:.9rem auto;padding:1.15rem 1.3rem;max-width:30rem;border:1px solid rgba(131,231,193,.45);border-radius:1rem;background:linear-gradient(180deg,rgba(16,26,22,.6),rgba(10,16,13,.72));box-shadow:inset 0 0 24px rgba(131,231,193,.08)}
.spark-account-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;width:100%}
.spark-account-email{flex:1 1 14rem;min-height:3rem;padding:.7rem 1rem;border:1px solid rgba(131,231,193,.4);border-radius:.9rem;background:rgba(10,16,13,.7);color:#eafff4;font:inherit;text-align:center}
.spark-account-email:focus{outline:0;border-color:#9fe8c8;box-shadow:0 0 0 3px rgba(131,231,193,.2)}
.spark-account-err{color:#ff9f9f}
.spark-account-standing{color:#9fe8c8}
