@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/034d78ad42e9620c-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fe0777f1195381cb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eafabf029ad39a43-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/db911767852bc875-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f10b8e9d91f3edcb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8888a3826f4a3af4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/29e7bbdce9332268-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c3bc380753a8436c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0484562807a97172-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/29a4aea02fdee119-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a1386beebedccca4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b957ea75a84b6ea7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/28485c0de2075f40-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/5fb25f343c7550ca-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Poppins_d5a796;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/7db6c35d839a711c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Poppins_Fallback_d5a796;src:local("Arial");ascent-override:92.33%;descent-override:30.78%;line-gap-override:8.79%;size-adjust:113.73%}.__className_d5a796{font-family:__Poppins_d5a796,__Poppins_Fallback_d5a796;font-style:normal}.__variable_d5a796{--font-poppins:"__Poppins_d5a796","__Poppins_Fallback_d5a796"}:root{--bg:#f6faf4;--bg-soft:#edf7e7;--surface:hsla(0,0%,100%,.92);--surface-strong:#fff;--text:#17311f;--muted:#5d7264;--line:rgba(22,66,34,.12);--green:#72bf44;--green-dark:#4b9f2e;--green-soft:rgba(114,191,68,.12);--shadow:0 18px 42px rgba(32,72,24,.08);--shadow-soft:0 10px 24px rgba(32,72,24,.06);--danger:#d44d4d;--danger-soft:rgba(212,77,77,.1);--radius-lg:24px;--radius-md:18px;--radius-sm:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(circle at top left,rgba(114,191,68,.14),transparent 26%),radial-gradient(circle at top right,rgba(114,191,68,.1),transparent 22%),linear-gradient(180deg,#f8fcf6,#f2f7ef);font-family:var(--font-poppins),sans-serif}a{color:var(--green-dark)}main{max-width:1280px;margin:0 auto;padding:32px 20px 56px}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;border:1px solid rgba(23,49,31,.12);border-radius:14px;background:#fff;padding:12px 14px;color:var(--text);outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}input:focus,select:focus,textarea:focus{border-color:rgba(114,191,68,.7);box-shadow:0 0 0 4px rgba(114,191,68,.14)}textarea{min-height:110px;resize:vertical}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;padding:14px 18px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,rgba(114,191,68,.96),rgba(95,176,55,.96));border-bottom:1px solid hsla(0,0%,100%,.14);box-shadow:0 12px 34px rgba(69,129,40,.16)}.header-container{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:18px;justify-content:space-between;flex-wrap:wrap}.brand{gap:14px;text-decoration:none;color:#fff;min-width:0}.brand,.brand-logo{display:inline-flex;align-items:center}.brand-logo{justify-content:center;width:58px;height:58px;border-radius:18px;background:hsla(0,0%,100%,.14);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18);overflow:hidden;flex-shrink:0}.brand-logo img{object-fit:contain}.brand-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.brand-title{font-size:1.05rem;font-weight:800;line-height:1.1;letter-spacing:-.01em}.brand-subtitle{font-size:.82rem;opacity:.9;line-height:1.2}.site-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.site-nav a{color:#fff;text-decoration:none;padding:10px 14px;border-radius:999px;font-weight:700;font-size:.95rem;transition:background .2s ease,transform .2s ease}.site-nav a:hover{background:hsla(0,0%,100%,.12)}.site-nav a.active-link{background:hsla(0,0%,100%,.18);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.18)}.header-actions{margin-left:auto}.auth-panel,.header-actions{display:flex;align-items:center}.auth-panel{gap:12px;flex-wrap:wrap;justify-content:flex-end}.auth-user{text-align:right;color:#fff;line-height:1.35;font-size:.9rem}.auth-user--link{display:block;text-decoration:none;color:inherit;cursor:pointer;padding:6px 10px;margin:-6px -10px;border-radius:8px;transition:background-color .15s ease,transform .15s ease}.auth-user--link:hover{background-color:hsla(0,0%,100%,.18);transform:translateY(-1px)}.auth-user--link:focus-visible{outline:2px solid hsla(0,0%,100%,.6);outline-offset:2px}.hdr-panel__user--link{text-decoration:none;color:inherit;cursor:pointer;transition:background-color .15s ease;border-radius:10px}.hdr-panel__user--link:focus-visible,.hdr-panel__user--link:hover{background-color:var(--bg-soft);outline:none}.hdr-panel__user-hint{display:block;margin-top:4px;font-size:.78rem;font-weight:600;color:var(--green-dark)}.telegram-login-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.telegram-login-widget{min-height:36px;display:flex;align-items:center;justify-content:flex-end}.telegram-login-widget iframe{display:block}.telegram-login-wrap--fallback .telegram-login-widget{display:none}.telegram-login-fallback{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#54a9eb;color:#fff;border-radius:10px;font-weight:700;font-size:14px;line-height:1.2;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;box-shadow:0 6px 14px rgba(20,70,110,.18);transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.telegram-login-fallback:hover{background:#4099da;transform:translateY(-1px);box-shadow:0 8px 18px rgba(20,70,110,.22)}.telegram-login-fallback:active{transform:translateY(0)}.telegram-login-fallback:focus-visible{outline:2px solid #fff;outline-offset:2px}.telegram-login-fallback svg{flex-shrink:0}.auth-error{margin:0;font-size:.8rem;color:#fff;opacity:.95}.auth-pending{margin:0;padding:8px 14px;background:hsla(0,0%,100%,.18);color:#fff;border-radius:10px;font-weight:700;font-size:14px;line-height:1.2;white-space:nowrap}.logout-button{border:0;border-radius:14px;padding:11px 16px;font-weight:800;cursor:pointer;background:#fff;color:#183220;box-shadow:0 8px 20px rgba(21,39,15,.12);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.logout-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(21,39,15,.14)}.logout-button:disabled{opacity:.75;cursor:not-allowed;transform:none}.hdr-burger__bar{height:2px}.hdr-burger--open .hdr-burger__bar:first-child{transform:translateY(7px) rotate(45deg)}.hdr-panel{overflow-y:auto;max-height:calc(100vh - 70px)}.hdr-panel__user{margin-top:1px}.hdr-panel__login .telegram-login-wrap{align-items:stretch}.hdr-panel__login .telegram-login-widget{min-height:0;justify-content:flex-start}.hdr-panel__login .telegram-login-fallback{width:100%;justify-content:center;padding:13px 16px;font-size:15px;border-radius:var(--radius-sm)}@media (max-width:768px){.site-header{position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:80;padding:10px 14px}.header-container{flex-wrap:nowrap;align-items:center;gap:10px}.header-actions,.site-nav{display:none!important}.brand{flex:1 1 auto;min-width:0;width:auto}.brand-logo{width:52px;height:52px;border-radius:16px}.brand-title{font-size:.98rem}.brand-subtitle{font-size:.76rem}.hdr-burger{display:flex}.hdr-backdrop,.hdr-panel{display:block}}@media (max-width:520px){.brand-title{font-size:.92rem}.brand-subtitle{font-size:.72rem}}.page-shell{display:flex;flex-direction:column;gap:24px}.page-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:28px;border-radius:var(--radius-lg);background:linear-gradient(180deg,hsla(0,0%,100%,.96),rgba(246,252,243,.96));border:1px solid rgba(114,191,68,.16);box-shadow:var(--shadow);overflow:hidden}.page-hero>*{min-width:0}.page-hero>:first-child{flex:1 1 auto;min-width:0}.page-hero h2{margin:6px 0 10px;font-size:clamp(2rem,3vw,2.8rem);line-height:1.05;letter-spacing:-.03em}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero-copy{max-width:720px;margin:0;font-size:1rem;line-height:1.65;color:var(--muted)}.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));grid-gap:14px;gap:14px;min-width:340px;flex:0 0 420px;max-width:420px}.metric-card{padding:18px;border-radius:20px;background:var(--surface-strong);border:1px solid rgba(114,191,68,.14);box-shadow:var(--shadow-soft)}.metric-card strong{display:block;margin-top:8px;font-size:1.65rem;line-height:1;letter-spacing:-.03em}.metric-label{display:block;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.panel-card,.self-card,.table-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.compact-card,.panel-card{padding:22px}.self-card{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.self-card-enhanced{padding:20px 22px;background:linear-gradient(180deg,hsla(0,0%,100%,.96),hsla(93,43%,96%,.96));border:1px solid rgba(114,191,68,.14)}.self-card-content{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1 1}.self-card-kicker{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.self-card-userline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;line-height:1.3}.self-card-userline strong{font-size:1.15rem;letter-spacing:-.02em}.self-card-segment{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:.76rem;font-weight:800;letter-spacing:.05em}.self-card-description{margin:0;color:var(--muted);line-height:1.55}.self-card-stats{display:flex;flex-wrap:wrap;gap:10px}.self-card-stat{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:hsla(0,0%,100%,.88);border:1px solid rgba(114,191,68,.12);box-shadow:0 8px 18px rgba(32,72,24,.05)}.self-card-stat-label{color:var(--muted);font-size:.82rem;font-weight:700}.self-card-stat strong{font-size:1rem;letter-spacing:-.02em}.self-card-link{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:12px 16px;border-radius:14px;background:rgba(114,191,68,.1);color:var(--green-dark);font-weight:800;text-decoration:none;border:none;cursor:pointer;transition:background .2s ease,transform .2s ease}.self-card-link:hover{background:rgba(114,191,68,.16);transform:translateY(-1px)}.self-card a{text-decoration:none;font-weight:800}.section-stack{display:flex;flex-direction:column;gap:24px}.section-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}.person-card h4,.project-card h4,.section-heading h3,.table-headline h3{margin:0;font-size:1.2rem;letter-spacing:-.02em}.back-link,.inline-note,.person-card p,.project-card p,.section-heading p,.table-headline p{margin:6px 0 0;color:var(--muted);line-height:1.55}.table-card{overflow:hidden}.table-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:20px 22px 0}.activity-stack,.projects-stack{display:flex;flex-direction:column;gap:18px}.activity-item,.person-card,.project-card{border-radius:20px;background:hsla(0,0%,100%,.78);border:1px solid rgba(23,49,31,.08);box-shadow:var(--shadow-soft)}.person-card,.project-card{padding:20px}.activity-item{padding:16px}.person-card-top,.project-card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.divider{height:1px;background:rgba(23,49,31,.08);margin:22px 0}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}@media (max-width:1100px){.page-hero{flex-direction:column;align-items:stretch}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid{min-width:0;width:100%;max-width:none;flex:none;grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){main{padding:22px 12px 38px}.metrics-grid{grid-template-columns:1fr}.page-hero,.panel-card,.self-card{padding-left:16px;padding-right:16px}.self-card{align-items:flex-start}}@media (max-width:520px){.page-hero h2{font-size:1.8rem}.metric-card strong{font-size:1.3rem}}.leaderboard-table-wrap{overflow-x:auto;padding:18px 18px 20px}.leaderboard-desktop-table{display:block}.leaderboard-mobile-list{display:none;padding:0 18px 20px;flex-direction:column;gap:12px}.leaderboard-mobile-card{border-radius:18px;border:1px solid rgba(23,49,31,.08);background:hsla(0,0%,100%,.82);box-shadow:var(--shadow-soft);padding:16px}.leaderboard-mobile-card-current{border-color:rgba(114,191,68,.28);background:rgba(114,191,68,.08)}.leaderboard-mobile-top{display:flex;align-items:flex-start;gap:12px}.leaderboard-mobile-name-wrap{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1}.leaderboard-mobile-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700;line-height:1.4}.leaderboard-mobile-role{color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.04em}.leaderboard-mobile-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px}.leaderboard-mobile-meta-item{border-radius:14px;background:#f5f9f2;border:1px solid rgba(114,191,68,.08);padding:12px 14px}.leaderboard-mobile-meta-item span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:4px}.leaderboard-mobile-meta-item strong{display:block;font-size:1rem;line-height:1.2}.leaderboard-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}.leaderboard-table td,.leaderboard-table th{padding:15px 16px;text-align:left;border-bottom:1px solid rgba(23,49,31,.08);vertical-align:middle}.leaderboard-table th{background:#f2f8ee;font-size:.84rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.leaderboard-table th:first-child{border-top-left-radius:16px}.leaderboard-table th:last-child{border-top-right-radius:16px}.leaderboard-table tbody tr{background:hsla(0,0%,100%,.72);transition:background .2s ease}.leaderboard-table tbody tr:hover{background:rgba(114,191,68,.08)}.leaderboard-table tbody tr:last-child td{border-bottom:0}.name-cell{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rank-pill{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:34px;padding:0 12px;border-radius:999px;background:#eef5eb;color:var(--text);font-weight:800}.rank-pill-gold{background:rgba(231,194,68,.18)}.rank-pill-silver{background:rgba(152,164,176,.18)}.rank-pill-bronze{background:rgba(181,117,68,.18)}.current-user-row{background:rgba(114,191,68,.1)!important}.current-user-row td:first-child{box-shadow:inset 4px 0 0 var(--green)}.current-user-row td{font-weight:700}.you-badge{padding:4px 10px;background:var(--green);color:#fff;font-size:.76rem}.status-badge,.you-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:800}.status-badge{min-height:32px;padding:4px 12px;font-size:.8rem}.status-badge-active{background:rgba(114,191,68,.14);color:var(--green-dark)}.status-badge-inactive{background:hsla(134,5%,48%,.14);color:#68766d}.lb-range-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:.82rem;font-weight:800;white-space:nowrap;flex-shrink:0}.lb-range-of{font-weight:500;opacity:.75}.lb-pagination{gap:6px;padding:18px 20px 22px;border-top:1px solid var(--line)}.lb-page-numbers,.lb-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.lb-page-numbers{gap:4px}.lb-page-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-strong);color:var(--text);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;font-family:inherit}.lb-page-btn:hover:not(:disabled){background:var(--green-soft);border-color:rgba(114,191,68,.35);color:var(--green-dark);transform:translateY(-1px)}.lb-page-btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.lb-page-btn--active{border-color:transparent;box-shadow:0 4px 12px rgba(75,159,46,.28)}.lb-page-btn--active,.lb-page-btn--active:hover:not(:disabled){background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff}.lb-page-btn--active:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px rgba(75,159,46,.34)}.lb-page-btn--nav{padding:0 14px;gap:5px;font-size:.85rem}.lb-page-ellipsis{display:inline-flex;align-items:center;justify-content:center;width:28px;color:var(--muted);font-size:.875rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}tr#me{scroll-margin-top:140px}.scroll-top-button{position:fixed;right:16px;bottom:18px;width:52px;height:52px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;box-shadow:0 14px 32px rgba(75,159,46,.28);cursor:pointer;z-index:60;opacity:0;visibility:hidden;transform:translateY(16px) scale(.96);pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s ease,box-shadow .22s ease}.scroll-top-button-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.scroll-top-button:hover{box-shadow:0 18px 36px rgba(75,159,46,.34)}.scroll-top-button:active{transform:translateY(1px) scale(.98)}.scroll-top-button-icon{font-size:1.2rem;font-weight:900;line-height:1}@media (min-width:769px){.scroll-top-button{display:none}}@media (max-width:768px){.leaderboard-desktop-table{display:none}.leaderboard-mobile-list{display:flex}.leaderboard-mobile-list,.leaderboard-table-wrap{padding-left:16px;padding-right:16px}.scroll-top-button{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:50px;height:50px}}@media (max-width:520px){.leaderboard-mobile-meta{grid-template-columns:1fr}.leaderboard-mobile-card{padding:14px}.rank-pill{min-width:38px;height:32px;padding:0 10px;font-size:.9rem}.you-badge{font-size:.72rem;padding:4px 9px}.lb-pagination{gap:4px;padding:14px 12px 18px}.lb-page-btn{min-width:32px;height:32px;padding:0 8px;font-size:.82rem;border-radius:8px}.lb-page-btn--nav{padding:0 10px}.lb-range-badge{font-size:.76rem;padding:5px 10px}}.leaderboard-table tr.lb-row--clickable{cursor:pointer;transition:background-color .15s ease}.leaderboard-table tr.lb-row--clickable:hover{background-color:var(--green-soft)}.leaderboard-table tr.lb-row--clickable:focus-within{background-color:var(--green-soft);outline:2px solid var(--green);outline-offset:-2px}.lb-name-link{color:inherit;text-decoration:none;font-weight:inherit}.lb-name-link:hover{color:var(--green-dark);text-decoration:underline}.leaderboard-mobile-card--clickable{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.leaderboard-mobile-card--clickable:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.lb-locked-card{text-align:center;padding:36px 24px}.lb-locked-card .section-heading{justify-content:center}.lb-locked-card h3{margin-bottom:6px}.button{border:0;border-radius:14px;background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;padding:12px 16px;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(75,159,46,.2);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.72;cursor:not-allowed;transform:none;box-shadow:none}.button-secondary{background:#eef6ea;color:var(--green-dark);box-shadow:none}.button-danger{background:var(--danger-soft);color:var(--danger);box-shadow:none}.field{display:flex;flex-direction:column;gap:8px}.field span{font-size:.86rem;font-weight:800;color:var(--muted)}.field-full{grid-column:1/-1}.switch-field{justify-content:space-between}.switch-field input[type=checkbox]{width:22px;height:22px;align-self:flex-start;margin-top:4px;accent-color:var(--green)}.inline-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.flash{padding:14px 18px;border-radius:16px;font-weight:700;border:1px solid transparent}.flash-success{background:rgba(114,191,68,.12);color:var(--green-dark);border-color:rgba(114,191,68,.18)}.flash-error{background:rgba(212,77,77,.1);color:#a23333;border-color:rgba(212,77,77,.2)}.admin-grid,.shop-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px}.activity-grid,.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.admin-tabs{display:flex;flex-wrap:wrap;gap:12px}.admin-tab{border:0;border-radius:14px;padding:12px 16px;background:#eef6ea;color:var(--green-dark);font-weight:800;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease}.admin-tab:hover{transform:translateY(-1px)}.admin-tab-active{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;box-shadow:0 10px 22px rgba(75,159,46,.2)}.admin-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:10px}.admin-toolbar-users{grid-template-columns:repeat(4,minmax(0,1fr))}.owner-select-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:12px;gap:12px}.owner-select-meta{display:block;margin-top:8px;color:var(--muted);font-size:.78rem;line-height:1.4}.project-selector-summary{margin:10px 0 0;color:var(--muted);line-height:1.5}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;border-radius:20px;border:1px dashed rgba(114,191,68,.28);background:rgba(114,191,68,.06)}.empty-state strong{font-size:1rem}.empty-state p{line-height:1.55}.clean-list,.empty-state p{margin:0;color:var(--muted)}.clean-list{padding-left:18px;line-height:1.7}.back-link a{font-weight:700;text-decoration:none}.coming-soon{text-align:center}.spinner{width:48px;height:48px;border:4px solid #e7efe2;border-top:4px solid var(--green);border-radius:50%;margin:0 auto 20px;animation:spin 1s linear infinite}@media (max-width:1100px){.admin-grid,.shop-preview-grid{grid-template-columns:1fr}.admin-toolbar-users,.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.activity-grid,.admin-form-grid,.admin-toolbar,.admin-toolbar-users,.metrics-grid,.owner-select-grid,.people-grid{grid-template-columns:1fr}.admin-tabs{flex-direction:column}.admin-tab{width:100%}.compact-card,.panel-card,.table-headline{padding-left:16px;padding-right:16px}}.shop-page{display:flex;flex-direction:column;gap:28px}.shop-hero{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:28px 32px;background:var(--surface-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid var(--line)}.shop-hero-title{font-size:2rem;font-weight:800;margin:0 0 4px;color:var(--text)}.shop-hero-sub{margin:0;color:var(--muted);font-size:.95rem}.shop-balance{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.shop-balance-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.shop-balance-pts{font-size:1.75rem;font-weight:800;color:var(--green-dark);line-height:1}.shop-balance-name{font-size:.8rem;color:var(--muted)}.shop-tabs{border-bottom:1px solid var(--line);padding-bottom:0}.shop-subtabs{margin-bottom:0}.shop-error{background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-sm)}.shop-error,.shop-success{padding:12px 18px;font-size:.9rem}.shop-success{background:var(--green-soft);border:1px solid var(--green);color:var(--green-dark);border-radius:var(--radius-sm);font-weight:500}.shop-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:var(--muted)}.rewards-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}@media (max-width:900px){.rewards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.rewards-grid{grid-template-columns:1fr}}.reward-card{background:var(--surface-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,transform .18s}.reward-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.reward-card-oos{opacity:.7}.reward-oos-badge{position:absolute;top:10px;right:10px;background:var(--danger);color:#fff;font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.reward-body{display:flex;flex-direction:column;gap:10px;padding:16px 18px 18px;flex:1 1}.reward-title{margin:0;font-size:1rem;font-weight:700;color:var(--text);line-height:1.3}.reward-desc{margin:0;font-size:.85rem;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.reward-meta{display:flex;align-items:center;gap:10px}.reward-price{font-size:1.1rem;font-weight:800;color:var(--green-dark)}.reward-stock{font-size:.8rem;color:var(--muted);background:var(--bg-soft);padding:2px 8px;border-radius:999px}.reward-sizes{display:flex;flex-wrap:wrap;gap:6px}.size-btn{border:1.5px solid var(--line);background:var(--surface-strong);color:var(--text);font-size:.8rem;font-weight:600;padding:4px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.size-btn-active,.size-btn:hover{border-color:var(--green)}.size-btn-active{background:var(--green);color:#fff}.reward-buy-btn{margin-top:auto;width:100%;justify-content:center}.reward-buy-btn:disabled{opacity:.55;cursor:not-allowed}.shop-history{margin-top:0}.table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--line)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{background:var(--bg-soft);font-weight:600;text-align:left;padding:10px 14px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.data-table td{padding:10px 14px;border-top:1px solid var(--line);color:var(--text);vertical-align:middle}.data-table tr:hover td{background:var(--bg-soft)}.redemption-reward{display:flex;align-items:center;gap:8px}.redemption-thumb{object-fit:cover}.redemption-thumb,.redemption-thumb-ph{width:32px;height:32px;border-radius:8px;flex-shrink:0}.redemption-thumb-ph{background:var(--bg-soft);display:flex;align-items:center;justify-content:center;font-size:1.1rem}.status-badge-pending{background:rgba(255,170,0,.14);color:#9a6800}.status-badge-completed{background:var(--green-soft);color:var(--green-dark)}.status-badge-cancelled{background:var(--danger-soft);color:var(--danger)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:.7rem;font-weight:700;margin-left:6px;line-height:1}.field-hint{font-size:.78rem;color:var(--muted);font-weight:400}.rewards-admin-list{display:flex;flex-direction:column;gap:10px}.reward-admin-card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 18px;background:var(--surface-strong);transition:border-color .15s}.reward-admin-card-inactive{opacity:.6}.reward-admin-header{justify-content:space-between;flex-wrap:wrap}.reward-admin-header,.reward-admin-info{display:flex;align-items:flex-start;gap:12px}.reward-admin-thumb{width:52px;height:52px;border-radius:10px;object-fit:cover;flex-shrink:0}.reward-code-badge{display:inline-block;margin-left:8px;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--bg-soft);color:var(--muted)}.reward-admin-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:.8rem;color:var(--muted)}.reward-admin-meta span:after{content:"·";margin-left:8px}.reward-admin-meta span:last-child:after{content:""}.reward-admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reward-edit-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.admin-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 20px;color:var(--muted)}.field-label{display:block;font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:6px}.image-upload-wrap{display:flex;flex-direction:column;gap:10px}.image-upload-preview{width:100%;aspect-ratio:4/3;max-width:320px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-soft);border:1.5px dashed var(--line)}.image-upload-img{width:100%;height:100%;object-fit:cover;display:block}.image-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;color:var(--muted);font-size:.85rem}.image-upload-placeholder span:first-child{font-size:2rem}.image-upload-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.image-upload-hint{font-size:.78rem;color:var(--muted);line-height:1.4}.image-upload-error{font-size:.85rem;color:var(--danger);margin:0;padding:6px 10px;background:var(--danger-soft);border-radius:var(--radius-sm)}.upload-spinner{display:inline-block;width:14px;height:14px;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;margin-right:6px;vertical-align:middle}@keyframes spin{to{transform:rotate(1turn)}}.reward-admin-thumb-ph{width:52px;height:52px;border-radius:10px;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;border:1px solid var(--line)}.reward-image-wrap{position:relative;width:100%;aspect-ratio:4/3;background:var(--bg-soft);overflow:hidden;flex-shrink:0}.reward-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.reward-image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:3rem;color:var(--muted)}.reward-card-btn{all:unset;display:flex;flex-direction:column;cursor:pointer;width:100%;text-align:left;border-radius:var(--radius-md);background:var(--surface-strong);box-shadow:var(--shadow-soft);border:1px solid var(--line);overflow:hidden;transition:box-shadow .18s,transform .18s,border-color .18s}.reward-card-btn:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:var(--green)}.reward-card-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(10,28,14,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:modal-fade-in .18s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-panel{position:relative;background:var(--surface-strong);border-radius:var(--radius-lg);box-shadow:0 32px 80px rgba(16,48,20,.22);border:1px solid var(--line);width:100%;max-width:860px;max-height:90vh;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;animation:modal-slide-in .22s cubic-bezier(.16,1,.3,1)}@keyframes modal-slide-in{0%{transform:translateY(24px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media (max-width:640px){.modal-panel{grid-template-columns:1fr;max-height:92vh}}.modal-close{position:absolute;top:14px;right:14px;z-index:10;width:32px;height:32px;border-radius:50%;background:hsla(0,0%,100%,.9);border:1px solid var(--line);color:var(--text);font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:background .15s,transform .15s}.modal-close:hover{background:var(--danger-soft);color:var(--danger);transform:scale(1.08)}.modal-left{display:flex;align-items:stretch}.modal-image-wrap{position:relative;width:100%;aspect-ratio:4/3;background:var(--bg-soft);overflow:hidden;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}@media (max-width:640px){.modal-image-wrap{border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.modal-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.modal-image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:5rem;color:var(--muted)}.modal-right{display:flex;flex-direction:column;gap:16px;padding:32px 28px 28px}.modal-title{margin:0;font-size:1.5rem;font-weight:800;color:var(--text);line-height:1.25;padding-right:28px}.modal-price-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.modal-price{font-size:1.6rem;font-weight:800;color:var(--green-dark);line-height:1}.modal-stock-badge{font-size:.8rem;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--bg-soft);color:var(--muted);border:1px solid var(--line)}.modal-stock-oos{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.modal-balance-chip{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;padding:6px 12px;border-radius:999px;width:-moz-fit-content;width:fit-content}.modal-balance-ok{background:var(--green-soft);color:var(--green-dark)}.modal-balance-low{background:var(--danger-soft);color:var(--danger)}.modal-description-wrap{max-height:160px;overflow-y:auto;padding-right:4px}.modal-description{margin:0;font-size:.9rem;color:var(--muted);line-height:1.7;white-space:pre-wrap}.modal-sizes-section{display:flex;flex-direction:column;gap:10px}.modal-sizes-label{margin:0;font-size:.85rem;font-weight:600;color:var(--text)}.modal-size-selected{color:var(--green-dark)}.modal-sizes{display:flex;flex-wrap:wrap;gap:8px}.size-btn-lg{font-size:.9rem;padding:7px 18px;border-radius:var(--radius-sm)}.modal-msg{margin:0;font-size:.875rem}.modal-actions{margin-top:auto}.modal-buy-btn{width:100%;justify-content:center;font-size:1rem;padding:14px 20px}.modal-buy-btn:disabled{opacity:.55;cursor:not-allowed}.reward-card-link{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:var(--radius-md);background:var(--surface-strong);box-shadow:var(--shadow-soft);border:1px solid var(--line);overflow:hidden;transition:box-shadow .18s,transform .18s,border-color .18s}.reward-card-link:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:var(--green)}.reward-card-link:focus-visible{outline:2px solid var(--green);outline-offset:2px}.reward-cta{display:block;margin-top:auto;padding-top:10px;font-size:.82rem;font-weight:600;color:var(--green-dark)}.reward-cta-disabled{color:var(--muted)}.reward-price-low{color:var(--muted)!important}.reward-sizes-hint{margin:0;font-size:.78rem;color:var(--muted);letter-spacing:.02em}.shop-detail-page{display:flex;flex-direction:column;gap:28px}.shop-detail-loading{gap:14px;color:var(--muted)}.shop-detail-loading,.shop-detail-notfound{display:flex;flex-direction:column;align-items:center;padding:80px 20px}.shop-detail-notfound{gap:12px;text-align:center}.shop-detail-notfound-icon{font-size:3rem}.shop-detail-notfound h2{margin:0;font-size:1.4rem;font-weight:700}.shop-detail-notfound p{margin:0;color:var(--muted)}.shop-detail-breadcrumb{display:flex;align-items:center;gap:8px;font-size:.875rem}.shop-detail-back{color:var(--green-dark);text-decoration:none;font-weight:500;transition:opacity .15s}.shop-detail-back:hover{opacity:.75}.shop-detail-breadcrumb-sep{color:var(--muted)}.shop-detail-breadcrumb-cur{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.shop-detail-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:40px;gap:40px;align-items:start}@media (max-width:780px){.shop-detail-layout{grid-template-columns:1fr;gap:24px}}.shop-detail-image-col{position:-webkit-sticky;position:sticky;top:90px}@media (max-width:780px){.shop-detail-image-col{position:static}}.shop-detail-image-wrap{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-soft);box-shadow:var(--shadow);border:1px solid var(--line)}.shop-detail-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.shop-detail-image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:5rem;color:var(--muted)}.reward-oos-badge-lg{font-size:.85rem;padding:5px 14px}.shop-detail-info-col{display:flex;flex-direction:column;gap:20px}.shop-detail-title{margin:0;font-size:2rem;font-weight:800;line-height:1.2;color:var(--text)}.shop-detail-price-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.shop-detail-price{font-size:2rem;font-weight:800;color:var(--green-dark);line-height:1}.shop-detail-stock{font-size:.85rem;font-weight:600;padding:4px 12px;border-radius:999px;background:var(--bg-soft);color:var(--muted);border:1px solid var(--line)}.shop-detail-balance{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-sm);border:1.5px solid}.shop-detail-balance-ok{background:var(--green-soft);border-color:var(--green);color:var(--green-dark)}.shop-detail-balance-low{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.shop-detail-balance-icon{font-size:1.1rem;font-weight:700;flex-shrink:0}.shop-detail-balance>div{display:flex;flex-direction:column;gap:1px}.shop-detail-balance-label{font-size:.75rem;opacity:.75;text-transform:uppercase;letter-spacing:.06em}.shop-detail-balance-pts{font-size:1.1rem;font-weight:700}.shop-detail-balance-needed{margin-left:auto;font-size:.82rem;font-weight:600}.shop-detail-desc-wrap{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px}.shop-detail-desc-heading{margin:0 0 8px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.shop-detail-desc{margin:0;font-size:.95rem;line-height:1.75;color:var(--text);white-space:pre-wrap}.shop-detail-sizes{display:flex;flex-direction:column;gap:12px}.shop-detail-sizes-label{margin:0;font-size:.9rem;font-weight:600;color:var(--text)}.shop-detail-size-selected{color:var(--green-dark)}.shop-detail-sizes-grid{display:flex;flex-wrap:wrap;gap:10px}.shop-detail-error{padding:12px 16px;background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-sm);font-size:.9rem}.shop-detail-success{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:var(--green-soft);border:1.5px solid var(--green);border-radius:var(--radius-sm)}.shop-detail-success-icon{font-size:1.6rem;flex-shrink:0}.shop-detail-success strong{display:block;margin-bottom:4px;color:var(--green-dark)}.shop-detail-success p{margin:0;font-size:.9rem;color:var(--text);line-height:1.6}.shop-detail-actions{display:flex;gap:12px;flex-wrap:wrap}.shop-detail-buy-btn{flex:1 1;min-width:180px;justify-content:center;font-size:1.05rem;padding:15px 24px;font-weight:700}.shop-detail-buy-btn:disabled{opacity:.55;cursor:not-allowed}.button-success{background:var(--green-dark)!important;cursor:default}.shop-detail-back-btn{flex-shrink:0}.shop-detail-note{margin:0;font-size:.8rem;color:var(--muted);line-height:1.5}.reward-limit-badge{background:var(--danger)!important}.reward-monthly-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.75rem}.reward-monthly-label{color:var(--muted);font-weight:500;white-space:nowrap}.reward-monthly-used{color:var(--green-dark);font-weight:600;white-space:nowrap}.reward-monthly-maxed{color:var(--danger)}.shop-detail-monthly{padding:14px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--green);background:var(--green-soft);display:flex;flex-direction:column;gap:10px}.shop-detail-monthly-maxed{border-color:var(--danger);background:var(--danger-soft)}.shop-detail-monthly-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}.shop-detail-monthly-label{font-size:.85rem;font-weight:700;color:var(--green-dark)}.shop-detail-monthly-maxed .shop-detail-monthly-label{color:var(--danger)}.shop-detail-monthly-count{font-size:.82rem;font-weight:600;color:var(--text)}.shop-detail-monthly-bar-track{width:100%;height:6px;background:rgba(114,191,68,.2);border-radius:999px;overflow:hidden}.shop-detail-monthly-maxed .shop-detail-monthly-bar-track{background:rgba(212,77,77,.15)}.shop-detail-monthly-bar-fill{height:100%;border-radius:999px;background:var(--green);transition:width .3s ease}.shop-detail-monthly-bar-maxed{background:var(--danger)}.shop-detail-monthly-note{margin:0;font-size:.82rem;color:var(--text);line-height:1.5}.shop-detail-monthly-note-warn{color:var(--danger);font-weight:600}@media (max-width:768px){.site-header{position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:80;padding:10px 14px}.header-container{flex-wrap:nowrap;align-items:center;gap:10px}.header-actions,.site-nav{display:none!important}.brand{flex:1 1 auto;min-width:0;width:auto}}.hdr-burger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex-shrink:0;width:42px;height:42px;padding:0;border:none;border-radius:12px;background:hsla(0,0%,100%,.15);cursor:pointer;transition:background .18s ease}.hdr-burger:hover{background:hsla(0,0%,100%,.25)}.hdr-burger__bar{display:block;width:20px;height:3px;border-radius:2px;background:#fff;transform-origin:center;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .18s ease}.hdr-burger--open .hdr-burger__bar:first-child{transform:translateY(9px) rotate(45deg)}.hdr-burger--open .hdr-burger__bar:nth-child(2){opacity:0;transform:scaleX(0)}.hdr-burger--open .hdr-burger__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:768px){.hdr-burger{display:flex}}.hdr-backdrop{display:none;position:fixed;inset:0;z-index:79;background:rgba(10,28,14,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .25s ease}.hdr-backdrop--on{opacity:1;pointer-events:auto}@media (max-width:768px){.hdr-backdrop{display:block}}.hdr-panel{display:none;position:fixed;top:62px;left:0;right:0;z-index:80;background:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:0 20px 48px rgba(16,48,20,.18);overflow:hidden;transform:translateY(-8px);opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .24s ease}.hdr-panel--open{transform:translateY(0);opacity:1;pointer-events:auto}@media (max-width:768px){.hdr-panel{display:block}}.hdr-panel__user{display:flex;align-items:center;gap:14px;padding:18px 20px 16px;background:linear-gradient(135deg,rgba(114,191,68,.96),rgba(95,176,55,.96))}.hdr-panel__avatar{width:46px;height:46px;border-radius:50%;background:hsla(0,0%,100%,.22);border:2px solid hsla(0,0%,100%,.35);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;flex-shrink:0;letter-spacing:-.01em}.hdr-panel__user-text{display:flex;flex-direction:column;gap:2px;min-width:0}.hdr-panel__user-name{display:block;font-size:15px;font-weight:800;color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hdr-panel__user-meta{font-size:12px;color:hsla(0,0%,100%,.78);font-weight:500}.hdr-panel__guest{padding:16px 20px;background:linear-gradient(135deg,rgba(114,191,68,.96),rgba(95,176,55,.96));color:hsla(0,0%,100%,.85);font-size:14px;font-weight:600}.hdr-panel__nav{display:flex;flex-direction:column;padding:6px 0}.hdr-panel__link{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;font-size:15px;font-weight:600;color:var(--text);text-decoration:none;border-bottom:1px solid rgba(22,66,34,.07);transition:background .14s ease,color .14s ease}.hdr-panel__link:last-child{border-bottom:none}.hdr-panel__link svg{color:#c5d4c0;flex-shrink:0;transition:color .14s ease,transform .18s ease}.hdr-panel__link:hover{background:var(--bg-soft);color:var(--green-dark)}.hdr-panel__link:hover svg{color:var(--green);transform:translateX(3px)}.hdr-panel__link--active{color:var(--green-dark);background:var(--green-soft);font-weight:800}.hdr-panel__link--active svg{color:var(--green)}.hdr-panel__footer{padding:14px 20px 22px;border-top:1px solid rgba(22,66,34,.08)}.hdr-panel__login{display:flex;flex-direction:column;gap:12px}.hdr-panel__login-hint{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.hdr-panel__footer .logout-button{width:100%;border-radius:var(--radius-sm);padding:13px 16px;font-size:15px}.txn-view-toggle{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}.txn-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:6px}.txn-table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--line);margin-top:4px}.txn-table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:860px}.txn-table th{background:var(--bg-soft);font-weight:700;text-align:left;padding:10px 14px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:1px solid var(--line)}.txn-table td{padding:11px 14px;border-top:1px solid rgba(22,66,34,.07);color:var(--text);vertical-align:middle;line-height:1.4}.txn-table tbody tr:hover td{background:var(--bg-soft)}.txn-row--declined td{color:var(--muted)}.txn-date,.txn-reason{white-space:nowrap;font-size:.82rem;color:var(--muted)}.txn-reason{max-width:240px;overflow:hidden;text-overflow:ellipsis}.txn-pts{font-weight:800;font-size:.9rem}.txn-pts--pos{color:var(--green-dark)}.txn-pts--neg{color:var(--danger)}.txn-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:999px;font-size:.76rem;font-weight:700;white-space:nowrap;border:1px solid transparent}.txn-badge--approved{background:var(--green-soft);color:var(--green-dark);border-color:rgba(114,191,68,.2)}.txn-badge--declined{background:var(--danger-soft);color:var(--danger);border-color:rgba(212,77,77,.2)}.txn-badge--pending{background:rgba(255,170,0,.12);color:#9a6800;border-color:rgba(255,170,0,.25)}.txn-badge--cancelled{background:hsla(134,5%,48%,.12);color:#68766d;border-color:hsla(134,5%,48%,.2)}.txn-badge--subtraction{background:var(--danger-soft);color:var(--danger);border-color:rgba(212,77,77,.2)}.txn-badge--manual{background:rgba(114,191,68,.1);color:var(--green-dark);border-color:rgba(114,191,68,.18)}.txn-badge--redemption{background:rgba(100,120,200,.1);color:#3d4fc4;border-color:rgba(100,120,200,.2)}.txn-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px;border-top:1px solid var(--line);flex-wrap:wrap}.txn-page-info{font-size:.875rem;color:var(--muted);font-weight:500}.txn-subtract-wrap{display:flex;flex-direction:column;gap:16px}.txn-subtract-card{border:1.5px solid rgba(212,77,77,.22);border-radius:var(--radius-md);background:rgba(212,77,77,.04);overflow:hidden}.txn-subtract-header{display:flex;align-items:flex-start;gap:16px;padding:20px 24px 18px;border-bottom:1px solid rgba(212,77,77,.12);background:rgba(212,77,77,.06)}.txn-subtract-icon{font-size:1.5rem;line-height:1;flex-shrink:0;margin-top:2px}.txn-subtract-title{margin:0 0 6px;font-size:1rem;font-weight:700;color:var(--danger)}.txn-subtract-desc{margin:0;font-size:.875rem;color:var(--muted);line-height:1.55}.txn-subtract-form{padding:22px 24px;display:flex;flex-direction:column;gap:16px}.txn-user-picker{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-strong);overflow:hidden;box-shadow:0 8px 24px rgba(22,66,34,.1);max-height:260px;overflow-y:auto}.txn-user-picker-empty{padding:14px 16px;color:var(--muted);font-size:.875rem}.txn-user-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 16px;border:none;border-bottom:1px solid rgba(22,66,34,.06);background:transparent;text-align:left;cursor:pointer;transition:background .12s;font-family:inherit}.txn-user-option:last-child{border-bottom:none}.txn-user-option:hover{background:var(--green-soft)}.txn-user-name{font-size:.9rem;font-weight:600;color:var(--text)}.txn-user-pts{font-size:.78rem;color:var(--muted);white-space:nowrap;flex-shrink:0}.txn-selected-user{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--radius-sm);border:1.5px solid rgba(114,191,68,.3);background:var(--green-soft)}.txn-selected-user strong{display:block;font-size:.9rem;color:var(--text);line-height:1.3}.txn-selected-meta{font-size:.78rem;color:var(--muted)}.txn-clear-user{flex-shrink:0;width:28px;height:28px;border:none;border-radius:50%;background:rgba(22,66,34,.08);color:var(--muted);cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.txn-clear-user:hover{background:var(--danger-soft);color:var(--danger)}.txn-preview{padding:12px 16px;border-radius:var(--radius-sm);background:var(--bg-soft);border:1px solid var(--line);font-size:.875rem;color:var(--text);line-height:1.5}.txn-preview--warn{background:rgba(212,77,77,.07);border-color:rgba(212,77,77,.25);color:var(--danger)}.field-label-text{display:block;font-size:.86rem;font-weight:800;color:var(--muted);margin-bottom:8px}.owner-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.owner-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 6px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface-strong);font-size:.82rem;transition:border-color .15s}.owner-chip--primary{border-color:rgba(114,191,68,.4);background:var(--green-soft)}.owner-chip__name{font-weight:700;color:var(--text)}.owner-chip__role{font-size:.74rem;color:var(--muted);font-weight:500}.owner-chip__badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:var(--green);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.04em}.owner-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:50%;background:rgba(22,66,34,.08);color:var(--muted);font-size:.65rem;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s;font-family:inherit}.owner-chip__remove:hover{background:var(--danger-soft);color:var(--danger)}.redemption-issued-date{font-size:.875rem;color:var(--green-dark);font-weight:600}.redemption-issued-empty{color:var(--muted)}@media (max-width:1100px){.txn-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.txn-filters{grid-template-columns:1fr}}.txn-proof-link{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;font-weight:600;color:var(--green-dark);text-decoration:none;padding:3px 8px;border-radius:8px;background:var(--green-soft);border:1px solid rgba(114,191,68,.25);transition:background .15s,border-color .15s;white-space:nowrap}.txn-proof-link:hover{background:rgba(114,191,68,.22);border-color:rgba(114,191,68,.45)}.txn-proof-empty{color:var(--muted)}.txn-reason-expandable{display:inline}.txn-reason-text{word-break:break-word;white-space:pre-wrap}.txn-reason-empty{color:var(--muted)}.txn-reason-toggle{display:inline;padding:0;border:none;background:none;color:var(--green-dark);font-size:.76rem;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit;white-space:nowrap;transition:opacity .15s}.txn-reason-toggle:hover{opacity:.7}.txn-table td.txn-reason{max-width:260px;vertical-align:top;padding-top:12px}.proof-modal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(10,20,12,.82);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:proof-fade-in .18s ease}@keyframes proof-fade-in{0%{opacity:0}to{opacity:1}}.proof-modal-panel{background:var(--surface-strong);border-radius:var(--radius-lg);box-shadow:0 32px 80px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:0;width:100%;max-width:640px;max-height:90vh;overflow:hidden;animation:proof-slide-up .2s ease}@keyframes proof-slide-up{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.proof-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.proof-modal-title{font-size:.95rem;font-weight:700;color:var(--text)}.proof-modal-close{width:32px;height:32px;border:none;border-radius:50%;background:var(--bg-soft);color:var(--muted);cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.proof-modal-close:hover{background:var(--danger-soft);color:var(--danger)}.proof-modal-img-wrap{flex:1 1;display:flex;align-items:center;justify-content:center;background:#0a140c;min-height:300px;max-height:60vh;overflow:hidden}.proof-modal-img{max-width:100%;max-height:100%;object-fit:contain;display:block}.proof-modal-thumbs{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);overflow-x:auto;background:var(--bg-soft)}.proof-modal-thumb{flex-shrink:0;width:64px;height:64px;border-radius:10px;overflow:hidden;border:2px solid transparent;cursor:pointer;transition:border-color .15s,opacity .15s;opacity:.65}.proof-modal-thumb img{width:100%;height:100%;object-fit:cover;display:block}.proof-modal-thumb--active{border-color:var(--green);opacity:1}.proof-modal-thumb:hover:not(.proof-modal-thumb--active){opacity:.9}.proof-modal-nav{display:flex;justify-content:center;gap:12px;padding:10px 16px;border-top:1px solid var(--line)}.proof-modal-arrow{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface-strong);color:var(--text);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.proof-modal-arrow:hover:not(:disabled){background:var(--green-soft);border-color:var(--green)}.proof-modal-arrow:disabled{opacity:.3;cursor:not-allowed}.proof-modal-actions{padding:12px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}.proof-modal-open-link{font-size:.85rem;font-weight:600;color:var(--green-dark);text-decoration:none}.proof-modal-open-link:hover{text-decoration:underline}.stats-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.stats-cards-grid--shop{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.stat-card{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:var(--surface-strong);border:1px solid rgba(114,191,68,.14);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.stat-card-label{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.stat-card-value{font-size:1.8rem;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--text)}.stat-card-sub{font-size:.78rem;color:var(--muted)}.stats-section-title{margin:0 0 8px;font-size:1.05rem;font-weight:800;letter-spacing:-.02em}.stats-chart-hint{margin:0 0 16px;line-height:1.5}.stats-chart-hint,.stats-sub-label{font-size:.86rem;color:var(--muted)}.stats-sub-label{margin:16px 0 10px;font-weight:700}.stats-chart-card{padding:22px}.stats-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.stats-table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--line);margin-top:4px;-webkit-overflow-scrolling:touch}.stats-table{width:100%;border-collapse:collapse;font-size:.9rem}.stats-table th{background:var(--bg-soft);padding:10px 14px;text-align:left;font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);white-space:nowrap}.stats-table td{padding:12px 14px;border-top:1px solid rgba(22,66,34,.06);vertical-align:middle}.stats-table tbody tr:hover td{background:var(--bg-soft)}.stats-row-top td{background:rgba(114,191,68,.04)}.stats-rank{font-size:1rem;width:36px;text-align:center}.stats-name{font-weight:700;display:block;line-height:1.3}.stats-username{font-size:.8rem;color:var(--muted);display:block;line-height:1.2}.stats-segment{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:.76rem;font-weight:700}.stats-points{font-size:1rem;letter-spacing:-.02em;color:var(--green-dark)}@media (max-width:1024px){.stats-two-col{grid-template-columns:1fr}}@media (max-width:768px){.stats-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-cards-grid--shop{grid-template-columns:1fr}.stat-card-value{font-size:1.4rem}.stats-chart-card{padding:16px}}@media (max-width:480px){.stats-cards-grid{grid-template-columns:1fr}.stat-card{padding:14px 16px}.stat-card-value{font-size:1.25rem}}.profile-page{max-width:960px;margin:0 auto;padding:28px 16px 56px;display:flex;flex-direction:column;gap:18px}.profile-header{display:flex;gap:24px;padding:24px;background:var(--surface-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);align-items:center}.profile-header__avatar-block{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.profile-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;background:var(--bg-soft);box-shadow:0 8px 20px rgba(32,72,24,.12)}.profile-avatar--initials{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--green) 0,var(--green-dark) 100%);color:#fff;font-size:2.6rem;font-weight:800;letter-spacing:-1px}.profile-header__main{flex:1 1 auto;min-width:0}.profile-name{margin:0 0 4px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--text);font-size:1.9rem;font-weight:800;letter-spacing:-.5px;line-height:1.15}.profile-handle{margin:0 0 8px;color:var(--muted);font-size:.95rem}.profile-title{margin:0 0 10px;padding:6px 12px;display:inline-block;background:var(--green-soft);color:var(--green-dark);border-radius:999px;font-size:.86rem;font-weight:700;letter-spacing:.1px}.profile-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.profile-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.profile-pill--volunteer{background:var(--bg-soft);color:var(--text)}.profile-pill--admin{background:rgba(255,159,67,.14);color:#b45309}.profile-pill--project_owner{background:rgba(99,102,241,.14);color:#4338ca}.profile-pill--ambassador{background:rgba(251,191,36,.18);color:#92400e}.profile-pill--inactive{background:var(--danger-soft);color:var(--danger)}.avatar-editor{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:120px}.avatar-editor__btn{border:0;padding:6px 10px;background:var(--green);color:#fff;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .18s ease}.avatar-editor__btn:hover:not(:disabled){background:var(--green-dark)}.avatar-editor__btn:disabled{opacity:.6;cursor:not-allowed}.avatar-editor__btn--ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.avatar-editor__btn--ghost:hover:not(:disabled){background:var(--bg-soft);color:var(--text)}.avatar-editor__error{margin:4px 0 0;color:var(--danger);font-size:.74rem;text-align:center}.profile-stats{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:12px;gap:12px}.profile-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 12px;background:var(--surface-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);text-align:center}.profile-stat__value{color:var(--text);font-size:1.6rem;font-weight:800;letter-spacing:-.5px;line-height:1.1}.profile-stat__suffix{color:var(--muted);font-size:.85rem;font-weight:600;letter-spacing:0}.profile-stat__label{margin-top:2px;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.profile-card{padding:24px;background:var(--surface-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.profile-card__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.profile-card__head h2{margin:0;color:var(--text);font-size:1.15rem;font-weight:700;letter-spacing:-.2px}.profile-card__link{color:var(--green-dark);font-size:.85rem;font-weight:600;text-decoration:none}.profile-card__link:hover{text-decoration:underline}.profile-card__hint{color:var(--muted);font-size:.78rem}.profile-empty{margin:8px 0;padding:24px;text-align:center;color:var(--muted);font-size:.9rem;background:var(--bg-soft);border-radius:var(--radius-sm)}.profile-badges-section{margin-top:14px}.profile-badges-section:first-child{margin-top:0}.profile-badges-section__label{margin:0 0 10px;color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.profile-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:12px;gap:12px}.profile-badge{padding:18px 14px 14px;background:var(--bg-soft);border-radius:var(--radius-sm);text-align:center}.profile-badge__icon{width:110px;height:110px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center}.profile-badge__icon img,.profile-badge__icon svg{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 6px 12px rgba(32,72,24,.14))}.profile-badge__name{margin:0;color:var(--text);font-size:.86rem;font-weight:700;line-height:1.25}.profile-badge__desc{margin:4px 0 0;color:var(--muted);font-size:.74rem;line-height:1.35;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.profile-badge__date{margin:2px 0 0;color:var(--muted);font-size:.7rem}.profile-projects{display:flex;flex-direction:column;gap:14px}.profile-project-row__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.profile-project-row__name{color:var(--text);font-weight:700;font-size:.92rem}.profile-project-row__points{color:var(--muted);font-size:.85rem;font-weight:600}.profile-project-row__count{color:var(--muted);font-weight:400}.profile-project-row__bar{height:8px;background:var(--bg-soft);border-radius:999px;overflow:hidden}.profile-project-row__bar-fill{height:100%;background:linear-gradient(90deg,var(--green) 0,var(--green-dark) 100%);border-radius:999px;transition:width .3s ease}.profile-activity{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.profile-activity__item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.profile-activity__item:last-child{border-bottom:0;padding-bottom:0}.profile-activity__delta{flex-shrink:0;width:56px;padding:6px 10px;text-align:center;border-radius:999px;font-weight:800;font-size:.85rem;align-self:center}.profile-activity__delta--pos{background:var(--green-soft);color:var(--green-dark)}.profile-activity__delta--neg{background:var(--danger-soft);color:var(--danger)}.profile-activity__body{flex:1 1 auto;min-width:0}.profile-activity__main{margin:0;color:var(--text);font-weight:600;font-size:.93rem}.profile-activity__project{color:var(--muted);font-weight:400}.profile-activity__date{margin:2px 0 0;color:var(--muted);font-size:.78rem}.profile-note{margin:0;padding:14px 18px;background:var(--green-soft);color:var(--green-dark);border-radius:var(--radius-md);font-size:.86rem;line-height:1.45}.profile-note strong{font-weight:700}@media (max-width:720px){.profile-header{flex-direction:column;align-items:center;text-align:center;gap:16px}.profile-name{justify-content:center}.profile-stats{grid-template-columns:1fr 1fr}}@media (max-width:420px){.profile-badge__icon{width:92px;height:92px}.profile-badges-grid,.profile-stats{grid-template-columns:1fr 1fr}.profile-stat__value{font-size:1.35rem}}:root{--heatmap-0:#e7efe2;--heatmap-1:#b8e2a3;--heatmap-2:#7ec96f;--heatmap-3:#3da753;--heatmap-4:#1d6e2f;--heatmap-cell-stroke:rgba(27,67,50,.06)}.heatmap{display:flex;flex-direction:column;gap:12px}.heatmap__scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.heatmap__scroll::-webkit-scrollbar{height:6px}.heatmap__scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.heatmap__svg{display:block;shape-rendering:crispedges}.heatmap__label{font-size:10px;font-family:inherit;fill:var(--muted)}.heatmap__label--month{font-weight:600;letter-spacing:.2px}.heatmap__cell{stroke:var(--heatmap-cell-stroke);stroke-width:1;transition:filter .12s ease,transform .12s ease;transform-box:fill-box;transform-origin:center}.heatmap__cell:hover{filter:brightness(1.08);stroke:var(--green-dark);stroke-width:1.5}.heatmap__cell--b0{fill:var(--heatmap-0)}.heatmap__cell--b1{fill:var(--heatmap-1)}.heatmap__cell--b2{fill:var(--heatmap-2)}.heatmap__cell--b3{fill:var(--heatmap-3)}.heatmap__cell--b4{fill:var(--heatmap-4)}.heatmap__legend{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:4px 4px 0}.heatmap__legend-stat{color:var(--muted);font-size:.86rem}.heatmap__legend-stat strong{color:var(--text);font-weight:800;font-size:1rem}.heatmap__legend-scale{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--muted)}.heatmap__legend-label{margin:0 4px}.heatmap__legend-cell{width:12px;height:12px;border-radius:2px;border:1px solid var(--heatmap-cell-stroke)}.heatmap__legend-cell.heatmap__cell--b0{background:var(--heatmap-0);fill:unset}.heatmap__legend-cell.heatmap__cell--b1{background:var(--heatmap-1);fill:unset}.heatmap__legend-cell.heatmap__cell--b2{background:var(--heatmap-2);fill:unset}.heatmap__legend-cell.heatmap__cell--b3{background:var(--heatmap-3);fill:unset}.heatmap__legend-cell.heatmap__cell--b4{background:var(--heatmap-4);fill:unset}