/* Shared visual identity with the user's original night pasture layout. */
:root{--forest:#68b74b;--deep:#4a9838;--leaf:#b7dca2;--lime:#293e2c;--paper:#17283e;--card:#17232f;--ink:#f3f5eb;--muted:#b8c8bd;--line:#3c4a3e;--gold:#ffca44;--gold-soft:#ffe39a;--red:#ffb4a0;--shadow:0 9px 26px #08121d33;--radius:24px}
body{background:radial-gradient(ellipse at 50% 5%,#142133 0,transparent 65%),linear-gradient(180deg,#0d1727,#24374e 65%,#234143);background-attachment:fixed;color:var(--ink)}
body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 8% 42%,#dbf770a0 0 2px,transparent 4px),radial-gradient(circle at 92% 63%,#c4ef5570 0 2px,transparent 5px),radial-gradient(circle at 55% 9%,#d3f66c80 0 2px,transparent 5px),radial-gradient(circle at 21% 86%,#c4ef5580 0 2px,transparent 5px),radial-gradient(circle at 78% 82%,#d3f66c70 0 2px,transparent 5px)}
.app-shell{display:block;max-width:1120px;margin:16px auto 0;padding:0 18px}.main-column{width:100%}.page-main{padding:23px 0 15px;min-height:45vh}.page-main:focus{outline:none}.topbar{border:2px solid #293729;background:#17222eeb;backdrop-filter:blur(12px);padding:17px 20px;border-radius:20px;flex-wrap:wrap;gap:18px;box-shadow:var(--shadow);min-height:100px}.topbar-left{gap:13px;min-width:230px}.topbar-brand{display:flex;gap:12px;align-items:center}.topbar-brand strong{font:600 22px var(--display);color:#fff}.brand-mark{color:#344217;background:linear-gradient(135deg,#ffdb15,#ff9e00);box-shadow:0 3px 10px #ffaa0044;border-radius:14px;font-size:27px}.portal-level{background:#fff6dd;border:1px solid #e7bd66;border-radius:30px;padding:3px 10px;color:#81580f;font-size:11px;font-weight:600;display:flex;align-items:center;gap:8px;margin-top:5px}.portal-level-meter{width:40px;height:5px;border-radius:6px;background:#d6c9a4;overflow:hidden}.portal-level-meter span{display:block;height:100%;background:#6ab73e;border-radius:6px}.topbar-right{gap:12px;flex-wrap:wrap}.balance-mini{border:1px solid #f2b932;background:linear-gradient(135deg,#fff4ce,#ffe08b);color:#57380d;border-radius:16px;padding:10px 15px;text-align:left;min-width:160px;box-shadow:0 3px 9px #ffbd2825}.balance-mini small{color:#815710;font-size:10px;font-weight:700}.balance-mini b{font:600 22px var(--display)}.user-mini .avatar{background:#263947;border:1px solid #6c7a65}.user-mini strong{color:#f3f6e9}.user-mini small{color:var(--muted)}.menu-toggle{display:flex;align-items:center;gap:7px;background:#243342;color:#f7f3de;border:1px solid #566355;padding:10px 13px;border-radius:30px;font-size:12px;font-weight:600}.portal-quicknav{display:flex;gap:8px;overflow-x:auto;margin:17px 0 0;padding:0 1px 4px;scrollbar-width:thin;scrollbar-color:#52634e transparent}.portal-quicknav a{display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #435541;border-radius:30px;padding:8px 15px;background:#1b2937;color:#dce8d3;font-size:12px;font-weight:500}.portal-quicknav a.active{border-color:#e9b338;background:linear-gradient(135deg,#ffdf65,#ffbf25);color:#543b10}.farm-guide{display:flex;align-items:center;gap:16px;background:#17222fef;border:2px solid #b77f32;border-radius:24px;padding:14px 18px;box-shadow:var(--shadow);margin-top:16px}.farm-guide>img{width:76px;height:76px;object-fit:cover;border:3px solid #edc058;border-radius:50%;box-shadow:0 0 0 5px #303c33;flex-shrink:0}.farm-guide-copy{min-width:0;flex:1}.farm-guide-copy strong{color:#ffc64b;font:600 18px var(--display)}.farm-guide-copy p{font-size:13px;color:#dce8d3;margin-top:5px}.farm-guide button{background:#2b3742;color:#f6f4e8;border:1px solid #687164;padding:5px 10px;font-size:11px;font-weight:600;border-radius:7px;display:flex;align-items:center;gap:6px}.sidebar{position:fixed;left:auto;right:16px;top:15px;bottom:100px;height:auto;width:280px;max-height:calc(100dvh - 115px);border:2px solid #b68c41;border-radius:22px;background:#172330f5;backdrop-filter:blur(16px);padding:23px 15px;transform:translateX(calc(100% + 32px));transition:transform .2s;z-index:60;box-shadow:0 18px 70px #0009}.menu-open .sidebar{transform:none}.menu-open .mobile-backdrop{display:block;position:fixed;inset:0;background:#091321aa;backdrop-filter:blur(4px);z-index:55;border-radius:0}.sidebar .brand{padding-bottom:14px}.sidebar .brand-name{color:#fff;font-size:21px}.sidebar .brand small{color:#c4d0bd}.side-nav a{color:#dce7d3;padding:8px 12px;font-size:13px}.side-nav a:hover{background:#2c3b45;color:#fff}.side-nav a.active{background:linear-gradient(135deg,#5fba49,#3d8b2e);color:white;border:1px solid #86ca69}.side-nav a.active::after{background:#ffe18b}.nav-group-label{color:#d2b96c;font-size:9px;padding-top:16px}.sidebar-note{background:#263a37;color:#cfdfc6;border:1px dashed #64735c}.sidebar-note .text-link{display:block;margin-top:10px}.page-heading{padding:4px 0 0}.page-heading h1{font-size:32px;font-weight:600;color:#f9f5e5}.page-heading .eyebrow{color:#ffcf60}.page-heading p{font-size:13px;color:#becfc1}.btn{font-family:var(--display);font-size:14px;font-weight:600;background:linear-gradient(180deg,#6ac452,#3e8f30);color:#fff;border:2px solid #78c260;border-bottom:4px solid #2b6124;border-radius:28px;box-shadow:inset 0 2px 1px #ffffff30,0 4px 10px #0002;min-height:43px}.btn:hover{background:linear-gradient(180deg,#80d266,#4fa33c);color:#fff}.btn-gold{background:linear-gradient(180deg,#ffdf62,#ffbd25);color:#563b0d;border-color:#efb43b;border-bottom-color:#a16a1b}.btn-gold:hover{background:linear-gradient(180deg,#ffe890,#ffcb42);color:#563b0d}.btn-light{background:#263645;color:#f4f4df;border:1px solid #596758;border-bottom:3px solid #10202a;box-shadow:inset 0 1px 1px #ffffff16}.btn-light:hover{background:#344553;color:#fff}.btn-soft{background:linear-gradient(180deg,#465f39,#344d2b);border-color:#718d59;border-bottom-color:#203b1c;color:#eff6df}.btn-soft:hover{background:#536e44}.btn-danger{background:#49302b;border-color:#a47757;color:#ffd5bd}.btn-sm{font-size:12px;min-height:35px;padding:7px 13px;border-width:1px;border-bottom-width:3px}.text-link{color:#ffd875}.panel,.stat,.goal-card{background:#17232fee;border:2px solid #334736;box-shadow:var(--shadow)}.panel{border-radius:24px}.panel h2,.panel h3{color:#ffcd58;font-family:var(--display);font-weight:600}.panel h2{font-size:25px}.stat{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:11px;align-content:center;padding:17px 15px;border-radius:19px}.stat-icon{grid-row:1/4;align-self:center;background:#fff0cf;color:#405d2f;width:40px;height:40px;margin:0;border-radius:13px}.stat:nth-child(2) .stat-icon{background:#def1cf;color:#356d29}.stat:nth-child(3) .stat-icon{background:#ffdfd5;color:#99472c}.stat:nth-child(4) .stat-icon{background:#e8dfff;color:#5a4386}.stat-label{font-size:10px;font-weight:700;color:#c9d7bc;letter-spacing:.35px;text-transform:uppercase}.stat strong{font-family:var(--display);font-size:23px;font-weight:600;margin:3px 0;color:#edf4dd}.stat small{font-size:9px;color:#a8bda4}.stats-grid{gap:12px}.hero-panel{border:2px solid #aa833a;background:#182b28;border-radius:25px;min-height:235px}.hero-copy{padding:25px;background:linear-gradient(90deg,#17292ef0,#17292e88)}.hero-copy h2{font-weight:600;font-size:32px;color:#fff2c8}.hero-copy p{color:#e0e8d3}.hero-copy .eyebrow{color:#ffc74e}.hero-art:before{background:linear-gradient(90deg,#182b28,transparent 65%)}.pill{background:#263e2a;border:1px solid #5b7151;color:#d4e9bb}.pill.green{background:#233f28;color:#c6e8b1;border-color:#5c8650}.pill.orange{background:#4b3d20;color:#ffe18d;border-color:#8e753b}.pill.red{background:#4b2f27;color:#ffcfb4;border-color:#996a4c}.pill.gray{background:#2a3640;color:#c6d0cc;border-color:#53604f}.notice{background:#203b2e;border-color:#526c3a;color:#dae8c5}.notice.warn{background:#423923;border-color:#967838;color:#ffe4a7}.notice.error{background:#462e29;border-color:#a0714c;color:#ffcfbb}.notice .text-link{color:#ffe28b}.empty{background:#1b2b34;border:1px dashed #718064;color:#f2f2df}.empty h3{color:#ffcd59;font-family:var(--display)}.empty p{color:#c1cebd}.animal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.animal-card{background:#18222c;border:2px solid #ffca4b;border-radius:25px;box-shadow:0 8px 25px #050c1833;overflow:hidden}.animal-art{aspect-ratio:1.5;background:#2e4233}.animal-art .pill{background:#fff4d4;color:#66501c;border:1px solid #d0b26a;text-transform:uppercase;font:600 11px var(--display);border-radius:9px}.animal-content{padding:17px;gap:13px}.animal-content h3{font-weight:600;font-size:24px;color:#fff9e8}.animal-content>p{color:#c8d6c4}.animal-specs{border-color:#42513f}.animal-specs small{color:#bfd0b5}.animal-specs b{font-family:var(--display);font-weight:600;color:#e5efd7;font-size:19px}.animal-content .footnote{color:#bdcbb0}.filter-btn{background:#233342;border-color:#55654e;color:#d5e2c6;font-family:var(--display);font-size:13px}.filter-btn.active{background:linear-gradient(180deg,#ffdb5e,#ffbf2c);color:#563d14;border-color:#d69e29}.progress-track{background:#344438;border:1px solid #4f5e43;height:8px}.progress-track>span{background:linear-gradient(90deg,#65c04d,#ffd452)}.progress-meta{color:#c4d2b8}.positive{color:#9ee174}.negative{color:#ffd08f}.list-row{border-color:#394b3e}.list-leading strong{color:#f0f3df}.icon-circle{background:#2a422d;border:1px solid #62784e;color:#ffe293}.goal-card{border-color:#ad873b;border-radius:24px}.goal-card h3{color:#fff0c4;font-family:var(--display);font-size:23px}.goal-card p{color:#c3d0b8}.reward{color:#ffe18a;font-weight:600}.table-wrap{border-color:#556342;background:#182732}th{background:#2b392f;color:#e2d7a9}td{border-color:#3d4f3b;color:#e2eada}td small{color:#aabdac}input,select,textarea{background:#233442;border:1px solid #63745c;color:#f2f4e9;border-radius:13px}input:focus,select:focus,textarea:focus{border-color:#e1b34e}input::placeholder,textarea::placeholder{color:#92a78e}.field>span{color:#e4e8d7}.field small{color:#b9cbb0}.password-field button{background:#3a4b3b;color:#ffe395;border-radius:8px}.form-actions{border-color:#485940}.form-message{color:#ffc2a4}.avatar{background:#334f37;border:2px solid #a1aa62}.avatar-choice{background:#2b412f;border-color:#5d744f}.avatar-choice[aria-pressed=true]{border-color:#ffcf55;box-shadow:0 0 0 3px #6b6336}.profile-banner{border-color:#475a40}.checkout-summary{border-color:#c39a42}.checkout-lines div{border-color:#42563b}.checkout-total{background:linear-gradient(135deg,#fff0b8,#ffdc79);color:#60420e;border:1px solid #eeb83e;border-radius:16px}.checkout-total b{font-family:var(--display);font-weight:600}.step-number{background:#314b30;color:#ffe493;border:1px solid #788353}.qr-box{background:#fff;border:2px solid #e8b644;box-shadow:0 5px 18px #030c1340}.pix-code{background:#233541;color:#e4edd8}.code-output{background:#2b3f2e;border-color:#b9ac60;color:#ffe9ac}.message{background:#293f39;color:#eef3dd;border:1px solid #526b4d}.message.support{background:#473d24;border-color:#9c8249;color:#fff1c9}.message strong{color:#ffd777}.wallet-card{background:linear-gradient(135deg,#334a2d,#1c302b);border:2px solid #d0aa48;border-radius:24px;box-shadow:var(--shadow)}.wallet-card .wallet-number{color:#fff0bd;font-family:var(--display);font-weight:600}.wallet-card small{color:#e6d6a0}.wallet-card p{color:#cedfc3}.wallet-card .pill{color:#e7efcf}.faq-list details{border-color:#43583e}.faq-list summary{color:#f3edce;font-family:var(--display);font-size:17px}.faq-list summary:after{color:#ffcf55}.faq-list details p{color:#c6d4bb}.sidebar-bottom{padding:18px 4px 0}.portal-footer{padding:20px 0 105px;color:#b9c9b4;font-size:10px;max-width:none}.portal-dock{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:#172735ef;border:2px solid #98a18d;border-radius:50px;padding:8px 11px;box-shadow:0 12px 35px #0007,inset 0 2px 1px #ffffff26;z-index:50;backdrop-filter:blur(12px);max-width:calc(100vw - 20px)}.portal-dock a,.portal-dock button{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;min-height:42px;border-radius:40px;padding:9px 16px;background:#2a3b4b;border:1px solid #687563;border-bottom:3px solid #101e27;color:#fff8df;font:600 14px var(--display)}.portal-dock a.active,.portal-dock .dock-shop{background:linear-gradient(180deg,#ffdb52,#ffb719);border-color:#e5b63b;border-bottom-color:#a9741b;color:#543b10}.portal-dock .dock-collect{background:linear-gradient(180deg,#69c354,#3d8d2f);border-color:#7ebf61;border-bottom-color:#2b6126;color:white}.auth-layout{max-width:1120px;min-height:760px;margin:30px auto;border:2px solid #b18a3a;border-radius:27px;overflow:hidden;background:#17232f;box-shadow:0 20px 70px #0005}.auth-story{min-height:760px;background:#182b30;padding:38px}.auth-story:before{background:linear-gradient(180deg,#111d2ddd,#18273555 45%,#182b30fa),url('/art/hero-farm.jpg') center/cover}.auth-story .brand-mark{background:linear-gradient(135deg,#ffe000,#ff9d00)}.auth-story-content h1{color:#fff2cc;font-weight:600;font-size:52px}.auth-story-content p{color:#e4e7cb}.auth-main{background:#17232f;padding:36px}.auth-inner h2{color:#ffd263;font-weight:600}.auth-tabs{background:#263845;border:1px solid #53654b;border-radius:30px}.auth-tabs a{color:#d3dfc7;border-radius:25px;font-family:var(--display);font-size:14px}.auth-tabs a.active{background:linear-gradient(180deg,#ffdf68,#ffc438);color:#60430e;box-shadow:0 3px 7px #0002}.auth-back{color:#dbd9b1}.auth-form-footer{color:#c5d4bd}.auth-footer{color:#b8c9af}.password-field input{color:#fff3d3}#portal-toast{bottom:100px;background:#31482f;border:1px solid #c8a94d;color:#fff1c4}
@media(max-width:1000px){.topbar-right .user-mini>div{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout{margin:20px;grid-template-columns:1fr 1fr}.auth-story{padding:28px}.auth-story-content h1{font-size:43px}.auth-main{padding:28px}}
@media(max-width:820px){.app-shell{margin-top:12px;padding:0 14px}.page-main{padding:22px 0 10px}.topbar{padding:16px;gap:15px}.topbar-brand strong{font-size:21px}.topbar-right{gap:9px}.farm-guide{gap:13px;padding:13px 15px}.farm-guide>img{width:66px;height:66px}.farm-guide-copy strong{font-size:17px}.farm-guide-copy p{font-size:12px}.animal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout{display:block;margin:16px;min-height:0}.auth-story{min-height:250px;padding:24px}.auth-story-content{padding:32px 0 8px}.auth-story-content h1{font-size:34px}.auth-story-content p{margin-top:15px}.auth-main{padding:30px 24px}.auth-inner{max-width:520px}.portal-footer{padding-bottom:110px}}
@media(max-width:560px){.app-shell{padding:0 11px}.topbar{padding:14px;gap:15px;align-items:center}.topbar-left{min-width:0;width:100%;justify-content:space-between}.topbar-brand strong{font-size:21px}.topbar-right{width:100%;justify-content:space-between;flex-wrap:nowrap}.balance-mini{min-width:0;flex:1;padding:8px 14px;max-width:none}.balance-mini b{font-size:22px}.balance-mini small{max-width:none;font-size:9px}.topbar-right .avatar{width:39px;height:39px;font-size:23px}.farm-guide{align-items:flex-start;border-radius:21px;padding:12px}.farm-guide>img{width:53px;height:53px}.farm-guide-copy p{line-height:1.55}.farm-guide button{padding:5px 7px;font-size:10px;align-self:flex-start}.farm-guide button span{display:none}.page-heading h1{font-size:29px}.panel{padding:19px;border-radius:23px}.panel-head h2{font-size:23px}.stats-grid{gap:9px}.stat{padding:13px 10px;grid-template-columns:31px minmax(0,1fr);column-gap:8px}.stat-icon{width:31px;height:34px;border-radius:10px}.stat-label{font-size:8px;letter-spacing:0}.stat strong{font-size:20px;letter-spacing:-.3px}.stat small{font-size:8px}.animal-grid{grid-template-columns:1fr}.animal-art{aspect-ratio:1.55}.animal-content h3{font-size:25px}.portal-dock{bottom:12px;gap:5px;padding:7px;max-width:calc(100vw - 12px)}.portal-dock a,.portal-dock button{gap:5px;font-size:12px;padding:9px 11px;min-height:40px}.portal-dock svg{width:16px;height:16px}.portal-dock .dock-collect span{display:none}.portal-dock .dock-collect{padding-inline:13px}.sidebar{right:9px;top:9px;width:min(290px,calc(100vw - 18px));bottom:82px;max-height:calc(100dvh - 91px)}.portal-footer{font-size:9px;padding-bottom:105px}.hero-panel{min-height:235px}.hero-copy{padding:23px}.hero-copy h2{font-size:29px}.btn{font-size:13px}.auth-story-content h1{font-size:32px}.auth-layout{margin:11px;border-radius:24px}.auth-story{min-height:240px}.auth-main{padding:27px 21px}.auth-inner h2{font-size:31px}#portal-toast{bottom:88px;font-size:12px}}
