/* Exchange Kiosk.
   Deliberately reuses the Pilot Markets public palette (deep blue surfaces,
   cyan accents, gold rank chips) so the Kiosk reads as part of the same product
   rather than a bolted-on page. Phase 8 lifts these literals into shared custom
   properties; until then they match the values already in guildpilot.css. */

.pilot-kiosk-wallet{display:flex;align-items:center;gap:14px;padding:14px 20px;border:1px solid rgba(255,212,92,.32);border-radius:13px;background:linear-gradient(145deg,rgba(58,40,8,.65),rgba(7,24,66,.72))}
.pilot-kiosk-wallet img{display:block;filter:drop-shadow(0 7px 14px rgba(255,198,60,.28))}
.pilot-kiosk-wallet small{display:block;color:#c9a75a;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.pilot-kiosk-wallet strong{color:#ffe9a8;font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}

.pilot-kiosk-notice{margin:16px auto 0;padding:13px 16px;border:1px solid rgba(93,150,255,.28);border-radius:12px;background:rgba(7,24,66,.58);color:#c6d5f3}
.pilot-kiosk-notice.success{border-color:rgba(40,225,239,.34);background:rgba(6,44,58,.55);color:#a9f2fb}
.pilot-kiosk-notice.warn{border-color:rgba(255,212,92,.32);background:rgba(52,38,8,.5);color:#ffe4a4}

.pilot-kiosk-panel{margin:18px auto 0;padding:22px;border-color:rgba(77,134,246,.24);background:linear-gradient(145deg,rgba(14,39,101,.82),rgba(7,23,63,.9));border-radius:22px}
.pilot-kiosk-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,1fr) auto;gap:12px;align-items:end}
.pilot-kiosk-field{display:grid;gap:6px;min-width:0}
.pilot-kiosk-field>span{color:#8fa6d2;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.pilot-kiosk-field select,.pilot-kiosk-field input{width:100%;min-height:42px;padding:10px 12px;border:1px solid rgba(102,157,251,.28);border-radius:10px;background:rgba(4,14,48,.62);color:#eef4ff;font:inherit}
.pilot-kiosk-field select:focus-visible,.pilot-kiosk-field input:focus-visible{outline:3px solid #62e7f0;outline-offset:2px}
.pilot-kiosk-form .btn.primary{min-height:42px;border-color:#62cfff;background:linear-gradient(180deg,#258cf0,#1262d9);box-shadow:0 0 0 1px rgba(255,255,255,.3),0 0 24px rgba(38,143,255,.42),inset 0 1px 0 rgba(255,255,255,.35)}
.pilot-kiosk-note{margin:14px 0 0;color:#8fa6d2;font-size:12px;line-height:1.5}
.pilot-kiosk-signin{text-align:center}
.pilot-kiosk-signin h2{margin:0 0 8px;color:#f3f7ff;font-size:20px;letter-spacing:-.02em}
.pilot-kiosk-signin p{margin:0 0 14px;color:#afbddc}

.pilot-kiosk-rates{margin:14px auto 0;padding:22px;border-color:rgba(77,134,246,.24);background:linear-gradient(145deg,rgba(14,39,101,.82),rgba(7,23,63,.9));border-radius:22px}
.pilot-kiosk-rates table{width:100%;border-collapse:collapse;min-width:680px}
.pilot-kiosk-rates .table-wrap{width:100%;max-width:100%;overflow-x:auto;padding-bottom:4px}
.pilot-kiosk-rates th{color:#8fa7d1;font-size:10px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:10px;border-bottom:1px solid rgba(93,150,255,.2)}
.pilot-kiosk-rates td{padding:10px;border-bottom:1px solid rgba(93,150,255,.14);color:#dbe6fa}
.pilot-kiosk-rates tr:last-child td{border-bottom:0}
.pilot-kiosk-rates strong{font-variant-numeric:tabular-nums}
.pilot-kiosk-guild{display:flex;align-items:center;gap:10px}
.pilot-kiosk-guild img{border-radius:50%;object-fit:cover}
.pilot-kiosk-member-tag{display:inline-block;padding:4px 10px;border:1px solid rgba(40,225,239,.34);border-radius:999px;background:rgba(40,225,239,.14);color:#28e1ef;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}

@media(max-width:900px){
  .pilot-kiosk-form{grid-template-columns:1fr}
  .pilot-kiosk-wallet{width:100%}
}


.pilot-about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:18px}
.pilot-about-card{padding:22px;border-color:rgba(77,134,246,.24);background:linear-gradient(145deg,rgba(14,39,101,.82),rgba(7,23,63,.9));border-radius:22px}
.pilot-about-card h2{margin:0 0 10px;color:#f3f7ff;font-size:17px;letter-spacing:-.02em}
.pilot-about-card p{margin:0;color:#afbddc;font-size:13px;line-height:1.55}

.pilot-kiosk-quote-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.pilot-kiosk-quote-head h2{margin:4px 0 0;color:#f3f7ff;font-size:20px;letter-spacing:-.02em}
.pilot-kiosk-countdown{padding:6px 12px;border:1px solid rgba(40,225,239,.34);border-radius:999px;background:rgba(40,225,239,.12);color:#28e1ef;font-size:12px;font-weight:800;white-space:nowrap}
.pilot-kiosk-quote.is-expired .pilot-kiosk-countdown{border-color:rgba(255,156,168,.4);background:rgba(255,156,168,.14);color:#ff9ca8}
.pilot-kiosk-quote-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 14px}
.pilot-kiosk-quote-figures>div{padding:14px;border:1px solid rgba(75,127,247,.28);border-radius:12px;background:rgba(6,22,66,.6)}
.pilot-kiosk-quote-figures dt{margin-bottom:6px;color:#8fa2cc;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pilot-kiosk-quote-figures dd{margin:0;color:#eef4ff;font-size:15px;font-weight:700}
.pilot-kiosk-quote-figures .pilot-kiosk-receive{color:#28e1ef}
.pilot-kiosk-quote-note{margin:0 0 16px;color:#94a6cc;font-size:12px;line-height:1.5}
.pilot-kiosk-quote-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pilot-kiosk-quote-actions form{margin:0}

/* ---- marketplace ---------------------------------------------------------- */
.pilot-market-origin{margin:0 0 6px;color:#8fa2cc;font-size:11px}
.pilot-market-own{margin:8px 0 0;color:#8fa2cc;font-size:12px;font-style:italic}
.pilot-market-qty{display:block;margin:8px 0}
.pilot-market-qty span{display:block;margin-bottom:4px;color:#8fa2cc;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.pilot-market-qty input,.pilot-market-list-form input,.pilot-market-list-form select{width:100%;padding:9px 11px;border:1px solid rgba(75,127,247,.34);border-radius:10px;background:#040d26;color:#eef4ff;font:inherit}
.pilot-market-list-form label{display:block;margin-bottom:8px}
.pilot-market-list-form label span{display:block;margin-bottom:4px;color:#8fa2cc;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.pilot-market-tax{margin-top:22px;padding:20px;border:1px solid rgba(75,127,247,.24);border-radius:20px;background:linear-gradient(145deg,rgba(14,39,101,.8),rgba(7,23,63,.9))}
.pilot-market-tax h2{margin:0 0 8px;color:#f3f7ff;font-size:17px}
.pilot-market-tax p{margin:0 0 14px;color:#afbddc;font-size:13px;line-height:1.55}
.pilot-market-tax-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0;padding:0;list-style:none}
.pilot-market-tax-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border:1px solid rgba(75,127,247,.28);border-bottom:3px solid var(--rarity,#8fa2cc);border-radius:11px;background:rgba(4,13,38,.7)}
.pilot-market-tax-list span{color:var(--rarity,#afbddc);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.pilot-market-tax-list strong{color:#f3f7ff;font-size:15px}

/* ---- profile editor ------------------------------------------------------- */
.pilot-equip-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:14px 0 18px}
.pilot-equip-slot{padding:16px;border:1px solid rgba(75,127,247,.3);border-bottom:3px solid var(--rarity,#2a52ab);border-radius:14px;background:rgba(4,13,38,.66);text-align:center}
.pilot-equip-slot.empty{border-bottom-style:dashed}
.pilot-equip-slot small{display:block;margin-bottom:9px;color:#8fa2cc;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.pilot-equip-slot img{display:block;margin:0 auto 8px;object-fit:contain}
.pilot-equip-slot strong{display:block;margin-bottom:9px;color:#f3f7ff;font-size:13px}
.pilot-equip-empty{display:block;padding:18px 0;color:#67789e;font-size:12px}
.pilot-pack-grid.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.pilot-pack-grid.compact .pilot-pack-card img{height:110px}
.pilot-pack-grid.compact .pilot-pack-card h2{font-size:.85rem}
.pilot-pack-grid.compact .pilot-pack-card p{min-height:0}

.pilot-showcase-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:12px 0 16px}
.pilot-showcase-option{display:block;padding:12px;border:1px solid rgba(75,127,247,.3);border-bottom:3px solid var(--rarity,#2a52ab);border-radius:12px;background:rgba(4,13,38,.66);cursor:pointer;text-align:center}
.pilot-showcase-option:has(input:checked){border-color:#45deee;background:rgba(69,222,238,.12)}
.pilot-showcase-option img{display:block;margin:6px auto;object-fit:contain}
.pilot-showcase-option span{display:block;color:#dce6ff;font-size:11px}


/* ---- server picker -------------------------------------------------------- */
/* auto-fill, not auto-fit: with a single server auto-fit collapses the empty
   tracks and stretches one card across the whole row. */
.pilot-server-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-top:18px}
.pilot-server-card{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid rgba(75,127,247,.3);border-radius:20px;background:linear-gradient(155deg,rgba(23,58,153,.6),rgba(7,23,63,.92));color:inherit;text-decoration:none;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.pilot-server-card:hover{transform:translateY(-2px);border-color:#45deee;box-shadow:0 16px 40px rgba(2,8,26,.6)}
.pilot-server-card:focus-visible{outline:3px solid #62e7f0;outline-offset:3px}
.pilot-server-identity{display:flex;align-items:center;gap:13px;min-width:0}
.pilot-server-icon{flex:0 0 auto;width:52px;height:52px;border-radius:16px;object-fit:cover;background:#0e2765}
.pilot-server-icon.fallback{display:grid;place-items:center;border:1px solid rgba(75,127,247,.4);color:#45deee;font-size:20px;font-weight:800}
.pilot-server-name{min-width:0}
.pilot-server-name strong{display:block;overflow:hidden;color:#f3f7ff;font-size:16px;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}
.pilot-server-name small{display:block;margin-top:3px;color:#8fa2cc;font-size:11.5px}
.pilot-server-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pilot-server-stats>span{padding:10px 8px;border:1px solid rgba(75,127,247,.24);border-radius:11px;background:rgba(4,13,38,.66);text-align:center}
.pilot-server-stats b{display:block;color:#f3f7ff;font-size:17px;font-weight:800;line-height:1.1}
.pilot-server-stats small{display:block;margin-top:3px;color:#8091b8;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.pilot-server-go{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:11px 15px;border-radius:11px;background:rgba(69,222,238,.13);color:#45deee;font-size:13px;font-weight:800}
.pilot-server-card:hover .pilot-server-go{background:rgba(69,222,238,.2)}

.pilot-server-muted{margin-top:20px;padding:18px 20px;border:1px dashed rgba(75,127,247,.3);border-radius:18px;background:rgba(6,18,50,.5)}
.pilot-server-muted h2{margin:0 0 10px;color:#afbddc;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pilot-server-muted ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.pilot-server-muted li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:10px;background:rgba(4,13,38,.55)}
.pilot-server-muted span{color:#c2cee9;font-size:13px}
.pilot-server-muted em{color:#8091b8;font-size:11.5px;font-style:normal}
@media(max-width:520px){.pilot-server-grid{grid-template-columns:1fr}}

/* ---- marketplace cards ----------------------------------------------------
   These reuse .pilot-pack-card, which is sized for full pack artwork: a 220px
   image and a 2.7em min-height on <p> so shop blurbs line up. A listing card
   carries a small item icon and one-line labels, so both are undone here rather
   than changing the shop. */
.pilot-marketplace .pilot-pack-card img{height:132px}
.pilot-marketplace .pilot-pack-card p{min-height:0}
.pilot-marketplace .pilot-pack-card h2{font-size:.95rem;margin:10px 0 4px}
.pilot-marketplace .pilot-pack-card dl{margin:10px 0}
.pilot-marketplace .pilot-pack-card dl div{padding:7px 10px}

/* The Pilot Coin ranking reuses the leaderboard row, so it needs the same list
   reset the markets page applies to its own <ol>. */
.pilot-global-leaderboard-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.pilot-global-leaderboard-list li{position:relative;display:grid;grid-template-columns:38px auto minmax(0,1fr) minmax(150px,auto);gap:13px;align-items:center;min-height:58px;padding:8px 12px;border:1px solid transparent;border-radius:12px;background:rgba(4,14,48,.52)}
.pilot-global-leaderboard-list li:nth-child(even){background:rgba(10,29,80,.62)}
@media(max-width:720px){.pilot-global-leaderboard-list li{grid-template-columns:32px auto minmax(0,1fr);gap:9px;padding:9px}
  .pilot-global-leaderboard-list .pilot-global-worth{grid-column:2 / -1;justify-items:start;text-align:left}}

/* ---- profile settings -----------------------------------------------------
   Identity is read-only because it mirrors Discord; only presentation is
   editable. The old layout put bare checkboxes in their own grid column, so a
   tick floated in the middle of the panel with its label far to the left. */
.pilot-profile-form{display:grid;gap:16px;max-width:760px}
.pilot-profile-identity-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.pilot-profile-identity-field{display:block;padding:13px 15px;border:1px solid rgba(75,127,247,.24);border-radius:12px;background:rgba(4,13,38,.55)}
.pilot-profile-identity-field small{display:block;margin-bottom:5px;color:#8fa2cc;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pilot-profile-identity-field strong{display:block;overflow:hidden;color:#f3f7ff;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.pilot-profile-identity-field em{display:block;margin-top:4px;color:#7d8fb8;font-size:11px;font-style:normal}
.pilot-profile-field{display:block}
.pilot-profile-field>span{display:block;margin-bottom:6px;color:#8fa2cc;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.pilot-profile-field select,.pilot-profile-field textarea{width:100%;padding:11px 13px;border:1px solid rgba(75,127,247,.34);border-radius:11px;background:#040d26;color:#eef4ff;font:inherit}
.pilot-profile-field textarea{resize:vertical;min-height:96px}
.pilot-profile-field em{display:block;margin-top:6px;color:#7d8fb8;font-size:11.5px;font-style:normal}
.pilot-profile-description{grid-column:1/-1}

/* Switch rows: the control sits inside the label it belongs to. */
.pilot-profile-switches{display:grid;gap:9px}
.pilot-switch{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center;padding:13px 15px;border:1px solid rgba(75,127,247,.24);border-radius:12px;background:rgba(4,13,38,.55);cursor:pointer}
.pilot-switch:hover{border-color:rgba(69,222,238,.4)}
.pilot-switch input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pilot-switch-track{position:relative;width:42px;height:24px;border-radius:999px;background:#1b2f63;box-shadow:inset 0 0 0 1px rgba(120,150,220,.3);transition:background .16s ease}
.pilot-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#8ba0cc;transition:transform .16s ease,background .16s ease}
.pilot-switch input:checked+.pilot-switch-track{background:#1c7f8d;box-shadow:inset 0 0 0 1px rgba(69,222,238,.6)}
.pilot-switch input:checked+.pilot-switch-track::after{transform:translateX(18px);background:#7ff0ff}
.pilot-switch input:focus-visible+.pilot-switch-track{outline:3px solid #62e7f0;outline-offset:3px}
.pilot-switch-copy strong{display:block;color:#eef4ff;font-size:13.5px}
.pilot-switch-copy small{display:block;margin-top:3px;color:#8fa2cc;font-size:11.5px}
.pilot-profile-form>button{justify-self:start}

/* ---- equipped items + showcase --------------------------------------------
   Both sections previously leaned on generic pack-card styling, which stacked
   every entry full-width with its control adrift. They get their own compact
   grids here. */
.pilot-equip-slot form{margin:0}
.pilot-equip-slot .btn{width:100%}
.pilot-equip-pool{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:16px}
.pilot-equip-option{display:grid;gap:8px;justify-items:center;padding:14px 12px;border:1px solid rgba(75,127,247,.26);border-bottom:3px solid var(--rarity,#2a52ab);border-radius:13px;background:rgba(4,13,38,.6);text-align:center}
.pilot-equip-option img{width:64px;height:64px;object-fit:contain}
.pilot-equip-option small{color:var(--rarity,#8fa2cc);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.pilot-equip-option strong{overflow:hidden;color:#eef4ff;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.pilot-equip-option form{width:100%;margin:0}
.pilot-equip-option .btn{width:100%}

.pilot-showcase-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:14px 0 16px}
.pilot-showcase-option{position:relative;display:grid;gap:7px;justify-items:center;padding:14px 12px;border:1px solid rgba(75,127,247,.26);border-bottom:3px solid var(--rarity,#2a52ab);border-radius:13px;background:rgba(4,13,38,.6);cursor:pointer;text-align:center}
.pilot-showcase-option:hover{border-color:rgba(69,222,238,.45)}
/* The native tick was rendering unstyled in the middle of the row; it becomes a
   corner marker driven by :checked instead. */
.pilot-showcase-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pilot-showcase-option::after{content:"";position:absolute;top:9px;right:9px;width:19px;height:19px;border:1px solid rgba(151,181,239,.4);border-radius:6px;background:rgba(4,13,38,.8)}
.pilot-showcase-option:has(input:checked){border-color:#45deee;background:rgba(69,222,238,.12)}
.pilot-showcase-option:has(input:checked)::after{content:"\2713";display:grid;place-items:center;border-color:#45deee;background:#45deee;color:#06142d;font-size:12px;font-weight:900}
.pilot-showcase-option:has(input:focus-visible){outline:3px solid #62e7f0;outline-offset:2px}
.pilot-showcase-option img{width:60px;height:60px;object-fit:contain}
.pilot-showcase-option span{overflow:hidden;color:#dce6ff;font-size:12px;text-overflow:ellipsis;white-space:nowrap;max-width:100%}

/* Marketplace tabs adopt the market period-switcher shell, so they read as
   controls attached to the section heading rather than loose pills. */
.pilot-marketplace .pilot-market-periods a{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border-radius:6px;color:#a9bde4;font-size:11px;font-weight:950;text-decoration:none}
.pilot-marketplace .pilot-market-periods a:hover{color:#fff;background:rgba(255,255,255,.06)}
.pilot-marketplace .pilot-market-periods a.active{color:#06142d;background:#45dce9}
.pilot-marketplace .pilot-market-periods a:focus-visible{outline:3px solid #62e7f0;outline-offset:2px}
.pilot-profile-hint{margin:12px 0 0;color:#8fa2cc;font-size:13px}

/* ---- public profile -------------------------------------------------------
   The frame assets are filled circular badges, not hollow rings, so laying one
   over the photo hid the person entirely. The frame sits behind at a larger
   size instead: the photo covers its centre and only the decorative rim shows,
   which is what makes an equipped frame read as jewellery around the avatar. */
.pilot-profile-showcase-hero{display:flex;align-items:center;gap:30px;padding:32px;border:1px solid var(--rarity,rgba(75,127,247,.32));border-radius:24px;background:radial-gradient(circle at 16% 50%,color-mix(in srgb,var(--rarity,#173a99) 26%,transparent),transparent 52%),linear-gradient(145deg,rgba(20,54,145,.95),rgba(6,22,66,.98))}
.pilot-profile-portrait{position:relative;display:grid;place-items:center;width:172px;height:172px;flex:0 0 auto}
.pilot-profile-photo{position:relative;z-index:1;width:132px;height:132px;border-radius:50%;object-fit:cover;background:#0e2765;box-shadow:0 6px 22px rgba(0,4,20,.55)}
.pilot-profile-photo.fallback{display:grid;place-items:center;color:#8fd8ff;font-size:52px;font-weight:800}
.pilot-profile-frame-art{position:absolute;z-index:0;inset:0;width:172px;height:172px;object-fit:contain;filter:drop-shadow(0 0 16px color-mix(in srgb,var(--rarity,#45deee) 60%,transparent))}
.pilot-profile-identity-copy{min-width:0}
.pilot-profile-identity-copy h1{margin:0;color:#f7faff;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.05;letter-spacing:-.02em}
.pilot-profile-title{margin:8px 0 0;color:var(--rarity,#45deee);font-size:13px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;text-shadow:0 0 16px color-mix(in srgb,var(--rarity,#45deee) 45%,transparent)}
.pilot-profile-bio{margin:14px 0 0;max-width:62ch;color:#c2cee9;font-size:14px;line-height:1.6}
.pilot-profile-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.pilot-profile-stat{display:grid;gap:2px;min-width:104px;padding:11px 15px;border:1px solid rgba(75,127,247,.28);border-radius:13px;background:rgba(4,13,38,.6)}
.pilot-profile-stat small{color:#8fa2cc;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.pilot-profile-stat strong{color:#f3f7ff;font-size:20px;line-height:1.1}
.pilot-profile-stat em{color:#7d8fb8;font-size:11.5px;font-style:normal}
.pilot-profile-stat.coin strong{color:#ffd45c;font-size:16px}
.pilot-profile-stat-item{font-size:13px!important;color:var(--rarity,#f3f7ff)!important}
@media(max-width:760px){
  .pilot-profile-showcase-hero{flex-direction:column;text-align:center;gap:18px;padding:24px}
  .pilot-profile-stats{justify-content:center}
  .pilot-profile-portrait{width:148px;height:148px}
  .pilot-profile-frame-art{width:148px;height:148px}
  .pilot-profile-photo{width:112px;height:112px}
}

/* ---- profile section layout -----------------------------------------------
   Profile settings and Equipped items sit side by side on wide screens. The
   settings form is narrow by nature, so as a full-width panel it left a large
   empty right-hand side while the equipment sat in its own tile below. */
.pilot-profile-panels{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
@media(min-width:1100px){
  .pilot-profile-panels{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
}
.pilot-profile-panels>.panel{margin:0;height:100%}
.pilot-profile-form{max-width:none}
.pilot-profile-identity-row{grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){
  .pilot-profile-identity-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Equipment slots stay legible in the narrower column. */
@media(min-width:1100px){
  .pilot-equip-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pilot-equip-pool{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}
}
