@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&display=swap";:root{--cream: #fdfaf6;--cream-dark: #f3eee0;--cream-light: #ffffff;--ink: #241b3d;--shelf: #1c1442;--shelf-dark: #120b2e;--orange: #ff6b6b;--orange-dark: #c23347;--mint: #3ddbc4;--mint-dark: #138577;--outline: #241b3d;--muted: #6b5f8a;font-family:Fredoka,system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:radial-gradient(ellipse at top,var(--shelf-dark) 0%,var(--shelf) 100%);color:var(--ink)}.screen{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cg fill='%23241b3d' fill-opacity='0.035'%3E%3Cellipse cx='30' cy='20' rx='6' ry='8'/%3E%3Cellipse cx='20' cy='10' rx='3' ry='4'/%3E%3Cellipse cx='40' cy='10' rx='3' ry='4'/%3E%3Cellipse cx='15' cy='22' rx='3' ry='4'/%3E%3Cellipse cx='45' cy='22' rx='3' ry='4'/%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat}#app{max-width:480px;margin:0 auto;height:100vh;height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden;color:var(--ink);background:linear-gradient(180deg,var(--cream-light) 0%,var(--cream) 55%,#f7e0da 100%);box-shadow:0 0 60px #0000001f}.screen{flex:1;overflow-y:auto;position:relative}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;gap:8px;background:var(--cream-light);border-bottom:2px solid var(--outline);box-shadow:0 3px #2c24170f;position:sticky;top:0;z-index:2}.currency-pill{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--outline);border-radius:20px;padding:6px 14px;font-weight:600}.currency-pill span{display:flex;align-items:center;gap:4px}.bottom-nav{display:flex;align-items:center;justify-content:space-around;padding:14px 12px max(14px,env(safe-area-inset-bottom));margin:0 14px max(14px,env(safe-area-inset-bottom));background:var(--shelf);border:3px solid var(--shelf-dark);border-radius:28px;position:relative;box-shadow:0 10px 24px #120b2e59}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:#b8aee0;background:none;border:none;border-radius:14px;padding:5px 12px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.nav-item.active{color:#fff;font-weight:700;background:var(--orange-dark)}.nav-item .icon{font-size:20px}.fab{position:absolute;top:-28px;left:50%;transform:translate(-50%);width:64px;height:64px;border-radius:50%;background:linear-gradient(155deg,var(--orange),var(--mint));border:3px solid var(--shelf-dark);outline:4px solid var(--shelf);color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 0 var(--orange-dark)}.btn{font-family:inherit;border:2px solid var(--outline);background:#fff;border-radius:16px;padding:10px 18px;font-weight:600;cursor:pointer}.btn.primary{background:var(--orange-dark);color:#fff}.profile-hero{text-align:center;padding:12px 16px 0}.avatar-frame{width:220px;height:220px;margin:8px auto;border-radius:24px;background:linear-gradient(180deg,#cfe8f7,#e8f7d8);border:3px solid var(--outline);display:flex;align-items:center;justify-content:center;font-size:110px}.level-row{display:flex;align-items:center;gap:10px;justify-content:center;margin:10px 0}.level-badge{background:var(--orange-dark);color:#fff;border:2px solid var(--outline);border-radius:14px;padding:4px 10px;font-weight:700;font-size:12px}.progress-track{flex:1;max-width:200px;height:14px;border-radius:8px;background:#fff;border:2px solid var(--outline);overflow:hidden}.progress-fill{height:100%;background:var(--orange)}.journal-card{margin:14px 16px;background:#fff;border:2px solid var(--outline);border-radius:18px;padding:14px 16px}.journal-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px dashed #d3c7e8}.journal-row:first-of-type{border-top:none}.howto-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:14px}.collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px}.creature-tile{display:flex;flex-direction:column;align-items:center;cursor:pointer;--rarity-color: var(--cream-dark)}.creature-tile img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:50%;background:radial-gradient(circle,#fff 55%,transparent 100%);border:3px solid var(--rarity-color);box-shadow:0 0 10px -2px var(--rarity-color)}.name-tag{margin-top:-6px;background:#fff;border:2px solid var(--outline);border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600}.move-name-tag{margin-top:2px;background:var(--mint);border-color:var(--mint-dark);font-size:10px}.filter-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 0;gap:10px}.segmented{display:flex;border:2px solid var(--outline);border-radius:14px;overflow:hidden}.segmented button{font-family:inherit;border:none;background:#fff;padding:6px 12px;font-weight:700;font-size:13px;cursor:pointer}.segmented button.active{background:var(--orange-dark);color:#fff}.empty-state{text-align:center;padding:60px 24px;color:var(--muted)}.camera-screen{background:#000;position:relative;height:100%}.camera-video{width:100%;height:100%;object-fit:cover}.camera-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.checklist{position:absolute;top:16px;left:16px;right:16px;background:#fffffff2;border:2px solid var(--outline);border-radius:14px;padding:10px 14px;font-size:14px;font-weight:600}.checklist .row{display:flex;align-items:center;gap:8px;padding:4px 0;color:#888}.checklist .row.ok{color:var(--ink)}.tries-pill{position:absolute;top:90px;left:50%;transform:translate(-50%);background:#fffffff2;border:2px solid var(--outline);border-radius:16px;padding:6px 16px;font-weight:700}.bottom-banner{position:absolute;bottom:24px;left:16px;right:16px;background:#000000a6;color:#fff;text-align:center;border-radius:14px;padding:12px;font-weight:600}.close-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#ffffffe6;border:2px solid var(--outline);font-weight:700;pointer-events:auto}.precision-bar{position:absolute;top:130px;left:16px;right:16px;height:26px;background:#fffffff2;border:2px solid var(--outline);border-radius:14px;overflow:hidden}.precision-sweet{position:absolute;top:0;bottom:0;left:42%;width:16%;background:#bff3cf}.precision-dot{position:absolute;top:2px;bottom:2px;width:16px;border-radius:50%;background:var(--orange);border:2px solid var(--outline)}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#f3ead6eb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 40px;pointer-events:auto}.loading-overlay .spinner-circle{width:80px;height:80px;border-radius:50%;border:3px solid var(--orange);display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:20px;animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.reveal-modal{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;background:#00000059;pointer-events:auto}.reveal-sticker-wrap{position:relative;width:220px;margin-bottom:-20px}.reveal-sticker{width:100%;filter:drop-shadow(0 8px 12px rgba(0,0,0,.4));position:relative;z-index:1}.reveal-star{position:absolute;font-size:22px;opacity:0;animation:star-pop .6s ease-out forwards;pointer-events:none}@keyframes star-pop{0%{opacity:0;transform:scale(.2) rotate(0)}60%{opacity:1;transform:scale(1.15) rotate(20deg)}to{opacity:0;transform:scale(.9) rotate(35deg) translateY(-14px)}}.reveal-card{width:100%;background:var(--cream);border-top:3px solid var(--outline);border-radius:24px 24px 0 0;padding:24px 24px 40px;text-align:center}.reveal-card h2{margin:4px 0 16px;font-size:28px}.reveal-stats{display:flex;gap:10px;justify-content:center;margin-bottom:12px}.reveal-stat{background:#fff;border:2px solid var(--outline);border-radius:14px;padding:8px 16px;font-weight:700}.reveal-id{display:inline-block;background:#fff;border:2px solid var(--outline);border-radius:12px;padding:4px 14px;font-size:13px}.card-screen{padding-bottom:24px}.card-art{height:260px;display:flex;align-items:flex-end;justify-content:center;position:relative;border-bottom:3px solid var(--outline);background:var(--card-bg)}.card-art img{width:180px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.3));margin-bottom:16px}.card-art .card-back{position:absolute;top:16px;left:16px;width:36px;height:36px;border-radius:50%;background:#ffffffe6;border:2px solid var(--outline);font-weight:700}.card-name-banner{position:absolute;bottom:-16px;left:50%;transform:translate(-50%);background:#fff;border:2px solid var(--outline);border-radius:12px;padding:6px 18px;font-weight:700}.section{padding:24px 20px 8px}.section-title{font-weight:700;color:var(--orange-dark);font-size:13px;text-transform:uppercase;margin-bottom:10px}.battle-card{background:#fff;border:2px solid var(--outline);border-radius:16px;padding:14px}.battle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.rarity-badge{border-radius:12px;padding:4px 12px;font-weight:700;color:#fff;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.4)}.stat-bar-row{display:flex;align-items:center;gap:10px;margin:8px 0}.stat-bar-track{flex:1;height:10px;background:var(--cream-dark);border-radius:6px;overflow:hidden}.stat-bar-fill{height:100%;background:var(--orange)}.chip{display:inline-block;background:#fff;border:2px solid var(--outline);border-radius:12px;padding:4px 12px;font-size:13px;font-weight:600;margin:0 6px 6px 0}.keyword-row{display:flex;gap:12px;padding:8px 0;border-top:1px dashed #d3c7e8}.move-chip{cursor:pointer;transition:background .15s,border-color .15s}.move-chip.active{background:var(--mint);border-color:var(--mint-dark)}.keyword-row:first-child{border-top:none}.keyword-rule{color:var(--muted);font-size:13px;font-style:italic;flex:1}.ability-text{font-style:italic;font-size:15px;line-height:1.4}.holo .card-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.55) 40%,rgba(255,180,245,.6) 48%,rgba(170,230,255,.6) 56%,transparent 72%);background-size:250% 250%;animation:holo-shift 2.2s linear infinite;mix-blend-mode:screen;pointer-events:none}@keyframes holo-shift{0%{background-position:0% 50%}to{background-position:100% 50%}}.card-art.frame-silver:after,.card-art.frame-gold:after,.card-art.frame-neon:after,.card-art.frame-sunset:after,.card-art.frame-galaxy:after,.card-art.frame-shadow:after,.card-art.frame-candy:after,.card-art.frame-forest:after,.card-art.frame-frost:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.card-art.frame-silver:after{box-shadow:inset 0 0 0 5px #c7ccd6,inset 0 0 0 7px #8a909c}.card-art.frame-gold:after{box-shadow:inset 0 0 0 5px #ffd76a,inset 0 0 0 7px #b8860b}.card-art.frame-candy:after{box-shadow:inset 0 0 0 6px #ff9fc9;background:repeating-linear-gradient(45deg,#ffffff59 0,#ffffff59 10px,#ff8cc440 10px,#ff8cc440 20px)}.card-art.frame-forest:after{box-shadow:inset 0 0 0 6px #2f6b3f;background:linear-gradient(160deg,#2f6b3f40,#143c1e26 60%,#785a2833)}.card-art.frame-frost:after{box-shadow:inset 0 0 0 5px #bfe8f5,inset 0 0 0 7px #4fa9c4;background:linear-gradient(160deg,#bfe8f54d,#4fa9c426)}.card-art.frame-neon:after{box-shadow:inset 0 0 0 4px #ff2ecb,inset 0 0 0 6px #2ee6ff,0 0 18px #2ee6ff99}.card-art.frame-sunset:after{box-shadow:inset 0 0 0 6px #ff7a45;background:linear-gradient(160deg,#ff7a4540,#ffc44d26 50%,#d6336c40)}.card-art.frame-galaxy:after{box-shadow:inset 0 0 0 6px #5b3aa0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.5) 0 2px,transparent 3px),radial-gradient(circle at 70% 60%,rgba(255,255,255,.4) 0 2px,transparent 3px),radial-gradient(circle at 40% 80%,rgba(255,255,255,.35) 0 1.5px,transparent 2.5px),linear-gradient(160deg,#5b3aa040,#140a3259)}.card-art.frame-shadow:after{box-shadow:inset 0 0 0 5px #1c1c24,inset 0 0 26px #0000008c}.turntable-stage{margin:0 auto}.lang-toggle{display:flex;border:2px solid var(--outline);border-radius:14px;overflow:hidden}.lang-toggle button{font-family:inherit;border:none;background:#fff;padding:6px 12px;font-weight:700;font-size:12px;cursor:pointer}.lang-toggle button.active{background:var(--orange-dark);color:#fff}.profile-links{display:flex;flex-direction:column;gap:10px;padding:0 20px 24px}.breed-picker{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--cream);display:flex;flex-direction:column;pointer-events:auto}.breed-picker .picker-header{padding:16px;text-align:center;border-bottom:2px solid var(--outline)}.breed-picker input[type=text]{width:100%;font-family:inherit;border:2px solid var(--outline);border-radius:14px;padding:10px 14px;font-size:15px;margin-top:10px}.breed-picker .picker-list{flex:1;overflow-y:auto;padding:8px 16px}.breed-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 8px;border-bottom:1px dashed #d3c7e8;cursor:pointer}.breed-option .breed-meta{font-size:12px;color:var(--muted);text-align:right;flex-shrink:0}.breed-picker .picker-footer{padding:14px 16px 22px;border-top:2px solid var(--outline)}.breedex-tabs{display:flex;gap:8px;padding:12px 16px 0}.breedex-tabs button.active{background:var(--orange-dark);color:#fff}.breedex-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px}.breedex-tile{background:#fff;border:2px solid var(--outline);border-radius:16px;padding:10px;text-align:center}.breedex-tile.uncaught{opacity:.45;filter:grayscale(.6)}.breedex-tile .breedex-name{font-weight:700;font-size:13px;margin-top:4px}.breedex-tile .breedex-size{font-size:11px;color:var(--muted)}.breedex-tile .breedex-traits{font-size:10px;color:var(--muted);font-style:italic}.breedex-progress{padding:4px 16px 0;font-size:13px;color:var(--muted)}.deck-tile{border-radius:12px;padding:4px;border:3px solid transparent}.deck-tile.selected{border-color:var(--orange);background:#fff}.lanes-board{display:flex;gap:8px;padding:12px}.lane{flex:1;background:#fff;border:2px solid var(--outline);border-radius:14px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:220px;cursor:pointer}.lane-label{font-size:10px;color:var(--muted);font-weight:700}.lane-power{font-size:13px;font-weight:700;background:var(--cream-dark);border-radius:8px;padding:2px 6px}.lane-row{display:flex;flex-direction:column;gap:4px;min-height:56px;width:100%;align-items:center;border-radius:8px}.lane-row.ai{background:#4f8fb01a}.lane-row.player{background:#e26d2d14}.card-chip{width:50px;text-align:center}.card-chip img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:8px;background:var(--cream-dark)}.card-chip.fled img{opacity:.35}.card-chip.just-played-player{animation:card-in-from-bottom .45s cubic-bezier(.2,.9,.3,1.3)}.card-chip.just-played-ai{animation:card-in-from-top .45s cubic-bezier(.2,.9,.3,1.3)}@keyframes card-in-from-bottom{0%{opacity:0;transform:translateY(40px) scale(.6)}70%{opacity:1;transform:translateY(-4px) scale(1.08)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes card-in-from-top{0%{opacity:0;transform:translateY(-40px) scale(.6)}70%{opacity:1;transform:translateY(4px) scale(1.08)}to{opacity:1;transform:translateY(0) scale(1)}}.card-chip .chip-stats{display:flex;justify-content:center;gap:4px;font-size:10px;font-weight:700}.hand-row{display:flex;gap:10px;padding:10px 16px;overflow-x:auto}.hand-card{width:70px;flex-shrink:0;cursor:pointer}.hand-card.disabled{opacity:.35;cursor:not-allowed}.hand-card.selected img{outline:3px solid var(--orange);border-radius:8px}.move-bonus{color:var(--mint);margin-left:1px}.move-label{margin-top:2px;text-align:center;font-size:8px;color:#b8aee0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.store-item{background:#fff;border:2px solid var(--outline);border-radius:14px;padding:12px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.map-screen{height:100%;display:flex;flex-direction:column}.map-screen #map-status{flex:1;display:flex;align-items:center;justify-content:center}.map-screen #map-container{flex:1}.map-emoji-icon{background:none;border:none;display:flex;align-items:center;justify-content:center;font-size:22px}.share-map-row{display:flex;align-items:center;gap:8px;background:#fffffff2;border:2px solid var(--outline);border-radius:14px;padding:8px 14px;margin:0 16px 10px;font-size:12px;color:var(--ink);cursor:pointer}.achievement-toast{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--orange-dark);border-radius:14px;padding:8px 14px;margin:8px 16px 0;font-size:12px;animation:card-in-from-bottom .4s ease-out}.achievement-toast strong{display:block;font-size:11px;color:var(--orange-dark)}.achievement-toast .achievement-icon{font-size:22px;width:auto}.achievements-list{padding:8px 16px 24px;display:flex;flex-direction:column;gap:10px}.achievement-row{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--outline);border-radius:14px;padding:10px 14px;opacity:.55}.achievement-row.unlocked{opacity:1;border-color:var(--orange-dark)}.achievement-icon{font-size:26px;flex-shrink:0;width:34px;text-align:center}.achievement-text{display:flex;flex-direction:column;flex:1}.achievement-text strong{font-size:14px}.achievement-text span{font-size:12px;color:var(--muted)}.achievement-reward{font-size:12px;font-weight:700;white-space:nowrap}.placeholder-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px;color:var(--muted)}
