@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/inter-400.woff') format('woff')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('./assets/fonts/inter-700.woff') format('woff')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('./assets/fonts/inter-800.woff') format('woff')}
@font-face{font-family:'Inter';font-style:normal;font-weight:900;font-display:swap;src:url('./assets/fonts/inter-900.woff') format('woff')}
@font-face{font-family:'Bricolage';font-style:normal;font-weight:400 600;font-display:swap;src:url('./assets/fonts/bricolage-400.woff') format('woff')}
@font-face{font-family:'Bricolage';font-style:normal;font-weight:700 900;font-display:swap;src:url('./assets/fonts/bricolage-700.woff') format('woff')}
:root{--font-ui:'Inter','Nunito','Avenir Next Rounded','Arial Rounded MT Bold','Trebuchet MS','Segoe UI',ui-sans-serif,system-ui,-apple-system,sans-serif;--font-display:'Inter','Nunito','Avenir Next Rounded','Arial Rounded MT Bold','Trebuchet MS','Segoe UI',ui-sans-serif,system-ui,-apple-system,sans-serif;font-family:var(--font-ui);color:#f5ead5;background:#0a1325;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--navy:#152039;--deep:#101a31;--gold:#c7a25e;--gold-bright:#e4c88b;--pale:#f5ead5;--emerald:#446650;--ice:#a6ddea;--muted:#a2abc3;--violet:#806bb1}
*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:100%;margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,select:focus-visible{outline:2px solid var(--ice);outline-offset:3px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-display);letter-spacing:-.02em}h1{font-size:clamp(29px,8.3vw,37px);line-height:1.05;font-weight:600;text-shadow:0 3px 18px #0c1520}h2{font-size:24px;font-weight:600}h3{font-family:var(--font-display);font-size:20px}p{line-height:1.45}
#root{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 18%,#41557d 0,#1a2742 24%,#0b1426 66%,#070c18 100%)}
.game-shell{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);position:relative;isolation:isolate;width:100%;height:100%;height:100dvh;max-width:430px;max-height:920px;overflow:hidden;background:#10192d;box-shadow:0 0 0 1px #d0b06e55,0 0 0 3px #f3d79d14 inset,0 24px 90px #030916d6}
.screen-background{position:absolute;z-index:-1;inset:0;background-position:center;background-size:cover;transition:background-image .3s}.screen-background:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,12,24,.24),rgba(7,12,24,.08) 18%,rgba(7,12,24,.14) 56%,rgba(7,12,24,.48) 100%),linear-gradient(90deg,rgba(8,20,45,.24),transparent 24%,transparent 76%,rgba(8,20,45,.2));pointer-events:none}
.top-hud{position:absolute;z-index:10;left:0;right:0;top:0;padding:calc(var(--safe-top) + 9px) 16px 8px;background:linear-gradient(180deg,rgba(10,18,34,.92),rgba(12,22,41,.82) 62%,rgba(19,33,58,0));backdrop-filter:blur(7px);height:calc(var(--safe-top) + 111px)}
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.brand-mark{font-family:var(--font-display);color:var(--gold-bright);font-size:21px;letter-spacing:.08em;font-weight:800;line-height:1.15;text-shadow:0 2px 5px #090f24}.brand-mark>span{font-size:15px;vertical-align:1px}.brand-mark small{display:block;font:500 8px ui-sans-serif,system-ui;letter-spacing:.23em;color:#b6c9ce;margin:3px 0 0 24px}.hud-controls{display:flex;gap:4px}.hud-controls button,.inventory-top button,.modal-close{width:37px;height:37px;border:1px solid #e0c28182;border-radius:12px;background:linear-gradient(160deg,rgba(46,66,99,.92),rgba(16,24,44,.88));display:grid;place-items:center;padding:7px;box-shadow:inset 0 1px 0 #f8e3a633,0 6px 18px #0008;backdrop-filter:blur(4px)}.hud-controls button img,.inventory-top button img,.modal-close img{width:100%;height:100%;object-fit:contain}
.currencies{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-top:9px}.resource{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:0;white-space:nowrap;padding:2px 10px 2px 5px;border:1px solid #c7a25e64;border-radius:30px;background:linear-gradient(180deg,#0b1730d9,#1c2e49ed);box-shadow:inset 0 1px 5px #f5d69a19,0 2px 10px #030b19aa;color:var(--gold-bright);font-size:13px;font-weight:700}.resource img{object-fit:contain;flex-shrink:0}.resource b{font-variant-numeric:tabular-nums}.resource-small{padding:2px 6px;font-size:11px}
.game-scroll{position:absolute;inset:calc(var(--safe-top) + 108px) 0 calc(var(--safe-bottom) + 80px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none}.game-scroll::-webkit-scrollbar,.inventory-scroll::-webkit-scrollbar{display:none}.screen-inner{min-height:100%;padding:10px 17px 23px;display:flex;flex-direction:column;gap:12px;animation:scene-enter .25s ease-out}.screen-inner>*{flex-shrink:0}@keyframes scene-enter{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.section-head{text-align:center;padding-top:2px}.eyebrow{font-weight:800;letter-spacing:.18em;font-size:9px;color:var(--gold-bright);text-transform:uppercase}.section-head .eyebrow{display:block;margin-bottom:5px}.section-head h1{color:#fff1d5}.section-head p{font-size:11px;color:#deebee;margin:6px auto 0;text-shadow:0 1px 4px #000}
.panel{position:relative;background:linear-gradient(145deg,#182744c9,#0e1a32e8);border-style:solid;border-width:17px;border-color:transparent;border-image-slice:36 fill;border-image-width:17px;border-image-repeat:stretch;filter:drop-shadow(0 5px 10px #080e2144);padding:0 6px;color:#f0e7d4}.panel-large{border-image-slice:32 fill}.panel-header{border-image-slice:18 fill}.panel-modal{border-image-slice:32 fill}.panel-resource{border-image-slice:20 fill}
.bottom-nav{position:absolute;z-index:11;bottom:0;left:0;right:0;height:calc(79px + var(--safe-bottom));padding:6px 6px calc(var(--safe-bottom) + 8px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;background:linear-gradient(180deg,rgba(11,18,33,.90),rgba(8,14,28,.96));border-top:1px solid #d8ba798c;box-shadow:0 -8px 24px #060c1bd6;backdrop-filter:blur(10px)}.nav-item{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;border:0;background:transparent;color:#b2c0d0;font-size:10px;font-weight:700;position:relative;padding:4px 1px 1px}.nav-item img{width:34px;height:34px;object-fit:contain;opacity:.76;filter:saturate(.9) drop-shadow(0 1px 2px rgba(0,0,0,.35));transition:filter .2s,transform .2s,opacity .2s}.nav-item.selected{color:var(--gold-bright)}.nav-item.selected img{opacity:1;filter:saturate(1.08) drop-shadow(0 0 10px rgba(236,197,107,.58));transform:translateY(-2px) scale(1.04)}.nav-dot{position:absolute;width:18px;height:2px;background:var(--gold-bright);border-radius:3px;top:0}
.game-button{color:#1a1206;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:100% 100%;text-shadow:0 2px 4px #050a1d;min-height:45px;padding:8px 12px;display:inline-flex;justify-content:center;align-items:center;gap:6px;border:0;font-size:12px;letter-spacing:.06em;font-weight:800;filter:drop-shadow(0 6px 10px rgba(4,11,33,.56));transition:transform .12s,filter .12s}.game-button:active:not(:disabled){transform:translateY(2px) scale(.985)}.game-button .button-icon{width:21px;height:21px;object-fit:contain}.game-button span{display:flex;flex-direction:column;gap:2px;align-items:center}.game-button small{color:#1a1206cc;font-size:9px;font-weight:500;letter-spacing:0}
.text-link{border:0;background:none;color:var(--gold-bright);font-size:11px;font-weight:800;padding:4px 0}
/* HOME */
.home-screen{gap:9px}.companion-title{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 4px 0}.companion-name{font-family:var(--font-display);font-size:26px;color:#fff2d8;font-weight:800;line-height:1.08}.companion-name span{font:700 12px ui-sans-serif,system-ui;color:var(--gold-bright);margin-left:4px}.companion-breed{font-size:10px;color:#d9e3f0}.rarity-pill{display:inline-block;border-radius:30px;padding:5px 9px;border:1px solid #d4c19c;background:#3d4055ba;color:#ebdcbd;font-size:9px;font-weight:900;letter-spacing:.06em}.rarity-common{color:#9aa3b2}.rarity-rare{color:#a7e4fa;border-color:#83d2f4}.rarity-epic{color:#dec0ff;border-color:#bd9afa}.rarity-legendary{color:#f5a623;border-color:#f5a623}.rarity-mythic{color:#ff4ecd;border-color:#ff4ecd}
.hero-fox-wrap{height:clamp(180px,30vh,280px);position:relative;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;margin-top:-4px}.hero-fox{position:relative;z-index:1;width:min(92%,336px);height:110%;object-fit:contain;filter:drop-shadow(0 12px 14px #0009);animation:fox-float 5s ease-in-out infinite}@keyframes fox-float{0%,100%{transform:translateY(1px)}50%{transform:translateY(-6px)}}.hero-halo{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:66%;height:28px;background:radial-gradient(ellipse,#e9c9779c,transparent 69%);filter:blur(10px)}
.home-stats{padding:0px 4px 4px}.stats-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;color:#f7e4bc}.stats-title span{font-size:10px;color:#d7e4ed}.xp-bar,.discovery-track,.ritual-progress{height:7px;border:1px solid #b79a588e;background:#0d182f;border-radius:20px;overflow:hidden}.xp-bar>div,.discovery-track>span,.ritual-progress>span{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#8c6a34,#f9d994);transition:width .25s}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:11px}.meter-caption{display:flex;justify-content:space-between;gap:3px;font-size:9px;color:#d9e1e5}.meter-caption strong{font-size:8px;color:#d6c7a2}.meter-track{height:8px;margin-top:5px;border-radius:8px;background-size:100% 100%;background-color:#182f3e;border:1px solid #ceb77b45;overflow:hidden}.meter-fill{height:100%;background-size:100% 100%;background-color:#83baba;border-radius:8px;transition:width .2s}.meter:nth-child(1) .meter-fill{background-color:#df9d9d}.meter:nth-child(2) .meter-fill{background-color:#d4b56d}.meter:nth-child(3) .meter-fill{background-color:#79c7d9}
.actions-label{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.care-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.care-action{display:flex;align-items:center;gap:8px;min-height:63px;text-align:left;background:linear-gradient(120deg,rgba(20,36,64,.94),rgba(39,58,92,.92));border:1px solid #d0ad6d8c;border-radius:16px;box-shadow:inset 0 1px 12px rgba(198,180,123,.14),0 8px 20px rgba(7,14,32,.42);color:#f5ead5;padding:6px 9px;backdrop-filter:blur(4px)}.care-action img{width:47px;height:47px;object-fit:contain;flex-shrink:0}.care-action span{display:flex;flex-direction:column;gap:3px}.care-action strong{font-size:11px;letter-spacing:.08em;color:#edd39e}.care-action small{font-size:10px;color:#ccdaea}.care-action:active{transform:scale(.98)}.home-footer-note{font-size:10px;text-align:center;color:#d4dcea;padding:8px 0 0}
/* MERGE */
.merge-screen{gap:11px}.merge-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:2px}.merge-summary>span{border:1px solid #b39b65a0;border-radius:12px;background:linear-gradient(160deg,#182943ee,#172341ef);text-align:center;padding:7px 4px;display:flex;flex-direction:column;gap:1px}.merge-summary strong{color:#ffdf9d;font-size:19px;font-family:var(--font-display);font-weight:600}.merge-summary small{color:#bdd0dc;font-size:8px;font-weight:800;letter-spacing:.1em}
.board-surround{padding:10px;background:linear-gradient(#182a47cc,#112039f5);border-radius:18px;border:1px solid #c7a25eb2;box-shadow:0 9px 26px #030a1cc7,inset 0 0 0 2px #f8d99320}.board-header{display:flex;justify-content:space-between;color:#eace91;font-weight:800;letter-spacing:.1em;font-size:10px;padding:1px 5px 9px}.merge-board{width:100%;max-width:380px;aspect-ratio:1/1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:4px;padding:9px;background-size:100% 100%;margin:auto;touch-action:none;border-radius:9px;overflow:hidden}.merge-cell{padding:0;min-width:0;min-height:0;border:0;outline:0;position:relative;background-color:transparent;background-position:center;background-size:100% 100%;touch-action:none;user-select:none;-webkit-user-select:none}.merge-cell.is-selected{filter:drop-shadow(0 0 6px #edce85)}.merge-cell.is-merging{animation:fusion-pulse .4s ease-out}@keyframes fusion-pulse{0%{filter:brightness(2);transform:scale(1.15)}100%{filter:brightness(1);transform:scale(1)}}.merge-cell .cell-orb{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 1px 3px #000a)}.merge-cell .cell-orb.drag-source{opacity:.3}.orb-tier{position:absolute;right:6px;bottom:4px;border-radius:10px;background:#0a1526d9;border:1px solid #d8bf85b0;color:#f5dca2;font-size:9px;font-weight:800;line-height:15px;width:15px;height:15px;pointer-events:none}.lock-img{position:absolute;left:28%;top:28%;width:44%;height:44%;object-fit:contain;opacity:.72}.board-tip{color:#d9c9a9;font-size:9.5px;text-align:center;margin:8px 2px 1px;line-height:1.3}.merge-control-panel{padding:0 4px 1px}.merge-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.merge-buttons .game-button{min-height:52px}.selected-orb-info{margin-top:7px;display:flex;align-items:center;gap:7px;border-top:1px solid #bfa37046;padding:7px 0}.selected-orb-info img{height:35px;width:35px}.selected-orb-info span{flex:1;display:flex;flex-direction:column;gap:3px}.selected-orb-info strong{font-size:10px}.selected-orb-info small{font-size:9px;color:#bacbdb}.selected-orb-info button,.inventory-item button{color:#f4daac;border:1px solid #bda16c;background:#273753;border-radius:7px;font-size:9px;font-weight:900;padding:7px 8px}.merge-bottom-row{display:flex;justify-content:space-between;gap:3px;margin-top:7px;align-items:center}.merge-bottom-row button{border:0;background:none;color:#d5b77e;text-decoration:underline;font-size:10px}.merge-bottom-row span{font-size:9px;color:#b5c3d1}.drag-ghost{position:fixed;z-index:50;transform:translate(-50%,-50%);pointer-events:none;width:64px;height:64px;filter:drop-shadow(0 0 10px #f3d88b)}.drag-ghost img{width:100%;height:100%}
/* BREEDING */
.breeding-screen{gap:12px}.breeding-stage{position:relative;padding-top:30px;margin-bottom:0}.parent-stage{display:grid;grid-template-columns:1fr 1fr;gap:10px}.parent-column{text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;gap:1px}.parent-column>.eyebrow{font-size:9px}.parent-fox-wrap{position:relative;width:100%;height:clamp(145px,23vh,205px);display:flex;align-items:end;justify-content:center}.parent-fox{height:108%;max-width:100%;object-fit:contain;filter:drop-shadow(0 5px 7px #030712dc);position:relative;z-index:1;animation:fox-float 4s ease-in-out infinite}.parent-column:nth-child(2) .parent-fox{animation-delay:-1.5s}.breeding-platform{width:100%;max-width:164px;height:55px;object-fit:fill;margin-top:-25px;z-index:0}.parent-column strong{color:#f7e4bf;font-family:var(--font-display);font-size:19px}.parent-meta{color:#d5dfe4;font-size:10px}.breeding-heart{position:absolute;top:39%;left:50%;transform:translate(-50%,-50%);width:45px;height:45px;filter:drop-shadow(0 0 8px #b988ae);z-index:4}.breeding-form{margin-top:4px;padding:2px 5px}.form-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;font-size:9px;color:#bdccda}.parent-pickers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.parent-pickers label{font-size:9px;letter-spacing:.07em;font-weight:900;color:#ecd5a2}.parent-pickers select{width:100%;appearance:none;background:#10203b;color:#f0e8d7;border:1px solid #c4a76d;border-radius:8px;padding:10px 22px 10px 8px;font-size:11px;margin-top:5px;background-image:linear-gradient(45deg,transparent 50%,#e1c88b 50%),linear-gradient(135deg,#e1c88b 50%,transparent 50%);background-position:calc(100% - 13px) 50%,calc(100% - 8px) 50%;background-size:5px 5px;background-repeat:no-repeat}.breeding-cost{display:flex;justify-content:space-between;gap:5px;align-items:center;border-top:1px solid #baa06a45;margin-top:12px;padding-top:11px;color:#cbd3d9;font-size:11px}.breeding-cost b{color:#f9dfa6;display:inline-flex;align-items:center;gap:3px}.breeding-cost img{width:20px;height:20px}.validation-good,.validation-bad{font-size:10px;margin:9px 0}.validation-good{color:#afdec0}.validation-bad{color:#eab7ad}.breeding-form>.game-button{width:100%;min-height:50px}.muted-footnote{font-size:9px;color:#bbcadb;display:block;margin-top:8px;line-height:1.5}.breeding-extra{display:flex;align-items:center;gap:8px;background:#101a31d9;border:1px solid #aa91666e;border-radius:10px;padding:9px}.breeding-extra img{height:29px;width:29px}.breeding-extra span{font-size:10px;flex:1;color:#d8dcea}.breeding-extra button{border:0;background:none;color:var(--gold-bright);font-size:10px;font-weight:700}.ritual-head{display:flex;align-items:center;gap:11px}.ritual-head>img{width:54px;height:54px;object-fit:contain}.ritual-head h2{font-size:21px}.ritual-progress{height:12px;margin-top:12px}.ritual-progress>span{background:linear-gradient(90deg,#7f64a8,#d3bbfc)}.ritual-note{margin:10px 0;color:#cfdeeb;font-size:11px}
/* COLLECTION */
.collection-screen{gap:11px}.discovery-progress{display:flex;flex-direction:column;gap:7px;padding:0 7px}.discovery-progress>div:first-child{display:flex;align-items:center;justify-content:space-between}.discovery-progress strong{font:800 28px var(--font-display);color:var(--gold-bright)}.discovery-progress strong small{font-size:13px;color:#a8bbce}.discovery-progress>span{font-size:10px;color:#d4deec}.collection-filter{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:5px 1px}.collection-filter button{white-space:nowrap;background:#182842e7;color:#c1cee1;border:1px solid #9c9a8888;border-radius:20px;padding:8px 12px;font-size:10px;font-weight:700;min-height:33px}.collection-filter button.active{color:#172239;background:linear-gradient(#f4dba4,#ba995f);border-color:#f0ce88;box-shadow:0 2px 7px #071028}.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.collection-card{border:0;background-color:#172a44;background-position:center;background-size:100% 100%;border-radius:15px;min-height:228px;position:relative;padding:10px 11px 14px;color:#f7e8cd;display:flex;align-items:center;justify-content:flex-start;flex-direction:column;box-shadow:0 5px 15px #050d23a6;overflow:hidden}.collection-card:active{transform:scale(.98)}.collection-card-head{font-size:9px;color:#f1d5a5;font-weight:900;letter-spacing:.1em;align-self:flex-start;margin:2px 1px}.collection-portrait{position:relative;width:100%;height:122px;display:grid;place-items:start center;overflow:hidden;margin-top:3px}.portrait-art{width:98%;height:auto;max-height:120px;object-fit:contain;transform:translateY(-3px);filter:drop-shadow(0 6px 6px #020917af)}.locked-card .portrait-art{filter:grayscale(1) brightness(.1) opacity(.7)}.card-lock{position:absolute;width:43px;height:43px;left:50%;top:50%;transform:translate(-50%,-50%)}.collection-card-bottom{width:100%;text-align:center;display:flex;flex-direction:column;gap:4px;white-space:nowrap;overflow:hidden;margin-top:8px;padding:12px 8px 4px;border-radius:12px;background:linear-gradient(180deg,rgba(4,10,21,0) 0%,rgba(4,10,21,.18) 18%,rgba(4,10,21,.56) 100%);position:relative;z-index:2}.collection-card-bottom strong{font-family:var(--font-display);font-size:17px;line-height:1.04;overflow:hidden;text-overflow:ellipsis}.collection-card-bottom small{font-size:10px;color:#dbe4ef;letter-spacing:.05em}.active-stamp{position:absolute;right:10px;top:10px;transform:none;font-size:8px;background:#d1b06b;color:#131d2b;border-radius:999px;padding:4px 7px;font-weight:900;box-shadow:0 3px 8px rgba(0,0,0,.28)}.empty-content{font-size:12px;text-align:center;color:#d9d5c2;padding:9px}.fox-detail{text-align:center;max-height:calc(100dvh - 55px);overflow:auto}.fox-detail .detail-fox{max-height:210px;margin:6px auto;object-fit:contain}.fox-detail .rarity-pill{margin-top:7px}.fox-detail h2{margin-top:7px;font-size:28px}.fox-detail p{font-size:11px;color:#d6e1e9}.detail-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:13px 0}.detail-specs span{font-size:9px;color:#bacbe0;display:flex;flex-direction:column;gap:4px}.detail-specs b{color:#f6e5c2;font-size:12px}.fox-detail>.game-button{width:100%;margin-top:7px}
/* SHOP */
.shop-screen{gap:12px}.shop-intro{display:flex;align-items:center;gap:7px;padding:0 5px}.shop-intro>div{flex:1}.shop-intro h2{font-size:21px;margin:5px 0}.shop-intro p{font-size:10px;color:#c8d4e3}.shop-intro>img{width:72px;height:72px;object-fit:contain}.shop-section-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#e8d6b5;letter-spacing:.07em}.shop-list{display:flex;flex-direction:column;gap:8px}.shop-item{display:flex;align-items:center;gap:6px;min-height:94px;padding:0 2px}.shop-image{width:64px;height:64px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 5px 10px rgba(0,0,0,.28))}.shop-item-body{flex:1;min-width:0}.shop-item-body strong{font-family:var(--font-display);font-size:15px;color:#ffebc5}.shop-item-body p{font-size:10px;color:#c6d1db;margin:4px 0}.shop-item-body small{font-size:10px;color:#e8c78b;font-weight:800}.shop-buy{font-size:10px;color:#162039;background:linear-gradient(#f3dba4,#ac8851);border:1px solid #fff1bd;border-radius:8px;padding:9px 7px;font-weight:900;min-width:50px}.wallet-review{padding:2px 5px}.wallet-review>div{display:flex;align-items:center;gap:5px;margin-top:6px;justify-content:space-between}.wallet-review .resource{font-size:11px;padding:2px 3px}.wallet-review .resource img{width:22px}.shop-disclaimer{font-size:10px;color:#cdd7e1;line-height:1.5;text-align:center}
/* INVENTORY */
.inventory-overlay{z-index:21;position:absolute;inset:0;background-size:cover;background-position:center;display:flex;flex-direction:column;padding-top:var(--safe-top)}.inventory-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;background:#0f1d36e5;border-bottom:1px solid #aa8c5f85;color:#f7e5c2;font-size:11px;font-weight:900;letter-spacing:.15em}.inventory-scroll{overflow-y:auto;scrollbar-width:none;padding:13px 17px calc(20px + var(--safe-bottom));display:flex;flex-direction:column;gap:13px}.inventory-wallet{display:flex;justify-content:space-between;gap:6px}.inventory-category{background:#13233bdf;border:1px solid #bea373ad;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:9px}.inventory-category h3{color:#f1daa8;padding-bottom:5px;border-bottom:1px solid #9f8c635e}.inventory-item{display:flex;align-items:center;gap:8px;padding:8px 4px;border-bottom:1px solid #9a8c6855;min-height:66px}.inventory-item:last-child{border-bottom:0}.inventory-item>img{width:49px;height:49px;object-fit:contain;flex-shrink:0}.inventory-item>span{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.inventory-item strong{color:#f5e6c7;font-size:11px;text-transform:capitalize}.inventory-item small{color:#c2cfdf;font-size:9px}.inventory-item>b{font-size:12px;color:#e9d29c}.inventory-item-buttons{display:flex;flex-direction:column;gap:3px}.inventory-item-buttons button{padding:4px 6px}.inventory-empty{font-size:11px;color:#b8c4d9;line-height:1.5;padding:10px 0}
/* MODALS */
.modal-backdrop{position:absolute;inset:0;z-index:30;background:#030816ba;backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;padding:16px}.confirm-backdrop{z-index:41}.modal-card{position:relative;width:100%;max-width:380px;border:1px solid #ceaf6baa;border-radius:19px;background:radial-gradient(circle at top,#294267,#111c34 64%);box-shadow:inset 0 0 0 2px #efd5a31f,0 18px 58px #000c;padding:23px 17px 18px;color:#efe5d2}.modal-card h2{color:#ffe6b7;font-size:28px;margin-top:8px}.modal-card p{font-size:12px;line-height:1.6;margin-top:10px;color:#c7d4e4}.modal-close{position:absolute;right:12px;top:12px;width:30px;height:30px}.confirm-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.confirm-buttons .game-button{min-width:0;font-size:10px}.settings-card .setting-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:5px;background:#14253edb;border:1px solid #a7945a77;border-radius:8px;margin-top:10px;padding:12px;color:#ead7b1;font-size:12px}.settings-card .setting-row span,.settings-card .setting-row b{color:#f0d499;font-size:11px}.settings-card>.game-button{width:100%;margin-top:14px}.game-toast{position:absolute;z-index:60;left:50%;bottom:calc(84px + var(--safe-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100% - 30px);padding:11px 17px;border:1px solid #c7a25eaa;border-radius:12px;background:#13213cf2;box-shadow:0 6px 25px #010918c7;color:#f7e6c1;font-size:11px;text-align:center;line-height:1.4;pointer-events:none}
@media (max-width:359px){.top-hud{padding-left:10px;padding-right:10px}.screen-inner{padding-left:12px;padding-right:12px}.care-action img{width:40px;height:40px}.care-action{gap:4px;padding:4px}.merge-board{gap:3px;padding:7px}.orb-tier{right:3px;bottom:3px}.section-head h1{font-size:28px}.collection-card{min-height:205px;padding-left:7px;padding-right:7px}.collection-portrait{height:108px}.portrait-art{max-height:106px}.shop-image{width:43px}.shop-item-body strong{font-size:13px}}
@media (min-width:431px){.game-shell{border-radius:19px;border:2px solid #c7a25e68;margin:12px auto;height:min(920px,calc(100dvh - 24px))}#root{padding:10px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* FOXVERSE Visual Polish v0.1.3 — premium fantasy glass-and-gold controls.
   Rendered art stays replaceable via the asset registry; all hit areas remain HTML buttons. */
.panel{border-image-source:none!important;border-image:none!important;border:1px solid rgba(221,188,118,.62);border-radius:18px;padding:14px 15px;background:linear-gradient(145deg,rgba(33,51,80,.93),rgba(11,23,45,.94) 72%);box-shadow:inset 0 1px 0 rgba(255,238,182,.2),inset 0 0 24px rgba(60,99,152,.13),0 8px 23px rgba(2,8,24,.46);backdrop-filter:blur(9px)}
.panel::after{content:"";position:absolute;pointer-events:none;inset:3px;border:1px solid rgba(219,185,115,.12);border-radius:15px}
.panel-header{border-radius:13px;padding:9px 12px}
.panel-large,.panel-modal{padding:17px}
.home-stats{padding:13px 15px 15px}
.game-button{background-image:linear-gradient(180deg,#e6c47e 0%,#bf9655 48%,#7c592f 100%)!important;border:1px solid #ffe8af;border-bottom:2px solid #6f4d2b;border-radius:13px;box-shadow:inset 0 1px 0 rgba(255,249,205,.66),inset 0 -2px 0 rgba(73,40,8,.2),0 7px 15px rgba(0,5,19,.32);text-shadow:0 1px 3px rgba(35,27,20,.72);color:#1a1206;filter:none;transition:transform .16s cubic-bezier(.2,.9,.25,1),box-shadow .16s,filter .16s}
.game-button.btn-secondary,.game-button.btn-small{background-image:linear-gradient(180deg,#405d85 0%,#243d63 50%,#152944 100%)!important;border-color:#c8b984;border-bottom-color:#0c1c34;color:#fff8e9}
.game-button.btn-danger{background-image:linear-gradient(180deg,#ab6072 0%,#79394d 54%,#512335 100%)!important;border-color:#e1a9a9;border-bottom-color:#3c1424;color:#fff8e9}
.game-button:disabled{background-image:linear-gradient(180deg,#536078,#27364f)!important;filter:grayscale(.5);opacity:.58;color:#fff8e9}
.game-button:active:not(:disabled){transform:translateY(2px) scale(.978);box-shadow:inset 0 2px 6px rgba(0,0,0,.24)}
.nav-item:active img,.hud-controls button:active img,.inventory-top button:active img,.care-action:active img{transform:scale(.91)}
.nav-item.selected:before{content:"";position:absolute;inset:1px 4px;border:1px solid rgba(234,205,138,.18);border-radius:14px;background:radial-gradient(ellipse at 50% 12%,rgba(226,185,97,.19),transparent 72%);pointer-events:none}
.nav-item.selected img,.nav-item.selected span{position:relative;z-index:1}
.care-action{transition:transform .16s cubic-bezier(.2,.9,.25,1),box-shadow .16s,border-color .16s}
.care-action:active{transform:scale(.976)}
.resource{backdrop-filter:blur(5px);border-color:rgba(228,197,132,.58);background:linear-gradient(180deg,rgba(32,49,82,.91),rgba(13,27,52,.96));box-shadow:inset 0 1px 0 rgba(255,235,185,.13),0 5px 16px rgba(1,7,20,.44)}
.collection-card{border:1px solid rgba(219,185,113,.35);transition:transform .18s cubic-bezier(.2,.9,.25,1),filter .18s}
.collection-card:active{transform:scale(.965)}
.shop-buy{box-shadow:inset 0 1px 0 #fff5c277,0 4px 12px #040c1b99;transition:transform .16s}
.shop-buy:active{transform:translateY(2px)}
.merge-cell.is-merging{animation:merge-burst .43s ease-out}
@keyframes merge-burst{0%{filter:brightness(1.8) drop-shadow(0 0 14px rgba(241,212,144,.95));transform:scale(1.1)}100%{filter:brightness(1);transform:scale(1)}}
@media (hover:hover){.care-action:hover{border-color:#ecd494;box-shadow:inset 0 1px 15px #c6b47b23,0 7px 21px #070e20b0}.game-button:hover:not(:disabled){filter:brightness(1.08)}.nav-item:hover img{opacity:1;filter:drop-shadow(0 0 8px rgba(255,218,134,.36))}.shop-buy:hover{filter:brightness(1.07)}}
@media (prefers-reduced-motion:reduce){.merge-cell.is-merging{animation:none}}
/* Larger, easier-to-read navigation and control hit targets on phones */
.nav-item img{width:39px;height:39px}
.hud-controls button{width:40px;height:40px;padding:3px}
.inventory-top button{padding:4px}
.modal-close{padding:3px}
@media (max-width:359px){.nav-item img{width:35px;height:35px}.hud-controls button{width:37px;height:37px;padding:3px}}

.cell-orb{filter:drop-shadow(0 4px 10px rgba(0,0,0,.26));}


/* FOXVERSE v0.1.3 — Premium card system polish */
.panel,
.collection-card,
.inventory-category,
.inventory-item,
.merge-summary>span,
.board-surround,
.breeding-extra,
.selected-orb-info,
.shop-item,
.modal-card,
.care-action{
  position:relative;
  overflow:hidden;
}

.panel{
  border:1px solid rgba(228,196,124,.76);
  border-radius:20px;
  background:
    radial-gradient(circle at top left, rgba(250,232,172,.08), transparent 28%),
    radial-gradient(circle at bottom right, rgba(80,132,212,.1), transparent 30%),
    linear-gradient(155deg, rgba(34,56,90,.95), rgba(10,20,40,.97) 70%);
  box-shadow:
    inset 0 1px 0 rgba(255,242,205,.28),
    inset 0 0 0 1px rgba(255,255,255,.025),
    inset 0 -16px 34px rgba(4,8,18,.16),
    0 12px 30px rgba(3,8,23,.5);
}
.panel::before,
.collection-card::before,
.shop-item::before,
.inventory-category::before,
.modal-card::before,
.board-surround::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.09), transparent 22%, transparent 75%, rgba(255,214,144,.05));
}
.panel::after{
  inset:4px;
  border:1px solid rgba(243,218,157,.15);
  border-radius:16px;
}
.panel-header,
.inventory-category,
.modal-card{border-radius:18px}

.discovery-progress,
.merge-control-panel,
.wallet-review,
.home-stats,
.shop-intro{
  background:
    radial-gradient(circle at 14% 14%, rgba(255,232,175,.08), transparent 22%),
    linear-gradient(160deg, rgba(28,50,80,.95), rgba(10,21,41,.96) 70%) !important;
}

.care-action{
  min-height:70px;
  border-radius:18px;
  background:
    radial-gradient(circle at 10% 18%, rgba(255,227,160,.08), transparent 26%),
    linear-gradient(135deg, rgba(31,51,81,.95), rgba(18,34,58,.96) 58%, rgba(12,23,42,.98));
  box-shadow:
    inset 0 1px 10px rgba(255,231,171,.12),
    inset 0 -8px 18px rgba(2,8,18,.18),
    0 10px 22px rgba(7,14,32,.46);
}
.care-action strong{font-size:12px;letter-spacing:.1em}
.care-action small{font-size:10px;line-height:1.3}
.care-action::after{
  content:"";
  position:absolute;
  inset:auto 10px 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(240,211,150,.4), transparent);
}

.merge-summary{gap:10px}
.merge-summary>span{
  border-radius:16px;
  border:1px solid rgba(224,192,123,.55);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,228,168,.09), transparent 34%),
    linear-gradient(160deg, rgba(29,49,80,.95), rgba(14,27,48,.98));
  box-shadow:inset 0 1px 0 rgba(255,244,214,.16), 0 10px 18px rgba(0,7,22,.32);
  padding:9px 4px 8px;
}
.merge-summary strong{font-size:20px}
.merge-summary small{font-size:8px;color:#d2dfeb}
.board-surround{
  border-radius:22px;
  border:1px solid rgba(227,196,126,.7);
  background:
    radial-gradient(circle at 50% -10%, rgba(245,214,139,.12), transparent 36%),
    linear-gradient(180deg, rgba(26,45,74,.95), rgba(12,25,47,.98));
  box-shadow:0 18px 32px rgba(4,10,27,.55), inset 0 1px 0 rgba(255,241,208,.18), inset 0 0 0 1px rgba(255,255,255,.035);
}
.board-header{font-size:10px;color:#f3d79f;padding:2px 6px 10px}
.selected-orb-info,
.breeding-extra{
  margin-top:10px;
  border:1px solid rgba(218,187,121,.36);
  border-radius:15px;
  background:linear-gradient(180deg, rgba(18,33,59,.95), rgba(11,22,42,.98));
  padding:10px 11px;
  box-shadow:inset 0 1px 0 rgba(255,240,205,.08);
}
.selected-orb-info button,
.inventory-item button,
.breeding-extra button{
  border-radius:10px;
  border:1px solid rgba(226,197,136,.36);
  background:linear-gradient(180deg, rgba(50,69,103,.98), rgba(25,41,66,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.collection-filter button{
  border-radius:999px;
  border:1px solid rgba(221,192,130,.33);
  background:linear-gradient(180deg, rgba(30,49,78,.94), rgba(19,34,57,.98));
  box-shadow:inset 0 1px 0 rgba(255,244,214,.07), 0 4px 10px rgba(2,8,21,.25);
}
.collection-grid{gap:14px}
.collection-card{
  border:1px solid rgba(221,188,113,.42);
  border-radius:21px;
  min-height:236px;
  padding:11px 12px 15px;
  background-blend-mode:screen, normal;
  background:
    radial-gradient(circle at 50% 2%, rgba(255,228,164,.08), transparent 22%),
    linear-gradient(180deg, rgba(8,15,30,.05), rgba(8,15,30,.42)),
    linear-gradient(155deg, rgba(20,37,65,.98), rgba(10,21,39,.98));
  box-shadow:
    inset 0 1px 0 rgba(255,245,219,.2),
    inset 0 -15px 26px rgba(2,8,18,.14),
    0 12px 26px rgba(2,7,21,.42);
}
.collection-card::after{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.05);
  pointer-events:none;
}
.collection-card-head{
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  font-size:9px;
  color:#f4dbab;
  letter-spacing:.16em;
  text-shadow:0 1px 3px rgba(0,0,0,.3);
}
.collection-card-head::before{
  content:"✦";
  font-size:10px;
  color:#9fd8ff;
}
.collection-portrait{
  height:126px;
  margin-top:4px;
}
.collection-card-bottom{
  padding:13px 10px 9px;
  background:linear-gradient(180deg, rgba(5,10,20,0) 0%, rgba(5,10,20,.24) 16%, rgba(5,10,20,.72) 100%);
  backdrop-filter:blur(2px);
}
.collection-card-bottom strong{font-size:19px;font-weight:800;color:#fff1cd}
.collection-card-bottom small{font-size:10px;color:#d6e2ef}
.collection-card.rarity-common{box-shadow:inset 0 1px 0 rgba(255,245,219,.2), 0 12px 26px rgba(2,7,21,.42), 0 0 0 1px rgba(154,163,178,.1)}
.collection-card.rarity-rare{box-shadow:inset 0 1px 0 rgba(255,245,219,.2), 0 12px 26px rgba(2,7,21,.42), 0 0 0 1px rgba(115,215,255,.14), 0 0 22px rgba(70,176,255,.08)}
.collection-card.rarity-epic{box-shadow:inset 0 1px 0 rgba(255,245,219,.2), 0 12px 26px rgba(2,7,21,.42), 0 0 0 1px rgba(183,128,255,.15), 0 0 24px rgba(157,103,255,.08)}
.collection-card.rarity-legendary{box-shadow:inset 0 1px 0 rgba(255,245,219,.2), 0 12px 26px rgba(2,7,21,.42), 0 0 0 1px rgba(245,166,35,.18), 0 0 26px rgba(245,166,35,.08)}
.collection-card.rarity-mythic{box-shadow:inset 0 1px 0 rgba(255,245,219,.2), 0 12px 26px rgba(2,7,21,.42), 0 0 0 1px rgba(255,78,205,.16), 0 0 26px rgba(255,78,205,.08)}
.locked-card{filter:saturate(.78)}
.active-stamp{
  background:linear-gradient(180deg, #f0d28f, #bb9150);
  color:#10203a;
  border:1px solid rgba(255,242,198,.5);
  box-shadow:0 5px 12px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18);
}

.shop-list{gap:10px}
.shop-item{
  display:grid;
  grid-template-columns:68px 1fr auto;
  align-items:center;
  gap:10px;
  min-height:102px;
  padding:12px 12px;
  border-radius:20px;
  border:1px solid rgba(225,193,121,.45);
  background:
    radial-gradient(circle at 0% 0%, rgba(250,230,170,.1), transparent 24%),
    linear-gradient(145deg, rgba(30,50,81,.96), rgba(10,20,40,.98));
}
.shop-item-body{display:flex;flex-direction:column;gap:5px}
.shop-item-body strong{font-size:17px;font-weight:800;color:#fff0ca}
.shop-item-body p{font-size:10px;line-height:1.45;color:#d3dfeb}
.shop-item-body small{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:#f2d18c;padding-top:2px}
.shop-image{
  width:68px;height:68px;border-radius:18px;padding:4px;
  background:radial-gradient(circle at 50% 30%, rgba(255,255,255,.12), rgba(255,255,255,0) 65%), linear-gradient(180deg, rgba(42,64,99,.8), rgba(18,30,54,.8));
  border:1px solid rgba(231,202,139,.24);
}
.shop-buy{
  min-width:84px;
  min-height:48px;
  border-radius:14px;
  border:1px solid rgba(255,239,189,.68);
  background:linear-gradient(180deg, #f0d28f, #c39854 54%, #8a6235 100%);
  color:#10203a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.44), 0 8px 14px rgba(2,9,24,.3);
}
.shop-buy:disabled{background:linear-gradient(180deg, #757b8a, #535f75); color:#dce3ee; border-color:rgba(225,230,238,.18)}
.shop-item-food .shop-image,
.shop-item-growthTonic .shop-image,
.shop-item-orbs .shop-image,
.shop-item-rescue .shop-image{box-shadow:0 0 0 1px rgba(255,255,255,.02), inset 0 1px 0 rgba(255,255,255,.08)}

.inventory-category{
  border:1px solid rgba(223,191,121,.48);
  border-radius:18px;
  padding:14px 13px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,226,161,.08), transparent 24%),
    linear-gradient(145deg, rgba(26,44,72,.96), rgba(11,22,42,.98));
  box-shadow:inset 0 1px 0 rgba(255,245,221,.12), 0 10px 24px rgba(2,8,22,.32);
}
.inventory-category h3{
  font-size:17px;
  color:#ffedc6;
  display:flex;
  align-items:center;
  gap:8px;
}
.inventory-category h3::before{content:"✦"; color:#9fd8ff; font-size:12px}
.inventory-item{
  border-bottom:1px solid rgba(202,176,116,.18);
  padding:10px 2px;
  min-height:72px;
}
.inventory-item>img{
  width:54px;height:54px;border-radius:16px;padding:4px;
  background:linear-gradient(180deg, rgba(46,67,104,.66), rgba(18,31,55,.7));
  border:1px solid rgba(229,200,138,.16);
}
.inventory-item strong{font-size:12px;color:#ffebc2;font-weight:800}
.inventory-item small{font-size:9px;line-height:1.4;color:#cedae8}
.inventory-item>b{font-size:13px;color:#f2d59a}
.inventory-item-buttons{gap:5px}
.inventory-item button{font-size:9px;padding:7px 9px}

.breeding-form,
.fox-detail,
.settings-card,
.confirm-card{
  background:
    radial-gradient(circle at 50% -8%, rgba(255,231,171,.11), transparent 28%),
    linear-gradient(155deg, rgba(29,49,79,.97), rgba(10,20,38,.98));
}
.parent-pickers label,
.form-topline,
.breeding-cost,
.ritual-note{position:relative;z-index:1}
.parent-pickers select{
  border-radius:12px;
  background-color:#132544;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 6px 12px rgba(3,8,21,.18);
}
.breeding-extra img{width:34px;height:34px}

.modal-card{
  border:1px solid rgba(228,198,128,.66);
  border-radius:22px;
  background:
    radial-gradient(circle at top, rgba(255,228,170,.11), transparent 28%),
    linear-gradient(160deg, rgba(33,53,84,.98), rgba(11,22,41,.99) 70%);
  box-shadow:inset 0 1px 0 rgba(255,245,221,.18), 0 18px 58px rgba(0,0,0,.76);
}
.modal-card h2{font-size:30px;font-weight:800}
.modal-card p{color:#d4deea}
.settings-card .setting-row{
  border-radius:12px;
  border:1px solid rgba(222,190,122,.28);
  background:linear-gradient(180deg, rgba(23,40,66,.95), rgba(16,29,49,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.fox-detail .detail-fox{max-height:230px;filter:drop-shadow(0 12px 16px rgba(0,0,0,.34))}
.detail-specs span{
  padding:9px 8px;
  border-radius:12px;
  border:1px solid rgba(225,191,120,.2);
  background:linear-gradient(180deg, rgba(26,42,69,.88), rgba(16,28,47,.92));
}
.wallet-review>div{gap:8px}
.wallet-review .resource{padding:5px 7px;font-size:11px}

@media (hover:hover){
  .collection-card:hover,
  .shop-item:hover,
  .inventory-category:hover,
  .care-action:hover,
  .merge-summary>span:hover{
    transform:translateY(-2px);
    box-shadow:inset 0 1px 0 rgba(255,245,219,.2), 0 16px 28px rgba(2,7,21,.5), 0 0 0 1px rgba(255,221,163,.08);
  }
  .panel:hover{box-shadow:inset 0 1px 0 rgba(255,242,205,.28), inset 0 0 0 1px rgba(255,255,255,.025), inset 0 -16px 34px rgba(4,8,18,.16), 0 14px 34px rgba(3,8,23,.55)}
}

@media (max-width:359px){
  .shop-item{grid-template-columns:56px 1fr auto; gap:8px; min-height:94px; padding:10px 10px}
  .shop-image{width:56px; height:56px}
  .collection-card{min-height:216px}
  .collection-portrait{height:112px}
}


/* FOXVERSE v0.1.4: targeted layout repairs, legible mobile assets, subdued moon mountain world */
.screen-background{background-position:center center;background-size:cover;image-rendering:auto}
.screen-background:after{background:linear-gradient(180deg,rgba(1,5,13,.06) 0%,rgba(2,8,20,.11) 35%,rgba(1,5,15,.34) 100%)}
.inventory-overlay{background-color:#07121f}
#root{background:radial-gradient(circle at 50% 30%,#12243c,#020813 70%)}
.top-hud{background:linear-gradient(180deg,rgba(3,9,20,.95),rgba(5,13,27,.93) 80%,rgba(5,13,27,0));backdrop-filter:blur(4px)}
.bottom-nav{background:linear-gradient(180deg,rgba(5,13,27,.96),rgba(4,10,21,.99));border-top:1px solid rgba(201,172,112,.6)}
.nav-item img{width:39px;height:39px;opacity:.87;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35));}
.nav-item.selected img{filter:drop-shadow(0 0 7px rgba(224,186,116,.42));}
.hud-controls button{padding:4px}
.resource img{object-fit:contain}

/* Collection: no sprite-based frame, no decorative pseudo-overlay, independent label/footer */
.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:1px 0 16px;align-items:stretch}
.collection-card{
  --rarity:#d3ab6d;
  appearance:none;
  width:100%;height:clamp(205px,57vw,250px);min-height:0;min-width:0;
  display:grid;grid-template-rows:23px minmax(0,1fr) 58px;
  gap:0;
  padding:8px 9px 9px;
  border:1px solid color-mix(in srgb,var(--rarity) 75%,#d8b978);
  border-radius:18px;
  background:radial-gradient(ellipse at 50% 34%,color-mix(in srgb,var(--rarity) 12%,transparent),transparent 64%),linear-gradient(180deg,rgba(23,39,66,.98),rgba(6,15,32,.99));
  box-shadow:inset 0 1px 0 rgba(255,245,225,.16),inset 0 0 0 3px rgba(5,13,28,.54),0 8px 18px rgba(0,4,16,.56);
  text-align:center;overflow:hidden;position:relative;isolation:isolate;flex:none;
  transition:transform .17s ease,border-color .17s ease;
}
.collection-card::before,.collection-card::after{content:none!important;display:none!important}
.collection-card.rarity-common{--rarity:#9aa3b2}
.collection-card.rarity-rare{--rarity:#80d5ee}
.collection-card.rarity-epic{--rarity:#bca0fc}
.collection-card.rarity-legendary{--rarity:#f5a623}
.collection-card.rarity-mythic{--rarity:#ff4ecd}
.collection-card.locked-card{--rarity:#726f89}
.collection-card-head{
  position:relative;z-index:3;
  font-size:9px;font-weight:900;line-height:18px;letter-spacing:.1em;
  align-self:start;justify-self:start;
  display:flex;align-items:center;gap:4px;
  padding-left:4px;color:var(--rarity);text-shadow:0 2px 4px #000b;
  background:none;margin:0;
}
.collection-card-head::before{content:'✦';font-size:10px;color:var(--rarity)}
.collection-portrait{
  width:100%;height:100%;min-height:0;
  display:flex;align-items:center;justify-content:center;
  margin:0;padding:0 3px 1px;
  position:relative;overflow:hidden;
}
.portrait-art{
  display:block;position:relative;
  width:100%;height:100%;max-width:100%;max-height:100%;
  object-fit:contain;object-position:center center;
  transform:none!important;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.56));
  pointer-events:none;
}
.locked-card .portrait-art{filter:grayscale(1) brightness(.15) opacity(.75)}
.card-lock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;z-index:2;opacity:1}
.collection-card-bottom{
  position:relative;z-index:4;
  align-self:stretch;justify-self:stretch;
  width:100%;height:58px;min-height:58px;min-width:0;margin:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  padding:6px 3px 4px;border-radius:10px;
  background:linear-gradient(180deg,rgba(4,11,26,.9),rgba(2,7,18,.99));
  border-top:1px solid color-mix(in srgb,var(--rarity) 54%,transparent);
  box-shadow:0 -4px 13px rgba(3,7,18,.26);backdrop-filter:none;
  white-space:nowrap;overflow:hidden;
}
.collection-card-bottom strong{
  font-family:var(--font-display);font-size:17px;line-height:1.2;font-weight:900;
  color:#fff1d1;text-overflow:ellipsis;overflow:hidden;max-width:100%;display:block;
  margin:0;padding:0;text-shadow:0 1px 2px #000a;
}
.collection-card-bottom small{font-size:9.5px;line-height:1.25;color:#ccdceb;letter-spacing:.01em;white-space:nowrap}
.active-stamp{
  position:absolute;top:8px;right:8px;z-index:6;
  padding:3px 5px;border:1px solid #f1dda766;
  font-size:7px;line-height:1.15;border-radius:7px;
  background:linear-gradient(180deg,#ead198,#b48d54);
  color:#132039;box-shadow:0 3px 8px #0009;
}
.collection-card:active{transform:scale(.98)}
/* Card containers: prevent pseudo layers from masking text/buttons. */
.panel:not(.collection-card)::before,.panel:not(.collection-card)::after{z-index:0}
.panel>*{position:relative;z-index:1}
.shop-item{display:flex;min-height:96px;gap:9px;padding:9px 10px}
.shop-image{flex:0 0 57px;width:57px;height:57px;object-fit:contain;box-shadow:none}
.shop-item-body{flex:1;min-width:0}
.shop-item-body strong{font-size:14px;line-height:1.1;overflow-wrap:anywhere}
.shop-buy{flex:0 0 61px;min-width:61px;padding:9px 4px;font-size:10px;border-radius:12px}
.inventory-category::before,.modal-card::before,.board-surround::before{pointer-events:none;z-index:0}
.inventory-category>*,.modal-card>*,.board-surround>*{position:relative;z-index:1}
/* Restore controls and scroll clipping stability on phone sizes */
.game-scroll{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.collection-screen{gap:12px}
@media (max-width:359px){
  .collection-grid{gap:8px}
  .collection-card{height:198px;border-radius:15px;padding:7px 6px;grid-template-rows:21px minmax(0,1fr) 51px}
  .collection-card-bottom{height:51px;min-height:51px;padding:5px 1px}
  .collection-card-bottom strong{font-size:15px}
  .collection-card-bottom small{font-size:8px}
  .active-stamp{font-size:6px;top:7px;right:5px}
  .shop-item{padding:9px 7px;gap:5px}
  .shop-image{width:46px;height:46px;flex-basis:46px}
  .shop-buy{min-width:54px;flex-basis:54px}
}
@media (hover:hover){
  .collection-card:hover{transform:translateY(-2px);border-color:var(--rarity);box-shadow:inset 0 1px 0 rgba(255,245,225,.16),0 12px 22px rgba(0,4,16,.6),0 0 14px color-mix(in srgb,var(--rarity) 15%,transparent)}
}


/* FOXVERSE 0.1.5 — faithful moonlit collection styling & targeted art restoration. */
.moonlit-collection{gap:10px;padding-top:7px}
.moonlit-collection .collection-topline{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 2px 3px}
.moonlit-collection .collection-title-wrap{min-width:0}
.moonlit-collection .collection-title-wrap .eyebrow{font-size:8.5px;letter-spacing:.18em;color:#f3dba7}
.moonlit-collection .collection-title-wrap h1{font-size:28px;line-height:1.05;margin:3px 0 0;text-align:left;color:#fff1d4;font-weight:900;text-shadow:0 2px 10px #0009}
.moonlit-collection .collection-title-wrap p{font-size:10px;color:#d2dde9;margin-top:4px}
.moonlit-collection .collection-count{flex-shrink:0;width:79px;min-height:58px;border:1px solid #d9b77880;border-radius:15px;background:linear-gradient(140deg,#243b60ec,#0a172bee);display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 #fff0cb24,0 5px 14px #050d1c99}
.moonlit-collection .collection-count strong{font-size:24px;line-height:1;color:#efcf88}
.moonlit-collection .collection-count strong span{font-size:11px;color:#cdd7e3}
.moonlit-collection .collection-count small{font-size:7.5px;letter-spacing:.08em;font-weight:900;color:#d7e3ee}
.moonlit-collection .collection-filter{display:flex;gap:7px;overflow:auto;padding:6px 1px 8px;scrollbar-width:none;flex-shrink:0}
.moonlit-collection .collection-filter::-webkit-scrollbar{display:none}
.moonlit-collection .collection-filter button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:36px;border-radius:999px;padding:4px 12px;font-size:10px;line-height:1;font-weight:800;background:linear-gradient(180deg,#1c3052e8,#0e1b32f2);border:1px solid #b4a98d7d;color:#dae4f1;white-space:nowrap;box-shadow:inset 0 1px 0 #d9e9ff0b,0 2px 6px #0007}
.moonlit-collection .collection-filter button img{width:23px;height:23px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 2px #0007)}
.moonlit-collection .collection-filter button.active{background:linear-gradient(180deg,#ffe2a3,#c49a57);border:1px solid #f8e7b6;color:#102037;box-shadow:0 0 15px #fbd28f4d,inset 0 1px 0 #fff9dfab}
.moonlit-collection .filter-glyph{font-size:14px;line-height:1}
.moonlit-collection .collection-section-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;border-bottom:1px solid #e0b8796e;padding:1px 2px 9px}
.moonlit-collection .collection-section-bar>div{display:flex;align-items:center;gap:7px}
.moonlit-collection .collection-section-star{font-size:19px;color:#f7d796;text-shadow:0 0 9px #ffc97166}
.moonlit-collection .collection-section-title{font-size:13px;letter-spacing:.12em;font-weight:900;color:#ffe0ab}
.moonlit-collection .collection-sort{font-size:9px;color:#c6d6e5;display:inline-flex;gap:4px;align-items:center;white-space:nowrap}
.moonlit-collection .collection-sort select{min-height:34px;max-width:90px;border:1px solid #c8ae77a3;border-radius:999px;padding:4px 5px 4px 10px;color:#f1ddb2;font-size:11px;font-family:inherit;font-weight:800;background:#101c35}
.moonlit-collection .collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;padding:4px 1px 20px}
.moonlit-collection .collection-card{
 --rarity:#d4a567;
 width:100%;height:clamp(245px,69vw,287px);min-height:0;
 grid-template-rows:25px minmax(0,1fr) 60px;gap:0;
 border-radius:18px;border:1px solid var(--rarity);
 background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--rarity) 15%,transparent) 0%,transparent 74%),linear-gradient(170deg,#10233f,#081427 88%)!important;
 box-shadow:inset 0 0 0 4px #081527a6,inset 0 1px 0 #fff5dc5e,0 7px 18px #0009,0 0 14px color-mix(in srgb,var(--rarity) 16%,transparent);
 padding:8px 8px 8px;isolation:isolate;overflow:hidden
}
.moonlit-collection .collection-card::before,.moonlit-collection .collection-card::after{content:none!important;display:none!important}
.moonlit-collection .collection-card.rarity-common{--rarity:#9aa3b2}
.moonlit-collection .collection-card.rarity-rare{--rarity:#75cde9}
.moonlit-collection .collection-card.rarity-epic{--rarity:#bc8bfa}
.moonlit-collection .collection-card.rarity-legendary{--rarity:#f5a623}
.moonlit-collection .collection-card.rarity-mythic{--rarity:#ff4ecd}
.moonlit-collection .collection-card.locked-card{--rarity:#877aab;filter:saturate(.93)}
.moonlit-collection .collection-card-head{z-index:3;margin:0;padding:0 0 0 4px;align-self:stretch;line-height:24px;display:flex;align-items:center;gap:5px;background:linear-gradient(90deg,#0a1429c7,transparent);color:var(--rarity);font-size:9px;letter-spacing:.14em}
.moonlit-collection .collection-card-head::before{content:'✦';color:var(--rarity)}
.moonlit-collection .collection-portrait{position:relative;z-index:1;min-height:0;height:100%;overflow:hidden;margin:0;display:flex;align-items:center;justify-content:center;padding:1px 0}
.moonlit-collection .collection-portrait::before{content:'';position:absolute;inset:3px;border-radius:999px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--rarity) 21%,transparent),transparent 64%);filter:blur(9px);pointer-events:none}
.moonlit-collection .portrait-art{display:block;position:relative;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important;filter:drop-shadow(0 7px 9px #0207178c);pointer-events:none}
.moonlit-collection .locked-card .portrait-art{filter:grayscale(.55) brightness(.19) opacity(.8)}
.moonlit-collection .card-lock{width:42px;height:42px;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;filter:drop-shadow(0 2px 9px #070d20)}
.moonlit-collection .collection-card-bottom{z-index:4;min-width:0;width:100%;min-height:60px;height:60px;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:3px;padding:7px 3px;border-radius:10px;background:linear-gradient(180deg,#08152bdd,#050d1df8);border-top:1px solid color-mix(in srgb,var(--rarity) 62%,transparent);box-shadow:0 -4px 10px #05101a52;margin:0;white-space:nowrap;overflow:hidden}
.moonlit-collection .collection-card-bottom strong{font-size:20px;color:#fff0d0;line-height:1.12;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:900}
.moonlit-collection .collection-card-bottom small{font-size:9.5px;color:#d9e4ed;letter-spacing:.04em}
.moonlit-collection .active-stamp{top:7px;right:6px;z-index:6;border-radius:999px;padding:3px 6px;font-size:7px;font-weight:900;background:linear-gradient(180deg,#f9dfa0,#c49a53);box-shadow:0 2px 6px #0009;color:#10213c}
@media(max-width:359px){.moonlit-collection .collection-card{height:222px;grid-template-rows:23px minmax(0,1fr) 54px;padding:7px 6px}.moonlit-collection .collection-card-bottom{height:54px;min-height:54px}.moonlit-collection .collection-card-bottom strong{font-size:17px}.moonlit-collection .collection-grid{gap:8px}.moonlit-collection .collection-section-title{font-size:11px}.moonlit-collection .collection-filter button{font-size:9px;padding:4px 9px}.moonlit-collection .collection-topline{gap:5px}}


/* v0.1.6 targeted fixes */
.breeding-stage{background:none !important;border:0 !important;box-shadow:none !important;padding:10px 4px 0 !important}
.parent-stage{background:none !important;border:0 !important;box-shadow:none !important;padding:0 !important}
.parent-fox-wrap{background:none !important}
.parent-column{padding:0 6px}
.parent-column strong{margin-top:2px}

.hero-fox-wrap{overflow:visible;isolation:isolate}
.fox-feed-burst,.fox-level-burst{position:absolute;inset:0;pointer-events:none;z-index:3}
.feed-particle,.level-spark,.level-ring,.level-badge{position:absolute}
.feed-particle{width:16px;height:16px;border-radius:999px;background:radial-gradient(circle at 35% 35%, #fff7df 0 18%, #ffe28d 22%, #f7b95c 55%, rgba(247,185,92,0) 72%);filter:drop-shadow(0 0 6px rgba(255,213,116,.45));animation:feed-float 1.1s ease-out forwards;opacity:0}
.feed-particle::after{content:'✦';position:absolute;inset:-5px 0 0 0;text-align:center;font-size:13px;color:#fff7d7;opacity:.95}
.feed-particle.p1{left:28%;top:66%;animation-delay:0s}.feed-particle.p2{left:36%;top:62%;animation-delay:.05s}.feed-particle.p3{left:46%;top:59%;animation-delay:.1s}.feed-particle.p4{left:56%;top:62%;animation-delay:.12s}.feed-particle.p5{left:63%;top:67%;animation-delay:.16s}.feed-particle.p6{left:40%;top:70%;animation-delay:.08s}.feed-particle.p7{left:52%;top:71%;animation-delay:.14s}.feed-particle.p8{left:48%;top:54%;animation-delay:.18s}
@keyframes feed-float{0%{opacity:0;transform:translateY(10px) scale(.45)}18%{opacity:1}100%{opacity:0;transform:translateY(-52px) scale(1.05)}}
.level-ring{left:50%;top:58%;width:180px;height:180px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(255,232,156,.85);box-shadow:0 0 24px rgba(255,219,117,.4), inset 0 0 16px rgba(255,246,190,.22);animation:level-ring 1.45s ease-out forwards}
.level-badge{left:50%;top:16%;transform:translateX(-50%);padding:8px 14px;border-radius:999px;border:1px solid rgba(255,241,196,.65);background:linear-gradient(180deg, rgba(255,235,180,.98), rgba(224,178,77,.95));color:#18263d;font-size:12px;font-weight:900;letter-spacing:.08em;box-shadow:0 10px 20px rgba(0,0,0,.25);animation:level-badge-pop 1.6s ease-out forwards}
.level-spark{width:9px;height:9px;border-radius:999px;background:#ffe7a0;box-shadow:0 0 12px rgba(255,223,124,.75);animation:level-spark 1.4s ease-out forwards;opacity:0}
.level-spark.s1{left:50%;top:50%;--dx:-98px;--dy:-44px}.level-spark.s2{left:50%;top:50%;--dx:-72px;--dy:-90px}.level-spark.s3{left:50%;top:50%;--dx:-10px;--dy:-112px}.level-spark.s4{left:50%;top:50%;--dx:54px;--dy:-92px}.level-spark.s5{left:50%;top:50%;--dx:92px;--dy:-42px}.level-spark.s6{left:50%;top:50%;--dx:102px;--dy:18px}.level-spark.s7{left:50%;top:50%;--dx:60px;--dy:76px}.level-spark.s8{left:50%;top:50%;--dx:0px;--dy:96px}.level-spark.s9{left:50%;top:50%;--dx:-66px;--dy:74px}.level-spark.s10{left:50%;top:50%;--dx:-102px;--dy:20px}
@keyframes level-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}
@keyframes level-badge-pop{0%{opacity:0;transform:translateX(-50%) translateY(10px) scale(.7)}14%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}78%{opacity:1}100%{opacity:0;transform:translateX(-50%) translateY(-8px) scale(1.03)}}
@keyframes level-spark{0%{opacity:0;transform:translate(0,0) scale(.4)}18%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.1)}}


/* v0.1.8 inventory fixes */
.inventory-scroll{padding-bottom:calc(28px + var(--safe-bottom));}
.inventory-category{overflow:visible !important;gap:6px}
.inventory-category h3{display:flex;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:2px}
.inventory-category h3::before{content:none !important}
.inventory-section-glyph{width:16px;height:16px;display:inline-block;position:relative;flex:0 0 auto}
.inventory-section-glyph::before,.inventory-section-glyph::after{content:"";position:absolute;inset:0;margin:auto}
.inventory-section-glyph-blue::before{width:12px;height:12px;transform:rotate(45deg);border-radius:3px;background:radial-gradient(circle at 35% 35%, #d3f4ff 0, #86d8ff 38%, #3795dd 76%, #174f8f 100%);box-shadow:0 0 10px rgba(92,181,255,.35)}
.inventory-section-glyph-blue::after{width:4px;height:4px;border-radius:999px;background:#effcff;box-shadow:0 0 0 2px rgba(235,252,255,.18),0 0 10px rgba(193,244,255,.4)}
.inventory-section-glyph-gold::before{width:13px;height:13px;transform:rotate(45deg);border-radius:3px;background:radial-gradient(circle at 35% 35%, #fff6d0 0, #f6d98b 34%, #d9aa49 72%, #8f6222 100%);box-shadow:0 0 10px rgba(245,208,120,.28)}
.inventory-section-glyph-gold::after{width:13px;height:13px;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);background:rgba(255,248,215,.55);transform:scale(.52)}
.inventory-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 2px;min-height:76px;border-bottom:1px solid rgba(154,140,104,.35)}
.inventory-item:last-child{border-bottom:0}
.inventory-item>img{width:56px;height:56px;object-fit:contain;align-self:center}
.inventory-item>span{display:flex;flex-direction:column;gap:4px;min-width:0;padding-right:4px}
.inventory-item strong{font-size:12px;line-height:1.25;color:#ffefcb;font-weight:800}
.inventory-item small{font-size:9.5px;line-height:1.4;color:#d0dceb;white-space:normal}
.inventory-item>b{min-width:28px;text-align:right;align-self:center;font-size:14px;color:#f2d59a}
.inventory-item-buttons{display:flex;flex-direction:column;gap:5px;align-items:flex-end;justify-self:end}
.inventory-item button{min-width:52px;font-size:9px;padding:7px 10px;border-radius:10px}
.inventory-item-cub{grid-template-columns:56px minmax(0,1fr) auto}
.inventory-item-cub .inventory-item-buttons{grid-column:auto}
.inventory-empty{padding:12px 2px 6px}
.inventory-supplies .inventory-item-buttons button,.inventory-cubs .inventory-item-buttons button{min-width:56px}

@media (max-width:359px){
  .inventory-item{grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"icon text amount" "icon actions actions";align-items:start;row-gap:6px;min-height:unset;padding:10px 0}
  .inventory-item>img{grid-area:icon;width:48px;height:48px}
  .inventory-item>span{grid-area:text}
  .inventory-item>b{grid-area:amount;align-self:start;font-size:13px}
  .inventory-item-buttons{grid-area:actions;flex-direction:row;justify-self:start}
  .inventory-item-cub{grid-template-columns:48px minmax(0,1fr);grid-template-areas:"icon text" "icon actions"}
}


/* FOXVERSE v0.1.9: Inventory filter never collapses under long item lists.
   Inventory content is the ONLY vertical scroll area inside the overlay. */
.inventory-overlay { min-height:0; }
.inventory-overlay > .inventory-top { flex:0 0 auto; }
.inventory-overlay > .inventory-scroll {
  flex:1 1 0%;
  min-height:0;
  min-width:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.inventory-scroll > .section-head,
.inventory-scroll > .inventory-wallet,
.inventory-scroll > .inventory-filters,
.inventory-scroll > .inventory-category { flex:0 0 auto; }
.inventory-scroll > .inventory-filters {
  position:sticky;
  top:0;
  z-index:12;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  height:51px;
  min-height:51px;
  max-height:none;
  padding:7px 5px 9px;
  margin:0 -4px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(7,18,36,.98) 0%,rgba(9,22,42,.98) 90%);
  box-shadow:0 7px 13px rgba(3,8,20,.32);
  isolation:isolate;
}
.inventory-scroll > .inventory-filters::-webkit-scrollbar{display:none}
.inventory-filters button {
  flex:0 0 auto;
  min-height:36px;
  padding:7px 14px;
  white-space:nowrap;
  position:relative;
  z-index:1;
}
.inventory-filters button:focus-visible {outline:2px solid #e9c985;outline-offset:-2px}
.inventory-scroll > .inventory-category { min-height:max-content; }
@media (max-width:359px){
  .inventory-scroll > .inventory-filters{gap:6px;padding-inline:3px}
  .inventory-filters button{padding-inline:12px}
}


/* v0.2.0 new fox roster + sparkle icon swaps */
.sparkle-mark{display:inline-block;vertical-align:middle;object-fit:contain;filter:drop-shadow(0 0 8px rgba(244,211,129,.22));flex:0 0 auto}
.brand-mark{display:flex;align-items:flex-start;gap:8px}
.brand-mark .brand-sparkle{margin-top:3px}
.eyebrow{display:inline-flex;align-items:center;gap:6px}
.inline-sparkle,.filter-glyph-icon,.collection-section-icon,.card-head-icon{display:inline-block;vertical-align:middle;flex:0 0 auto}
.header-with-icon{display:inline-flex;align-items:center;gap:6px}
.validation-row{display:flex;align-items:center;gap:6px}
.collection-card-head::before,.moonlit-collection .collection-card-head::before,.inventory-category h3::before,.feed-particle::after{content:none !important}
.collection-card-head .card-head-icon{margin-right:1px}
.moonlit-collection .collection-filter .filter-glyph-icon{width:14px;height:14px}
.moonlit-collection .collection-section-icon{width:16px;height:16px}
.inventory-section-glyph{width:16px;height:16px;object-fit:contain;display:inline-block;flex:0 0 auto;filter:drop-shadow(0 0 6px rgba(248,214,129,.25))}
.inventory-section-glyph.inventory-section-glyph-img{position:static}
.inventory-section-glyph::before,.inventory-section-glyph::after{content:none !important}
.feed-particle{overflow:visible}
.feed-particle{background:radial-gradient(circle at 35% 35%, #fff7df 0 18%, #ffe28d 22%, #f7b95c 55%, rgba(247,185,92,0) 72%);box-shadow:0 0 6px rgba(255,213,116,.35);}
.collection-filter button{max-width:max-content}
.collection-filter button img{border-radius:999px}
.moonlit-collection .collection-card-bottom strong{max-width:100%}
.moonlit-collection .collection-card-head{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.moonlit-collection .collection-topline .eyebrow{display:inline-flex}
.collection-card-head .sparkle-mark{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--rarity) 40%,rgba(255,255,255,.3)))}
.home-footer-note,.shop-disclaimer{display:flex;align-items:center;gap:6px}
.validation-row .inline-sparkle{margin-top:-1px}


/* v0.2.2 · Fox progression, probabilities and passive skill panels */
.fox-passive-banner,.breeding-recipe-card,.recipes-codex,.rescue-odds-panel,.passive-detail{
  border:1px solid rgba(233,198,121,.5);
  border-radius:15px;
  background:linear-gradient(150deg,rgba(32,51,82,.95),rgba(10,22,41,.96));
  box-shadow:inset 0 1px 0 rgba(255,245,207,.12),0 7px 18px rgba(2,8,22,.28);
  color:#f8e7c5;
}
.fox-passive-banner{display:flex;align-items:center;gap:10px;padding:9px 12px}
.fox-passive-banner .passive-glimmer{font-size:17px;color:#e9cd90;flex-shrink:0}
.fox-passive-banner>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.fox-passive-banner strong,.passive-detail strong{font-size:11px;font-weight:900;color:#ffe1a7}
.fox-passive-banner small,.passive-detail p{font-size:10px;line-height:1.4;color:#d2dfea}
.breeding-recipe-card{padding:12px;margin-top:11px;display:flex;flex-direction:column;gap:7px}
.breeding-recipe-card strong{font-size:12px;color:#ffe4ad}
.breeding-recipe-card p,.breeding-recipe-card small{font-size:10px;line-height:1.5;color:#d6e2ed;margin:0}
.breeding-recipe-card p b{color:#ffdc8d}
.breeding-recipe-card small{color:#aeeacf}
.recipes-codex,.rescue-odds-panel{padding:10px 12px;margin:10px 0 5px}
.recipes-codex summary,.rescue-odds-panel summary{font-size:11px;font-weight:900;letter-spacing:.035em;cursor:pointer;color:#ffdfa8;padding:4px 1px}
.recipes-codex p,.rescue-odds-panel p{font-size:10px;line-height:1.4;color:#d2deeb;margin:9px 0}
.recipes-list{margin-top:9px;display:grid;gap:5px}
.recipe-list-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:6px;align-items:center;padding:7px 6px;border-radius:8px;background:rgba(10,20,39,.65);font-size:9px;color:#d4e0ed}
.recipe-list-row strong{font-size:9px;color:#ffe0ad}
.recipe-list-row b{font-size:10px;color:#ffcd80}
.rescue-rarity-row{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}
.rescue-rarity-row span{display:flex;gap:4px;padding:5px 7px;border:1px solid rgba(227,191,122,.3);border-radius:9px;color:#ffe3b4;font-size:9px;background:rgba(7,16,33,.75)}
.rescue-fox-odds{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.rescue-fox-odds>div{display:flex;align-items:center;gap:4px;min-width:0;font-size:10px;padding:6px;border-radius:8px;background:rgba(6,15,31,.65)}
.rescue-fox-odds span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.rescue-fox-odds small{font-size:8px;color:#a9bbcf}
.rescue-fox-odds b{font-size:10px;color:#ffe0a4}
.passive-detail{padding:10px 12px;margin:11px 0;text-align:left}
.passive-detail .eyebrow{display:block;font-size:8px;line-height:1.5}
.passive-detail strong{display:block;font-size:14px;margin:6px 0}
.passive-detail p{margin:0}
.fox-rescue-base-rate{font-size:9px;color:#cdd8e8;line-height:1.4}
.fox-rescue-base-rate b{color:#ffe0a4}

.merge-passive-note{padding:8px 10px;font-size:10px;color:#d6e6f0;border:1px solid rgba(217,186,118,.35);border-radius:11px;background:rgba(10,23,43,.86);line-height:1.4}.merge-passive-note strong{color:#ffe1a0;font-family:inherit;font-size:10px}


/* FOXVERSE v0.2.3 animated fox motion */
.fox-motion{position:relative;display:block;isolation:isolate;overflow:visible;pointer-events:none}
.fox-motion-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none}
.fox-motion-fallback{z-index:0;transition:opacity .15s linear;filter:drop-shadow(0 8px 12px rgba(0,0,0,.3))}
.fox-motion-fallback.is-hidden{opacity:0}
.hero-fox-wrap .hero-fox-motion{position:relative;z-index:2;width:min(100%,390px);height:115%;max-width:none;animation:none}
.hero-fox-motion .fox-motion-fallback{transform:scale(.98)}
.parent-fox-wrap .parent-fox-motion{height:110%;width:100%;max-width:100%;z-index:2;animation:none}
.parent-fox-motion .fox-motion-fallback{transform:scale(1.03)}
.fox-detail .detail-fox-motion{width:100%;height:220px;max-height:none;margin:6px auto;filter:none}
@media (max-width:359px){
}
@media(prefers-reduced-motion:reduce){.fox-motion-fallback{transition:none}}
/* FOXVERSE v4 integration / real multiplayer pilot */
.v4-arena{position:fixed;inset:0;background:#081523;color:#edf6fa;font-family:system-ui,Arial,sans-serif;z-index:100;overflow:auto}.v4-arena-page{max-width:1000px;margin:0 auto;padding:20px 22px 80px}.v4-arena-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.v4-arena-top strong{font-size:25px;letter-spacing:2px;color:#e9d69c}.v4-arena-top strong span{color:#80d4cc}.v4-arena button{cursor:pointer;color:inherit}.v4-arena-top button,.v4-arena-header button{border:1px solid #78c7ca66;background:#122b3b;border-radius:12px;padding:10px 15px}.v4-online{color:#8beabb}.v4-offline{color:#e1bda5}.v4-arena-hero{border:1px solid #88c7c26b;background:linear-gradient(125deg,#15374b,#0b1a35);display:flex;align-items:center;gap:22px;margin:24px 0;padding:18px;border-radius:20px;min-height:180px}.v4-arena-hero img{object-fit:contain;width:156px;height:155px;border-radius:14px}.v4-arena-hero small{color:#8acfc5;letter-spacing:2px}.v4-arena-hero h1{font-size:30px;margin:5px 0;color:#ffe4ad}.v4-arena-hero p{font-size:13px;color:#d2ddeb}.v4-arena-hero select,.v4-arena-controls input{background:#092137;color:#fff;padding:10px;border:1px solid #82c7c26e;border-radius:10px;width:100%;max-width:280px;margin-top:10px}.v4-arena-modes h2{font-size:20px;margin:10px 0 15px}.v4-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.v4-mode-grid button{background:#122d40;border:2px solid #416875;border-radius:18px;min-height:124px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.v4-mode-grid button.active{border-color:#e9d49c;box-shadow:0 0 0 2px #f0d68f30;background:#193e50}.v4-mode-grid b{font-size:26px;color:#eddd9f}.v4-mode-grid span{font-weight:800;font-size:13px}.v4-mode-grid small{font-size:11px;color:#a8bdcd}.v4-arena-controls{border:1px solid #5a889285;background:#0d2336;border-radius:16px;padding:20px;margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:12px}.v4-arena-controls label{display:flex;align-items:center;flex-direction:column;font-size:12px}.v4-arena-controls button{border-radius:12px;padding:14px 23px;border:1px solid #8cc2c8;width:min(350px,100%);font-weight:800}.v4-play-primary{background:linear-gradient(120deg,#155967,#16785f)!important;color:white!important}.v4-play-secondary{background:#234451}.v4-arena-controls button:disabled{opacity:.45;cursor:not-allowed}.v4-arena-disclaimer{font-size:11px;max-width:580px;text-align:center;color:#adc0ca;line-height:1.45}.v4-arena-footer{margin:25px auto;color:#bed0d4;text-align:center;font-size:13px}.v4-arena-footer p{margin:5px}.v4-status{color:#f2c18d}.v4-wait{text-align:center;width:100%}.v4-wait h3{font-size:21px}.v4-wait p{margin:12px 0}.v4-spinner{font-size:50px}.v4-gameframe{width:100%;height:100%;border:0;display:block}.v4-playing{overflow:hidden}.v4-arena-header{position:fixed;left:0;right:0;top:0;z-index:150;display:flex;align-items:center;justify-content:space-between;pointer-events:none;padding:6px 12px;gap:10px;color:#fff;font-size:11px}.v4-arena-header button{pointer-events:auto;opacity:.87;background:#061c27db}.v4-training-hint{position:fixed;top:55px;left:50%;transform:translateX(-50%);z-index:150;background:#092f40d9;border:1px solid #96d1bf;padding:9px 12px;border-radius:10px;max-width:90vw;font-size:12px}.v4-training-hint button{border:0;background:none;font-size:18px;margin-left:8px}.bottom-nav{gap:1px}.nav-item{min-width:0}@media(max-width:620px){.v4-arena-page{padding:12px 10px 50px}.v4-mode-grid{gap:7px}.v4-mode-grid button{min-height:112px}.v4-mode-grid b{font-size:20px}.v4-mode-grid span{font-size:11px}.v4-arena-hero{gap:10px;padding:9px}.v4-arena-hero img{width:110px;height:118px}.v4-arena-hero h1{font-size:21px}.bottom-nav .nav-item{padding-inline:0;font-size:9px}.v4-training-hint{top:42px}}

/* FOXVERSE 4.1 — render Sanctuary foxes from shared Arena 3D rig, no WebM. */
.fox-motion-3d{position:relative;isolation:isolate;overflow:visible}
.fox-motion-3d .fox-motion-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;background:transparent;pointer-events:none;transition:opacity .15s ease;z-index:2}
.fox-motion-3d .fox-motion-fallback{z-index:1}
.hero-fox-motion .fox-motion-canvas{transform:scale(1.08);transform-origin:center 54%}
.parent-fox-motion .fox-motion-canvas{transform:scale(1.12);transform-origin:center 60%}
.detail-fox-motion .fox-motion-canvas{transform:scale(1.06);transform-origin:center center}
@media(prefers-reduced-motion:reduce){.fox-motion-canvas{transition:none!important}}


/* FOXVERSE v4.2 — Visible Play entry, six-column navigation and explicit 3D state. */
.bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))!important;overflow:visible;min-height:calc(79px + var(--safe-bottom));}
.bottom-nav .nav-item{min-width:0;white-space:nowrap;touch-action:manipulation;font-size:clamp(8px,2.2vw,11px);}
.bottom-nav .nav-item-play{color:#ffecba;font-weight:900;background:linear-gradient(180deg,rgba(23,108,106,.3),rgba(10,60,73,.2));border:1px solid rgba(152,250,224,.38);border-radius:13px;}
.bottom-nav .nav-item-play .play-icon{font-size:25px;line-height:34px;filter:drop-shadow(0 0 6px #61dbc69c)}
.bottom-nav .nav-item img{width:clamp(22px,6.5vw,34px);height:clamp(22px,6.5vw,34px)}
@media(max-width:410px){.bottom-nav{padding-inline:2px;gap:0!important}.bottom-nav .nav-item{font-size:8px;letter-spacing:-.25px}.bottom-nav .nav-item img{width:25px;height:25px}}
.home-arena-cta{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid #8befd480;background:linear-gradient(110deg,rgba(19,63,72,.98),rgba(14,36,59,.96));box-shadow:0 5px 21px #0007;border-radius:18px;padding:14px 16px;margin:16px 0 18px;color:#efffe9;font-family:system-ui,sans-serif}
.home-arena-cta strong{display:block;color:#fce8ae;font-size:17px;letter-spacing:.3px}.home-arena-cta small{display:block;color:#c4e4dc;font-size:11px;margin-top:3px;line-height:1.4}
.home-arena-cta button,.top-play-button{touch-action:manipulation;cursor:pointer;border:1px solid #daffb6;color:#0b3038;font-weight:900;border-radius:13px;background:linear-gradient(135deg,#ffe4a2,#80e7c0);box-shadow:0 3px 16px #55e0b53c;padding:12px 18px;white-space:nowrap;font:900 15px system-ui,sans-serif}
.top-play-button{font-size:12px;padding:7px 11px;min-height:37px}
@media(max-width:430px){.home-arena-cta{padding:12px 10px;gap:6px}.home-arena-cta strong{font-size:14px}.home-arena-cta small{font-size:10px}.home-arena-cta button{font-size:13px;padding:11px 9px}}
.fox-motion-3d .fox-motion-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;color:#e8f9f2;text-shadow:0 2px 5px #091922;background:#133c46c9;padding:6px 10px;border-radius:12px;font:700 11px/1.35 system-ui,sans-serif;text-align:center;max-width:90%;min-width:115px;pointer-events:none}
.fox-motion-3d .fox-motion-status.is-failed{top:auto;bottom:5px;transform:translateX(-50%);background:#453526d9;color:#fff1db;min-width:70%;font-size:10px}
.fox-motion-3d .fox-motion-fallback{visibility:hidden;opacity:0}
.fox-motion-3d .fox-motion-fallback.is-failed{visibility:visible;opacity:1}
.fox-motion-3d .fox-motion-canvas{z-index:2}
.v42-version{display:block;color:#95e5cb;font:bold 9px system-ui,sans-serif;margin-top:3px;letter-spacing:.6px}

.hud-controls .top-play-button{width:auto!important;min-width:78px!important;min-height:37px;height:37px!important;padding:7px 11px!important;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid #daffb6!important;background:linear-gradient(135deg,#ffe4a2,#80e7c0)!important;color:#0b3038!important;font:900 12px system-ui,sans-serif!important}

/* v4.3 Living Guardian presentation — magical aura, no fake ground shadow. */
.hero-fox-wrap .hero-fox-motion{filter:none!important}
.hero-fox-motion .fox-motion-fallback{filter:none!important}
.hero-fox-wrap .hero-halo{background:radial-gradient(ellipse,rgba(116,219,198,.21),transparent 70%);height:18px;filter:blur(17px)}
.hero-fox-wrap:before{content:'';position:absolute;inset:4% 13% 12%;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse,rgba(94,205,245,.17) 2%,rgba(185,131,245,.10) 28%,transparent 69%);filter:blur(13px);animation:living-aura 5s ease-in-out infinite}
.hero-fox-wrap:after{content:'✦  ·  ✧  ·  ✦';position:absolute;left:15%;right:15%;top:13%;color:#b0f4e9a6;text-align:center;letter-spacing:32px;pointer-events:none;animation:living-spark 5.3s ease-in-out infinite;font-size:16px}
@keyframes living-aura{50%{opacity:.58;transform:scale(1.12)}}@keyframes living-spark{50%{opacity:.32;transform:translateY(-11px)}}
.v43-story-card{margin:14px 12px 10px;padding:15px;border:1px solid #90ddbd80;border-radius:18px;background:linear-gradient(140deg,#13354cdd,#102338ed);box-shadow:0 6px 25px #00162942;color:#f3ebcf}
.v43-story-label{color:#a8eccc;font-size:10px;letter-spacing:2px;font-weight:800}
.v43-story-card h3{font-size:18px;margin:5px 0 6px;color:#f7e7b6}
.v43-story-card p{font-size:12px;line-height:1.5;color:#d8e7e8}
.v43-story-progress{height:7px;background:#496371;border-radius:8px;overflow:hidden;margin:11px 0 9px}
.v43-story-progress div{background:linear-gradient(90deg,#78d8bd,#e1d18e);height:100%;transition:width .3s}
.v43-story-row{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-top:10px;flex-wrap:wrap}
.v43-story-card button{background:#4c9a8b;border:1px solid #b4f4d0;border-radius:10px;padding:9px 12px;color:#fff6d6;font-weight:800;font-size:12px;cursor:pointer}
.v43-story-card button:disabled{opacity:.6}
.v43-wing-upgrade{border:1px solid #d8d2a577;background:#302b3766;padding:11px;border-radius:12px;margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.v43-wing-upgrade small{color:#e5d9af;display:block;font-size:11px;margin-top:3px}
.v43-fox-badge{background:#ccead11f;border:1px solid #a2eacc5b;border-radius:10px;color:#c6ffdb;font-size:11px;padding:6px 10px;display:inline-block;margin-top:8px}
.v43-bot-indicator{color:#bcebdd;font-size:12px;text-align:center;margin:8px 0}
@media(prefers-reduced-motion:reduce){.hero-fox-wrap:before,.hero-fox-wrap:after{animation:none}}

.v43-bond-bubble{position:absolute;z-index:6;top:4px;left:50%;width:max-content;max-width:90%;transform:translateX(-50%);padding:9px 12px;border:1px solid #c7fbe0a0;border-radius:14px;background:#092c40e8;color:#fff1d4;font-size:11px;font-weight:600;text-align:center;box-shadow:0 7px 20px #03121f50;pointer-events:none}

/* FOXVERSE v4.4 — Real 360° Sanctuary model inspection + accessible queue actions. */
.hero-fox-wrap{pointer-events:none}
.hero-fox-wrap .fox-motion-interactive{pointer-events:auto!important;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;outline-offset:3px;filter:none!important}
.hero-fox-wrap .fox-motion-interactive:active{cursor:grabbing}
.hero-fox-wrap .fox-motion-interactive:focus-visible{outline:2px solid #a8f3e3;border-radius:14px}
.hero-fox-wrap .fox-motion-interactive .fox-motion-canvas{pointer-events:none}
.v44-rotate-hint{position:absolute;z-index:4;bottom:-5px;left:50%;transform:translateX(-50%);white-space:nowrap;border:1px solid #96e5d34c;color:#d7f5eb;border-radius:999px;background:#071f30ba;padding:4px 10px;font:600 10px system-ui,sans-serif;pointer-events:none}
.v4-arena-controls .v4-wait .v44-cancel-queue{appearance:none!important;background:#1a394c!important;color:#ffedbf!important;border:2px solid #eac991!important;text-shadow:none!important;opacity:1!important;min-height:52px;box-shadow:inset 0 1px 0 #ffffff13,0 4px 15px #03142177;transition:background .15s,border-color .15s,transform .12s}
.v4-arena-controls .v4-wait .v44-cancel-queue:hover{background:#295167!important;border-color:#fff0c4!important}
.v4-arena-controls .v4-wait .v44-cancel-queue:active{background:#102d40!important;transform:translateY(1px)}
.v4-arena-controls .v4-wait .v44-cancel-queue:focus-visible{outline:3px solid #99f2e0;outline-offset:3px}
.v4-arena-controls button:not(:disabled){opacity:1}
.v4-arena-controls button:not(:disabled):hover{filter:brightness(1.1)}
@media(prefers-reduced-motion:reduce){.v44-rotate-hint{animation:none}}

.v44-orbit-reset{position:absolute;z-index:5;bottom:-10px;right:5%;pointer-events:auto!important;touch-action:manipulation;border:1px solid #97dccc80;background:#163345!important;color:#dcf6ec!important;border-radius:50%;font-size:21px;width:37px;height:37px;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 3px 12px #0005}
.v44-orbit-reset:focus-visible{outline:2px solid #f1d69b;outline-offset:2px}
.v44-orbit-reset:active{transform:scale(.95)}

/* FOXVERSE v4.5 — Sanctuary addiction systems (streak, offline earnings, daily quests). */
.v45-streak{margin-top:12px;border-top:1px solid #90ddbd55;padding-top:10px}
.v45-streak-title{font-size:10px;letter-spacing:2px;font-weight:800;color:#a8eccc;margin-bottom:8px}
.v45-streak-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.v45-streak-cell{border:1px solid #90ddbd55;border-radius:10px;background:#0d2233cc;padding:6px 2px;text-align:center;display:flex;flex-direction:column;gap:3px;align-items:center;min-height:66px;justify-content:center}
.v45-streak-cell.past{opacity:.6}
.v45-streak-cell.today{border-color:#f5d68a;box-shadow:0 0 10px #f5d68a66;background:#1a2f45f2}
.v45-streak-day{font-size:9px;font-weight:800;color:#a8eccc;letter-spacing:1px}
.v45-streak-reward{font-size:9px;color:#f7e7b6;font-weight:700}
.v45-streak-check{color:#7fe3a8;font-size:14px;font-weight:900}
.v45-streak-cell button{background:#f5d68a;border:0;border-radius:7px;color:#1a1206;font-size:9px;font-weight:900;padding:5px 7px;cursor:pointer}
.v45-streak-claimed{font-size:9px;color:#7fe3a8;font-weight:800}
.v45-quest-card{margin:0 12px 10px;padding:14px;border:1px solid #c7a25e88;border-radius:18px;background:linear-gradient(140deg,#1a2c47dd,#121f36ed);box-shadow:0 6px 25px #00162942;color:#f3ebcf}
.v45-quest-title{font-size:10px;letter-spacing:2px;font-weight:800;color:#f0d499;margin-bottom:8px}
.v45-quest-row{display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid #c7a25e33}
.v45-quest-row:first-of-type{border-top:0}
.v45-quest-info{flex:1;min-width:0}
.v45-quest-info strong{font-size:12px;color:#f7e7b6;display:block;margin-bottom:4px}
.v45-quest-bar{height:6px;background:#496371;border-radius:8px;overflow:hidden;margin-bottom:4px}
.v45-quest-bar div{background:linear-gradient(90deg,#78d8bd,#e1d18e);height:100%;transition:width .3s}
.v45-quest-info small{font-size:10px;color:#d8e7e8}
.v45-quest-row button{background:#4c9a8b;border:1px solid #b4f4d0;border-radius:10px;padding:8px 12px;color:#fff6d6;font-weight:800;font-size:11px;cursor:pointer}
.v45-quest-done{color:#7fe3a8;font-size:16px;font-weight:900}
.v45-modal-overlay{position:absolute;inset:0;z-index:40;background:#030816ba;backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;padding:16px}
.v45-modal{width:100%;max-width:340px;border:1px solid #ceaf6baa;border-radius:19px;background:radial-gradient(circle at top,#294267,#111c34 64%);box-shadow:inset 0 0 0 2px #efd5a31f,0 18px 58px #000c;padding:22px 16px;color:#efe5d2;text-align:center}
.v45-modal h3{color:#ffe6b7;font-size:20px;margin:0 0 8px}
.v45-modal p{font-size:12px;line-height:1.6;color:#c7d4e4;margin:0 0 14px}
.v45-modal button{background:#f5d68a;border:0;border-radius:10px;color:#1a1206;font-weight:900;font-size:13px;padding:11px 26px;cursor:pointer}

/* FOXVERSE v4.5.3: compact touch-first matchmaking / lobby, safe area aware. */
.v4-arena-page{box-sizing:border-box}
.v4-arena-page .v453-fox-level{display:inline-block;font-size:.55em;vertical-align:middle;
 color:#c3eddb;background:#305468;padding:2px 8px;border-radius:999px;white-space:nowrap}
.v4-arena .v453-queue-card{display:flex;flex-direction:column;align-items:center;gap:7px}
.v4-arena .v453-queue-meta{display:flex;align-items:center;justify-content:center;gap:8px;color:#ddf9e9}
.v4-arena .v453-queue-meta b,.v4-arena .v453-queue-meta span{
 background:#1a3b4d;border:1px solid #78ceb481;border-radius:999px;padding:5px 14px;font-size:14px}
.v4-arena .v453-ready-roster{word-break:break-word;max-width:100%}
.v4-arena .v4-spinner{display:inline-block;line-height:1;color:#c0f3df;animation:v453-spin 1.6s linear infinite}
@keyframes v453-spin{to{transform:rotate(360deg)}}
@media(max-width:620px){
 .v4-arena{overflow-x:hidden;overscroll-behavior:contain}
 .v4-arena-page{width:100%;max-width:100%;padding:calc(7px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:9px}
 .v4-arena-top{flex-wrap:nowrap;min-height:34px;gap:4px}
 .v4-arena-top button{padding:6px 9px;font-size:11px;border-radius:8px;white-space:nowrap}
 .v4-arena-top strong{font-size:15px;letter-spacing:.7px;white-space:nowrap}
 .v4-arena-top .v4-online,.v4-arena-top .v4-offline{font-size:9px;white-space:nowrap}
 .v4-arena-hero{min-height:0;margin:0;gap:10px;padding:7px 9px;border-radius:13px}
 .v4-arena-hero img{width:76px;height:77px;flex:0 0 76px;border-radius:8px}
 .v4-arena-hero>div{min-width:0;flex:1}
 .v4-arena-hero small{font-size:9px;letter-spacing:.7px}
 .v4-arena-hero h1{font-size:16px;line-height:1.2;margin:2px 0;overflow-wrap:anywhere}
 .v4-arena-hero p{font-size:10px;margin:2px 0;line-height:1.2}
 .v4-arena-hero p:last-child{display:none}
 .v43-fox-badge{font-size:9px;padding:2px 7px;margin-top:4px}
 .v4-arena-modes h2{font-size:13px;margin:0 0 7px}
 .v4-mode-grid{gap:6px}
 .v4-mode-grid button{border-radius:12px;min-height:69px;gap:2px;padding:5px 3px;border-width:1px}
 .v4-mode-grid b{font-size:18px}.v4-mode-grid span{font-size:10px}.v4-mode-grid small{display:none}
 .v4-arena-controls{margin:0;padding:10px;border-radius:13px;gap:8px}
 .v4-arena-controls label{width:100%;max-width:350px;flex-direction:row;gap:8px;justify-content:space-between;
  white-space:nowrap;font-size:11px;text-align:left}
 .v4-arena-controls input{width:auto;flex:1;min-width:0;max-width:none;margin:0;padding:9px 10px;min-height:38px;font-size:16px}
 .v4-arena-controls button{width:100%;min-height:42px;padding:10px 12px;font-size:12px;border-radius:10px}
 .v4-arena-controls .v4-play-secondary{width:calc(50% - 4px)}
 .v4-arena-controls:has(.v4-play-secondary){display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center}
 .v4-arena-controls:has(.v4-play-secondary) label,.v4-arena-controls:has(.v4-play-secondary) .v4-play-primary{flex:0 0 100%}
 .v4-arena-controls:has(.v4-play-secondary) .v4-play-secondary{flex:0 0 calc(50% - 4px);width:calc(50% - 4px)}
 .v4-arena-disclaimer{display:none}
 .v4-arena-footer{margin:0;padding:0 6px;font-size:10px}
 .v4-arena-footer>p:first-child,.v4-arena-footer>p:last-child{display:none}
 .v4-arena-footer h3{font-size:11px;margin:0 0 3px}
 .v4-arena-footer p{font-size:10px;margin:0;line-height:1.5}
 .v4-phase-queue .v4-arena-modes,.v4-phase-ready .v4-arena-modes,.v4-phase-result .v4-arena-modes{display:none}
 .v4-phase-queue .v4-arena-footer,.v4-phase-ready .v4-arena-footer,.v4-phase-result .v4-arena-footer{display:none}
 .v4-phase-queue .v4-arena-controls,.v4-phase-ready .v4-arena-controls,.v4-phase-result .v4-arena-controls{padding:19px 12px}
 .v4-phase-queue .v4-arena-hero,.v4-phase-ready .v4-arena-hero,.v4-phase-result .v4-arena-hero{min-height:0}
 .v4-phase-queue .v4-wait h3,.v4-phase-ready .v4-wait h3{font-size:16px;margin:1px}
 .v4-phase-queue .v4-wait p,.v4-phase-ready .v4-wait p{margin:4px 0;font-size:11px}
 .v4-phase-queue .v4-spinner{font-size:32px}
 .v4-phase-queue .v4-arena-controls .v44-cancel-queue,.v4-phase-ready .v4-arena-controls .v44-cancel-queue{min-height:42px}
 .v4-arena-header{top:env(safe-area-inset-top);padding:5px 9px;font-size:10px}
 .v4-arena-header button{padding:7px 9px}
}
@media(max-width:360px){.v4-arena-top strong{font-size:13px}.v4-arena-top button{font-size:10px;padding:6px}
.v4-arena-hero img{width:65px;height:70px;flex-basis:65px}.v4-arena-page{padding-left:8px;padding-right:8px}}
@media(max-width:620px) and (max-height:650px){.v4-arena-page{gap:6px}.v4-arena-hero img{height:60px;width:64px;flex-basis:64px}
 .v4-arena-hero p{display:none}.v4-mode-grid button{min-height:57px}.v4-arena-footer{display:none}}
@media(prefers-reduced-motion:reduce){.v4-arena .v4-spinner{animation:none}}

/* v4.5.4 – Sanctuary mobile-first composition.
   HUD/body/nav measurements share the same safe-area offsets. Only home-screen
   content is compressed; all existing gameplay controls remain usable. */
@media(max-width:430px){
  .game-shell{--v454-hud:88px;--v454-nav:67px}
  .top-hud{height:calc(var(--safe-top) + var(--v454-hud));padding:calc(var(--safe-top) + 7px) 12px 5px}
  .brand-row{gap:5px;min-height:35px}
  .brand-mark{font-size:clamp(16px,4.8vw,21px);letter-spacing:.045em;line-height:1.02;flex:0 1 auto;min-width:0;white-space:nowrap}
  .brand-mark>span{font-size:12px}
  .brand-mark small{font-size:0;margin:4px 0 0 17px;letter-spacing:0}
  .brand-mark .v42-version{font-size:9px;margin:0;line-height:1.15;letter-spacing:.10em;color:#a6ead6}
  .hud-controls{gap:4px;flex:0 0 auto}
  .hud-controls button{height:32px;width:32px;border-radius:10px;padding:5px}
  .hud-controls .top-play-button{width:auto!important;min-width:65px!important;height:32px!important;min-height:32px!important;padding:5px 9px!important;font-size:11px!important}
  .currencies{margin-top:7px;gap:7px}
  .currencies .resource{min-width:0;padding:1px 8px 1px 4px;font-size:12px;gap:3px}
  .currencies .resource img{width:21px;height:21px}
  .game-scroll{inset:calc(var(--safe-top) + var(--v454-hud)) 0 calc(var(--safe-bottom) + var(--v454-nav))}
  .bottom-nav{height:calc(var(--safe-bottom) + var(--v454-nav));min-height:calc(var(--safe-bottom) + var(--v454-nav));padding:4px 5px calc(var(--safe-bottom) + 4px)}
  .bottom-nav .nav-item{gap:2px;font-size:clamp(9px,2.4vw,11px);padding:3px 0}
  .bottom-nav .nav-item img{height:29px;width:29px}
  .bottom-nav .nav-item-play .play-icon{font-size:21px;line-height:27px}
  .home-screen{padding:5px 13px 16px;gap:7px}
  .home-screen .section-head{padding:0}
  .home-screen .section-head .eyebrow{font-size:8px;margin-bottom:3px;letter-spacing:.16em}
  .home-screen .section-head h1{font-size:clamp(28px,7.8vw,34px);line-height:1.03}
  .home-screen .section-head p{font-size:10px;margin:3px 0 0}
  .home-screen .companion-title{padding:3px 2px 0;align-items:center}
  .home-screen .companion-name{font-size:clamp(21px,6.1vw,25px)}
  .home-screen .companion-breed{font-size:10px}
  .home-screen .hero-fox-wrap{height:clamp(205px,31vh,248px);margin:0;align-items:flex-end}
  .home-screen .hero-fox-wrap .hero-fox-motion{width:min(100%,340px);height:110%}
  .home-screen .hero-fox-motion .fox-motion-canvas{transform:scale(1.015);transform-origin:center 53%}
  .home-screen .hero-fox-wrap:after{font-size:12px;letter-spacing:17px;top:8%}
  .home-screen .v44-rotate-hint{bottom:0;font-size:9px;padding:3px 8px}
  .home-screen .v44-orbit-reset{bottom:0;right:1%;height:32px;width:32px;font-size:18px}
  .home-screen .home-arena-cta{margin:6px 0 10px;padding:10px 11px;gap:7px;border-radius:14px}
  .home-screen .home-arena-cta strong{font-size:clamp(13px,3.9vw,16px);line-height:1.2}
  .home-screen .home-arena-cta small{font-size:10px;margin-top:3px;line-height:1.35}
  .home-screen .home-arena-cta button{font-size:12px;min-height:42px;padding:8px 10px;border-radius:11px}
  .home-screen .v43-story-card{margin:8px 0 9px}
}
@media(max-width:350px){
  .brand-mark{font-size:16px;letter-spacing:.01em}
  .brand-mark small{margin-left:12px}
  .hud-controls button{width:29px;height:30px;padding:4px}
  .hud-controls .top-play-button{min-width:58px!important;height:30px!important;min-height:30px!important;padding:4px 5px!important;font-size:10px!important}
  .currencies .resource{font-size:11px;padding-right:5px}
  .home-screen{padding-left:10px;padding-right:10px}
  .home-screen .hero-fox-wrap{height:clamp(190px,28vh,225px)}
}
@media(max-width:430px) and (max-height:710px){
  .home-screen .section-head p{display:none}
  .home-screen .hero-fox-wrap{height:clamp(180px,29vh,218px)}
  .home-screen .home-arena-cta{margin:2px 0 7px}
}

/* ===== v4.6 commerce layer (cm-*) ===== */
.cm-panel{display:flex;flex-direction:column;gap:12px}
.cm-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:2px 0 4px}
.cm-tabs button{position:relative;border:1px solid #f2d18c40;background:#0e1a32cc;color:#d9e3f0;border-radius:11px;padding:9px 4px;font-size:11px;font-weight:800;letter-spacing:.02em}
.cm-tabs button.active{background:linear-gradient(180deg,#f7dc9a,#d9a948);color:#2a1a04;border-color:#fff0c0}
.cm-badge{position:absolute;top:-6px;right:-3px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#ff6b6b;color:#fff;font-style:normal;font-size:10px;line-height:18px;text-align:center}
.cm-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;padding:8px 14px;border-radius:12px;border:1px solid #fff0c0;background:linear-gradient(180deg,#f7dc9a,#d9a948);color:#2a1a04;font-weight:900;font-size:13px;letter-spacing:.03em;box-shadow:inset 0 1px 0 #fff8,0 4px 12px #040c1b99;text-align:center}
.cm-btn small{font-size:10px;font-weight:800;opacity:.8}
.cm-btn-soft{background:#17274a;color:#f2d18c;border-color:#f2d18c66;box-shadow:none}
.cm-btn:disabled{filter:grayscale(.6)}
.cm-link{border:0;background:none;color:#f2d18c;font-size:12px;font-weight:800;text-decoration:underline;padding:6px;align-self:center}
.cm-link:disabled{opacity:.4;text-decoration:none}
.cm-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cm-row>.cm-btn{flex:1}
.cm-stack{display:flex;flex-direction:column;gap:8px;width:100%}
.cm-note{font-size:10.5px;line-height:1.5;color:#b9c8da;margin:0}
.cm-banner{margin:0;padding:8px 10px;border-radius:10px;background:#3b2a05;border:1px dashed #f2d18c;color:#ffe9b0;font-size:11px;font-weight:700;text-align:center}
.cm-warn{margin:0;color:#ff9a9a;font-size:12px;font-weight:700}
.cm-big{font-size:26px;font-weight:900;color:#fff1d5;margin:6px 0;text-align:center}
.cm-pill{display:inline-block;padding:8px 12px;border-radius:999px;background:#2b6b4a;color:#e9fff3;font-size:12px;font-weight:800}
.cm-flag{margin-left:6px;padding:1px 6px;border-radius:6px;background:#ff6b6b;color:#fff;font-size:9px;font-style:normal;font-weight:900;vertical-align:middle}
.cm-bar{height:9px;border-radius:6px;background:#0a1224;border:1px solid #f2d18c33;overflow:hidden}
.cm-bar>div{height:100%;background:linear-gradient(90deg,#7fe0ff,#f2d18c)}
.cm-input{width:120px;margin:4px auto 8px;display:block;text-align:center;font-size:24px;font-weight:800;border-radius:10px;border:2px solid #f2d18c;background:#0a1224;color:#fff;padding:6px}
.cm-check{display:flex;gap:8px;align-items:flex-start;text-align:left;font-size:11.5px;color:#d3dfeb;margin:10px 0}
.cm-check input{margin-top:2px;width:18px;height:18px}
.cm-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:#030816d9;backdrop-filter:blur(5px)}
.cm-ad{z-index:80}
.cm-card{width:100%;max-width:360px;max-height:92vh;overflow:auto;border-radius:18px;border:1px solid #f2d18c88;background:linear-gradient(160deg,#182744,#0b1426);padding:20px 18px;text-align:center;color:#eef4fb;display:flex;flex-direction:column;gap:10px;align-items:center;box-shadow:0 20px 60px #000b}
.cm-card h2{margin:0;font-size:20px;color:#fff1d5}.cm-card p{margin:0;font-size:12px;color:#c8d4e3}.cm-card small{font-size:10.5px;color:#aebdd0}
.cm-ad-box{width:100%;height:110px;border-radius:12px;background:repeating-linear-gradient(45deg,#1b2b52,#1b2b52 10px,#223566 10px,#223566 20px);display:flex;align-items:center;justify-content:center;font-size:36px;color:#f2d18c}
.cm-egg-hero{display:flex;align-items:center;gap:12px;padding:0 4px}
.cm-egg-img{width:78px;height:78px;object-fit:contain}
.cm-egg-info{display:flex;flex-direction:column;gap:4px;color:#fff1d5}.cm-egg-info small{font-size:10.5px;color:#c8d4e3}
.cm-odds{border:1px solid #f2d18c40;border-radius:12px;background:#0e1a32cc;padding:8px 10px}.cm-odds summary{font-weight:800;color:#f2d18c;font-size:12px}
.cm-odds-tiers{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.cm-tier{border-radius:8px;padding:4px 7px;font-size:10.5px;background:#17274a;color:#e8f0fa;display:inline-flex;gap:6px}
.cm-tier-rare{box-shadow:inset 0 0 0 1px #6cc8ff}.cm-tier-epic{box-shadow:inset 0 0 0 1px #c395ff}.cm-tier-legendary{box-shadow:inset 0 0 0 1px #f2d18c}.cm-tier-mythic{box-shadow:inset 0 0 0 1px #ff7ad9;background:#35183f}
.cm-odds-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;font-size:10.5px;color:#d3dfeb}.cm-odds-grid div{display:flex;gap:5px;align-items:baseline}.cm-odds-grid span{flex:1}.cm-odds-grid small{color:#8fa3bd}.cm-odds-grid b{color:#f2d18c}
.cm-history{margin:6px 0 0;padding-left:0;list-style:none;font-size:11px;color:#d3dfeb}
.cm-results{list-style:none;margin:0;padding:0;display:grid;gap:6px;width:100%}.cm-results li{display:flex;align-items:center;gap:10px;text-align:left;padding:6px 10px}.cm-results span{display:flex;flex-direction:column}.cm-results b{font-size:13px}
.cm-season-head{display:flex;flex-direction:column;gap:8px}
.cm-track{display:flex;flex-direction:column;gap:5px}
.cm-track-head{display:grid;grid-template-columns:28px 1fr 1fr;gap:6px;font-size:10px;letter-spacing:.12em;color:#f2d18c;padding-left:0}.cm-track-head b:first-child{grid-column:2}
.cm-tier-row{display:grid;grid-template-columns:28px 1fr 1fr;gap:6px;align-items:stretch;opacity:.6}.cm-tier-row.reached{opacity:1}
.cm-tier-n{display:flex;align-items:center;justify-content:center;font-weight:900;color:#f2d18c;font-size:13px}
.cm-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:5px;border-radius:10px;border:1px solid #f2d18c40;background:#0e1a32dd;color:#e8f0fa;font-size:10px}
.cm-cell b{font-size:10px;color:#f2d18c}.cm-cell.done{background:#14392c;border-color:#4fd38b88}.cm-cell-premium{border-color:#c395ff66;background:#1c1636}.cm-cell.locked{filter:saturate(.5)}
.cm-cell:not(:disabled){border-color:#fff0c0;box-shadow:0 0 12px #f2d18c55}
.cm-products{display:flex;flex-direction:column;gap:8px}.cm-product{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px}.cm-product-body{padding-left:8px}
.cm-product-body{display:flex;flex-direction:column;gap:3px;flex:1}.cm-product-body strong{font-size:14px;color:#fff0ca}.cm-product-body small{font-size:10.5px;color:#d3dfeb}
.cm-product .cm-btn{min-width:84px}
.cm-home-card{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 12px;margin:8px 0;border-radius:14px;border:1px solid #c395ff66;background:linear-gradient(135deg,#1c1636,#10203d)}
.cm-home-card>div{flex:1;display:flex;flex-direction:column;gap:5px;color:#fff1d5}.cm-home-card small{font-size:10.5px;color:#c8d4e3}
.cm-boost{margin:10px auto 0;width:100%}
.cm-rank{margin:10px 0;padding:10px 12px;border-radius:14px;border:1px solid #f2d18c55;background:#0e1a32dd;display:flex;flex-direction:column;gap:7px;color:#fff1d5}
.cm-rank small{font-size:10.5px;color:#c8d4e3}
.cm-league-silver{color:#d6e2ee}.cm-league-gold{color:#f2d18c}.cm-league-platinum{color:#9fe3ff}.cm-league-diamond{color:#7fd8ff}.cm-league-mythic{color:#ff9ae6}
.cm-result{position:fixed;z-index:70;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(92vw,360px);padding:12px 34px 12px 14px;border-radius:14px;border:1px solid #f2d18c;background:#0b1426f2;color:#fff1d5;display:flex;flex-direction:column;gap:6px;font-size:12px;box-shadow:0 10px 30px #000a}
.cm-result b{font-size:15px}.cm-result small{font-size:10px;color:#ffd7a0}
.cm-x{position:absolute;top:4px;right:6px;border:0;background:none;color:#f2d18c;font-size:22px;line-height:1}
.v4-wait .cm-result{position:static;transform:none;margin:8px auto 12px;width:100%}
.cm-settings{display:flex;flex-direction:column;gap:6px;margin:10px 0}
@media (max-width:359px){.cm-tabs button{font-size:10px;padding:8px 2px}.cm-product{flex-direction:column;align-items:stretch}}

/* ===== v4.6 waiting room (queue / match found / result) ===== */
.cm-waitpage{display:flex;flex-direction:column;min-height:100%;gap:12px}
.cm-wait{flex:1;display:flex;align-items:center;justify-content:center;padding:8px 0}
.cm-wait-card{width:100%;max-width:420px;margin:0 auto;padding:22px 18px;border-radius:18px;border:1px solid #f2d18c66;background:linear-gradient(160deg,#10304a,#0a1a2c);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;box-shadow:0 14px 40px #0009}
.cm-wait-card h2{margin:0;font-size:22px;color:#fff1d5}
.cm-wait-card p{margin:0;font-size:13px;line-height:1.5;color:#c8dbe6;min-height:1.5em}
.cm-wait-mode{padding:5px 14px;border-radius:999px;background:#0a1a2c;border:1px solid #80d4cc88;color:#bcebdd;font-size:14px;letter-spacing:.06em}
.cm-wait-icon{font-size:46px;line-height:1}
.cm-score{font-size:20px;color:#fff1d5}
.cm-wide{width:100%;min-height:50px;font-size:14px}
.cm-spin{width:54px;height:54px;border-radius:50%;border:4px solid #f2d18c33;border-top-color:#f2d18c;animation:cm-spin 1s linear infinite}
@keyframes cm-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.cm-spin{animation:none;border-top-color:#f2d18c}}
.cm-roster{width:100%;display:grid;gap:8px}
.cm-roster-team{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;padding:8px;border-radius:12px;background:#0a1a2cb0;border:1px solid #ffffff14}
.cm-roster-team>small{flex:0 0 100%;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#f2d18c}
.cm-chip{padding:5px 10px;border-radius:999px;background:#17324a;color:#e8f4f8;font-size:12px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-chip.me{background:#f2d18c;color:#2a1a04}
.cm-result-card.win{border-color:#f2d18c}.cm-result-card.loss{border-color:#8aa4ff88}.cm-result-card.draw{border-color:#80d4cc88}
.cm-wait-card .cm-result{position:static;transform:none;width:100%;margin:0}
.v4-arena-controls .cm-btn,.cm-wait .cm-btn{color:#2a1a04}.cm-wait .cm-btn-soft{color:#f2d18c}
.cm-rank .cm-bar>div[style*="width:0%"]{display:none}
@media(max-width:620px){.cm-waitpage{padding-left:12px;padding-right:12px}.cm-wait{align-items:flex-start;padding-top:6vh}.cm-wait-card{padding:20px 14px}}

/* ===== v4.7 accounts ===== */
.ac-card{max-width:380px;text-align:left;align-items:stretch}
.ac-card h2,.ac-card>p,.ac-card>small,.ac-card .eyebrow{text-align:center}
.ac-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border-radius:12px;background:#0a1222;border:1px solid #f2d18c44}
.ac-tabs button{min-height:40px;border:0;border-radius:9px;background:transparent;color:#c8d4e3;font-weight:700;font-size:13px}
.ac-tabs button.on{background:linear-gradient(#f6d58b,#d9aa4d);color:#2a1a04}
.ac-field{display:grid;gap:4px;font-size:11.5px;color:#c8d4e3;font-weight:600}
.ac-field input{min-height:46px;border-radius:10px;border:1px solid #f2d18c55;background:#0a1222;color:#fff;padding:0 12px;font-size:16px}
.ac-field input:focus{outline:2px solid #7cc8ff;outline-offset:1px}
.ac-err{min-height:16px;font-size:12px;color:#ff9a9a;text-align:center}
.ac-link{background:none;border:0;color:#f2d18c;font-size:12px;text-decoration:underline;padding:8px;min-height:36px;cursor:pointer;align-self:center}
.ac-google{display:flex;justify-content:center;min-height:44px}
.ac-choice{display:grid;gap:4px;padding:12px;border-radius:12px;border:1px solid #f2d18c44;background:#0a122288}
.ac-choice b{color:#fff1d5}.ac-choice span{font-size:13px;color:#e4edf7}
.ac-settings .ac-danger{color:#ff9a9a}
.ac-del{display:grid;gap:8px;padding:10px;border-radius:12px;border:1px solid #ff9a9a55}
.ac-del input{min-height:44px;border-radius:10px;border:1px solid #f2d18c55;background:#0a1222;color:#fff;padding:0 12px;font-size:16px}
.ac-del-go{background:linear-gradient(#ff9a9a,#d9605c)!important;color:#2a0606!important}
@media(max-width:380px){.ac-card{padding:16px 12px}}
.cm-backdrop{z-index:130}/* above the Arena overlay (z 100) so account dialogs work there too */

/* =====================================================================
   v4.8 UX polish — touch comfort, readable type, fluid motion.
   Pure CSS layer: no icon/art assets are changed. Appended last so it wins at equal specificity.
   ===================================================================== */
:root{color-scheme:dark;--fv-ease:cubic-bezier(.2,.8,.2,1);--fv-ring:#9fe0ff}
html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
button,a,select,summary,[role=button],[role=tab],label{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.game-shell,.v4-arena{-webkit-touch-callout:none}
.game-shell button,.v4-arena button{-webkit-user-select:none;user-select:none}
:where(button,a,select,input,[role=button],[role=tab]):focus-visible{outline:2px solid var(--fv-ring);outline-offset:2px;border-radius:10px}
:where(button,a,select,input):focus:not(:focus-visible){outline:none}

/* press feedback (uses `scale`, so it never fights an element's own transform) */
button:not(:disabled):active,[role=button]:active{scale:.965;filter:brightness(1.1);transition:scale .08s ease-out,filter .08s}
button:disabled{cursor:not-allowed}
@media (hover:hover){button:not(:disabled):hover{filter:brightness(1.07)}}

/* ---- motion ---- */
@keyframes fv-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes fv-fade{from{opacity:0}to{opacity:1}}
@keyframes fv-pop{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
@keyframes fv-toast{from{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%)}}
.screen-inner{animation:none}
.screen-inner>*{animation:fv-rise .34s var(--fv-ease) backwards}
.screen-inner>*:nth-child(2){animation-delay:.04s}.screen-inner>*:nth-child(3){animation-delay:.08s}.screen-inner>*:nth-child(4){animation-delay:.12s}
.screen-inner>*:nth-child(5){animation-delay:.16s}.screen-inner>*:nth-child(n+6){animation-delay:.2s}
.modal-backdrop,.cm-backdrop{animation:fv-fade .18s ease-out}
.modal-card,.cm-card{animation:fv-pop .26s var(--fv-ease) backwards}
.game-toast{animation:fv-toast .26s var(--fv-ease) backwards}
.portrait-art,.hero-fox-wrap img{animation:fv-fade .35s ease-out}
.cm-backdrop{backdrop-filter:blur(3px)}

@media(max-width:430px){
  /* top bar: bigger thumb targets, equal-width currency chips */
  .game-shell{--v454-hud:98px}
  .brand-row{min-height:42px}
  .hud-controls{gap:7px}
  .hud-controls button{width:40px;height:40px;border-radius:12px;position:relative}
  .hud-controls button::after{content:"";position:absolute;inset:-4px}
  .hud-controls .top-play-button{min-width:72px!important;height:40px!important;min-height:40px!important;font-size:12px!important}
  .currencies{margin-top:6px;gap:8px}
  .currencies .resource{flex:1 1 0;justify-content:center;min-height:30px;font-size:13px}
  .brand-mark .v42-version{font-size:10px}

  /* bottom nav: legible labels */
  .bottom-nav .nav-item{font-size:10.5px;letter-spacing:0}

  /* readable type floor (micro-labels ≥10px, body ≥11px) */
  .eyebrow,.home-screen .section-head .eyebrow{font-size:10px!important;letter-spacing:.14em}
  .home-screen .section-head p,.section-head p{font-size:12px}
  .companion-breed,.v43-story-label,.v45-streak-title{font-size:11.5px}
  .rarity-pill,.v44-rotate-hint,.v45-streak-day,.v45-streak-reward,.collection-card-head,.muted-footnote{font-size:10.5px}
  .v45-quest-title,.home-footer-note,.parent-meta,.validation-row,.shop-buy,.shop-disclaimer,.cm-badge{font-size:11.5px}
  .board-tip{font-size:11.5px;line-height:1.35}
  .orb-tier{font-size:10px}
  .active-stamp{font-size:8.5px}
  .collection-sort{font-size:11px}
  .collection-filter button{font-size:12px}

  /* tap targets ≥ 44px (visual size grows only where it is still tidy; the rest gets invisible padding) */
  .v44-orbit-reset{width:42px;height:42px}
  .v43-story-row button,.v43-wing-upgrade button,.v43-wing-upgrade{min-height:44px}
  .v45-streak-cell button{min-height:30px;min-width:46px;padding:6px 8px;font-size:11px}
  .text-link,.merge-bottom-row button,.breeding-extra button{display:inline-flex;align-items:center;padding:12px 10px;margin:-12px -10px;min-height:44px}
  select,.breeding select{min-height:44px;font-size:14px}
  .collection-sort select{min-height:40px}
  .collection-filter{scroll-snap-type:x proximity;padding-right:30px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent)}
  .collection-filter button{min-height:40px;scroll-snap-align:start}
  .cm-tabs button{padding:13px 4px;font-size:12px}

  /* breathing room above the nav bar + primary Merge actions stay reachable */
  .screen-inner{padding-bottom:28px}
}
/* Merge: fit board + SPAWN/UNDO on one phone screen; on very short screens the action bar floats instead */
@media(max-width:430px){
  .merge-screen{gap:6px;padding-top:4px;padding-bottom:12px}
  .merge-screen .section-head p{display:none}
  .merge-screen .section-head .eyebrow{display:none}
  .merge-screen .section-head h1{font-size:26px;margin:0;line-height:1.05}
  .merge-summary{gap:8px}.merge-summary>span{padding-top:4px;padding-bottom:4px;min-height:0}.merge-summary strong{font-size:17px;line-height:1.1}.merge-summary small{line-height:1.1}
  .merge-screen .board-tip{margin:2px 0 0;font-size:11px;line-height:1.25}
  .merge-control-panel .merge-buttons button{min-height:50px}
}
@media(max-width:430px) and (max-height:740px){
  .merge-control-panel{position:sticky;bottom:6px;z-index:4;box-shadow:0 -10px 22px #040a16d9}
}
/* v4.8 type floor, second pass: classes that older layers pinned below 10px */
@media(max-width:430px){
  .meter-caption{font-size:11px!important}.meter-caption strong{font-size:10.5px!important}
  .v44-rotate-hint{font-size:10.5px!important}
  .merge-summary small{font-size:10px!important;letter-spacing:.08em}
  .merge-buttons small,.home-arena-cta small{font-size:11px!important}
  .merge-bottom-row span{font-size:10.5px!important}
  .form-topline span,.parent-pickers label,.breeding-extra span,.recipes-codex p,.breeding-recipe-card p{font-size:10.5px!important}
  .recipe-list-row span,.recipe-list-row strong{font-size:11px!important}
  .collection-count small{font-size:9px!important}
  .collection-sort{font-size:11px!important}
  .collection-card-head{font-size:10px!important}
  .collection-card-bottom small{font-size:10.5px!important}
  .active-stamp{font-size:8.5px!important}
  .rescue-rarity-row span,.rescue-rarity-row b,.rescue-odds-panel p{font-size:10.5px!important}
  .shop-item-body p,.shop-item-body small,.stats-title span,.v45-quest-info small{font-size:11px!important}
  .collection-filter button,.collection-filter button.active{min-height:40px!important;font-size:12px!important}
  .collection-sort select{min-height:40px!important}
  .v44-orbit-reset{width:42px!important;height:42px!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ===== v4.9: weekly event, invite card, share ===== */
.ev-banner{--ev:#7df5e2;position:relative;display:flex;align-items:center;gap:12px;margin:10px 0;padding:10px 12px;border-radius:16px;border:1px solid color-mix(in srgb,var(--ev) 55%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--ev) 22%,#0a1d26),#0a1620 70%);overflow:hidden;box-shadow:0 6px 22px -10px var(--ev)}
.ev-banner img{width:64px;height:64px;object-fit:contain;flex:none;filter:drop-shadow(0 4px 10px color-mix(in srgb,var(--ev) 70%,transparent))}
.ev-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.ev-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ev)}
.ev-time{font-weight:800;color:#ffe9a8;white-space:nowrap}
.ev-body strong{font-size:15px;line-height:1.25;color:#fff}
.ev-body small{font-size:12px;opacity:.85;line-height:1.3}
.ev-compact{margin:8px 0}.ev-compact img{width:48px;height:48px}
.inv-card{margin:12px 0;padding:14px;border-radius:16px;border:1px solid #f2d18c55;background:linear-gradient(135deg,#1a2a3a,#101c2a);display:flex;flex-direction:column;gap:8px}
.inv-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.inv-head b{color:#ffe9a8}
.inv-card p{margin:0;font-size:13px;opacity:.9}
.inv-card input{width:100%;min-height:44px;padding:8px 10px;border-radius:10px;border:1px solid #ffffff33;background:#0006;color:#fff;font:600 13px system-ui}
.inv-row{display:flex;gap:8px}.inv-row .cm-btn{flex:1}
.cm-first-win{color:#ffe9a8;font-weight:800}
@media (prefers-reduced-motion:no-preference){.ev-banner{animation:evIn .5s ease both}@keyframes evIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}

/* v4.9.0 fix: every Home card spans the same column width (story/quest cards had a 12px side margin on wide screens) */
.home-screen>*{box-sizing:border-box;max-width:100%}
.home-screen .v43-story-card,.home-screen .v45-quest-card,.home-screen .ev-banner,.home-screen .inv-card,.home-screen .cm-home-card{margin-left:0;margin-right:0;width:auto}
.home-screen .v45-quest-card{margin-bottom:10px}

/* ===== v4.9.0: living hero aura ===== */
.hero-aura{--aura:#7df5e2;position:absolute;inset:-4% 0 0;z-index:1;pointer-events:none;overflow:visible}
.hero-aura>span{position:absolute;display:block;pointer-events:none}
.ha-glow{left:50%;top:48%;width:86%;height:78%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--aura) 70%,transparent),color-mix(in srgb,var(--aura) 28%,transparent) 50%,transparent 80%);mix-blend-mode:screen;animation:haBreathe 4.6s ease-in-out infinite}
.ha-ring{left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%) rotateX(68deg);-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 11px),#000 calc(100% - 10px));mask:radial-gradient(closest-side,transparent calc(100% - 11px),#000 calc(100% - 10px));filter:drop-shadow(0 0 6px var(--aura))}
.ha-ring-a{width:74%;aspect-ratio:1;top:76%;background:conic-gradient(from 0deg,transparent 0 12%,var(--aura) 22%,transparent 38% 62%,color-mix(in srgb,var(--aura) 70%,#fff) 78%,transparent 92%);animation:haSpin 9s linear infinite;opacity:1}
.ha-ring-b{width:94%;aspect-ratio:1;top:76%;background:conic-gradient(from 180deg,transparent 0 30%,color-mix(in srgb,var(--aura) 65%,#fff) 42%,transparent 56% 80%,var(--aura) 90%,transparent);animation:haSpin 15s linear infinite reverse;opacity:.8}
.ha-ground{left:50%;bottom:2%;width:62%;height:14%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--aura) 62%,transparent),transparent 72%);filter:blur(6px);animation:haGround 3.2s ease-in-out infinite}
.ha-spark{bottom:14%;margin-left:-2px;transform:scale(1.5);border-radius:50%;background:#fff;box-shadow:0 0 8px 2px var(--aura),0 0 16px 4px color-mix(in srgb,var(--aura) 60%,transparent);opacity:0;animation:haRise linear infinite}
@keyframes haBreathe{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.94)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}
@keyframes haSpin{to{transform:translate(-50%,-50%) rotateX(68deg) rotateZ(360deg)}}
@keyframes haGround{0%,100%{opacity:.6;transform:translateX(-50%) scale(.92)}50%{opacity:1;transform:translateX(-50%) scale(1.08)}}
@keyframes haRise{0%{opacity:0;transform:translate(0,0) scale(.6)}12%{opacity:.95}70%{opacity:.7}100%{opacity:0;transform:translate(var(--sway),-210px) scale(.25)}}
@media (prefers-reduced-motion:reduce){.hero-aura>span{animation:none!important}.ha-spark{display:none}.ha-glow{opacity:.7}}
@media (max-width:430px){.hero-aura .ha-spark:nth-child(n+14){display:none}}

/* ===== v4.9.0: button polish (shine sweep, glow pulse on primary actions, springy press, icon pop) ===== */
.top-play-button,.home-arena-cta button,.cm-btn,.v43-story-card button,.v45-streak-cell button,.v45-quest-row button,.cm-home-card button,.v45-modal button{position:relative;overflow:hidden;isolation:isolate;transition:transform .18s cubic-bezier(.2,.9,.25,1.3),box-shadow .2s,filter .2s}
.top-play-button::before,.home-arena-cta button::before,.cm-btn::before,.v43-story-card button::before,.v45-streak-cell button::before,.v45-quest-row button::before,.cm-home-card button::before,.v45-modal button::before,.care-action::before{content:'';position:absolute;top:-10%;left:-70%;width:45%;height:120%;z-index:0;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);opacity:0}
.top-play-button:hover::before,.home-arena-cta button:hover::before,.cm-btn:hover::before,.v43-story-card button:hover::before,.v45-streak-cell button:hover::before,.v45-quest-row button:hover::before,.cm-home-card button:hover::before,.v45-modal button:hover::before,.care-action:hover::before,
.top-play-button:focus-visible::before,.home-arena-cta button:focus-visible::before,.cm-btn:focus-visible::before,.care-action:focus-visible::before{animation:btnShine .75s ease-out}
@keyframes btnShine{0%{left:-70%;opacity:0}20%{opacity:1}100%{left:130%;opacity:0}}
.top-play-button:hover,.home-arena-cta button:hover,.cm-btn:hover,.v43-story-card button:hover,.v45-streak-cell button:hover,.v45-quest-row button:hover,.cm-home-card button:hover{transform:translateY(-2px);filter:brightness(1.07)}
.top-play-button:active,.home-arena-cta button:active,.cm-btn:active,.v43-story-card button:active,.v45-streak-cell button:active,.v45-quest-row button:active,.cm-home-card button:active{transform:translateY(1px) scale(.95);filter:brightness(.97)}
/* primary calls to action breathe + auto-shine every few seconds (also works on touch screens with no hover) */
.top-play-button,.home-arena-cta button{animation:ctaPulse 2.8s ease-in-out infinite}
.top-play-button::after,.home-arena-cta button::after{content:'';position:absolute;top:-10%;left:-70%;width:40%;height:120%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-20deg);animation:btnAuto 5.2s ease-in-out infinite}
@keyframes ctaPulse{0%,100%{box-shadow:0 3px 16px #55e0b53c,0 0 0 0 #7df5e255}50%{box-shadow:0 4px 22px #55e0b58c,0 0 0 6px #7df5e200}}
@keyframes btnAuto{0%,62%{left:-70%;opacity:0}70%{opacity:1}100%{left:140%;opacity:0}}
/* care buttons: the icon pops, the card lifts with a soft coloured glow */
.care-action{position:relative;overflow:hidden}
.care-action img{transition:transform .25s cubic-bezier(.2,.9,.25,1.4),filter .25s}
.care-action:hover{transform:translateY(-2px);box-shadow:0 8px 22px -8px #7df5e277,0 0 0 1px #7df5e255}
.care-action:hover img{transform:scale(1.14) rotate(-5deg);filter:drop-shadow(0 4px 8px #7df5e277)}
.care-action:active img{transform:scale(.92)}
.care-action>*{position:relative;z-index:1}
/* bottom nav: selected tab glows, icons spring */
.bottom-nav .nav-item img,.bottom-nav .nav-item .play-icon{transition:transform .22s cubic-bezier(.2,.9,.25,1.5)}
.bottom-nav .nav-item:active img,.bottom-nav .nav-item:active .play-icon{transform:scale(.86)}
.bottom-nav .nav-item.selected img{transform:translateY(-2px) scale(1.1);filter:drop-shadow(0 0 8px #ffe3a1aa)}
.bottom-nav .nav-item-play{animation:ctaPulse 2.8s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.top-play-button,.home-arena-cta button,.bottom-nav .nav-item-play{animation:none}.top-play-button::after,.home-arena-cta button::after{display:none}.top-play-button:hover::before,.cm-btn:hover::before,.care-action:hover::before{animation:none}}

/* v4.9.2 language gate */
.lg-gate{z-index:2000}
.lg-card{max-width:420px;width:calc(100% - 28px)}
.lg-card h2{font-size:1.15rem;margin:.2rem 0 .9rem}
.lg-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}
.lg-opt{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:14px;border:1.5px solid rgba(240,205,120,.25);background:rgba(10,18,36,.7);color:#f6ecd0;font:inherit;font-weight:700;text-align:left;cursor:pointer;position:relative;transition:transform .15s,border-color .15s,background .15s}
.lg-opt:hover{transform:translateY(-1px);border-color:rgba(240,205,120,.6)}
.lg-opt.is-on{border-color:#f0cd78;background:linear-gradient(180deg,rgba(240,205,120,.22),rgba(240,205,120,.08));box-shadow:0 0 0 2px rgba(240,205,120,.18),0 6px 18px rgba(0,0,0,.35)}
.lg-flag{font-size:1.5rem;line-height:1}
.lg-name{font-size:.92rem;line-height:1.15}
.lg-tick{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:#f0cd78;font-weight:900}
.lg-go{width:100%;margin-bottom:8px}
.lg-card small{display:block;text-align:center;opacity:.75}
@media (max-width:360px){.lg-grid{grid-template-columns:1fr}}

/* v4.9.2 painted icons replace emoji */
.glyph{flex:none;vertical-align:-4px}
.cm-btn.cm-btn-ico{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:8px}
.cm-btn-ico .glyph{filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}
.cm-ico-inline{width:1.35em;height:1.35em;object-fit:contain;vertical-align:-.3em;margin:0 .1em;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.cm-wait-icon{display:block;width:104px;height:104px;position:relative}
.cm-wait-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.5)) drop-shadow(0 0 16px rgba(246,217,138,.35));animation:cm-medal 3.2s ease-in-out infinite}
.cm-result-card.loss .cm-wait-icon img{filter:drop-shadow(0 6px 14px rgba(0,0,0,.5)) drop-shadow(0 0 14px rgba(138,164,255,.35))}
@keyframes cm-medal{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.04)}}
.cm-result-title{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px}
.cm-result-title img{width:30px;height:30px;object-fit:contain}
.cm-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:2px 0 4px}
.cm-rw{display:inline-flex;align-items:center;gap:5px;padding:4px 11px 4px 5px;border-radius:999px;background:linear-gradient(180deg,#1b2d4d,#0f1b33);border:1px solid rgba(246,217,138,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.cm-rw img{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.cm-rw b{font-size:14px;color:#ffeab5}
.cm-rw-xp{padding:5px 12px;background:linear-gradient(180deg,#27425f,#14263f)}
.cm-rw-xp b{font-size:12px;color:#bfe9ff}
.cm-first-win{display:flex;align-items:center;justify-content:center;gap:6px}
.cm-first-win img{width:26px;height:26px;object-fit:contain}
.breeding-heart{width:76px!important;height:76px!important;object-fit:contain;filter:drop-shadow(0 0 12px rgba(255,120,150,.55)) drop-shadow(0 3px 6px rgba(0,0,0,.45))!important;animation:bd-beat 1.9s ease-in-out infinite}
@keyframes bd-beat{0%,100%{transform:translate(-50%,-50%) scale(1)}14%{transform:translate(-50%,-50%) scale(1.12)}28%{transform:translate(-50%,-50%) scale(1)}42%{transform:translate(-50%,-50%) scale(1.08)}}
@media (prefers-reduced-motion:reduce){.breeding-heart,.cm-wait-icon img{animation:none}}
.cm-wait-card .cm-result-title{display:none}

/* v4.9.2 overlays on body + merge quick sell bar + egg results scroll */
.cm-egg-results{z-index:300}
.cm-egg-results .cm-card{max-height:min(86vh,86dvh);overflow:hidden}
.cm-egg-results .cm-results{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;padding-right:2px}
.cm-egg-results .cm-card>h2,.cm-egg-results .cm-card>.cm-btn{flex:none}
.cm-egg-results .cm-card>.cm-btn{width:100%;min-height:48px}
.quick-orb-bar{position:sticky;bottom:8px;z-index:6;margin:8px 10px 0;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 10px;border-radius:16px;border:1.5px solid rgba(246,217,138,.7);background:linear-gradient(180deg,rgba(24,40,70,.97),rgba(9,17,34,.98));box-shadow:0 10px 26px rgba(0,0,0,.65),0 0 0 3px rgba(246,217,138,.12);animation:fv-pop .2s ease-out}
.quick-orb-bar>img{width:38px;height:38px;flex:none}
.quick-orb-bar>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.quick-orb-bar strong{font-size:12px;color:#fff1d5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quick-orb-bar small{font-size:10px;color:#a9bdd2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qo-btn{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:0 12px;border-radius:12px;border:1px solid #bda16c;background:#273753;color:#f4daac;font-weight:900;font-size:11px;letter-spacing:.03em;flex:none}
.qo-btn img{width:20px;height:20px;object-fit:contain}
.qo-sell{background:linear-gradient(180deg,#f7dc9a,#d9a948);color:#2a1a04;border-color:#fff0c0}
.qo-x{width:30px;height:40px;border:0;background:none;color:#a9bdd2;font-size:22px;flex:none}

/* v4.9.3 — long content must always be reachable: dialogs scroll inside themselves, never past the screen */
.hero-aura{overflow-x:clip}
.modal-backdrop{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.modal-card{max-height:calc(100% - 2px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.cm-card{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.cm-backdrop{overflow-y:auto}
.modal-close{position:sticky;float:right;top:0;z-index:2}
.lg-card .lg-go{position:sticky;bottom:0;z-index:2;box-shadow:0 -10px 14px -6px #0b1426}
@media (max-height:640px){.lg-grid{grid-template-columns:repeat(3,1fr);gap:7px}.lg-opt{padding:8px 8px;gap:6px}.lg-flag{font-size:1.2rem}.lg-name{font-size:.78rem}.lg-tick{display:none}.lg-card h2{margin-bottom:.5rem}}

/* v4.9.4 — Vietnamese typography: Inter is bundled (./assets/fonts), diacritics need more line height, long labels wrap neatly. */
html[lang=vi] :where(button,small,p,h1,h2,h3,strong,label,span,em,select){line-height:1.3}
button,.cm-btn,.game-button,h1,h2,h3{text-wrap:balance}
.cm-product{overflow:visible}.cm-product-body small{line-height:1.35}
.active-stamp{top:26px;right:7px}
.v4-arena{font-family:var(--font-ui)}
html[lang=vi] .nav-item span,html[lang=vi] .nav-item{letter-spacing:0}
.moonlit-collection .active-stamp{top:30px;right:6px}
.collection-card-bottom small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;letter-spacing:0}
@media (max-width:380px){
  html[lang=vi] .bottom-nav .nav-item,html[lang=vi] .bottom-nav .nav-item *{font-size:9.5px!important;letter-spacing:0!important}
  html[lang=vi] .collection-card-bottom small{font-size:8.5px!important;letter-spacing:0!important}
  .v4-arena-top{flex-wrap:wrap!important;row-gap:6px}
}
html[lang=vi] .collection-card-bottom small{letter-spacing:0!important}

/* v4.9.4 — Vietnamese: Bricolage Grotesque (full Vietnamese coverage, narrower than Inter) with Inter for symbols; calmer weights/spacing so long words fit. */
html[lang="vi"]{--font-ui:'Bricolage','Inter','Nunito','Segoe UI',ui-sans-serif,system-ui,sans-serif;--font-display:'Bricolage','Inter','Nunito','Segoe UI',ui-sans-serif,system-ui,sans-serif}
html[lang="vi"] body,html[lang="vi"] button,html[lang="vi"] input,html[lang="vi"] select{font-family:var(--font-ui)}
html[lang="vi"] button{letter-spacing:0;line-height:1.2}
html[lang="vi"] .cm-tabs button{font-size:11px;padding-left:2px;padding-right:2px;letter-spacing:0}
html[lang="vi"] button,html[lang="vi"] h1,html[lang="vi"] h2,html[lang="vi"] h3,html[lang="vi"] .cm-card p{text-wrap:balance}
html[lang="vi"] .cm-btn{padding-left:10px;padding-right:10px}
@media(max-width:340px){html[lang="vi"] .cm-tabs button{font-size:10px}}

/* v4.9.6: the 3D arena owns its HUD (Exit/Restart live in its menu); no shell bar floats over it. */
.v4-playing .v4-arena-header{display:none!important}
.v4-training-hint{top:auto!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;max-width:min(520px,60vw)}
@media (pointer:coarse){.v4-training-hint{display:none!important}}

/* v4.9.7 Breeding: still WebP portraits instead of live 3D (steadier, lighter, same look on every phone). */
.breeding-screen .parent-stage{grid-template-columns:1fr 1fr;gap:16px;position:relative}
.parent-card{position:relative;width:100%;max-width:178px;aspect-ratio:4/5;margin:6px auto 6px;border-radius:20px;overflow:hidden;
 background:radial-gradient(circle at 50% 28%,rgba(120,150,215,.30),rgba(8,16,36,.95) 72%);border:1.5px solid rgba(232,200,120,.6);
 box-shadow:0 10px 24px rgba(0,0,0,.5),inset 0 0 22px rgba(255,255,255,.07)}
.parent-card[data-breed=ember],.parent-card[data-breed=blazeheart],.parent-card[data-breed=sunfire]{border-color:rgba(255,170,100,.75)}
.parent-card[data-breed=frost],.parent-card[data-breed=tide],.parent-card[data-breed=frostfire]{border-color:rgba(130,200,255,.75)}
.parent-card[data-breed=shadow],.parent-card[data-breed=eclipse],.parent-card[data-breed=amethyst],.parent-card[data-breed=roseveil]{border-color:rgba(200,150,255,.7)}
.parent-card::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 30%,transparent 62%,rgba(5,10,26,.8))}
.parent-portrait{display:block;width:100%!important;height:100%!important;object-fit:cover;object-position:50% 22%;position:static!important;animation:none!important}
.parent-lv{position:absolute;left:8px;bottom:8px;z-index:2;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.4px;color:#fff1cf;background:rgba(8,14,32,.78);border:1px solid rgba(232,200,120,.5)}
.parent-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:56px;color:rgba(255,235,190,.4)}
.parent-card.glowing{animation:bd-card-glow 2.4s ease-in-out infinite}
@keyframes bd-card-glow{0%,100%{box-shadow:0 10px 24px rgba(0,0,0,.5),0 0 10px rgba(255,200,120,.25)}50%{box-shadow:0 10px 24px rgba(0,0,0,.5),0 0 30px rgba(255,200,120,.65)}}
.breeding-stage .breeding-heart{position:absolute!important;left:50%;top:47%;z-index:3;width:60px!important;height:60px!important}
@media (prefers-reduced-motion:reduce){.parent-card.glowing{animation:none}}

/* ===== v4.9.7: end-of-match card (replaces the overlapping Arena + reward cards), touch-safe buttons ===== */
.cm-result-end{position:fixed;z-index:80;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(92vw,380px);max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;padding:16px 16px 14px;gap:8px;text-align:center;align-items:stretch;box-shadow:0 0 0 100vmax #040a14b8,0 18px 50px #000a;animation:cmEndIn .28s ease-out both}
@keyframes cmEndIn{from{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.cm-result-end .cm-result-title{justify-content:center;font-size:18px}
.cm-result-end .cm-end-stats{font-size:11px;color:#c8d4e3}
.cm-result-end .cm-rewards{justify-content:center}
.cm-end-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.cm-end-actions .cm-btn{width:100%;min-height:44px;margin:0;white-space:nowrap}
.cm-end-again{font-weight:800}
@media (max-height:460px){
 .cm-result-end{padding:10px 14px;gap:5px;width:min(70vw,460px)}
 .cm-result-end .cm-result-title{font-size:15px}
}
/* touch screens have no real hover: it used to stick after a tap and make buttons jump in/out */
@media (hover:none),(pointer:coarse){
 .top-play-button,.home-arena-cta button,.cm-btn,.v43-story-card button,.v45-streak-cell button,.v45-quest-row button,.cm-home-card button,.v45-modal button{transition:transform .09s ease-out,filter .12s}
 .top-play-button:hover,.home-arena-cta button:hover,.cm-btn:hover,.v43-story-card button:hover,.v45-streak-cell button:hover,.v45-quest-row button:hover,.cm-home-card button:hover{transform:none;filter:none}
 .top-play-button:hover::before,.home-arena-cta button:hover::before,.cm-btn:hover::before,.v43-story-card button:hover::before,.v45-streak-cell button:hover::before,.v45-quest-row button:hover::before,.cm-home-card button:hover::before,.v45-modal button:hover::before,.care-action:hover::before{animation:none}
 .top-play-button:active,.home-arena-cta button:active,.cm-btn:active,.v43-story-card button:active,.v45-streak-cell button:active,.v45-quest-row button:active,.cm-home-card button:active{transform:scale(.97);filter:brightness(.95)}
}
@media (prefers-reduced-motion:reduce){.cm-result-end{animation:none}}
.cm-result-end .cm-btn:not(.cm-btn-soft){color:#2b1b04;text-shadow:none}
.cm-result-end .cm-btn:not(.cm-btn-soft) img,.cm-result-end .cm-btn:not(.cm-btn-soft) svg{filter:none}

/* ===== v4.9.8: "Welcome back" offline-earnings dialog — stacked full-width actions, no wrapping icons ===== */
.v45-offline{max-width:360px;padding:22px 18px 18px}
.v45-offline p{margin:0 0 16px}
.v45-modal-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.v45-modal-actions button{width:100%;min-height:48px;margin:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;line-height:1.2;text-align:center}
.v45-modal-actions .v45-act-main{font-size:15px;letter-spacing:.02em}
.v45-modal-actions .v45-act-ad{background:#f5d68a1c;border:1px solid #f5d68acc;color:#ffe6b7;font-weight:800;font-size:13px;flex-direction:column;gap:3px;padding:9px 12px}
.v45-modal-actions .v45-ad-line{display:flex;align-items:center;justify-content:center;gap:8px}
.v45-modal-actions .v45-act-ad .glyph{color:#f5d68a}.v45-modal-actions .v45-act-ad .glyph path{fill:#16223a}
.v45-modal-actions .v45-act-ad svg{flex:none;width:18px;height:18px}
.v45-modal-actions .v45-ad-gain{font-weight:900;color:#f5d68a;white-space:nowrap}
.v45-modal-actions .v45-ad-txt{white-space:nowrap}
@media (max-width:340px){.v45-modal-actions .v45-act-ad{font-size:12px}}
.v45-modal-actions .v45-ad-gain{display:inline-flex;align-items:center;justify-content:center;gap:3px}
.v45-modal-actions .v45-ad-gain img{display:inline-block;flex:none;width:20px;height:20px;margin:0 8px 0 0;vertical-align:middle}
.v45-modal-actions .v45-ad-gain img:last-child{margin-right:0}
