/* ELIE v5.1.79 — MYRA signal-style badge archive */
:root{--badge-green:#2ef13a;--badge-soft:#eaffec;--badge-panel:rgba(2,18,5,.72)}
.home-badge-launch{--badge-launch-size:88px;position:absolute;z-index:76;width:var(--badge-launch-size);height:var(--badge-launch-size);padding:0;border:0;background:transparent;color:var(--badge-green);cursor:pointer;filter:drop-shadow(0 0 12px rgba(31,255,65,.18));transition:transform .28s ease,filter .28s ease;isolation:isolate}
.home-badge-launch>span{position:absolute;inset:0;border:1px solid rgba(52,255,76,.72);border-radius:50%;background:radial-gradient(circle at 50% 48%,rgba(13,57,18,.95),rgba(0,0,0,.96) 72%);overflow:hidden;box-shadow:inset 0 0 0 3px rgba(0,0,0,.85),0 0 0 1px rgba(52,255,76,.17)}
.home-badge-launch img{width:100%;height:100%;display:block;object-fit:contain;transform:scale(.92)}
.home-badge-launch b{position:absolute;right:0;bottom:2px;min-width:25px;height:25px;padding:0 6px;display:grid;place-items:center;border-radius:50%;background:var(--badge-green);color:#000;border:2px solid #000;font:800 12px/1 Duplet,Arial,sans-serif}
.home-badge-launch small{position:absolute;left:50%;top:calc(100% + 7px);transform:translateX(-50%);white-space:nowrap;color:var(--badge-green);font:800 9px/1 Duplet,Arial,sans-serif;letter-spacing:.11em;text-shadow:0 1px 3px #000}
.home-badge-launch:hover{transform:scale(1.05);filter:drop-shadow(0 0 18px rgba(31,255,65,.34))}

.badge-gallery-overlay,.badge-detail-layer{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:max(12px,var(--safe-top)) max(12px,var(--safe-right)) max(12px,var(--safe-bottom)) max(12px,var(--safe-left));opacity:0;visibility:hidden;transition:opacity .32s ease,visibility .32s ease;background:radial-gradient(circle at 50% 42%,rgba(14,80,24,.15),rgba(0,0,0,.92) 58%);backdrop-filter:blur(7px)}
.badge-gallery-overlay.is-open,.badge-detail-layer.is-open{opacity:1;visibility:visible}.badge-gallery-backdrop{position:absolute;inset:0;pointer-events:none}
.badge-gallery-window,.badge-detail-card,.badge-unlock-card{position:relative;overflow:hidden;border:1px solid rgba(46,241,58,.48);border-radius:25px;background:radial-gradient(circle at 50% 40%,rgba(9,47,15,.42),transparent 45%),linear-gradient(150deg,#000 0%,#031007 44%,#000 100%);box-shadow:0 30px 100px rgba(0,0,0,.9),0 0 42px rgba(46,241,58,.08),inset 0 0 80px rgba(46,241,58,.025);color:var(--badge-green);transform:scale(.97) translateY(10px);transition:transform .42s cubic-bezier(.18,.82,.2,1)}
.badge-gallery-window::before,.badge-detail-card::before,.badge-unlock-card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:linear-gradient(rgba(46,241,58,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(46,241,58,.025) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(circle,#000 20%,transparent 88%)}
.badge-gallery-window{width:min(1540px,96vw);height:min(900px,93vh)}
.badge-gallery-overlay.is-open .badge-gallery-window,.badge-detail-layer.is-open .badge-detail-card{transform:none}
.badge-signal-frame{position:absolute;inset:9px;z-index:7;pointer-events:none}.badge-signal-frame i{position:absolute;width:34px;height:34px;border-color:rgba(46,241,58,.55)}.badge-signal-frame i:nth-child(1){left:0;top:0;border-left:2px solid;border-top:2px solid}.badge-signal-frame i:nth-child(2){right:0;top:0;border-right:2px solid;border-top:2px solid}.badge-signal-frame i:nth-child(3){right:0;bottom:0;border-right:2px solid;border-bottom:2px solid}.badge-signal-frame i:nth-child(4){left:0;bottom:0;border-left:2px solid;border-bottom:2px solid}
.badge-window-close{position:absolute;z-index:12;right:18px;top:15px;width:48px;height:48px;border:1px solid rgba(46,241,58,.55);border-radius:8px;background:rgba(0,7,2,.88);color:var(--badge-green);font:300 42px/42px Arial,sans-serif;cursor:pointer;transition:background .2s,color .2s,transform .2s}.badge-window-close:hover{background:var(--badge-green);color:#001b04;transform:scale(1.04)}
.badge-gallery-window>header{position:absolute;z-index:3;left:3.2%;right:3.2%;top:3.4%;height:11.5%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid rgba(46,241,58,.18);pointer-events:none}.badge-gallery-window>header::after{content:"";position:absolute;right:92px;width:min(28vw,330px);height:48px;opacity:.58;background:repeating-linear-gradient(90deg,rgba(46,241,58,.18) 0 3px,transparent 3px 10px);mask-image:linear-gradient(180deg,transparent 0,#000 24%,#000 76%,transparent 100%)}
.badge-gallery-window>header small{display:block;color:rgba(69,140,76,.82);font:650 8px/1 Duplet,Arial,sans-serif;letter-spacing:.18em}.badge-gallery-window>header h1{margin:.28em 0 0;color:var(--badge-soft);font:750 clamp(22px,2vw,36px)/1 Duplet,Arial,sans-serif;letter-spacing:.035em}.badge-gallery-window>header strong{position:relative;z-index:2;padding-right:72px;color:var(--badge-green);font:800 clamp(20px,1.7vw,32px)/1 Duplet,Arial,sans-serif}
.badge-scroll-mask{position:absolute;left:3.2%;right:3.2%;top:16.5%;bottom:5.5%;overflow:hidden;border:1px solid rgba(46,241,58,.13);border-radius:17px;background:linear-gradient(150deg,rgba(2,18,5,.72),rgba(0,0,0,.62));box-shadow:inset 0 0 26px rgba(46,241,58,.025)}
.badge-grid{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;scrollbar-width:thin;scrollbar-color:rgba(46,241,58,.48) transparent}
.badge-grid::-webkit-scrollbar{width:7px}.badge-grid::-webkit-scrollbar-track{background:transparent}.badge-grid::-webkit-scrollbar-thumb{background:rgba(46,241,58,.48);border-radius:8px}
.badge-card{position:relative;min-height:116px;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;padding:10px 13px;border:1px solid rgba(46,241,58,.14);border-radius:11px;background:rgba(0,0,0,.56);color:rgba(116,183,123,.82);text-align:left;cursor:pointer;overflow:hidden;transition:transform .2s ease,border-color .2s,background .2s,color .2s}
.badge-card:hover{transform:translateY(-2px);border-color:rgba(46,241,58,.5);background:linear-gradient(90deg,rgba(12,65,20,.72),rgba(0,0,0,.58));color:var(--badge-soft)}
.badge-card-image{position:relative;width:88px;height:88px;display:grid;place-items:center;border:1px solid rgba(46,241,58,.18);border-radius:50%;background:rgba(0,0,0,.45)}.badge-card-image img{width:100%;height:100%;object-fit:contain;display:block}.badge-card-copy{min-width:0;display:grid;gap:7px}.badge-card-copy b{font:800 clamp(12px,1vw,18px)/1 Duplet,Arial,sans-serif;text-transform:uppercase}.badge-card-copy small{font:700 8px/1.1 Duplet,Arial,sans-serif;letter-spacing:.07em;opacity:.78}.badge-card-copy em{height:3px;background:rgba(46,232,61,.14);overflow:hidden}.badge-card-copy em i{display:block;height:100%;background:var(--badge-green)}
.badge-card.is-unlocked{background:var(--badge-green);border-color:var(--badge-green);color:#001b04}.badge-card.is-unlocked:hover{background:#55f65e;color:#001b04}.badge-card.is-unlocked .badge-card-image{border-color:rgba(0,27,4,.45);background:rgba(0,0,0,.1)}.badge-card.is-unlocked .badge-card-copy small{color:rgba(0,27,4,.72)}.badge-card.is-unlocked .badge-card-copy em{background:rgba(0,27,4,.18)}.badge-card.is-unlocked .badge-card-copy em i{background:#001b04}
.badge-card.is-locked{opacity:.64}.badge-card.is-locked .badge-card-image img{filter:grayscale(1) brightness(.28);opacity:.52}.badge-card.is-locked .badge-card-image:after{content:'×';position:absolute;inset:0;display:grid;place-items:center;color:var(--badge-green);font:300 82px/.8 Arial,sans-serif;text-shadow:0 0 12px #000}.badge-card.is-locked:hover{opacity:.82}
.badge-lock-notice{position:fixed;z-index:3050;left:50%;bottom:7%;width:min(560px,88vw);padding:18px 24px;border:1px solid rgba(46,241,58,.5);border-radius:12px;background:rgba(0,8,2,.97);color:var(--badge-green);text-align:center;display:grid;gap:7px;transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:opacity .25s,transform .3s}.badge-lock-notice.show{opacity:1;transform:translate(-50%,0)}.badge-lock-notice strong{font:800 18px/1 Duplet,Arial,sans-serif}.badge-lock-notice span{font:600 12px/1.35 Duplet,Arial,sans-serif;color:#d4ffd8}.badge-lock-notice small{font:700 10px/1.35 Duplet,Arial,sans-serif;opacity:.72}
.badge-detail-layer{z-index:3010}.badge-detail-card{width:min(1540px,96vw);height:min(900px,93vh);display:grid;grid-template-columns:46% 54%;align-items:center;padding:8% 8% 7%}.badge-detail-back{position:absolute;left:3.5%;top:50%;z-index:9;transform:translateY(-50%);border:0;background:transparent;color:var(--badge-green);font:300 72px/1 Arial,sans-serif;cursor:pointer}.badge-detail-back:hover{transform:translate(-5px,-50%)}.badge-detail-art{position:relative;display:grid;place-items:center;height:100%;border:1px solid rgba(46,241,58,.13);border-radius:17px;background:radial-gradient(circle,rgba(46,241,58,.08),transparent 58%)}.badge-detail-art img{width:min(78%,560px);height:min(78%,560px);object-fit:contain}.badge-detail-copy{padding-left:7%;color:var(--badge-green)}.badge-detail-copy small{font:700 9px/1 Duplet,Arial,sans-serif;letter-spacing:.16em;opacity:.6}.badge-detail-copy h2{margin:16px 0 12px;color:var(--badge-soft);font:800 clamp(34px,4vw,68px)/.92 Duplet,Arial,sans-serif}.badge-detail-copy p{max-width:600px;color:rgba(186,222,190,.92);font:650 clamp(13px,1.05vw,18px)/1.45 Duplet,Arial,sans-serif}.badge-detail-progress{margin-top:30px;max-width:560px}.badge-detail-progress span{display:flex;justify-content:space-between;font:700 11px/1 Duplet,Arial,sans-serif}.badge-detail-progress em{font-style:normal}.badge-detail-progress>i{display:block;height:8px;margin-top:10px;border:1px solid rgba(46,232,61,.45);padding:1px}.badge-detail-progress>i>b{display:block;height:100%;background:var(--badge-green)}
.game-modal.badge-unlock-mode{display:grid;place-items:center;background:rgba(0,0,0,.88);backdrop-filter:blur(7px);z-index:100}.badge-unlock-shell{position:relative;display:grid;place-items:center}.badge-unlock-card{width:min(760px,88vw);min-height:min(710px,84vh);padding:48px 56px 38px;display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;transform:scale(.94) translateY(14px);transition:opacity .35s,transform .42s cubic-bezier(.18,.82,.2,1)}.badge-unlock-card.is-visible{opacity:1;transform:none}.badge-unlock-scan{display:none}.badge-unlock-card>small{position:relative;z-index:2;color:rgba(69,140,76,.9);font:700 clamp(13px,1.2vw,18px)/1 Duplet,Arial,sans-serif;letter-spacing:.16em}.badge-unlock-card>h2{position:relative;z-index:2;margin:10px 0 0;color:var(--badge-soft);font:800 clamp(34px,4.6vw,74px)/.9 Duplet,Arial,sans-serif;max-width:92%}.badge-unlock-card>strong{position:relative;z-index:2;align-self:flex-end;margin:4px 3% 0 0;color:var(--badge-green);font:800 clamp(18px,2vw,32px)/1 Duplet,Arial,sans-serif}.badge-unlock-card>img{position:relative;z-index:2;width:min(48vh,420px);height:min(48vh,420px);max-width:70%;object-fit:contain;margin:-4px 0 -8px}.badge-unlock-card>p{position:relative;z-index:2;max-width:590px;margin:0 0 20px;color:rgba(209,246,213,.92);font:650 clamp(12px,1.1vw,16px)/1.42 Duplet,Arial,sans-serif}.badge-unlock-continue{position:relative;z-index:2;padding:13px 27px;border:1px solid var(--badge-green);border-radius:9px;background:linear-gradient(90deg,rgba(12,73,21,.86),rgba(0,0,0,.72));color:var(--badge-soft);font:800 13px/1 Duplet,Arial,sans-serif;cursor:pointer}.badge-unlock-continue:hover{background:var(--badge-green);color:#001b04}.badge-unlock-close{right:0;top:0;transform:translate(48%,-48%)}.badge-unlock-close:hover{transform:translate(48%,-48%) scale(1.04)}
.share-type-grid{gap:5px!important}.share-type-grid button{min-height:0!important;padding-top:6px!important;padding-bottom:6px!important}.share-type-grid button[data-share-type="badge"]{border-color:rgba(53,241,74,.68)}

@media(max-width:1050px){.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-detail-card{grid-template-columns:43% 57%;padding:10% 6% 7%}.badge-detail-copy{padding-left:5%}}
@media(max-width:760px) and (orientation:portrait){.badge-gallery-overlay,.badge-detail-layer{padding:0}.badge-gallery-window,.badge-detail-card{width:100vw;height:100dvh;border-radius:0}.badge-signal-frame{inset:5px}.badge-signal-frame i{width:20px;height:20px}.badge-window-close{right:8px;top:7px;width:40px;height:40px;font-size:35px;line-height:35px}.badge-gallery-window>header{left:5%;right:5%;top:3%;height:11%}.badge-gallery-window>header::after{display:none}.badge-gallery-window>header h1{font-size:22px}.badge-gallery-window>header strong{padding-right:46px;font-size:18px}.badge-scroll-mask{left:4%;right:4%;top:15%;bottom:3.5%;border-radius:12px}.badge-grid{grid-template-columns:1fr;padding:10px}.badge-card{min-height:102px;grid-template-columns:78px 1fr}.badge-card-image{width:74px;height:74px}.badge-detail-card{display:flex;flex-direction:column;padding:72px 24px 28px;overflow:auto}.badge-detail-back{left:11px;top:44px;transform:none;font-size:55px}.badge-detail-back:hover{transform:translateX(-4px)}.badge-detail-art{flex:0 0 310px;width:100%}.badge-detail-art img{width:70%;height:70%}.badge-detail-copy{padding:24px 4px 0}.badge-detail-copy h2{font-size:38px}.badge-unlock-card{width:92vw;min-height:0;height:min(760px,84dvh);padding:40px 24px 24px}.badge-unlock-card>img{width:min(42vh,330px);height:min(42vh,330px)}.badge-unlock-close{right:16px;top:0;transform:translate(20%,-42%)}}
@media(orientation:landscape) and (pointer:coarse){.badge-gallery-overlay,.badge-detail-layer{padding:max(4px,var(--safe-top)) max(5px,var(--safe-right)) max(4px,var(--safe-bottom)) max(5px,var(--safe-left))}.badge-gallery-window,.badge-detail-card{width:100%;height:100%;border-radius:14px}.badge-signal-frame{inset:5px}.badge-signal-frame i{width:18px;height:18px}.badge-window-close{right:7px;top:6px;width:34px;height:34px;font-size:30px;line-height:29px}.badge-gallery-window>header{left:2.5%;right:2.5%;top:2.5%;height:13%}.badge-gallery-window>header small{font-size:4.5px}.badge-gallery-window>header h1{font-size:clamp(14px,3.8vh,21px);margin:.15em 0}.badge-gallery-window>header strong{padding-right:36px;font-size:clamp(12px,3vh,18px)}.badge-gallery-window>header::after{right:54px;height:30px}.badge-scroll-mask{left:2.4%;right:2.4%;top:17%;bottom:4.5%;border-radius:9px}.badge-grid{padding:7px;gap:5px}.badge-card{min-height:clamp(54px,15vh,78px);grid-template-columns:clamp(45px,12vh,62px) 1fr;padding:5px 7px;gap:6px;border-radius:7px}.badge-card-image{width:clamp(42px,11vh,58px);height:clamp(42px,11vh,58px)}.badge-card-copy b{font-size:clamp(7px,1.9vh,10px)}.badge-card-copy small{font-size:clamp(4px,1.1vh,6px)}.badge-detail-card{padding:6% 5%;grid-template-columns:44% 56%}.badge-detail-art{border-radius:9px}.badge-detail-copy h2{font-size:clamp(24px,7vh,42px)}.badge-detail-copy p{font-size:clamp(7px,1.8vh,11px)}.badge-detail-back{left:1.8%;font-size:52px}.badge-unlock-shell{width:100vw;max-width:100vw}.badge-unlock-card{width:min(72vw,760px);height:88vh;min-height:0;padding:20px 30px 16px;border-radius:14px}.badge-unlock-card>h2{font-size:clamp(24px,7.5vh,44px)}.badge-unlock-card>img{width:min(43vh,330px);height:min(43vh,330px);margin:-8px 0}.badge-unlock-card>p{font-size:clamp(7px,1.8vh,11px);margin-bottom:8px}.badge-unlock-continue{padding:8px 18px;font-size:8px}.badge-unlock-close{right:max(24px,calc((100vw - 760px)/2));top:8px;transform:translate(48%,0)}}
@media(prefers-reduced-motion:reduce){.badge-gallery-overlay,.badge-detail-layer,.badge-gallery-window,.badge-detail-card,.badge-unlock-card{transition:none!important}}
