:root{--bg:#f7f4ee;--card:#fffdf8;--ink:#171717;--muted:#6f6b63;--line:#ded9cf;--positive:#176b45;--negative:#a33b2f;--accent:#f0b429}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}body{min-height:100vh}button{font:inherit;cursor:pointer}.page{width:min(100%,560px);margin:0 auto;padding:24px 18px 48px}.header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.brand{letter-spacing:.12em;text-transform:uppercase;font-size:14px;font-weight:800}.pill{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:12px}.hero{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:28px;padding:28px 20px 22px;box-shadow:0 10px 30px #0000000a}.label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700}.beerCount{margin:10px 0 18px;font-size:72px;font-weight:900;line-height:.95}.controls{justify-content:center;gap:12px;display:flex}.control{border:1px solid var(--line);background:#fff;border-radius:18px;width:92px;height:62px;font-size:32px;font-weight:800}.control:active{transform:translateY(1px)}.km{margin-top:30px;font-size:32px;font-weight:900}.balanceNumber{margin-top:8px;font-size:34px;font-weight:900}.positive{color:var(--positive)}.negative{color:var(--negative)}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;margin-top:16px;padding:18px}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.small{color:var(--muted);font-size:13px}.activity{margin-top:10px;font-weight:700}.connect{color:#fff;background:#171717;border:0;border-radius:14px;width:100%;margin-top:14px;padding:14px 16px;font-weight:800}.footer{text-align:center;color:var(--muted);margin-top:18px;font-size:11px;line-height:1.5}.activityList{gap:10px;margin-top:18px;display:grid}.activityRow{border-bottom:1px solid #7f7f7f2e;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.activityRow:last-child{border-bottom:none}.activityIcon{width:30px;display:inline-block}.activityTotal{border-top:2px solid #7f7f7f40;justify-content:space-between;align-items:center;margin-top:12px;padding-top:14px;font-weight:700;display:flex}.scoringText{margin-top:12px;line-height:1.5}.drinkSizes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.drinkSize{min-height:82px;color:inherit;cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:12px;transition:border-color .15s,background .15s,transform .1s;display:flex}.drinkSize:hover{border-color:#aaa}.drinkSize:active{transform:scale(.98)}.drinkSize.selected{background:#f3f3f3;border-color:currentColor}.drinkSizeEmoji{font-size:24px;line-height:1}.drinkSizeLabel{font-size:15px;font-weight:600}.newBeerForm{gap:10px;margin-top:12px;display:grid}.drinkSizes+input{width:100%;margin-top:12px}.recentBeers{flex-direction:column;margin-top:12px;display:flex}.recentBeer{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.recentBeer:last-child{border-bottom:none}.recentBeerInfo{min-width:0}.recentBeerName{font-size:15px;font-weight:600}.recentBeerBrewery{opacity:.65;margin-top:2px;font-size:13px}.recentBeerDetails{opacity:.7;margin-top:4px;font-size:13px}.deleteBeer{width:32px;height:32px;color:inherit;cursor:pointer;opacity:.55;background:0 0;border:none;border-radius:50%;flex:0 0 32px;font-size:20px;line-height:1}.deleteBeer:hover{opacity:1;background:#f2f2f2}.recentEmpty{opacity:.6;margin-top:12px;font-size:14px}.recentActivities{flex-direction:column;margin-top:12px;display:flex}.recentActivity{border-bottom:1px solid #eee;align-items:center;gap:12px;padding:13px 0;display:flex}.recentActivity:last-child{border-bottom:none}.recentActivityIcon{text-align:center;flex:0 0 36px;width:36px;font-size:24px}.recentActivityInfo{flex:1;min-width:0}.recentActivityName{font-size:15px;font-weight:600}.recentActivityDate{opacity:.6;margin-top:3px;font-size:13px}.recentActivityDistance{white-space:nowrap;font-size:15px;font-weight:600}.beerSearch{width:100%;position:relative}.beerSearch input{box-sizing:border-box;background:#fff;border:1px solid #d7d7d7;border-radius:10px;width:100%;padding:12px 14px;font-size:16px}.beerResults{z-index:20;background:#fff;border:1px solid #ddd;border-radius:10px;max-height:280px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #0000001f}.beerResult{text-align:left;cursor:pointer;background:#fff;border:0;flex-direction:column;align-items:flex-start;width:100%;padding:11px 14px;display:flex}.beerResult:hover,.beerResult.selected{background:#f4f4f4}.beerResultName{font-size:15px;font-weight:600}.beerResultBrewery{opacity:.65;margin-top:2px;font-size:13px}.beerNoResults{opacity:.65;padding:14px;font-size:14px}.selectedBeer{text-align:left;cursor:pointer;background:#fff;border:1px solid #d7d7d7;border-radius:10px;flex-direction:column;align-items:flex-start;width:100%;padding:12px 14px;display:flex}.selectedBeerName{font-size:16px;font-weight:600}.selectedBeerBrewery{opacity:.65;margin-top:3px;font-size:13px}.statsLink{color:var(--accent);align-items:center;gap:6px;margin-top:16px;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.statsLink:hover{opacity:.8}.statsGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.statsChartCard{margin-top:20px}.chartContainer{width:100%;height:350px;margin-top:20px}.chartHeader{justify-content:space-between;align-items:center;gap:16px;display:flex}.chartHeader>div:last-child{align-items:center;gap:8px;display:flex}.chartHeader .statsRangeSelect{cursor:pointer;appearance:auto;background:#fffdf9;border:1px solid #d8d2c8;border-radius:10px;outline:none;height:44px;padding:0 36px 0 14px;font-family:inherit;font-size:16px}.chartHeader .statsRangeSelect:focus{border-color:#999}.activityStatsFilters{align-items:center;gap:8px;display:flex}.activityStatsFilters .statsRangeSelect:first-child{min-width:180px}.activityStatsFilters .statsRangeSelect:last-child{min-width:120px}.activityStatsFilters .statsRangeSelect{cursor:pointer;appearance:auto;background:#fffdf9;border:1px solid #d8d2c8;border-radius:10px;outline:none;height:44px;padding:0 36px 0 14px;font-family:inherit;font-size:16px}.activityStatsFilters .statsRangeSelect:focus{border-color:#999}@media (max-width:600px){.chartHeader{flex-direction:column;align-items:flex-start}.statsRangeSelect{width:100%}}.chartControls{align-items:center;gap:8px;display:flex}@media (max-width:600px){.chartControls{flex-direction:column;width:100%}.chartControls .statsRangeSelect{width:100%}}.beerLeaderboardCard{margin-top:20px}.beerLeaderboard{flex-direction:column;margin-top:16px;display:flex}.beerLeaderboardRow{border-bottom:1px solid #e5e5e5;align-items:center;gap:14px;padding:14px 0;display:flex}.beerLeaderboardRow:last-child{border-bottom:none}.beerLeaderboardRank{text-align:center;width:32px;font-size:18px;font-weight:700}.beerLeaderboardInfo{flex:1;min-width:0}.beerLeaderboardName{font-weight:600}.beerLeaderboardStats{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.beerLeaderboardStats strong{font-size:18px}.activityStatsCard{margin-top:20px}.raceTotals>div{text-align:center}.raceLabel{opacity:.7;font-size:14px;font-weight:600}.raceValue{margin-top:4px;font-size:28px;font-weight:700}.raceWinner{margin-top:8px;font-size:24px;font-weight:800}.raceWinnerText{letter-spacing:.08em;margin-top:4px;font-size:14px}.balance{border-top:none;margin-top:0;padding-top:0}.balance .label{letter-spacing:.12em;font-size:18px;font-weight:700}.raceTotals{justify-content:center;gap:80px;margin:24px 0 28px;display:flex}.raceTotals>div{text-align:center;min-width:150px}.raceLabel{margin-bottom:8px;font-size:20px;font-weight:700}.raceValue{font-size:42px;font-weight:800;line-height:1}.raceWinner{margin-top:18px;font-size:36px;font-weight:800;line-height:1.1}.raceWinnerText{letter-spacing:.08em;margin-top:12px;font-size:20px;font-weight:800}.statsLink{margin-top:28px;font-size:18px;font-weight:700;display:inline-block}
