/* Nighttime cartoon skin; the simple page structure remains shared. */
:root{--forest:#73c978;--deep:#4caa62;--leaf:#b8e3a6;--lime:#263e4c;--paper:#111b34;--card:#1e2d4a;--ink:#fff1ce;--muted:#b9c8dd;--line:#394a6c;--gold:#ffcf61;--gold-soft:#ffe5a1;--red:#ffb6be;--shadow:0 8px 0 #09142644,0 14px 30px #0712252b;--joy-pink:#ffa0cb;--joy-blue:#a6dcff}
body{background:#111b34;background-image:radial-gradient(ellipse at 10% 15%,#263c5a 0,transparent 55%),radial-gradient(ellipse at 95% 80%,#253652 0,transparent 60%);background-attachment:fixed;color:#f5efd9}
body:before{display:block;content:'';position:fixed;inset:0;background:radial-gradient(circle at 7% 23%,#ffe8a56e 0 1px,transparent 2px),radial-gradient(circle at 90% 12%,#aab9ff65 0 2px,transparent 3px),radial-gradient(circle at 93% 67%,#fee58c66 0 1px,transparent 2px),radial-gradient(circle at 4% 81%,#aab9ff6a 0 1px,transparent 2px);pointer-events:none;z-index:-1}
.topbar{background:#1b2b45;border:2px solid #3b4e6c;border-bottom:5px solid #0c1730;border-radius:23px;padding:17px 22px;margin-top:21px;box-shadow:0 4px 22px #060b191f}
.topbar-brand strong{color:#fff0c6;font-size:25px;letter-spacing:.1px;text-shadow:0 2px #0d1b32}.brand-mark{background:linear-gradient(#ffe486,#ffba52);border:2px solid #fff1b1;border-bottom:4px solid #bd803d;color:#284038;border-radius:17px;box-shadow:0 3px 0 #07172f55}
.portal-level{color:#b5ceba;font:500 10px var(--display)}.portal-level-meter{background:#3a4c68}.portal-level-meter span{background:#a4df91}.balance-mini{border-color:#3b506f;padding-right:19px}.balance-mini small{color:#bac7d8}.balance-mini b{color:#ffe39b;font-size:22px}.user-mini strong{color:#f0e5cc}.user-mini small{color:#b7c4d9}.user-mini .avatar{border:2px solid #657493;background:#2c4057}
.sound-switch{background:#344d57;color:#ffdf8b;border:1px solid #627783;box-shadow:0 3px #0c1a32}.sound-switch:hover{background:#456257}.menu-toggle{background:#2d405c;color:#f4e8cd;border:1px solid #5d728d;border-bottom:3px solid #101c36;border-radius:12px;font-family:var(--display)}
.portal-quicknav{border:0;margin:11px 0 0;gap:9px;padding:8px 0}.portal-quicknav a{background:#20334d;color:#bfcce0;border:1px solid #3c5474;border-bottom:3px solid #0b192e;border-radius:13px;font-family:var(--display);font-size:14px;font-weight:500;gap:9px;padding:10px 17px}
.portal-quicknav a.active{background:linear-gradient(#ffdf86,#ffc655);border-color:#ffe4a0;border-bottom-color:#b87b36;color:#654c27;box-shadow:0 3px #0c173066}.portal-quicknav a:hover{background:#344b69;color:#fff1cf}.portal-quicknav a.active:hover{background:#ffda75;color:#614722}
.joy-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;width:1.15em;height:1.15em;flex-shrink:0;filter:drop-shadow(0 2px 0 #07132725);vertical-align:middle}
.btn{background:linear-gradient(#8bdc91,#5fbf76);border:2px solid #b0edaa;border-bottom:5px solid #327548;color:#153b2a;border-radius:16px;box-shadow:inset 0 2px #efffd04d,0 3px 0 #091c2d45;font:600 14px var(--display);min-height:47px;transition:filter .2s,translate .2s}
.btn:hover{background:linear-gradient(#a5e89c,#78d184);border-color:#c6f3ae;border-bottom-color:#438c50;color:#244c2c;transform:none;translate:0 -2px}.btn:active:not(:disabled){translate:0 2px;box-shadow:inset 0 1px #fff4}
.btn-gold{background:linear-gradient(#ffe697,#ffc756);border-color:#ffebaa;border-bottom-color:#b9843e;color:#795329}.btn-gold:hover{background:linear-gradient(#ffedb2,#ffd66c);border-color:#fff1bd;border-bottom-color:#ba843c;color:#77512c}
.btn-light{background:linear-gradient(#344b6b,#293e5b);border:1px solid #637b9c;border-bottom:4px solid #101e39;color:#e3ecf2;box-shadow:inset 0 1px #ffffff12}.btn-light:hover{background:#3b5676;border-color:#8194b1;border-bottom-color:#152542;color:#fff3d8}
.btn-soft{background:linear-gradient(#b3a1ed,#9384d3);border:2px solid #cdbdf9;border-bottom:4px solid #594d92;color:#33264f}.btn-danger{background:#5c3446;border-color:#a5687c;border-bottom-color:#2e1a31;color:#ffc6cf}.btn-sm{font-size:12px;min-height:36px;border-bottom-width:3px}
.text-link{color:#ffd77d;font-family:var(--display);font-weight:500}.page-heading h1{color:#fff1d0;font-size:37px;font-weight:600;text-shadow:0 3px #101a32}.page-heading .eyebrow,.eyebrow{color:#b6d696;letter-spacing:1.5px}.page-heading p{color:#b6c5d8;font-size:14px}
.panel,.goal-card{background:#1d2d49;border:2px solid #3b4f6d;border-bottom:5px solid #0e1b34;border-radius:24px;box-shadow:0 7px 18px #0810211a}.panel h2,.panel h3,.goal-card h3{color:#ffe1a0;font-weight:600}.help,.muted,.panel p.help{color:#bbcadc}.panel-head h2{font-size:25px}
.pill{background:#304561;border:1px solid #607899;color:#c7d9ed;border-radius:9px;font-family:var(--display)}.pill.green{background:#284e46;border-color:#51856e;color:#b8e6ac}.pill.orange{background:#574831;border-color:#8a724c;color:#ffe3a0}.pill.red{background:#553249;border-color:#945b76;color:#ffc0d6}.pill.gray{background:#303f5a;border-color:#566c8d;color:#c1cbe0}
.notice{background:#27463e;border:1px solid #5a8165;color:#d5e9ba;border-radius:14px}.notice.warn{background:#504530;border-color:#8e7849;color:#ffe3a5}.notice.error{background:#543743;border-color:#975e6d;color:#ffc7d1}
.stat,.stat:nth-child(n){background:linear-gradient(135deg,#263e4b,#20324d);border:1px solid #4a6c69;border-bottom:4px solid #0c1a30;border-radius:20px;box-shadow:0 3px #0913291a}
.stat:nth-child(2){background:linear-gradient(135deg,#34444e,#27394e);border-color:#6d805d;border-bottom-color:#142338}.stat:nth-child(3){background:linear-gradient(135deg,#2d3c61,#283751);border-color:#506f99;border-bottom-color:#101c36}.stat:nth-child(4){background:linear-gradient(135deg,#443958,#30354f);border-color:#796492;border-bottom-color:#191a32}
.stat-label{color:#c6d5d3;font-size:11px;font-family:var(--display)}.stat strong,.stat:nth-child(n) strong{color:#beedab;font-family:var(--display);font-weight:600}.stat:nth-child(2) strong{color:#ffe19c}.stat:nth-child(3) strong{color:#b7dbff}.stat:nth-child(4) strong{color:#dbc3ff}.stat small{color:#acbed0}.stat-icon,.stat:nth-child(n) .stat-icon{background:#ffffff10;border:1px solid #ffffff10;color:#e5edb8;border-radius:10px}.positive{color:#b0e29a}.negative{color:#ffb3ba}
.pasture-welcome{background:#243a55;border:2px solid #617ba0;border-bottom:6px solid #0b1931;border-radius:29px;min-height:280px;padding:34px;margin-bottom:24px;box-shadow:0 6px #09182c33;overflow:hidden}
.pasture-welcome h1{color:#fff0ba;font-size:41px;font-weight:600;line-height:1.18;text-shadow:0 3px #132039}.pasture-welcome p{color:#c0d0dc;font-size:14px}.pasture-welcome .eyebrow{color:#bee29f;font-size:10px}.welcome-scene{inset:0 0 0 30%;opacity:1;background:linear-gradient(90deg,#243a55 0,#243a5500 38%),url('/art/aurora-night.svg') center/cover}.welcome-stamp{background:#1b304bbf;border:1px solid #a1ad9433;color:#dbe5b3;font-size:9px;bottom:13px;right:20px}
.pasture-balance-grid{gap:19px}.balance-focus{background:linear-gradient(130deg,#514733,#3b3e3c);border:2px solid #b39a5c;border-bottom:5px solid #1e2331;color:#fff0b6;border-radius:23px}.collect-focus{background:linear-gradient(130deg,#2e5148,#243e4b);border:2px solid #75a481;border-bottom:5px solid #152b36;border-radius:23px;color:#daf2c2}
.balance-focus .focus-number{color:#ffe59c}.collect-focus .focus-number{color:#bdeb9c}.focus-number,.collect-focus .focus-number{font-size:43px;font-weight:600;text-shadow:0 3px #101e3155}.focus-label{color:#ece6c7;font:500 12px var(--display)}.focus-hint{color:#bdcbd0;font-size:11px}.balance-focus .btn{color:#ffdf94;background:none;border:0;box-shadow:none;font:500 13px var(--display)}.balance-focus .btn:hover{color:#fff1b2;translate:0}.live-dot{color:#bfe3a5;background:#2d4a3b;border:1px solid #688d62}.live-dot:before{background:#b7e594}
.rex-companion{background:linear-gradient(100deg,#343d56,#293e4c);border:2px dashed #697897;border-radius:23px;padding:14px 18px;gap:17px}.rex-companion h2{color:#e2cafa;font-weight:600;font-size:22px}.rex-companion p{color:#bbcbd9;font-size:12px}.rex-companion .btn{background:linear-gradient(#ffd4e4,#f8afcc);color:#7e4266;border:1px solid #ffe1ec;border-bottom:4px solid #a46c8b;border-radius:14px;min-height:40px;font:500 12px var(--display);margin-left:auto;width:auto}.rex-companion .btn:hover{background:#ffcfdf;color:#793e62}
.rex-character{width:75px;height:69px;flex:0 0 75px!important;min-width:0!important;overflow:hidden;border-radius:17px;border:2px solid #9b8eb4;background:#334963}.rex-character svg{width:100%;height:100%;object-fit:cover}.rex-character .critter{transform-origin:50% 70%}.rex-companion>div:not(.rex-character){flex:1;min-width:0}.herd-heading{flex-direction:row;align-items:center}.herd-heading h2{color:#fff0c8;font-weight:600;font-size:31px;text-shadow:0 2px #0c1630}.herd-heading h2 .herd-count{background:#324f4a;color:#b5df9f;border:1px solid #65885f}.herd-heading .btn{font-family:var(--display)}
.filter-btn,.filters .filter-btn{color:#c5d3e3;background:#263c57;border:1px solid #526e8e;border-bottom:3px solid #101f37;border-radius:13px;font:500 13px var(--display)}.filter-btn.active,.filters .filter-btn.active{background:linear-gradient(#ffe394,#ffd061);border:1px solid #ffedb0;border-bottom:3px solid #b17b3b;color:#7a592d}.filters .filter-btn span{background:#ffffff12}.filters .filter-btn.active span{background:#8963291a}
.animal-card,.happy-animal{background:#21324e;border:2px solid #6b7e9c;border-bottom:7px solid #0a1730;border-radius:28px;box-shadow:0 7px 24px #040c2030;overflow:hidden}
.animal-card:nth-child(3n+1){border-color:#879960;border-bottom-color:#142b31}.animal-card:nth-child(3n+2){border-color:#a7819a;border-bottom-color:#251d39}.animal-card:nth-child(3n){border-color:#8294c2;border-bottom-color:#182142}
.happy-animal:hover,.happy-animal:focus-within{border-color:#ffe39b;box-shadow:0 8px 25px #070f262f,0 0 0 3px #ffe39b12;translate:0 -3px}.happy-art{background:#394f71;border-bottom:2px solid #6883a050;aspect-ratio:1.48}.animal-content{padding:19px;gap:13px}.animal-content h3,.animal-name-row h3{color:#fff0c8;font-size:25px;font-weight:600;text-shadow:0 2px #0c1630}
.animal-content .animal-mood{color:#badca2;font-size:12px}.animal-content>p,.animal-content .footnote,.animal-description{color:#c4d1df!important}.animal-content .footnote{font-size:10px;text-align:center}.animal-specs{border-color:#445b78;padding:12px 0}.animal-specs small{color:#b5c8da;font-size:11px}.animal-specs b{color:#c9eeaa;font-size:25px;font-weight:600}.animal-specs>div:nth-child(2) b{color:#ffe09a}
.animal-cycle-note{color:#b9cadb;background:#1b2b46;border:1px solid #3e5878;border-radius:10px;padding:8px 10px;font-size:10px}.animal-cycle-note strong{color:#e5d6ab}.animal-mood{min-height:23px}.animal-content .progress-track{background:#15253f;border:1px solid #435e78;height:8px}.animal-content .progress-track>span{background:linear-gradient(90deg,#8fd18a,#c5e49a,#ffe19b)}.progress-meta,.animal-content .progress-meta{color:#aebed3;font-size:10px}
.animal-harvest{border:2px solid #fff1c2;border-bottom:4px solid #b18b4d;background:linear-gradient(#fff4c1,#ffda81);box-shadow:0 4px 0 #18273d55;color:#7a572c;border-radius:17px;font:600 22px var(--display);padding:6px 14px;bottom:12px}.animal-harvest:hover{background:#fff0b7;color:#775428}.animal-harvest:disabled{opacity:.65}
.pet-pill,.animal-content .pet-pill{background:linear-gradient(#ffd4e3,#f5adc8);border:1px solid #ffe7ec;border-bottom:3px solid #ab738c;color:#823c62;font:500 11px var(--display);padding:6px 9px;border-radius:13px}.pet-pill:hover{background:#ffdfeb}.animal-product{color:#f3ead1;background:#253750bb;border-color:#9cb1c644}.animal-art .animal-rarity{color:#6c543a;background:#fff0c7;border-color:#f5dca5;font-size:9px}.animal-buy-options{border-color:#455d7e;color:#c9d6e2}.animal-buy-options summary{font:500 12px var(--display)}.shop-cycle-summary{background:#1b2c46;color:#bacece;border-color:#3f5a78;border-radius:13px;padding:12px;font-size:11px}.shop-cycle-summary strong{color:#ffe19a}
.pasture-help{color:#b2c4d6;font-size:12px}.animal-speech{background:#fff3ca;color:#78613c;border:2px solid #ffdf8c;box-shadow:0 4px 0 #0c1b322b}.happy-spark{font-size:20px}
.money-hero{background:linear-gradient(130deg,#2c4c55,#304462 70%,#484e6c);border:2px solid #798bb0;border-bottom:7px solid #0b1730;border-radius:27px;box-shadow:0 7px #07132833}.money-hero h1{color:#ffefba;font-weight:600;font-size:35px;text-shadow:0 3px #142138}.money-hero .eyebrow{color:#b8e29e}.money-hero p,.money-label{color:#c4d6df}.money-value{color:#ffe49d;text-shadow:0 3px #142339;font-size:53px;font-weight:600}.money-actions .btn-light{background:#3d5670;border:1px solid #91a5c0;border-bottom:4px solid #14223d;color:#e9edff}.money-shop-link{color:#d9dea9;font-family:var(--display);font-size:12px}.money-watermark{opacity:.13}.money-actions .btn{font-size:14px}
.section-tabs{background:#17253e;border:1px solid #3d5473;border-bottom:4px solid #0a1730;border-radius:16px;padding:5px;gap:6px}.section-tabs button{font:500 14px var(--display);color:#b6c7df;border-radius:12px;min-height:41px}.section-tabs button[aria-pressed=true]{background:linear-gradient(#ffe399,#ffd16c);color:#70522f;box-shadow:0 3px #9e7036}
.wallet-summary>div{background:linear-gradient(125deg,#2e3d50,#25374e);border:1px solid #5c6c84;border-bottom:4px solid #111e36;border-radius:20px}.wallet-summary strong{color:#d9e6b5;font-family:var(--display);font-size:14px}.wallet-summary p{color:#b7c6d9;font-size:11px}.wallet-summary .text-link{font-size:11px}.summary-icon{background:#554b37;border:1px solid #7c7351;border-radius:13px;font-size:24px}.wallet-summary>div:nth-child(2) .summary-icon{background:#3d5143;border-color:#6f8b62}
.simple-empty>span{background:#2d4258;border:1px solid #586c86;color:#b1d396;border-radius:18px}.simple-empty h3{color:#e2d7ac;font-size:24px}.simple-empty p{color:#aebfd1}.movement-icon{background:#2d4e47;color:#c2e69d;border:1px solid #527563;border-radius:13px}.movement-icon.out{background:#52453f;color:#ffdc9d;border-color:#816d59}.movement-copy strong{color:#dfebca;font-size:13px}.movement-copy small{color:#a7bbd0}.list-row{border-color:#3a506d}.list-row>b{color:#c0e6a8;font-family:var(--display);font-size:15px}
.payment-options>button{background:#263b55;border:2px solid #4c6485;border-bottom:5px solid #15233b;border-radius:18px;color:#bfd2e4}.payment-options>button[aria-pressed=true]{background:#2d514c;border-color:#9acb8d;border-bottom-color:#3d6c4d;color:#e9f4c9}.payment-options strong{font-family:var(--display);font-size:17px}.payment-options small{color:#b5c9db;font-size:11px}.payment-symbol{background:#395e5a;color:#9ce5be;border:1px solid #649788;border-radius:12px}.crypto-symbol{background:#315954;color:#b5ecc6}.choice-check{color:#bce79e}.deposit-form{border-color:#425977}.deposit-form h3{color:#ffdf9b}
input,select,textarea{color:#eef2e4;background:#17263f;border:2px solid #4a6383;border-radius:13px;font-size:14px;min-height:46px;box-shadow:inset 0 2px #0b173030}input::placeholder,textarea::placeholder{color:#8097b5}input:focus,select:focus,textarea:focus{background:#1b2d49;border-color:#cfbd87;box-shadow:0 0 0 3px #f8dd8d12;color:#fff2cc}.field>span{color:#c7d6e1;font:500 12px var(--display)}.field small{color:#9db3ca}.check-field{color:#bfcede;font-size:12px}.check-field input{accent-color:#8fc575;min-height:16px;width:17px;height:17px}.password-field input{color:#eef0dc}.password-field button{color:#d3e9b3;background:#30475d}.form-message{color:#ffb6c6}.form-actions{border-color:#3c5571}
.withdraw-summary{background:linear-gradient(120deg,#263f4d,#283a57);border:2px solid #4d6c83;border-bottom:5px solid #111f37;border-radius:21px}.withdraw-summary>div{border-color:#52667a}.withdraw-summary span{color:#bed1da;font-family:var(--display);font-size:12px}.withdraw-summary strong{color:#d3eab3;font-weight:600;font-size:31px}.quiet-note{color:#a6c69a;font-family:var(--display);font-size:12px}.withdrawal-row{border-color:#3e5878}.withdrawal-detail{background:#172942;color:#bfd1da;border:1px solid #354f6c;border-radius:12px}.withdrawal-detail b{color:#d5e8b0}.withdrawal-row form .btn{background:#32465f;color:#bfd0dc;border-color:#5a7190;border-bottom:3px solid #14203a}
.invite-hero{background:linear-gradient(130deg,#414464,#2c4356);border:2px solid #8a7fa6;border-bottom:6px solid #1b1d37;border-radius:26px}.invite-flower{background:#5c503f;border:2px solid #a99166;border-radius:22px}.invite-copy h2{color:#fff0c3;font-size:29px;font-weight:600;text-shadow:0 2px #1c243b}.invite-copy p{color:#b9c9de}.invite-hero input{background:#1d2c47}.commission-total>span:first-child{color:#c2d0de}.commission-total strong{color:#e3c8ff;font-weight:600}.commission-history{color:#d5d4a3;border-color:#4c607c}
.table-wrap{background:#1b2b46;border:1px solid #455e7d}th{background:#263d54;color:#bad0d6}td{color:#d4dfd5;border-color:#38526d}td small{color:#9fb8cf}.empty{background:#20364b;border:1px dashed #698377;color:#c7e0ad}.empty h3{color:#e3dfb7}.empty p{color:#b1c9d5}.wallet-card{background:#2b4651;border:2px solid #698277;border-bottom:5px solid #152a37;color:#d6e6b1;border-radius:24px}.wallet-card .wallet-number{color:#e5ecb3}.wallet-card small{color:#b6d4be}.wallet-card p,.wallet-card .pill{color:#bed5cd}
.hero-panel{background:#284851;border:2px solid #6f8e83;border-bottom:5px solid #152739}.hero-copy{background:linear-gradient(90deg,#284851f0,#28485166)}.goal-card p{color:#bdccdc}.goal-card .reward{color:#d8e5a5}.reward{color:#e4c5ff}.icon-circle{background:#345065;color:#e2edb3;border:1px solid #657d94}.step-number{background:#3c5662;color:#d0e8b1;border:1px solid #6a8b86}.checkout-summary{border-color:#7b899f}.checkout-lines div{border-color:#47607c}.checkout-lines dt{color:#b2c5d6}.checkout-lines dd{color:#e3e8b7}.checkout-total{background:linear-gradient(#ffe79e,#ffd579);color:#805c35;border:2px solid #ffedb7;border-bottom:5px solid #b48a4d;border-radius:17px}.qr-box{background:#fff;border:3px solid #ffdd8e;border-bottom:6px solid #c49b5b;border-radius:20px}.pix-code{color:#d5e4de;background:#172941}.faq-list details{border-color:#3e5775}.faq-list summary{color:#e0e7c2}.faq-list summary:after{color:#b7d798}.faq-list details p{color:#b2c9d8}.code-output{background:#273e4d;border-color:#9ba983;color:#eff0bb}
.avatar{background:#354b5a;border-color:#738aa0}.avatar-choice{background:#2a4057;border-color:#5b7694}.avatar-choice[aria-pressed=true]{border-color:#ffe09b;box-shadow:0 0 0 3px #eac68612}.profile-banner{border-color:#425b78}.message{background:#2c4a4c;border-color:#557d73;color:#e0ebd2}.message.support{background:#4e463e;border-color:#8b7f5a;color:#f0e0b9}.message strong{color:#d7dfa0}
.guide-disclosure{border-color:#344d6b;color:#a4b8d0;font-family:var(--display)}.guide-disclosure summary img{filter:none;border:2px solid #7f947b}.guide-disclosure-content{color:#c6d5df}.guide-disclosure summary>span:last-child{color:#ffe09a}.portal-footer,.portal-footer a{color:#8ca5bd}.portal-footer{font-size:10px}.sidebar{background:#1b2c48;border-left:2px solid #586c8f;box-shadow:-10px 0 50px #030d2233;border-radius:24px 0 0 24px}.sidebar .brand-name{color:#ffe8af}.sidebar .brand small{color:#9eb8cd}.menu-dismiss{background:#344762;color:#ffe3a1;border:1px solid #6b7fa0}.nav-group-label{color:#a6bf9c}.side-nav a{color:#bfd0e0;font:500 14px var(--display)}.side-nav a.active{background:#3c5e4e;color:#e4f0bd;border-bottom:3px solid #1b3d33}.side-nav a:hover{background:#2c4561;color:#ffedc7}.sidebar-note{background:#283f51;color:#b4c8ca;border:1px dashed #678371}.sidebar-note strong{color:#c8e0b2}.menu-open .mobile-backdrop{background:#0610248c}
.auth-layout{background:#1d2e49;border:2px solid #6b7e9c;border-bottom:7px solid #0a1631;box-shadow:0 15px 50px #030e2333}.auth-main{background:#1e2e49}.auth-inner h2{color:#ffe7ae;font-weight:600}.auth-inner>p{color:#b7cbe0}.auth-back,.auth-form-footer{color:#a7c1d7}.auth-tabs{background:#13233d;border:1px solid #3e587a;border-bottom:3px solid #0b1a33;border-radius:15px}.auth-tabs a{color:#b8cce2;font-family:var(--display);font-size:14px}.auth-tabs a.active{background:linear-gradient(#ffe49a,#ffd076);color:#755733;box-shadow:0 2px #b28549}.auth-story{background:#253f59}.auth-story:before{background:linear-gradient(180deg,#26395744,#21364d99),url('/art/aurora-night.svg') center/cover}.auth-story-content h1{color:#fff0bd;font-weight:600;text-shadow:0 3px #14223a}.auth-footer{color:#9fb7cd}
#portal-toast{background:linear-gradient(120deg,#39594e,#2b4658);border:2px solid #99b98e;border-bottom:5px solid #122d35;color:#f0f1cc;font-family:var(--display);font-size:14px;border-radius:17px;box-shadow:0 8px 26px #06112345}
/* Independent character animation, paused when off screen. */
.happy-animal.in-view .happy-art-image,.is-happy.in-view .happy-art-image{animation:none;transform:none}
.cartoon-critter{display:block;width:100%;height:100%;overflow:visible}.cartoon-critter .critter{transform-box:fill-box;transform-origin:50% 100%;animation:critter-bob 3.5s ease-in-out infinite;animation-delay:calc(var(--idle-delay,0s) * -1)}
.cartoon-critter .critter-eyes{transform-box:fill-box;transform-origin:center;animation:critter-blink 5.8s infinite;animation-delay:var(--idle-delay,0s)}
.cartoon-critter .critter-head{transform-box:fill-box;transform-origin:50% 85%;animation:critter-nod 5s ease-in-out infinite;animation-delay:calc(var(--idle-delay,0s) * -1)}
.cartoon-critter .critter-tail{transform-box:fill-box;transform-origin:0% 70%;animation:critter-wag 1.7s ease-in-out infinite}
.cartoon-critter .critter-ear{transform-box:fill-box;transform-origin:50% 100%;animation:critter-ear 6s ease-in-out infinite}.cartoon-critter .ear-right{animation-delay:.25s}
.cartoon-critter .critter-wing{transform-box:fill-box;transform-origin:50% 15%;animation:critter-wing 3s ease-in-out infinite}.cartoon-critter .critter-foot{transform-box:fill-box;transform-origin:50% 10%;animation:critter-step 3.5s ease-in-out infinite}.cartoon-critter .foot-right{animation-delay:1.75s}
.cartoon-critter .bee-float{transform-box:fill-box;transform-origin:center;animation:bee-hover 3s ease-in-out infinite}.cartoon-critter .bee-float .critter-wing{animation:bee-flap .3s ease-in-out infinite;transform-origin:50% 100%}.cartoon-critter .bee-float .wing-right{animation-delay:.15s}
.cartoon-critter .critter-stars{animation:star-sparkle 4s ease-in-out infinite}.cartoon-critter .critter-flower{animation:flower-sway 4s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
.cartoon-critter *{animation-play-state:paused!important}[data-joy-card].in-view .cartoon-critter *{animation-play-state:running!important}.effects-paused .cartoon-critter *{animation-play-state:paused!important}
.is-happy .cartoon-critter .critter{animation:critter-dance .4s ease-in-out 3}.happy-art .animal-portrait-button:hover .critter-head{animation-duration:1s}.animal-portrait-button:focus-visible{outline:4px solid #ffe7a2;outline-offset:-5px}
@keyframes critter-bob{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.015,1.025)}}
@keyframes critter-blink{0%,89%,96%,100%{transform:scaleY(1)}91%,93%{transform:scaleY(.08)}}
@keyframes critter-nod{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
@keyframes critter-wag{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(11deg)}}
@keyframes critter-ear{0%,76%,100%{transform:rotate(0)}81%{transform:rotate(-12deg)}86%{transform:rotate(8deg)}91%{transform:rotate(0)}}
@keyframes critter-wing{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(10deg)}}
@keyframes critter-step{0%,35%,100%{transform:rotate(0)}55%{transform:rotate(8deg)}75%{transform:rotate(-5deg)}}
@keyframes bee-hover{0%,100%{transform:translate(0,0) rotate(-3deg)}50%{transform:translate(7px,-12px) rotate(3deg)}}
@keyframes bee-flap{0%,100%{transform:scaleX(1) rotate(-8deg)}50%{transform:scaleX(.7) rotate(12deg)}}
@keyframes star-sparkle{0%,100%{opacity:.4}50%{opacity:.95}}@keyframes flower-sway{0%,100%{rotate:-6deg}50%{rotate:6deg}}
@keyframes critter-dance{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-16px) rotate(4deg)}}
@media(max-width:1000px){.topbar-brand strong{font-size:23px}.page-heading h1{font-size:33px}.money-hero h1{font-size:31px}}
@media(max-width:720px){.topbar{padding:13px 15px;margin-top:12px;min-height:80px;border-radius:20px;gap:9px}.topbar-brand strong{font-size:22px}.brand-mark{width:40px;height:40px;font-size:24px}.portal-level{font-size:9px}.menu-toggle{background:#2d405a;border:1px solid #5b7291;border-bottom:3px solid #101e37;font-size:11px;padding:7px 9px;min-height:35px}.page-main{padding-top:22px}.page-heading h1{font-size:30px}.page-heading p{font-size:12px}.page-heading .eyebrow{font-size:9px}.page-heading .heading-actions .btn{font-size:11px}.panel{padding:20px;border-radius:22px}.panel h2{font-size:23px}.panel h3{font-size:21px}.help,.panel p.help{font-size:12px}.btn{font-size:13px;min-height:45px;padding:10px 15px}.btn-sm{font-size:11px;min-height:35px}.pasture-welcome{min-height:244px;padding:24px;border-radius:25px}.pasture-welcome h1{font-size:34px;max-width:245px}.pasture-welcome>div:first-child{max-width:83%}.pasture-welcome p{font-size:12px;max-width:190px}.pasture-welcome .eyebrow{font-size:8px}.pasture-welcome .btn{font-size:11px;min-height:39px}.welcome-scene{left:18%;opacity:.8;background-position:center}.welcome-stamp{font-size:7px;right:10px;bottom:9px}.pasture-balance-grid{gap:12px}.balance-focus,.collect-focus{padding:17px 15px;border-radius:20px}.focus-number,.collect-focus .focus-number{font-size:33px}.focus-label{font-size:10px}.focus-hint{font-size:9px}.balance-focus .btn{font-size:11px}.focus-bottom .btn{font-size:11px;min-height:37px;padding:8px}.live-dot{font-size:8px;padding:3px 5px}.pasture-stats .stat{min-height:111px;padding:15px 13px}.pasture-stats .stat-label{font-size:10px;min-height:24px}.pasture-stats .stat strong{font-size:26px;margin:7px 0 5px}.pasture-stats .stat small{font-size:9px}.stat-icon .joy-icon{font-size:20px!important}.rex-companion{padding:12px;gap:11px;flex-wrap:nowrap}.rex-companion .rex-character{width:53px;height:58px;flex-basis:53px!important}.rex-companion h2{font-size:18px}.rex-companion p{font-size:10px}.rex-companion .btn{font-size:10px;padding:8px 10px;min-height:35px;margin-left:0;width:auto}.herd-heading{flex-direction:row;align-items:center}.herd-heading h2{font-size:27px}.herd-heading .btn{font-size:11px;min-height:37px}.filters .filter-btn{font-size:12px;padding:8px 10px}.animal-grid{grid-template-columns:1fr;gap:21px}.happy-art{aspect-ratio:1.46}.animal-content{padding:20px;gap:13px}.animal-content h3,.animal-name-row h3{font-size:27px}.animal-name-row{flex-wrap:nowrap}.animal-content .animal-mood{font-size:12px!important}.animal-content .pet-pill{font-size:12px;padding:7px 11px}.animal-specs b{font-size:28px}.animal-specs small{font-size:12px}.animal-harvest{font-size:24px;padding:7px 18px;bottom:12px}.animal-cycle-note{font-size:11px}.animal-content .btn-full{font-size:13px;min-height:43px}.animal-content>p{font-size:12px}.animal-description{min-height:0}.shop-cycle-summary{font-size:12px}.animal-buy-options summary{font-size:12px}.money-hero{padding:25px;border-radius:25px}.money-hero h1{font-size:30px;max-width:270px}.money-hero p{font-size:12px;max-width:240px}.money-label{font-size:11px}.money-value{font-size:49px}.money-actions .btn{font-size:14px;min-height:46px}.money-shop-link{font-size:12px}.section-tabs button{font-size:13px;min-height:41px}.wallet-summary>div{padding:16px;gap:11px}.wallet-summary strong{font-size:13px}.wallet-summary p{font-size:10px;max-width:205px}.wallet-summary .text-link{font-size:10px}.summary-icon{font-size:24px;width:36px;height:39px}.simple-empty h3{font-size:23px}.simple-empty p{font-size:12px}.movement-copy strong{font-size:12px}.movement-copy small{font-size:10px}.list-row>b{font-size:14px}.payment-options>button{padding:13px 10px;gap:8px;min-height:84px}.payment-options strong{font-size:17px}.payment-options small{font-size:9px}.field>span{font-size:12px}.check-field{font-size:11px}.withdraw-summary{padding:19px 14px}.withdraw-summary span{font-size:10px}.withdraw-summary strong{font-size:26px}.quiet-note{font-size:11px}.withdrawal-detail{font-size:11px}.invite-hero{padding:22px}.invite-copy h2{font-size:25px}.invite-copy p{font-size:12px}.commission-total strong{font-size:34px}.commission-total>span:first-child{font-size:12px}.portal-dock{background:#172741f5;border:2px solid #4f6382;border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -5px 24px #07102344;padding:9px 10px calc(10px + env(safe-area-inset-bottom));min-height:78px}.portal-dock a,.portal-dock button{color:#b7c8dd;font:500 11px var(--display);border-radius:14px;gap:5px;min-height:51px}.portal-dock a.active{background:linear-gradient(#ffe49b,#ffd074);border:1px solid #ffedb0;border-bottom:3px solid #a57840;color:#73512d;box-shadow:0 3px #09162c33}.portal-dock .joy-icon{font-size:24px!important;width:auto}.portal-dock svg{width:22px;height:22px}.portal-footer{font-size:9px;padding-bottom:113px}.sidebar{border-radius:23px 0 0 23px}.guide-disclosure{font-size:12px}.auth-layout{margin:14px}.auth-inner h2{font-size:32px}.auth-main{padding:28px 22px}#portal-toast{font-size:13px;bottom:93px}}
@media(max-width:400px){.app-shell{padding:0 13px}.topbar-brand strong{font-size:20px}.pasture-welcome h1{font-size:31px}.pasture-welcome{padding:22px}.wallet-summary>div{flex-wrap:wrap}.wallet-summary .text-link{margin-left:47px;margin-top:-5px}.wallet-summary p{max-width:215px}.money-hero h1{font-size:28px}.money-hero{padding:23px}.rex-companion .btn{font-size:9px;padding:7px 8px}.rex-companion h2{font-size:17px}.focus-number,.collect-focus .focus-number{font-size:29px}.focus-label{font-size:9px}.withdraw-summary strong{font-size:23px}.withdraw-summary span{font-size:9px}}
.animal-art.happy-art{aspect-ratio:1.25;background:#294c58}
.realistic-scene{display:block;position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#5c7c88 0,transparent 70%),linear-gradient(#304c66 0,#37596b 60%,#476f5b 61%,#3a6352 100%)}
.realistic-scene:before{content:'';position:absolute;left:-8%;right:-8%;bottom:4%;height:30%;border-radius:50%;background:#507b5d;opacity:.7;transform:rotate(-5deg)}
.realistic-ground{position:absolute;width:55%;height:12%;left:22.5%;bottom:6%;background:#183d354f;border-radius:50%;filter:blur(5px)}
.realistic-sprite{display:block;position:absolute;left:50%;bottom:2%;width:82%;aspect-ratio:1;transform:translateX(-50%);background-size:400% 400%;background-position:0 0;background-repeat:no-repeat;animation:animal-frames 2.88s steps(1,end) infinite;animation-delay:calc(var(--idle-delay,0s) * -1);animation-play-state:paused}
[data-joy-card].in-view .realistic-sprite{animation-play-state:running}.effects-paused .realistic-sprite{animation-play-state:paused!important}.is-happy .realistic-sprite{animation-duration:1.8s}
.rex-character .realistic-sprite{width:115%;bottom:-10%}.rex-character .realistic-scene{background:linear-gradient(#426078,#35574c)}.rex-character .realistic-ground{display:none}
@keyframes animal-frames{0%{background-position:0% 0%}6.25%{background-position:33.333333% 0%}12.5%{background-position:66.666667% 0%}18.75%{background-position:100% 0%}25%{background-position:0% 33.333333%}31.25%{background-position:33.333333% 33.333333%}37.5%{background-position:66.666667% 33.333333%}43.75%{background-position:100% 33.333333%}50%{background-position:0% 66.666667%}56.25%{background-position:33.333333% 66.666667%}62.5%{background-position:66.666667% 66.666667%}68.75%{background-position:100% 66.666667%}75%{background-position:0% 100%}81.25%{background-position:33.333333% 100%}87.5%{background-position:66.666667% 100%}93.75%{background-position:100% 100%}100%{background-position:0% 0%}}
@media(prefers-reduced-motion:reduce){.realistic-sprite{animation:none!important;background-position:0 0!important}.cartoon-critter *,.is-happy .cartoon-critter .critter{animation:none!important}.btn:hover{translate:0}.happy-animal:hover{translate:0}}
.farm-greeting{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 20px}.farm-greeting h1{font:600 clamp(25px,4vw,36px) var(--display);color:#ffedb7;margin:5px 0}.farm-greeting .eyebrow{color:#bedb9e;font-size:10px}.farm-world{border:3px solid #9bba60;border-bottom:7px solid #344d36;background:#203c36;border-radius:27px;overflow:hidden;margin-bottom:24px;box-shadow:0 10px 35px #020c203d}.farm-world-top{display:flex;justify-content:space-between;gap:10px;padding:12px 20px;background:linear-gradient(#44694b,#304d3b);font:500 12px var(--display);color:#f5edba}.farm-world-map{position:relative;aspect-ratio:1.5;background:#99c84e url('/art/farm-meadow.webp') center/cover;isolation:isolate}.world-animal{position:absolute;left:var(--x);top:var(--y);width:17%;aspect-ratio:1;transform:translate(-50%,-50%);border:0;background:none;padding:0;cursor:pointer;border-radius:40%;z-index:2;filter:drop-shadow(0 4px 3px #2e4d3733)}.world-animal:hover,.world-animal:focus-visible{z-index:5;outline:2px dashed #fff3b5;outline-offset:1px;background:#f6ffb51a}.world-animal .realistic-scene{background:none!important;width:100%;height:100%;overflow:visible;aspect-ratio:1}.world-animal .realistic-ground{display:none}.world-animal .realistic-sprite{width:100%;height:100%;inset:0;transform:none;position:absolute;animation-duration:2.88s}.world-animal-name{position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);white-space:nowrap;padding:3px 8px;border-radius:20px;border:1px solid #ecf3b9;background:#294631dd;color:#fffbd9;font:500 10px var(--display);pointer-events:none}.world-rex{width:13%}.farm-world-tools{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px;background:linear-gradient(#344c39,#243b32)}.farm-world-tools .btn{font-size:13px;min-height:43px}.world-empty{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;color:#284733;background:#fff5cce8;border:2px solid #fff8d9;border-radius:18px;padding:18px;font:500 18px var(--display);width:max-content;max-width:75%}.world-empty .btn{margin-top:12px}.farm-world-map .realistic-sprite{animation-play-state:paused}.farm-world-map.in-view .realistic-sprite{animation-play-state:running}.effects-paused .farm-world-map .realistic-sprite{animation-play-state:paused}@media(max-width:600px){.farm-greeting{margin:8px 0 15px}.farm-greeting>.live-dot{display:none}.farm-world{border-radius:19px}.farm-world-top{padding:10px;font-size:10px}.farm-world-top>span+span{display:none}.farm-world-map{aspect-ratio:1.1;background-size:auto 100%}.world-animal{width:23%}.world-rex{width:20%}.world-animal-name{font-size:8px;padding:2px 5px}.farm-world-tools{gap:7px;padding:10px;flex-wrap:wrap}.farm-world-tools .btn{font-size:11px;min-height:39px;padding:8px 10px}.world-empty{font-size:14px;padding:12px}}@media(prefers-reduced-motion:reduce){.farm-world-map .realistic-sprite{animation-play-state:paused!important}}
.world-animal .realistic-scene:before{display:none}

.auth-story:before{background:linear-gradient(180deg,#17352c77,#172a3bc9),url('/art/farm-meadow.webp') center/cover}
