/* Keep ornaments at their original aspect ratio; only the connecting rails grow. */
.character-hub[data-character-vocation] .journey-hero::before{inset:0!important;transform:none!important;width:auto!important;max-width:none!important;height:auto!important;mask:none!important;background:none!important;border:0!important;border-image:none!important;opacity:1!important;pointer-events:none;box-sizing:border-box;z-index:1}
.journey-hero{--journey-ornament-size:60px;--journey-source-size:calc(var(--journey-ornament-size)*4);--journey-join-fade:calc(var(--journey-ornament-size)*.13);--journey-rail-x:.12;--journey-rail-y:.12}
.journey-card-ornaments{position:absolute;inset:0;z-index:1;pointer-events:none;filter:drop-shadow(0 2px 1px #0009)}
.journey-card-ornaments::before{content:"";position:absolute;inset:calc(var(--journey-source-size)*var(--journey-rail-y)) calc(var(--journey-source-size)*var(--journey-rail-x));border:2px solid color-mix(in srgb,var(--shop-accent) 68%,#30271c);box-shadow:0 0 0 1px #090806,inset 0 0 0 1px #090806,0 0 0 3px color-mix(in srgb,var(--shop-accent) 16%,transparent);border-radius:3px}
.journey-border-piece{position:absolute;width:calc(var(--journey-source-size)*var(--piece-width));height:calc(var(--journey-source-size)*var(--piece-height));background-image:var(--journey-card-border);background-size:var(--journey-source-size) var(--journey-source-size);background-position:calc(var(--journey-source-size)*var(--piece-x)) calc(var(--journey-source-size)*var(--piece-y));background-repeat:no-repeat;image-rendering:auto}
.journey-border-piece.is-nw{top:0;left:0}
.journey-border-piece.is-ne{top:0;right:0}
.journey-border-piece.is-sw{bottom:0;left:0}
.journey-border-piece.is-se{bottom:0;right:0}
.journey-border-piece:is(.is-nw,.is-ne,.is-sw,.is-se){mask-image:linear-gradient(var(--corner-x,90deg),#000 calc(100% - var(--journey-join-fade)),transparent),linear-gradient(var(--corner-y,180deg),#000 calc(100% - var(--journey-join-fade)),transparent);mask-composite:intersect}
.journey-border-piece:is(.is-ne,.is-se){--corner-x:270deg}.journey-border-piece:is(.is-sw,.is-se){--corner-y:0deg}
.journey-border-piece:is(.is-n,.is-s){left:50%;translate:-50% 0;mask-image:linear-gradient(90deg,transparent,#000 var(--journey-join-fade),#000 calc(100% - var(--journey-join-fade)),transparent)}
.journey-border-piece.is-n{top:0}
.journey-border-piece.is-s{bottom:0}
.journey-border-piece:is(.is-w,.is-e){top:50%;translate:0 -50%;mask-image:linear-gradient(transparent,#000 var(--journey-join-fade),#000 calc(100% - var(--journey-join-fade)),transparent)}
.journey-border-piece.is-w{left:0}
.journey-border-piece.is-e{right:0}
.journey-hero[data-shop-finish="frame-paladin"] .journey-border-piece.is-n{clip-path:polygon(0 0,100% 0,100% 30%,80% 62%,65% 78%,60% 100%,40% 100%,35% 78%,20% 62%,0 30%)}
.shop-ownership-filter{display:flex;justify-content:flex-end;margin:0 0 8px;flex-shrink:0}
.shop-ownership-filter button{display:flex;align-items:center;gap:8px;font-size:11px;min-height:34px}
.shop-ownership-filter button[aria-pressed="true"]{border-color:#cbb171;color:#f1ddb2;background:#cbb17118}
.shop-ownership-filter button>span{display:grid;place-items:center;width:14px;height:14px;border:1px solid #ad976366;border-radius:3px;font-size:12px}
.shop-collection-complete{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 16px;padding:18px;margin:10px 0 20px;border:1px solid #bba36a55;border-radius:6px;background:#cbb17108;font-size:12px;flex-shrink:0}
.shop-collection-complete strong{font:600 17px Georgia,serif;color:#edddba}.shop-collection-complete span{color:#b9b09a}.shop-collection-complete button{grid-column:2;grid-row:1/3;white-space:nowrap}
.character-hub[data-character-vocation] .journey-hero:is(:not([data-shop-finish]),[data-shop-finish=""])::before{border:1px solid var(--vocation-line)!important;border-image:none!important;border-radius:inherit;box-shadow:inset 0 1px #ffffff06}
.character-hub[data-character-vocation] .journey-hero::after{display:none!important}
.character-hub[data-character-vocation] .journey-hero{padding:28px 32px 24px!important;isolation:isolate;overflow:visible;border-color:transparent!important;outline:0!important;box-shadow:inset 0 0 0 1px #a4977244,0 6px 20px #0003!important}
.character-hub[data-character-vocation] .journey-hero[data-shop-finish]:not([data-shop-finish=""]){background:transparent!important;box-shadow:none!important;padding:40px 54px 38px!important}
.character-hub[data-character-vocation] .journey-hero[data-shop-finish]:not([data-shop-finish=""])::after{content:"";display:block!important;position:absolute;inset:calc(var(--journey-source-size)*var(--journey-rail-y)) calc(var(--journey-source-size)*var(--journey-rail-x));width:auto;height:auto;background:var(--vocation-hero,var(--vocation-surface,#242321));filter:none;transform:none;z-index:0;border-radius:2px}
.journey-hero>.shop-customize{position:relative;display:block;width:max-content;max-width:100%;margin:8px 0 0 auto;z-index:2;right:auto;bottom:auto}
.journey-hero>.journey-hero-main,.journey-hero>.journey-profile-section{position:relative;z-index:2}
.journey-hero .journey-crest{position:relative;isolation:isolate;overflow:visible;background:none!important;outline:0!important;box-shadow:none!important;border:0!important}
.journey-hero .journey-crest::after{display:none!important}
.journey-hero .journey-crest>img.shop-equipped-crest{inset:0!important;width:100%!important;height:100%!important;z-index:2;filter:drop-shadow(0 3px 3px #0008)}
.shop-equipped-frame,.shop-equipped-petFrame,.pet-appearance-frame{display:none!important}
.shop-flair{position:absolute;inset:-14%;display:block;pointer-events:none;z-index:0;color:var(--flair-color,#e1c477);isolation:isolate}
.shop-flair img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain;image-rendering:pixelated;opacity:.78;animation:collection-breathe 5s ease-in-out infinite}
.shop-flair .flair-mote{position:absolute;left:var(--x);top:var(--y);width:5px;height:5px;background:currentColor;box-shadow:0 0 0 1px #17111d55,1px -2px #fff8;animation:collection-float 3s steps(12) var(--delay) infinite}
.shop-flair .flair-sweep{position:absolute;inset:18% 6% 4%;border:3px solid transparent;border-bottom-color:currentColor;border-radius:50%;transform:rotate(-14deg);opacity:.7}
.shop-flair[data-flair="steel"] .flair-mote,.shop-flair[data-flair="shards"] .flair-mote{width:8px;height:11px;clip-path:polygon(50% 0,100% 60%,50% 100%,0 40%);animation-name:collection-glint}
.shop-flair:is([data-flair="stars"],[data-flair="sun"]) .flair-mote{width:10px;height:10px;clip-path:polygon(50% 0,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0 50%,35% 35%);animation-name:collection-glint}
.shop-flair:is([data-flair="embers"],[data-flair="flame"]) .flair-mote{width:7px;height:13px;clip-path:polygon(50% 0,65% 50%,85% 30%,100% 80%,50% 100%,0 70%,25% 35%,30% 65%)}
.shop-flair[data-flair="flame"] .flair-sweep{inset:16% 1% 0;border-width:7px;border-bottom-color:currentColor;filter:drop-shadow(0 -3px #f0884133);animation:collection-breathe 2.7s steps(10) infinite}
.shop-flair:is([data-flair="leaves"],[data-flair="blossoms"],[data-flair="lotus"]) .flair-mote{width:8px;height:13px;border-radius:90% 0 80% 0;transform:rotate(35deg)}
.shop-flair[data-flair="blossoms"] .flair-mote{width:10px;height:10px;border-radius:0;clip-path:polygon(30% 0,70% 0,70% 30%,100% 30%,100% 70%,70% 70%,70% 100%,30% 100%,30% 70%,0 70%,0 30%,30% 30%);background:#f2e5c0}
.shop-flair[data-flair="wings"] .flair-mote{width:8px;height:20px;top:calc(50% + var(--n)*2%);background:linear-gradient(#fff7dd,#c8b17d);clip-path:polygon(0 0,100% 30%,75% 90%,30% 100%);animation-name:collection-glint}
.shop-flair[data-flair="frost"] .flair-mote{width:11px;height:11px;clip-path:polygon(40% 0,60% 0,60% 40%,100% 40%,100% 60%,60% 60%,60% 100%,40% 100%,40% 60%,0 60%,0 40%,40% 40%)}
.shop-flair:is([data-flair="lightning"],[data-flair="storm"]) .flair-mote{width:10px;height:23px;clip-path:polygon(45% 0,100% 0,62% 40%,90% 40%,15% 100%,38% 55%,0 55%);animation:collection-glint 1.7s steps(3) var(--delay) infinite}
.shop-flair[data-flair="runes"] .flair-mote{width:11px;height:13px;background:none;border:2px solid currentColor;clip-path:polygon(0 0,100% 0,100% 40%,60% 40%,60% 100%,0 100%);animation-name:collection-glint}
.shop-flair[data-flair="lotus"] .flair-sweep{inset:64% 14% 2%;border:4px double currentColor;border-top:0;border-radius:0 0 80% 80%}
.character-pet-visual:has(>.shop-flair){isolation:isolate;filter:none!important;animation:none!important;overflow:visible}
.character-pet-visual>.shop-flair{inset:-8%;z-index:0}
.character-pet-visual:has(>.shop-flair)>.pet-appearance-crest{display:none!important}
.character-pet-visual:has(>.shop-flair)>:not(.shop-flair){z-index:1}
.shop-art-composite>.shop-flair{inset:0}
.shop-art-composite:has(>.shop-flair)>.shop-art-subject{width:48%;height:48%;z-index:2}
.shop-preview-art>.shop-flair{inset:0}
.shop-flair-target{display:flex;gap:8px;align-items:center;margin:8px 0;font-size:11px}
.shop-relic-effects{display:grid;gap:5px;padding:10px 0;font-size:12px}
.party-relic{display:flex;gap:13px;align-items:center;padding:14px 18px;background:#1b1712;border:1px solid #9f895347;border-radius:6px;margin-top:14px}
.party-relic>img,.party-relic-empty{width:64px;height:64px;object-fit:contain;image-rendering:pixelated;display:grid;place-items:center;font-size:32px;color:#bd9d62}
.party-relic>div{display:grid;gap:4px}.party-relic small{font-size:9px;letter-spacing:.12em;color:#d4bb80}.party-relic strong{font:600 16px Georgia,serif}.party-relic span{font-size:11px}.party-relic .is-good,.shop-relic-effects .is-good{color:#b4d18c}.party-relic .is-bad,.shop-relic-effects .is-bad{color:#efa497}
.party-relic button{margin-left:auto}
.adventure-relic-slot{display:flex;align-items:center;gap:18px;background:#1b1712;border:1px solid #9f895347;border-radius:6px;margin:16px 0 26px;padding-right:18px}
.adventure-relic-slot .party-relic{flex:1;margin:0;border:0;background:none}
.shop-relic-modifiers{display:grid;gap:5px;margin:10px 0;font-size:12px}.shop-relic-modifiers .is-good{color:#b4d18c}.shop-relic-modifiers .is-bad{color:#efa497}
.shop-art-composite.is-flair-preview{position:relative;isolation:isolate;display:grid;place-items:center}
.shop-art-composite .shop-flair-subject{width:48%!important;height:48%!important;object-fit:contain;image-rendering:pixelated;z-index:1}
.shop-preview-art .character-pet-visual{position:relative;isolation:isolate;overflow:visible}
.shop-placement[data-placement="flair"] .placement-frame{stroke:#dabd77;stroke-dasharray:3 5;fill:none}
.shop-placement[data-placement="finish"] .placement-page{stroke:#dabd77;stroke-width:2.5}
.shop-placement[data-placement="relic"] .placement-icon{fill:#dabd7744;stroke:#dabd77;stroke-width:2}
[data-board-cosmetic="board-knight"]{--board-art:url("shop-assets/crest-knight.webp");--board-accent:#b8cbd6;background:#282a2d}
[data-board-cosmetic="board-paladin"]{--board-art:url("shop-assets/crest-paladin.webp");--board-accent:#efd080;background:#30291f}
[data-board-cosmetic="board-sorcerer"]{--board-art:url("shop-assets/crest-sorcerer.webp");--board-accent:#ef9863;background:#30231f}
[data-board-cosmetic="board-druid"]{--board-art:url("shop-assets/crest-druid.webp");--board-accent:#afd18f;background:#272b22}
[data-board-cosmetic="board-monk"]{--board-art:url("shop-assets/crest-monk-soulkamas.webp");--board-accent:#bfa3f0;background:#2d2635}
@keyframes collection-float{0%{translate:0 8px;opacity:0}25%,70%{opacity:.9}100%{translate:2px -12px;opacity:0}}
@keyframes collection-glint{0%,100%{opacity:.22;scale:.7}45%{opacity:1;scale:1.1}}
@keyframes collection-breathe{0%,100%{transform:translateY(1px) rotate(-2deg)}50%{transform:translateY(-2px) rotate(2deg)}}
@container character-dashboard (max-width:560px){.character-hub[data-character-vocation] .journey-hero{--journey-ornament-size:34px;padding:34px 28px 30px!important}}
@media(max-width:560px){.shop-collection-complete{grid-template-columns:1fr}.shop-collection-complete button{grid-column:1;grid-row:auto;justify-self:start;margin-top:4px}}
@container character-dashboard (max-width:560px){.character-hub[data-character-vocation] .journey-hero[data-shop-finish]:not([data-shop-finish=""]){padding:34px 30px 44px!important}.character-hub[data-character-vocation] .journey-hero[data-shop-finish]:not([data-shop-finish=""])::after{inset:13px}.journey-hero>.shop-customize{right:auto;bottom:auto}}
@media(prefers-reduced-motion:reduce){.shop-flair *{animation:none!important}}

/* Retire the legacy earned square frame as well. */
.pet-appearance-crest{display:none!important}

/* Full-row Boards appearances. Ornaments never intercept row or attachment controls. */
[data-board-appearance="board-gilded"] { --board-row-accent: #d7b76b; --board-row-surface: #28241f; --board-row-art: url("shop-assets/badge-gilded.webp"); --board-row-edge: url("shop-assets/board-edge-gilded.svg"); }
[data-board-appearance="board-grove"] { --board-row-accent: #a5b77a; --board-row-surface: #28241f; --board-row-art: url("shop-assets/badge-grove.webp"); --board-row-edge: url("shop-assets/board-edge-grove.svg"); }
[data-board-appearance="board-astral"] { --board-row-accent: #bba8df; --board-row-surface: #28241f; --board-row-art: url("shop-assets/badge-astral.webp"); --board-row-edge: url("shop-assets/board-edge-astral.svg"); }
[data-board-appearance="board-knight"] { --board-row-accent: #a9bdc8; --board-row-surface: #28241f; --board-row-art: url("shop-assets/crest-knight.webp"); --board-row-edge: url("shop-assets/board-edge-knight.svg"); }
[data-board-appearance="board-paladin"] { --board-row-accent: #dac381; --board-row-surface: #28241f; --board-row-art: url("shop-assets/crest-paladin.webp"); --board-row-edge: url("shop-assets/board-edge-paladin.svg"); }
[data-board-appearance="board-sorcerer"] { --board-row-accent: #dd9b74; --board-row-surface: #28241f; --board-row-art: url("shop-assets/crest-sorcerer.webp"); --board-row-edge: url("shop-assets/board-edge-sorcerer.svg"); }
[data-board-appearance="board-druid"] { --board-row-accent: #b2c692; --board-row-surface: #28241f; --board-row-art: url("shop-assets/crest-druid.webp"); --board-row-edge: url("shop-assets/board-edge-druid.svg"); }
[data-board-appearance="board-monk"] { --board-row-accent: #b8a1d9; --board-row-surface: #28241f; --board-row-art: url("shop-assets/crest-monk-soulkamas.webp"); --board-row-edge: url("shop-assets/board-edge-monk.svg"); }

:is(.field-report-place-run-row,.field-report-highscores-row)[data-board-appearance] {
  position: relative;
  isolation: isolate;
  background: var(--board-row-surface) !important;
  border-color: color-mix(in srgb, var(--board-row-accent) 34%, #302d29) !important;
}
:is(.field-report-place-run-row,.field-report-highscores-row)[data-board-appearance]::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 0;
  box-sizing: border-box;
  border: 16px solid transparent;
  border-image: var(--board-row-edge) 24 / 16px / 0 stretch;
  pointer-events: none;
  opacity: .92;
}
:is(.field-report-place-run-row,.field-report-highscores-row)[data-board-appearance]:hover {
  background: #302a23 !important;
  border-color: color-mix(in srgb, var(--board-row-accent) 60%, #302d29) !important;
}
[data-board-appearance] .board-banner-name {
  position: relative;
  display: block;
  box-sizing: border-box;
  min-height: 22px;
  padding: 4px 0 3px 29px;
  max-width: 100%;
  overflow-wrap: anywhere;
}
[data-board-appearance] .board-banner-name::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 24px;
  height: 24px;
  background: var(--board-row-art) center / contain no-repeat;
  image-rendering: pixelated;
  pointer-events: none;
}
@media (forced-colors: active) {
  :is(.field-report-place-run-row,.field-report-highscores-row)[data-board-appearance] { border-color: CanvasText !important; }
  :is(.field-report-place-run-row,.field-report-highscores-row)[data-board-appearance]::before { display: none; }
}
.shop-flair.is-earned svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 1px 1px #0007)}
.shop-flair[data-earned="pet-finish-gilded"]{color:#eed18a}
.shop-flair[data-earned="pet-frame-veteran"]{color:#b9c9d5}
.shop-flair[data-earned="pet-finish-astral"]{color:#c6a4ef}
.earned-gold-rays{transform-origin:center;animation:earned-gilded 3.4s ease-in-out infinite}
.earned-steel-leaves{animation:earned-veteran 5s ease-in-out infinite}
.earned-astral-orbit{transform-origin:50px 51px;animation:earned-astral 9s ease-in-out infinite}
.earned-astral-stars{animation:earned-gilded 4s ease-in-out infinite reverse}
@keyframes earned-gilded{0%,100%{opacity:.65;transform:scale(.96)}50%{opacity:1;transform:scale(1.03)}}
@keyframes earned-veteran{0%,65%,100%{opacity:.8}80%{opacity:1}}
@keyframes earned-astral{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(12deg)}}
