/* Supporter journey: isolated component; no donation or existing card rules. */
.supporter-journey,.supporter-dialog { --sj-ink:#f8e9cd; --sj-muted:#cbb493; --sj-gold:#e9c37c; --sj-gold-deep:#b07f3f; --sj-line:#c9a05a3a; --sj-leather:#24190f; --sj-blue:#152b57; color:var(--sj-ink); font-family:Manrope,Arial,sans-serif; }
.supporter-journey [hidden],.supporter-dialog [hidden] { display:none!important; }
.supporter-journey button,.supporter-dialog button { font-family:inherit; cursor:pointer; }
.supporter-journey button:focus-visible,.supporter-journey a:focus-visible,.supporter-dialog button:focus-visible,.supporter-dialog a:focus-visible { outline:2px solid #ffe3a5; outline-offset:4px; }

/* Codex cover: dark leather, bronze double border, parchment grain and corner fittings. */
.supporter-journey {
  position:relative; isolation:isolate; margin:34px auto 0; max-width:1100px; padding:27px 32px 22px;
  border:1px solid #b78a4a70; border-radius:8px 24px 8px 24px;
  background:
    url('./assets/parchment-grain.svg') repeat,
    radial-gradient(ellipse at 12% 18%,#a4672c33,transparent 46%),
    radial-gradient(ellipse at 88% 92%,#7b4a1f2e,transparent 44%),
    repeating-linear-gradient(9deg,#dcb77904 0 1px,transparent 1px 5px),
    linear-gradient(118deg,#2e2119,#221b16 46%,#161513);
  box-shadow:inset 0 0 0 5px #b88e3e0c,inset 0 1px #efce9733,inset 0 -40px 80px #0004,0 18px 50px #0005;
}
.supporter-journey::before { content:''; position:absolute; inset:9px; border:1px solid #d1a35138; border-radius:3px 18px 3px 18px; pointer-events:none; z-index:-1; }
.supporter-journey::after { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:radial-gradient(ellipse at 24% 45%,var(--sj-accent,#c1915d) 0%,transparent 42%); opacity:.07; pointer-events:none; transition:opacity .8s; }
.supporter-corner { position:absolute; width:26px; height:26px; z-index:2; pointer-events:none; }
.supporter-journey .supporter-corner { border:0; }
.supporter-corner::before,.supporter-corner::after { content:''; position:absolute; background:linear-gradient(90deg,#d9b06a,#8f6430); }
.supporter-corner::before { width:26px; height:2px; }
.supporter-corner::after { width:2px; height:26px; }
.supporter-corner.tl { left:9px; top:9px; } .supporter-corner.tr { right:9px; top:9px; transform:scaleX(-1); }
.supporter-corner.bl { left:9px; bottom:9px; transform:scaleY(-1); } .supporter-corner.br { right:9px; bottom:9px; transform:scale(-1); }
.supporter-corner i { position:absolute; left:6px; top:6px; width:6px; height:6px; background:#e9c37c; transform:rotate(45deg); box-shadow:0 0 8px #e9c37c88; }

.supporter-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:18px; border-bottom:1px solid var(--sj-line); }
.supporter-kicker { display:flex; align-items:center; gap:10px; margin:0 0 9px; color:var(--sj-gold); text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:750; line-height:1.6; }
.supporter-kicker-rule { display:inline-block; width:22px; height:1px; background:var(--sj-gold); flex-shrink:0; }
.supporter-heading h3 { margin:0; color:var(--sj-ink); font:500 clamp(21px,2.1vw,27px)/1.3 Cinzel,Georgia,serif; letter-spacing:0; text-wrap:balance; }
.supporter-text-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:8px 14px; border:1px solid #c9a05a45; border-radius:3px 10px 3px 10px; background:linear-gradient(120deg,#c1975218,#b4813710); color:#f1d39e; font-size:11px; font-weight:700; white-space:nowrap; transition:border-color .25s,background-color .25s,color .25s; }
.supporter-text-button>span { font-size:16px; line-height:1; }
.supporter-text-button:hover { color:#fff1d4; border-color:#edc37999; background-color:#e7b35d18; }

/* Main spread: crest medallion on the left page, progress on the right page. */
.supporter-main { display:grid; grid-template-columns:194px minmax(0,1fr); gap:22px 32px; align-items:center; padding:24px 6px 24px 0; }
.supporter-badge-button { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; width:100%; padding:2px 18px 2px 0; background:radial-gradient(ellipse at 45% 40%,#d6a55c0b,transparent 70%); border:0; border-right:1px solid #c9a05a28; border-radius:0; color:var(--sj-gold); }
.supporter-badge-button .supporter-medallion { max-width:158px; }
.supporter-medallion { position:relative; display:grid; place-items:center; width:100%; max-width:290px; aspect-ratio:1; isolation:isolate; }
.supporter-medallion::before { content:''; position:absolute; inset:6%; border-radius:50%; z-index:-2; background:radial-gradient(circle at 50% 42%,#3a2a1c 0%,#1d1610 58%,#110d0a 100%); box-shadow:inset 0 0 0 1px #d2a75a44,inset 0 0 40px #000c,0 10px 30px #0006; }
.supporter-medallion::after { content:''; position:absolute; inset:2.5%; border-radius:50%; z-index:-2; border:1px solid #cfa55a3d; background:repeating-conic-gradient(from 0deg,#d9b06a22 0 1.2deg,transparent 1.2deg 6deg); mask:radial-gradient(circle,transparent 93%,#000 94%,#000 100%); -webkit-mask:radial-gradient(circle,transparent 93%,#000 94%,#000 100%); }
.supporter-medallion-ring { position:absolute; inset:9%; border-radius:50%; z-index:-1; border:2px solid #b7853f66; box-shadow:0 0 0 6px #7a51201c,inset 0 0 0 1px #f0cc8a24; pointer-events:none; }
.supporter-medallion-ring::before,.supporter-medallion-ring::after { content:''; position:absolute; left:50%; width:8px; height:8px; margin-left:-4px; background:#e9c37c; transform:rotate(45deg); box-shadow:0 0 8px #e9c37c99; }
.supporter-medallion-ring::before { top:-5px; } .supporter-medallion-ring::after { bottom:-5px; }
.supporter-main-crest { width:94%; display:block; }
.supporter-medallion-large { max-width:300px; }
.supporter-plaque { display:flex; flex-direction:column; align-items:center; gap:2px; margin-top:3px; padding:7px 16px 8px; min-width:130px; color:#3a2814; text-align:center; background:linear-gradient(112deg,#c6a56c,#efdcb0 20%,#f3e2ba 50%,#e5cc96 82%,#c3a168); border:1px solid #7d5a2a; border-radius:2px 8px 2px 8px; box-shadow:inset 0 0 0 2px #f8e7c366,inset 0 0 14px #77502035,0 5px 14px #0005; clip-path:polygon(0 0,100% 0,100% 100%,0 100%); }
.supporter-plaque-rank { font-size:9px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#6d4b1d; }
.supporter-plaque-name { font:500 14px/1.3 Cinzel,Georgia,serif; letter-spacing:.01em; }
.supporter-badge-caption { max-width:100%; margin-top:8px; color:#b7a285; text-align:center; font-size:9px; line-height:1.6; }
.supporter-badge-button:hover .supporter-medallion-ring { border-color:#e0b466bb; box-shadow:0 0 0 6px #a2732f33,inset 0 0 0 1px #f0cc8a44,0 0 30px #e9b25f33; }
.supporter-badge-button:hover .supporter-plaque { box-shadow:inset 0 0 0 2px #f8e7c366,inset 0 0 14px #77502035,0 5px 18px #0006,0 0 22px #e9b25f2a; }
.supporter-medallion-ring,.supporter-plaque { transition:border-color .3s,box-shadow .3s; }

.supporter-copy { min-width:0; padding-block:6px; }
.supporter-copy>.supporter-kicker { font-size:9.5px; margin-bottom:10px; }
.supporter-copy h4 { margin:0 0 10px; font:500 clamp(22px,2.15vw,29px)/1.35 Cinzel,Georgia,serif; letter-spacing:0; color:var(--sj-ink); text-wrap:balance; }
.supporter-state-message { margin:0; font-size:13px; line-height:1.8; color:var(--sj-muted); max-width:620px; }
.supporter-state-message[data-kind="error"] { color:#f4c8a6; }
.supporter-account { margin-top:16px; padding:14px 16px 12px; border:1px solid #c9a05a40; border-radius:3px 10px 3px 10px; background:radial-gradient(ellipse at 65% 0,#caa16414,transparent 75%),linear-gradient(120deg,#1b140f9a,#12100d80); box-shadow:inset 0 1px #efce9726; }
.supporter-progress-label { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin-bottom:10px; font-size:11px; color:#f0d6ab; }
.supporter-progress-label strong { font-size:15px; font-weight:500; flex-shrink:0; font-family:Cinzel,Georgia,serif; color:#ffe3a5; }
.supporter-progress-track { position:relative; padding:0 5px; }
.supporter-progress-track::before,.supporter-progress-track::after { content:''; position:absolute; top:50%; width:9px; height:9px; margin-top:-4.5px; background:linear-gradient(135deg,#ffe4a8,#b07f3f); transform:rotate(45deg); box-shadow:0 0 6px #e9c37c66; z-index:1; }
.supporter-progress-track::before { left:-1px; } .supporter-progress-track::after { right:-1px; }
.supporter-progress { display:block; appearance:none; -webkit-appearance:none; width:100%; height:11px; overflow:hidden; border:1px solid #bf995655; border-radius:2px; background:#0f0d0a; accent-color:#d9ac5e; box-shadow:inset 0 1px 3px #000c; }
.supporter-progress::-webkit-progress-bar { background:#0f0d0a; border-radius:2px; }
.supporter-progress::-webkit-progress-value { background:linear-gradient(90deg,#8a5a2a,#d9b26a 60%,#ffe6b0); border-radius:2px; box-shadow:0 0 12px #efbd5266; transition:width .9s ease; }
.supporter-progress::-moz-progress-bar { background:linear-gradient(90deg,#8a5a2a,#d9b26a 60%,#ffe6b0); border-radius:2px; }
.supporter-progress-scale { display:flex; justify-content:space-between; gap:12px; margin-top:8px; font-size:10px; color:#bca382; }
.supporter-total { margin:10px 0 0; color:#e0c5a1; font-size:11px; line-height:1.7; }
.supporter-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:18px; }
.supporter-action { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:11px 18px; border:1px solid #ca9a5155; border-radius:3px 10px 3px 10px; background:linear-gradient(115deg,#c1975228,#b4813722); color:#ffe2aa; font-size:11px; line-height:1.7; font-weight:700; text-align:center; text-decoration:none; box-shadow:inset 0 0 0 2px #e1bd7910; transition:background-color .25s,border-color .25s,color .25s; }
.supporter-action:hover { color:#fff1d4; border-color:#edc37999; background-color:#e7b35d18; }
.supporter-journey .supporter-action { color:#352616; border-color:#d6b16b; background:linear-gradient(115deg,#d6b572,#edd4a0 55%,#cba15b); box-shadow:inset 0 0 0 2px #fff0c535,0 4px 12px #0003; }
.supporter-journey .supporter-action:hover { color:#261b0d; border-color:#ffe1a2; filter:brightness(1.06); }

/* Trail of the ten levels along the bottom edge of the codex. */
.supporter-trail { padding:16px 12px 8px; border:1px solid #c9a05a2a; border-radius:3px 12px 3px 12px; background:linear-gradient(180deg,#100c0830,#c59c5810); box-shadow:inset 0 1px #edd2a20c; }
.supporter-trail-head { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:14px; }
.supporter-trail-label { font-size:10px; font-weight:750; letter-spacing:.14em; text-transform:uppercase; color:#e0c48f; line-height:1.8; }
.supporter-trail-hint { font-size:10px; color:#b39d7e; line-height:1.8; }
.supporter-levels { position:relative; display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); align-items:start; gap:4px; }
.supporter-levels::before { content:''; position:absolute; left:6%; right:6%; top:32px; height:1px; background:linear-gradient(90deg,transparent,#b8904d7a 12%,#e6c58a9a 50%,#b8904d7a 88%,transparent); pointer-events:none; }
.supporter-level { position:relative; display:flex; flex-direction:column; align-items:center; gap:2px; min-width:44px; min-height:44px; padding:2px 2px 6px; border:1px solid transparent; border-radius:6px 12px 6px 12px; background:transparent; color:#b7a184; transition:background-color .3s,color .3s,border-color .3s; }
.supporter-level-art { position:relative; display:grid; place-items:center; width:60px; height:60px; border-radius:50%; background:radial-gradient(circle,#2b2018 0%,#171210 70%,transparent 72%); }
.supporter-level-art::before { content:''; position:absolute; inset:5px; border-radius:50%; border:1px solid #b8904d55; transition:border-color .3s,box-shadow .3s; }
.supporter-level-art .supporter-emblem { width:56px; }
.supporter-level-roman { font:500 14px/1.2 Cinzel,Georgia,serif; color:#d9bf92; margin-top:2px; }
.supporter-level-amount { font-size:9.5px; line-height:1.4; color:#a68f70; white-space:nowrap; }
.supporter-level[data-state="locked"] .supporter-emblem-image { filter:grayscale(.85) brightness(.58) contrast(.95); opacity:.85; }
.supporter-level[data-state="locked"] .supporter-emblem-aura,.supporter-level[data-state="locked"] .supporter-emblem-spark { display:none; }
.supporter-level[data-state="locked"] .supporter-level-roman { color:#8d7a61; }
.supporter-level[data-state="earned"] .supporter-level-art::before,.supporter-level[data-state="current"] .supporter-level-art::before { border-color:#e0b466aa; }
.supporter-level[data-state="earned"] .supporter-level-roman,.supporter-level[data-state="current"] .supporter-level-roman { color:#f6d9a2; }
.supporter-level[data-state="current"] { border-color:#d6ac6855; background:linear-gradient(#d0a35822,#d0a35808); }
.supporter-level[data-state="current"] .supporter-level-art::before { box-shadow:0 0 0 3px #e9c37c2a,0 0 18px #e9b25f66; }
.supporter-level[data-state="current"] .supporter-level-roman { color:#ffe8b4; }
.supporter-level[data-state="current"]::after { content:'Seu nível'; position:absolute; left:50%; top:-8px; transform:translateX(-50%); padding:1px 6px; border-radius:2px; background:#e9c37c; color:#2a1c0c; font-size:7.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.supporter-level:hover { color:#fff0cc; background-color:#d0a35818; }
.supporter-level:hover .supporter-level-art::before { border-color:#e6c58a; }
.supporter-footnote,.supporter-noscript { font-size:10px; line-height:1.8; color:#bfa787; margin:14px 0 0; }

/* Emblem: image on a breathing aura, sparks for high tiers. */
.supporter-emblem { --emblem-accent:#c1915d; --emblem-speed:8s; --aura-min:.22; --aura-max:.42; position:relative; display:block; width:100%; aspect-ratio:1; isolation:isolate; }
.supporter-emblem-image { position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 10px 14px #0007); }
.supporter-emblem-aura { position:absolute; inset:12%; border-radius:50%; z-index:0; background:radial-gradient(circle,var(--emblem-accent) 0%,transparent 66%); opacity:.35; animation:supporter-breathe var(--emblem-speed) ease-in-out infinite; }
.supporter-emblem-spark { position:absolute; z-index:2; width:5px; height:5px; border-radius:50%; background:#fff4d2; box-shadow:0 0 8px 2px var(--emblem-accent); opacity:0; animation:supporter-spark var(--emblem-speed) ease-in-out infinite; }
.supporter-emblem-spark:nth-child(3) { left:14%; top:24%; animation-delay:-1s; }
.supporter-emblem-spark:nth-child(4) { left:85%; top:28%; animation-delay:-3.5s; }
.supporter-emblem-spark:nth-child(5) { left:80%; top:80%; animation-delay:-5.5s; }
.supporter-emblem[data-tier="1"] .supporter-emblem-spark,.supporter-emblem[data-tier="2"] .supporter-emblem-spark,.supporter-emblem[data-tier="3"] .supporter-emblem-spark,.supporter-emblem[data-tier="4"] .supporter-emblem-spark { display:none; }
.supporter-emblem[data-tier="1"],.supporter-emblem[data-tier="2"] { --aura-min:.12; --aura-max:.24; }
.supporter-emblem[data-tier="8"],.supporter-emblem[data-tier="9"] { --aura-min:.3; --aura-max:.54; }
.supporter-emblem[data-tier="10"] { --aura-min:.36; --aura-max:.64; }
.supporter-emblem[data-tier="10"] .supporter-emblem-aura { inset:6%; }
.supporter-level-art .supporter-emblem-spark,.supporter-choice-art .supporter-emblem-spark { display:none; }
.supporter-level-art .supporter-emblem-aura,.supporter-choice-art .supporter-emblem-aura { animation:none; opacity:.25; }
@keyframes supporter-breathe { 0%,100% { transform:scale(.94); opacity:var(--aura-min); } 50% { transform:scale(1.04); opacity:var(--aura-max); } }
@keyframes supporter-spark { 0%,100% { opacity:0; transform:translateY(4px) scale(.6); } 25% { opacity:.95; transform:translateY(-2px) scale(1); } 50% { opacity:0; transform:translateY(-10px) scale(.5); } }

/* Collection dialog: a codex page with a spotlight and the ten collectible entries. */
.supporter-dialog { --collection-gutter:32px; width:min(1040px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:0; overflow:auto; overscroll-behavior:contain; border:1px solid #c5a0657a; border-radius:9px 24px 9px 24px; background:url('./assets/parchment-grain.svg') repeat,radial-gradient(ellipse at 10% 20%,#a46c2836,transparent 46%),radial-gradient(ellipse at 92% 96%,#7b4a1f30,transparent 44%),linear-gradient(140deg,#2e2119,#1a1614 80%); box-shadow:inset 0 0 0 5px #d4b36b0a,inset 0 1px #efce9733,0 24px 100px #000b; scrollbar-width:thin; scrollbar-color:#8c6d41 #251c15; scroll-padding-top:135px; }
.supporter-dialog::backdrop { background:#060809dc; backdrop-filter:blur(7px); }
.supporter-dialog-head { position:sticky; top:0; z-index:3; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:22px var(--collection-gutter) 16px; background:url('./assets/parchment-grain.svg'),linear-gradient(110deg,#352719,#271f18); border-bottom:1px solid #c9a05a36; box-shadow:0 5px 16px #100c0826,inset 0 1px #efce971a; }
.supporter-dialog-head>div { min-width:0; }
.supporter-dialog-head h2 { margin:0; font:500 clamp(24px,3vw,32px)/1.3 Cinzel,Georgia,serif; color:#f8e9cd; letter-spacing:0; }
.supporter-dialog-count { display:block; margin-top:8px; color:#c9b087; font-size:10px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.supporter-close { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; padding:0; border:1px solid #c6a06355; border-radius:50%; background:#e4b9630c; color:#f4dcb7; font:400 28px/1 Arial,sans-serif!important; transition:background-color .25s; }
.supporter-close:hover { background:#e4b96322; }
.supporter-dialog .supporter-close:focus-visible { outline-offset:2px; }
.supporter-dialog-description { max-width:720px; font-size:12px; line-height:1.85; color:#ccb695; margin:16px var(--collection-gutter) 22px; }
.supporter-collection-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:24px; align-items:start; margin-inline:var(--collection-gutter); }
.supporter-inspection { position:sticky; top:145px; display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; padding:18px 22px 24px; border:1px solid #b98f5138; border-radius:6px 16px 6px 16px; text-align:center; background:radial-gradient(ellipse at 50% 30%,#c5954722,transparent 62%),linear-gradient(#15110e9a,#0f0d0b9a); box-shadow:inset 0 1px #efce9718; }
.supporter-inspection .supporter-medallion { width:min(100%,280px); }
.supporter-preview { width:94%; }
.supporter-inspection>.supporter-kicker { justify-content:center; margin:14px 0 4px; font-size:10px; }
.supporter-inspection h3 { font:500 clamp(22px,2.4vw,27px)/1.3 Cinzel,Georgia,serif; color:#fff0d4; letter-spacing:0; margin:0; }
.supporter-inspected-state { display:inline-block; margin:10px 0 0; padding:4px 10px; border:1px solid #cfac6840; border-radius:2px 8px 2px 8px; color:#d9bf92; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.supporter-inspected-state[data-state="earned"],.supporter-inspected-state[data-state="current"] { border-color:#e0b466aa; background:#e9c37c1a; color:#ffe3a5; }
.supporter-requirement { font-size:12px; color:#f6d398; line-height:1.8; margin:14px 0 0; font-weight:600; }
.supporter-story { max-width:300px; color:#c4ad8d; font-size:12px; line-height:1.85; margin:8px 0 0; font-style:italic; }
.supporter-collection-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.supporter-choice { position:relative; min-width:0; display:grid; grid-template-columns:78px minmax(0,1fr); align-items:center; gap:8px; padding:10px 12px 10px 6px; border:1px solid #ae8e5633; border-radius:5px 14px 5px 14px; text-align:left; color:#dfc9a6; background:url('./assets/parchment-grain.svg') repeat,linear-gradient(112deg,#cda56a10,#0e0b0966); box-shadow:inset 0 1px #efce9712; transition:border-color .25s,background-color .25s,box-shadow .25s; }
.supporter-choice[aria-pressed="true"] { border-color:#e1ba73aa; background-color:#d3a65e18; box-shadow:inset 0 0 0 2px #d3a65e14,0 0 22px #e9b25f22; }
.supporter-choice:hover { border-color:#edc37999; background-color:#c19a5016; }
.supporter-choice-art { display:block; width:78px; }
.supporter-choice-copy { min-width:0; display:flex; flex-direction:column; gap:2px; }
.supporter-choice-rank { font-size:8.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:#c7a66f; }
.supporter-choice-name { font:500 14px/1.35 Cinzel,Georgia,serif; color:#f6e6c8; letter-spacing:0; }
.supporter-choice-amount { font-size:10.5px; line-height:1.5; color:#e0c48f; font-weight:600; }
.supporter-choice-story { font-size:10px; line-height:1.55; color:#b7a184; margin-top:2px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.supporter-choice-state { display:inline-flex; align-items:center; gap:5px; align-self:flex-start; margin-top:5px; padding:2px 7px; border:1px solid #cfac6836; border-radius:2px 6px 2px 6px; color:#c9b08a; font-size:8.5px; font-style:normal; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.supporter-choice-state::before { content:'◇'; font-size:9px; }
.supporter-choice[data-state="earned"] .supporter-choice-state,.supporter-choice[data-state="current"] .supporter-choice-state { border-color:#e0b466aa; background:#e9c37c1c; color:#ffe3a5; }
.supporter-choice[data-state="earned"] .supporter-choice-state::before,.supporter-choice[data-state="current"] .supporter-choice-state::before { content:'✦'; }
.supporter-choice[data-state="current"] { border-color:#e0b46688; }
.supporter-choice[data-state="locked"] .supporter-emblem-image { filter:grayscale(.75) brightness(.7); }
.supporter-choice[data-state="locked"] .supporter-choice-name { color:#cdb994; }
.supporter-choice[data-state="locked"] .supporter-choice-state { color:#a48f70; }
.supporter-choice[data-state="locked"] .supporter-choice-state::before { content:'◈'; }
.supporter-dialog-bottom { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:24px var(--collection-gutter) 28px; padding-top:20px; border-top:1px solid #ba975a2e; }
.supporter-dialog-bottom p { max-width:640px; margin:0; font-size:10px; line-height:1.9; color:#bfa888; }
.supporter-dialog-bottom .supporter-action { flex-shrink:0; }

@media(max-width:1000px) {
  .supporter-main { grid-template-columns:minmax(220px,250px) minmax(0,1fr); gap:20px 28px; }
  .supporter-level-art { width:56px; height:56px; } .supporter-level-art .supporter-emblem { width:52px; }
  .supporter-collection-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
  .supporter-collection-list { grid-template-columns:1fr; }
}
@media(max-width:900px) {
  .supporter-journey { padding:26px 24px 22px; }
  .supporter-heading { align-items:flex-start; }
  .supporter-main { grid-template-columns:164px minmax(0,1fr); gap:18px 22px; padding-right:0; }
  .supporter-badge-button { padding-right:12px; }
  .supporter-badge-button .supporter-medallion { max-width:140px; }
  .supporter-medallion { max-width:200px; } .supporter-plaque { min-width:130px; padding:7px 16px 8px; } .supporter-plaque-name { font-size:14px; }
  .supporter-trail-head { flex-wrap:wrap; }
  .supporter-levels { gap:2px; } .supporter-level-art { width:50px; height:50px; } .supporter-level-art .supporter-emblem { width:46px; } .supporter-level-roman { font-size:12px; } .supporter-level-amount { font-size:8.5px; }
  .supporter-level[data-state="current"]::after { font-size:7px; }
  .supporter-levels::before { top:27px; }
  .supporter-dialog { --collection-gutter:24px; }
  .supporter-choice { grid-template-columns:64px minmax(0,1fr); padding-right:8px; gap:6px; } .supporter-choice-art { width:64px; }
}
@media(max-width:620px) {
  .supporter-journey { margin-top:26px; padding:22px 20px 20px; border-radius:6px 20px 6px 20px; }
  .supporter-corner { width:18px; height:18px; } .supporter-corner::before { width:18px; } .supporter-corner::after { height:18px; } .supporter-corner i { left:4px; top:4px; width:5px; height:5px; }
  .supporter-heading { display:block; padding-bottom:16px; } .supporter-heading h3 { font-size:23px; line-height:1.4; max-width:340px; } .supporter-heading>.supporter-text-button { margin-top:12px; }
  .supporter-main { grid-template-columns:1fr; gap:0; padding:18px 0; }
  .supporter-badge-button { display:grid; grid-template-columns:104px minmax(0,1fr); gap:0 16px; justify-content:start; justify-items:stretch; width:100%; max-width:340px; margin:0 auto; padding:0 0 14px; border-right:0; border-bottom:1px solid #c9a05a28; }
  .supporter-badge-button .supporter-medallion { grid-column:1; grid-row:1 / 3; width:104px; max-width:104px; }
  .supporter-badge-button .supporter-plaque { grid-column:2; min-width:0; width:100%; margin:0; padding:8px 9px; align-self:end; }
  .supporter-badge-caption { grid-column:2; margin-top:6px; align-self:start; font-size:9px; }
  .supporter-copy { padding:16px 0 0; text-align:left; } .supporter-copy>.supporter-kicker { justify-content:flex-start; font-size:8px; } .supporter-copy h4 { font-size:21px; } .supporter-state-message { font-size:12px; margin-inline:auto; }
  .supporter-account { margin-top:16px; padding:14px 14px 12px; text-align:left; }
  .supporter-progress-label { font-size:10px; } .supporter-progress-label strong { font-size:14px; } .supporter-progress-scale,.supporter-total { font-size:10px; }
  .supporter-actions { justify-content:center; margin-top:14px; } .supporter-action { font-size:11px; max-width:100%; }
  .supporter-journey .supporter-action { width:100%; }
  .supporter-trail { padding:13px 7px 7px; } .supporter-trail-head { margin-bottom:10px; } .supporter-trail-hint { display:none; }
  .supporter-levels { grid-template-columns:repeat(5,minmax(44px,1fr)); gap:8px 4px; } .supporter-levels::before { display:none; }
  .supporter-level-art { width:48px; height:48px; } .supporter-level-art .supporter-emblem { width:44px; } .supporter-level-roman { font-size:12px; }
  .supporter-footnote { font-size:10px; margin-top:14px; }
  .supporter-dialog { --collection-gutter:14px; width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:8px 18px 8px 18px; scroll-padding-top:115px; }
  .supporter-dialog-head { padding-block:16px 13px; gap:10px; }
  .supporter-dialog-head h2 { font-size:clamp(18px,5.6vw,25px); line-height:1.25; }
  .supporter-dialog-head .supporter-kicker { font-size:8px; letter-spacing:.1em; gap:7px; margin-bottom:7px; }
  .supporter-dialog-head .supporter-kicker-rule { width:14px; }
  .supporter-dialog-count { margin-top:6px; font-size:9px; letter-spacing:.045em; }
  .supporter-dialog-description { margin-block:12px; font-size:11px; line-height:1.6; }
  .supporter-collection-layout { grid-template-columns:1fr; gap:12px; }
  .supporter-inspection { position:static; display:grid; grid-template-columns:108px minmax(0,1fr); gap:5px 12px; padding:12px; text-align:left; justify-items:start; }
  .supporter-inspection .supporter-medallion { grid-column:1; grid-row:1 / 5; width:108px; align-self:center; }
  .supporter-inspection>.supporter-kicker { grid-column:2; justify-content:flex-start; margin:0; font-size:9px; }
  .supporter-inspection h3 { grid-column:2; font-size:18px; }
  .supporter-inspected-state { grid-column:2; margin:0; padding:3px 6px; font-size:8px; letter-spacing:.02em; }
  .supporter-requirement { grid-column:2; margin:0; font-size:10px; line-height:1.5; }
  .supporter-story { grid-column:1 / -1; max-width:none; margin:5px 0 0; padding-top:10px; border-top:1px solid #b98f5126; font-size:11px; line-height:1.65; }
  .supporter-collection-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .supporter-choice { grid-template-columns:1fr; justify-items:center; gap:3px; padding:9px 6px; text-align:center; }
  .supporter-choice-art { width:58px; }
  .supporter-choice-copy { align-items:center; width:100%; }
  .supporter-choice-rank { font-size:8px; }
  .supporter-choice-name { display:flex; align-items:center; justify-content:center; min-height:34px; font-size:12px; }
  .supporter-choice-amount { font-size:9px; }
  .supporter-choice-story { display:none; }
  .supporter-choice-state { align-self:center; margin-top:4px; padding:2px 5px; font-size:7.5px; letter-spacing:.04em; }
  .supporter-dialog-bottom { display:block; padding-top:14px; margin-block:16px 20px; }
  .supporter-dialog-bottom .supporter-action { margin-top:12px; width:100%; }
}
@media(max-width:380px) {
  .supporter-journey { padding:22px 16px 20px; }
  .supporter-badge-button { grid-template-columns:88px minmax(0,1fr); gap:0 10px; }
  .supporter-badge-button .supporter-medallion { width:88px; max-width:88px; }
  .supporter-badge-button .supporter-plaque-name { font-size:12px; }
  .supporter-levels { gap:6px 2px; } .supporter-level-art { width:42px; height:42px; } .supporter-level-art .supporter-emblem { width:40px; } .supporter-level-amount { font-size:8px; }
  .supporter-inspection { grid-template-columns:86px minmax(0,1fr); gap:5px 8px; padding:10px; }
  .supporter-inspection .supporter-medallion { width:86px; }
  .supporter-inspection h3 { font-size:16px; }
}
@media(max-height:740px) {
  .supporter-inspection { position:static; }
}
@media(prefers-reduced-motion:reduce) {
  html:not(.motion-enabled) .supporter-journey *,html:not(.motion-enabled) .supporter-dialog *,html:not(.motion-enabled) .supporter-journey *::before,html:not(.motion-enabled) .supporter-journey *::after,html:not(.motion-enabled) .supporter-dialog *::before,html:not(.motion-enabled) .supporter-dialog *::after { animation:none!important; transition:none!important; }
  html:not(.motion-enabled) .supporter-progress::-webkit-progress-value { transition:none!important; }
  html:not(.motion-enabled) .supporter-emblem-spark { opacity:0; }
  html:not(.motion-enabled) .supporter-emblem-aura { opacity:.4; transform:none; }
}
.is-paused .supporter-journey *,.is-paused .supporter-dialog *,.is-paused .supporter-journey *::before,.is-paused .supporter-journey *::after,.is-paused .supporter-dialog *::before,.is-paused .supporter-dialog *::after { animation:none!important; transition:none!important; }
.is-paused .supporter-progress::-webkit-progress-value { transition:none!important; }
.is-paused .supporter-emblem-spark { opacity:0; }
.is-paused .supporter-emblem-aura { opacity:.4; transform:none; }
