.achievement-stamp{--stamp-accent:#31d7ff;--stamp-accent-rgb:49,215,255;--stamp-size:168px;--stamp-cut:25%;--stamp-inner-cut:25%;--stamp-inner-inset:7.5%;--stamp-ring-padding:5%;--stamp-pattern-opacity:.12;--stamp-pattern-size:18px;--stamp-serial-top:10%;--stamp-serial-size:.049;--stamp-icon-scale:1.19;--stamp-icon-x:0%;--stamp-icon-y:-1%;--stamp-icon-stroke:2.05;--stamp-ribbon-bottom:18.5%;--stamp-ribbon-height:18.5%;--stamp-ribbon-size:.068;--stamp-status-bottom:15%;--stamp-status-size:.043;--stamp-shadow-y:10px;--stamp-shadow-blur:16px;--stamp-glow:18px;position:relative;width:min(100%,var(--stamp-size));height:auto;aspect-ratio:1;border:0;border-radius:0;color:#eff8ff;background:transparent;display:block;place-items:normal;font-size:inherit;flex:0 0 auto;transform:none;isolation:isolate}.achievement-stamp--violet{--stamp-accent:#b26bff;--stamp-accent-rgb:178,107,255}.achievement-stamp--cyan-blue{--stamp-accent:#39c6ff;--stamp-accent-rgb:57,198,255}.achievement-stamp--blue-violet{--stamp-accent:#7c82ff;--stamp-accent-rgb:124,130,255}.achievement-stamp--violet-blue{--stamp-accent:#8b7cff;--stamp-accent-rgb:139,124,255}.achievement-stamp--amber{--stamp-accent:#f4934c;--stamp-accent-rgb:244,147,76}.achievement-stamp--amber-gold{--stamp-accent:#f6b94a;--stamp-accent-rgb:246,185,74}.achievement-stamp--detail{--stamp-size:230px}.achievement-stamp--unlock{--stamp-size:238px}.achievement-stamp--mini{--stamp-size:38px}.achievement-stamp__outer-bezel{position:absolute;inset:0;overflow:visible;background:linear-gradient(145deg,rgba(231,244,250,.58),rgba(80,99,112,.75) 18%,#17242f 48%,rgba(91,112,126,.76) 78%,#0a121a),#1b2b37;clip-path:polygon(var(--stamp-cut) 0,calc(100% - var(--stamp-cut)) 0,100% var(--stamp-cut),100% calc(100% - var(--stamp-cut)),calc(100% - var(--stamp-cut)) 100%,var(--stamp-cut) 100%,0 calc(100% - var(--stamp-cut)),0 var(--stamp-cut));filter:drop-shadow(0 var(--stamp-shadow-y) var(--stamp-shadow-blur) rgba(0,0,0,.34))}.achievement-stamp__outer-bezel:before{content:"";position:absolute;inset:2px;background:linear-gradient(145deg,rgba(103,232,249,.48),rgba(103,232,249,.06) 36%,rgba(2,9,15,.8) 70%,rgba(103,232,249,.2));clip-path:inherit}.achievement-stamp__inner-ring{position:absolute;z-index:1;inset:var(--stamp-inner-inset);padding:var(--stamp-ring-padding);background:linear-gradient(145deg,#718391,#192833 36%,#080f16 64%,#506674);clip-path:polygon(var(--stamp-inner-cut) 0,calc(100% - var(--stamp-inner-cut)) 0,100% var(--stamp-inner-cut),100% calc(100% - var(--stamp-inner-cut)),calc(100% - var(--stamp-inner-cut)) 100%,var(--stamp-inner-cut) 100%,0 calc(100% - var(--stamp-inner-cut)),0 var(--stamp-inner-cut));box-shadow:inset 1px 1px 0 hsla(0,0%,100%,.22),inset -2px -2px 5px rgba(0,0,0,.72)}.achievement-stamp__inner-panel{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 34% 25%,hsla(0,0%,100%,.1),transparent 26%),linear-gradient(155deg,rgba(33,48,59,.94),rgba(5,12,18,.98));clip-path:inherit;box-shadow:inset 0 0 0 1px rgba(160,185,202,.15),inset 0 10px 20px hsla(0,0%,100%,.025),inset 0 -14px 24px rgba(0,0,0,.42)}.achievement-stamp--progress.is-designed .achievement-stamp__inner-panel{background:radial-gradient(circle at 50% 43%,rgba(var(--stamp-accent-rgb),.11),transparent 54%),linear-gradient(155deg,rgba(34,49,61,.95),rgba(5,12,18,.98))}.achievement-stamp--unlocked.is-designed .achievement-stamp__inner-panel{background:radial-gradient(circle at 50% 44%,rgba(var(--stamp-accent-rgb),.34),transparent 58%),linear-gradient(155deg,rgba(var(--stamp-accent-rgb),.14),rgba(5,12,18,.96));box-shadow:inset 0 0 0 1px rgba(var(--stamp-accent-rgb),.45),inset 0 8px 18px hsla(0,0%,100%,.045),0 0 18px rgba(var(--stamp-accent-rgb),.16)}.achievement-stamp.is-placeholder .achievement-stamp__outer-bezel{filter:grayscale(.4) drop-shadow(0 8px 13px rgba(0,0,0,.3))}.achievement-stamp.is-placeholder .achievement-stamp__inner-panel{background:linear-gradient(155deg,#202b34,#0a1118)}.achievement-stamp__pattern{position:absolute;inset:0;opacity:var(--stamp-pattern-opacity);pointer-events:none;mask-image:radial-gradient(circle,#000 20%,transparent 78%)}.achievement-stamp__pattern--grid{background-image:linear-gradient(rgba(var(--stamp-accent-rgb),.45) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--stamp-accent-rgb),.45) 1px,transparent 1px);background-size:var(--stamp-pattern-size) var(--stamp-pattern-size)}.achievement-stamp__pattern--route{background:radial-gradient(circle at 20% 68%,rgba(var(--stamp-accent-rgb),.7) 0 2px,transparent 2.5px),radial-gradient(circle at 78% 28%,rgba(var(--stamp-accent-rgb),.7) 0 2px,transparent 2.5px),linear-gradient(32deg,transparent 45%,rgba(var(--stamp-accent-rgb),.6) 46% 47%,transparent 48%)}.achievement-stamp__pattern--orbit{background:radial-gradient(circle at 50% 50%,transparent 0 28%,rgba(var(--stamp-accent-rgb),.45) 29% 30%,transparent 31% 45%,rgba(var(--stamp-accent-rgb),.35) 46% 47%,transparent 48%)}.achievement-stamp__pattern--contour{background:repeating-radial-gradient(ellipse at 45% 55%,transparent 0 10px,rgba(var(--stamp-accent-rgb),.45) 11px,transparent 12px 19px)}.achievement-stamp__serial{position:absolute;z-index:3;top:var(--stamp-serial-top);left:50%;color:rgba(211,226,236,.72);font-family:var(--font-geist-mono),monospace;font-size:calc(var(--stamp-size) * var(--stamp-serial-size));letter-spacing:.15em;transform:translateX(-50%);white-space:nowrap}.achievement-stamp__icon-layer{position:absolute;z-index:3;inset:25% 20% 34%;display:grid;place-items:center;transform:translate(var(--stamp-icon-x),var(--stamp-icon-y))}.achievement-stamp__glyph{position:relative;width:54%;height:54%;display:block;color:#81909b;filter:drop-shadow(0 3px 2px rgba(0,0,0,.55));transform:scale(var(--stamp-icon-scale))}.achievement-stamp__glyph>svg:first-child{width:100%;height:100%;stroke-width:var(--stamp-icon-stroke)}.achievement-stamp__glyph>svg:last-child{position:absolute;width:42%;height:42%;right:-23%;top:-19%;stroke-width:2.3}.achievement-stamp__glyph--mail>svg:last-child{right:-24%;top:54%;transform:rotate(-12deg)}.achievement-stamp__glyph--map>svg:last-child{right:-20%;top:60%}.achievement-stamp__glyph--placeholder>svg:last-child{right:-17%;top:58%;width:36%;height:36%}.achievement-stamp__glyph--route-pins{width:67%;height:58%}.achievement-stamp__glyph--route-pins>svg{position:absolute;stroke-width:var(--stamp-icon-stroke)}.achievement-stamp__glyph--route-pins>svg:first-child{left:4%;top:19%;width:92%;height:72%}.achievement-stamp__glyph--route-pins>svg:nth-child(2){left:-9%;top:38%;width:36%;height:36%}.achievement-stamp__glyph--route-pins>svg:nth-child(3){right:-9%;top:-2%;width:36%;height:36%}.achievement-stamp__glyph--footprints{width:64%;height:62%}.achievement-stamp__glyph--footprints>svg{position:absolute;stroke-width:var(--stamp-icon-stroke)}.achievement-stamp__glyph--footprints>svg:first-child{left:-8%;bottom:-7%;width:116%;height:62%;opacity:.5}.achievement-stamp__glyph--footprints>svg:nth-child(2){left:12%;top:-12%;width:76%;height:88%;transform:rotate(-13deg)}.achievement-stamp__glyph--map-gate{width:65%;height:62%}.achievement-stamp__glyph--map-gate>svg{position:absolute;stroke-width:var(--stamp-icon-stroke)}.achievement-stamp__glyph--map-gate>svg:first-child{inset:0;width:100%;height:100%;filter:drop-shadow(0 0 4px rgba(var(--stamp-accent-rgb),.26))}.achievement-stamp__glyph--map-gate>svg:nth-child(2){right:auto;left:76%;top:-18.9%;width:34%;height:34%;opacity:.94}.achievement-stamp__glyph--stamp-stack{width:65%;height:62%}.achievement-stamp__glyph--stamp-stack>svg{position:absolute;stroke-width:var(--stamp-icon-stroke)}.achievement-stamp__glyph--stamp-stack>svg:first-child{left:-3%;top:3%;width:100%;height:100%;opacity:.66;transform:rotate(-7deg)}.achievement-stamp__glyph--stamp-stack>svg:nth-child(2){right:-4%;top:-9%;width:57%;height:57%;transform:rotate(8deg)}.achievement-stamp__glyph--orbit-globe{width:66%;height:66%}.achievement-stamp__glyph--orbit-globe>svg{position:absolute;stroke-width:var(--stamp-icon-stroke)}.achievement-stamp__glyph--orbit-globe>svg:first-child{inset:-8%;width:116%;height:116%;opacity:.72;transform:rotate(-15deg)}.achievement-stamp__glyph--orbit-globe>svg:nth-child(2){left:18%;top:18%;width:64%;height:64%}.achievement-stamp__glyph--orbit-globe>svg:nth-child(3){right:-13%;top:-12%;width:34%;height:34%}.achievement-stamp__glyph--ocean-arc{width:66%;height:62%}.achievement-stamp__glyph--ocean-arc>svg{position:absolute;stroke-width:var(--stamp-icon-stroke)}.achievement-stamp__glyph--ocean-arc>svg:first-child{left:-5%;bottom:-7%;width:110%;height:56%;opacity:.62}.achievement-stamp__glyph--ocean-arc>svg:nth-child(2){right:5%;top:-7%;width:72%;height:72%;transform:rotate(-7deg)}.achievement-stamp__glyph--compass{width:64%;height:64%}.achievement-stamp__glyph--compass>svg{width:100%;height:100%;stroke-width:var(--stamp-icon-stroke)}.achievement-stamp__glyph--compass>span{position:absolute;inset:-10%;pointer-events:none}.achievement-stamp__glyph--compass i{position:absolute;color:currentColor;font-size:calc(var(--stamp-size) * .038);font-style:normal;text-shadow:0 0 5px rgba(var(--stamp-accent-rgb),.28);transform:translate(-50%,-50%)}.achievement-stamp__glyph--compass i:first-child{left:50%;top:0}.achievement-stamp__glyph--compass i:nth-child(2){left:97%;top:35%}.achievement-stamp__glyph--compass i:nth-child(3){left:79%;top:90%}.achievement-stamp__glyph--compass i:nth-child(4){left:21%;top:90%}.achievement-stamp__glyph--compass i:nth-child(5){left:3%;top:35%}.achievement-stamp__glyph--hand-globe{width:66%;height:66%}.achievement-stamp__glyph--hand-globe>svg{position:absolute;stroke-width:var(--stamp-icon-stroke)}.achievement-stamp__glyph--hand-globe>svg:first-child{left:-1%;bottom:-9%;width:94%;height:72%;transform:rotate(-8deg)}.achievement-stamp__glyph--hand-globe>svg:nth-child(2){right:2%;top:-13%;width:62%;height:62%;filter:drop-shadow(0 0 5px rgba(var(--stamp-accent-rgb),.3))}.achievement-stamp__glyph--map-layers{width:65%;height:63%}.achievement-stamp__glyph--map-layers>svg{position:absolute;stroke-width:var(--stamp-icon-stroke)}.achievement-stamp__glyph--map-layers>svg:first-child{inset:0;width:100%;height:100%;opacity:.9}.achievement-stamp__glyph--map-layers>svg:nth-child(2){right:auto;left:76.1%;top:-18.3%;width:34%;height:34%;opacity:.94}.achievement-stamp--progress.is-designed .achievement-stamp__glyph{color:color-mix(in srgb,var(--stamp-accent) 34%,#74838e)}.achievement-stamp--unlocked.is-designed .achievement-stamp__glyph{color:var(--stamp-icon-color,var(--stamp-accent));filter:drop-shadow(0 0 6px rgba(var(--stamp-accent-rgb),.3)) drop-shadow(0 3px 2px rgba(0,0,0,.48))}.achievement-stamp__phase{position:absolute;z-index:3;left:50%;top:60%;color:#66747e;font-family:var(--font-geist-mono),monospace;font-size:calc(var(--stamp-size) * .042);letter-spacing:.16em;transform:translateX(-50%);white-space:nowrap}.achievement-stamp__ribbon{position:absolute;z-index:5;left:11%;right:11%;bottom:var(--stamp-ribbon-bottom);height:var(--stamp-ribbon-height);padding:0 12%;overflow:hidden;color:#e8f2f8;background:linear-gradient(180deg,#42525e,#192630 58%,#0d161e);clip-path:polygon(0 20%,9% 20%,14% 0,86% 0,91% 20%,100% 20%,94% 100%,6% 100%);display:flex;align-items:center;justify-content:center;font-size:calc(var(--stamp-size) * var(--stamp-ribbon-size));font-weight:600;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px #000}.achievement-stamp--unlocked.is-designed .achievement-stamp__ribbon{color:#f5fbff;box-shadow:inset 0 1px 0 rgba(var(--stamp-accent-rgb),.32)}.achievement-stamp__status{position:absolute;z-index:5;left:13%;right:13%;bottom:var(--stamp-status-bottom);overflow:hidden;color:#7f909d;display:flex;align-items:center;justify-content:center;gap:3px;font-family:var(--font-geist-mono),monospace;font-size:calc(var(--stamp-size) * var(--stamp-status-size));text-overflow:ellipsis;white-space:nowrap}.achievement-stamp__status svg{width:11%;height:auto}.achievement-stamp--unlocked.is-designed .achievement-stamp__status{color:var(--stamp-accent);text-shadow:0 0 var(--stamp-glow) rgba(var(--stamp-accent-rgb),.25)}.achievement-stamp__shine{position:absolute;z-index:6;inset:-20%;opacity:0;background:linear-gradient(115deg,transparent 35%,hsla(0,0%,100%,.52) 49%,transparent 61%);transform:translateX(-95%);pointer-events:none}.achievement-stamp--mini .achievement-stamp__phase,.achievement-stamp--mini .achievement-stamp__ribbon,.achievement-stamp--mini .achievement-stamp__serial,.achievement-stamp--mini .achievement-stamp__status{display:none}.achievement-stamp--mini .achievement-stamp__icon-layer{inset:21%}.achievement-stamp--unlocking{animation:achievement-stamp-unlock .82s cubic-bezier(.2,.78,.2,1) both}.achievement-stamp--unlocking .achievement-stamp__inner-panel{animation:achievement-panel-unlock .82s ease-out both}.achievement-stamp--unlocking .achievement-stamp__shine{animation:achievement-shine .76s ease-out 80ms both}.achievement-stamp__unlock-stars{position:absolute;z-index:10;inset:-5%;pointer-events:none}.achievement-stamp__unlock-stars i{position:absolute;color:#f4934c;opacity:0;font-style:normal;animation:achievement-star-pop .62s ease-out .17s both}.achievement-stamp__unlock-stars i:first-child{left:8%;top:22%}.achievement-stamp__unlock-stars i:nth-child(2){left:19%;bottom:13%;animation-delay:.25s}.achievement-stamp__unlock-stars i:nth-child(3){right:8%;top:17%;animation-delay:.32s}.achievement-stamp__unlock-stars i:nth-child(4){right:12%;bottom:22%;animation-delay:.39s}.achievement-stamp__unlock-stars i:nth-child(5){left:48%;top:-1%;animation-delay:.46s}@keyframes achievement-stamp-unlock{0%{transform:scale(.82) rotate(-3deg)}62%{transform:scale(1.04) rotate(2deg)}to{transform:scale(1) rotate(0)}}@keyframes achievement-panel-unlock{0%,34%{filter:grayscale(1)}to{filter:grayscale(0)}}@keyframes achievement-shine{0%,18%{opacity:0;transform:translateX(-95%)}38%{opacity:.8}78%,to{opacity:0;transform:translateX(95%)}}@keyframes achievement-star-pop{0%{opacity:0;transform:translateY(4px) scale(.4)}42%{opacity:1;transform:translateY(-4px) scale(1.1)}to{opacity:0;transform:translateY(-12px) scale(.7)}}.travel-stamp-card.achievement-stamp-card{min-height:232px;padding:12px 10px 13px;border:1px solid rgba(83,214,255,.18);border-radius:4px;background:rgba(5,13,22,.68);display:flex;align-items:center;justify-content:flex-start;gap:5px}.travel-stamp-card.achievement-stamp-card:hover{border-color:rgba(103,232,249,.5);background:rgba(12,28,42,.82)}.travel-stamp-card.achievement-stamp-card.is-unlocked{border-color:rgba(83,214,255,.24);background:rgba(8,18,29,.78)}.achievement-stamp-card__condition{margin-top:0!important;color:#91a6ba!important;font-size:10px!important}.achievement-family-list{display:grid;gap:28px}.achievement-family{min-width:0}.achievement-family>header{margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid rgba(83,214,255,.16)}.achievement-family>header span{color:#6e8798;font-family:var(--font-geist-mono),monospace;font-size:8px;letter-spacing:.18em}.achievement-family>header h2{margin:3px 0 0;font-size:18px;font-weight:500}.achievement-family--journey .travel-stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.achievement-family--continent .travel-stamp-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.achievement-family--completion .travel-stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-detail-modal{display:grid;justify-items:center}.achievement-detail-modal>h2{margin-top:10px}.achievement-detail-encouragement{margin-top:13px;color:#718899;font-size:10px}.achievement-unlock-dialog{width:min(480px,100%);padding:24px 28px 27px}.achievement-unlock-stage{position:relative;width:100%;height:270px;overflow:visible}.achievement-unlock-stamp-shell{position:absolute;z-index:2;left:4px;top:38px;width:194px;height:194px;transition:filter .18s ease,opacity .18s ease}.achievement-unlock-stamp-shell .achievement-stamp{--stamp-size:194px}.achievement-unlock-stamp-shell.is-pending{filter:grayscale(1) brightness(.68);opacity:.7}.achievement-unlock-stamp-shell.is-active{filter:none;opacity:1}.achievement-unlock-bandy{position:absolute;z-index:4;top:28px;right:-2px;width:210px;height:210px;pointer-events:none}.achievement-unlock-bandy .mascot-illustration{--mascot-size:210px!important;width:210px!important;height:210px!important}.achievement-unlock-magic{position:absolute;z-index:6;left:155px;top:132px;width:78px;height:58px;opacity:0;pointer-events:none;transform-origin:right center}.achievement-unlock-magic span{position:absolute;right:0;top:23px;width:72px;height:8px;background:linear-gradient(90deg,#31d7ff,#67e8f9);clip-path:polygon(0 45%,20% 0,39% 58%,58% 12%,77% 62%,100% 42%,78% 82%,57% 48%,38% 100%,18% 55%);filter:drop-shadow(0 0 5px rgba(103,232,249,.72));transform:rotate(-158deg);transform-origin:right center}.achievement-unlock-magic i{position:absolute;z-index:2;color:#f4934c;font-style:normal;text-shadow:0 0 7px rgba(244,147,76,.45)}.achievement-unlock-magic i:first-of-type{left:5px;top:1px}.achievement-unlock-magic i:nth-of-type(2){left:28px;top:39px;font-size:15px}.achievement-unlock-magic i:nth-of-type(3){right:4px;top:4px;font-size:11px}.achievement-unlock-magic i:nth-of-type(4){right:13px;bottom:0;font-size:9px}.achievement-unlock-dialog .stamp-unlock-copy{opacity:0;animation:achievement-copy-in .26s ease-out 1.18s both}.achievement-unlock-dialog .stamp-accept-button{opacity:0;animation:achievement-copy-in .26s ease-out 1.24s both}@keyframes achievement-copy-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.achievement-family--journey .travel-stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.achievement-family--completion .travel-stamp-grid,.achievement-family--continent .travel-stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.achievement-stamp{--stamp-size:142px}.achievement-stamp--detail{--stamp-size:202px}.achievement-stamp--unlock{--stamp-size:210px}.travel-stamp-card.achievement-stamp-card{min-height:202px;padding:8px 5px 10px}.achievement-family--completion .travel-stamp-grid,.achievement-family--continent .travel-stamp-grid,.achievement-family--journey .travel-stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-unlock-dialog{padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.achievement-unlock-stage{height:238px}.achievement-unlock-stamp-shell{left:-5px;top:40px;width:158px;height:158px}.achievement-unlock-stamp-shell .achievement-stamp{--stamp-size:158px}.achievement-unlock-bandy{top:31px;right:-7px;width:174px;height:174px}.achievement-unlock-bandy .mascot-illustration{--mascot-size:174px!important;width:174px!important;height:174px!important}.achievement-unlock-magic{left:116px;top:123px;width:68px;height:50px}.achievement-unlock-magic span{width:62px;filter:drop-shadow(0 0 3px rgba(103,232,249,.65))}}@media (max-width:370px){.achievement-stamp{--stamp-size:132px}.travel-stamp-card.achievement-stamp-card{min-height:192px}}@media (prefers-reduced-motion:reduce){.achievement-stamp--unlocking,.achievement-stamp--unlocking .achievement-stamp__inner-panel{animation:none!important;transform:none!important}.achievement-stamp--unlocking .achievement-stamp__shine,.achievement-stamp__unlock-stars{display:none!important}.achievement-unlock-stamp-shell{filter:none!important;opacity:1!important}.achievement-unlock-bandy{transform:none!important;opacity:1!important}.achievement-unlock-magic{display:none!important}.achievement-unlock-dialog .stamp-accept-button,.achievement-unlock-dialog .stamp-unlock-copy{animation:none!important;opacity:1!important;transform:none!important}}.badge-designer{min-height:100vh;padding:28px;color:#eaf5fb;background:radial-gradient(circle at 62% 34%,rgba(49,215,255,.09),transparent 34%),#071019;font-family:var(--font-geist-sans),sans-serif}.badge-designer__header{max-width:1440px;margin:0 auto 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.badge-designer__header span,.badge-designer__stage-meta span{color:#31d7ff;font-family:var(--font-geist-mono),monospace;font-size:10px;letter-spacing:.18em}.badge-designer__header h1{margin:5px 0 4px;font-size:clamp(25px,3vw,38px);font-weight:560;letter-spacing:-.035em}.badge-designer__header p{margin:0;color:#8298a7;font-size:13px}.badge-designer__actions,.badge-designer__export-actions{display:flex;flex-wrap:wrap;gap:8px}.badge-designer button{min-height:36px;padding:0 13px;border:1px solid #263b49;border-radius:6px;color:#c8d9e3;background:#101d27;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:600 12px var(--font-geist-sans),sans-serif;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.badge-designer button:hover{border-color:#4b748a;background:#152632;transform:translateY(-1px)}.badge-designer button.is-primary{border-color:rgba(49,215,255,.5);color:#061117;background:#31d7ff}.badge-designer__workspace{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(320px,440px) minmax(500px,1fr);gap:18px;align-items:start}.badge-designer__controls,.badge-designer__stage{border:1px solid #1e3340;border-radius:10px;background:rgba(10,22,31,.9);box-shadow:0 18px 50px rgba(0,0,0,.22)}.badge-designer__controls{max-height:calc(100vh - 150px);overflow:auto}.badge-designer__controls details{border-bottom:1px solid #192d39}.badge-designer__controls details:last-child{border-bottom:0}.badge-designer__controls summary{padding:15px 17px;color:#d9e8ef;font-size:12px;font-weight:650;letter-spacing:.02em;cursor:pointer;list-style-position:inside}.badge-control-grid{padding:0 17px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 13px}.badge-color,.badge-control,.badge-field{min-width:0;display:grid;gap:7px}.badge-color>span,.badge-control>span,.badge-field>span{color:#8fa5b4;font-size:11px}.badge-field input,.badge-field select{width:100%;height:35px;padding:0 9px;border:1px solid #263c49;border-radius:5px;outline:0;color:#e8f3f8;background:#0a1720;font:12px var(--font-geist-sans),sans-serif}.badge-field input:focus,.badge-field select:focus{border-color:#31d7ff;box-shadow:0 0 0 2px rgba(49,215,255,.09)}.badge-color{grid-template-columns:auto 34px 1fr;align-items:center}.badge-color>span{grid-column:1/-1}.badge-color input{width:34px;height:30px;padding:2px;border:1px solid #29404d;border-radius:5px;background:#0a1720}.badge-color code{color:#b7c9d3;font:11px var(--font-geist-mono),monospace}.badge-control>span{display:flex;justify-content:space-between;gap:8px}.badge-control b{font-weight:450}.badge-control output{color:#d8e7ed;font:10px var(--font-geist-mono),monospace}.badge-control input[type=range]{width:100%;height:4px;accent-color:#31d7ff;cursor:ew-resize}.badge-designer__stage{min-height:calc(100vh - 150px);padding:18px;position:sticky;top:16px;display:grid;grid-template-rows:auto minmax(460px,1fr) auto 160px;gap:14px}.badge-designer__stage-meta{display:flex;align-items:center;justify-content:space-between}.badge-designer__stage-meta strong{color:#6f8797;font:10px var(--font-geist-mono),monospace}.badge-designer__canvas{min-height:460px;overflow:auto;border:1px solid #1c303b;border-radius:7px;background-color:#09141d;background-image:linear-gradient(45deg,#0c1a24 25%,transparent 0),linear-gradient(-45deg,#0c1a24 25%,transparent 0),linear-gradient(45deg,transparent 75%,#0c1a24 0),linear-gradient(-45deg,transparent 75%,#0c1a24 0);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;display:grid;place-items:center}.badge-designer__export-frame{width:var(--stamp-size);height:var(--stamp-size);position:relative;flex:none}.badge-designer__export-frame .achievement-stamp{width:var(--stamp-size)}.badge-designer__custom-status{position:absolute;z-index:7;left:13%;right:13%;bottom:var(--stamp-status-bottom);color:var(--stamp-accent);display:flex;align-items:center;justify-content:center;font:calc(var(--stamp-size) * var(--stamp-status-size)) var(--font-geist-mono),monospace;text-shadow:0 0 var(--stamp-glow) rgba(var(--stamp-accent-rgb),.25);pointer-events:none}.badge-designer__export-frame .achievement-stamp__status{visibility:hidden}.badge-designer__export-actions{justify-content:flex-end}.badge-designer__payload{min-height:0;display:grid;grid-template-rows:auto 1fr;gap:6px}.badge-designer__payload span{color:#849aa8;font-size:10px}.badge-designer__payload textarea{width:100%;min-height:120px;resize:vertical;padding:10px;border:1px solid #1f3541;border-radius:6px;outline:none;color:#9bb3c1;background:#07121a;font:10px/1.55 var(--font-geist-mono),monospace}@media (max-width:980px){.badge-designer{padding:18px}.badge-designer__header{align-items:flex-start;flex-direction:column}.badge-designer__workspace{grid-template-columns:1fr}.badge-designer__controls{max-height:none}.badge-designer__stage{min-height:760px;position:static}}@media (max-width:560px){.badge-designer{padding:12px}.badge-designer__actions{width:100%}.badge-designer__actions button{flex:1}.badge-control-grid{grid-template-columns:1fr}.badge-designer__stage{padding:12px;grid-template-rows:auto minmax(390px,1fr) auto 150px}.badge-designer__canvas{min-height:390px}}@font-face{font-family:Alimama ShuHeiTi MG;src:url(/fonts/alimama-shuheiti-achievements.woff2) format("woff2");font-display:block;font-style:normal;font-weight:700}.mg-share-card{--safe-x:5cqw;--board-top:14cqw;--map-top:18.0833cqw;--map-height:45.9722cqw;--bandy-scale:30cqw;--bandy-left:4.9444cqw;--bandy-top:-10cqw;--achievement-top:66.0694cqw;--achievement-height:17cqw;--stamps-top:85.9583cqw;--stats-top:102.7222cqw;--brand-top:119.1111cqw;position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;container-type:inline-size;color:#eff8ff;background:radial-gradient(circle at 72% 19%,rgba(49,215,255,.08),transparent 27%),linear-gradient(rgba(49,215,255,.035) 1px,transparent 0),linear-gradient(90deg,rgba(49,215,255,.035) 1px,transparent 0),#050a12;background-size:auto,5cqw 5cqw,5cqw 5cqw,auto;isolation:isolate;font-family:var(--font-geist-sans),"Noto Sans SC",system-ui,sans-serif}.mg-share-card:after{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(103,232,249,.018) 3px 4px)}.mg-share-card__tech{position:absolute;z-index:5;top:5.5417cqw;left:64.4167cqw;height:4.5cqw;display:flex;align-items:center;gap:.85cqw;color:#6f8da1;font:1.1111cqw var(--font-geist-mono),monospace;letter-spacing:.07em;white-space:nowrap}.mg-share-card__tech span{width:1.15cqw;height:1.15cqw;border:1px solid rgba(83,214,255,.45);background:rgba(49,215,255,.08)}.mg-share-card__tech span:nth-child(2){background:#31d7ff;box-shadow:0 0 1.2cqw rgba(49,215,255,.55)}.mg-share-card__tech span:nth-child(3){border-color:rgba(244,147,76,.7)}.mg-share-card__tech b{margin-left:.45cqw;color:#67e8f9;font-weight:500}.mg-share-card__tech i{padding:.45cqw .7cqw;border:1px solid rgba(83,214,255,.18);color:#8199aa;font-style:normal}.mg-share-card__board{position:absolute;z-index:2;top:var(--board-top);right:var(--safe-x);bottom:5cqw;left:var(--safe-x);overflow:hidden;clip-path:polygon(0 0,calc(100% - 2.4cqw) 0,100% 2.4cqw,100% 100%,2.4cqw 100%,0 calc(100% - 2.4cqw));border:1px solid rgba(83,214,255,.42);background:linear-gradient(155deg,rgba(12,28,42,.96),rgba(5,15,25,.985));box-shadow:inset 0 0 8cqw rgba(49,215,255,.035)}.mg-share-card__board:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 36%,rgba(103,232,249,.03) 48%,transparent 60%)}.mg-share-card__corner{position:absolute;z-index:5;width:3.2cqw;height:3.2cqw;border-color:#31d7ff;opacity:.8}.mg-share-card__corner--tl{top:1.4cqw;left:1.4cqw;border-top:.16cqw solid;border-left:.16cqw solid}.mg-share-card__corner--br{right:1.4cqw;bottom:1.4cqw;border-right:.16cqw solid;border-bottom:.16cqw solid}.mg-share-card__mascot{position:absolute;z-index:1;top:var(--bandy-top);left:var(--bandy-left);width:var(--bandy-scale);height:var(--bandy-scale);pointer-events:none}.mg-share-card__mascot img{width:100%;height:100%;object-fit:contain}.mg-share-card__mascot--behind{clip-path:inset(0 0 22% 0)}.mg-share-card__mascot--paws{z-index:4;clip-path:inset(73% 0 0 0)}.mg-share-card__map{position:absolute;z-index:2;top:4.0833cqw;left:4.1389cqw;width:81.9444cqw;height:45.9722cqw;overflow:hidden;border:1px solid rgba(83,214,255,.24);background:radial-gradient(circle at 50% 48%,rgba(49,215,255,.075),transparent 48%),#071927}.mg-share-card__map:after,.mg-share-card__map:before{content:"";position:absolute;z-index:0;left:50%;top:48%;border:1px solid rgba(49,215,255,.07);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.mg-share-card__map:before{width:52cqw;height:52cqw}.mg-share-card__map:after{width:76cqw;height:76cqw}.mg-share-card__map .world-map{position:relative;z-index:1;width:100%;height:calc(100% - 5cqw);border-radius:0;background:transparent;display:grid;align-items:center}.mg-share-card__map .world-map>svg{display:block;width:100%!important;height:auto!important;max-height:100%}.mg-share-card__map .map-legend,.mg-share-card__map .map-zoom-controls{display:none!important}.mg-share-card__map .map-country-glow--outer{stroke-width:2.1!important;opacity:.1}.mg-share-card__map .map-country-glow--inner{stroke-width:1.05!important;opacity:.32}.mg-share-card__map .map-country{stroke-width:.55!important}.mg-share-card__map .share-place-marker circle{r:2.7;stroke-width:.8}.mg-share-card__map .share-place-marker text{font-size:2.5px}.mg-share-card__map-status{position:absolute;z-index:3;top:42.75cqw;left:2.2639cqw;width:41.6667cqw;overflow:hidden;color:#6f8da1;font:1.1111cqw var(--font-geist-mono),monospace;letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap}.mg-share-card__achievement{position:absolute;z-index:3;inset:0}.mg-share-card__achievement-copy{position:static;width:auto;text-align:center}.mg-share-card__achievement small{position:absolute;top:52.0694cqw;left:38.8056cqw;width:12.5cqw;height:2.5cqw;color:#31d7ff;font:1.25cqw/1 var(--font-geist-mono),monospace;letter-spacing:.2em;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}.mg-share-card__achievement h2{position:absolute;isolation:isolate;top:54.9861cqw;left:7.8056cqw;width:74.4444cqw;max-width:none;margin:0;overflow:hidden;color:#8fe9fa;background:repeating-linear-gradient(90deg,hsla(0,0%,100%,.1) 0 .1cqw,transparent .1cqw .32cqw),linear-gradient(180deg,#fafcff,#d9e8ed 18%,#7897a5 43%,#eaf8fb 49%,#238eb2 66%,#07516f 84%,#c9f6ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:.55px #061d2b;filter:drop-shadow(0 0 .7cqw rgba(49,215,255,.27));font-family:"Alimama ShuHeiTi MG","Noto Sans SC",var(--font-geist-sans),system-ui,sans-serif;font-size:7.6389cqw;font-style:normal;font-weight:700;line-height:1.05;letter-spacing:.4167cqw;text-overflow:ellipsis;white-space:nowrap}.mg-share-card__achievement h2.is-long{font-size:6.25cqw}.mg-share-card__achievement h2.is-extra-long{font-size:5.35cqw;letter-spacing:.01em}.mg-share-card__achievement p{position:absolute;top:65.4306cqw;left:19.7222cqw;width:50cqw;margin:0;overflow:hidden;color:#8ea8ba;font-size:1.875cqw;text-overflow:ellipsis;white-space:nowrap}.mg-share-card__achievement button{position:absolute;top:61.4444cqw;left:67.1389cqw;width:12.5cqw;height:3.3333cqw;padding:0;border:0;color:#67e8f9;background:transparent;font-size:1.3889cqw;line-height:1;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;cursor:pointer}.mg-share-card.is-exporting [data-export-exclude=true]{display:none!important}.mg-share-card__stamps{position:absolute;z-index:3;top:71.9306cqw;left:16.3889cqw;width:60cqw;min-height:12.5cqw;display:flex;align-items:flex-start;justify-content:center;gap:1.1111cqw;transform:scale(.97);transform-origin:top left}.mg-share-card__stamp{width:10.8cqw;height:12cqw;display:flex;align-items:center;flex-direction:column;gap:.5cqw}.mg-share-card__stamp .achievement-stamp{--stamp-size:7.5cqw;flex:0 0 auto}.mg-share-card__stamp>span{width:100%;overflow:hidden;color:#a9becf;font-size:1.15cqw;line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}.mg-share-card__stats{position:absolute;z-index:3;top:88.7222cqw;left:4.3611cqw;width:81.9444cqw;height:9.5cqw;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}.mg-share-card__stats span{position:relative;min-width:0;display:flex;align-items:baseline;justify-content:center;gap:.65cqw}.mg-share-card__stats span:not(:first-child):before{content:"";position:absolute;top:-1.7cqw;bottom:-1.7cqw;left:0;width:1px;background:rgba(83,214,255,.38);box-shadow:0 0 .8cqw rgba(49,215,255,.08)}.mg-share-card__stats b{color:#31d7ff;font:3.75cqw var(--font-geist-mono),monospace;text-shadow:0 0 1.8cqw rgba(49,215,255,.24)}.mg-share-card__stats em{color:#a5b9c8;font-size:1.5278cqw;font-style:normal;white-space:nowrap}.mg-share-card__stats>i{display:none}.mg-share-card__brand{position:absolute;z-index:3;top:105.0833cqw;left:38.8611cqw;height:5.5cqw;display:flex;align-items:center;gap:.9cqw}.mg-share-card__brand img{width:4.8cqw;height:4.8cqw;object-fit:contain}.mg-share-card__brand span{display:grid;line-height:1;white-space:nowrap}.mg-share-card__brand b{color:#dcebf4;font-size:1.8cqw;font-weight:500}.mg-share-card__brand small{margin-top:.45cqw;color:#6e8798;font:1cqw var(--font-geist-mono),monospace;letter-spacing:.1em}.mg-share-overlay{position:fixed;z-index:120;inset:0;padding:24px;overflow:auto;background:rgba(1,6,12,.82);backdrop-filter:blur(7px);display:grid;place-items:center}.mg-share-sheet{width:min(1120px,100%);max-height:calc(100dvh - 48px);overflow:hidden;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));border:1px solid rgba(83,214,255,.3);background:rgba(8,18,29,.98);box-shadow:0 30px 90px rgba(0,0,0,.5)}.mg-share-sheet__head{min-height:72px;padding:12px 18px 12px 24px;border-bottom:1px solid rgba(83,214,255,.18);display:flex;align-items:center;justify-content:space-between}.mg-share-sheet__head span{color:#31d7ff;font:9px var(--font-geist-mono),monospace;letter-spacing:.16em}.mg-share-sheet__head h2{margin:4px 0 0;font-size:21px;font-weight:500}.mg-share-sheet__head button{width:40px;height:40px;border:1px solid #28425a;border-radius:7px;color:#cfe0ea;background:#102236;display:grid;place-items:center;cursor:pointer}.mg-share-sheet__body{height:min(760px,calc(100dvh - 120px));display:grid;grid-template-columns:minmax(410px,1fr) 330px}.mg-share-preview{min-width:0;min-height:0;padding:20px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(49,215,255,.06),transparent 48%),#050c15;display:grid;place-items:center}.mg-share-preview .mg-share-card{width:min(100%,490px,calc((100dvh - 160px) * .75));flex:none;box-shadow:0 22px 70px rgba(0,0,0,.46)}.mg-share-controls{padding:28px 24px;overflow-y:auto}.mg-share-controls h3{margin:0 0 7px;font-size:20px;font-weight:500}.mg-share-controls>p{margin:0 0 22px;color:#8ea8ba;font-size:12px;line-height:1.55}.mg-share-actions{display:grid;gap:9px}.mg-share-actions .button{min-height:46px;justify-content:flex-start}.mg-share-privacy{margin-top:16px;padding:11px;border:1px solid rgba(83,214,255,.13);border-radius:7px;color:#91a6ba;background:rgba(20,39,58,.6);font-size:10px;line-height:1.6}.mg-share-notice{margin:10px 0 0;padding:9px 10px;border:1px solid rgba(103,232,249,.22);border-radius:7px;color:#bdf5ff;background:rgba(49,215,255,.08);display:flex;align-items:center;gap:7px;font-size:11px}.share-snapshot-shell{width:min(1000px,calc(100% - 32px));margin:28px auto 70px}.share-snapshot-intro{margin:28px 0 18px;display:flex;align-items:end;justify-content:space-between;gap:20px}.share-snapshot-intro span{color:#31d7ff;font:9px var(--font-geist-mono),monospace;letter-spacing:.16em}.share-snapshot-intro h1{margin:6px 0 0;font-size:clamp(28px,4vw,52px);font-weight:400}.share-snapshot-intro p{max-width:430px;margin:0;color:#8ea8ba;line-height:1.6}.share-snapshot-card-wrap{width:min(100%,560px);margin-inline:auto}.share-snapshot-places{margin-top:20px;padding:22px;border:1px solid rgba(83,214,255,.2);background:rgba(8,18,29,.78)}.share-snapshot-places h2{margin:0 0 14px;font-size:18px;font-weight:500}.share-snapshot-places ul{margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none}.share-snapshot-places li{padding:10px 12px;border:1px solid rgba(83,214,255,.12);color:#cfe0ea;background:rgba(12,28,42,.72);display:flex;justify-content:space-between;gap:12px}.share-snapshot-places code{color:#8ea8ba;font:10px var(--font-geist-mono),monospace}.share-snapshot-error{max-width:580px;margin:90px auto;padding:36px;border:1px solid rgba(83,214,255,.2);background:rgba(8,18,29,.82);text-align:center}@media (max-width:860px){.mg-share-overlay{padding:0}.mg-share-sheet{width:100%;min-height:100dvh;max-height:100dvh;clip-path:none;border:0;overflow-y:auto}.mg-share-sheet__head{position:sticky;z-index:10;top:0;min-height:62px;background:rgba(8,18,29,.97)}.mg-share-sheet__body{height:auto;display:block}.mg-share-preview{width:100%;min-height:0;padding:8px 6px 10px;overflow:visible}.mg-share-preview .mg-share-card{width:min(calc(100vw - 24px),calc((100dvh - 400px) * .75),390px)}.mg-share-controls{padding:10px 12px calc(10px + env(safe-area-inset-bottom));overflow:visible}.mg-share-controls h3{margin-bottom:3px;font-size:17px}.mg-share-controls>p{margin-bottom:8px;font-size:10px}.mg-share-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-share-actions .button{min-width:0;min-height:44px;padding-inline:8px;justify-content:center;font-size:11px}.mg-share-privacy{margin-top:8px;padding:7px 9px;font-size:9px;line-height:1.4}.share-snapshot-shell{width:min(100% - 20px,760px);margin-top:12px}.share-snapshot-intro{align-items:flex-start;flex-direction:column}.share-snapshot-places ul{grid-template-columns:1fr}}@media (max-width:430px){.mg-share-sheet__head{padding-inline:14px 10px}.mg-share-sheet__head h2{font-size:18px}.mg-share-controls{padding-inline:12px}.mg-share-actions{gap:7px}.share-snapshot-places li{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion:reduce){.mg-share-card *,.mg-share-sheet *{animation:none!important;transition:none!important}}