/* Launcher: 3-step wizard + sticky "Launch summary" (together ≤ 940 px, left-aligned), as on the reference site. */
.lx{margin-top:16px; display:flex; max-width:940px; flex-direction:column; gap:16px; padding-bottom:64px}
.lx .wiz{min-width:0; flex:1}
.lx .steps{margin-bottom:20px; display:flex; align-items:center; gap:6px}
.lx .steps i{height:3px; flex:1; border-radius:999px; background:var(--line); transition:background .2s}
.lx .steps i.on{background:var(--head)}
.lx .cap{margin:-8px 0 20px; font-size:12px; line-height:1.6; color:var(--muted)}
.lx .body{display:flex; min-height:372px; flex-direction:column; gap:16px}
.lx .sl{margin-bottom:8px; font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:var(--muted)}
.venue{display:flex; flex-wrap:wrap; align-items:center; gap:8px}
.vtile{display:flex; height:40px; align-items:center; gap:10px; border-radius:7px; border:1px solid var(--frame); background:var(--track); padding:0 12px 0 6px}
.vtile .ic{display:flex; width:28px; height:28px; flex:none; align-items:center; justify-content:center; border-radius:5px; border:1px solid var(--line); background:var(--paper-2)}
.vtile b{font-size:12.5px; font-weight:600; line-height:1}
.vtile small{font-size:10.5px; color:var(--muted)}
.opens{display:grid; grid-template-columns:1fr; gap:8px}
.otile{border-radius:8px; border:1px solid var(--frame); background:var(--track); padding:12px 14px; text-align:left}
.otile .r{display:flex; align-items:baseline; justify-content:space-between; gap:8px}
.otile b{font-size:12.5px; font-weight:600; line-height:1}
.otile .x{font-size:10px; color:var(--muted)}
.otile .v{margin-top:8px; display:block; font-size:15px; font-weight:500; line-height:1; letter-spacing:-.01em; font-variant-numeric:tabular-nums}
.otile .s{margin-top:6px; display:block; font-size:10.5px; line-height:1; color:var(--muted)}
.lx .help{margin-top:8px; font-size:10.5px; line-height:1.5; color:var(--muted)}
.ptabs{margin-bottom:8px; display:flex; flex-wrap:wrap; align-items:center; gap:4px; border-radius:999px; background:var(--well); padding:2px; width:fit-content}
.ptabs button{border-radius:999px; padding:6px 14px; font-size:12px; font-weight:500; color:var(--muted)}
.ptabs button[aria-pressed=true]{background:#fff; color:var(--ink); box-shadow:0 1px 2px #3a38320f}
html[data-theme=dark] .ptabs button[aria-pressed=true]{background:var(--track)}
.ptabs .n{margin-left:6px; font-size:10px; opacity:.6; font-variant-numeric:tabular-nums}
.psrch{margin-bottom:8px; display:flex; align-items:center; gap:8px; border-radius:999px; background:var(--well); padding:6px 12px; color:var(--muted)}
.psrch input{width:100%; background:transparent; font-size:11.5px; color:var(--ink); outline:none}
.pgrid{max-height:216px; overflow-y:auto; padding-right:4px}
.pgrid .g{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px}
.ptile{position:relative; display:flex; height:42px; align-items:center; gap:8px; border-radius:6px; border:1px solid var(--line); background:var(--card); padding:0 8px; text-align:left}
.ptile:hover{border-color:var(--frame)}
.ptile[aria-pressed=true]{border-color:var(--ink); background:var(--track)}
.ptile .c{display:flex; min-width:0; flex:1; flex-direction:column}
.ptile b{font-size:11px; font-weight:500; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.ptile small{font-size:9px; line-height:1.25; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.holders{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px}
.htile{border-radius:6px; border:1px solid var(--line); background:var(--card); padding:10px 12px; text-align:left}
.htile[aria-pressed=true]{border-color:var(--ink); background:var(--track)}
.htile:disabled{opacity:.5; cursor:not-allowed}
.htile b{display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; line-height:1}
.htile small{margin-top:6px; display:block; font-size:10px; line-height:1; color:var(--muted)}
.lx .hint{margin:12px 0; min-height:28px; font-size:10.5px; line-height:1.6; color:var(--muted)}
.lx .err{margin-top:10px; min-height:18px; font-size:11px; line-height:1.6; color:var(--alert)}
.lx .nm{display:flex; gap:20px}
.drop{position:relative; display:flex; width:132px; height:132px; flex:none; align-items:center; justify-content:center; overflow:hidden; border-radius:6px; border:1px dashed var(--frame); background:var(--well); color:var(--muted)}
.drop:hover{color:var(--ink)}
.drop .in{display:flex; flex-direction:column; align-items:center; gap:8px; font-size:9.5px; text-transform:uppercase; letter-spacing:.14em}
.drop img{width:100%; height:100%; object-fit:cover}
.fields{display:flex; flex:1; flex-direction:column; justify-content:center; gap:12px}
.fld{display:block}
.fld .lb{margin-bottom:4px; display:flex; align-items:baseline; justify-content:space-between; font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:var(--muted)}
.fld .ip{display:flex; align-items:center; border-radius:4px; border:1px solid var(--frame); background:var(--card); padding-left:10px}
.fld .ip:focus-within{border-color:var(--ink)}
.fld .pre{user-select:none; font-size:12px; color:var(--muted)}
.fld input,.fld textarea{width:100%; background:transparent; padding:8px 10px 8px 0; font-size:13px; color:var(--ink); outline:none; resize:vertical}
.fld input::placeholder,.fld textarea::placeholder{color:color-mix(in srgb,var(--muted) 40%,transparent)}
.buy{display:flex; flex-wrap:wrap; align-items:center; gap:8px}
.buy .seg button{height:26px; padding:0 14px; font-size:11.5px; font-weight:600}
.amt-in{margin-left:auto; display:flex; height:34px; align-items:center; gap:4px; border-radius:999px; border:1px solid var(--line); background:var(--card); padding:0 12px 0 14px}
.amt-in input{width:52px; background:transparent; text-align:right; font-size:11.5px; font-variant-numeric:tabular-nums; outline:none}
.amt-in span{font-size:11.5px; color:var(--muted)}
.lx .foot{margin-top:24px; display:flex; align-items:center; gap:8px; border-top:1px solid var(--line); padding-top:16px}
.lx .back{height:40px; border-radius:6px; border:1px solid var(--frame); padding:0 16px; font-size:12.5px; font-weight:500; color:var(--muted)}
.lx .back:hover:not(:disabled){background:var(--well); color:var(--ink)}
.lx .back:disabled,.lx .next:disabled{opacity:.35; cursor:not-allowed}
.lx .next{margin-left:auto; height:40px; min-width:160px; border-radius:6px; background:var(--fill); padding:0 20px; font-size:12.5px; font-weight:600; color:var(--on-fill)}
.lx .next:hover:not(:disabled){background:var(--fill-lit)}
.lx .insum{margin-left:auto; font-size:11.5px; color:var(--muted)}
.sum{width:100%; flex:none}
.sum .top{display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--line); padding-bottom:12px}
.sum .pic{display:flex; width:36px; height:36px; flex:none; align-items:center; justify-content:center; overflow:hidden; border-radius:6px; border:1px solid var(--line); background:var(--well); color:var(--muted)}
.sum .pic img{width:100%; height:100%; object-fit:cover}
.sum .top b{display:block; font-size:12.5px; font-weight:600; line-height:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.sum .top small{margin-top:6px; display:block; font-size:10px; line-height:1; color:var(--muted)}
.sum .rows{margin-top:12px; display:flex; flex-direction:column; gap:8px; font-size:11.5px}
.sum .row{display:flex; align-items:baseline; justify-content:space-between; gap:12px}
.sum .row .k{flex:none; color:var(--muted)}
.sum .row .v{min-width:0; text-align:right; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:flex; align-items:center; gap:6px; justify-content:flex-end}
.sum .of{margin-top:12px; border-top:1px solid var(--line); padding-top:12px}
.sum .of .h{margin-bottom:8px; font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted)}
.sum .n2{margin-top:10px; font-size:10.5px; line-height:1.6; color:var(--muted)}
.launch-btn{margin-top:20px; height:40px; width:100%; border-radius:999px; background:var(--fill); color:var(--on-fill); font-size:11.5px; letter-spacing:.18em; box-shadow:0 1px 2px #0000000d}
.launch-btn:disabled{background:color-mix(in srgb,var(--muted) 70%,transparent); color:var(--paper); cursor:not-allowed}
@media (min-width:640px){.pgrid .g{grid-template-columns:repeat(3,minmax(0,1fr))} .opens{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.lx{flex-direction:row; align-items:flex-start} .pgrid .g{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sum{position:sticky; top:calc(var(--strip-h) + 76px); width:300px; align-self:flex-start}}
@media (max-width:639px){.lx .nm{flex-direction:column} .drop{width:100%; height:120px}}
