@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap";:root{color:#22231f;font-synthesis:none;--ink:#22231f;--muted:#74766d;--line:#dfddd3;--paper:#fbfaf6;--green:#33584b;--lime:#dfe9b6;--peach:#f5c9a9;--sky:#c5e1e2;--lilac:#ddd3e9;--butter:#eee4af;--rose:#f1cccd;background:#f5f2ea;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:#f5f2ea;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:0}button:disabled{opacity:.6;cursor:wait}.app-shell{min-height:100vh;display:flex}.sidebar{background:#ebe9df;border-right:1px solid #dedbd0;flex-direction:column;flex-shrink:0;width:245px;padding:29px 20px 22px;display:flex}.brand{letter-spacing:-.7px;align-items:center;gap:9px;margin:0 12px 57px;font-size:21px;font-weight:700;display:flex}.brand svg,.mobile-brand svg{color:#446b5a}.side-label,.eyebrow,.top-kicker{text-transform:uppercase;letter-spacing:1.1px;color:#929287;font-family:DM Mono,monospace;font-size:10px}.side-label{padding:0 12px 10px}.side-label.second{margin-top:34px}.nav-link{text-align:left;color:#77786f;background:0 0;border-radius:5px;align-items:center;gap:12px;width:100%;margin:2px 0;padding:12px;font-size:14px;display:flex}.nav-link:hover,.nav-link.active{color:#2c493f;background:#f7f5ed}.nav-link.active{font-weight:600;box-shadow:0 1px #ddd9ce}.nav-link b{color:#496047;background:#d7e2b5;border-radius:99px;margin-left:auto;padding:3px 7px;font-size:10px}.side-bottom{border-top:1px solid #d9d6cb;margin-top:auto;padding:18px 5px 0}.mini-profile{align-items:center;gap:9px;display:flex}.mini-profile strong,.mini-profile small{display:block}.mini-profile strong{font-size:12px}.mini-profile small{color:var(--muted);margin-top:3px;font-size:11px}.mini-profile>svg{color:#999;margin-left:auto}.avatar,.top-avatar,.profile-avatar{color:#355544;background:#c8d6bc;border-radius:50%;place-items:center;font-weight:700;display:grid}.avatar{width:31px;height:31px;font-size:13px}.logout-btn,.danger-link{color:#888;background:0 0;align-items:center;gap:8px;padding:13px 0 0;font-size:12px;display:flex}.main-content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:98px;padding:0 clamp(24px,5vw,74px);display:flex}.top-kicker{margin-bottom:8px;font-size:9px;display:block}.topbar h2{letter-spacing:-.5px;margin:0;font-size:20px;font-weight:600}.hello{color:#acb1a5;font-weight:400}.top-actions{align-items:center;gap:14px;display:flex}.icon-btn,.mobile-menu{border:1px solid var(--line);color:#676960;background:0 0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:relative}.notification i{background:#e29069;border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:6px}.top-avatar{width:35px;height:35px;font-size:12px}.mobile-menu{display:none}.page{max-width:1120px;margin:0 auto;padding:56px clamp(24px,5vw,74px) 80px}.hero-banner{background:var(--green);color:#f4f1e9;min-height:330px;padding:42px 48px;display:flex;position:relative;overflow:hidden}.hero-banner h1,.browse-intro h1,.create-heading h1,.rewards-head h1,.profile-head h1,.notice-head h1{letter-spacing:-1.6px;margin:10px 0 16px;font-family:Playfair Display,serif;font-size:48px;font-weight:600;line-height:.98}.hero-banner h1 em,.browse-intro h1 em,.create-heading h1 em,.rewards-head h1 em,.profile-head h1 em{color:#dce7b5}.hero-banner p{color:#c8d1c6;margin:0 0 24px;font-size:14px}.hero-banner p strong{color:#f3ebc0}.eyebrow.warm{color:#d2dda9}.primary-btn{color:#294336;background:#dfe9b6;border-radius:2px;align-items:center;gap:10px;padding:12px 18px;font-size:13px;font-weight:700;display:inline-flex}.primary-btn:hover{background:#edf3d3}.wide{justify-content:center;width:100%;height:48px}.hero-illustration{width:47%;height:100%;position:absolute;top:0;right:3%}.sun{opacity:.95;background:#d8e1af;border-radius:50%;width:200px;height:200px;position:absolute;top:48px;right:25%}.hero-ring{border:1px solid #ffffff40;border-radius:50%;width:280px;height:280px;position:absolute;top:12px;right:8%}.hero-card{color:#334237;background:#fbfaf4;flex-direction:column;gap:5px;width:130px;padding:15px 17px;display:flex;position:absolute;box-shadow:8px 10px #1f362d29}.hero-card svg{color:#e59b71}.hero-card strong{font-size:13px}.hero-card small{color:#888;font-size:10px}.card-one{top:77px;right:43%;transform:rotate(-7deg)}.card-two{top:173px;right:11%;transform:rotate(7deg)}.section-heading{justify-content:space-between;align-items:end;margin:53px 0 20px;display:flex}.section-heading h3{letter-spacing:-.6px;margin:7px 0 0;font-size:22px}.text-btn{color:#56705f;background:0 0;align-items:center;gap:8px;font-size:13px;display:flex}.item-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.item-card{border:1px solid #3c3e371a;flex-direction:column;min-height:350px;padding:19px;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.item-card:hover{transform:translateY(-3px);box-shadow:0 12px 22px #36352a14}.item-card.mint{background:#dfe9cf}.item-card.peach{background:var(--peach)}.item-card.sky{background:var(--sky)}.item-card.lilac{background:var(--lilac)}.item-card.butter{background:var(--butter)}.item-card.rose{background:var(--rose)}.item-top{justify-content:space-between;align-items:center;display:flex}.type-pill{text-transform:uppercase;letter-spacing:.8px;background:#ffffff8f;padding:5px 8px;font-family:DM Mono,monospace;font-size:9px}.type-pill.lost{background:#f8e2ce}.heart-btn{color:#566058;background:0 0;padding:2px}.item-glyph{color:#496655;background:#ffffff6b;place-items:center;width:65px;height:65px;margin:28px 0 18px;display:grid}.item-glyph svg{stroke-width:1.4px;width:28px;height:28px}.category-label{text-transform:uppercase;color:#617366;letter-spacing:.8px;font-family:DM Mono,monospace;font-size:9px}.item-copy h3{letter-spacing:-.5px;margin:7px 0 8px;font-family:Playfair Display,serif;font-size:23px}.item-copy p{color:#5b655c;margin:0;font-size:12px;line-height:1.45}.item-footer{color:#647067;border-top:1px solid #3c3e3726;justify-content:space-between;margin-top:auto;padding-top:12px;font-size:10px;display:flex}.item-footer span{align-items:center;gap:5px;display:flex}.claim-btn{text-align:left;color:#3d5b4b;background:0 0;border-top:1px solid #3c3e3726;justify-content:space-between;margin-top:13px;padding:13px 0 0;font-size:12px;font-weight:700;display:flex}.dashboard-lower{grid-template-columns:2fr 1fr;gap:16px;margin-top:17px;display:grid}.good-deed,.impact-card{border:1px solid var(--line);background:#f0eee5;align-items:center;gap:16px;padding:22px;display:flex}.deed-icon{color:#4c6545;background:#dce8b1;flex-shrink:0;place-items:center;width:43px;height:43px;display:grid}.good-deed h3{margin:5px 0;font-size:17px}.good-deed p,.impact-card p{color:#818277;margin:0;font-size:12px;line-height:1.4}.round-arrow{background:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;margin-left:auto;display:grid}.impact-card{display:block}.impact-card strong{margin-top:8px;font-family:Playfair Display,serif;font-size:38px;display:block}.impact-card p{display:inline}.progress{background:#deddd4;height:5px;margin-top:11px}.progress i{background:#79966f;height:100%;display:block}.browse-intro,.rewards-head{justify-content:space-between;align-items:end;margin-bottom:42px;display:flex}.browse-intro p,.rewards-head>div>p{color:#85877c;max-width:260px;margin:0 0 4px;font-size:13px;line-height:1.5}.search-row{gap:10px;display:flex}.search-field{border:1px solid var(--line);background:var(--paper);color:#92938b;flex:1;align-items:center;gap:11px;height:49px;padding:0 16px;display:flex}.search-field input{background:0 0;border:0;outline:0;width:100%;font-size:13px}.filter-btn{border:1px solid var(--line);background:var(--paper);align-items:center;gap:9px;height:49px;padding:0 15px;font-size:12px;display:flex}.category-row{flex-wrap:wrap;gap:8px;margin:20px 0 30px;display:flex}.category-row button{border:1px solid var(--line);color:#85867d;background:0 0;padding:8px 13px;font-size:11px}.category-row button.selected{color:#f5f2ea;background:#33584b;border-color:#33584b}.results-meta{color:#8a8c82;justify-content:space-between;margin-bottom:14px;font-size:11px;display:flex}.results-meta strong{color:#2f4d40}.live-dot{align-items:center;gap:7px;display:flex}.live-dot i{background:#7aa064;border-radius:50%;width:6px;height:6px;display:block}.browse-grid{grid-template-columns:repeat(3,1fr)}.empty-state{text-align:center;color:#87887f;padding:70px}.empty-state h3{margin:15px 0 5px}.empty-state p{font-size:13px}.narrow-page{max-width:800px}.create-heading{text-align:center;margin-bottom:34px}.create-heading p{color:#85877c;font-size:13px}.stepper{border-bottom:1px solid var(--line);color:#9a9b91;gap:25px;margin-bottom:28px;padding-bottom:14px;font-size:12px;display:flex}.stepper div{align-items:center;gap:8px;display:flex}.stepper span{border:1px solid #c7c7bc;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.stepper .on{color:#365444}.stepper .on span{color:#fff;background:#365444;border-color:#365444}.post-form{background:var(--paper);border:1px solid var(--line);flex-direction:column;gap:22px;padding:31px;display:flex}.post-form label,.profile-form label{color:#676961;flex-direction:column;gap:8px;font-size:12px;display:flex}.post-form input,.post-form textarea,.post-form select,.profile-form input{background:#fff;border:1px solid #d9d8cf;outline-color:#7e9b79;padding:13px;font-size:13px}.post-form textarea{resize:vertical}.segmented{background:#efede5;grid-template-columns:1fr 1fr;gap:5px;padding:5px;display:grid}.segmented button{color:#85877f;background:0 0;padding:12px;font-size:12px}.segmented button.chosen{color:#33584b;background:#fff;font-weight:600;box-shadow:0 1px 3px #d8d6cd}.form-actions{gap:10px;display:flex}.back-btn{color:#777;background:0 0;padding:0 12px}.privacy-note{text-align:center;color:#96978e;justify-content:center;align-items:center;gap:6px;font-size:11px;display:flex}.rewards-head{background:#dbe6b7;margin-bottom:18px;padding:40px 45px}.rewards-head h1{margin-bottom:12px}.points-orbit{text-align:center;border:1px solid #33584b47;border-radius:50%;place-items:center;width:165px;height:165px;display:grid;position:relative}.points-orbit:before{content:"";border:1px solid #33584b47;border-radius:50%;width:120px;height:120px;position:absolute}.points-orbit span,.points-orbit small{color:#63745b;font-family:DM Mono,monospace;font-size:8px;display:block}.points-orbit strong{font-family:Playfair Display,serif;font-size:42px;line-height:1;display:block}.reward-stats{background:var(--paper);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding:21px;display:grid}.reward-stats>div{border-right:1px solid var(--line);grid-template-columns:27px 1fr;column-gap:10px;padding:0 20px;display:grid}.reward-stats>div:last-child{border:0}.reward-stats svg{color:#70926b;grid-row:span 2}.reward-stats strong{font-family:Playfair Display,serif;font-size:22px}.reward-stats span{color:#888a80;font-size:10px}.badges{grid-template-columns:1fr 1fr;gap:12px;display:grid}.badge-card{background:var(--paper);border:1px solid var(--line);gap:14px;padding:18px;display:flex}.badge-icon{color:#abb0a3;background:#ecebe1;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.badge-card.done .badge-icon{color:#53714e;background:#dbe6b7}.badge-card h3{align-items:center;gap:7px;margin:2px 0 5px;font-size:14px;display:flex}.badge-card p{color:#898a82;margin:0;font-size:11px}.profile-head{background:#e7e4da;align-items:center;gap:18px;margin-bottom:19px;padding:30px;display:flex}.profile-avatar{width:74px;height:74px;font-size:28px}.profile-head h1{margin:7px 0;font-size:37px}.profile-head p{color:#88897f;margin:0;font-size:13px}.profile-form{background:var(--paper);border:1px solid var(--line);flex-direction:column;gap:20px;padding:28px;display:flex}.notice-head{justify-content:space-between;align-items:end;margin-bottom:30px;display:flex}.notice-head h1{margin-bottom:0}.notice-list{background:var(--paper);border:1px solid var(--line)}.notice{border-bottom:1px solid var(--line);align-items:start;gap:16px;padding:21px;display:flex}.notice:last-child{border-bottom:0}.notice-icon{color:#61805e;background:#e1e8c5;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.notice h3{margin:0 0 5px;font-size:14px}.notice p{color:#7e8078;margin:0 0 7px;font-size:12px}.notice small{color:#aaa99f;font-size:10px}.notice>button{color:#aaa;background:0 0;margin-left:auto}.toast{color:#fff;z-index:10;background:#294b3d;align-items:center;gap:9px;padding:14px 17px;font-size:12px;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 8px 25px #24382e38}.auth-page{background:#f5f2ea;grid-template-columns:1.08fr .92fr;min-height:100vh;display:grid}.auth-art{color:#f5f2ea;background:#33584b;padding:38px 8vw;position:relative;overflow:hidden}.mobile-brand{display:none}.art-copy{z-index:1;margin-top:20vh;position:relative}.art-copy h1{letter-spacing:-4px;margin:18px 0 27px;font-family:Playfair Display,serif;font-size:clamp(55px,7vw,94px);font-weight:600;line-height:.91}.art-copy h1 em{color:#dfe9b6}.art-copy p{color:#c4d0c3;max-width:280px;font-size:15px;line-height:1.5}.art-stamp{border:1px solid #78947e;align-items:center;gap:8px;padding:10px 13px;font-family:DM Mono,monospace;font-size:10px;display:flex;position:absolute;bottom:43px;left:8vw}.auth-art:after{content:"";border:1px solid #6c8b75;border-radius:50%;width:570px;height:570px;position:absolute;bottom:-160px;right:-230px}.auth-panel{flex-direction:column;justify-content:center;padding:10vw;display:flex}.auth-intro h2{letter-spacing:-1px;margin:13px 0 6px;font-family:Playfair Display,serif;font-size:42px}.auth-intro p{color:#8a8b82;margin:0 0 34px;font-size:14px}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-form label{color:#707169;flex-direction:column;gap:8px;font-size:11px;display:flex}.auth-form input{background:0 0;border:0;border-bottom:1px solid #cccac0;outline:0;padding:11px 0;font-size:14px}.auth-form input:focus{border-color:#52725c}.switch-auth{color:#587460;text-align:left;background:0 0;margin-top:22px;font-size:12px}.auth-note{color:#999a91;align-items:center;gap:7px;margin-top:65px;font-size:11px;display:flex}.form-error{color:#b66053;margin:0;font-size:12px}.mobile-menu-page{display:none}@media (width<=900px){.sidebar{width:205px}.hero-banner{padding-left:30px}.hero-illustration{opacity:.65;right:-10%}.page{padding-left:30px;padding-right:30px}}@media (width<=700px){.app-shell{display:block}.sidebar{display:none}.topbar{height:80px;padding:0 20px}.mobile-menu{margin-right:12px;display:grid}.topbar>div:first-of-type{margin-right:auto}.top-kicker{font-size:8px}.topbar h2{font-size:17px}.top-actions .icon-btn:first-child{display:none}.page{padding:32px 20px 60px}.hero-banner{min-height:450px;padding:29px 25px}.hero-banner h1,.browse-intro h1,.create-heading h1,.rewards-head h1{font-size:43px}.hero-illustration{opacity:.7;width:100%;top:130px;right:-30%}.section-heading{margin-top:38px}.item-grid,.browse-grid,.dashboard-lower,.badges,.reward-stats{grid-template-columns:1fr}.good-deed,.impact-card{padding:18px}.browse-intro,.rewards-head{margin-bottom:28px;padding:0;display:block}.browse-intro p,.rewards-head>div>p{margin-top:18px}.rewards-head{padding:27px 24px}.points-orbit{margin:28px auto 0}.reward-stats{gap:18px}.reward-stats>div{border:0;border-bottom:1px solid var(--line);padding:0 0 15px}.reward-stats>div:last-child{border:0;padding-bottom:0}.search-row{display:block}.filter-btn{justify-content:center;width:100%;margin-top:9px}.post-form{padding:21px}.profile-head{text-align:center;padding:25px;display:block}.profile-avatar{margin:0 auto 15px}.notice-head{align-items:start;display:block}.notice-head .text-btn{margin-top:15px}.auth-page{display:block}.auth-art{height:39vh;padding:24px 25px}.auth-art .brand{margin:0}.art-copy{margin-top:45px}.art-copy h1{letter-spacing:-2px;margin:13px 0;font-size:51px}.art-copy p{display:none}.art-stamp{bottom:23px;left:25px}.auth-panel{min-height:61vh;padding:42px 25px}.mobile-brand{align-items:center;gap:8px;margin-bottom:45px;font-size:20px;font-weight:700;display:flex}.auth-panel .auth-intro h2{font-size:35px}.auth-note{margin-top:40px}.mobile-menu-page{padding:26px 20px;display:block}.mobile-menu-card{background:var(--paper);border:1px solid var(--line);padding:25px}.mobile-menu-card button{border-bottom:1px solid var(--line);text-transform:capitalize;background:0 0;align-items:center;gap:13px;width:100%;padding:17px 0;display:flex}.mobile-menu-card button:last-child{border:0}.mobile-menu-card .eyebrow{margin-bottom:9px;display:block}}.feature-title{letter-spacing:-1.5px;margin:10px 0 35px;font-family:Playfair Display,serif;font-size:50px;line-height:.98}.feature-title em{color:#8ba378}.feature-list{background:var(--paper);border:1px solid var(--line);flex-direction:column;display:flex}.feature-list.compact{margin:0}.feature-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:20px 23px;display:flex}.feature-row:last-child{border-bottom:0}.feature-row h3{margin:8px 0 6px;font-size:15px}.feature-row p{color:#7d8077;margin:0 0 7px;font-size:12px}.feature-row small{color:#9a9b91;text-transform:capitalize;font-size:10px}.muted{color:#9b9d94;font-weight:400}.row-actions{flex-shrink:0;align-items:center;gap:7px;display:flex}.small-btn{color:#3c5b48;white-space:nowrap;background:#e0e8c2;align-items:center;gap:6px;padding:9px 11px;font-size:11px;display:flex}.small-btn.danger{color:#854e42;background:#f3d7ca}.feature-list .empty-state{padding:50px}.modal-backdrop{z-index:20;background:#1d342e80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.chat-panel{background:var(--paper);flex-direction:column;width:min(540px,100%);height:min(650px,90vh);display:flex;box-shadow:0 20px 50px #192f2840}.chat-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.chat-head h3{margin:8px 0 0}.messages{flex:1;padding:18px;overflow:auto}.message{background:#e4ebc9;max-width:85%;margin:0 0 10px;padding:11px 13px}.message strong{font-size:11px}.message p{margin:5px 0 0;font-size:13px}.message-form{border-top:1px solid var(--line);gap:8px;padding:14px;display:flex}.message-form input{border:1px solid var(--line);background:#fff;outline:0;flex:1;padding:12px}.message-form .primary-btn{padding:0 15px}.feature-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.feature-columns .section-heading{margin:0 0 15px}.points-plus{color:#68885f}.rank{color:#56735b;background:#e6e7d9;border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;display:grid}.admin-tabs{border-bottom:1px solid var(--line);gap:7px;margin-bottom:20px;display:flex}.admin-tabs button{text-transform:capitalize;color:#898b81;background:0 0;padding:11px 14px;font-size:11px}.admin-tabs button.selected{color:#325642;border-bottom:2px solid #56765b;font-weight:700}.admin-stats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-card{background:var(--paper);border:1px solid var(--line);grid-template-columns:25px 1fr;gap:5px 8px;padding:20px;display:grid}.stat-card svg{color:#75956c;grid-row:span 2}.stat-card span{color:#888a80;font-size:10px}.stat-card strong{font-family:Playfair Display,serif;font-size:25px}.type-pill.pending{background:#f3dfbb}.type-pill.approved{background:#d5e7c3}.type-pill.rejected{background:#f1d0c8}@media (width<=700px){.feature-title{font-size:43px}.feature-row{display:block}.row-actions{flex-wrap:wrap;margin-top:15px}.feature-columns{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr 1fr}.stat-card{padding:15px}.chat-panel{height:85vh}}.app-enter{animation:.65s cubic-bezier(.22,1,.36,1) both app-enter}.app-enter .sidebar{animation:.55s cubic-bezier(.22,1,.36,1) both slide-in-left}.app-enter .topbar{animation:.55s cubic-bezier(.22,1,.36,1) 50ms both drop-in}.app-enter .page{animation:.7s cubic-bezier(.22,1,.36,1) .12s both home-rise}@keyframes app-enter{0%{opacity:0}to{opacity:1}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes home-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.app-enter,.app-enter .sidebar,.app-enter .topbar,.app-enter .page{animation:none}}
