/* The AI trader page, /go/desk (the owner's approval of the round 3 desk frames, 4 Nov 2026, ~/quit-funnel-v2/desk/comps/r3/D1
   to D5), in the House of $QUIT look (go-house.css tokens: black, 1 px gold rules, the serif for headlines and figures, the
   phone's sans for reading, solid gold keys, square corners). Loaded after go-house.css on door.html. door-kind.js marks
   the page qfh-desk-door before its first frame: there the desk's first screen, levels and trade size helper show in place
   of the welcome and the House sections, and DONE shows the setup in place of the perks; on every other door none of it
   shows. Icons are the medallion cuts, placed (their black drops out on the page's black), never drawn. */

/* Every other door: none of the desk's parts. */
html:not(.qfh-desk-door) .qfk-only{display:none!important}
/* The desk door: its own first screen in place of the welcome and the House sections and their pinned bar. */
.qfh-desk-door .qfh .qfh-welcome,.qfh-desk-door .qfh [data-learn],.qfh-desk-door .qfh .qfh-bar{display:none!important}
/* Keep the footer below the first viewport while the desk module loads. Its content takes over this space on mount. */
.qfh-desk-door .qfd-main:not(:has([data-desk-page])){min-height:100vh;min-height:100svh}
.qfh .qfk-page[hidden]{display:none}
/* The header: MY $QUIT on the first screen, BUY $QUIT in the steps. */
.qfh .qfk-my{width:auto;height:40px;padding:0 12px;border:1px solid var(--h-gold);border-image:none;background:transparent;color:var(--h-gold-text);font:700 15px/1 var(--h-serif);letter-spacing:.16em;text-decoration:none;text-shadow:none;white-space:nowrap}
.qfh .qfk-my::before{content:none}
.qfh-desk-door body:has(.qfk-page:not([hidden])) .qfh-headbuy,.qfh-desk-door body:has([data-stage="6"][data-desk-money-open]:not([hidden])) .qfh-headbuy,.qfh-desk-door body:has(.qfk-owner:not([hidden])) .qfh-headbuy{display:none}
.qfh-desk-door body:not(:has(.qfk-page:not([hidden]))):not(:has([data-stage="6"][data-desk-money-open]:not([hidden]))):not(:has(.qfk-owner:not([hidden]))) .qfk-my{display:none!important}
/* DONE on the desk door (frame D5): YOU'RE IN. and the setup in place of the medallion, the rank, WELCOME, the perks, the
   desk key, the break room and the link. */
.qfh-desk-door .qfh [data-stage="6"] :is(.qfh-done-medal,.qfh-done-rank,.qfd-done-title,.qfh-perks,[data-next-panel],.qfh-done-key,[data-house-desk-host]){display:none!important}

/* Shared: the sections, the small gold capitals, the lines. */
.qfh .qfk-sec{margin:0;padding:22px 0 26px}
.qfh .qfk-sec+.qfk-sec{border-top:1px solid #c9a24a55;padding-top:30px}
.qfh .qfk-center{text-align:center}
.qfh .qfk-k{display:block;color:var(--h-gold-text);font:600 11px/1.3 var(--h-serif);letter-spacing:.22em}
.qfh .qfk-key{width:100%;min-height:68px;font-size:30px;white-space:nowrap}

/* D1: the first screen. */
.qfh .qfk-first{display:flex;flex-direction:column;align-items:center;padding-top:16px;text-align:center}
.qfh .qfk-from{align-self:stretch;margin:0 0 6px;color:var(--h-gold-text);font:600 clamp(9.5px,3.1vw,12px)/1.3 var(--h-serif);letter-spacing:.16em;white-space:nowrap}
.qfh .qfk-monitor{width:min(46%,184px);height:auto;aspect-ratio:1;margin:-8px auto -12px}
/* The headline's two lines stay one line each in any face, so a late serif moves nothing under them. */
.qfh .qfk-title{align-self:stretch;margin:0;padding-bottom:12px;border-bottom:1px solid var(--h-gold);color:var(--h-gold-text);font:700 clamp(30px,11vw,54px)/1.04 var(--h-serif);text-transform:uppercase}
.qfh .qfk-title span{display:block;white-space:nowrap}
.qfh .qfk-lede{align-self:stretch;margin:12px 0 14px;color:var(--h-ivory);font:400 16px/1.35 var(--h-sans);text-wrap:balance}
/* BEST LIVE PICK and AVERAGE WIN: an unread tile keeps its place, unseen, so nothing under it moves. */
.qfh .qfk-figs{align-self:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 6px}
.qfh .qfk-fig{box-sizing:border-box;display:grid;grid-template-rows:auto 52px;justify-items:center;align-content:center;gap:4px;min-height:104px;margin:0;padding:12px 4px;border:1px solid var(--h-gold);background:#000}
.qfh .qfk-fig[hidden]{display:grid!important;visibility:hidden}
.qfh .qfk-fig span{color:var(--h-gold-text);font:600 clamp(8.5px,2.7vw,10.5px)/1.3 var(--h-serif);letter-spacing:.1em;white-space:nowrap}
.qfh .qfk-fig b{color:var(--h-ivory);font:700 clamp(36px,11.6vw,50px)/52px var(--h-serif);white-space:nowrap}
.qfh .qfk-three{align-self:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px;padding:0;list-style:none}
.qfh .qfk-three li{display:grid;justify-items:center;align-content:start;gap:2px;min-height:150px;padding:10px 4px;border:1px solid var(--h-gold);background:#000}
.qfh .qfk-three .qfh-ico,.qfh .qfk-three .qfh-medal{width:78px;height:78px}
.qfh .qfk-three b{color:var(--h-gold-text);font:700 30px/1 var(--h-serif)}
.qfh .qfk-three li>span:last-child{color:var(--h-ivory);font:600 11px/1.25 var(--h-sans);letter-spacing:.12em;white-space:nowrap}
.qfh .qfk-under{margin:12px 0 0;color:var(--h-ivory);font:400 15px/1.3 var(--h-sans)}
.qfh .qfk-past{align-self:stretch;margin:0 0 12px;color:var(--h-muted);font:400 11.5px/1.35 var(--h-sans);text-wrap:balance}
.qfh .qfk-past[hidden]{display:block!important;visibility:hidden}

/* D2: who gets the call first, then the levels. The timeline shows the order the levels get the call, each tick with its
   second (a plain gold line, no arrowheads). */
.qfh .qfk-levels .qfh-label{margin-bottom:14px}
.qfh .qfk-line{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 12px;padding:16px 0 0;list-style:none}
.qfh .qfk-line::before{content:"";position:absolute;left:12.5%;right:12.5%;top:7px;height:2px;background:var(--h-gold)}
.qfh .qfk-line li{position:relative;display:grid;justify-items:center;gap:3px;text-align:center}
.qfh .qfk-line li::before{content:"";position:absolute;top:-16px;left:50%;width:2px;height:16px;margin-left:-1px;background:var(--h-gold)}
.qfh .qfk-line b{color:var(--h-gold-text);font:700 26px/1.05 var(--h-serif)}
.qfh .qfk-line span{color:var(--h-ivory);font:600 11px/1.2 var(--h-sans);letter-spacing:.1em;white-space:nowrap}
.qfh .qfk-note{margin:0 0 16px;color:var(--h-ivory);font:400 14.5px/1.35 var(--h-sans);text-align:center;text-wrap:balance}
.qfh .qfk-h{margin:0 0 12px;color:var(--h-gold-text);font:700 clamp(17px,5.4vw,24px)/1.15 var(--h-serif);text-align:center;text-wrap:balance}
.qfh .qfk-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;column-gap:12px;margin:0 0 10px;padding:10px;border:1px solid var(--h-gold);background:#000}
.qfh .qfk-row--top{padding:12px 10px;border:2px solid var(--h-gold-hi)}
.qfh .qfk-row-medal{width:72px;height:72px}
.qfh .qfk-row-copy{min-width:0;padding-left:12px;border-left:1px solid var(--h-gold)}
.qfh .qfk-row-k{margin:0;color:var(--h-gold-text);font:700 clamp(16px,4.7vw,24px)/1.08 var(--h-serif);text-wrap:balance}
.qfh .qfk-row-tag{margin:4px 0 0;color:var(--h-gold-text);font:600 10.5px/1.3 var(--h-serif);letter-spacing:.24em}
.qfh .qfk-badge{display:flex;align-items:center;gap:6px;width:fit-content;margin:5px 0 0;padding:2px 8px 2px 4px;border:1px solid var(--h-gold);color:var(--h-gold-text);font:600 10px/1.2 var(--h-serif);letter-spacing:.2em}
.qfh .qfk-badge .qfh-ico{width:22px;height:22px}
/* HANDS-FREE (lane R1c) beside FIRST IN LINE and under THE BOARDROOM, in the same badge. */
.qfh .qfk-badge--free{display:inline-flex;margin-right:6px}
.qfh .qfk-row-copy .qfk-badge+.qfk-badge--free{margin-left:0}
/* The switch screen: HANDS-FREE at 1,000,000 $QUIT or more, the block for a QUIT account owner under it, the limits line. */
.qfh .qfk-free{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;border:2px solid var(--h-gold-hi);background:#000;text-align:left}
.qfh .qfk-free[hidden],.qfh .qfk-under1m[hidden]{display:none}
.qfh .qfk-free .qfh-ico{width:72px;height:72px}
.qfh .qfk-free p{display:grid;gap:4px;margin:0;padding-left:12px;border-left:1px solid var(--h-gold)}
.qfh .qfk-free b{color:var(--h-gold-text);font:700 clamp(20px,6vw,26px)/1.1 var(--h-serif)}
.qfh .qfk-free span{color:var(--h-ivory);font:400 14px/1.3 var(--h-sans)}
.qfh .qfk-under1m{margin:0 0 12px;padding:12px;border:1px solid var(--h-gold);background:#000}
.qfh .qfk-under1m-k{margin:0 0 6px;color:var(--h-gold-text);font:700 clamp(15px,4.6vw,20px)/1.2 var(--h-serif);letter-spacing:.04em;text-wrap:balance}
.qfh .qfk-under1m-line{margin:0 0 12px;color:var(--h-ivory);font:400 14.5px/1.35 var(--h-sans);text-wrap:balance}
.qfh .qfk-limits{margin:0 0 14px;color:var(--h-ivory);font:400 14px/1.35 var(--h-sans);text-wrap:balance}
.qfh .qfk-row-line{margin:5px 0 0;color:var(--h-ivory);font:400 13px/1.3 var(--h-sans)}
.qfh .qfk-row-buy{display:grid;justify-items:center;gap:6px;min-width:78px;padding-left:12px;border-left:1px solid var(--h-gold)}
/* A level's price holds its room while it is read; without it the BUY stays unseen. */
.qfh .qfk-row-usd{min-height:1.05em;margin:0;color:var(--h-gold-text);font:700 clamp(19px,5.8vw,26px)/1.05 var(--h-serif);white-space:nowrap}
.qfh .qfk-row-buy .qfh-tier-buy{min-width:72px;min-height:44px;padding:6px 10px;font-size:20px}
.qfh .qfk-row:not([data-priced]) .qfh-tier-buy{visibility:hidden}

/* D3: the trade size helper. */
.qfh .qfk-h2{margin:0 0 12px;color:var(--h-gold-text);font:700 clamp(24px,8vw,34px)/1.08 var(--h-serif)}
.qfh .qfk-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 12px}
.qfh .qfk-chips button{min-height:48px;padding:4px;border:1px solid var(--h-gold);background:transparent;color:var(--h-gold-text);font:700 20px/1 var(--h-serif);cursor:pointer}
.qfh .qfk-chips button[aria-checked="true"]{border-color:#8a6a24;background:var(--h-key);color:#0e0902}
.qfh .qfk-quad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:0;list-style:none}
.qfh .qfk-quad li{display:grid;justify-items:center;align-content:start;gap:3px;padding:12px 6px 14px;border:1px solid var(--h-gold);background:#000;text-align:center}
.qfh .qfk-quad .qfh-ico,.qfh .qfk-quad .qfh-medal{width:84px;height:84px;margin-bottom:2px}
.qfh .qfk-v{color:var(--h-ivory);font:700 clamp(14px,4.4vw,24px)/1.15 var(--h-serif);text-wrap:balance}
.qfh .qfk-s{color:var(--h-ivory);font:400 12.5px/1.3 var(--h-sans);text-wrap:balance}
.qfh .qfk-calls{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:8px 0;border-top:1px solid var(--h-gold);border-bottom:1px solid var(--h-gold);color:var(--h-gold-text);font:700 15px/1.2 var(--h-serif);letter-spacing:.18em}
.qfh .qfk-calls[hidden]{display:none}
.qfh .qfk-calls .qfh-ico{flex:none;width:64px;height:64px}
.qfh .qfk-calls span{padding-left:14px;border-left:1px solid var(--h-gold)}

/* D4: YOUR AI TRADER on the amount step. */
.qfh .qfk-amount-summary{margin:0 0 16px}
.qfh .qfk-amount-needs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.qfh .qfk-amount-needs p{display:grid;align-content:center;gap:6px;min-width:0;margin:0;padding:10px 8px;border:1px solid var(--h-gold);background:#000;color:var(--h-gold-text);font:700 13px/1.3 var(--h-serif);text-align:center;text-wrap:balance}
.qfh .qfk-amount-money b{color:var(--h-ivory);font:700 17px/1.2 var(--h-serif)}
.qfh .qfk-amount-money b>span:first-child{display:block;font-size:10px;letter-spacing:.08em}
.qfh .qfk-amount-money small{color:var(--h-ivory);font:400 12px/1.25 var(--h-sans)}
.qfh .qfk-amount-owner{width:100%;min-height:44px;margin:8px 0 0;padding:10px 8px;background:transparent;font-size:clamp(15px,4.8vw,19px);line-height:1.2;white-space:normal;cursor:pointer;appearance:none}
.qfh .qfk-trader{margin:14px 0 0;padding:10px 12px 12px;border:1px solid var(--h-gold);background:#000;text-align:center}
.qfh .qfk-trader[hidden]{display:none}
.qfh .qfk-trader-k{margin:0;color:var(--h-gold-text);font:600 11.5px/1.3 var(--h-serif);letter-spacing:.24em}
.qfh .qfk-trader-big{margin:4px 0 2px;color:var(--h-ivory);font:700 clamp(21px,7vw,32px)/1.1 var(--h-serif);text-wrap:balance}
.qfh .qfk-trader-small{margin:0;color:var(--h-ivory);font:400 14px/1.3 var(--h-sans)}

/* D5: DONE on the desk door. */
.qfh .qfk-done-title{margin:16px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--h-gold);color:var(--h-gold-text);font:700 clamp(40px,13vw,60px)/1.02 var(--h-serif);text-align:center}
.qfh .qfk-done-title[hidden],.qfh .qfk-setup[hidden]{display:none}
.qfh .qfk-done-sub{margin:18px 0 12px;color:var(--h-gold-text);font:700 clamp(18px,5.8vw,26px)/1.15 var(--h-serif);text-align:center;text-wrap:balance}
/* The setup tracker: three tiles joined by plain gold lines, the done one with its tick, the current one framed bright,
   the one to come dim. */
.qfh .qfk-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px;padding:0;list-style:none}
.qfh .qfk-track li{position:relative;display:grid;justify-items:center;align-content:start;gap:4px;min-height:132px;padding:10px 4px;border:1px solid var(--h-gold);background:#000;text-align:center}
.qfh .qfk-track li+li::before{content:"";position:absolute;right:100%;top:50%;width:13px;height:2px;margin-right:0;background:var(--h-gold)}
.qfh .qfk-track .qfh-ico{width:76px;height:76px}
.qfh .qfk-track li>span:not(.qfd-vh){color:var(--h-ivory);font:700 13px/1.2 var(--h-serif);letter-spacing:.08em;text-wrap:balance}
.qfh .qfk-track li.is-current{border:3px solid var(--h-gold-hi);padding:8px 2px}
.qfh .qfk-track li:not(.is-done):not(.is-current) .qfh-ico{opacity:.62}
.qfh .qfk-track li:not(.is-done):not(.is-current)>span{color:var(--h-muted)}
.qfh .qfk-level{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:14px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--h-gold);background:#000}
.qfh .qfk-level[hidden]{display:none}
.qfh .qfk-seal{width:68px;height:68px}
.qfh .qfk-level p{display:grid;gap:3px;margin:0;padding-left:14px;border-left:1px solid var(--h-gold)}
.qfh .qfk-level b{color:var(--h-ivory);font:700 clamp(15px,4.5vw,22px)/1.15 var(--h-serif);text-wrap:balance}
.qfh .qfk-level p>span:last-child{color:var(--h-ivory);font:400 13.5px/1.3 var(--h-sans)}
/* ADD MONEY TO START: the solid gold key with the coins, as WELCOME's gold key is drawn. */
.qfh .qfk-start{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;min-height:70px;margin:0 0 12px;padding:6px 14px;border:1px solid #8a6a24;background:var(--h-key);color:#0e0902;font:700 18px/1.15 var(--h-serif);letter-spacing:.04em;text-decoration:none}
.qfh .qfk-start img{width:48px;height:48px}
.qfh .qfk-start span{padding:6px 0 6px 14px;border-left:1px solid currentColor;font-size:clamp(16px,5vw,24px);text-wrap:balance}
.qfh .qfk-start:active{transform:translateY(1px)}
.qfh .qfk-gap{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:14px;margin:4px 0 0;padding:12px;border:1px solid var(--h-gold);background:#000}
.qfh .qfk-gap[hidden]{display:none}
.qfh .qfk-gap>.qfh-medal{width:84px;height:84px}
.qfh .qfk-gap>div{padding-left:14px;border-left:1px solid var(--h-gold)}
.qfh .qfk-gap-line{margin:4px 0 10px;color:var(--h-ivory);font:400 15px/1.3 var(--h-sans)}
.qfh .qfk-gap-buy{width:100%;min-height:48px;padding:8px 10px;border:1px solid var(--h-gold);background:transparent;color:var(--h-gold-text);font:700 17px/1.15 var(--h-serif);letter-spacing:.02em;cursor:pointer;text-wrap:balance}
.qfh .qfk-gap-buy:active{transform:translateY(1px)}

/* Narrow phones: smaller medallions and figures, every target still 44 px. */
@media (max-width:374px){
  .qfh .qfk-key{font-size:24px}
  .qfh .qfk-three li{min-height:132px}
  .qfh .qfk-three .qfh-ico,.qfh .qfk-three .qfh-medal{width:64px;height:64px}
  .qfh .qfk-three li>span:last-child{font-size:10px;letter-spacing:.06em}
  .qfh .qfk-row{grid-template-columns:48px minmax(0,1fr) auto;column-gap:8px;padding:8px}
  .qfh .qfk-row-medal{width:48px;height:48px}
  .qfh .qfk-row-copy{padding-left:8px}
  .qfh .qfk-row-buy{min-width:64px;padding-left:8px}
  .qfh .qfk-row-usd{font-size:22px}
  .qfh .qfk-row-buy .qfh-tier-buy{min-width:60px;font-size:18px}
  .qfh .qfk-row-tag{letter-spacing:.14em}
  .qfh .qfk-badge{letter-spacing:.1em}
  .qfh .qfk-line b{font-size:22px}
  .qfh .qfk-line span{font-size:10px;letter-spacing:.04em}
  .qfh .qfk-quad .qfh-ico,.qfh .qfk-quad .qfh-medal{width:64px;height:64px}
  .qfh .qfk-chips button{font-size:18px}
  .qfh .qfk-calls{gap:10px;font-size:12.5px;letter-spacing:.1em;white-space:nowrap}
  .qfh .qfk-calls .qfh-ico{width:52px;height:52px}
  .qfh .qfk-calls span{padding-left:10px}
  .qfh .qfk-track{gap:8px}
  .qfh .qfk-track li+li::before{width:9px}
  .qfh .qfk-track .qfh-ico{width:60px;height:60px}
  .qfh .qfk-track li>span:not(.qfd-vh){font-size:11.5px}
  .qfh .qfk-level,.qfh .qfk-gap{grid-template-columns:64px minmax(0,1fr);gap:10px}
  .qfh .qfk-seal,.qfh .qfk-gap>.qfh-medal{width:64px;height:64px}
  .qfh .qfk-level p,.qfh .qfk-gap>div{padding-left:10px}
}

/* D6: ADD TRADING MONEY (lane R1b), on DONE's step in place of everything else there. */
.qfh [data-stage="6"][data-desk-money-open]>:not([data-desk-money]){display:none!important}
.qfh .qfk-money[hidden],.qfh .qfk-money [hidden]{display:none}
.qfh .qfk-money{padding:16px 0 0;text-align:center}
.qfh .qfk-track--top{margin-bottom:6px}
.qfh .qfk-track--top li{min-height:0;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:6px;padding:8px 4px}
.qfh .qfk-track--top li.is-current{padding:6px 2px}
.qfh .qfk-track--top .qfk-tick{width:30px;height:30px}
.qfh .qfk-track--top li:not(.is-done) .qfk-tick{display:none}
.qfh .qfk-money-coins{width:min(46%,180px);height:auto;aspect-ratio:1;margin:0 auto -4px}
.qfh .qfk-money-title{margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--h-gold);color:var(--h-gold-text);font:700 clamp(24px,8vw,38px)/1.05 var(--h-serif);text-wrap:balance}
.qfh .qfk-money-lede{margin:0 0 14px;color:var(--h-ivory);font:400 15px/1.35 var(--h-sans);text-wrap:balance}
.qfh .qfk-money .qfk-chips{margin-bottom:6px}
.qfh .qfk-money-suggest{margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--h-gold);color:var(--h-gold-text);font:600 11px/1.3 var(--h-serif);letter-spacing:.22em}
.qfh .qfk-pay{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;min-height:84px;margin:0;padding:8px 14px;border:1px solid #8a6a24;background:var(--h-key);color:#0e0902;text-align:center;text-decoration:none}
.qfh .qfk-pay img{width:64px;height:64px}
.qfh .qfk-pay>span{display:grid;gap:4px;padding:4px 0 4px 14px;border-left:1px solid currentColor}
.qfh .qfk-pay b{font:700 clamp(20px,6.6vw,30px)/1.05 var(--h-serif);white-space:nowrap}
.qfh .qfk-pay b span{font:inherit}
.qfh .qfk-pay>span>span{font:400 14px/1.3 var(--h-sans)}
.qfh .qfk-pay:active{transform:translateY(1px)}
.qfh .qfk-pay-note{margin:0;color:var(--h-ivory);font:400 14px/1.35 var(--h-sans)}
.qfh .qfk-pay-note:not(:empty){margin-top:8px}
.qfh .qfk-or{display:flex;align-items:center;gap:14px;margin:14px 0;color:var(--h-gold-text);font:700 15px/1 var(--h-serif);letter-spacing:.1em}
.qfh .qfk-or::before,.qfh .qfk-or::after{content:"";flex:1;height:1px;background:var(--h-gold)}
/* PAY WITH CRYPTO (desk APPROVALS item 29, comp desk-add-money-crypto-v2): the SEND tile's outlined frame and divider
   column, the screen's own coin stack (r3-coins.webp, black on the tile's black) scaled inside it, never over the frame. */
.qfh .qfk-crypto{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;margin:0 0 14px;padding:0 10px;border:1px solid var(--h-gold);background:#000;color:var(--h-ivory);text-align:left;text-decoration:none}
.qfh .qfk-crypto:active{transform:translateY(1px)}
.qfh .qfk-crypto-mark{display:flex;align-items:center;justify-content:center;width:64px;height:60px}
.qfh .qfk-crypto-mark img{display:block;width:60px;height:60px}
.qfh .qfk-crypto-main{display:grid;gap:4px;min-width:0;padding:6px 0 6px 10px;border-left:1px solid var(--h-gold)}
.qfh .qfk-crypto-main b{color:var(--h-gold-text);font:700 18px/1.2 var(--h-serif);letter-spacing:.14em}
.qfh .qfk-crypto-main>span{color:var(--h-ivory);font:400 14px/1.3 var(--h-sans)}
.qfh .qfk-send{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;margin:0 0 14px;padding:12px 10px;border:1px solid var(--h-gold);background:#000;text-align:left}
/* Solana's official logomark, placed as its file is (aspect kept), with its clear space of about half its height around it. */
.qfh .qfk-sol-mark{display:flex;align-items:center;justify-content:center;width:64px;height:64px}
.qfh .qfk-sol-mark img{display:block;width:32px;height:auto;aspect-ratio:101/88}
.qfh .qfk-send-main{min-width:0;padding-left:10px;border-left:1px solid var(--h-gold)}
.qfh .qfk-send-k{margin:0 0 8px;color:var(--h-gold-text);font:700 14px/1.25 var(--h-serif);letter-spacing:.14em}
.qfh .qfk-send-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}
.qfh .qfk-qr{display:block;width:56px;height:56px;background:#fff;image-rendering:pixelated}
.qfh .qfk-qr:not([src]){visibility:hidden}
.qfh .qfk-send-row code{min-width:0;color:var(--h-ivory);font:500 14px/1.2 var(--h-sans);white-space:nowrap}
.qfh .qfk-copy{min-width:80px;min-height:44px;padding:4px 8px;border:1px solid var(--h-gold);background:transparent;color:var(--h-gold-text);font:700 12px/1 var(--h-serif);letter-spacing:.1em;cursor:pointer}
.qfh .qfk-send-net{margin:8px 0 0;color:var(--h-muted);font:400 12.5px/1.3 var(--h-sans)}
.qfh .qfk-ready{margin:0 0 16px;padding:14px 12px 12px;border:1px solid var(--h-gold);background:#000}
.qfh .qfk-ready-k{margin:0 0 12px;color:var(--h-gold-text);font:700 clamp(17px,5.4vw,24px)/1.2 var(--h-serif);letter-spacing:.04em;text-wrap:balance}
.qfh .qfk-use{width:100%;margin:0 0 10px;appearance:none;cursor:pointer;text-align:left}
.qfh .qfk-use:disabled{opacity:.6;cursor:default}
.qfh .qfk-ready-line{margin:0;color:var(--h-ivory);font:400 15px/1.35 var(--h-sans);text-wrap:balance}
.qfh .qfk-ready-note{margin:8px 0 0;color:var(--h-ivory);font:400 14px/1.35 var(--h-sans)}
.qfh .qfk-ready-note:empty{display:none}
.qfh .qfk-money-note{margin:0;color:var(--h-ivory);font:400 13.5px/1.35 var(--h-sans);text-wrap:balance}
.qfh .qfk-money-on{padding-top:18px}
.qfh .qfk-wallet-app{margin:-2px 0 12px;color:var(--h-ivory);font:400 13.5px/1.35 var(--h-sans);text-align:center;text-wrap:balance}
@media (max-width:374px){
  .qfh .qfk-pay{grid-template-columns:48px minmax(0,1fr);gap:10px;padding:8px 10px}
  .qfh .qfk-pay img{width:48px;height:48px}
  .qfh .qfk-pay>span{padding-left:10px}
  .qfh .qfk-crypto{grid-template-columns:44px minmax(0,1fr);gap:8px}
  .qfh .qfk-crypto-mark{width:44px;height:52px}
  .qfh .qfk-crypto-mark img{width:44px;height:44px}
  .qfh .qfk-crypto-main{padding-left:8px}
  .qfh .qfk-crypto-main b{font-size:15px;letter-spacing:.08em}
  .qfh .qfk-send{grid-template-columns:44px minmax(0,1fr);gap:8px}
  .qfh .qfk-sol-mark{width:44px;height:44px}
  .qfh .qfk-sol-mark img{width:22px}
  .qfh .qfk-send-main{padding-left:8px}
  .qfh .qfk-send-k{font-size:12px;letter-spacing:.08em}
  .qfh .qfk-send-row{grid-template-columns:auto minmax(0,1fr);gap:8px}
  .qfh .qfk-copy{grid-column:1/-1}
  .qfh .qfk-qr{width:52px;height:52px}
}

/* Lane R1f, the holder's own way in (comps/r4 H1 to H4): I ALREADY OWN $QUIT under the first screen's key, WHERE IS YOUR $QUIT?
   (the QUIT account's card, the wallet apps' card, BUY $QUIT) and the signed-in holder's screen, from DONE's pieces. */
.qfh .qfk-own{width:100%;min-height:62px;margin:16px 0 0;background:transparent;font-size:clamp(19px,6.4vw,27px);white-space:nowrap;cursor:pointer;appearance:none}
.qfh .qfk-owner{padding:16px 0 24px}
.qfh .qfk-owner[hidden],.qfh .qfk-owner [hidden]{display:none!important}
.qfh .qfk-owner-title{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--h-gold);color:var(--h-gold-text);font:700 clamp(32px,11vw,52px)/1.04 var(--h-serif);text-wrap:balance}
.qfh .qfk-card{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px 14px;margin:0 0 14px;padding:14px 12px;border:1px solid var(--h-gold);background:#000}
.qfh .qfk-card-medal{width:92px;height:92px}
.qfh .qfk-card-k{margin:0 0 6px;color:var(--h-gold-text);font:700 clamp(13px,4.1vw,17px)/1.25 var(--h-serif);letter-spacing:.14em}
.qfh .qfk-card-line{margin:0;color:var(--h-ivory);font:400 15.5px/1.35 var(--h-sans);text-wrap:balance}
.qfh .qfk-card-key{grid-column:1/-1;width:100%;min-height:62px;font-size:clamp(26px,8.4vw,34px)}
.qfh .qfk-apps{grid-column:1/-1;display:grid;gap:10px}
.qfh .qfk-app{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:16px;min-height:54px;padding:8px 16px;border:1px solid var(--h-gold);color:var(--h-gold-text);font:700 clamp(17px,5.4vw,22px)/1.1 var(--h-serif);letter-spacing:.12em;text-decoration:none}
.qfh .qfk-app img{display:block;width:34px;height:34px}
.qfh .qfk-app:active{background:#14100a}
.qfh .qfk-card-note{grid-column:1/-1;margin:0;color:var(--h-ivory);font:400 14.5px/1.35 var(--h-sans);text-align:center;text-wrap:balance}
.qfh .qfk-none{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 0}
.qfh .qfk-none p{margin:0;color:var(--h-ivory);font:400 17px/1.3 var(--h-sans)}
.qfh .qfk-none .qfk-none-buy{flex:none;min-height:56px;margin:0;padding:8px 18px;background:transparent;font-size:clamp(19px,6vw,24px);white-space:nowrap;cursor:pointer;appearance:none}
.qfh .qfk-held{padding-top:2px}
.qfh .qfk-held li[data-held-step="own"]:not(.is-done) .qfk-held-tick,.qfh .qfk-held li[data-held-step="own"].is-done .qfk-held-q{display:none}
.qfh .qfk-held .qfk-held-q{width:76px;height:76px}
.qfh .qfk-held .qfk-done-title{margin-top:6px;font-size:clamp(28px,9.2vw,52px)}
.qfh .qfk-held-fail{margin:0 0 12px;color:var(--h-ivory);font:400 16px/1.35 var(--h-sans);text-align:center}
.qfh .qfk-mine{display:grid;justify-items:center;gap:4px;margin:0 0 12px;padding:14px 10px;border:1px solid var(--h-gold);background:#000;text-align:center}
.qfh .qfk-mine b{color:var(--h-ivory);font:700 clamp(28px,9.4vw,44px)/1.05 var(--h-serif);white-space:nowrap}
.qfh .qfk-mine span{color:var(--h-ivory);font:400 15px/1.3 var(--h-sans)}
.qfh .qfk-level .qfk-held-free{grid-column:2;display:flex;align-items:center;gap:6px;width:fit-content;margin:0 0 0 14px;padding:2px 8px 2px 4px;border:1px solid var(--h-gold)}
.qfh .qfk-need{margin:0 0 12px}
.qfh .qfk-need>.qfh-ico{width:84px;height:84px}
.qfh .qfk-need-k{margin:0;color:var(--h-gold-text);font:700 clamp(16px,5.2vw,23px)/1.15 var(--h-serif);letter-spacing:.02em;text-wrap:balance}
.qfh .qfk-need .qfk-need-buy{grid-column:1/-1;width:100%;min-height:60px;font-size:clamp(20px,6.6vw,28px);white-space:nowrap}
/* The SIGN IN step in its sign-in-only mode (go-desk.js): no buy steps, no amount, no wallet keys (the wallet apps have their
   own card); the OR shows only over a key. */
.qfh [data-stage="3"][data-desk-signin-only] :is(.qfd-steps,.qfd-order-pill,[data-wallet-fold]){display:none!important}
.qfh [data-stage="3"][data-desk-signin-only] .qfd-or:has(+[data-social-keys][hidden]){display:none!important}
/* The gold keys carry the real Pyramid Q (the canonical file), in one colour so it reads on gold, in its own shape. */
.qfh .qfk-start img.qfk-key-q{object-fit:contain;filter:brightness(0)}
/* A WALLET APP's picture: the three apps' real logos side by side (the owner, 4 Nov 2026). */
.qfh .qfk-card-apps{display:flex;align-items:center;justify-content:center;gap:4%}
.qfh .qfk-card-apps img{width:29%;height:auto;aspect-ratio:1;border-radius:22%}
@media (max-width:374px){
  .qfh .qfk-card{grid-template-columns:72px minmax(0,1fr);gap:10px 12px;padding:12px 10px}
  .qfh .qfk-card-medal{width:72px;height:72px}
  .qfh .qfk-none p{font-size:15px}
  .qfh .qfk-none .qfk-none-buy{padding:8px 12px}
  .qfh .qfk-held .qfk-held-q{width:60px;height:60px}
  .qfh .qfk-need{grid-template-columns:64px minmax(0,1fr)}
  .qfh .qfk-need>.qfh-ico{width:64px;height:64px}
  .qfh .qfk-level .qfk-held-free{margin-left:10px}
}
