.explorer-card {
  position:relative;
  display:grid;
  align-items:end;
  min-height:clamp(390px,43vw,470px);
  padding:clamp(25px,5vw,56px);
  isolation:isolate;
  border:1px solid #b69ce1a1;
  border-radius:14px 34px 14px 34px;
  overflow:hidden;
  background:#241b41 var(--explorer-art,url('/explorer-astronaut.webp')) 65% 26%/cover no-repeat;
  box-shadow:0 0 34px #9d68cf36,0 25px 75px #0605147a;
}
.explorer-card::before,.explorer-card::after {
  content:'';
  position:absolute;
  pointer-events:none;
}
.explorer-card::before {
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,#0f0a24f5,#140d2bb0 40%,#1c123a0c 73%),linear-gradient(0deg,#100b27c9,transparent 66%);
}
.explorer-card::after { inset:10px;border:1px solid #cfb4ff65;border-radius:8px 26px 8px 26px; }
.explorer-copy { max-width:680px; }
.explorer-kicker { color:#dfbdfd;font-size:.73rem;font-weight:700;letter-spacing:.18em;margin:0 0 9px; }
.explorer-kicker span { color:#f9cff0;margin-right:5px; }
.explorer-card h1,.explorer-card h2 {
  margin:8px 0;
  font-size:clamp(27px,5vw,55px);
  line-height:1.2;
  color:#fff2fa;
  overflow-wrap:anywhere;
  text-shadow:0 3px 21px #10091f;
}
.explorer-meta { margin:0;color:#e4d2f1;overflow-wrap:anywhere; }
.explorer-stats { display:flex;flex-wrap:wrap;gap:16px 23px;margin:22px 0 0; }
.explorer-stats div { display:flex;flex-direction:column-reverse; }
.explorer-stats dt { font-size:.8rem;color:#e2d6ee; }
.explorer-stats dd { margin:0;font-size:clamp(23px,3vw,36px);line-height:1.1;font-weight:700;color:#fff0fb; }
.explorer-section { margin:35px 0; }
.explorer-section h2 { margin-bottom:4px; }
.explorer-section .muted { margin-top:5px; }
.explorer-badges,.explorer-log,.explorer-downloads { list-style:none;margin:0;padding:0; }
.explorer-badges { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:12px; }
.explorer-badges>li,.explorer-log>li {
  display:flex;align-items:center;gap:15px;
  border:1px solid #b998db4d;border-radius:14px;
  background:linear-gradient(125deg,#45305e80,#21213b);
  padding:14px 17px;
  overflow-wrap:anywhere;
}
.explorer-log>li { justify-content:space-between;margin-top:9px;flex-wrap:wrap; }
.explorer-badges p,.explorer-log p { margin:3px 0;color:#e0cfe9; }
.explorer-medal {
  display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:13px;
  background:radial-gradient(circle,#b78bea,#514276 80%);
  border:1px solid #f1c9ff;color:#fff1fb;font-size:26px;box-shadow:0 0 15px #c58cec61;
}
.explorer-downloads li { margin:6px 0; }
.inspected-profile { max-width:850px;max-height:90vh;overflow:auto; }
.inspected-profile>form { text-align:right;margin-bottom:14px; }
@media(max-width:600px) {
  .explorer-card { min-height:465px;background-position:77% top;background-size:auto 78%; }
  .explorer-card::before { background:linear-gradient(0deg,#140e2b 9%,#140e2be8 27%,#140e2b42 58%,transparent 81%); }
  .explorer-stats { gap:10px 16px; }
  .explorer-stats dt { font-size:.72rem; }
  .inspected-profile { padding:14px; }
}

.explorer-cover-controls { display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px; }
.explorer-cover-controls button { background:#171327d6;border-color:#e6d1ff77;padding:7px 14px; }
#ticket-status { font-size:.8rem;color:#f5e5ff; }
.cover-picker { width:min(92vw,820px);max-width:none;max-height:90vh;overflow:auto; }
.cover-picker fieldset { border:0;margin:0;padding:0;min-width:0; }
.cover-picker legend { margin:5px 0 12px;color:#e3d7ed; }
.cover-options { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.cover-option { position:relative;cursor:pointer; }
.cover-option input { position:absolute;top:9px;right:9px;width:20px;height:20px;margin:0;accent-color:#b276d6; }
.cover-option span { display:block;border:2px solid #b6a3c650;border-radius:11px;overflow:hidden;background:#18162a; }
.cover-option input:checked + span { border-color:#edc4ff;box-shadow:0 0 15px #b682d96b; }
.cover-option input:focus-visible + span { outline:2px solid #fff;outline-offset:2px; }
.cover-option img { display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#281d3e; }
.cover-option strong { display:block;padding:7px 10px;font-size:.82rem; }
#cover-error { color:#ffd2eb; }
#cover-error:empty { display:none; }
@media(max-width:590px) { .cover-options { grid-template-columns:repeat(2,minmax(0,1fr)); } .cover-picker { padding:16px; } }
@media(max-width:600px) { .explorer-card[data-cover="lantern"] { background-position:95% top; } }

/* The account cover spans the viewport; activity and admin panels retain a reading width. */
.explorer-page > main {
  max-width:none;
  margin:0;
  padding:0 0 70px;
}
.explorer-page :is(#profile-loading,#message,#staff-links,#account-admin,#my-profile>.explorer-details) {
  width:min(calc(100% - 48px),1052px);
  margin-inline:auto;
}
.explorer-page :is(#profile-loading,#message) { margin-block:24px; }
.explorer-page #message:empty { display:none; }
.explorer-card--full {
  --ticket-cut:17px;
  --ticket-gutter:clamp(26px,5.5vw,96px);
  --ticket-stub:clamp(55px,6vw,106px);
  --ticket-collection-height:clamp(112px,11vw,164px);
  min-height:max(590px,calc(100svh - 110px));
  grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);
  grid-template-rows:auto 1fr;
  align-items:end;
  gap:28px;
  margin:12px clamp(8px,1.5vw,24px) 0;
  padding:clamp(34px,6vh,64px) calc(var(--ticket-stub) + var(--ticket-gutter)) clamp(30px,6vh,60px) var(--ticket-gutter);
  border:1px solid #ddbbf888;
  border-radius:22px;
  background:#211638;
  mask:
    radial-gradient(circle at left center,transparent var(--ticket-cut),#000 calc(var(--ticket-cut) + 1px)) left/51% 100% no-repeat,
    radial-gradient(circle at right center,transparent var(--ticket-cut),#000 calc(var(--ticket-cut) + 1px)) right/51% 100% no-repeat;
}
.explorer-banner {
  position:absolute;inset:0;z-index:-2;
  background:var(--explorer-art,url('/explorer-astronaut.webp')) 71% 41%/cover no-repeat;
}
.explorer-card--full::before {
  background:linear-gradient(155deg,#130a26cb 3%,#1c103a3b 36%,transparent 57%),
    linear-gradient(0deg,#130c23ed,#1b102a36 38%,transparent 59%);
}
.explorer-card--full::after {
  inset:10px;border:1px solid #efd2fa79;border-radius:15px;
  box-shadow:inset 0 0 28px #d3a2ff25;
}
.ticket-heading { grid-column:1/-1;display:flex;justify-content:space-between;align-items:start;gap:20px; }
.explorer-card--full .explorer-copy { min-width:0;max-width:min(760px,100%); }
.ticket-cover-action {
  flex:none;background:#191327ce;border-color:#ecdafa70;
  font-size:.85rem;padding:8px 13px;box-shadow:0 4px 18px #1b102847;
}
.ticket-cover-action span { margin-right:4px;color:#efd5fa; }
.explorer-card--full h1 { font-size:clamp(30px,4vw,66px);line-height:1.08; }
.explorer-ticket-stub {
  position:absolute;inset:11px 11px 11px auto;width:var(--ticket-stub);z-index:1;
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;
  border-left:1px dashed #fae5ff8a;border-radius:0 14px 14px 0;
  background:#23164056;color:#fff0ff;
}
.explorer-ticket-stub span { writing-mode:vertical-rl;font-size:.8rem;letter-spacing:.1em; }
.explorer-ticket-stub b {
  display:grid;place-items:center;width:36px;aspect-ratio:1;border-radius:50%;
  background:#f8e9ff;color:#392449;font-size:22px;
}
.explorer-ticket-stub:hover,.explorer-ticket-stub:focus-visible { background:#553b76b5;color:#fff; }
.explorer-ticket-stub:focus-visible { outline:2px solid #fff;outline-offset:-4px; }
.ticket-sticker { grid-column:1;display:grid;justify-items:start;gap:9px; }
.ticket-photo {
  --sticker-paper:#fff2d8;
  position:relative;width:var(--ticket-collection-height);aspect-ratio:1;
  border:9px solid var(--sticker-paper);border-radius:0;
  padding:0;
  mask:radial-gradient(circle,transparent 2px,#000 2.6px) -5px -5px/10px 10px,
    linear-gradient(#000 0 0) center/calc(100% - 10px) calc(100% - 10px) no-repeat;
  background:#2a1c41 url('/explorer-astronaut.webp') 81% 23%/270% auto no-repeat;
  box-shadow:0 0 0 1px #321c4f7a,0 12px 25px #1008189c;
}
.ticket-photo:focus-visible { outline:2px solid #fff;outline-offset:-12px; }
[data-frame=rose] .ticket-photo { --sticker-paper:#ffc9da; }
[data-frame=violet] .ticket-photo { --sticker-paper:#dac2fa; }
.ticket-photo img { display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;border-radius:inherit; }
[data-frame=lunar] { --profile-frame:url('/profile-frames/lunar.svg'); }
[data-frame=gilded] { --profile-frame:url('/profile-frames/gilded.svg'); }
[data-frame=ink] { --profile-frame:url('/profile-frames/ink.svg'); }
:is([data-frame=lunar],[data-frame=gilded],[data-frame=ink]) .ticket-photo {
  --sticker-paper:transparent;
  mask:none;background-clip:padding-box;box-shadow:none;border-radius:4px;
}
:is([data-frame=lunar],[data-frame=gilded],[data-frame=ink]) .ticket-photo::after {
  content:'';position:absolute;inset:-9px;pointer-events:none;
  background:var(--profile-frame) center/contain no-repeat;
  filter:drop-shadow(0 1px 2px #150e298e);
}

.ticket-label {
  min-height:25px;display:inline-flex;align-items:center;
  color:#fff0fb;font-size:.66rem;letter-spacing:.17em;font-weight:700;text-shadow:0 2px 8px #170924;
}
.ticket-stamps-heading,.ticket-badges { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--stamp-gap,10px); }
.ticket-stamps-heading { align-items:center; }
.ticket-stamps-heading .ticket-label { grid-column:1;justify-self:center;text-align:center;max-width:100%; }
.ticket-stamps-heading button { grid-column:2/-1;justify-self:end; }
.ticket-stamps-heading button { background:#191327df;padding:3px 9px;font-size:.73rem;white-space:nowrap; }
.ticket-stamps { grid-column:2;justify-self:end;width:min(100%,455px); }
.ticket-badges { list-style:none;padding:0;margin:9px 0 0; }
.chapter-stamp { flex:none;display:grid;place-items:center;width:36px;height:36px;color:var(--stamp-ink,#eadbf4); }
[data-stamp=mechanics] { --stamp-ink:#f3e6c4; }
[data-stamp=electricity] { --stamp-ink:#fbe29a; }
[data-stamp=magnetism] { --stamp-ink:#f7becf; }
[data-stamp=thermo] { --stamp-ink:#f8c6a2; }
[data-stamp=fluids] { --stamp-ink:#b7f0e1; }
[data-stamp=waves] { --stamp-ink:#bedbff; }
[data-stamp=modern] { --stamp-ink:#dfcaff; }
[data-stamp=alevel] { --stamp-ink:#f3d9f9; }
.chapter-stamp svg { width:100%;height:100%; }
.ticket-badge {
  display:grid;place-items:center;min-width:0;height:var(--ticket-collection-height,110px);
  color:#f5e5fc;
}
.ticket-badge .chapter-stamp {
  width:clamp(37px,5.4vw,83px);height:auto;aspect-ratio:1;
  filter:drop-shadow(0 1px 1px #160c2b) drop-shadow(0 0 2px #25173d9e);
  opacity:.96;
}
.ticket-badge--empty { opacity:.37;font-size:1.1rem; }
.badge-option small { display:block;font-size:.7rem;letter-spacing:0; }
.explorer-card--full #ticket-status { position:absolute;bottom:9px;left:var(--ticket-gutter); }
.explorer-details { padding-block:28px 10px; }
.ticket-back { display:inline-block;margin-bottom:16px; }
.explorer-page #portal:not(.show-ticket-details) :is(#staff-links,#account-admin) { display:none; }
.avatar-frame-controls { display:flex;align-items:center;gap:14px;margin:20px 0 12px; }
.avatar-frame-option { flex:1;min-width:0; }
#frame-preview .ticket-photo { display:block;width:78px; }
.avatar-frame-option select { display:block;margin:5px 0 10px;width:100%; }
.badge-picker { width:min(92vw,560px);max-width:none;max-height:88vh;overflow:auto; }
.badge-picker fieldset { border:0;padding:0;margin:0;min-width:0; }
.badge-picker legend { margin:5px 0 12px;color:#e3d7ed; }
.badge-options { display:grid;gap:8px;max-height:45vh;overflow:auto;padding:4px; }
.badge-option {
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px 12px;
  border:1px solid #bfa4d870;
  border-radius:10px;
  background:#241b39;
  cursor:pointer;
}
.badge-option input { width:18px;height:18px;margin:0;flex:0 0 auto;accent-color:#bd8fe0; }
.badge-option:has(input:checked) { border-color:#f5caff;background:#3c2955; }
.badge-option:has(input:disabled:not(:checked)) { opacity:.6;cursor:default; }
#badge-error { color:#ffd2eb; }
#badge-error:empty,#ticket-status:empty { display:none; }
@media(max-width:700px) {
  .explorer-card--full {
    --ticket-cut:8px;--ticket-gutter:16px;--ticket-stub:31px;--ticket-collection-height:clamp(72px,15vw,104px);
    min-height:max(550px,calc(100svh - 122px));
    padding-right:calc(var(--ticket-stub) + 15px);
    grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr;gap:10px;
  }
  .ticket-heading { gap:8px; }
  .ticket-cover-action { padding:5px 7px;font-size:.67rem; }
  .ticket-cover-action span { margin-right:0; }
  .explorer-banner { background-position:78% center; }
  .explorer-card--full:is([data-cover="lantern"],[data-cover="afterglow-orbit"]) .explorer-banner { background-position:94% center; }
  .explorer-card--full::after { inset:6px; }
  .explorer-ticket-stub { inset:7px 7px 7px auto;gap:8px; }
  .explorer-ticket-stub b { width:22px;font-size:15px; }
  .explorer-ticket-stub span { font-size:.65rem; }
  .ticket-sticker .ticket-label { font-size:.54rem; }
  .ticket-photo { border-width:7px; }
  .ticket-stamps { width:min(100%,290px); }
  .ticket-stamps-heading .ticket-label { font-size:.5rem;line-height:1.1;letter-spacing:.07em; }
  .ticket-stamps-heading button { padding:3px 5px;font-size:.64rem; }
  .ticket-stamps { --stamp-gap:4px; }
  .ticket-badge .chapter-stamp { width:min(95%,47px); }
}

@media (prefers-reduced-motion:no-preference) {
  .explorer-banner { background-image:var(--explorer-motion,var(--explorer-art,url('/explorer-astronaut.webp'))); }
}

.ticket-tools { flex:none;display:grid;justify-items:end;gap:7px;max-width:45%; }
.ticket-signature {
  display:grid;justify-items:end;width:min(180px,100%);padding:3px 6px;
  border:0;background:none;color:#fff1d6;text-align:right;
  text-shadow:0 2px 10px #1a0f31;
}
.ticket-signature small { font-size:.58rem;letter-spacing:.17em;color:#f4e7f6; }
.ticket-signature span,.signature-choice strong {
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font:italic 1.4rem/1.25 Georgia,serif;letter-spacing:-.035em;
}
.ticket-signature[data-signature=classic] span,.signature-choice [data-signature=classic] {
  font:italic 1.4rem/1.25 "Times New Roman",serif;letter-spacing:.06em;
}
.ticket-signature[data-signature=seal] span,.signature-choice [data-signature=seal] {
  font:600 .92rem/1.6 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;
}
.ticket-signature svg { width:96px;height:14px; }
.ticket-signature[data-signature=seal] svg { display:none; }
#signature-options { display:grid;gap:7px; }
.signature-choice { display:flex;align-items:center;gap:10px;cursor:pointer; }
.signature-choice input { width:auto;margin:0; }
.signature-choice span { display:grid;min-width:0;padding:6px 10px; }
.signature-choice small { font-size:.72rem;letter-spacing:0; }
.avatar-choice { border:0;padding:0;margin:0;min-width:0; }
.avatar-choice legend { margin-bottom:8px; }
#avatar-options { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px; }
#avatar-options label { position:relative;cursor:pointer;min-width:0; }
#avatar-options input { position:absolute;right:6px;top:6px;width:17px;height:17px;margin:0;accent-color:#a56dd5; }
#avatar-options span { display:grid;overflow:hidden;border:2px solid #e4c8f04c;border-radius:8px; }
#avatar-options input:checked + span { border-color:#eec6ff; }
#avatar-options input:focus-visible + span { outline:2px solid white;outline-offset:1px; }
#avatar-options img { display:block;width:100%;height:auto; }
#avatar-options small { padding:4px 6px;font-size:.68rem;letter-spacing:0; }
#frame-preview .ticket-photo { background-position:center;background-size:cover; }
@media(max-width:700px) {
  .ticket-tools { max-width:44%;gap:4px; }
  .ticket-signature small { font-size:.43rem;letter-spacing:.08em; }
  .ticket-signature span,.ticket-signature[data-signature=classic] span { font-size:1rem; }
  .ticket-signature[data-signature=seal] span { font-size:.62rem; }
  .ticket-signature svg { width:60px;height:10px; }
}
