@font-face{font-family:LXGW WenKai GB;src:url(/m/fonts/lxgw-wenkai-gb-hsk.woff2)format("woff2");font-display:swap;font-weight:400}html,body{background:#f7f0de}[data-mobile-root]{--bg:#f7f0de;--card:#fff;--ink:#1c1813;--ink-2:#6b5f44;--ink-3:#94815a;--line:#e9dec5;--jade:var(--accent-run,#c0850f);--jade-soft:color-mix(in srgb,var(--jade)10%,transparent);--gold-pop:var(--pop-run,#f2c14e);--gold-deep:color-mix(in srgb,var(--jade)62%,#000);--vermillion:#b5322a;--m-content-max:680px;--m-sans:-apple-system,BlinkMacSystemFont,system-ui,var(--font-dm-sans),"Helvetica Neue",sans-serif;--m-serif:var(--font-dm-serif),"Noto Serif SC",serif;--m-serif-sc:"LXGW WenKai GB","Kaiti SC","STKaiti","KaiTi","楷体",var(--font-noto-serif-sc),"Songti SC",serif;--m-mono:ui-monospace,"SF Mono",Menlo,var(--font-jetbrains-mono),Consolas,monospace;--background:#f7f0de;--foreground:#1c1813;--card-foreground:#1c1813;--popover:#fff;--popover-foreground:#1c1813;--primary:#1c1813;--primary-foreground:#fff;--secondary:#f7f0de;--secondary-foreground:#1c1813;--muted:#f7f0de;--muted-foreground:#94815a;--accent:color-mix(in srgb,var(--jade)12%,transparent);--accent-foreground:var(--gold-deep);--destructive:#b5322a;--border:#e9dec5;--input:#e9dec5;--ring:var(--jade);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--m-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}[data-mobile-root] *,[data-mobile-root] :before,[data-mobile-root] :after{box-sizing:border-box}[data-mobile-root] button{font-family:inherit}[data-mobile-root] .m-no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}[data-mobile-root] .m-no-scrollbar::-webkit-scrollbar{display:none}[data-mobile-root] .m-daily-photo-background{position:absolute;inset:0}[data-mobile-root] .m-daily-photo-background__layer{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}[data-mobile-root] .m-daily-photo-background__layer.is-current{opacity:1}[data-mobile-root] .m-daily-photo-background__layer.is-loading,[data-mobile-root] .m-daily-photo-background__layer.is-fading{z-index:1;opacity:0}[data-mobile-root] .m-daily-photo-background__layer.is-fading{opacity:1;transition:opacity .2s ease-out}@media (prefers-reduced-motion:reduce){[data-mobile-root] .m-daily-photo-background__layer{transition:none}}[data-mobile-root] .m-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px #00000005,0 1px 3px #14130f0a,0 8px 24px #14130f0a}[data-mobile-root] .m-btn{height:50px;font-family:var(--m-sans);letter-spacing:-.1px;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;transition:transform .12s,background .15s,opacity .15s;display:inline-flex}[data-mobile-root] .m-btn:active{transform:scale(.98)}[data-mobile-root] .m-btn-primary{background:var(--gold-pop);color:#2a1e08}[data-mobile-root] .m-btn-primary:hover{background:var(--jade)}[data-mobile-root] .m-btn-secondary{background:var(--bg);color:var(--ink);border:1px solid var(--line)}[data-mobile-root] .m-btn-secondary:hover{background:#ece6d8}[data-mobile-root] .m-btn-light{color:var(--ink);height:42px;font-family:var(--m-sans);cursor:pointer;background:#fffffff2;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;transition:transform .12s;display:inline-flex}[data-mobile-root] .m-btn-light:active{transform:scale(.98)}[data-mobile-root] .m-btn-gold{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-run-dark,#e0ad36)85%,#000),color-mix(in srgb,var(--accent-run-dark,#e0ad36)52%,#000));color:#fdf7e8;width:100%;height:56px;font-family:var(--font-nunito),var(--m-sans);letter-spacing:.3px;cursor:pointer;box-shadow:0 8px 20px color-mix(in srgb,var(--accent-run-dark,#6e480a)42%,transparent);border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:800;transition:transform .13s cubic-bezier(.2,.8,.2,1),background .18s,box-shadow .15s,filter .15s;display:inline-flex}[data-mobile-root] .m-btn-gold:hover{filter:brightness(1.05)}[data-mobile-root] .m-btn-gold:active{box-shadow:0 4px 12px color-mix(in srgb,var(--accent-run-dark,#6e480a)40%,transparent);transform:scale(.975)}[data-mobile-root] .m-btn-gold:disabled{cursor:default}[data-mobile-root] .m-btn-gold.is-saved{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-run-dark,#e0ad36)52%,#000),color-mix(in srgb,var(--accent-run-dark,#e0ad36)38%,#000))}[data-mobile-root] .m-iconbtn{background:var(--card);border:1px solid var(--line);cursor:pointer;width:38px;height:38px;color:var(--ink);-webkit-backdrop-filter:blur(8px);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:inline-flex}[data-mobile-root] .m-iconbtn:hover{background:var(--jade-soft)}[data-mobile-root] .m-tag{letter-spacing:.4px;text-transform:uppercase;background:var(--jade-soft);color:var(--jade);border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:600;display:inline-block}.m-stage{background:var(--bg);justify-content:center;align-items:stretch;min-height:100dvh;display:flex}@media (min-width:768px) and (hover:hover) and (pointer:fine){.m-stage:not([data-native]){background:#efe9dc;align-items:center;padding:32px 0}.m-frame:not([data-native]){border:1px solid #d8d2c4;border-radius:44px;width:390px;height:844px;min-height:0;box-shadow:0 30px 80px #14130f2e,0 8px 24px #14130f14}}.m-pinyin-host{--background:transparent;--foreground:#fff;--card:#ffffff0f;--card-foreground:#fff;--primary:var(--gold-pop);--primary-foreground:#2a1e08;--secondary:#ffffff0f;--secondary-foreground:#fff;--muted:#ffffff0f;--muted-foreground:#ffffff80;--accent:color-mix(in srgb,var(--gold-pop)16%,transparent);--accent-foreground:var(--gold-pop);--border:#ffffff24;--input:#ffffff24;--ring:var(--jade);font-family:var(--m-sans);color:#fff}.m-pinyin-host [data-slot=card]{background:var(--card);border:1px solid var(--border);--tw-ring-color:transparent;border-radius:16px;box-shadow:0 8px 24px #00000047}.m-pinyin-host .border-violet-600,.m-pinyin-host .dark\:border-violet-500{border-color:var(--jade)!important}.m-pinyin-host .bg-violet-600,.m-pinyin-host .dark\:bg-violet-500{background-color:var(--jade)!important}.m-pinyin-host .hover\:bg-violet-600\/90:hover,.m-pinyin-host .dark\:hover\:bg-violet-500\/90:hover{background-color:color-mix(in srgb,var(--jade)90%,transparent)!important}.m-pinyin-host .text-violet-600,.m-pinyin-host .dark\:text-violet-400{color:var(--jade)!important}.m-pinyin-host .bg-foreground{background-color:var(--gold-pop)!important}.m-pinyin-host .border-foreground{border-color:var(--gold-pop)!important}.m-pinyin-host .text-background{color:#2a1e08!important}.m-pinyin-host [class*=ring-violet-500],.m-pinyin-host [class*=ring-violet-400]{--tw-ring-color:color-mix(in srgb,var(--jade)50%,transparent)!important}.m-pinyin-host [style*="Noto Serif SC"]{font-family:var(--m-serif-sc)!important}.m-pinyin-host [data-pinyin-stage-row]{z-index:6;background:var(--bg);margin:-14px -14px 0;padding:14px 14px 8px;position:sticky;top:-14px}.m-pinyin-host [data-pinyin-stage-row]:after{content:"";background:linear-gradient(to bottom,var(--bg),#f7f0de00);pointer-events:none;height:14px;position:absolute;bottom:-14px;left:0;right:0}.m-pinyin-host [data-pinyin-actions]{z-index:5;padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px));background:var(--bg);margin:4px -14px -14px;position:sticky;bottom:-14px}.m-pinyin-host [data-pinyin-actions]:before{content:"";background:linear-gradient(to bottom,#f7f0de00,var(--bg));pointer-events:none;height:16px;position:absolute;top:-16px;left:0;right:0}.m-pinyin-host [data-pinyin-actions]>div{margin-top:0}[data-mobile-root] .m-audio-playing{color:var(--jade);animation:1.1s ease-in-out infinite m-audio-pulse}@keyframes m-audio-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--jade)28%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--jade)16%,transparent)}}@media (prefers-reduced-motion:reduce){[data-mobile-root] .m-audio-playing{box-shadow:0 0 0 4px color-mix(in srgb,var(--jade)20%,transparent);animation:none}}[data-mobile-root] .m-audio-bar{background:var(--vermillion);transform-origin:50%;border-radius:1.5px;width:3px;height:18px;animation:.9s ease-in-out infinite m-audio-bar;display:inline-block}@keyframes m-audio-bar{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){[data-mobile-root] .m-audio-bar{animation:none;transform:scaleY(.7)}}[data-mobile-root] .m-fade-in{animation:.2s both m-fade-in}[data-mobile-root] .m-pop-in{animation:.26s cubic-bezier(.2,.9,.25,1) both m-pop-in}@keyframes m-fade-in{0%{opacity:0}to{opacity:1}}@keyframes m-pop-in{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:none}}@keyframes m-slash-across{0%{opacity:0;transform:translate(340px,-136px)rotate(-22deg)}14%{opacity:1}84%{opacity:1}to{opacity:0;transform:translate(-340px,136px)rotate(-22deg)}}@keyframes m-splash-mark-in{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes m-splash-cut-top{0%,32%{transform:translate(0)}to{transform:translate(-2px,-2.3px)}}@keyframes m-splash-cut-bottom{0%,32%{transform:translate(0)}to{transform:translate(2px,2.3px)}}@keyframes m-splash-glint{0%{opacity:0;transform:translate(57px,-22.8px)rotate(-22deg)}16%{opacity:1}84%{opacity:1}to{opacity:0;transform:translate(-57px,22.8px)rotate(-22deg)}}@keyframes m-splash-word{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.m-splash-mark{animation:.55s cubic-bezier(.2,.8,.2,1) both m-splash-mark-in}.m-splash-half-top{animation:.6s cubic-bezier(.2,.8,.2,1) .1s both m-splash-cut-top;transform:translate(-2px,-2.3px)}.m-splash-half-bottom{animation:.6s cubic-bezier(.2,.8,.2,1) .1s both m-splash-cut-bottom;transform:translate(2px,2.3px)}.m-splash-glint{animation:.55s ease-in-out .14s both m-splash-glint}.m-splash-word{animation:.5s ease-out .55s both m-splash-word}@media (prefers-reduced-motion:reduce){.m-splash-mark,.m-splash-half-top,.m-splash-half-bottom,.m-splash-word{animation:none}.m-splash-glint{display:none}}@keyframes m-dissolve{0%,28%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(4px);transform:scale(1.05)}}@keyframes m-word-in{0%{opacity:0;filter:blur(2px);transform:scale(.86)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes m-dismiss{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(1.5px);transform:translateY(-10px)scale(1.03)}}[data-mobile-root] .m-dial-halo{animation:3.4s ease-in-out infinite m-dial-halo}[data-mobile-root] .m-dial-ring{animation:3.4s ease-in-out infinite m-dial-ring}@keyframes m-dial-halo{0%,to{opacity:.32;transform:scale(.96)}50%{opacity:.6;transform:scale(1.06)}}@keyframes m-dial-ring{0%,to{opacity:.7}50%{opacity:1}}@media (prefers-reduced-motion:reduce){[data-mobile-root] .m-dial-halo,[data-mobile-root] .m-dial-ring{animation:none}}[data-mobile-root] .m-checkin-stamped{animation:.45s cubic-bezier(.2,1.4,.4,1) m-checkin-stamp}@keyframes m-checkin-stamp{0%{opacity:0;transform:scale(1.6)rotate(-8deg)}55%{opacity:1;transform:scale(.94)rotate(1deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){[data-mobile-root] .m-checkin-stamped{animation:none}}[data-mobile-root] .m-checkin-reveal{animation:.6s ease-out m-checkin-reveal}@keyframes m-checkin-reveal{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){[data-mobile-root] .m-checkin-reveal{animation:none}}[data-mobile-root] .m-combo-badge{border:1px solid color-mix(in srgb,var(--gold-pop)70%,white 10%);color:var(--gold-pop);-webkit-backdrop-filter:blur(10px);transform-origin:bottom;will-change:transform;background:#141009e0;border-radius:999px;align-items:baseline;gap:6px;padding:7px 11px;animation:.44s cubic-bezier(.2,1.45,.35,1) both m-combo-jump;display:inline-flex;box-shadow:0 8px 24px #00000059,0 0 18px #e0ad3633}[data-mobile-root] .m-combo-badge span{letter-spacing:1.3px;font-size:10px;font-weight:800}[data-mobile-root] .m-combo-badge strong{font-size:17px;font-weight:900}@keyframes m-combo-jump{0%{opacity:1;transform:translateY(0)scale(1)}38%{opacity:1;transform:translateY(-11px)scale(1.12)}68%{opacity:1;transform:translateY(2px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){[data-mobile-root] .m-combo-badge{animation:none}}.m-frame{background:var(--bg);width:100%;min-height:100dvh;position:relative;overflow:hidden}.m-landscape-guard{display:none}@media screen and (orientation:landscape) and (max-height:500px) and (pointer:coarse){.m-landscape-guard{z-index:90;text-align:center;background:var(--bg);color:var(--ink);padding:max(env(safe-area-inset-top),20px)max(env(safe-area-inset-right),28px)max(env(safe-area-inset-bottom),20px)max(env(safe-area-inset-left),28px);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.m-landscape-guard__icon{font-size:40px;line-height:1;transform:rotate(90deg)}.m-landscape-guard__title{font-family:var(--m-serif,var(--m-sans));color:var(--ink);margin:0;font-size:22px;font-weight:700}.m-landscape-guard__body{color:var(--ink-2);max-width:360px;margin:0;font-size:15px;line-height:1.6}}.badge-page-header{padding:max(56px,calc(env(safe-area-inset-top,0px) + 10px))14px 12px;border-bottom:1px solid var(--line);align-items:center;gap:12px;display:flex}.badge-page-header>div{flex-direction:column;gap:2px;display:flex}.badge-page-header strong{color:var(--ink);font-size:15px}.badge-page-header span{color:var(--ink-3);font-size:11px}.badge-page-scroll{padding-top:18px;padding-bottom:calc(36px + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.badge-offline{color:var(--ink-2);background:#ffefc98c;border:1px solid #b57e3d4d;border-radius:12px;margin-bottom:16px;padding:10px 12px;font-size:11px}.badge-loading{text-align:center;color:var(--ink-3);padding:80px 16px;font-size:13px}.badge-loading--error p{margin:0 0 14px}.badge-loading--error small{color:var(--ink-3);margin:-6px 0 14px;display:block}.badge-loading--error button{width:auto;min-width:120px;padding-inline:20px}.badge-series{margin-bottom:28px}.badge-series>h2{color:var(--ink-3);font-family:var(--m-mono);letter-spacing:1.5px;text-transform:uppercase;margin:0 2px 12px;font-size:10.5px;font-weight:700}.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.badge-tile{border:1px solid var(--line);background:color-mix(in srgb,var(--paper)82%,transparent);min-width:0;color:var(--ink);text-align:center;border-radius:16px;padding:10px 7px 9px;font-family:inherit;box-shadow:0 6px 20px #162f270d}.badge-tile img{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 5px 5px #18272129);width:100%;display:block}.badge-tile.is-locked img{filter:grayscale()opacity(.42)}.badge-tile strong{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;line-height:1.25;display:block;overflow:hidden}.badge-tile span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;display:block;overflow:hidden}.badge-progress{background:#1e41381f;border-radius:4px;height:3px;margin:7px 3px 0;overflow:hidden}.badge-progress i{border-radius:inherit;background:var(--jade);height:100%;display:block}.badge-detail-page{z-index:48;color:var(--ink);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.badge-detail-header{z-index:5;padding:max(54px,calc(env(safe-area-inset-top,0px) + 10px))14px 8px;flex-shrink:0;grid-template-columns:38px 1fr 38px;align-items:center;display:grid;position:relative}.badge-detail-header>strong{color:var(--ink);text-align:center;font-size:15px;font-weight:800}.badge-detail-scroll{z-index:1;padding:2px 20px calc(30px + env(safe-area-inset-bottom,0px));flex:1;position:relative;overflow-y:auto}.badge-detail-offline{color:var(--ink-3);text-align:center;margin:4px 0 12px;font-size:10px}.badge-detail-hero{place-items:center;height:min(310px,42dvh);min-height:250px;display:grid;position:relative;overflow:hidden}.badge-detail-glow{aspect-ratio:1;background:radial-gradient(circle,color-mix(in srgb,var(--gold-pop)19%,transparent)0%,color-mix(in srgb,var(--gold-pop)8%,transparent)46%,transparent 72%);filter:blur(2px);border-radius:50%;width:min(78%,292px);position:absolute}.badge-detail-orbit{aspect-ratio:1;border:1px solid color-mix(in srgb,var(--gold-pop)16%,transparent);width:min(68%,250px);box-shadow:0 0 0 18px color-mix(in srgb,var(--gold-pop)2.8%,transparent),0 0 0 42px color-mix(in srgb,var(--gold-pop)1.8%,transparent);border-radius:50%;position:absolute}.badge-detail-hero img{z-index:2;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 18px 18px #00000057);width:min(73%,270px);animation:.55s cubic-bezier(.2,.84,.24,1.08) both badge-detail-arrive;position:relative}.badge-detail-hero.is-locked img{filter:grayscale()opacity(.4)drop-shadow(0 14px 16px #00000047)}.badge-detail-status{border:1px solid var(--line);width:fit-content;color:var(--ink-2);font-family:var(--m-mono);letter-spacing:.6px;text-transform:uppercase;background:#ffffff0e;border-radius:999px;justify-content:center;align-items:center;gap:7px;margin:-3px auto 17px;padding:7px 11px;font-size:9.5px;font-weight:700;display:flex}.badge-detail-status i{background:var(--ink-3);border-radius:50%;width:6px;height:6px}.badge-detail-status.is-earned{border-color:color-mix(in srgb,var(--gold-pop)30%,transparent);background:color-mix(in srgb,var(--gold-pop)9%,transparent);color:color-mix(in srgb,var(--gold-pop)76%,white)}.badge-detail-status.is-earned i{background:var(--gold-pop);box-shadow:0 0 9px color-mix(in srgb,var(--gold-pop)80%,transparent)}.badge-detail-copy{text-align:center;max-width:330px;margin:0 auto 24px}.badge-detail-copy>span{color:var(--ink-3);font-family:var(--m-mono);letter-spacing:1.45px;text-transform:uppercase;margin-bottom:7px;font-size:9.5px;font-weight:700;display:block}.badge-detail-copy h1{color:var(--ink);font-family:var(--m-serif);letter-spacing:-.4px;margin:0;font-size:32px;font-weight:500;line-height:1.08}.badge-detail-copy p{color:var(--ink-2);margin:10px auto 0;font-size:13px;line-height:1.55}.badge-detail-requirements{border:1px solid var(--line);background:#ffffff0e;border-radius:18px;max-width:360px;margin:0 auto;overflow:hidden;box-shadow:0 12px 32px #00000024}.badge-detail-requirements>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 15px 11px;display:flex}.badge-detail-requirements>header span{color:var(--ink);font-size:12px;font-weight:800}.badge-detail-requirements>header strong{color:var(--jade);font-family:var(--m-mono);letter-spacing:.5px;text-transform:uppercase;font-size:9px}.badge-detail-requirement{padding:13px 15px 15px}.badge-detail-requirement+.badge-detail-requirement{border-top:1px solid var(--line)}.badge-detail-requirement>div:first-child{justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;display:flex}.badge-detail-requirement span{color:var(--ink-2);font-size:11px}.badge-detail-requirement strong{color:var(--ink);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10px}.badge-detail-progress{background:#ffffff17;border-radius:999px;height:5px;overflow:hidden}.badge-detail-progress i{border-radius:inherit;background:linear-gradient(90deg,var(--jade),var(--gold-pop));height:100%;box-shadow:0 0 10px color-mix(in srgb,var(--gold-pop)30%,transparent);display:block}.badge-detail-availability{color:var(--ink-3);text-align:center;margin:13px 0 0;font-size:10.5px}.badge-detail-footer{z-index:5;padding:12px 20px calc(16px + env(safe-area-inset-bottom,0px));background:linear-gradient(#0000,#0c0905fa 26%);flex-shrink:0;position:relative}.badge-detail-share{background:var(--gold-pop);color:#241a08;width:100%;height:49px;font:800 13px var(--m-sans);box-shadow:0 10px 28px color-mix(in srgb,var(--gold-pop)18%,transparent);border:0;border-radius:15px}.badge-detail-share:disabled{opacity:.58}.badge-detail-message{color:var(--ink-3);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.badge-detail-message strong{color:var(--ink);font-family:var(--m-serif);font-size:24px;font-weight:500}.badge-detail-message .m-btn{width:auto;min-width:140px;margin-top:6px}@keyframes badge-detail-arrive{0%{opacity:0;transform:translateY(10px)scale(.88)}}.badge-celebration{z-index:100;background:radial-gradient(circle at 50% 32%,#faebb1fa,#12342cf5 70%);place-items:center;padding:24px;animation:.35s both badge-fade-in;display:grid;position:absolute;inset:0;overflow:hidden}.badge-celebration__glow{background:repeating-conic-gradient(from 0deg,#ffffff47 0 4deg,transparent 4deg 16deg);border-radius:50%;width:340px;height:340px;animation:12s linear infinite badge-rays;position:absolute}.badge-celebration__card{text-align:center;background:#fffbeeed;border:1px solid #ffffff80;border-radius:30px;width:min(100%,370px);padding:26px 22px 22px;animation:.75s cubic-bezier(.2,.9,.2,1.1) both badge-rise;position:relative;box-shadow:0 30px 90px #0000004d}.badge-celebration__eyebrow{letter-spacing:2px;color:#9a6337!important;font:700 11px var(--m-mono)!important;margin:0 0 4px!important}.badge-celebration__image{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 15px 12px #112b233b);width:min(72vw,285px);animation:2.8s ease-in-out infinite badge-float}.badge-celebration h2{color:#173d36;font-family:var(--m-serif);margin:-6px 0 7px;font-size:32px}.badge-celebration__card>p:not(.badge-celebration__eyebrow){color:#596a63;max-width:300px;margin:0 auto 22px;font-size:13.5px;line-height:1.5}.badge-celebration__actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.badge-celebration__actions button{color:#173d36;font:700 13px var(--m-sans);background:0 0;border:1px solid #173d362e;border-radius:13px;padding:12px}.badge-celebration__actions button:last-child{color:#fff;background:#1f6a5e;border-color:#1f6a5e}@keyframes badge-fade-in{0%{opacity:0}}@keyframes badge-rise{0%{opacity:0;transform:translateY(34px)scale(.86)}}@keyframes badge-rays{to{transform:rotate(360deg)}}@keyframes badge-float{50%{transform:translateY(-8px)rotate(1deg)}}@media (prefers-reduced-motion:reduce){.badge-detail-hero img{animation:none}.badge-celebration,.badge-celebration__card{animation:.2s both badge-fade-in}.badge-celebration__glow,.badge-celebration__image{animation:none}}
