@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{color:#f5f3ff;font-synthesis:none;--ink:#f5f3ff;--muted:#aaa4bc;--panel:#14111f;--violet:#8e61ff;--lime:#c9f268;background:#090711;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html{background:#090711;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #c9f268}.app-shell{background:radial-gradient(circle at 87% 7%,#744ae040,#0000 23rem),radial-gradient(circle at -5% 41%,#b2e75712,#0000 22rem),#090711;min-height:100vh;padding-bottom:100px}.topbar{justify-content:space-between;align-items:center;max-width:1180px;height:86px;margin:0 auto;padding:0 28px;display:flex}.brand{color:#fff;cursor:pointer;letter-spacing:-.8px;background:0 0;border:0;align-items:center;gap:11px;font:800 24px Manrope,sans-serif;display:flex}.brand-mark{color:#161023;background:var(--lime);border-radius:11px 11px 11px 3px;place-items:center;width:35px;height:35px;font-size:20px;display:grid;transform:rotate(-4deg)}.avatar-button{width:40px;height:40px;color:var(--ink);cursor:pointer;background:#201a30;border:1px solid #332a48;border-radius:14px;font-weight:700}main{max-width:1180px;margin:0 auto;padding:20px 28px 50px}.eyebrow{color:var(--lime);letter-spacing:1.7px;text-transform:uppercase;margin:0 0 9px;font:700 12px Manrope,sans-serif}.hero{background:linear-gradient(125deg,#1d162dfa,#0f0c19f0);border:1px solid #302546;border-radius:30px;justify-content:space-between;align-items:center;gap:40px;min-height:315px;padding:52px 64px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000052}.hero:before{content:"";border:70px solid #8e61ff1a;border-radius:50%;width:420px;height:420px;position:absolute;top:-185px;right:-75px}.hero:after{content:"B";color:#ffffff05;font:800 330px Manrope,sans-serif;position:absolute;bottom:-130px;right:23%;transform:rotate(-12deg)}.hero-copy{z-index:1;max-width:610px;position:relative}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-3.7px;max-width:570px;margin-bottom:18px;font:800 clamp(42px,6vw,72px)/.98 Manrope,sans-serif}.hero-description{color:#bcb6ca;max-width:530px;margin:0;font-size:17px;line-height:1.65}.hero-score{z-index:1;text-align:center;min-width:170px;position:relative}.score-ring{--progress:0deg;background:conic-gradient(var(--lime) var(--progress), #2b2537 0);border-radius:50%;place-items:center;width:146px;height:146px;margin:0 auto 13px;display:grid;position:relative;box-shadow:0 0 38px #c9f26814}.score-ring:after{content:"";border-radius:inherit;background:#171320;position:absolute;inset:9px}.score-ring span{z-index:1;flex-direction:column;display:flex;position:relative}.score-ring strong{font:800 30px Manrope,sans-serif}.score-ring small{color:var(--muted);font-size:11px}.hero-score>p{color:var(--muted);font-size:13px}.hero-score>p strong{color:#fff}.library{padding-top:58px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:24px;display:flex}.section-heading h2,.drawer-header h2,.coming-soon h2{letter-spacing:-1.1px;margin:0;font:800 30px Manrope,sans-serif}.filter-button{color:#c1bbce;cursor:pointer;background:#15111f;border:1px solid #302a3d;border-radius:12px;padding:10px 14px}.filter-button span{color:var(--lime);margin-left:12px}.set-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.set-tile{text-align:left;min-height:275px;color:var(--ink);cursor:pointer;background:#14111e;border:1px solid #272132;border-radius:22px;flex-direction:column;padding:0;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;overflow:hidden}.set-tile:hover{border-color:#59457b;transform:translateY(-5px);box-shadow:0 18px 45px #00000047}.set-art{letter-spacing:5px;place-items:center;height:136px;font:800 26px Manrope,sans-serif;display:grid;position:relative;overflow:hidden}.set-art:before,.set-art:after{content:"";filter:blur(1px);border-radius:50%;position:absolute}.set-art:before{background:#ffffff21;width:160px;height:160px;top:-95px;right:-35px}.set-art:after{border:30px solid #ffffff17;width:120px;height:120px;bottom:-84px;left:-12px}.set-art span{z-index:1}.set-rune{color:#ffffff40;font-size:74px;position:absolute;transform:rotate(19deg)}.art-0{background:linear-gradient(140deg,#653bb2,#31205d)}.art-1{background:linear-gradient(140deg,#865d2b,#45311e)}.art-2{background:linear-gradient(140deg,#3e7457,#1e4638)}.set-info{flex:1;padding:18px 20px 20px}.set-code{color:var(--muted);letter-spacing:1.5px;font:700 11px Manrope,sans-serif}.set-info h3{min-height:44px;margin:4px 0 14px;font:700 17px/1.25 Manrope,sans-serif}.set-stats{color:#918b9f;align-items:baseline;font-size:13px;display:flex}.set-stats strong{color:#fff;font-size:17px}.set-stats em{color:var(--lime);margin-left:auto;font-size:12px;font-style:normal;font-weight:700}.progress-track{background:#292333;border-radius:4px;height:5px;margin-top:9px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, #8e61ff, var(--lime));border-radius:inherit;height:100%;transition:width .4s;display:block}.bottom-nav{z-index:20;-webkit-backdrop-filter:blur(17px);backdrop-filter:blur(17px);background:#191424f0;border:1px solid #3a304b;border-radius:23px;justify-content:space-between;align-items:center;width:min(430px,100% - 28px);height:72px;padding:7px 22px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 55px #00000080}.bottom-nav button{color:#858092;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:70px;height:55px;font-size:10px;font-weight:600;display:flex}.bottom-nav svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.bottom-nav button.active{color:var(--lime)}.bottom-nav .scan{transform:translateY(-14px)}.scan-disc{color:#15101f;background:var(--lime);border-radius:17px;place-items:center;width:51px;height:51px;display:grid;box-shadow:0 8px 23px #c9f26838}.scan-disc svg{width:25px;height:25px}.drawer-backdrop{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#040308b8;justify-content:center;align-items:end;padding:5vh 18px 0;animation:.2s fade-in;display:flex;position:fixed;inset:0}.card-drawer{background:#12101a;border:1px solid #342b46;border-bottom:0;border-radius:28px 28px 0 0;width:min(1050px,100%);max-height:92vh;padding:14px 30px 36px;animation:.32s cubic-bezier(.2,.85,.2,1) slide-up;overflow-y:auto;box-shadow:0 -30px 80px #0000008c}.drawer-handle{background:#494254;border-radius:3px;width:45px;height:4px;margin:0 auto 20px}.drawer-header{justify-content:space-between;align-items:start;gap:20px;margin-bottom:26px;display:flex}.drawer-header p:last-child{color:var(--muted);margin:7px 0 0;font-size:13px}.close-button{color:#c8c2d0;cursor:pointer;background:#211c2b;border:1px solid #332c41;border-radius:13px;flex:none;width:40px;height:40px;padding:0 0 3px;font-size:25px;line-height:1}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.card-item{background:#1b1724;border:1px solid #2e273b;border-radius:17px;min-width:0;position:relative;overflow:hidden}.card-item.owned{border-color:#c9f2686e;box-shadow:inset 0 0 0 1px #c9f26814}.card-image,.card-placeholder{aspect-ratio:5/7;object-fit:cover;background:#292236;width:100%;display:block}.card-placeholder{place-items:center;display:grid;position:relative;overflow:hidden}.card-placeholder:before{content:"";border:1px solid #ffffff26;border-radius:50%;width:130%;height:60%;position:absolute;transform:rotate(-28deg)}.card-color-0{background:linear-gradient(150deg,#613890,#22182f)}.card-color-1{background:linear-gradient(150deg,#956632,#2f2115)}.card-color-2{background:linear-gradient(150deg,#356d64,#152b2a)}.card-color-3{background:linear-gradient(150deg,#73404e,#2e1820)}.card-orb{color:#ffffff4d;font-size:58px}.card-placeholder-code{color:#ffffffb3;letter-spacing:1px;font:700 10px Manrope,sans-serif;position:absolute;bottom:13px;left:13px}.card-meta{padding:12px 45px 14px 13px}.card-meta p{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:3px;font-size:9px}.card-meta h3{text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font:700 13px Manrope,sans-serif;overflow:hidden}.card-meta>span{color:#928a9f;font-size:10px}.add-button{color:#171020;background:var(--lime);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:2px;width:31px;height:31px;font-weight:800;display:flex;position:absolute;bottom:13px;right:10px}.add-button:disabled{opacity:.6}.owned .add-button{color:var(--lime);background:#2b2536;font-size:11px}.coming-soon{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:650px;display:flex}.coming-soon>p:not(.eyebrow){max-width:480px;color:var(--muted);margin:12px auto 25px;line-height:1.6}.scanner-demo{width:150px;height:150px;color:var(--lime);background:#181323;border:1px solid #3b3050;border-radius:40px;place-items:center;margin-bottom:32px;display:grid;position:relative}.scanner-demo svg{fill:none;stroke:currentColor;stroke-width:1.1px;width:68px}.scanner-demo span{background:var(--lime);width:96px;height:2px;box-shadow:0 0 17px var(--lime);animation:2.2s ease-in-out infinite scan-line;position:absolute}.profile-avatar{color:#171020;background:linear-gradient(145deg, var(--lime), #8e61ff);border-radius:38px;place-items:center;width:120px;height:120px;margin-bottom:30px;font:800 53px Manrope,sans-serif;display:grid;transform:rotate(-3deg)}.primary-button{color:#171020;background:var(--lime);cursor:pointer;border:0;border-radius:13px;padding:13px 20px;font-weight:800}.toast{z-index:50;color:#171020;background:var(--lime);border-radius:14px;align-items:center;gap:9px;padding:13px 18px;font-size:13px;font-weight:700;animation:.3s toast-in;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 14px 45px #00000073}.toast span{color:#6d45d0}.empty-state{color:var(--muted);border:1px dashed #373040;border-radius:20px;place-items:center;padding:60px 20px;display:grid}.empty-state span{color:#1a1326;background:var(--lime);border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.empty-state p{margin:12px 0 0}.skeleton{background:linear-gradient(100deg,#15111e 25%,#211b2d 42%,#15111e 62%) 0 0/250% 100%;border-color:#0000;animation:1.4s linear infinite shimmer}.loading-cards .skeleton{min-height:310px}.admin-shell{background:radial-gradient(circle at 90% 0,#8e61ff30,#0000 30rem),#090711;min-height:100vh;padding:0 28px 70px}.admin-topbar{justify-content:space-between;align-items:center;max-width:1180px;height:86px;margin:0 auto;display:flex}.admin-brand{width:max-content;text-decoration:none}.admin-actions{align-items:center;gap:10px;display:flex}.admin-actions a,.admin-actions button{color:#c8c2d0;cursor:pointer;background:#17131f;border:1px solid #332b42;border-radius:11px;padding:10px 13px;font-size:12px;text-decoration:none}.admin-main{max-width:1180px;margin:0 auto;padding:38px 0 0}.admin-heading{justify-content:space-between;align-items:start;gap:30px;margin-bottom:28px;display:flex}.admin-heading h1{margin-bottom:12px;font-size:clamp(38px,5vw,62px)}.admin-heading>div>p:last-child{max-width:620px;color:var(--muted);line-height:1.6}.status-pill{color:#c5becf;background:#16121e;border:1px solid #30293d;border-radius:999px;flex:none;align-items:center;gap:8px;margin-top:12px;padding:9px 13px;font-size:12px;font-weight:700;display:flex}.status-pill i{background:#ff6d78;border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px #ff6d7873}.status-pill.online i{background:var(--lime);box-shadow:0 0 10px #c9f26873}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.admin-metrics article{background:#14111e;border:1px solid #2c2538;border-radius:18px;flex-direction:column;min-height:145px;padding:20px;display:flex}.admin-metrics span{color:var(--muted);font-size:12px}.admin-metrics strong{color:#fff;margin:auto 0 3px;font:800 36px Manrope,sans-serif}.admin-metrics .metric-status{text-transform:capitalize;font-size:23px}.admin-metrics small{color:#777183;font-size:10px}.admin-grid{grid-template-columns:.85fr 1.15fr;gap:18px;display:grid}.admin-card{background:#14111e;border:1px solid #2c2538;border-radius:21px;padding:25px}.admin-card-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.admin-card h2{letter-spacing:-.7px;margin:0;font:800 23px Manrope,sans-serif}.admin-card>p{color:var(--muted);margin:20px 0 24px;font-size:13px;line-height:1.65}.sync-icon{width:45px;height:45px;color:var(--lime);background:#211a2d;border:1px solid #3a2d4d;border-radius:14px;place-items:center;font-size:25px;display:grid}.sync-button{width:100%;min-height:48px}.sync-button:disabled,.admin-login-button:disabled{opacity:.48;cursor:not-allowed}.run-list{gap:4px;margin-top:18px;display:grid}.run-item{border-bottom:1px solid #282231;grid-template-columns:11px 1fr;gap:11px;padding:12px 4px;display:grid}.run-item:last-child{border-bottom:0}.run-dot{background:#e5b94d;border-radius:50%;width:8px;height:8px;margin-top:5px}.run-dot.completed{background:var(--lime)}.run-dot.failed{background:#ff6d78}.run-item div{flex-direction:column;min-width:0;display:flex}.run-item strong{font-size:12px}.run-item small{color:#817a8d;margin-top:3px;font-size:10px}.run-item em{color:#ff9099;overflow-wrap:anywhere;margin-top:6px;font-size:10px;font-style:normal}.admin-empty{color:var(--muted);text-align:center;border:1px dashed #393143;border-radius:14px;margin-top:18px;padding:35px 15px;font-size:12px}.admin-alert{border-radius:12px;margin:0 0 18px;padding:13px 15px;font-size:12px;font-weight:700}.admin-alert.success{color:#eaffbd;background:#89ae3826;border:1px solid #c9f2684d}.admin-alert.error{color:#ffd2d6;background:#bf3c4824;border:1px solid #ff6d784d}.admin-login-shell{flex-direction:column;align-items:center;padding-top:7vh;display:flex}.admin-login-card{background:#14111e;border:1px solid #302740;border-radius:25px;flex-direction:column;width:min(470px,100%);margin:7vh auto 0;padding:36px;display:flex;box-shadow:0 28px 80px #00000061}.admin-login-card h1{letter-spacing:-2px;margin-bottom:14px;font-size:42px}.admin-login-card>p:not(.eyebrow){color:var(--muted);line-height:1.6}.admin-login-card code{color:var(--lime)}.admin-login-card label{color:#d5cfdf;margin:12px 0 8px;font-size:12px;font-weight:700}.admin-login-card input{color:#fff;background:#0e0b15;border:1px solid #393047;border-radius:12px;outline:none;width:100%;height:50px;padding:0 14px}.admin-login-card input:focus{border-color:var(--violet);box-shadow:0 0 0 3px #8e61ff1f}.admin-login-button{margin-top:14px}.admin-login-card small{color:#777181;text-align:center;margin-top:15px;line-height:1.5}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{opacity:.5;transform:translateY(70px)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-20px)}}@keyframes shimmer{to{background-position-x:-250%}}@keyframes scan-line{0%,to{transform:translateY(-35px)}50%{transform:translateY(35px)}}@media (width<=800px){.topbar{height:70px;padding:0 18px}main{padding:12px 14px 40px}.hero{border-radius:23px;min-height:auto;padding:36px 26px}.hero-score{display:none}h1{letter-spacing:-2.7px;font-size:45px}.hero-description{font-size:15px}.library{padding-top:42px}.set-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.set-tile{border-radius:18px;min-height:236px}.set-art{height:110px}.set-info{padding:14px}.set-info h3{font-size:14px}.card-drawer{padding:12px 14px 35px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.admin-shell{padding:0 14px 45px}.admin-topbar{height:70px}.admin-actions a{display:none}.admin-main{padding-top:24px}.admin-heading{flex-direction:column;gap:4px}.admin-heading h1{letter-spacing:-2.4px;font-size:42px}.status-pill{margin-top:0}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}.admin-login-card{margin-top:5vh;padding:26px 20px}}@media (width<=390px){.set-grid{grid-template-columns:1fr}.set-tile{min-height:210px}.set-art{height:95px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
