/* All badge artwork uses the Founder frame: identical width AND height per context.
   New badge types only define the source, source crop and silhouette below.
   Do not add per-type dimensions/aspect ratios or compensate in hover styles.
   The supplied image files stay unchanged; CSS normalizes their visible frame. */
:root{--od-badge-aspect:1050/1034;--od-badge-profile-height:126px}
/* The catalog uses one common frame for every badge, including the Founder. */
.od-catalog-card .od-catalog-art{width:auto;height:160px}
@media(max-width:600px){.od-catalog-card .od-catalog-art{height:110px}}
@media(max-width:360px){.od-catalog-card .od-catalog-art{height:96px}}
.od-earned-badge{clip-path:var(--od-badge-silhouette,none);aspect-ratio:var(--od-badge-aspect);display:inline-block;flex:none;width:48px;vertical-align:middle;position:relative;isolation:isolate;background-repeat:no-repeat;background-image:var(--od-badge-image);background-size:var(--od-badge-crop-size,100% 100%);background-position:var(--od-badge-crop-position,50% 50%);}
.od-earned-badge--founder{--od-badge-image:url('/assets/badge-collection-v1.png');--od-badge-crop-size:424.30939% 259.89848%;--od-badge-crop-position:1.87394% 62.85714%;--od-badge-silhouette:polygon(50.000% 0.000%,55.801% 13.452%,66.851% 17.513%,77.348% 25.127%,84.530% 20.305%,79.006% 29.949%,87.293% 39.086%,89.227% 44.162%,100.000% 48.731%,88.950% 53.046%,85.912% 62.183%,79.282% 69.543%,90.884% 78.426%,76.519% 73.858%,66.575% 83.249%,56.354% 87.817%,50.000% 100.000%,44.199% 88.325%,33.978% 84.772%,24.586% 76.142%,15.746% 78.680%,20.718% 69.543%,11.878% 59.391%,9.116% 54.822%,0.000% 48.731%,10.221% 44.162%,14.917% 33.756%,24.309% 25.888%,16.022% 19.797%,28.729% 23.858%,37.293% 16.497%,44.751% 13.706%);}
.od-name-marker{display:inline-flex;align-items:center;justify-content:center;flex:none;vertical-align:middle;line-height:1;margin-left:3px}
.od-badge-marker{width:64px;max-width:none}
.od-badge-showcase{display:inline-flex;flex-wrap:wrap;max-width:100%;align-items:center;gap:8px;flex:none;vertical-align:middle;line-height:1;margin-left:14px}
.od-badge-showcase.is-compact{gap:5px;margin-left:8px}
.od-badge-showcase.is-compact .od-badge-slot{width:80px}
.pf-name .od-badge-slot{width:auto;height:var(--od-badge-profile-height)}
.od-badge-help{margin:10px 0 16px;color:var(--carbon-muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.od-badge-preview{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:80px;padding:14px 18px;border:1px solid var(--carbon-line);margin:18px 0;color:var(--carbon-muted);font-size:12px}
.od-badge-preview strong{color:var(--carbon-ink);margin-left:10px}
.od-badge-collection{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:12px;margin:18px 0 24px}
#od-badge-settings .od-badge-option{display:flex;align-items:center;gap:20px;text-align:left;min-width:0;padding:16px;border:1px solid var(--carbon-line);background:var(--carbon-paper);color:var(--carbon-ink);cursor:pointer;font:inherit;position:relative}
#od-badge-settings .od-badge-option.is-selected{border-color:var(--carbon-accent);background:var(--carbon-faint)}
.od-badge-option:focus-visible{outline:2px solid var(--carbon-accent);outline-offset:3px}
.od-badge-option .od-badge-art{width:160px}
.od-badge-option>span:not(.od-earned-badge){min-width:0;flex:1}
.od-badge-option strong,.od-badge-option small,.od-badge-option em{display:block;overflow-wrap:anywhere}
.od-badge-option strong{font-size:16px}
.od-badge-option small{font-size:11px;line-height:1.6;margin-top:8px;color:var(--carbon-muted)}
.od-badge-option em{font-size:10px;font-style:normal;margin-top:10px;color:var(--carbon-muted)}
.od-badge-order{flex:none;width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--carbon-line);font-size:12px}
.is-selected .od-badge-order{background:var(--carbon-accent);color:var(--carbon-bg)}
.od-badge-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
#od-badge-message{font-size:12px;margin-bottom:0;color:var(--carbon-muted)}
#od-badge-message.is-error{color:#f87171}
#od-badge-settings [disabled]{opacity:.6;cursor:wait}
@container carbon-profile (max-width:600px){
 .pf-name{--od-badge-profile-height:104px}
 .pf-name .od-badge-showcase{gap:5px;margin-left:8px}
 #od-badge-settings .od-badge-option{gap:12px;padding:12px}
 .od-badge-option .od-badge-art{width:132px}
}


.od-earned-badge--speed-demon{--od-badge-image:url('/assets/badge-collection-v1.png');--od-badge-crop-size:454.43787% 259.89848%;--od-badge-crop-position:33.88982% 63.17460%;--od-badge-silhouette:polygon(49.704% 0.000%,54.142% 9.898%,64.793% 11.168%,62.722% 6.345%,67.456% 10.152%,74.852% 14.213%,72.781% 9.898%,83.728% 4.061%,78.107% 15.990%,80.178% 22.843%,86.095% 26.142%,86.391% 36.802%,94.379% 34.518%,89.349% 43.655%,97.929% 37.563%,93.787% 48.731%,100.000% 45.685%,96.154% 57.107%,89.941% 65.228%,93.787% 64.721%,86.686% 73.858%,81.361% 79.188%,77.811% 85.533%,64.201% 91.624%,49.704% 100.000%,37.278% 92.640%,23.373% 86.041%,18.047% 79.442%,11.243% 74.365%,5.917% 64.213%,10.651% 66.244%,3.846% 56.599%,0.000% 36.294%,7.988% 42.893%,5.917% 34.772%,10.355% 37.310%,7.988% 27.919%,9.763% 18.528%,14.201% 10.914%,23.964% 3.807%,18.047% 15.228%,18.639% 23.858%,26.331% 18.782%,28.402% 13.959%,35.207% 9.898%,32.544% 20.305%,36.686% 17.766%,42.012% 11.168%,45.562% 10.914%);}
.invp-badge-award{display:flex;align-items:center;gap:14px;margin:12px 0;min-width:0}.invp-badge-award>div{min-width:0;overflow-wrap:anywhere}.invp-badge-art{width:112px}.invp-badge-award strong{font-size:14px}

.od-earned-badge--speed-angel{--od-badge-image:url('/assets/badge-collection-v1.png');--od-badge-crop-size:458.50746% 292.57143%;--od-badge-crop-position:66.19484% 64.54006%;--od-badge-silhouette:polygon(9.851% 0.000%,13.433% 13.429%,18.507% 24.571%,22.985% 28.571%,27.463% 20.571%,26.567% 13.143%,25.970% 10.286%,28.657% 7.143%,36.716% 4.286%,48.955% 2.857%,61.194% 4.286%,68.955% 7.429%,70.149% 10.571%,67.164% 15.429%,63.881% 19.714%,73.433% 28.571%,79.104% 19.429%,88.657% 0.571%,93.433% 15.143%,90.149% 29.143%,96.418% 21.429%,94.627% 33.714%,100.000% 35.143%,94.627% 41.714%,97.910% 45.143%,92.239% 51.714%,96.418% 52.000%,87.164% 62.571%,80.000% 68.286%,86.269% 74.571%,78.209% 74.571%,74.925% 82.000%,69.254% 89.429%,61.194% 92.000%,49.851% 100.000%,40.299% 90.857%,31.940% 87.714%,25.672% 81.714%,20.000% 75.143%,13.134% 75.714%,18.209% 69.143%,9.254% 61.143%,3.582% 52.000%,8.657% 52.857%,1.194% 42.571%,4.776% 43.143%,0.000% 36.571%,5.075% 35.143%,1.194% 25.429%,6.567% 30.286%,1.791% 17.143%);}

/* Name markers need their own size rules: showcase slot sizes do not affect them. */
.pf-name:has(.od-badge-marker,.od-badge-showcase){display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.pf-name .od-badge-marker{width:auto;height:var(--od-badge-profile-height)}
.pf-name .od-name-marker{margin:0}
.pf-name .od-badge-showcase{margin:0;gap:10px;flex:0 1 auto}
.od-badge-preview{flex-wrap:wrap}
.od-badge-preview .od-badge-showcase{margin:0;gap:10px}
.od-badge-preview .od-badge-slot{width:88px}
.od-badge-option{flex-wrap:wrap}
.od-badge-option>span:not(.od-earned-badge){flex:1 1 160px}
.od-badge-option .od-badge-order{position:absolute;top:12px;right:12px}
@container carbon-profile (max-width:600px){
 #od-badge-settings .od-badge-option{padding:18px;gap:18px}
}

.od-earned-badge--last-bastion{--od-badge-image:url('/assets/badge-collection-v1.png');--od-badge-crop-size:459.88024% 252.21675%;--od-badge-crop-position:97.33777% 62.45955%;--od-badge-silhouette:polygon(50.000% 0.000%,54.491% 5.911%,52.395% 9.360%,55.090% 13.793%,69.760% 16.995%,66.168% 10.591%,70.659% 14.778%,73.952% 20.936%,85.329% 25.616%,88.024% 24.631%,92.814% 25.862%,88.024% 29.557%,92.814% 35.468%,97.006% 36.700%,93.413% 39.655%,95.509% 45.320%,98.802% 47.044%,92.814% 49.754%,95.210% 57.635%,100.000% 68.227%,93.114% 67.734%,95.210% 75.123%,97.305% 78.325%,94.311% 87.192%,87.126% 90.887%,89.521% 84.975%,84.431% 86.207%,77.545% 91.872%,68.263% 92.365%,50.000% 100.000%,34.431% 91.133%,24.551% 89.655%,23.054% 92.857%,16.766% 90.394%,10.778% 86.207%,7.485% 87.192%,9.880% 81.527%,15.269% 78.325%,12.874% 72.660%,7.485% 71.675%,4.192% 65.271%,0.000% 64.039%,4.192% 54.433%,1.796% 46.305%,7.485% 48.276%,8.084% 40.640%,2.994% 37.685%,8.982% 35.468%,8.982% 30.049%,6.587% 25.616%,11.677% 25.123%,15.269% 19.458%,18.263% 25.862%,25.449% 20.443%,28.743% 10.591%,32.335% 16.995%,38.922% 13.300%,44.910% 13.300%,45.509% 8.621%,45.509% 5.665%);}

.od-earned-badge--king-of-the-track{--od-badge-image:url('/assets/king-of-the-track-v1.png');--od-badge-crop-size:100.96618% 105.46678%;--od-badge-crop-position:0.00000% 50.76923%;}

.od-earned-badge--breakthrough{--od-badge-image:url('/assets/breakthrough-v1.png');--od-badge-crop-size:101.62075% 102.78689%;--od-badge-crop-position:0.00000% 100.00000%;}

.od-earned-badge--cold-calculation{--od-badge-image:url('/assets/cold-calculation-v1.png');--od-badge-crop-size:105.91216% 103.12500%;--od-badge-crop-position:0.00000% 52.63158%;}

.od-earned-badge--flawless{--od-badge-image:url('/assets/flawless-v1.png');--od-badge-crop-size:101.78571% 103.20988%;--od-badge-crop-position:0.00000% 79.48718%;}

.od-earned-badge--first-blood{--od-badge-image:url('/assets/first-blood-v1.png');--od-badge-crop-size:105.55556% 110.67961%;--od-badge-crop-position:0.00000% 42.97521%;}

.od-earned-badge--ascension{--od-badge-image:url('/assets/ascension-v1.png');--od-badge-crop-size:106.90537% 101.86840%;--od-badge-crop-position:38.27160% 100.00000%;}

.od-earned-badge--veteran{--od-badge-image:url('/assets/veteran-v1.png');--od-badge-crop-size:104.50000% 101.70316%;--od-badge-crop-position:0.00000% 100.00000%;}

.od-earned-badge--at-the-peak{--od-badge-image:url('/assets/at-the-peak-v1.png');--od-badge-crop-size:105.73356% 106.72340%;--od-badge-crop-position:48.52941% 56.96203%;}

/* Inherited badges, Champions and the Founder carry foil; the art/crop also masks the effect.
   Dimensions stay on the shared Founder frame. Never animate layout or scale. */
.od-earned-badge:is(.is-inherited,.is-champion,.od-earned-badge--founder)::before,.od-earned-badge:is(.is-inherited,.is-champion,.od-earned-badge--founder)::after{content:"";position:absolute;inset:0;pointer-events:none;mask-image:var(--od-badge-image);-webkit-mask-image:var(--od-badge-image);mask-size:var(--od-badge-crop-size,100% 100%);-webkit-mask-size:var(--od-badge-crop-size,100% 100%);mask-position:var(--od-badge-crop-position,50% 50%);-webkit-mask-position:var(--od-badge-crop-position,50% 50%);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}
.od-earned-badge:is(.is-inherited,.is-champion,.od-earned-badge--founder)::before{background:linear-gradient(120deg,transparent 12%,#3affde99 25%,#518dffbb 34%,#e48dff99 43%,#ffdf8599 52%,#66ffe899 61%,transparent 76%);background-size:300% 300%;mix-blend-mode:color-dodge;opacity:.4;animation:od-badge-holo 8s ease-in-out infinite}
.od-earned-badge:is(.is-inherited,.is-champion,.od-earned-badge--founder)::after{background:linear-gradient(112deg,transparent 42%,#fff5 48%,#fffc 50%,#bdfcff66 53%,transparent 59%);background-size:300% 100%;mix-blend-mode:screen;opacity:0;animation:od-badge-gleam 6s ease-in-out infinite}
.od-earned-badge:is(.is-inherited,.is-champion,.od-earned-badge--founder):hover::before{opacity:.62}
@keyframes od-badge-holo{0%,100%{background-position:0% 30%}50%{background-position:100% 70%}}
@keyframes od-badge-gleam{0%,15%{background-position:140% 0;opacity:0}24%{opacity:.6}48%{background-position:-40% 0;opacity:0}100%{background-position:-40% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.od-earned-badge:is(.is-inherited,.is-champion,.od-earned-badge--founder)::before{animation:none;background-position:50% 50%;opacity:.18}.od-earned-badge:is(.is-inherited,.is-champion,.od-earned-badge--founder)::after{animation:none;opacity:0}}

.od-earned-badge--champion-place-1{--od-badge-image:url('/assets/champion-place-1-v1.png');--od-badge-crop-size:102.11726% 102.70270%;--od-badge-crop-position:88.46154% 27.27273%;}

.od-earned-badge--champion-place-2{--od-badge-image:url('/assets/champion-place-2-v1.png');--od-badge-crop-size:101.78571% 103.46535%;--od-badge-crop-position:0.00000% 19.04762%;}

.od-earned-badge--champion-place-3{--od-badge-image:url('/assets/champion-place-3-v1.png');--od-badge-crop-size:103.20988% 102.11726%;--od-badge-crop-position:53.84615% 7.69231%;}

.od-earned-badge--participant-heart{--od-badge-image:url('/assets/participant-heart-v1.png');--od-badge-crop-size:102.28385% 105.64448%;--od-badge-crop-position:0.00000% 40.29851%;}

.od-earned-badge--warrior{--od-badge-image:url('/assets/warrior-v1.png');--od-badge-crop-size:113.96396% 105.24535%;--od-badge-crop-position:51.61290% 48.38710%;}

/* Live five-digit meter sits inside the shared frame without resizing the art. */
.od-badge-counter{position:absolute;z-index:2;left:50%;transform:translateX(-50%);bottom:0;width:64%;height:18%;pointer-events:none;line-height:1;text-shadow:none;filter:none}
.od-badge-counter svg{display:block;width:100%;height:100%;overflow:visible}
.od-badge-counter .od-counter-case{fill:#293039;stroke:#95a0ab;stroke-width:1.5}
.od-badge-counter .od-counter-screen{fill:#0c1115;stroke:#4f5c23;stroke-width:1}
.od-badge-counter .od-counter-screw{fill:#c1c7ca}
.od-badge-counter text{fill:#d9ff43;font-family:Consolas,'Liberation Mono',monospace;font-size:23px;font-weight:700;letter-spacing:0;filter:drop-shadow(0 0 1px #b6d92e)}

/* The silhouette clips artwork and foil, while the meter keeps its full frame. */
.od-earned-badge.has-counter{clip-path:none;background-image:none}
.od-badge-drawing{position:absolute;inset:0;z-index:-1;pointer-events:none;clip-path:var(--od-badge-silhouette,none);background-image:var(--od-badge-image);background-size:var(--od-badge-crop-size,100% 100%);background-position:var(--od-badge-crop-position,50% 50%);background-repeat:no-repeat}
.od-earned-badge.has-counter::before,.od-earned-badge.has-counter::after{clip-path:var(--od-badge-silhouette,none)}

.od-earned-badge--absolute{--od-badge-image:url('/assets/absolute-v1.png');--od-badge-crop-size:109.04348% 109.23345%;--od-badge-crop-position:50.00000% 7.54717%;}

.od-earned-badge--phoenix{--od-badge-image:url('/assets/phoenix-v1.png');--od-badge-crop-size:112.66846% 112.06434%;--od-badge-crop-position:50.35461% 17.03704%;}

.od-earned-badge--clean-victory{--od-badge-image:url('/assets/clean-victory-v1.png');--od-badge-crop-size:140.42553% 115.36339%;--od-badge-crop-position:50.13850% 18.56287%;}

.od-earned-badge--dynasty{--od-badge-image:url('/assets/dynasty-v1.png');--od-badge-crop-size:105.82278% 109.71129%;--od-badge-crop-position:49.27536% 20.72072%;}

.od-earned-badge--granite{--od-badge-image:url('/assets/granite-v1.png');--od-badge-crop-size:122.10321% 109.42408%;--od-badge-crop-position:50.22026% 12.03704%;}

.od-earned-badge--on-fire{--od-badge-image:url('/assets/on-fire-v1.png');--od-badge-crop-size:108.19672% 103.98010%;--od-badge-crop-position:50.52632% 54.16667%;}

/* Keep portrait masks at their native proportions inside the common Founder frame.
   Auto width also keeps the foil mask aligned with the undistorted artwork. */
.od-earned-badge--shogun{--od-badge-image:url('/assets/shogun-v1.png');--od-badge-crop-size:auto 108.29016%;--od-badge-crop-position:50.00000% 22.91667%;}

.od-earned-badge--asura{--od-badge-image:url('/assets/asura-v1.png');--od-badge-crop-size:auto 109.90359%;--od-badge-crop-position:50.30120% 17.69912%;}

.od-earned-badge--ronin{--od-badge-image:url('/assets/ronin-v1.png');--od-badge-crop-size:auto 108.47751%;--od-badge-crop-position:49.83607% 24.48980%;}

/* Approved concept is unchanged. Clip its mock meter; render the shared live counter separately. */
.od-earned-badge--archangel{--od-badge-image:url('/assets/archangel-v1.png');--od-badge-crop-size:100% auto;--od-badge-crop-position:50% 0%;--od-badge-silhouette:inset(0 0 17% 0);}

/* Approved concept is unchanged. Clip its mock meter; render the shared live counter separately. */
.od-earned-badge--seraph{--od-badge-image:url('/assets/seraph-v1.png');--od-badge-crop-size:100% auto;--od-badge-crop-position:50% 0%;--od-badge-silhouette:inset(0 0 17% 0);}

/* Approved Samurai artwork, native proportions in the common Founder frame. */
.od-earned-badge--first-samurai{--od-badge-image:url('/assets/first-samurai-v2.png');--od-badge-crop-size:auto 100.00000%;--od-badge-crop-position:3.61842% 50.00000%;}

/* Approved Samurai artwork, native proportions in the common Founder frame. */
.od-earned-badge--last-samurai{--od-badge-image:url('/assets/last-samurai-v2.png');--od-badge-crop-size:auto 107.73302%;--od-badge-crop-position:48.61111% 58.33228%;}

/* Approved permanent merit artwork; every grade retains the common Founder frame. */
.od-earned-badge--hunter-merit-v1{--od-badge-image:url('/assets/hunter-merit-v1.png');--od-badge-crop-size:auto 101.761623%;--od-badge-crop-position:50.000000% -39.827255%;}
.od-earned-badge--distance-dragon-merit-v1{--od-badge-image:url('/assets/distance-dragon-merit-v1.png');--od-badge-crop-size:auto 97.952807%;--od-badge-crop-position:34.788605% 51.907790%;}
.od-earned-badge--phantom-merit-v1{--od-badge-image:url('/assets/phantom-merit-v1.png');--od-badge-crop-size:auto 101.418703%;--od-badge-crop-position:50.000000% -38.361045%;}
.od-earned-badge--razor-merit-v1{--od-badge-image:url('/assets/razor-merit-v1.png');--od-badge-crop-size:auto 106.534513%;--od-badge-crop-position:50.000000% -12.405200%;}
.od-earned-badge--shadow-merit-v1{--od-badge-image:url('/assets/shadow-merit-v1.png');--od-badge-crop-size:auto 98.352941%;--od-badge-crop-position:-23.657216% 92.857143%;}
.od-earned-badge--tempered-merit-v1{--od-badge-image:url('/assets/tempered-merit-v1.png');--od-badge-crop-size:auto 102.106870%;--od-badge-crop-position:50.000000% -52.415459%;}
.od-earned-badge--clean-trail-merit-v1{--od-badge-image:url('/assets/clean-trail-merit-v1.png');--od-badge-crop-size:auto 106.628875%;--od-badge-crop-position:50.000000% 45.510422%;}
.od-earned-badge--legionary-merit-v1{--od-badge-image:url('/assets/legionary-merit-v1.png');--od-badge-crop-size:auto 98.675410%;--od-badge-crop-position:48.630064% 67.821782%;}
.od-earned-badge--metronome-merit-v1{--od-badge-image:url('/assets/metronome-merit-v1.png');--od-badge-crop-size:auto 108.649819%;--od-badge-crop-position:50.000000% 24.958264%;}
.od-earned-badge--surgeon-merit-v1{--od-badge-image:url('/assets/surgeon-merit-v1.png');--od-badge-crop-size:auto 99.655629%;--od-badge-crop-position:47.899569% 142.307692%;}
.od-earned-badge--hunter-merit-g2{--od-badge-image:url('/assets/hunter-merit-g2.png');--od-badge-crop-size:auto 98.918652%;--od-badge-crop-position:46.999224% 53.647416%;}
.od-earned-badge--hunter-merit-g3{--od-badge-image:url('/assets/hunter-merit-g3.png');--od-badge-crop-size:auto 99.903734%;--od-badge-crop-position:50.000000% 256.896552%;}
.od-earned-badge--distance-dragon-merit-g2{--od-badge-image:url('/assets/distance-dragon-merit-g2.png');--od-badge-crop-size:auto 97.635036%;--od-badge-crop-position:29.104176% 45.061728%;}
.od-earned-badge--distance-dragon-merit-g3{--od-badge-image:url('/assets/distance-dragon-merit-g3.png');--od-badge-crop-size:auto 97.714286%;--od-badge-crop-position:24.589100% 36.363636%;}
.od-earned-badge--clean-trail-merit-g2{--od-badge-image:url('/assets/clean-trail-merit-g2.png');--od-badge-crop-size:auto 106.440318%;--od-badge-crop-position:51.734761% 45.387150%;}
.od-earned-badge--clean-trail-merit-g3{--od-badge-image:url('/assets/clean-trail-merit-g3.png');--od-badge-crop-size:auto 103.068493%;--od-badge-crop-position:39.193144% 1.785714%;}
.od-earned-badge--metronome-merit-g2{--od-badge-image:url('/assets/metronome-merit-g2.png');--od-badge-crop-size:auto 103.598990%;--od-badge-crop-position:50.000000% -3.944252%;}
.od-earned-badge--metronome-merit-g3{--od-badge-image:url('/assets/metronome-merit-g3.png');--od-badge-crop-size:auto 105.785589%;--od-badge-crop-position:48.009567% 22.296476%;}

/* Grade effects are distinct from the inherited holographic foil. Never animate frame size. */
.od-earned-badge.is-graded{clip-path:none;background-image:none;overflow:visible;--od-merit-color:#51dfff}
.od-earned-badge.is-graded .od-badge-drawing{z-index:1}
.od-earned-badge.is-graded.merit-hunter{--od-merit-color:#ff5a0b}
.od-merit-aura,.od-merit-aura>i,.od-merit-glow{position:absolute;inset:0;pointer-events:none}
.od-merit-aura{z-index:0;filter:drop-shadow(0 -2px 2px var(--od-merit-color)) drop-shadow(0 0 3px var(--od-merit-color));animation:od-merit-burn 2.8s ease-in-out infinite}
.od-merit-aura>i,.od-merit-glow{mask-image:var(--od-badge-image);-webkit-mask-image:var(--od-badge-image);mask-size:var(--od-badge-crop-size);-webkit-mask-size:var(--od-badge-crop-size);mask-position:var(--od-badge-crop-position);-webkit-mask-position:var(--od-badge-crop-position);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}
.od-merit-aura>i{background:conic-gradient(from 0deg,transparent,var(--od-merit-color),#eaffff,var(--od-merit-color),transparent,var(--od-merit-color));background-size:120% 120%;animation:od-merit-flow 4s linear infinite}
.od-merit-glow{z-index:2;mix-blend-mode:screen;background:radial-gradient(ellipse at 50% 61%,#b6f8ffcc,transparent 23%);animation:od-merit-pulse 2.4s ease-in-out infinite}
.merit-hunter .od-merit-glow{background:radial-gradient(ellipse at 38% 56%,#ffdd7ddd,transparent 9%),radial-gradient(ellipse at 62% 56%,#ffdd7ddd,transparent 9%)}
.merit-clean_trail .od-merit-glow{background:radial-gradient(ellipse at 35% 45%,#bffaffdd,transparent 10%),radial-gradient(ellipse at 65% 45%,#bffaffdd,transparent 10%)}
.od-merit-flames{position:absolute;inset:0;z-index:3;pointer-events:none}
.od-merit-flames>i{position:absolute;left:32%;top:46%;width:15%;height:13%;clip-path:polygon(0 65%,10% 36%,24% 56%,23% 0,42% 29%,49% 62%,67% 18%,68% 68%,100% 100%,42% 91%,13% 82%);background:linear-gradient(0deg,#fff1a7 0%,#ffbd38 28%,#ff5a09 48%,#ff250000 84%);background-size:100% 150%;filter:drop-shadow(0 0 2px #ff5700);animation:od-merit-flame .75s ease-in-out infinite alternate;transform-origin:50% 100%;opacity:.85}
.od-merit-flames>i+i{left:53%;transform:scaleX(-1);animation-delay:-.35s}
@keyframes od-merit-flame{from{background-position:0 100%;opacity:.5}to{background-position:0 40%;opacity:.95}}
@keyframes od-merit-pulse{0%,100%{opacity:.3}50%{opacity:.9}}
@keyframes od-merit-burn{0%,100%{opacity:.55;filter:drop-shadow(0 -1px 2px var(--od-merit-color)) drop-shadow(0 0 2px var(--od-merit-color))}50%{opacity:1;filter:drop-shadow(0 -3px 3px var(--od-merit-color)) drop-shadow(0 0 4px var(--od-merit-color))}}
@keyframes od-merit-flow{0%,100%{background-position:0% 0%}50%{background-position:100% 100%}}
@media(prefers-reduced-motion:reduce){.od-merit-aura,.od-merit-aura>i,.od-merit-glow,.od-merit-flames>i{animation:none!important}.od-merit-glow{opacity:.45}.od-merit-aura{opacity:.55}}
