:root{--ink:#183f35;--muted:#627568;--paper:#f8faf3;--cream:#fffcdf;--line:#dce3d5;--green:#287153;--mint:#d1edba;--gold:#f5d671;--pixel:'Silkscreen',monospace;--body:'Outfit',sans-serif;color-scheme:light;font-family:var(--body);font-size:16px;color:var(--ink);background:#f0f3e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #df9434;outline-offset:4px}button:active:not(:disabled){transform:translateY(2px)}svg{width:20px;height:20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}img{max-width:100%;display:block}button{transition:background .16s,transform .16s,box-shadow .16s}button:hover:not(:disabled){filter:brightness(1.035)}.header{min-height:100px;border-bottom:1px solid #d1dbc9;background:#fbfcf6;display:flex;align-items:center;justify-content:space-between;padding:18px max(30px,calc((100vw - 1400px)/2));gap:25px}.brand{display:flex;align-items:center;gap:10px;font:26px var(--pixel);letter-spacing:-1.5px;white-space:nowrap}.brand-gem{color:#43a574;font-size:44px;text-shadow:2px 3px #133f32}.brand small{display:block;font:10px var(--pixel);letter-spacing:1.35px;margin-top:6px;color:#69846b}.main-nav{display:flex;gap:8px;align-self:stretch;align-items:center}.main-nav a{display:flex;align-items:center;gap:8px;padding:12px 17px;border:1px solid transparent;border-radius:6px;font-weight:500;white-space:nowrap}.main-nav a:hover{background:#eaf0e3}.main-nav a[aria-current=page]{background:#e9efdc;border-color:#d7e1c9;color:#2d6747}.collection-count{font-size:12px;background:#dbe4d2;border-radius:4px;padding:1px 5px}.header-actions{display:flex;gap:10px;align-items:center}.icon-btn{background:transparent;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d4decd;border-radius:5px}.trainer-btn{background:var(--ink);color:#f3f5dd;display:flex;gap:9px;align-items:center;padding:12px 17px;border-radius:5px;border-bottom:3px solid #09291f;white-space:nowrap}.app-shell{max-width:1400px;margin:auto;padding:0 30px}.location-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:23px 0;font:12px var(--pixel)}.location-bar>div{display:flex;align-items:center;gap:10px}.tiny-diamond{color:#4c8663}.location-sub{font:14px var(--body);color:#768371;margin-left:14px}.demo-badge{font:10px var(--pixel);background:#e4eadc;border:1px solid #d5dfc9;border-radius:4px;display:flex;gap:8px;align-items:center;padding:8px 11px}.demo-badge svg{width:14px;height:14px}.live-dot{width:6px;height:6px;background:#669360;border-radius:50%}.adventure-layout{display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:20px;align-items:stretch}.world-frame{border:3px solid var(--ink);border-radius:9px;overflow:hidden;box-shadow:0 5px 0 #becbb6;position:relative;min-width:0;background:#8fcd72;display:flex;flex-direction:column}.world-toolbar{position:absolute;inset:17px 17px auto;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;pointer-events:none}.world-toolbar>*{pointer-events:auto}.town-label{background:#fffddd;border:2px solid #244b3c;box-shadow:3px 3px 0 #244b3c;padding:9px 13px;font:13px var(--pixel);display:flex;gap:8px;align-items:center}.town-label svg{width:16px}.day-toggle{background:#193f36e8;color:#ffffdd;border:1px solid #b7d69b;padding:9px;border-radius:5px;display:flex;gap:6px;align-items:center;font:12px var(--pixel)}.day-toggle svg{width:17px;height:17px}.world{position:relative;aspect-ratio:4/3;width:100%;flex:1;overflow:hidden}.world-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;transition:filter .8s;user-select:none}.world-art.night{opacity:0;transition:opacity 1s}.world.is-night .night{opacity:1}.world::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 75%,#163b3322);pointer-events:none}.hotspot{position:absolute;z-index:2;padding:8px 11px;border:2px solid #274b39;background:#fffce6;box-shadow:0 3px 0 #244b3c;font:11px var(--pixel);white-space:nowrap;transform:translate(-50%,-50%);border-radius:3px}.hotspot:after{content:'';position:absolute;bottom:-7px;left:calc(50% - 5px);width:8px;height:8px;background:#fffce6;border-right:2px solid #274b39;border-bottom:2px solid #274b39;transform:rotate(45deg)}.hotspot:hover{background:#e2f0b5;translate:0 -4px}.hotspot:active:not(:disabled){transform:translate(-50%,-50%)}.hotspot.gacha{left:19%;top:35%;background:#fff0a9}.hotspot.pool{left:47%;top:25%}.hotspot.collection{left:73%;top:67%}.hotspot.guide{left:39%;top:68%}.world-tip{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);padding:7px 12px;color:#fffde7;background:#123f39ce;border-radius:4px;font-size:12px;white-space:nowrap;z-index:2}.sparkle{position:absolute;z-index:1;color:#fffabe;font-size:14px;pointer-events:none;animation:twinkle 4s infinite}.s1{left:26%;top:51%}.s2{left:78%;top:36%;animation-delay:-1.4s}.s3{left:58%;top:82%;animation-delay:-2.8s}.s4{left:89%;top:65%;animation-delay:-.6s}.dialogue{display:flex;gap:15px;align-items:center;background:#fffce9;border-top:3px solid var(--ink);padding:14px 19px;position:relative;min-height:104px}.portrait{width:66px;height:68px;border:2px solid #53715a;background:#deedbc;overflow:hidden;flex-shrink:0;border-radius:5px}.portrait img{height:160px;max-width:none;width:120px;object-fit:cover;object-position:top;mix-blend-mode:multiply;transform:translate(-27px,-8px)}.speaker{font:11px var(--pixel);display:block;color:#39855d;margin-bottom:7px}.dialogue p{font-size:16px;line-height:1.45}.dialogue .next-dialogue{background:transparent;margin-left:auto;align-self:end;padding:6px;color:#45845e;animation:bob 1.5s ease-in-out infinite}.pack-panel{background:var(--paper);border:1px solid #ccd6c2;border-radius:8px;box-shadow:0 4px 0 #d9e0cf;overflow:hidden;display:flex;flex-direction:column}.pack-panel-top{padding:21px 22px 0}.eyebrow{font:11px var(--pixel);letter-spacing:.5px;color:#6c8567;margin-bottom:9px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h1,.panel-heading h2{font-size:27px;font-weight:600;letter-spacing:-.7px}.panel-heading>span{color:#849274}.pack-subtitle{font-size:14px;color:#71806c;margin-top:5px;line-height:1.5}.pack-stage{position:relative;margin:17px 20px 10px;min-height:223px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:5px;background:radial-gradient(ellipse at 50% 45%,#32775b 0,#194b3c 48%,#12382f 100%);border:1px solid #234d38}.pack-stage:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#b5d7916b 1px,transparent 1px);background-size:24px 24px;opacity:.5}.pack-stage:after{content:'';position:absolute;bottom:19px;width:105px;height:12px;border-radius:50%;background:#031f1c8a;filter:blur(5px)}.stage-caption{position:absolute;top:13px;left:13px;font:10px var(--pixel);color:#c7e1ae;z-index:2}.pack-stage img{width:200px;height:210px;object-fit:contain;z-index:1;filter:drop-shadow(0 10px 9px #001c1a66);animation:float 4s ease-in-out infinite}.stage-star{position:absolute;right:31px;top:56px;color:#fbe3a2;font-size:23px;animation:twinkle 3s infinite}.stage-star.two{left:35px;right:auto;top:151px;font-size:15px;animation-delay:1s}.pack-selector{display:flex;gap:8px;padding:0 20px;margin-bottom:17px}.pack-choice{border:1px solid #ccd5c3;border-radius:5px;padding:7px 4px;background:#f4f7ee;flex:1;display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px}.pack-choice img{width:27px;height:31px;object-fit:cover}.pack-choice.selected{background:#e3edcd;border-color:#5e8b53;box-shadow:inset 0 -2px #5e8b53}.pack-details{padding:0 22px 21px;display:flex;flex:1;flex-direction:column}.pack-price{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.pack-price strong{font-size:24px;letter-spacing:-1px}.pack-price strong small{font-size:13px;letter-spacing:0;font-weight:500}.pack-price>span{font-size:12px;color:#70816c}.primary-btn{background:#f4d878;border:2px solid #274c35;border-bottom-width:4px;border-radius:5px;font-weight:600;font-size:16px;color:#263f29;min-height:49px;display:flex;align-items:center;justify-content:center;gap:10px;width:100%}.primary-btn:hover{background:#ffe597;box-shadow:0 2px 0 #23432c}.primary-btn svg{width:18px}.secondary-btn{background:#e8eedc;border:1px solid #bacab0;border-bottom:3px solid #9eb38f;border-radius:4px;padding:11px 16px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:9px}.text-btn{background:transparent;font-size:13px;text-decoration:underline;text-underline-offset:4px;padding:8px}.pack-links{display:flex;justify-content:center;gap:12px;margin-top:9px}.pack-safe{font-size:12px;color:#798475;text-align:center;margin-top:8px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:31px 0 17px;gap:15px}.section-title h2{font:16px var(--pixel)}.section-title p{font-size:14px;color:var(--muted);margin-top:6px}.section-title .text-btn{display:flex;align-items:center;gap:7px}.chase-row{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.chase-card{display:flex;text-align:left;align-items:center;gap:12px;padding:13px;background:#fafcf5;border:1px solid #d4ddc9;border-radius:6px;min-width:0}.chase-card:hover{border-color:#779a67;box-shadow:0 4px 0 #d9e4cd;transform:translateY(-2px)}.chase-card img{width:63px;height:86px;object-fit:contain;border-radius:3px;box-shadow:2px 2px 0 #0001}.chase-card h3{font-size:15px;font-weight:600;margin:7px 0 3px}.chase-card p{font-size:12px;color:#7b8876}.rarity{font:9px var(--pixel);display:inline-block;padding:4px 6px;border-radius:3px;white-space:nowrap}.rarity.epic{background:#eee1ad;color:#735e21}.rarity.rare{background:#e8ddf5;color:#705298}.rarity.uncommon{background:#d8e9f0;color:#3a6b86}.rarity.common{background:#e4eadb;color:#5b7251}footer{border-top:1px solid #d8e0cd;margin-top:35px;padding:23px 0 28px;display:flex;align-items:center;gap:18px;color:#7a8870;font-size:12px}footer .footer-brand{font:12px var(--pixel);color:#486447}footer>div{margin-left:auto;display:flex;gap:18px;align-items:center}footer button{padding:0;background:transparent;font-size:12px}.footer-key{font:9px var(--pixel);color:#81907a}kbd{background:#e5eadc;border:1px solid #c8d2bd;border-bottom:2px solid #b7c4aa;padding:2px 4px;border-radius:3px;font:inherit}.skip-link{position:fixed;top:-70px;left:20px;background:#fff;padding:15px;z-index:100}.skip-link:focus{top:10px}.page-top{display:flex;justify-content:space-between;align-items:flex-end;margin:11px 0 26px;gap:20px}.page-top h1{font:26px var(--pixel);letter-spacing:-1.2px}.page-top p{color:var(--muted);margin-top:12px;line-height:1.5}.page-top .balance{background:#e3ebd5;border:1px solid #cad9bd;border-radius:5px;padding:12px 17px;font-size:15px;white-space:nowrap}.balance b{font-size:19px}.gacha-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gacha-grid .pack-panel{box-shadow:0 5px #d4dfc9}.gacha-grid .pack-stage{min-height:260px}.gacha-grid .pack-stage img{width:240px;height:245px}.gacha-grid .pack-details{margin-top:17px}.pack-stage.sapphire{background:radial-gradient(ellipse at 50% 45%,#426da4,#1d3557 75%)}.pack-stage.ruby{background:radial-gradient(ellipse at 50% 45%,#a55859,#562d3d 75%)}.notice{display:flex;gap:12px;align-items:flex-start;background:#e7eddb;border:1px solid #cddbbc;padding:18px 22px;line-height:1.55;border-radius:6px;font-size:14px;margin-top:25px}.notice svg{margin-top:2px}.notice strong{color:#3f6944}.notice p{color:#65765c;margin-top:3px}.collection-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:22px;flex-wrap:wrap}.search-wrap{position:relative;flex:1;min-width:180px}.search-wrap svg{position:absolute;left:13px;top:13px;color:#7c8d72}.search-wrap input{padding:12px 12px 12px 41px;width:100%;border:1px solid #c8d5bc;border-radius:5px;background:#fbfcf7;color:var(--ink)}select{padding:12px 33px 12px 13px;background:#fbfcf7;border:1px solid #c8d5bc;border-radius:5px;color:var(--ink)}.filter-btn{border:1px solid #c8d5bc;border-radius:5px;padding:12px;background:#fbfcf7}.filter-btn[aria-pressed=true]{background:#d7e8c3}.card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.card-tile{background:#fafcf5;border:1px solid #d4dec8;padding:13px;border-radius:7px;position:relative;min-width:0}.card-image-btn{border:0;padding:0;background:none;width:100%;position:relative}.card-image-btn img{width:100%;aspect-ratio:245/342;object-fit:contain;border-radius:7px;transition:transform .2s}.card-image-btn:hover img{transform:translateY(-5px) rotate(-1deg)}.card-tile h3{font-size:16px;font-weight:600;margin:10px 0 5px}.card-tile .set{font-size:12px;color:#829079;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-meta{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.favorite{border:0;background:none;padding:4px;color:#7a8c6d}.favorite.saved{color:#b88820}.favorite.saved svg{fill:#f7dd81}.empty-state{text-align:center;min-height:365px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #a9bd99;background:#f7faef;border-radius:8px;padding:35px 20px}.empty-state>svg{width:55px;height:55px;color:#729568;margin-bottom:20px}.empty-state h2{font:20px var(--pixel);margin-bottom:15px}.empty-state p{color:#78886d;line-height:1.6;max-width:350px;margin-bottom:23px}.empty-state .primary-btn{width:auto;padding:0 24px}.collection-stats{display:flex;gap:25px;font-size:14px;color:#6b7e60;margin-top:15px}.collection-stats strong{color:#244b36;font-size:18px;margin-right:5px}.local-note{font-size:12px;color:#7f8d77;margin-top:20px}.toast{position:fixed;z-index:50;bottom:28px;left:50%;transform:translate(-50%,30px);background:#163f33;color:#f7f7d8;border:1px solid #b1c78e;border-bottom:4px solid #0a281e;border-radius:5px;padding:14px 22px;box-shadow:0 10px 40px #173c3233;opacity:0;pointer-events:none;transition:.25s;max-width:90vw;width:max-content;font-size:14px}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:3px solid #214839;border-radius:9px;padding:0;width:min(580px,calc(100vw - 32px));max-height:90dvh;overflow:auto;color:var(--ink);background:#f8faef;box-shadow:0 8px 0 #17382c,0 35px 100px #001b2266}dialog::backdrop{background:#0c2929b5;backdrop-filter:blur(5px)}.modal-header{padding:21px 25px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #d3dfc7;background:#eef2e1}.modal-header h2{font:16px var(--pixel);line-height:1.5}.modal-close{width:33px;height:33px;display:flex;align-items:center;justify-content:center;background:#e1e9d3;border:1px solid #b9caa9;border-radius:4px;flex-shrink:0}.modal-body{padding:24px}.modal-body>p{line-height:1.65;color:#64765b;font-size:16px;margin-bottom:18px}.modal-body a{text-decoration:underline}.modal-body .primary-btn{margin-top:20px}.guide-step{display:flex;gap:15px;margin-bottom:24px}.step-num{background:#dceabf;font:16px var(--pixel);padding:10px;width:43px;height:43px;flex-shrink:0;text-align:center;border:1px solid #aabc92;border-bottom:3px solid #8fa773;border-radius:4px}.guide-step h3{font-size:18px;margin-bottom:5px}.guide-step p{font-size:15px;line-height:1.5;color:#6b7d62}.odds-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #dfe5d4;gap:15px}.odds-row .rarity{font-size:12px}.odds-bar{height:5px;background:#e3e9d8;border-radius:4px;margin-top:6px;overflow:hidden}.odds-bar span{display:block;height:100%;background:#66955c}.odds-footnote{font-size:13px!important;margin-top:20px}.wide-modal{width:min(950px,calc(100vw - 32px))}.pool-grid{grid-template-columns:repeat(4,1fr);gap:15px}.pool-grid .card-tile{padding:10px}.pool-grid h3{font-size:14px}.detail-card{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.detail-card>img{width:100%;border-radius:10px;box-shadow:3px 8px 22px #153e3522}.detail-card h3{font-size:25px;margin:12px 0;line-height:1.15}.detail-card p{font-size:14px;color:#6e7d63;line-height:1.6}.detail-card .secondary-btn{margin-top:20px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 0;border-bottom:1px solid #d6dfca}.setting-row label{font-size:16px;line-height:1.5}.setting-row small{display:block;font-size:13px;color:#718367}.setting-row input[type=checkbox]{width:21px;height:21px;accent-color:#398058}.setting-row input[type=range]{width:120px;accent-color:#398058}.bag-balance{background:#173f34;color:#e9f1ca;padding:22px;text-align:center;border-radius:5px;margin-bottom:15px}.bag-balance strong{font:33px var(--pixel);display:block;margin:8px}.bag-balance small{color:#9ab892}.bag-actions{display:flex;gap:10px;margin-top:18px}.bag-actions button{flex:1}.history-row{display:flex;gap:13px;align-items:center;padding:11px 0;border-bottom:1px solid #d5dfc8}.history-row img{width:40px;border-radius:3px}.history-row strong{display:block;font-size:15px}.history-row small{color:#6f8165}.history-row>span{margin-left:auto;color:#648057;font-size:13px}.open-modal{width:min(690px,calc(100vw - 24px));background:#143d33;color:#f1f4da;border-color:#90ad77}.open-modal .modal-header{background:#12372f;color:#cfe2b9;border-color:#557752}.open-modal .modal-close{background:#254c3e;color:#e1e8c4;border-color:#617b54}.reveal-body{text-align:center;position:relative;overflow:hidden;padding:24px 30px 30px;min-height:440px;background:radial-gradient(ellipse at 50% 40%,#376f52 0,transparent 65%)}.reveal-overline{font:11px var(--pixel);color:#c6dca4}.reveal-stage{height:280px;position:relative;display:flex;justify-content:center;align-items:center;margin:14px 0}.reveal-pack{height:285px;object-fit:contain;animation:float 3s infinite;cursor:pointer}.revealing .reveal-pack{animation:pack-shake .2s infinite}.reveal-stage:before{content:'';position:absolute;inset:-100px;opacity:.3;background:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0deg 20deg,#f6e6902a 20deg 40deg);animation:spin 26s linear infinite;pointer-events:none;mask-image:radial-gradient(black 0,transparent 65%)}.reveal-card{height:276px;border-radius:10px;position:relative;animation:card-arrive .65s cubic-bezier(.2,.8,.2,1) both;box-shadow:0 0 50px #dfed9577}.reveal-name{font-size:28px;font-weight:500;margin:15px 0 6px}.reveal-description{color:#c5d6ae;font-size:14px;line-height:1.6}.reveal-actions{display:flex;gap:12px;max-width:420px;margin:24px auto 0;position:relative}.reveal-actions>*{flex:1}.reveal-actions .secondary-btn{background:#244f40;color:#ecf1d3;border-color:#96b57a}.reveal-hint{font:12px var(--pixel);color:#d0e0af;margin-top:17px;line-height:1.6}.confetti{position:absolute;top:-10px;width:6px;height:10px;background:#c8e98f;animation:fall 2.4s ease-out forwards;pointer-events:none}.confirm-actions{display:flex;gap:10px;margin-top:25px}.confirm-actions button{flex:1}.error-box{background:#fff0df;border:1px solid #c19c6c;border-radius:5px;padding:18px;color:#664523;line-height:1.6}.noscript{padding:40px;text-align:center}.loading{padding:80px;text-align:center;font:18px var(--pixel)}.loading:after{content:'...';animation:twinkle 1.5s infinite}.volume-label{font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes float{0%,100%{transform:translateY(2px) rotate(-4deg)}50%{transform:translateY(-9px) rotate(-1deg)}}@keyframes bob{50%{translate:0 3px}}@keyframes twinkle{0%,100%{opacity:.2;scale:.7}50%{opacity:1;scale:1.15}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pack-shake{0%,100%{transform:translateX(-3px) rotate(-5deg)}50%{transform:translateX(3px) rotate(5deg)}}@keyframes card-arrive{from{transform:scale(.45) rotateY(90deg);opacity:0}to{transform:scale(1) rotateY(0);opacity:1}}@keyframes fall{to{transform:translateY(650px) rotate(600deg);opacity:0}}
@media(min-width:1450px){.world{aspect-ratio:4/3}.pack-stage{min-height:255px}.pack-stage img{height:245px;width:225px}.pack-panel-top{padding-top:27px}.pack-subtitle{margin-top:7px}.pack-selector{margin-bottom:22px}.pack-details{padding-bottom:27px}.pack-price{margin-bottom:21px}.pack-safe{margin-top:15px}}
@media(max-width:1150px){.header{padding:17px 24px;gap:15px}.brand{font-size:22px}.brand small{font-size:8px;letter-spacing:1px}.main-nav{gap:3px}.main-nav a{padding:10px 12px;font-size:14px}.trainer-btn{padding:10px}.app-shell{padding:0 24px}.adventure-layout{grid-template-columns:minmax(0,1fr) 310px;gap:16px}.world{min-height:410px}.world-art{object-fit:cover}.chase-card{gap:8px;padding:10px}.chase-card img{width:49px;height:70px}.chase-card h3{font-size:13px}.chase-card p{font-size:11px}.card-grid{grid-template-columns:repeat(4,1fr)}.location-sub{display:none}.footer-key{display:none}.pack-stage{min-height:214px;margin-top:15px}.pack-stage img{height:200px}.panel-heading h1,.panel-heading h2{font-size:25px}}
@media(max-width:900px){.header{flex-wrap:wrap;row-gap:14px;padding-bottom:0;min-height:auto}.main-nav{order:3;flex-basis:100%;justify-content:center;border-top:1px solid #e3e8da;padding:9px 0;gap:18px}.main-nav a{font-size:15px;padding:9px 18px}.main-nav a[aria-current=page]{background:#e9efdc}.header-actions{margin-left:auto}.world{min-height:400px}.world-art{object-fit:cover;object-position:50% 50%}.adventure-layout{grid-template-columns:minmax(0,1fr) 280px;gap:14px}.pack-panel-top{padding:17px 17px 0}.pack-selector{padding:0 14px;gap:4px}.pack-choice{font-size:10px}.pack-stage{margin:15px 14px 10px}.pack-details{padding:0 17px 18px}.dialogue{padding:12px;gap:10px}.dialogue p{font-size:14px}.portrait{width:47px;height:60px}.portrait img{transform:translate(-37px,-8px)}.hotspot{font-size:9px;padding:7px 9px}.town-label{font-size:10px;padding:8px}.day-toggle .day-text{display:none}.world-toolbar{inset:12px 10px auto}.chase-row{grid-template-columns:repeat(2,1fr)}.chase-card img{width:56px;height:77px}.chase-card h3{font-size:16px}.chase-card p{font-size:12px}.gacha-grid{gap:13px}.gacha-grid .pack-stage{min-height:205px}.gacha-grid .pack-stage img{height:215px}.gacha-grid .panel-heading h2{font-size:22px}.gacha-grid .pack-links{gap:0}.gacha-grid .text-btn{font-size:12px}.gacha-grid .pack-price{align-items:flex-start;gap:5px;flex-direction:column}.card-grid{grid-template-columns:repeat(3,1fr)}footer{gap:10px}footer>span:nth-child(2){display:none}}
@media(max-width:700px){.header{padding:15px 17px 0;gap:10px}.brand{font-size:22px}.brand-gem{font-size:35px}.brand small{font-size:7px;letter-spacing:1px}.trainer-btn{background:none;color:#214b38;padding:9px;border:1px solid #ccd9bd}.trainer-btn>span:last-child{display:none}.header-actions{gap:6px}.icon-btn{width:38px;height:38px}.main-nav{gap:0;justify-content:space-between;margin-top:5px;padding:8px 0}.main-nav a{padding:9px 14px;font-size:14px;gap:6px}.main-nav a svg{width:16px;height:16px}.collection-count{font-size:10px}.app-shell{padding:0 16px}.location-bar{padding:17px 0;font-size:10px;gap:6px}.demo-badge{font-size:8px;padding:6px;gap:5px}.demo-badge svg{display:none}.adventure-layout{grid-template-columns:1fr}.world{aspect-ratio:4/3;min-height:0;flex:none}.world-art{object-fit:cover}.world-frame{border-width:2px;box-shadow:0 3px #becbb6}.town-label{font-size:10px}.world-tip{font-size:10px;padding:5px 8px;bottom:10px}.dialogue{min-height:89px;padding:12px}.dialogue p{font-size:14px;line-height:1.4}.speaker{font-size:10px}.hotspot{font-size:8px;padding:6px 8px}.portrait{width:49px;height:58px}.pack-panel{display:grid;grid-template-columns:42% 58%;grid-template-rows:auto 1fr auto;position:relative}.pack-panel-top{grid-column:2;padding:20px 16px 0 5px}.panel-heading h1,.panel-heading h2{font-size:23px}.panel-heading>span{display:none}.eyebrow{font-size:9px;margin-bottom:7px}.pack-subtitle{font-size:12px}.pack-stage{grid-column:1;grid-row:1/3;min-height:190px;margin:14px 12px 8px 14px}.pack-stage img{width:150px;height:188px}.stage-caption{font-size:8px;left:8px;top:9px}.stage-star{right:12px;top:44px;font-size:16px}.stage-star.two{left:13px;top:141px;font-size:12px}.pack-selector{grid-column:1;grid-row:3;padding:0 12px 14px 14px;margin:0;gap:5px}.pack-choice{padding:4px;min-height:34px}.pack-choice img{width:24px;height:29px}.pack-choice span{display:none}.pack-details{grid-column:2;grid-row:2/4;padding:11px 16px 14px 5px;justify-content:end}.pack-price{margin-bottom:10px;gap:7px;align-items:flex-start;flex-direction:column}.pack-price strong{font-size:22px}.pack-price>span{font-size:11px}.primary-btn{font-size:14px;min-height:44px;gap:6px}.pack-links{gap:4px;margin-top:5px}.text-btn{font-size:12px;padding:7px 4px}.pack-safe{font-size:10px;margin-top:3px}.section-title{margin-top:25px;gap:8px}.section-title h2{font-size:13px}.section-title p{font-size:12px}.section-title .text-btn{font-size:11px}.chase-row{gap:9px}.chase-card{padding:9px;gap:8px}.chase-card img{width:47px;height:65px}.chase-card h3{font-size:13px;line-height:1.2;margin:5px 0}.chase-card p{font-size:10px}.rarity{font-size:8px;padding:3px 4px}footer{margin-top:28px;padding:21px 0;flex-wrap:wrap;font-size:11px;gap:15px}footer .footer-brand{font-size:11px}footer>div{gap:15px}footer button{font-size:11px}.page-top{margin-top:7px;display:block}.page-top h1{font-size:23px}.page-top p{font-size:14px}.page-top .balance{display:inline-block;margin-top:15px;font-size:13px;padding:9px 13px}.gacha-grid{grid-template-columns:1fr;gap:18px}.gacha-grid .pack-panel{grid-template-rows:auto 1fr}.gacha-grid .pack-stage{grid-row:1/3;margin-bottom:14px;min-height:220px}.gacha-grid .pack-stage img{height:220px}.gacha-grid .pack-details{grid-row:2;margin-top:0;padding-top:13px}.gacha-grid .pack-price{flex-direction:row;align-items:center}.gacha-grid .pack-links{gap:16px}.notice{padding:16px;font-size:13px;gap:10px}.card-grid{grid-template-columns:repeat(2,1fr);gap:11px}.card-tile{padding:10px}.card-tile h3{font-size:14px}.card-tile .set{font-size:10px}.tile-meta{margin-top:10px}.collection-toolbar{gap:8px}.search-wrap{flex-basis:100%}.collection-toolbar select{flex:1;min-width:0;font-size:14px;padding:11px 24px 11px 10px}.filter-btn{padding:10px;font-size:13px}.collection-stats{gap:18px;font-size:12px}.collection-stats strong{font-size:16px}.modal-header{padding:16px 18px}.modal-header h2{font-size:13px}.modal-body{padding:20px}.modal-body>p{font-size:15px}.detail-card{gap:15px}.detail-card h3{font-size:21px}.detail-card p{font-size:12px}.detail-card .secondary-btn{font-size:12px;padding:10px}.pool-grid{grid-template-columns:repeat(2,1fr)}.reveal-body{padding:20px 20px 24px}.reveal-stage{height:275px}.reveal-name{font-size:25px}.reveal-actions{gap:8px}.reveal-actions .secondary-btn{font-size:13px;padding:9px}.reveal-description{font-size:13px}.bag-actions{flex-wrap:wrap}.bag-actions button{flex-basis:100%}.setting-row input[type=range]{width:100px}.empty-state h2{font-size:17px}}
@media(max-width:365px){.brand{font-size:19px}.brand small{font-size:6px}.header-actions{gap:4px}.trainer-btn{padding:7px}.main-nav a{padding:9px 8px}.location-bar{font-size:9px}.app-shell{padding:0 12px}.pack-panel-top{padding-right:10px}.panel-heading h1{font-size:21px}.pack-details{padding-right:10px}.primary-btn{font-size:12px}.pack-links{gap:6px}.pack-links .text-btn{font-size:10px}.hotspot{font-size:7px}.chase-card{gap:6px;padding:7px}.chase-card img{width:40px;height:58px}.chase-card h3{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation:none!important;transition:none!important}
/* Keep the map destinations readable and usable on small touch screens. */
.short-label{display:none}.adventure-layout #active-pack>.pack-panel{height:100%}
@media(max-width:700px){.hotspot{font-size:12px;min-height:34px;padding:7px 8px}.hotspot .full-label{display:none}.hotspot .short-label{display:inline}.dialogue p{font-size:16px}.speaker{font-size:12px}.pack-subtitle{font-size:14px}.pack-stage{min-height:210px}.pack-price>span{font-size:12px}.pack-safe{font-size:12px}.pack-choice{min-height:40px}.gacha-grid .pack-panel-top{padding-top:18px}.chase-card p{font-size:12px}.card-tile .set{font-size:12px}.local-note{line-height:1.5}}
@media(max-width:365px){.hotspot.pool{top:33%}}
@media(min-width:1151px){.app-shell{max-width:1320px}.world{max-height:560px}.adventure-layout #active-pack .pack-stage{flex:1;min-height:250px}.adventure-layout #active-pack .pack-stage img{height:260px;width:240px}.adventure-layout #active-pack .pack-details{flex:0}.adventure-layout #active-pack .pack-stage .stage-caption{font-size:9px}}
/* GEMERALD v2 — cartridge-era menus and a cleaner play surface. */
:root{--ink:#214234;--paper:#f5f5dc;--cream:#ffffe4;--body:'VT323',monospace;font-family:var(--body);font-size:18px;background:#18493e;color:#203f31}body{background:radial-gradient(ellipse at 50% 0,#2b6b58,transparent 65%),repeating-linear-gradient(0deg,#163f3700 0 3px,#092a2115 3px 4px);min-height:100svh}button,input,select{font-family:var(--body);font-size:20px}button{border-radius:0!important}h1,h2,h3{font-weight:400!important}.header{max-width:1380px;margin:auto;background:transparent;border:0;padding:19px 30px;min-height:96px;gap:30px}.brand{padding:0;background:none;width:235px;flex-shrink:0;display:block;line-height:0}.brand img{width:100%;height:auto;filter:drop-shadow(0 3px 0 #092e2a)}.main-nav{gap:10px}.main-nav a{font:12px var(--pixel);padding:13px 17px;color:#edf2ca;border:2px solid #0e362c;border-radius:0;background:#305a45;box-shadow:inset 0 0 0 1px #62806a,0 3px #0b2c26;gap:8px}.main-nav a:hover{background:#436d50}.main-nav a[aria-current=page]{background:#f6e59c;color:#284630;border-color:#153c2d;box-shadow:inset 0 0 0 2px #fffae1,0 3px #0b2c26}.main-nav a[aria-current=page]:before{content:'▶';font-size:9px}.main-nav a svg{display:none}.collection-count{font:11px var(--pixel);background:#567456;color:#fffede;border-radius:0;padding:3px 4px}.header-actions{gap:9px}.icon-btn{background:#305a45;border:2px solid #10392f;box-shadow:inset 0 0 0 1px #617c62;color:#e7edc8;width:43px;height:43px}.trainer-btn{background:#123c31;color:#f5efc9;border:2px solid #0a2b22;box-shadow:inset 0 0 0 1px #709477;display:flex;align-items:center;gap:11px;padding:10px 13px;font:12px var(--pixel);white-space:nowrap}.wallet-demo{font:9px var(--pixel);color:#b4cc9d;border-right:1px solid #638661;padding-right:10px}.app-shell{max-width:1380px;padding:0 30px}.location-bar{padding:3px 1px 15px;color:#c3d6ac;font:11px var(--pixel)}.tiny-diamond{color:#88b282}.location-bar>div{gap:9px}.demo-badge{font:9px var(--pixel);padding:5px 8px;background:transparent;border:1px solid #6c8d66;color:#c2d6ac}.live-dot{display:none}.demo-badge svg{width:12px;height:12px}.adventure-layout{grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:stretch}.world-frame{border:3px solid #103e31;border-radius:0;box-shadow:0 0 0 2px #92b184,0 0 0 5px #123b2d,0 7px 0 5px #092b23;background:#99cb79}.world{min-height:0;max-height:none;aspect-ratio:4/3}.world-art{object-fit:cover;image-rendering:auto}.world-toolbar{inset:15px 14px auto}.town-label{background:#f5f3ce;border:2px solid #2e4b33;box-shadow:inset 0 0 0 2px #fdfbe6,3px 3px 0 #183e2c;padding:9px 13px;font:12px var(--pixel)}.day-toggle{background:#2b5940df;border:2px solid #0c3629;color:#ffffd4;box-shadow:inset 0 0 0 1px #759564;padding:9px}.hotspot{font:12px var(--pixel);min-height:36px;background:#fcf5c6;border:2px solid #315334;box-shadow:inset 0 0 0 2px #fffde5,3px 3px 0 #143725;display:flex;align-items:center;gap:8px}.hotspot.gacha{left:19%;top:35%;background:#fff0a7}.hotspot.gacha:before{content:'▶';font-size:8px}.hotspot:hover{translate:0 -3px}.dialogue{background:#fcfbe1;padding:14px 18px;min-height:104px;border-top:4px solid #314b37;box-shadow:inset 0 0 0 3px #b7c898, inset 0 0 0 5px #fdfde9;gap:14px}.speaker{font:11px var(--pixel);color:#536e42;margin-bottom:5px}.dialogue p{font:25px/1.1 var(--body);letter-spacing:.15px}.portrait{border:2px solid #6c8656;border-radius:0;background:#e7edbb;width:62px;height:66px}.portrait img{transform:translate(-29px,-8px)}.next-dialogue{font-size:18px}.pack-panel{background:#f3f4d8;border:3px solid #123e2c;border-radius:0;box-shadow:0 0 0 2px #92b184,0 0 0 5px #123b2d,0 7px 0 5px #092b23;overflow:visible;position:relative;display:flex;flex-direction:column;padding:0 0 2px}.pack-panel:after{content:'';position:absolute;inset:0;border:3px solid #c9d4ad;pointer-events:none}.pack-panel-top{padding:20px 19px 0}.eyebrow{font:10px var(--pixel);letter-spacing:1px;color:#668155;margin-bottom:9px}.panel-heading h1,.panel-heading h2{font:20px var(--pixel);letter-spacing:0;line-height:1.35}.pack-stage{margin:15px 15px 13px;min-height:245px;border-radius:0;border:3px solid #224a36;background:radial-gradient(ellipse at 50% 45%,#4c9568,#204d3c 80%);box-shadow:inset 0 0 0 2px #87a67d;flex:1}.pack-stage:before{opacity:.16;background-size:22px 22px}.pack-stage:after{bottom:20px;opacity:.55}.pack-stage img{height:260px;width:245px;animation:idle-pack 5s ease-in-out infinite;filter:drop-shadow(0 9px 0 #092a2929)}.adventure-layout #active-pack .pack-stage img{width:245px;height:260px}.stage-star{font-size:22px;right:21px;top:48px;color:#e5eda2}.stage-star.two{font-size:14px;left:22px;top:auto;bottom:49px}.pack-selector{gap:6px;padding:0 15px;margin-bottom:13px}.pack-choice{background:#e0e6bc;border:2px solid #8eab77;padding:7px 2px;min-height:46px;position:relative;box-shadow:inset 0 0 0 1px #f7fad7;flex-direction:column;gap:3px;font:17px var(--body)}.pack-choice img{display:none}.pack-choice.selected{background:#f6e9a4;border-color:#3c6b46;box-shadow:inset 0 0 0 2px #fffcd9,0 2px #416141}.pack-choice.selected:before{content:'▼';font-size:9px;position:absolute;top:-7px;color:#345132;background:#f6e9a4;padding:0 2px}.pack-details{padding:0 15px 12px;flex:0}.primary-btn{font:12px/1.4 var(--pixel);background:#f4d575;color:#2a4630;border:2px solid #305734;border-bottom:4px solid #305734;box-shadow:inset 0 0 0 2px #fff2ad;min-height:52px;gap:7px}.primary-btn:hover{background:#ffe795;box-shadow:inset 0 0 0 2px #fff6c9,0 2px #244e2e}.primary-btn:disabled{opacity:.4}.select-caret{font-size:9px}.secondary-btn{font:11px/1.5 var(--pixel);background:#dee7ba;border:2px solid #6f8a5c;box-shadow:inset 0 0 0 2px #eef4d0;padding:12px 14px;border-bottom:4px solid #6f8a5c}.pack-links{margin-top:9px;gap:32px}.text-btn{font:11px var(--pixel);text-decoration:none;padding:7px 3px;color:#526f46}.text-btn:hover{text-decoration:underline}.pack-safe{display:none}.gacha-grid{gap:24px}.gacha-grid .pack-panel{box-shadow:0 0 0 2px #92b184,0 0 0 5px #123b2d,0 7px 0 5px #092b23}.gacha-grid .pack-stage{min-height:340px}.gacha-grid .pack-stage img{height:310px;width:290px}.gacha-grid .pack-panel-top{padding:23px 22px 0}.gacha-grid .pack-details{margin-top:0;padding-bottom:15px}.gacha-grid .pack-stage.sapphire{background:radial-gradient(ellipse at 50% 45%,#4b83ad,#1a405a 80%);box-shadow:inset 0 0 0 2px #799fad}.gacha-grid .pack-stage.ruby{background:radial-gradient(ellipse at 50% 45%,#b4665e,#603542 80%);box-shadow:inset 0 0 0 2px #b48a76}footer{margin-top:28px;border:0;color:#a1bb94;padding:7px 0 22px;gap:22px;font:9px var(--pixel)}footer button{font:9px var(--pixel);color:#b4c9a3}.footer-controls{color:#86a17c;font-size:8px}footer>div{gap:22px}.page-top{margin:14px 0 29px;color:#f5f4cf;align-items:center}.page-top h1{font:23px var(--pixel);letter-spacing:0}.page-top p{display:none}.collection-stats{margin-top:17px;color:#b6cda0;font-size:20px}.collection-stats strong{font-size:23px;color:#f2f2cc}.collection-toolbar{margin-top:20px}.collection-toolbar input,.collection-toolbar select,.filter-btn{background:#eff2d1;border:2px solid #8aa274;border-radius:0;box-shadow:inset 0 0 0 1px #ffffdf;font-size:21px;padding-top:10px;padding-bottom:10px}.card-tile{background:#f1f3d9;border:3px solid #688862;border-radius:0;padding:13px;box-shadow:inset 0 0 0 2px #fcfce6}.card-tile h3{font-size:23px;line-height:1}.card-tile .set{font-size:17px}.rarity{font:9px var(--pixel);border-radius:0;padding:5px 7px}.card-image-btn img{border-radius:8px}.local-note{font-size:18px;color:#9bb98a}.empty-state{background:#e4ecc7;border:3px solid #6a8d61;border-radius:0;box-shadow:inset 0 0 0 3px #f6f7da}.empty-state p{font-size:23px}.empty-state h2{font-size:19px}.empty-state .primary-btn{font-size:12px}.notice{background:#e6ebcc;border-radius:0;border:2px solid #96aa7b;font-size:22px}.toast{font:22px var(--body);border-radius:0;background:#fffbdc;color:#294832;border:3px solid #5c7d4e;box-shadow:inset 0 0 0 2px #d2dfb5,0 4px #092b24;line-height:1.15;padding:14px 21px}.modal-header{background:#e5eac9;border-bottom:3px solid #779263;box-shadow:inset 0 0 0 2px #f6f5d8;padding:17px 21px}.modal-header h2{font:13px/1.5 var(--pixel)}dialog{background:#f7f5dc;border:3px solid #254d31;border-radius:0;box-shadow:0 0 0 3px #a3b38b,0 0 0 6px #254d31,0 25px 80px #021e2299;width:min(600px,calc(100vw - 32px))}dialog::backdrop{background:#052f299c;backdrop-filter:blur(3px)}.modal-close{background:#dce5b9;border:2px solid #88a271;width:33px;height:33px}.modal-body{padding:25px}.modal-body>p{font-size:23px;line-height:1.2;color:#4b6845}.modal-body .eyebrow{font:11px var(--pixel)}.guide-step h3{font-size:26px}.guide-step p{font-size:22px;line-height:1.2}.odds-footnote{font-size:20px!important;line-height:1.2}.odds-row strong{font-size:26px}.detail-card p{font-size:21px;line-height:1.15}.detail-card h3{font-size:32px}.detail-card .secondary-btn{font-size:10px}.wide-modal{width:min(950px,calc(100vw - 32px))}.pool-grid .card-tile h3{font-size:22px}.bag-balance{background:#24533e;color:#f4f2bf;border:3px solid #698b58;border-radius:0;box-shadow:inset 0 0 0 2px #173b2d;padding:22px}.bag-balance .eyebrow{color:#b4ce92}.bag-balance strong{font:40px var(--body);margin:7px 0}.bag-balance strong small{font:19px var(--pixel);color:#e0e8b6}.wallet-disclosure{font-size:20px!important;text-align:center}.full-width{width:100%;font-size:10px}.setting-row{padding:18px 0;border-color:#c1cdaa}.setting-row label{font-size:23px}.bag-actions{margin-top:23px}.bag-actions .secondary-btn{font-size:10px;padding:12px 8px}.history-row strong{font-size:24px}.history-row small,.history-row>span{font-size:18px}.setting-row input[type=range]{accent-color:#447944}.error-box{font-size:24px;border-radius:0}.loading{color:#e7edb8}.skip-link{font:18px var(--pixel)}
/* The title screen uses the supplied artwork as its reference, with real controls above it. */
.title-active{overflow:hidden}.title-active #game-shell{visibility:hidden}.start-screen{position:fixed;inset:0;z-index:60;overflow:hidden;background:#075998;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:100svh}.start-screen[hidden]{display:none}.title-world{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;animation:title-world-drift 16s ease-in-out infinite;z-index:-3}.title-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#062e7622 0,transparent 37%,#03473b22 65%,#073c528a 100%)}.start-screen:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#092d5712 3px 4px);pointer-events:none;z-index:5}.title-center{width:min(810px,70vw);position:absolute;left:50%;top:48%;transform:translate(-50%,-25%);display:flex;align-items:center;flex-direction:column}.title-logo{width:100%;height:auto;filter:drop-shadow(0 6px 0 #042b5970);animation:logo-breathe 6s ease-in-out infinite;pointer-events:none}.start-button{margin-top:39px;padding:17px 29px;background:#fbf4cce8;box-shadow:inset 0 0 0 3px #fcffe6,0 0 0 3px #1e4433,0 0 0 6px #fbefa8,0 7px 0 6px #18483366;color:#1b432e;font:18px var(--pixel);letter-spacing:2px;min-width:270px;position:relative;border:3px solid #698547;text-shadow:1px 1px #fff}.start-button:before{content:'▶';font-size:12px;position:absolute;left:13px;top:22px;animation:start-caret 1.6s steps(2,end) infinite}.start-button:hover{background:#fff3aa;translate:0 -3px}.start-hint{font:10px var(--pixel);color:#e6f8d9;text-shadow:2px 2px #06453f;margin-top:24px;letter-spacing:1px}.title-sound{position:absolute;right:25px;top:25px;padding:12px 15px;color:#f1f8d5;background:#0c386499;border:2px solid #c8e6c4;font:11px var(--pixel);z-index:2}.title-demo{position:absolute;bottom:25px;left:0;right:0;text-align:center;font:10px var(--pixel);color:#d0eee0;text-shadow:2px 2px #06493f}.title-motes{position:absolute;inset:0;pointer-events:none;z-index:-1}.title-motes i{position:absolute;color:#fff4a7;font-style:normal;animation:title-sparkle 5s ease-in-out infinite;text-shadow:0 0 10px #fff8b5}.title-motes i:nth-child(1){left:41%;top:30%;font-size:26px}.title-motes i:nth-child(2){left:86%;top:45%;font-size:18px;animation-delay:-2s}.title-motes i:nth-child(3){left:66%;top:19%;font-size:14px;animation-delay:-1s}.title-motes i:nth-child(4){left:17%;top:68%;font-size:22px;animation-delay:-3s}.title-motes i:nth-child(5){left:57%;top:77%;font-size:12px;animation-delay:-4s}.title-motes i:nth-child(6){left:33%;top:53%;font-size:15px;animation-delay:-1.5s}.start-screen.leaving{pointer-events:none;animation:title-leave .62s cubic-bezier(.65,0,.35,1) both}.start-screen.leaving .title-center{animation:title-center-leave .6s ease both}
/* One continuous opening: foil peel, card lift, then a still result. */
.open-modal.cinematic{width:min(650px,calc(100vw - 30px));background:#163f35;color:#f5f4d5;border-color:#14392c;overflow:hidden;box-shadow:0 0 0 3px #91a877,0 0 0 6px #163b2d,0 35px 90px #011a1899}.cinematic .modal-header{background:#173f32;border-bottom:2px solid #6e885b;box-shadow:inset 0 0 0 2px #29593f;padding:15px 20px}.cinematic .modal-header h2{font-size:12px;color:#dce8b9}.cinematic .modal-close{background:#315740;color:#e9efd0;border-color:#8aa471}.opening-ritual{position:relative;text-align:center;padding:24px 24px 25px;background:radial-gradient(ellipse at 50% 43%,#41765555,transparent 66%);min-height:590px;isolation:isolate;overflow:hidden}.ritual-label{font:12px var(--pixel);color:#d4dfac;letter-spacing:1px;min-height:18px}.ritual-stage{height:350px;position:relative;margin:12px auto 0;display:grid;place-items:center;perspective:900px;width:min(380px,100%)}.foil-object{position:absolute;width:320px;height:320px;top:15px;left:50%;margin-left:-160px;transform-origin:50% 65%;animation:pack-anticipation 1s cubic-bezier(.4,0,.2,1) both;z-index:3;will-change:transform}.foil-piece{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 8px #042c2844);will-change:transform,opacity}.foil-top{clip-path:inset(0 0 82% 0);animation:seal-peel .65s .65s cubic-bezier(.3,.8,.3,1) both;transform-origin:78% 18%;z-index:2}.foil-body{clip-path:inset(18% 0 0 0);animation:wrapper-fall .65s .95s cubic-bezier(.4,0,.5,1) both}.tear-glint{position:absolute;left:16%;right:18%;top:17%;height:2px;background:#fcf5bc;box-shadow:0 0 12px 2px #eee9b599;transform-origin:left;animation:seal-light .5s .4s ease-in-out both}.reward-object{height:307px;width:220px;position:absolute;top:19px;left:50%;margin-left:-110px;z-index:2;opacity:0;transform:translateY(45px) rotateY(70deg) scale(.85);animation:reward-lift .85s 1.25s cubic-bezier(.16,1,.3,1) forwards;filter:drop-shadow(0 16px 16px #041f2788)}.reward-image{width:100%;height:100%;object-fit:contain;border-radius:9px;position:relative;z-index:1}.reward-sheen{position:absolute;inset:0;overflow:hidden;border-radius:9px;z-index:2;pointer-events:none}.reward-sheen:after{content:'';position:absolute;inset:-60% -100%;background:linear-gradient(110deg,transparent 42%,#f7ffeb66 49%,transparent 56%);transform:translateX(-70%);animation:foil-sheen 1.2s 1.7s ease-in-out forwards}.reveal-aura{position:absolute;width:310px;height:310px;top:15px;left:50%;margin-left:-155px;border-radius:50%;background:radial-gradient(#aad88a55,transparent 68%);opacity:0;animation:aura-appear 1s 1.05s ease-out forwards;filter:blur(10px)}.opening-ritual[data-rarity=epic] .reveal-aura{background:radial-gradient(#e9cd7377,#78b78a22 48%,transparent 70%);width:360px;height:360px;margin-left:-180px;top:-10px}.ritual-result{opacity:0;transform:translateY(8px);pointer-events:none;min-height:140px;transition:opacity .3s ease,transform .4s cubic-bezier(.2,.8,.2,1)}.ritual-result .rarity{font-size:10px;padding:7px 9px}.ritual-result h3{font:34px var(--body);margin:11px 0 4px;line-height:1}.ritual-result p{font:20px var(--body);color:#b4c79b}.ritual-result .reveal-actions{max-width:none;gap:12px;margin:22px 0 5px}.ritual-result .primary-btn,.ritual-result .secondary-btn{font:11px var(--pixel);min-height:48px}.ritual-result .secondary-btn{background:#315740;color:#e3edc6;border-color:#89a577;box-shadow:inset 0 0 0 2px #486f4e}.skip-reveal{position:absolute;bottom:76px;left:50%;transform:translateX(-50%);background:none;color:#d1dfa8;padding:13px 25px;font:11px var(--pixel);border:1px solid #719465}.skip-reveal:active:not(:disabled){transform:translateX(-50%)}.skip-reveal[hidden]{display:none}.ritual-demo{display:block;font:8px var(--pixel);color:#8fac81;margin-top:15px}.finished .foil-object{display:none}.finished .reward-object{animation:none;opacity:1;transform:none}.finished .reveal-aura{animation:none;opacity:1}.finished .ritual-result{opacity:1;transform:none;pointer-events:auto}.finished .ritual-label{color:#e4e7b4}
@keyframes idle-pack{0%,100%{transform:translateY(3px) rotate(-2deg)}50%{transform:translateY(-6px) rotate(1deg)}}@keyframes pack-anticipation{0%{transform:translateY(20px) scale(.92);opacity:0}35%{transform:translateY(0) scale(1);opacity:1}65%{transform:translateY(-3px) rotate(-2deg)}100%{transform:translateY(0) rotate(0)}}@keyframes seal-peel{0%{transform:none;opacity:1}45%{transform:translate(8px,-13px) rotate(7deg);opacity:1}100%{transform:translate(60px,-65px) rotate(24deg);opacity:0}}@keyframes wrapper-fall{0%{transform:none;opacity:1}100%{transform:translateY(88px) rotate(-5deg) scale(.97);opacity:0}}@keyframes seal-light{0%{transform:scaleX(0);opacity:0}40%{opacity:.75}100%{transform:scaleX(1);opacity:0}}@keyframes reward-lift{0%{transform:translateY(45px) rotateY(70deg) scale(.85);opacity:0}25%{opacity:1}100%{transform:translateY(0) rotateY(0) scale(1);opacity:1}}@keyframes foil-sheen{0%{transform:translateX(-70%)}100%{transform:translateX(70%)}}@keyframes aura-appear{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes title-world-drift{0%,100%{transform:scale(1.015) translateY(0)}50%{transform:scale(1.04) translateY(-.5%)}}@keyframes logo-breathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(.5deg)}}@keyframes start-caret{50%{opacity:.25}}@keyframes title-sparkle{0%,100%{opacity:.15;transform:translateY(6px) scale(.7)}50%{opacity:.9;transform:translateY(-8px) scale(1)}}@keyframes title-leave{0%{opacity:1;filter:brightness(1)}35%{filter:brightness(1.15)}100%{opacity:0;filter:brightness(1);transform:scale(1.025)}}@keyframes title-center-leave{to{opacity:0;translate:0 -20px}}
@media(min-width:1151px){.world{max-height:570px}.adventure-layout #active-pack .pack-stage{min-height:275px}.adventure-layout #active-pack .pack-stage img{height:300px;width:280px}}
@media(max-width:1150px){.header{padding:18px 24px;gap:16px}.brand{width:190px}.main-nav a{padding:12px 13px;font-size:11px}.trainer-btn{font-size:10px;gap:6px}.wallet-demo{font-size:8px;padding-right:6px}.app-shell{padding:0 25px}.adventure-layout{grid-template-columns:minmax(0,1fr) 275px}.pack-stage{min-height:250px}.pack-stage img,.adventure-layout #active-pack .pack-stage img{width:225px;height:245px}.panel-heading h1,.panel-heading h2{font-size:18px}.dialogue p{font-size:23px}.gacha-grid .pack-stage{min-height:285px}.gacha-grid .pack-stage img{height:265px}.title-center{width:69vw;top:45%}}
@media(max-width:900px){.header{padding:15px 24px 8px;row-gap:16px}.brand{width:205px}.main-nav{order:3;border:0;padding:0;justify-content:center;gap:14px}.main-nav a{flex:1;justify-content:center;padding:12px;font-size:12px}.header-actions{margin-left:auto}.trainer-btn{font-size:11px}.app-shell{padding:0 24px}.location-bar{padding:9px 0 15px}.adventure-layout{grid-template-columns:minmax(0,1fr) 250px;gap:17px}.pack-panel-top{padding:17px 15px 0}.pack-stage{margin:12px;min-height:220px}.pack-selector{padding:0 12px;gap:4px}.pack-choice{font-size:16px;min-height:41px}.pack-details{padding:0 12px 10px}.primary-btn{font-size:11px;min-height:48px}.pack-links{gap:25px}.world-toolbar{inset:12px 10px auto}.town-label{font-size:10px;padding:9px 11px}.dialogue{padding:13px;gap:10px}.portrait{width:47px;height:58px}.portrait img{transform:translate(-36px,-8px)}.dialogue p{font-size:22px}.speaker{font-size:10px}.hotspot{font-size:10px}.world{min-height:375px}.gacha-grid{gap:19px}.gacha-grid .pack-panel-top{padding:18px 14px 0}.gacha-grid .panel-heading h2{font-size:16px}.gacha-grid .pack-stage{min-height:230px}.gacha-grid .pack-stage img{height:225px;width:210px}.gacha-grid .primary-btn{font-size:10px}.title-world{object-fit:cover;object-position:48% center}.title-center{width:77vw;top:46%}.footer-controls{display:none}}
@media(max-width:700px){:root{font-size:18px}.header{padding:14px 16px 9px;gap:12px}.brand{width:165px}.header-actions{gap:5px}.icon-btn{width:35px;height:38px}.icon-btn svg{width:17px}.trainer-btn{padding:8px 8px;display:flex;flex-direction:column;gap:4px;font-size:9px;min-height:40px}.trainer-btn>span:last-child{display:block}.wallet-demo{border:0;padding:0;font-size:6px;letter-spacing:1px}.main-nav{margin:0;gap:9px;padding:0}.main-nav a{font-size:10px;padding:11px 10px;gap:5px}.main-nav a[aria-current=page]:before{font-size:7px}.collection-count{font-size:8px}.app-shell{padding:0 16px}.location-bar{font-size:9px;padding:7px 0 14px}.demo-badge{font-size:8px;padding:4px 7px}.adventure-layout{grid-template-columns:1fr;gap:23px}.world{min-height:0;aspect-ratio:4/3}.world-frame{border:2px solid #123e30;box-shadow:0 0 0 2px #96b17e,0 0 0 4px #123b2d,0 5px 0 4px #092b23}.world-toolbar{inset:12px 11px auto}.town-label{font-size:10px;padding:8px 10px}.day-toggle{padding:8px}.hotspot{font-size:11px;min-height:33px;padding:7px 10px}.hotspot.gacha{left:21%;top:36%}.dialogue{min-height:90px;padding:12px;gap:11px;border-top:3px solid #314b37}.dialogue p{font-size:22px;line-height:1.05}.portrait{width:45px;height:52px}.portrait img{transform:translate(-37px,-8px)}.speaker{font-size:9px;margin-bottom:6px}.next-dialogue{font-size:15px}.pack-panel{display:grid;grid-template-columns:43% 57%;grid-template-rows:auto 1fr auto;min-height:267px;border-width:2px}.pack-panel-top{grid-column:2;grid-row:1;padding:19px 14px 0 3px}.pack-panel-top .eyebrow{font-size:8px;margin-bottom:7px}.panel-heading h1,.panel-heading h2{font-size:17px;letter-spacing:-.5px}.pack-stage{grid-column:1;grid-row:1/4;margin:12px 12px 13px 12px;min-height:236px;height:calc(100% - 25px);border-width:2px}.pack-stage img,.adventure-layout #active-pack .pack-stage img{height:200px;width:175px;max-width:none}.stage-star{right:11px;top:25px;font-size:17px}.stage-star.two{left:12px;bottom:36px;font-size:12px}.pack-selector{grid-column:2;grid-row:2;padding:10px 14px 0 3px;margin:0;gap:5px;align-items:end}.pack-choice{min-height:45px;padding:5px 2px;flex-direction:row;border-width:1px}.pack-choice img{display:block;width:30px;height:34px;object-fit:contain}.pack-choice span{display:none}.pack-choice.selected{box-shadow:inset 0 0 0 1px #fffcd9,0 2px #416141}.pack-details{grid-column:2;grid-row:3;padding:12px 14px 12px 3px;justify-content:start;min-width:0}.primary-btn{font-size:10px;min-height:48px;padding:5px 5px;gap:4px}.select-caret{font-size:7px}.pack-links{gap:25px;margin-top:7px}.text-btn{font-size:9px;padding:7px 2px}.pack-stage:after{width:70px;bottom:35px}.gacha-grid{grid-template-columns:1fr;gap:23px}.gacha-grid .pack-panel{grid-template-rows:auto 1fr;min-height:250px}.gacha-grid .pack-stage{grid-row:1/3;min-height:225px;height:calc(100% - 25px);margin:12px}.gacha-grid .pack-stage img{height:210px;width:180px}.gacha-grid .pack-panel-top{padding:28px 14px 0 3px}.gacha-grid .panel-heading h2{font-size:18px}.gacha-grid .pack-details{grid-row:2;margin:0;padding-top:24px;justify-content:end;padding-bottom:25px}.gacha-grid .primary-btn{font-size:10px}.page-top{margin:11px 0 25px}.page-top h1{font-size:19px}.page-top>.secondary-btn{margin-top:15px;font-size:9px}.collection-stats{font-size:17px;gap:16px}.collection-stats strong{font-size:21px}.card-grid{gap:12px}.card-tile{padding:9px;border-width:2px}.card-tile h3{font-size:21px;margin-top:10px;line-height:1}.card-tile .set{font-size:15px}.rarity{font-size:8px;padding:4px}.collection-toolbar input,.collection-toolbar select,.filter-btn{font-size:18px}.local-note{font-size:17px}.favorite svg{width:18px}.empty-state{padding:25px 16px}.empty-state h2{font-size:17px}.empty-state p{font-size:22px}.empty-state .primary-btn{font-size:10px}.modal-header{padding:14px 15px}.modal-header h2{font-size:11px}.modal-body{padding:20px}.modal-body>p{font-size:22px}.setting-row label{font-size:22px}.bag-actions .secondary-btn{font-size:9px}.full-width{font-size:9px}.detail-card{gap:15px}.detail-card h3{font-size:27px}.detail-card p{font-size:18px}.detail-card .secondary-btn{font-size:8px}.pool-grid .card-tile h3{font-size:21px}footer{margin-top:22px;gap:8px;font-size:8px;padding:9px 0 20px}footer button{font-size:8px}footer>div{gap:15px}.title-world{object-fit:cover;object-position:35% center;opacity:1;animation:title-world-drift 20s ease-in-out infinite}.title-center{width:94vw;top:49%;transform:translate(-50%,-20%)}.title-logo{filter:drop-shadow(0 5px 0 #043c5977)}.start-button{margin-top:39px;font-size:15px;padding:15px 22px;min-width:240px;letter-spacing:1px}.start-button:before{font-size:10px;left:11px;top:19px}.start-hint{font-size:8px;margin-top:22px}.title-sound{top:18px;right:18px;font-size:9px;padding:10px 12px}.title-demo{font-size:8px;bottom:23px}.title-shade{background:linear-gradient(180deg,#06367822,transparent 30%,#00568a22 65%,#044b4fbb)}.opening-ritual{padding:20px 16px 19px;min-height:546px}.ritual-label{font-size:10px;letter-spacing:.5px}.ritual-stage{height:309px;margin-top:7px;width:100%}.foil-object{width:280px;height:280px;margin-left:-140px;top:15px}.reward-object{width:191px;height:267px;margin-left:-95.5px;top:21px}.reveal-aura{width:280px;height:280px;margin-left:-140px}.opening-ritual[data-rarity=epic] .reveal-aura{width:310px;height:310px;margin-left:-155px}.ritual-result h3{font-size:30px;margin:12px 0 4px}.ritual-result p{font-size:20px}.ritual-result .rarity{font-size:8px}.ritual-result .reveal-actions{gap:8px;margin-top:20px}.ritual-result .primary-btn,.ritual-result .secondary-btn{font-size:9px;min-height:47px;padding:10px 5px}.cinematic .modal-header h2{font-size:10px}.cinematic .modal-header{padding:13px 14px}.ritual-demo{font-size:7px;margin-top:16px}.skip-reveal{font-size:10px;bottom:84px}.toast{font-size:21px;bottom:18px;padding:12px 17px}.pool-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:365px){.brand{width:145px}.header{gap:8px;padding-left:13px;padding-right:13px}.header-actions{gap:4px}.icon-btn{width:31px}.trainer-btn{padding:7px 6px;font-size:8px}.app-shell{padding:0 13px}.main-nav a{font-size:9px;padding:10px 8px}.town-label{font-size:9px}.pack-stage img,.adventure-layout #active-pack .pack-stage img{height:180px;width:150px}.panel-heading h1{font-size:15px}.pack-panel-top{padding-right:10px}.pack-selector{padding-right:10px;gap:4px}.pack-details{padding-right:10px}.primary-btn{font-size:9px}.pack-choice img{width:26px;height:31px}.pack-links{gap:18px}.dialogue p{font-size:21px}.title-center{top:48%}.title-sound{font-size:8px}.ritual-result .primary-btn,.ritual-result .secondary-btn{font-size:8px}.cinematic .modal-header h2{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation:none!important;transition:none!important}

@media(max-width:700px){.title-world{object-position:left center}}

#main:focus{outline:none}
/* Eight USDC tiers: compact cartridge-style price menu. */
.pack-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;align-items:stretch}.pack-choice{min-width:0;min-height:40px;padding:6px 1px;font:18px var(--body)}.pack-choice span{display:block}.pack-choice img{display:none}.pack-stage.scout{background:radial-gradient(ellipse at 50% 45%,#a3a88e,#425a49 80%)}.pack-stage.sapphire{background:radial-gradient(ellipse at 50% 45%,#4b83ad,#1a405a 80%)}.pack-stage.ruby{background:radial-gradient(ellipse at 50% 45%,#b4665e,#603542 80%)}.pack-stage.gold{background:radial-gradient(ellipse at 50% 45%,#ba9b44,#625023 80%)}.pack-stage.obsidian{background:radial-gradient(ellipse at 50% 45%,#79658e,#302d43 80%)}.pack-stage.platinum{background:radial-gradient(ellipse at 50% 45%,#9cafc8,#425979 80%)}.pack-stage.legend{background:radial-gradient(ellipse at 50% 45%,#e7bb60,#805236 80%)}.gacha-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gacha-grid .pack-stage{min-height:245px}.gacha-grid .pack-stage img{width:230px;height:235px}.gacha-grid .panel-heading h2{font-size:17px}.gacha-grid .primary-btn{font-size:10px}.gacha-grid .pack-panel-top{padding:19px 15px 0}
@media(max-width:1100px) and (min-width:701px){.gacha-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.pack-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding-top:12px}.pack-choice{min-height:32px;font-size:19px}.pack-panel{min-height:340px}.pack-stage{min-height:280px}.gacha-grid{grid-template-columns:1fr}.gacha-grid .pack-panel{min-height:235px}.gacha-grid .pack-stage{min-height:210px}.gacha-grid .pack-stage img{height:200px;width:180px}.gacha-grid .pack-panel-top{padding:26px 14px 0 3px}.gacha-grid .panel-heading h2{font-size:17px}}
/* A living town and Gem-chan's open dialogue portrait. */
.hotspot.collection{left:40%;top:66%;background:#e9f4bb}.hotspot.marketplace{left:69%;top:69%;background:#f0dcf5}.hotspot:hover,.hotspot:focus-visible{filter:brightness(1.09);box-shadow:inset 0 0 0 2px #fffde5,3px 5px 0 #143725}.dialogue{min-height:134px;background:#1d503e;border-top:3px solid #315334;box-shadow:inset 0 2px #769469;padding:14px 18px 14px 150px;gap:0;overflow:visible;z-index:3}.portrait{position:absolute;left:3px;bottom:0;width:152px;height:210px;border:0;background:none;border-radius:0;overflow:visible;pointer-events:none;animation:companion-breathe 5s ease-in-out infinite;transform-origin:50% 100%;filter:drop-shadow(2px 3px 0 #10382966)}.portrait img{width:100%;height:100%;max-width:100%;object-fit:contain;object-position:bottom;transform:none;mix-blend-mode:normal}.dialogue-copy{position:relative;flex:1;min-width:0;min-height:101px;background:#fffce0;border:3px solid #315334;box-shadow:0 0 0 2px #9cb57f,inset 0 0 0 3px #d5deb1;padding:14px 27px 12px 15px}.dialogue-copy:before{content:'';position:absolute;left:-10px;top:32px;width:15px;height:15px;background:#fffce0;border-left:3px solid #315334;border-bottom:3px solid #315334;transform:rotate(45deg)}.dialogue .next-dialogue{position:absolute;right:24px;bottom:20px;font-size:16px;padding:8px;color:#477641}.dialogue p{font-size:25px;line-height:1.06}.speaker{font-size:10px;margin-bottom:8px}.message-in{animation:message-in .23s ease-out}.town-weather{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.town-weather i{position:absolute;left:-5%;top:25%;width:3px;height:3px;background:#fffbc2;opacity:0;box-shadow:1px 1px #bcce89;animation:town-mote 16s linear infinite}.town-weather i:nth-child(2){top:65%;animation-delay:-4s;animation-duration:21s}.town-weather i:nth-child(3){top:45%;animation-delay:-8s;animation-duration:18s}.town-weather i:nth-child(4){top:80%;animation-delay:-12s;animation-duration:23s}.town-weather i:nth-child(5){top:15%;animation-delay:-15s;animation-duration:25s}.town-weather i:nth-child(6){top:55%;animation-delay:-5s;animation-duration:27s}.is-night .town-weather i{box-shadow:0 0 7px 2px #e9fba177;animation-duration:25s}.main-nav a{padding-left:13px;padding-right:13px}
@keyframes companion-breathe{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-3px) rotate(.35deg)}}@keyframes town-mote{0%{left:-5%;transform:translateY(0);opacity:0}10%,85%{opacity:.65}50%{transform:translateY(-20px)}100%{left:105%;transform:translateY(15px);opacity:0}}@keyframes message-in{from{opacity:.2;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.dialogue{padding-left:123px}.portrait{width:127px;height:180px}.dialogue p{font-size:23px}.main-nav a{padding-left:10px;padding-right:10px}.main-nav{gap:6px}}
@media(max-width:900px) and (min-width:701px){.dialogue{padding-left:100px;padding-right:12px}.portrait{width:104px;height:163px}.dialogue-copy{padding-left:11px}.dialogue p{font-size:21px}.dialogue .next-dialogue{right:14px}.hotspot{font-size:9px}.hotspot.marketplace{left:70%;top:69%}}
@media(max-width:700px){.main-nav{gap:6px}.main-nav a{font-size:9px;padding:11px 8px;gap:4px}.main-nav a[aria-current=page]:before{display:none}.dialogue{padding:12px 12px 12px 102px;min-height:132px}.portrait{left:-2px;width:112px;height:173px}.dialogue-copy{min-height:102px;padding:12px 23px 12px 12px}.dialogue p{font-size:22px;line-height:1.03}.speaker{font-size:9px;margin-bottom:8px}.dialogue .next-dialogue{right:16px;bottom:18px;font-size:13px}.hotspot.collection{left:40%;top:65%}.hotspot.marketplace{left:70%;top:69%;font-size:9px;padding:7px 7px}.town-weather i{width:2px;height:2px}}
@media(prefers-reduced-motion:reduce){.portrait,.town-weather i,.message-in{animation:none}}
/* The purple-roof marketplace: real listings in the same game menus. */
.room-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:6px 0 19px}.room-return{font:11px var(--pixel);color:#eef1c9;padding:9px 12px;border:2px solid #88a879;background:#254d3e}.room-return:hover{background:#37634a}.room-source{font:9px/1.5 var(--pixel);color:#b7cda2;text-align:right}.market-room .page-top{margin-bottom:23px}.market-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 210px 130px;gap:12px;align-items:stretch}.market-toolbar .search-wrap{min-width:0}.market-toolbar input,.market-toolbar select{width:100%;height:52px;border:2px solid #91a979;background:#f0f3d3;border-radius:0;color:#254e3a;font:24px var(--body)}.market-toolbar input{padding:10px 13px 10px 42px}.market-toolbar select{padding:10px 12px}.market-toolbar .search-wrap svg{top:16px}.market-note{font-size:21px;color:#c1d3af;line-height:1.2;margin:14px 0 25px}.market-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.market-card{min-width:0;display:flex;flex-direction:column;background:#f3f1d8;border:3px solid #416047;box-shadow:0 0 0 2px #95ad7f,0 5px 0 2px #11382b;padding:12px;transition:transform .2s}.market-card:hover{transform:translateY(-3px)}.market-image{display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;background:radial-gradient(#658f76,#325442);border:2px solid #a1b58d;padding:9px;overflow:hidden}.market-image img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 3px #0e292a33)}.market-image>span{font:10px var(--pixel);text-align:center;color:#ecf1d4}.market-card-info{padding:12px 1px 1px;display:flex;flex-direction:column;flex:1}.market-grade{align-self:flex-start;color:#f7efcc;background:#666183;font:9px var(--pixel);padding:5px 7px;margin-bottom:9px}.market-card h2{font:23px/1.02 var(--body);overflow-wrap:anywhere}.market-card-info>p{color:#66765a;font:18px/1.05 var(--body);margin-top:7px}.market-price{display:flex;flex-direction:column;gap:12px;margin-top:auto;padding-top:18px}.market-price strong{font:28px var(--body);color:#31593e}.market-price small{font:10px var(--pixel)}.market-price a{display:block;text-align:center;padding:11px 6px;background:#dfd4ec;border:2px solid #7c708c;box-shadow:inset 0 0 0 2px #f3e9fb;color:#4e435c;font:9px/1.4 var(--pixel)}.market-price a:hover{background:#f0e3f7}.market-status{color:#f0efcd;border:2px solid #7d9b6b;padding:40px 20px;text-align:center;background:#1e493e;font:13px/1.6 var(--pixel);margin:22px 0}.market-status p{font:24px/1.2 var(--body);margin-bottom:20px}.loading-crystal{display:inline-block;animation:twinkle 1.2s infinite;margin-right:8px;color:#d4e8a9}.market-more{text-align:center;margin-top:32px}.market-footnote{color:#aac39b;font-size:19px;margin-top:28px}.market-room{animation:room-arrival .22s ease-out}@keyframes room-arrival{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.market-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}}
@media(max-width:700px){.room-heading{margin:5px 0 23px;gap:12px}.room-return{font-size:9px;padding:8px 10px}.room-source{font-size:8px;max-width:230px}.market-toolbar{grid-template-columns:minmax(0,1fr) 106px;gap:10px}.market-toolbar .search-wrap{grid-column:1/-1}.market-toolbar input,.market-toolbar select{font-size:22px;height:46px}.market-toolbar .primary-btn{min-height:46px}.market-toolbar .search-wrap svg{top:13px}.market-note{font-size:20px;margin:13px 0 22px}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.market-card{padding:8px;border-width:2px}.market-image{padding:5px}.market-card h2{font-size:21px}.market-card-info>p{font-size:17px}.market-grade{font-size:8px;padding:4px 5px}.market-price strong{font-size:25px}.market-price small{font-size:8px}.market-price a{font-size:8px;line-height:1.4;padding:10px 3px}.market-footnote{font-size:18px}.market-status{font-size:10px}.market-status p{font-size:22px}}
@media(prefers-reduced-motion:reduce){.market-room,.loading-crystal{animation:none}.market-card{transition:none}}
.wallet-view-form{background:#e9edce;padding:20px;border:3px solid #799467;box-shadow:inset 0 0 0 2px #fafbe3}.wallet-view-form label{display:block;font-size:23px;margin-bottom:10px}.wallet-view-form>div{display:flex;gap:12px}.wallet-view-form input{flex:1;min-width:0;font:20px var(--body);background:#fafae9;border:2px solid #93a87c;padding:12px;border-radius:0;color:#234b36}.wallet-view-form .primary-btn{padding:10px 18px}.portfolio-count{font:12px var(--pixel);color:#dce9bb;margin:28px 0 20px}
@media(min-width:901px){.portrait{width:165px;height:231px;left:-8px}.dialogue{padding-left:153px}}
@media(max-width:700px){.wallet-view-form{padding:15px}.wallet-view-form>div{flex-direction:column}.wallet-view-form input{font-size:18px}.wallet-view-form .primary-btn{align-self:flex-start;min-width:140px}.page-top:has([data-action=demo-view]),.page-top:has([data-action=wallet-view]){align-items:flex-start;gap:15px;flex-direction:column}.page-top:has([data-action=wallet-view]) .secondary-btn,.page-top:has([data-action=demo-view]) .secondary-btn{margin:0}}
.market-card h2{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.market-card-info>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Rare foil treatments and a quieter nighttime palette. */
body.night-theme{background:radial-gradient(ellipse at 50% 0,#293f59,transparent 70%),repeating-linear-gradient(0deg,#102a3900 0 3px,#091d311a 3px 4px),#132d3c}.night-theme .dialogue{background:#183647}.night-theme .town-label{background:#e8eacb}.night-theme .room-source,.night-theme .market-note{color:#c2ccd7}.pack-stage.platinum{background:radial-gradient(ellipse at 50% 43%,#9bbac3 0,#607997 44%,#333c66 100%);border-color:#708caa;box-shadow:inset 0 0 0 2px #c7dbe3}.pack-stage.legend{background:radial-gradient(ellipse at 50% 43%,#665482 0,#333656 46%,#172837 100%);border-color:#937847;box-shadow:inset 0 0 0 2px #d8bf7b}.pack-stage.platinum:before,.pack-stage.legend:before{inset:-50%;opacity:.42;background:linear-gradient(118deg,transparent 35%,#d3edff22 42%,#f8f7ff77 48%,#acb4ff33 54%,transparent 62%);background-size:200% 200%;animation:rare-foil-drift 13s ease-in-out infinite}.pack-stage.legend:before{background-image:linear-gradient(118deg,transparent 35%,#75dad522 42%,#f4dd9277 48%,#8aa4ff33 54%,transparent 62%);animation-duration:17s}.pack-stage.platinum .stage-star{color:#e3edff}.pack-stage.legend .stage-star{color:#f9dd85;font-size:27px}.pack-stage.legend .stage-star.two{color:#9de6d3;font-size:17px}.pack-panel:has(.pack-stage.legend){border-color:#72603c;box-shadow:0 0 0 2px #b7a168,0 0 0 5px #223e37,0 7px 0 5px #092b23}.pack-panel:has(.pack-stage.platinum){border-color:#536583;box-shadow:0 0 0 2px #a1b4cc,0 0 0 5px #233b44,0 7px 0 5px #092b23}.pack-choice:focus-visible{outline:2px solid #33573f;outline-offset:3px}.pack-stage{animation:pack-stage-arrival .22s ease-out}.pack-panel .primary-btn{transition:background .16s,transform .16s,box-shadow .16s}.pack-panel:has(.pack-stage.legend) .primary-btn{background:#eed081;box-shadow:inset 0 0 0 2px #fff2c3}
@keyframes rare-foil-drift{0%,100%{background-position:100% 100%}50%{background-position:0 0}}@keyframes pack-stage-arrival{from{opacity:.6}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.pack-stage,.pack-stage.platinum:before,.pack-stage.legend:before{animation:none}}
.pack-stage:is(.platinum,.legend) img,.adventure-layout #active-pack .pack-stage:is(.platinum,.legend) img{width:280px;height:290px;max-width:none}.gacha-grid .pack-stage:is(.platinum,.legend) img{width:255px;height:265px}
@media(max-width:700px){.pack-stage:is(.platinum,.legend) img,.adventure-layout #active-pack .pack-stage:is(.platinum,.legend) img,.gacha-grid .pack-stage:is(.platinum,.legend) img{width:210px;height:230px}}

/* Five approved price points; keep the selector compact at every screen size. */
.pack-selector{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(min-width:1101px){.gacha-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.pack-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.pack-choice:last-child{grid-column:1/-1}.pack-panel{min-height:305px}.pack-stage{min-height:255px}}
.market-note a{text-decoration:underline;text-underline-offset:3px}
.gacha-modes{display:flex;align-items:center;gap:4px;padding:4px;border:2px solid #234d3e;background:#dfeada;box-shadow:3px 3px 0 #204438;border-radius:5px;font:11px var(--pixel)}
.gacha-modes a{padding:9px 15px;border-radius:2px;white-space:nowrap}
.gacha-modes a[aria-current=page]{background:#fdfbe2;box-shadow:inset 0 -2px #d7d7ad}
.gacha-mode-note{font:10px var(--pixel);letter-spacing:.4px;margin:-2px 0 18px;color:#4b775f}
.devnet-guide,.devnet-pending,.devnet-award{border:2px solid #234d3e;background:#fffde7;box-shadow:4px 4px 0 #bed2b5;border-radius:5px}
.devnet-guide{padding:16px 20px;margin-bottom:20px;font-size:15px;line-height:1.6}
.devnet-guide a,.devnet-award a{text-decoration:underline;text-underline-offset:3px;color:#276e51;font-weight:700}
.devnet-pending{padding:17px 20px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#edf6df}
.devnet-pending h2,.devnet-award h2{font:19px var(--pixel);margin:5px 0 8px}
.devnet-pending p{font-size:13px;overflow-wrap:anywhere;color:#4c695b}
.devnet-pending-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.devnet-pending .primary-btn{white-space:nowrap}
.devnet-award{display:flex;align-items:center;gap:20px;padding:16px;margin-bottom:20px;background:linear-gradient(120deg,#fffde7,#e2f6d0)}
.devnet-award img{width:110px;max-height:154px;object-fit:contain;border:3px solid #2e5745;background:transparent;box-shadow:4px 4px 0 #a6bb9d}
.devnet-award p{margin-bottom:9px}
.devnet-feedback{min-height:22px;margin:0 0 14px;font:12px var(--pixel);color:#81502b}
.devnet-pack .pack-details{gap:10px}
.devnet-pack .pack-details .text-btn{align-self:center}
.devnet-pack.unavailable{filter:saturate(.65)}
.devnet-pack.unavailable .pack-stage{opacity:.78}
.stock-note{margin:7px 0 0;color:#7a5737;font:9px/1.5 var(--pixel);text-align:center}.devnet-pack .stock-note{padding:0 8px}
body[data-route=devnet] .gacha-grid{margin-bottom:20px}
.home-devnet-feedback{padding:9px 10px;margin-top:8px;border:2px solid #789d72;background:#e7f2d6;color:#244735;font:9px/1.55 var(--pixel);overflow-wrap:anywhere;animation:message-in .2s ease-out}.home-devnet-feedback.has-error{border-color:#b56e5b;background:#f6e8d8;color:#793d34}.home-devnet-feedback p{margin:0}.home-devnet-feedback .text-btn{margin-top:6px;color:inherit;text-decoration:underline}.devnet-ritual .reward-placeholder{display:grid;place-items:center;width:100%;height:100%;padding:18px;background:linear-gradient(145deg,#fae6a1,#a1cbb5);border:7px solid #fbf3cb;color:#244c3b;text-align:center;font:15px/1.6 var(--pixel)}.devnet-ritual .reward-image{display:block;background:transparent;border-radius:0}.devnet-ritual .ritual-result p{font-size:19px}
.devnet-award-modal{max-height:calc(100dvh - 20px);overflow:hidden}
.devnet-award-modal #modal-content{display:flex;flex-direction:column;max-height:calc(100dvh - 26px);min-height:0}
.devnet-award-modal .modal-header{flex:none}
.devnet-award-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#789768 #15382e}
.devnet-action-dock{flex:none;padding:12px 20px 14px;background:#173f32;border-top:2px solid #72915e;box-shadow:0 -8px 24px #092a2480;transition:opacity .24s ease}
.devnet-award-modal:not(.reveal-finished) .devnet-action-dock{opacity:0;pointer-events:none}
.devnet-award-modal .modal-close{width:auto;min-height:42px;height:auto;padding:8px 11px;white-space:nowrap;font:9px/1.35 var(--pixel)}
.devnet-reveal-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.devnet-action-dock .primary-btn,.devnet-action-dock .secondary-btn{min-height:47px;font:10px/1.35 var(--pixel)}
.devnet-action-dock .secondary-btn{background:#315740;color:#e3edc6;border-color:#89a577;box-shadow:inset 0 0 0 2px #486f4e}
.devnet-reveal-actions button{min-width:0;margin:0;padding:10px 8px}
.devnet-repeat-row{display:flex;justify-content:center;margin:11px 0 0}
.devnet-repeat-row button{width:min(100%,310px);margin:0;padding:11px 14px;line-height:1.35}
.devnet-action-dock .buyback-status{min-height:20px;margin:8px 0 0;text-align:center;font:16px/1.15 var(--body);color:#c9d8af}
.devnet-action-dock .buyback-status:empty{display:none}
.devnet-award-modal button:disabled{cursor:wait;opacity:.5}
@media(max-width:700px){.devnet-award-modal .modal-close{font-size:7px;padding:7px 8px}.devnet-action-dock{padding:9px 12px max(9px,env(safe-area-inset-bottom))}.devnet-reveal-actions{gap:8px}.devnet-action-dock .primary-btn,.devnet-action-dock .secondary-btn{font-size:8px;min-height:43px}.devnet-reveal-actions button{padding:8px 5px}.devnet-repeat-row{margin-top:8px}.devnet-repeat-row button{padding:8px 10px}.devnet-action-dock .buyback-status{font-size:14px;min-height:16px;margin-top:6px}.devnet-ritual .ritual-result{min-height:100px}}
@media(max-width:700px){.page-top:has(.gacha-modes){align-items:flex-start;flex-direction:column;gap:12px}.gacha-modes{align-self:flex-start}.devnet-pending{align-items:flex-start;flex-direction:column}.devnet-award img{width:83px;max-height:120px}.devnet-award h2{font-size:15px}.devnet-guide{font-size:14px;padding:13px 15px}.devnet-feedback{line-height:1.5}}
body.night-theme .gacha-mode-note{color:#d5ebcc}
.gacha-modes a{color:#214a3a}
.gacha-modes a:hover{background:#eef5e7}
.gacha-modes a[aria-current=page]:hover{background:#fdfbe2}
.trainer-btn[hidden]{display:none}
.nav-wallet{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;margin-left:4px;white-space:nowrap;background:#215c4c;border:2px solid #123d32;box-shadow:3px 3px 0 #102e26;color:#f7f7d6;font:10px var(--pixel);letter-spacing:-.4px}
.nav-wallet:hover:not(:disabled){background:#317762}
.nav-wallet.connected{background:#e5f1d4;color:#214a3a;border-color:#357358;box-shadow:3px 3px 0 #24563e}
footer .demo-toggle{display:inline-flex;align-items:center;gap:9px;padding:5px 7px;border:1px solid #7c9c7b;background:#e7eed8;color:#1b4738;font:10px var(--pixel)}
footer .demo-toggle span{min-width:25px;text-align:center;color:#855332}
footer .demo-toggle[aria-pressed=true]{background:#f6e5ac;border-color:#ad8350}
footer .demo-toggle[aria-pressed=true] span{color:#3c7148}
.wallet-address{font:13px var(--pixel);overflow-wrap:anywhere;margin:12px 0 18px;padding:12px;background:#eaf2dc;border:1px solid #9ab48f}
@media(max-width:900px){.main-nav{gap:5px}.nav-wallet{font-size:9px;padding:8px 10px;min-height:38px}}
@media(max-width:700px){.main-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 84px;gap:2px;width:100%;justify-content:stretch}.main-nav a{min-width:0;justify-content:center;padding:9px 2px;font-size:8px}.main-nav a svg{display:none}.nav-wallet{width:100%;min-height:36px;margin:0;padding:4px 2px;font-size:7px;line-height:1.3;text-align:center;white-space:normal;overflow-wrap:anywhere;box-shadow:2px 2px 0 #102e26}footer .demo-toggle{font-size:8px;gap:5px;padding:5px}}
.recent-devnet{margin:0 0 22px;padding:18px;background:#e9edce;border:3px solid #799467;box-shadow:inset 0 0 0 2px #fafbe3}
.recent-devnet h2{font:13px var(--pixel);color:#234b36}
.recent-devnet>p{font-size:19px;color:#526c4f;margin:7px 0 15px}
.recent-devnet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:11px}
.recent-devnet-card{display:flex;align-items:center;gap:11px;min-width:0;padding:9px;background:#fafbe4;border:2px solid #9caf82;color:#244a38;box-shadow:2px 2px 0 #b3c7a4}
.recent-devnet-card:hover{background:#fffde9;transform:translateY(-2px)}
.recent-devnet-card img{width:52px;height:70px;object-fit:contain;background:#fff;flex-shrink:0}
.recent-devnet-card span{min-width:0;overflow-wrap:anywhere}
.recent-devnet-card strong{display:block;font-size:19px;line-height:1.1}
.recent-devnet-card small{display:block;margin-top:6px;font:8px/1.45 var(--pixel);color:#57745b}
@media(max-width:700px){.recent-devnet{padding:14px}.recent-devnet-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}}
.wallet-view-form .primary-btn{width:auto;flex:0 0 auto}
.page-top .secondary-btn{color:#234b36}

/* The card shop keeps its filters tucked away and checkout inside the game. */
.market-filters{grid-column:1/-1;border:2px solid #6b906e;background:#173f34}.market-filters summary{cursor:pointer;font:10px var(--pixel);padding:16px;color:#e4edc6}.market-filter-fields{display:grid;grid-template-columns:1fr 1fr 2fr;gap:16px;padding:4px 16px 18px;align-items:end}.market-filter-fields label{font:20px var(--body);color:#cfddba;min-width:0}.market-filter-fields input{margin-top:6px;padding:8px 10px}.market-filter-fields .text-btn{color:#e4edc6;justify-self:start}.market-count{font:9px/1.5 var(--pixel);color:#c4d6b3;margin:0 0 22px}.market-pending{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px;border:2px solid #d4c783;background:#31543b;margin-bottom:25px;font-size:23px}.market-image{width:100%;cursor:pointer}.market-buy{display:block;width:100%;text-align:center;padding:11px 6px;background:#dfd4ec;border:2px solid #7c708c;box-shadow:inset 0 0 0 2px #f3e9fb;color:#4e435c;font:9px/1.4 var(--pixel);cursor:pointer}.market-buy:hover{background:#f0e3f7}.checkout-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:28px;align-items:center}.checkout-art{background:radial-gradient(#466d56,transparent);min-width:0;display:flex;justify-content:center}.checkout-art img{width:100%;height:400px;object-fit:contain;filter:drop-shadow(0 8px 7px #08281f66)}.checkout-info{min-width:0}.checkout-info h3{font:32px/1.1 var(--body);margin:15px 0 8px;overflow-wrap:anywhere}.checkout-info>p{margin:8px 0}.checkout-price{display:block;font:36px var(--body);color:#f5dfa1;margin-top:18px}.checkout-info .checkout-network{font:9px/1.8 var(--pixel);color:#f5dfa1}.checkout-disclosure{font:21px/1.15 var(--body);color:#c3d6b7}.checkout-feedback{font:23px/1.2 var(--body);color:#f5e3b3;margin:16px 0}.checkout-source,.checkout-receipt{display:block;font:19px var(--body);margin-top:14px;color:#c5d8b7;text-decoration:underline;text-underline-offset:3px}.checkout-receipt{margin:12px 0 18px}.checkout-modal .primary-btn{line-height:1.7;overflow-wrap:anywhere}.checkout-modal button:disabled{opacity:.6;cursor:wait}
@media(max-width:700px){.market-filter-fields{grid-template-columns:1fr 1fr;gap:12px;padding:4px 12px 14px}.seller-filter{grid-column:1/-1}.market-filters summary{font-size:9px;padding:14px}.market-pending{flex-direction:column;align-items:stretch;font-size:21px}.market-buy{font-size:8px;padding:10px 3px}.checkout-body{grid-template-columns:1fr;gap:12px;padding:18px}.checkout-art img{height:270px}.checkout-info h3{font-size:28px}.checkout-price{margin-top:10px}.checkout-info .market-grade{display:inline-block}.checkout-info .full-width{position:sticky;bottom:0;z-index:1}.checkout-modal .modal-header{padding:16px}.market-room .page-top{gap:12px;flex-wrap:wrap}.market-room .page-top .secondary-btn{font-size:8px;min-height:40px}}
.checkout-modal{background:#183f33;color:#edf0d2}.checkout-modal .modal-header{background:#224b3b;color:#edf0d2;border-color:#72946a}.checkout-modal .modal-close{color:#edf0d2;border-color:#87a174}.checkout-modal .checkout-info>p{color:#c3d6b7}.checkout-modal .checkout-info .checkout-network{color:#f5dfa1}

.checkout-modal .modal-close{background:#30583f;color:#edf0d2}
