/* Berry tree, spin wheel, sauces, loot boxes, rarities, shop unlock */
/* BERRY TREE MODAL */
.tree-stage-card{background:linear-gradient(135deg,#1a3a1a,#2a4a2a);padding:20px;border-radius:15px;margin-bottom:15px;border:2px solid var(--berry-tree);text-align:center;position:relative;overflow:hidden;}
.tree-stage-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(0,255,0,0.08),transparent 70%);pointer-events:none;}
.tree-info-panel{background:#111;border:1px solid #333;border-radius:12px;padding:15px;margin-bottom:15px;}
.tree-stages-panel{background:#0a1a0a;border:1px solid var(--berry-tree);border-radius:10px;padding:12px;margin-bottom:15px;}

/* SPIN WHEEL */
.spin-wheel-wrap{position:relative;width:220px;height:220px;margin:0 auto 20px;border-radius:50%;border:5px solid var(--gold);box-shadow:0 0 20px rgba(255,215,0,0.4);overflow:hidden;transition:transform 0.05s;}
.spin-segment{position:absolute;width:50%;height:50%;transform-origin:100% 100%;}
.spin-pointer{position:absolute;top:-14px;left:50%;transform:translateX(-50%);font-size:28px;z-index:10;filter:drop-shadow(0 2px 4px black);}
.spin-result-box{background:#1a1a00;border:2px solid var(--gold);border-radius:12px;padding:14px;text-align:center;margin:12px 0;min-height:52px;}
.spin-cost-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;font-size:11px;color:#aaa;font-family:sans-serif;}
/* SAUCE UPGRADES */
.sauce-upgrade-card{background:#1a0500;border:1px solid var(--hot-sauce);border-radius:12px;padding:14px;margin:8px 0;display:flex;align-items:center;gap:12px;text-align:left;transition:box-shadow 0.2s;}
.sauce-upgrade-card:hover{box-shadow:0 0 12px rgba(255,51,0,0.3);}
.sauce-upgrade-card.maxed{border-color:#555;opacity:0.6;}
.sauce-upgrade-level{font-size:9px;color:var(--hot-sauce);font-weight:bold;margin-top:3px;}
.sauce-upgrade-bar{width:100%;height:4px;background:#333;border-radius:2px;margin-top:6px;overflow:hidden;}
.sauce-upgrade-bar-fill{height:100%;background:var(--hot-sauce);transition:width 0.4s;}
/* LOOT BOX */
.lootbox-card{background:linear-gradient(135deg,#0d0d1a,#1a1a2e);border:2px solid #333;border-radius:16px;padding:16px;margin:10px 0;display:flex;align-items:center;gap:14px;text-align:left;transition:border-color 0.2s,box-shadow 0.2s;}
.lootbox-card.rarity-common{border-color:#888;}
.lootbox-card.rarity-rare{border-color:#4f86f7;box-shadow:0 0 8px rgba(79,134,247,0.2);}
.lootbox-card.rarity-epic{border-color:#9b59b6;box-shadow:0 0 10px rgba(155,89,182,0.3);}
.lootbox-card.rarity-legendary{border-color:var(--gold);animation:legendary-pulse 2s infinite alternate;}
@keyframes legendary-pulse{from{box-shadow:0 0 10px rgba(255,215,0,0.3);}to{box-shadow:0 0 28px rgba(255,215,0,0.7),0 0 45px rgba(255,165,0,0.3);}}
.lootbox-img{width:64px;height:64px;flex-shrink:0;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,0.6));transition:transform 0.2s;}
.lootbox-card:hover .lootbox-img{transform:scale(1.1) rotate(-5deg);}
.lootbox-rarity-tag{font-size:8px;font-weight:bold;border-radius:6px;padding:2px 7px;text-transform:uppercase;letter-spacing:0.5px;}
.rarity-common .lootbox-rarity-tag{background:#222;color:#aaa;}
.rarity-rare .lootbox-rarity-tag{background:#0a1a3a;color:#4f86f7;}
.rarity-epic .lootbox-rarity-tag{background:#1a0a2e;color:#9b59b6;}
.rarity-legendary .lootbox-rarity-tag{background:#1a1400;color:var(--gold);}
/* ── Item rarity colors ─────────────────────────────── */
.rarity-border-common  { border-color: #888 !important; }
.rarity-border-rare    { border-color: #4f86f7 !important; box-shadow: 0 0 6px rgba(79,134,247,0.3); }
.rarity-border-epic    { border-color: #9b59b6 !important; box-shadow: 0 0 8px rgba(155,89,182,0.35); }
.rarity-border-mythic  { border-color: #e74c3c !important; box-shadow: 0 0 10px rgba(231,76,60,0.4); }
.rarity-border-legendary { border-color: var(--gold) !important; box-shadow: 0 0 12px rgba(255,215,0,0.5); animation: legendary-pulse 2s infinite alternate; }
.rarity-tag { font-size:7px; font-weight:bold; border-radius:6px; padding:2px 6px; text-transform:uppercase; letter-spacing:0.5px; margin-left:4px; }
.rarity-tag-common   { background:#222; color:#aaa; }
.rarity-tag-rare     { background:#0a1a3a; color:#4f86f7; }
.rarity-tag-epic     { background:#1a0a2e; color:#9b59b6; }
.rarity-tag-mythic   { background:#2a0505; color:#e74c3c; }
.rarity-tag-legendary{ background:#1a1400; color:var(--gold); }

.lootbox-open-anim{animation:lootbox-shake 0.5s ease-in-out;}
@keyframes lootbox-shake{0%,100%{transform:rotate(0deg) scale(1);}20%{transform:rotate(-12deg) scale(1.08);}40%{transform:rotate(12deg) scale(1.15);}60%{transform:rotate(-8deg) scale(1.1);}80%{transform:rotate(6deg) scale(1.06);}}
.reward-reveal{animation:reward-pop 0.55s cubic-bezier(0.175,0.885,0.32,1.275) forwards;}
@keyframes reward-pop{0%{transform:scale(0) rotate(-15deg);opacity:0;}70%{transform:scale(1.1) rotate(3deg);opacity:1;}100%{transform:scale(1) rotate(0deg);opacity:1;}}

/* ── CINEMATIC BOX OPEN ── */
@keyframes box-shake-hard{0%,100%{transform:rotate(0) scale(1);}10%{transform:rotate(-14deg) scale(1.06);}20%{transform:rotate(14deg) scale(1.12);}30%{transform:rotate(-10deg) scale(1.09);}40%{transform:rotate(10deg) scale(1.06);}50%{transform:rotate(-6deg) scale(1.04);}60%{transform:rotate(6deg) scale(1.03);}75%{transform:rotate(-3deg) scale(1.02);}90%{transform:rotate(2deg) scale(1.01);}}
@keyframes box-crack{0%{filter:brightness(1) drop-shadow(0 0 10px var(--clr));}50%{filter:brightness(2.5) drop-shadow(0 0 40px var(--clr));}100%{filter:brightness(4) drop-shadow(0 0 80px var(--clr));opacity:0;transform:scale(1.6);}}
@keyframes particle-burst{0%{transform:translate(0,0) scale(1);opacity:1;}100%{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0;}}
@keyframes flash-in{0%{opacity:0;}50%{opacity:1;}100%{opacity:0;}}
@keyframes reveal-rise{0%{transform:translateY(40px) scale(0.7);opacity:0;}60%{transform:translateY(-8px) scale(1.06);opacity:1;}100%{transform:translateY(0) scale(1);opacity:1;}}
@keyframes shine-sweep{0%{left:-80%;opacity:0;}30%{opacity:0.7;}100%{left:130%;opacity:0;}}
@keyframes glow-pulse{0%,100%{box-shadow:0 0 20px var(--rev-clr),0 0 40px var(--rev-clr);}50%{box-shadow:0 0 50px var(--rev-clr),0 0 100px var(--rev-clr),0 0 20px #fff;}}
@keyframes star-spin{0%{transform:rotate(0) scale(0);opacity:1;}100%{transform:rotate(360deg) scale(2);opacity:0;}}
/* ── SHOP UNLOCK ── */
@keyframes unlock-pop{0%{transform:scale(0) rotate(-10deg);opacity:0;}65%{transform:scale(1.12) rotate(2deg);}100%{transform:scale(1) rotate(0);opacity:1;}}
@keyframes unlock-glow{0%,100%{box-shadow:0 0 15px var(--u-clr);}50%{box-shadow:0 0 50px var(--u-clr),0 0 20px #fff;}}
.gift-option{background:#111;border:1px solid #333;border-radius:10px;padding:12px;margin:6px 0;display:flex;align-items:center;gap:10px;cursor:pointer;transition:border-color 0.2s;}
.gift-option:hover{border-color:var(--gold);}
.gift-option img{width:32px;height:32px;}

/* ═══ Trophy room (Megan Sparkles' shelf) ═══ */
#ach-modal .modal-content{max-width:min(640px,96vw);background:linear-gradient(180deg,#2a1a38,#1a0f26);}
.tr-room{padding:4px 2px 2px}
.tr-head{display:flex;justify-content:space-between;align-items:center;font:900 12px 'Arial Black',sans-serif;letter-spacing:3px;color:#ffd23f;margin-bottom:6px}
.tr-head b{color:#fff}
.tr-bar{height:8px;border-radius:6px;background:#0c0714;border:1px solid #5a4630;overflow:hidden;margin-bottom:12px}
.tr-bar i{display:block;height:100%;background:linear-gradient(90deg,#c8921b,#ffe27a)}
.tr-cases{max-height:52vh;overflow-y:auto;padding:4px 6px 8px;border-radius:8px;background:linear-gradient(180deg,#3a2750,#2b1c3f);border:6px solid #6b4423;box-shadow:inset 0 0 20px rgba(0,0,0,.6);scrollbar-width:thin}
.tr-shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:12px 4px 0;border-bottom:12px solid #8a5a2b;box-shadow:0 6px 0 -2px #4a2f15,inset 0 -12px 12px -10px rgba(0,0,0,.4);margin-bottom:10px}
.tr-slot{display:flex;flex-direction:column;align-items:center;min-width:0}
.tr-cup{position:relative;width:54px;height:54px;display:flex;align-items:center;justify-content:center}
.tr-cup img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 3px 2px rgba(0,0,0,.55))}
.tr-slot.got .tr-cup{filter:drop-shadow(0 0 8px rgba(255,210,63,.75))}
.tr-slot.got .tr-cup::before{content:"";position:absolute;inset:2px;border-radius:50%;background:radial-gradient(circle,rgba(255,226,122,.35),transparent 70%);z-index:-1}
.tr-slot.lock .tr-cup img{filter:brightness(0) opacity(.55) drop-shadow(0 2px 1px rgba(0,0,0,.5))}
.tr-q{position:absolute;font:900 18px 'Arial Black',sans-serif;font-style:normal;color:#b9a77a;text-shadow:0 1px 0 #000}
.tr-base{width:44px;height:9px;margin-top:-1px;background:linear-gradient(180deg,#d6a43b,#8a5f12);border-radius:2px 2px 0 0;box-shadow:0 0 0 1px #000}
.tr-plate{width:92%;margin-top:3px;padding:3px 2px;text-align:center;background:linear-gradient(180deg,#e8c25a,#b98a25);border:1px solid #000;border-radius:2px;color:#2a1a05;font:8px/1.15 'Arial Black',sans-serif;min-height:26px;display:flex;flex-direction:column;justify-content:center;gap:1px;overflow:hidden}
.tr-plate b{font-weight:900;word-break:break-word}.tr-plate small{font:bold 8px sans-serif;opacity:.75}
.tr-slot.lock .tr-plate{background:linear-gradient(180deg,#6f6755,#4a4436);color:#d8d1bd}
@media(max-width:480px){.tr-shelf{grid-template-columns:repeat(3,1fr)}}

/* ═══ Tufflips Acres tweaks (You're In Trouble: keep the bed dry) ═══ */
.cp-moon{position:absolute;right:26px;top:22px;width:26px;height:26px;border-radius:50%;background:#f6f0cf;box-shadow:inset -7px -2px 0 #d8cf9c,0 0 18px rgba(246,240,207,.55);z-index:0}
.cp-bunk{position:absolute;left:176px;bottom:28px;width:58px;height:46px;z-index:1;
  background:linear-gradient(#5a3818,#5a3818) 0 0/4px 100% no-repeat,linear-gradient(#5a3818,#5a3818) 100% 0/4px 100% no-repeat,
  linear-gradient(#9fb6d9,#9fb6d9) 4px 4px/50px 10px no-repeat,linear-gradient(#7a5a2b,#7a5a2b) 4px 14px/50px 3px no-repeat,
  linear-gradient(#9fb6d9,#9fb6d9) 4px 28px/50px 10px no-repeat,linear-gradient(#7a5a2b,#7a5a2b) 4px 38px/50px 3px no-repeat;}
.cp-stamp{width:auto!important;height:auto!important;right:-14px!important;bottom:-2px!important;padding:3px 5px;border-radius:3px!important;background:transparent!important;border:2px solid #6fcf5a;color:#6fcf5a!important;font:900 8px/1.05 'Arial Black',sans-serif!important;letter-spacing:.5px;transform:rotate(-12deg);text-align:center;box-shadow:none!important;background:rgba(6,16,10,.85)!important}
.cp-patch{border-style:dashed}
@media(max-width:480px){.cp-bunk{display:none}}

/* Settings extras */
.settings-extras{display:flex;gap:10px;margin:14px 0 10px;flex-wrap:wrap}
.settings-extras .s-btn{flex:1 1 140px;display:flex;align-items:center;justify-content:center;gap:8px;position:relative}
.settings-extras .se-ico{font-size:16px}
.settings-extras .se-discord{border-color:#5865f2;color:#aab4ff}
.settings-extras .se-soon{font-size:8px;background:#5865f2;color:#fff;border-radius:4px;padding:2px 5px;letter-spacing:.5px}

/* ── Trophy room v2 (categories, next up, rewards) + collection album ── */
.tr-claim{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;padding:8px 10px;border-radius:10px;background:linear-gradient(90deg,rgba(255,210,63,.2),rgba(255,210,63,.05));border:1px solid #ffd23f;font:bold 11px sans-serif;color:#ffe9a0}
.tr-claim button{padding:7px 12px;border-radius:999px;border:0;background:#ffd23f;color:#2a1a05;font:bold 10px 'Arial Black',sans-serif;cursor:pointer;animation:cp-pulse 1s infinite alternate}
.tr-next{margin-bottom:10px;padding:8px 10px;border-radius:10px;background:#150c20;border:1px solid #4a3560}
.tr-next-t{font:bold 9px 'Arial Black',sans-serif;letter-spacing:2px;color:#b9a77a;margin-bottom:6px}
.tr-next-row{display:flex;align-items:center;gap:8px;margin-top:6px}.tr-next-row img{width:26px;height:26px;object-fit:contain;filter:brightness(.6)}
.tr-next-row b{display:block;font:bold 11px 'Arial Black',sans-serif;color:#fff;text-align:left}
.tr-next-row>div{flex:1;min-width:0}
.tr-next-bar{position:relative;height:12px;margin-top:3px;border-radius:6px;background:#06030a;overflow:hidden}.tr-next-bar i{display:block;height:100%;background:linear-gradient(90deg,#c8921b,#ffe27a)}
.tr-next-bar span{position:absolute;inset:0;text-align:center;font:bold 8px/12px sans-serif;color:#fff;text-shadow:0 1px 2px #000}
.tr-cats,.tr-filt{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.tr-cats button,.tr-filt button{padding:6px 9px;border-radius:999px;border:1px solid #4a3560;background:#150c20;color:#9d8ab5;font:bold 9px 'Arial Black',sans-serif;cursor:pointer}
.tr-cats button.on,.tr-filt button.on{border-color:#ffd23f;color:#ffd23f;background:#2a1a00}
.tr-slot.claim{cursor:pointer}.tr-slot.claim .tr-cup{animation:cp-pulse .9s infinite alternate}
.tr-gift{position:absolute;right:-6px;top:-6px;font-style:normal;font-size:16px}
.tr-empty{padding:30px;text-align:center;color:#b9a77a;font:12px sans-serif}
#ach-album{padding:4px 2px}
.al-rars{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin-bottom:10px}
.al-rar{display:flex;align-items:center;gap:6px;font:bold 8px 'Arial Black',sans-serif;color:var(--rc)}.al-rar b{flex:0 0 62px;text-align:left}
.al-rbar{flex:1;height:7px;border-radius:4px;background:#06030a;overflow:hidden}.al-rbar i{display:block;height:100%;background:var(--rc)}.al-rar span{color:#cfc3dc;font-weight:normal}
.al-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px;max-height:48vh;overflow-y:auto;padding:6px}
.al-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;border-radius:10px;background:#150c20;border:2px solid color-mix(in srgb,var(--rc) 45%,#2a1a38)}
.al-card.got{box-shadow:0 0 10px color-mix(in srgb,var(--rc) 50%,transparent);border-color:var(--rc)}
.al-pic{position:relative;width:52px;height:52px;display:flex;align-items:center;justify-content:center}.al-pic img{max-width:100%;max-height:100%;object-fit:contain}
.al-card.lock .al-pic img{filter:brightness(0) opacity(.55)}.al-pic i{position:absolute;font:900 18px 'Arial Black',sans-serif;font-style:normal;color:#8a7499}
.al-name{font:bold 8px/1.15 'Arial Black',sans-serif;color:#e9ddf5;text-align:center;word-break:break-word}.al-card.lock .al-name{color:#6f5a80}

/* ── Album as a book ── */
.bk-tabs{display:flex;gap:4px;overflow-x:auto;padding:0 8px;margin-bottom:-2px;position:relative;z-index:2}
.bk-tab{flex:0 0 auto;padding:5px 9px 8px;border:0;border-radius:6px 6px 0 0;background:var(--tc);color:#fff;font:900 8px 'Arial Black',sans-serif;cursor:pointer;opacity:.7;text-shadow:0 1px 1px rgba(0,0,0,.5);transform:translateY(3px);transition:.15s}
.bk-tab.on{opacity:1;transform:none;padding-top:7px}
.bk{position:relative;background:linear-gradient(135deg,#6b3414,#42200c);border-radius:10px;padding:10px;box-shadow:0 6px 18px rgba(0,0,0,.6),inset 0 0 0 2px #2a1306,inset 0 0 0 4px rgba(255,200,120,.18)}
.bk-spread{display:grid;grid-template-columns:1fr 1fr;border-radius:4px;overflow:hidden;position:relative;perspective:1200px;background:#e9d8ae}
.bk.single .bk-spread{grid-template-columns:1fr}
.bk-spine{position:absolute;left:50%;top:10px;bottom:10px;width:0;z-index:3;pointer-events:none;box-shadow:0 0 14px 6px rgba(60,30,5,.45)}.bk.single .bk-spine{display:none}
.bk-page{position:relative;min-height:340px;padding:12px 12px 26px;background:repeating-linear-gradient(0deg,transparent 0 23px,rgba(120,90,40,.07) 23px 24px),linear-gradient(90deg,#f6ecd2,#efe0b6);color:#4a3418;display:flex;flex-direction:column;gap:8px}
.bk-page:first-child{background-image:repeating-linear-gradient(0deg,transparent 0 23px,rgba(120,90,40,.07) 23px 24px),linear-gradient(90deg,#efe0b6,#f6ecd2 40%,#e2cf9f)}
.bk-page+.bk-page{background-image:repeating-linear-gradient(0deg,transparent 0 23px,rgba(120,90,40,.07) 23px 24px),linear-gradient(90deg,#e2cf9f,#f6ecd2 60%,#efe0b6)}
.bk-blank{opacity:.7}
.bk-num{position:absolute;bottom:7px;left:0;right:0;text-align:center;font:bold 10px Georgia,serif;color:#8a6a35}
.bk-spread.next .bk-page+.bk-page,.bk.single .bk-spread.next .bk-page{transform-origin:left center;animation:bk-in-r .38s ease-out}
.bk-spread.prev .bk-page:first-child,.bk.single .bk-spread.prev .bk-page{transform-origin:right center;animation:bk-in-l .38s ease-out}
@keyframes bk-in-r{from{transform:rotateY(-80deg);filter:brightness(.6)}to{transform:none;filter:none}}
@keyframes bk-in-l{from{transform:rotateY(80deg);filter:brightness(.6)}to{transform:none;filter:none}}
.bk-ph{align-self:center;padding:3px 14px;background:var(--tc);color:#fff;font:900 11px 'Arial Black',sans-serif;border-radius:3px;letter-spacing:1px;box-shadow:0 2px 0 rgba(0,0,0,.25)}.bk-ph small{opacity:.8;font-size:8px}
.bk-slots{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:8px;flex:1}
.bk-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 4px;border-radius:4px;min-height:84px}
.bk-slot.got{background:#fffaf0;border:2px solid var(--rc);box-shadow:2px 3px 6px rgba(70,40,10,.35);transform:rotate(-1deg)}.bk-slot.got:nth-child(even){transform:rotate(1.2deg)}
.bk-slot.lock{background:rgba(120,90,40,.12);border:2px dashed rgba(120,90,40,.45)}
.bk-slot.empty{border:2px dashed rgba(120,90,40,.2);background:transparent}
.bk-pic{position:relative;width:56px;height:56px;display:flex;align-items:center;justify-content:center}.bk-pic img{max-width:100%;max-height:100%;object-fit:contain}
.bk-slot.lock .bk-pic img{filter:brightness(0) opacity(.3)}.bk-pic i{position:absolute;font:900 20px 'Arial Black',sans-serif;font-style:normal;color:#8a6a35}
.bk-name{font:bold 8px/1.15 'Arial Black',sans-serif;text-align:center;color:#4a3418;word-break:break-word}.bk-slot.lock .bk-name{color:#a58a55}
.bk-star{position:absolute;top:1px;right:4px;font-style:normal;font-size:11px;text-shadow:0 1px 0 rgba(0,0,0,.3)}
.bk-index{align-items:stretch}.bk-title{text-align:center;font:900 22px Georgia,serif;color:#6b3414;letter-spacing:2px;margin-top:6px}.bk-sub{text-align:center;font:bold 9px 'Arial Black',sans-serif;color:#a07a3a;letter-spacing:3px;margin-top:-6px}
.bk-total{text-align:center;font:bold 12px Georgia,serif}.bk-total b{font-size:26px;color:#6b3414}
.bk-index .tr-bar{background:#cdb988}.bk-index .al-rars{grid-template-columns:1fr 1fr}.bk-index .al-rar span{color:#6b5530}.bk-index .al-rbar{background:#cdb988}
.bk-tocs{display:flex;flex-direction:column;gap:3px}.bk-toc{display:flex;align-items:center;gap:6px;background:none;border:0;padding:2px 0;cursor:pointer;font:bold 9px 'Arial Black',sans-serif;color:#4a3418}
.bk-toc i{flex:1;border-bottom:2px dotted #a58a55;height:8px}.bk-toc b{color:#6b3414}.bk-toc:hover span{text-decoration:underline}
.bk-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:8px;font:bold 10px 'Arial Black',sans-serif;color:#d9c08a}
.bk-nav button{width:40px;height:30px;border-radius:6px;border:2px solid #ffd23f;background:#2a1a00;color:#ffd23f;font-size:14px;cursor:pointer}.bk-nav button:disabled{opacity:.3;cursor:default}
@media(max-width:639px){.bk-page{min-height:360px}.bk-pic{width:62px;height:62px}}
.bk-index .al-rar b{filter:brightness(.72) saturate(1.2)}
