.avatar-selector{margin:20px 0}.avatar-selector label{display:block;margin-bottom:15px;font-weight:600;color:#555;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:15px;gap:15px;max-width:100%}.avatar-option{cursor:pointer;border:3px solid #e0e0e0;border-radius:15px;padding:12px;transition:all .3s ease;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);position:relative}.avatar-option:hover{border-color:#667eea;transform:scale(1.08);box-shadow:0 8px 20px rgba(102,126,234,.3)}.avatar-option.selected{border-color:#4caf50;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);box-shadow:0 6px 20px rgba(76,175,80,.3)}.avatar-option.selected:after{content:"✓";position:absolute;top:-8px;right:-8px;background:#4caf50;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;box-shadow:0 2px 8px rgba(0,0,0,.2)}.avatar-image{line-height:0}.avatar-image,.avatar-image svg{width:100%;height:auto;display:block;border-radius:8px}@media (max-width:768px){.avatar-grid{grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}}@media (max-width:480px){.avatar-grid{grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}}.registration-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fdf5,#e8f5e1);padding:1rem}.registration-container{background:#fff;border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.1);padding:2rem 1.5rem;width:100%;max-width:550px;animation:fadeInUp .6s ease-out}.registration-header{text-align:center;margin-bottom:2rem}.registration-logo{font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--primary-color),#5e944f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-1px;margin-bottom:.5rem;position:relative;display:inline-block}.registration-logo:after{content:"🥔";position:absolute;top:-10px;right:-30px;font-size:1.8rem;animation:bounce 2s infinite}.registration-subtitle{color:#64748b;font-size:.95rem;font-weight:500;margin-top:.5rem}.registration-form{margin-bottom:1.5rem}.registration-form form{margin:0;padding:0;box-shadow:none;background:transparent;width:100%;max-width:none}.form-group{margin-bottom:.75rem}.form-group label{margin-bottom:.3rem}.avatar-section{margin:2rem 0;padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:2px dashed #e2e8f0}.avatar-section .avatar-selector{margin:0}.avatar-section .avatar-selector label{display:block;margin-bottom:1rem;font-weight:600;color:#334155;font-size:.95rem;text-align:center}.register-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;margin-top:.5rem;box-shadow:0 4px 12px rgba(123,182,97,.3)}.register-button:hover{box-shadow:0 6px 20px rgba(123,182,97,.4)}.register-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.message{padding:.875rem 1rem;border-radius:10px;margin-top:1rem;font-size:.9rem;text-align:center;font-weight:500;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.success-message{background:#d1fae5;color:#059669;border-left:4px solid #059669}.login-link-container{text-align:center}.login-link{color:var(--primary-color);text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s ease;display:inline-flex;align-items:center;grid-gap:.5rem;gap:.5rem}.login-link:hover{color:var(--primary-hover);text-decoration:underline}.login-link:before{content:"←";font-size:1.2rem}.password-requirements{margin-top:.5rem;padding:.75rem;background:#f1f5f9;border-radius:8px;font-size:.85rem;color:#64748b}.password-requirements ul{margin:.5rem 0 0 1.5rem;padding:0}.password-requirements li{margin:.25rem 0}@media (min-width:769px){.registration-container{padding:3rem}.registration-logo{font-size:3rem}}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fdf5,#e8f5e1);padding:1rem}.login-container{background:#fff;border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.1);padding:2rem 1.5rem;width:100%;max-width:450px;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo{font-size:2.8rem;font-weight:800;background:linear-gradient(135deg,var(--primary-color),#5e944f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-1px;margin-bottom:.5rem;position:relative;display:inline-block}.login-logo:after{content:"🥔";position:absolute;top:-10px;right:-30px;font-size:2rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-subtitle{color:#64748b;font-size:1rem;font-weight:500;margin-top:.5rem}.login-form{margin-bottom:1.5rem}.login-form form{margin:0;padding:0;box-shadow:none;background:transparent;width:100%;max-width:none}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#334155;font-size:.95rem}.form-group input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:all .3s ease;background:#f8fafc}.form-group input:focus{outline:none;border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 4px rgba(123,182,97,.1)}.login-button{width:100%;padding:.875rem 1rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem;box-shadow:0 4px 12px rgba(123,182,97,.3);box-sizing:border-box}.login-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(123,182,97,.4)}.login-button:active{transform:translateY(0)}.error-message{background:#fee2e2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;border-left:4px solid #dc2626}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0}.divider:after,.divider:before{content:"";flex:1 1;border-bottom:1px solid #e2e8f0}.divider span{padding:0 1rem;color:#94a3b8;font-size:.875rem;font-weight:500}.register-button-container{width:100%}.register-button{width:100%;padding:.875rem 1rem;background:#f1f5f9;color:#475569;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-sizing:border-box}.register-button:hover{background:#e2e8f0;border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.register-button:active{transform:translateY(0)}@media (min-width:769px){.login-container{padding:3rem}.login-logo{font-size:3.5rem}}.avatar-container{display:inline-block;line-height:0}.avatar-container svg{display:block;width:100%;height:100%}.reaction-bar{grid-gap:.4rem;gap:.4rem;padding-top:.5rem;border-top:1px solid rgba(123,182,97,.1);margin-top:.5rem}.reaction-bar,.reaction-summary{display:flex;align-items:center;flex-wrap:wrap}.reaction-summary{grid-gap:.3rem;gap:.3rem}.reaction-group-wrapper{position:relative}.reaction-chip{display:inline-flex;align-items:center;grid-gap:.25rem;gap:.25rem;padding:.2rem .5rem;border-radius:999px;border:1px solid rgba(123,182,97,.2);background:#f8fdf5;cursor:pointer;font-size:.8rem;transition:all .15s ease;line-height:1}.reaction-chip:hover{background:#eef7e8;border-color:rgba(123,182,97,.4)}.reaction-chip.reacted{background:rgba(123,182,97,.15);border-color:rgba(123,182,97,.5)}.reaction-emoji{font-size:.9rem;line-height:1}.reaction-count{font-size:.75rem;font-weight:600;color:#555}.reaction-tooltip{bottom:calc(100% + 6px);background:#333;color:#fff;padding:.4rem .6rem;border-radius:8px;font-size:.7rem;white-space:nowrap;z-index:100;display:flex;flex-direction:column;grid-gap:.15rem;gap:.15rem;box-shadow:0 2px 8px rgba(0,0,0,.2);pointer-events:none}.reaction-tooltip,.reaction-tooltip:after{position:absolute;left:50%;transform:translateX(-50%)}.reaction-tooltip:after{content:"";top:100%;border:5px solid transparent;border-top-color:#333}.reaction-add-wrapper{position:relative}.reaction-add-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px dashed rgba(123,182,97,.3);background:transparent;color:#999;cursor:pointer;font-size:1rem;line-height:1;transition:all .15s ease}.reaction-add-btn:hover{background:#f8fdf5;border-color:rgba(123,182,97,.5);color:#666}.reaction-picker{position:absolute;bottom:calc(100% + 6px);left:0;display:flex;grid-gap:.2rem;gap:.2rem;background:#fff;border:1px solid rgba(123,182,97,.2);border-radius:12px;padding:.35rem .5rem;box-shadow:0 4px 16px rgba(0,0,0,.12);z-index:100;white-space:nowrap}.picker-emoji{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.2rem .3rem;border-radius:6px;transition:all .15s ease;line-height:1}.picker-emoji:hover{background:#f0f7eb;transform:scale(1.2)}.picker-emoji.already-reacted{background:rgba(123,182,97,.15)}.reaction-popover{position:absolute;bottom:calc(100% + 8px);left:0;background:#fff;border:1px solid rgba(123,182,97,.2);border-radius:12px;padding:.6rem .75rem;box-shadow:0 4px 16px rgba(0,0,0,.14);z-index:110;min-width:140px;display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem}.reaction-popover:after{content:"";position:absolute;top:100%;left:16px;border:6px solid transparent;border-top-color:#fff}.popover-users{display:flex;flex-direction:column;grid-gap:.2rem;gap:.2rem}.popover-username{font-size:.8rem;color:#444;font-weight:500}.popover-react-btn{display:block;width:100%;padding:.35rem .5rem;border:none;border-radius:8px;background:rgba(123,182,97,.12);color:#4a7c3f;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s ease;text-align:center}.popover-react-btn:hover{background:rgba(123,182,97,.22)}.popover-react-btn.remove{background:rgba(220,80,80,.1);color:#b33}.popover-react-btn.remove:hover{background:rgba(220,80,80,.2)}.db-page{padding:1rem .5rem;min-height:100vh;background:var(--background-color)}.db-container{max-width:800px;margin:0 auto;background:#fff;border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.08);overflow:hidden}.db-header{display:flex;align-items:center;justify-content:space-between;grid-gap:2rem;gap:2rem;padding:1.25rem 1rem;border-bottom:2px solid rgba(123,182,97,.15);background:linear-gradient(135deg,rgba(123,182,97,.05),rgba(94,148,79,.05))}.db-brand{font-size:1.6rem;font-weight:800;background:linear-gradient(135deg,var(--primary-color),#5e944f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;-webkit-user-select:none;user-select:none;margin:0}.db-hero{display:flex;align-items:center;grid-gap:1rem;gap:1rem;padding:1.25rem 1rem;border-bottom:1px solid #f0f0f0}.db-user-avatar{width:64px;height:64px;border-radius:16px;border:3px solid var(--primary-color);padding:6px;background:linear-gradient(135deg,#f5f7fa,#e8f5e1);flex-shrink:0}.db-greeting h1{font-size:1.2rem;font-weight:700;color:var(--text-color);margin:0;line-height:1.3}.db-greeting p{font-size:.85rem;color:#666;margin:.25rem 0 0}.db-stats{display:flex;grid-gap:.5rem;gap:.5rem;padding:1rem;border-bottom:1px solid #f0f0f0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.db-stats::-webkit-scrollbar{display:none}.db-stat-card{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.75rem;background:#fafafa;border:1px solid #eee;border-radius:10px;transition:all .2s ease;flex:1 1}.db-stat-card,.db-stat-content{min-width:0;overflow:hidden}.db-stat-card:hover{background:#f5f5f5;border-color:rgba(123,182,97,.3)}.db-stat-icon{font-size:1.2rem;padding:.4rem;background:linear-gradient(135deg,rgba(123,182,97,.1),rgba(94,148,79,.1));border-radius:8px;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.db-stat-content h3{font-size:1.15rem;font-weight:700;color:var(--text-color);line-height:1.2}.db-stat-content h3,.db-stat-content p{margin:0;word-wrap:break-word;overflow-wrap:break-word}.db-stat-content p{font-size:.6rem;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.db-challenges{padding:1.25rem 1rem;border-bottom:1px solid #f0f0f0}.db-challenges-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.db-challenges-header h3{font-size:1.05rem;font-weight:700;color:var(--text-color);margin:0}.db-see-all{background:none;border:none;color:var(--primary-color);font-weight:600;font-size:.82rem;cursor:pointer;padding:.25rem .5rem;border-radius:8px;transition:background .2s ease;width:auto;text-transform:none;letter-spacing:normal}.db-see-all:hover{background:rgba(123,182,97,.1);transform:none;box-shadow:none}.db-challenges-list{display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem}.db-challenge-card{display:flex;align-items:center;grid-gap:.6rem;gap:.6rem;padding:.75rem .85rem;background:#fafafa;border:1px solid #eee;border-radius:10px;cursor:pointer;transition:all .2s ease}.db-challenge-card:hover{background:#f5f5f5;border-color:rgba(123,182,97,.3);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06)}.db-challenge-icon{font-size:1.4rem;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(123,182,97,.08);border-radius:8px}.db-challenge-info{display:flex;flex-direction:column;min-width:0;flex:1 1}.db-challenge-name{font-weight:600;font-size:.85rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-challenge-meta{font-size:.72rem;color:#888}.db-challenge-role{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:.15rem .4rem;border-radius:6px;flex-shrink:0}.db-challenge-role.admin{background:#fff3e0;color:#e65100}.db-challenge-role.member{background:#f0fff4;color:#276749}.db-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;grid-gap:1rem;gap:1rem}.db-spinner{width:40px;height:40px;border:3px solid rgba(123,182,97,.2);border-top:3px solid var(--primary-color);border-radius:50%;animation:db-spin .8s linear infinite}@keyframes db-spin{to{transform:rotate(1turn)}}.db-loading p{color:#666;font-size:.95rem;margin:0}.db-error{margin:1rem 1rem 0;padding:.75rem 1rem;background:#fff5f5;color:#c53030;border-radius:8px;border-left:3px solid #c53030;font-size:.9rem;display:flex;align-items:center;grid-gap:.5rem;gap:.5rem}.db-empty{text-align:center;padding:3rem 1rem;color:#888}.db-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.db-empty h3{color:var(--text-color);margin:0 0 .25rem;font-size:1.1rem}.db-empty p{color:#888;font-size:.9rem;margin:0}.db-section{padding:1.25rem 1rem;border-top:1px solid #f0f0f0}.db-section-header{margin-bottom:.75rem}.db-section-header h3{margin:0 0 .15rem;font-size:1.05rem;font-weight:700;color:var(--text-color)}.db-section-header p{margin:0;color:#888;font-size:.8rem}.db-activity-breakdown{padding:0 0 1rem}.db-activity-breakdown h4{margin:0 0 .65rem;color:#555;font-size:.88rem;font-weight:600;display:flex;align-items:center;grid-gap:.4rem;gap:.4rem;flex-wrap:wrap}.db-filter-hint{font-size:.8rem;font-weight:400;color:#888;font-style:italic}.db-activity-types{flex-wrap:wrap}.db-activity-types,.db-type-pill{display:flex;grid-gap:.4rem;gap:.4rem}.db-type-pill{align-items:center;padding:.4rem .75rem;background:#fafafa;border:1px solid #eee;border-radius:20px;font-size:.82rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.db-type-pill:hover{background:#f0f0f0;border-color:rgba(123,182,97,.3)}.db-type-pill.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.db-type-pill.selected .db-type-count,.db-type-pill.selected .db-type-name{color:#fff}.db-type-name{font-weight:600;text-transform:capitalize}.db-type-count{color:#888;font-weight:500;font-size:.78rem}.db-filter-controls{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;flex-wrap:wrap;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.db-filter-label{font-weight:600;color:#555;white-space:nowrap;font-size:.82rem}.db-filters-list{display:flex;flex-wrap:wrap;grid-gap:.4rem;gap:.4rem;align-items:center}.db-filter-chip{display:flex;align-items:center;grid-gap:.3rem;gap:.3rem;background:var(--primary-color);color:#fff;padding:.25rem .6rem;border-radius:14px;font-size:.78rem}.db-chip-value{font-weight:600}.db-chip-remove{background:hsla(0,0%,100%,.25);color:#fff;border:none;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.65rem;font-weight:700;padding:0;line-height:1;transition:background .2s}.db-chip-remove:hover{background:hsla(0,0%,100%,.5);transform:none;box-shadow:none}.db-clear-all{background:transparent;color:var(--primary-color);border:1px solid var(--primary-color);padding:.25rem .65rem;border-radius:14px;cursor:pointer;font-size:.78rem;font-weight:600;transition:all .2s ease;white-space:nowrap;width:auto;text-transform:none;letter-spacing:normal}.db-clear-all:hover{background:var(--primary-color);color:#fff;transform:none;box-shadow:none}.db-feed-list{display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem}.db-feed-card{padding:.85rem 1rem;background:#fafafa;border:1px solid #eee;border-radius:10px;cursor:pointer;transition:all .2s ease}.db-feed-card:hover{background:#f5f5f5;border-color:rgba(123,182,97,.3);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06)}.db-feed-card.own{border-left:3px solid var(--primary-color)}.db-feed-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.db-feed-user-clickable,.db-feed-user-info{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;min-width:0}.db-feed-user-clickable{cursor:pointer;border-radius:8px;padding:.15rem .3rem;margin:-.15rem -.3rem;transition:background .2s ease}.db-feed-user-clickable:hover{background:rgba(123,182,97,.1)}.db-feed-user-clickable:hover .db-feed-username{color:var(--primary-color)}.db-feed-avatar{width:34px;height:34px;border-radius:50%;border:2px solid var(--primary-color);flex-shrink:0;overflow:hidden}.db-feed-avatar svg{width:100%;height:100%}.db-feed-user-meta{display:flex;flex-direction:column;min-width:0}.db-feed-username{font-weight:600;font-size:.88rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;grid-gap:.35rem;gap:.35rem;transition:color .2s ease}.db-own-badge{background:var(--primary-color);color:#fff;font-size:.6rem;font-weight:700;padding:.1rem .35rem;border-radius:6px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.db-feed-date{font-size:.72rem;color:#888}.db-feed-card-body{display:flex;flex-wrap:wrap;grid-gap:.4rem;gap:.4rem;align-items:center}.db-feed-activity-type{font-weight:600;font-size:.88rem;color:var(--primary-color)}.db-feed-detail{font-size:.78rem;color:#666;background:#f0f0f0;padding:.12rem .45rem;border-radius:6px}.db-points-badge{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;padding:.2rem .55rem;border-radius:14px;font-weight:600;font-size:.78rem;white-space:nowrap;flex-shrink:0}.db-sentinel{padding:1.5rem 0;text-align:center}.db-loading-more{display:flex;flex-direction:column;align-items:center;grid-gap:.5rem;gap:.5rem}.db-loading-more p{margin:0;color:#888;font-size:.85rem}.db-spinner-small{width:28px;height:28px;border:3px solid rgba(123,182,97,.2);border-top:3px solid var(--primary-color);border-radius:50%;animation:db-spin .8s linear infinite}.db-feed-end{color:#aaa;font-size:.85rem;margin:0}@media (min-width:769px){.db-page{padding:2rem 1rem}.db-header{padding:1.5rem 2rem}.db-brand{font-size:1.8rem}.db-hero{grid-gap:1.5rem;gap:1.5rem;padding:1.5rem 2rem}.db-user-avatar{width:80px;height:80px}.db-greeting h1{font-size:1.4rem}.db-greeting p{font-size:.95rem}.db-stats{grid-gap:.75rem;gap:.75rem;padding:1.25rem 2rem;overflow-x:visible}.db-stat-card{padding:.85rem;grid-gap:.6rem;gap:.6rem}.db-stat-icon{min-width:38px;height:38px}.db-stat-content h3,.db-stat-icon{font-size:1.4rem}.db-stat-content p{font-size:.7rem}.db-challenges,.db-section{padding:1.5rem 2rem}.db-activity-types{grid-gap:.5rem;gap:.5rem}.db-feed-list{grid-gap:.6rem;gap:.6rem}.db-feed-card{padding:1rem 1.25rem}.db-feed-avatar{width:38px;height:38px}}.pp-page{padding:1rem .5rem;min-height:100vh;background:var(--background-color)}.pp-container{max-width:800px;margin:0 auto;background:#fff;border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.08);overflow:hidden}.pp-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;grid-gap:.75rem;gap:.75rem;padding:1.25rem 1rem;border-bottom:2px solid rgba(123,182,97,.15);background:linear-gradient(135deg,rgba(123,182,97,.05),rgba(94,148,79,.05))}.pp-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-color)}.pp-header-actions{display:flex;flex-wrap:wrap;grid-gap:.4rem;gap:.4rem}.pp-btn-edit{padding:.45rem .9rem;background:var(--primary-color);color:#fff;border:none;border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;width:auto;flex-shrink:0;text-transform:none;letter-spacing:normal}.pp-btn-edit:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(123,182,97,.3)}.pp-btn-logout{padding:.45rem .9rem;background:#fff5f5;color:#c53030;border:1px solid #fed7d7;border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;width:auto;flex-shrink:0;text-transform:none;letter-spacing:normal}.pp-btn-logout:hover{background:#c53030;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(197,48,48,.3)}.pp-error{background:#fff5f5;color:#c53030;border-left:3px solid #c53030}.pp-error,.pp-success{margin:1rem 1rem 0;padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.pp-success{background:#f0fff4;color:#276749;border-left:3px solid var(--primary-color)}.pp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;grid-gap:1rem;gap:1rem}.pp-spinner{width:40px;height:40px;border:3px solid rgba(123,182,97,.2);border-top:3px solid var(--primary-color);border-radius:50%;animation:pp-spin .8s linear infinite}@keyframes pp-spin{to{transform:rotate(1turn)}}.pp-loading p{color:#666;font-size:.95rem;margin:0}.pp-profile-card{padding:1.5rem;display:flex;flex-direction:column;align-items:center;grid-gap:1.25rem;gap:1.25rem}.pp-avatar-display{display:flex;justify-content:center}.pp-avatar{width:100px;height:100px;border-radius:16px;border:3px solid var(--primary-color);padding:10px;background:linear-gradient(135deg,#f5f7fa,#e4ead8);box-shadow:0 4px 16px rgba(0,0,0,.08)}.pp-details{width:100%;display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem}.pp-field{display:flex;align-items:baseline;grid-gap:.75rem;gap:.75rem;padding:.65rem .85rem;background:#fafafa;border:1px solid #eee;border-radius:8px}.pp-field-label{font-size:.78rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.3px;min-width:70px}.pp-field-value{font-size:.95rem;color:var(--text-color);font-weight:500;word-break:break-all}.pp-actions{display:flex;grid-gap:.5rem;gap:.5rem;width:100%}.pp-actions .btn-primary,.pp-actions .btn-secondary{flex:1 1}.pp-page .btn-primary{padding:.55rem 1.1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:auto;text-transform:none;letter-spacing:normal}.pp-page .btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(123,182,97,.3)}.pp-page .btn-secondary{padding:.55rem 1.1rem;background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:auto;text-transform:none;letter-spacing:normal}.pp-page .btn-secondary:hover{background:#edf2f7;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.06)}.pp-form-section{padding:1.5rem;border-top:1px solid #f0f0f0}.pp-form-section h3{margin:0 0 1.25rem;font-size:1.15rem;font-weight:700;color:var(--text-color)}.pp-form{display:flex;flex-direction:column;grid-gap:1rem;gap:1rem}.pp-form-group{display:flex;flex-direction:column;grid-gap:.35rem;gap:.35rem;flex:1 1}.pp-form-group label{font-size:.82rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.3px}.pp-form-group input,.pp-form-group select{padding:.7rem .9rem;border:2px solid #eee;border-radius:8px;font-size:.95rem;transition:border-color .2s ease;margin-bottom:0}.pp-form-group input:focus,.pp-form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(123,182,97,.15)}.pp-form-actions{display:flex;grid-gap:.75rem;gap:.75rem;margin-top:.5rem}.pp-total-points{display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;margin-top:.75rem;border-top:1px solid #f0f0f0}.pp-total-points-value{font-size:2rem;font-weight:800;color:var(--primary-color,#7bb661)}.pp-total-points-label{font-size:.85rem;font-weight:600;color:#888;margin-top:.25rem}.pp-section{padding:1.25rem 1rem;border-top:1px solid #f0f0f0}.pp-section h3{margin:0 0 1rem;font-size:1.05rem;font-weight:700;color:var(--text-color)}.pp-weekly-chart{display:flex;align-items:flex-end;grid-gap:4px;gap:4px;height:160px;padding:.5rem 0}.pp-chart-bar-wrapper{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.pp-chart-bar-value{font-size:.6rem;color:#666;margin-bottom:3px;white-space:nowrap}.pp-chart-bar{width:100%;max-width:36px;background:linear-gradient(180deg,var(--primary-color),var(--primary-hover));border-radius:4px 4px 0 0;transition:height .4s ease}.pp-chart-bar-label{font-size:.6rem;color:#999;margin-top:4px;white-space:nowrap}.pp-activity-breakdown{padding:0 0 1rem}.pp-activity-breakdown h4{margin:0 0 .65rem;color:#555;font-size:.88rem;font-weight:600;display:flex;align-items:center;grid-gap:.4rem;gap:.4rem;flex-wrap:wrap}.pp-filter-hint{font-size:.8rem;font-weight:400;color:#888;font-style:italic}.pp-activity-types{flex-wrap:wrap}.pp-activity-types,.pp-type-pill{display:flex;grid-gap:.4rem;gap:.4rem}.pp-type-pill{align-items:center;padding:.4rem .75rem;background:#fafafa;border:1px solid #eee;border-radius:20px;font-size:.82rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.pp-type-pill:hover{background:#f0f0f0;border-color:rgba(123,182,97,.3)}.pp-type-pill.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pp-type-pill.selected .pp-type-count,.pp-type-pill.selected .pp-type-name{color:#fff}.pp-type-name{font-weight:600;text-transform:capitalize}.pp-type-count{color:#888;font-weight:500;font-size:.78rem}.pp-filter-controls{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;flex-wrap:wrap;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.pp-filter-label{font-weight:600;color:#555;white-space:nowrap;font-size:.82rem}.pp-filters-list{display:flex;flex-wrap:wrap;grid-gap:.4rem;gap:.4rem;align-items:center}.pp-filter-chip{display:flex;align-items:center;grid-gap:.3rem;gap:.3rem;background:var(--primary-color);color:#fff;padding:.25rem .6rem;border-radius:14px;font-size:.78rem}.pp-chip-value{font-weight:600}.pp-chip-remove{background:hsla(0,0%,100%,.25);color:#fff;border:none;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.65rem;font-weight:700;padding:0;line-height:1;transition:background .2s}.pp-chip-remove:hover{background:hsla(0,0%,100%,.5);transform:none;box-shadow:none}.pp-clear-all{background:transparent;color:var(--primary-color);border:1px solid var(--primary-color);padding:.25rem .65rem;border-radius:14px;cursor:pointer;font-size:.78rem;font-weight:600;transition:all .2s ease;white-space:nowrap;width:auto;text-transform:none;letter-spacing:normal}.pp-clear-all:hover{background:var(--primary-color);color:#fff;transform:none;box-shadow:none}.pp-date-filters{display:flex;grid-gap:.75rem;gap:.75rem;padding:.75rem 0 1rem}.pp-date-filters .pp-form-group{flex:1 1}.pp-empty{text-align:center;padding:2rem 1rem;color:#888;font-size:.9rem}.pp-activity-list{display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem;max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch}.pp-activity-card{padding:.85rem 1rem;background:#fafafa;border:1px solid #eee;border-radius:10px;cursor:pointer;transition:all .2s ease}.pp-activity-card:hover{background:#f5f5f5;border-color:rgba(123,182,97,.3);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06)}.pp-activity-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.pp-activity-card-type{font-weight:600;color:var(--text-color);font-size:.95rem;text-transform:capitalize}.pp-activity-card-points{font-weight:700;color:var(--primary-color);font-size:.88rem}.pp-activity-card-meta{display:flex;flex-wrap:wrap;grid-gap:.5rem;gap:.5rem;font-size:.78rem;color:#888}.pp-intensity-badge{text-transform:capitalize;background:rgba(123,182,97,.1);padding:.1rem .45rem;border-radius:6px;color:var(--primary-color);font-weight:500}.pp-quick-links{padding:1rem;display:flex;flex-direction:column}.pp-quick-link{display:flex;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.9rem 1.1rem;background:#f7f7f7;border:2px solid #e0e0e0;cursor:pointer;transition:all .2s ease;width:100%;text-align:left;border-radius:12px;color:var(--text-color);font-size:.95rem;font-weight:600;text-transform:none;letter-spacing:normal}.pp-quick-link:hover{background:#efefef;border-color:#c8c8c8;transform:none;box-shadow:0 2px 8px rgba(0,0,0,.08)}.pp-quick-link-icon{font-size:1.3rem;width:32px;text-align:center}.pp-quick-link-text{flex:1 1;color:var(--text-color)}.pp-quick-link-badge{background:#e53e3e;color:#fff;font-size:.7rem;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.pp-quick-link-arrow{color:#999;font-size:1.3rem;font-weight:600}.pp-quick-link-danger{color:#c53030}.pp-quick-link-danger:hover{background:#fff5f5}@media (min-width:769px){.pp-page{padding:2rem 1rem}.pp-header{padding:1.5rem 2rem}.pp-header h2{font-size:1.75rem}.pp-error,.pp-success{margin:1rem 1.5rem 0}.pp-profile-card{flex-direction:row;padding:2rem;grid-gap:2rem;gap:2rem;align-items:flex-start}.pp-avatar{width:120px;height:120px}.pp-details{flex:1 1}.pp-actions{width:auto}.pp-form-section,.pp-section{padding:1.5rem 2rem}.pp-weekly-chart{height:200px}.pp-activity-types{grid-gap:.5rem;gap:.5rem}.pp-activity-list{max-height:500px}.pp-quick-links{padding:0 .5rem}}.la-page{padding:1rem .5rem;min-height:100vh;background:var(--background-color)}.la-container{max-width:800px;margin:0 auto;background:#fff;border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.08);overflow:visible}.la-header{display:flex;align-items:center;justify-content:space-between;grid-gap:2rem;gap:2rem;padding:1.25rem 1rem;border-bottom:2px solid rgba(123,182,97,.15);background:linear-gradient(135deg,rgba(123,182,97,.05),rgba(94,148,79,.05));border-radius:14px 14px 0 0}.la-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-color)}.la-tips-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #f0f0f0;text-align:center}.la-tips-toggle{font-size:.78rem;color:#999;cursor:pointer;transition:color .2s;-webkit-user-select:none;user-select:none}.la-tips-toggle:hover{color:var(--primary-color)}.la-tips-list{list-style:none;padding:0;margin:.6rem 0 0;display:flex;flex-direction:column;grid-gap:.35rem;gap:.35rem;text-align:left}.la-tips-list li{font-size:.78rem;color:#888;padding-left:1.2rem;position:relative;line-height:1.4}.la-tips-list li:before{content:"✓";position:absolute;left:0;font-weight:700;color:var(--primary-color)}.la-content{padding:1.25rem 1rem}.la-form{grid-gap:1.25rem;gap:1.25rem}.la-field,.la-form{display:flex;flex-direction:column}.la-field{grid-gap:.4rem;gap:.4rem}.la-label{font-size:.82rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.3px}.la-input{padding:.7rem .9rem;border:2px solid #eee;border-radius:8px;font-size:.95rem;transition:border-color .2s ease;background:#fff;width:100%;box-sizing:border-box}.la-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(123,182,97,.15)}.la-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237bb661' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:1.1em;padding-right:2.8rem;cursor:pointer}.la-activity-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.1rem}.la-method-row{display:flex;align-items:center;grid-gap:.4rem;gap:.4rem}.la-method-label{font-size:.82rem;font-weight:600;color:#888;-webkit-user-select:none;user-select:none}.la-toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer;flex-shrink:0}.la-toggle-input{display:none}.la-toggle-track{position:absolute;inset:0;background:#ccc;border-radius:12px;transition:background .2s}.la-toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s}.la-toggle-input:checked+.la-toggle-track{background:var(--primary-color)}.la-toggle-input:checked+.la-toggle-track:after{transform:translateX(20px)}.la-intensity-group{display:flex;grid-gap:.5rem;gap:.5rem}.la-intensity-btn,button.la-intensity-btn{all:unset;flex:1 1;display:flex;flex-direction:column;align-items:center;grid-gap:.2rem;gap:.2rem;padding:.75rem .5rem;border:2px solid #eee!important;border-radius:10px;background:#fafafa!important;color:inherit;cursor:pointer;transition:all .2s ease;box-sizing:border-box;text-align:center;width:auto!important}.la-intensity-btn:hover,button.la-intensity-btn:hover{border-color:rgba(123,182,97,.4)!important;background:#f5f5f5!important;transform:translateY(-1px)}.la-intensity-btn.active,button.la-intensity-btn.active{border-color:var(--primary-color)!important;background:rgba(123,182,97,.08)!important;box-shadow:0 0 0 3px rgba(123,182,97,.15)}.la-intensity-icon{font-size:1.3rem;line-height:1}.la-intensity-val{font-size:1.1rem;font-weight:700;color:var(--text-color)}.la-intensity-label{font-size:.7rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.3px}.la-fatigue-slider{display:flex;flex-direction:column;grid-gap:.35rem;gap:.35rem}.la-range{appearance:none;width:100%;height:6px;border-radius:3px;background:#e2e8f0;outline:none}.la-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.15)}.la-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.15)}.la-fatigue-labels{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#999}.la-fatigue-current{font-weight:600;color:var(--text-color);font-size:.82rem}.la-optional-hint{font-size:.72rem;font-weight:500;color:#aaa;text-transform:uppercase;letter-spacing:.3px}.la-modifiers-section{border:1px solid #eee;border-radius:10px;margin:.25rem 0;overflow:hidden}.la-modifiers-toggle{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.7rem 1rem;font-size:.9rem;font-weight:600;color:var(--text-color);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;background:rgba(123,182,97,.04)}.la-modifiers-toggle::-webkit-details-marker{display:none}.la-modifiers-toggle:before{content:"▸";display:inline-block;transition:transform .2s ease;font-size:.75rem;color:#999}.la-modifiers-section[open]>.la-modifiers-toggle:before{transform:rotate(90deg)}.la-modifiers-content{padding:.25rem .75rem .75rem}.la-distance-row{display:flex;grid-gap:.5rem;gap:.5rem;align-items:stretch}.la-distance-row .la-input{flex:1 1;margin:0}.la-unit-select{width:80px!important;flex:0 0 80px;padding-right:2rem!important;height:auto;align-self:stretch}.la-unit-label{font-size:.9rem;font-weight:600;color:#666;white-space:nowrap;display:flex;align-items:center;padding:0 .25rem}.la-dual-wheel{display:flex;align-items:flex-end;grid-gap:.5rem;gap:.5rem}.la-wheel-wrapper{flex:1 1;display:flex;flex-direction:column;align-items:center;grid-gap:.35rem;gap:.35rem}.la-wheel-label{font-size:.72rem;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.3px}.la-wheel-sep{font-size:1.4rem;font-weight:700;color:#ccc;padding-bottom:calc(110px - .7rem)}.la-time-picker{position:relative;height:220px;overflow:hidden;border:2px solid #eee;border-radius:10px;background:#fafafa;width:100%}.la-time-highlight{position:absolute;top:50%;left:0;right:0;height:44px;transform:translateY(-50%);background:rgba(123,182,97,.1);border-top:2px solid var(--primary-color);border-bottom:2px solid var(--primary-color);pointer-events:none;z-index:1}.la-time-list{height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.la-time-list::-webkit-scrollbar{display:none}.la-time-item{display:flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:500;color:#aaa;scroll-snap-align:center;cursor:pointer;transition:color .15s,font-weight .15s;-webkit-user-select:none;user-select:none}.la-time-item.selected{color:var(--text-color);font-weight:700;font-size:1.15rem}.la-submit{width:100%;padding:.85rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.3px}.la-submit:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(123,182,97,.3)}.la-submit:active{transform:translateY(0)}.la-submit:disabled{background:#e1e5e9;cursor:not-allowed;transform:none;box-shadow:none}.la-submit.loading{opacity:.75}.la-message{padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;text-align:center;animation:la-fade-in .25s ease}.la-message.success{background:#f0fff4;color:#276749;border-left:3px solid var(--primary-color)}.la-message.error{background:#fff5f5;color:#c53030;border-left:3px solid #c53030}@keyframes la-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.la-search-wrapper{position:relative}.la-search-input{width:100%;box-sizing:border-box}.la-search-dropdown{position:relative;background:#fff;border:2px solid var(--primary-color);border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.1);max-height:240px;overflow-y:auto;list-style:none;margin:.35rem 0 0;padding:.25rem 0;scrollbar-width:thin;scrollbar-color:#ccc transparent}.la-search-dropdown::-webkit-scrollbar{width:5px}.la-search-dropdown::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.la-search-item{display:flex;align-items:center;justify-content:space-between;grid-gap:.5rem;gap:.5rem;padding:.65rem .9rem;cursor:pointer;transition:background .15s;font-size:.95rem}.la-search-item:hover{background:rgba(123,182,97,.1)}.la-search-name{color:var(--text-color);font-weight:500}.la-search-via{font-size:.72rem;font-weight:600;color:#888;background:#f3f3f3;border-radius:4px;padding:.1rem .4rem;white-space:nowrap;flex-shrink:0}.la-search-empty{padding:.75rem .9rem;font-size:.9rem;color:#aaa;text-align:center}.la-search-group-label{padding:.4rem .9rem .2rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#999;pointer-events:none;-webkit-user-select:none;user-select:none}.la-search-divider{height:1px;background:#f0f0f0;margin:.25rem 0}.la-selected-activity{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;border:2px solid var(--primary-color);border-radius:8px;background:rgba(123,182,97,.06)}.la-selected-name{font-size:.95rem;font-weight:600;color:var(--text-color)}.la-clear-activity{all:unset;cursor:pointer;font-size:1.25rem;line-height:1;color:#aaa;padding:0 .2rem;transition:color .15s}.la-clear-activity:hover{color:#c53030}@media (min-width:769px){.la-page{padding:2rem 1rem}.la-header{padding:1.5rem 2rem}.la-header h2{font-size:1.75rem}.la-content{padding:1.5rem 2rem}.la-tips{padding:.75rem 2rem}}.ad-page{padding:1rem .5rem;min-height:100vh;background:var(--background-color)}.ad-container{max-width:800px;margin:0 auto;background:#fff;border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.08);overflow:hidden}.ad-back-bar{padding:1rem 1.5rem;border-bottom:1px solid #f0f0f0}.ad-back-btn{background:none;border:none;color:var(--primary-color);font-size:.9rem;font-weight:600;cursor:pointer;padding:.3rem 0;width:auto;transition:color .2s ease}.ad-back-btn:hover{color:var(--primary-hover);text-decoration:underline}.ad-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #f0f0f0}.ad-header h3{margin:0 0 .75rem;font-size:1.35rem;font-weight:700;color:var(--text-color)}.ad-header-badges{display:flex;grid-gap:.4rem;gap:.4rem;flex-wrap:wrap}.ad-points-badge{border-radius:6px;background:#f0fff4;color:#276749;border:1px solid #c6f6d5}.ad-intensity-badge,.ad-points-badge{display:inline-block;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.ad-intensity-badge{border-radius:6px}.ad-intensity-low{background:#f0fff4;color:#276749;border:1px solid #c6f6d5}.ad-intensity-moderate{background:#fffaf0;color:#b7791f;border:1px solid #fbd38d}.ad-intensity-vigorous{background:#fff5f5;color:#c53030;border:1px solid #fed7d7}.ad-intensity-very_vigorous{background:#fff5f5;color:#9b2c2c;border:1px solid #feb2b2}.ad-info{padding:1.25rem 1.5rem;display:flex;flex-direction:column;grid-gap:.65rem;gap:.65rem}.ad-row{display:flex;align-items:baseline;grid-gap:.75rem;gap:.75rem}.ad-label{font-size:.82rem;font-weight:600;color:#888;min-width:90px;text-transform:uppercase;letter-spacing:.3px}.ad-value{font-size:.95rem;color:var(--text-color)}.ad-section{padding:0 1.5rem 1.25rem;border-top:1px solid #f0f0f0;margin-top:.5rem}.ad-section h4{margin:1rem 0 .75rem;font-size:.95rem;font-weight:600;color:var(--text-color)}.ad-section-header{display:flex;align-items:center;justify-content:space-between;margin:1rem 0 .75rem}.ad-section-header h4{margin:0}.ad-section-last{padding-bottom:1.5rem}.ad-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:.6rem;gap:.6rem}.ad-stat-item{display:flex;flex-direction:column;align-items:center;grid-gap:.25rem;gap:.25rem;padding:.75rem .5rem;background:#fafafa;border:1px solid #eee;border-radius:10px;text-align:center}.ad-stat-icon{font-size:1.4rem}.ad-stat-value{font-size:1.1rem;font-weight:700;color:var(--text-color)}.ad-stat-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.3px}.ad-user-row{display:flex;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.6rem .75rem;background:#fafafa;border:1px solid #eee;border-radius:8px;cursor:pointer;transition:all .2s ease}.ad-user-row:hover{background:#f5f5f5;border-color:rgba(123,182,97,.3)}.ad-user-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid rgba(123,182,97,.3);flex-shrink:0}.ad-avatar-img,.ad-avatar-img svg{width:100%;height:100%}.ad-user-info{flex:1 1;min-width:0;display:flex;flex-direction:column}.ad-user-name{font-weight:600;font-size:.95rem;color:var(--text-color)}.ad-user-meta{font-size:.8rem;color:#888}.ad-user-arrow{color:#ccc;font-size:1rem;flex-shrink:0}.ad-reactions-list{display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem;margin-bottom:.75rem}.ad-reaction-group{display:flex;align-items:center;grid-gap:.6rem;gap:.6rem;padding:.35rem 0;border-bottom:1px solid #f0f0f0}.ad-reaction-group:last-child{border-bottom:none}.ad-reaction-emoji{font-size:1.2rem;flex-shrink:0}.ad-reaction-users{display:flex;flex-wrap:wrap}.ad-reaction-username{font-size:.85rem;color:#555;font-weight:500}.ad-reactions-empty{color:#888;font-size:.88rem;margin:0 0 .75rem}.ad-reactions-actions{display:flex;flex-wrap:wrap;grid-gap:.4rem;gap:.4rem;padding-top:.75rem;border-top:1px solid #f0f0f0}.ad-reaction-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:1.1rem;border-radius:8px;border:1px solid #eee;background:#fafafa;cursor:pointer;transition:all .15s ease;line-height:1}.ad-reaction-btn:hover{background:#f0fff4;border-color:rgba(123,182,97,.4);transform:scale(1.1)}.ad-reaction-btn:active{transform:scale(.95)}.ad-reaction-btn.reacted{background:rgba(123,182,97,.12);border-color:rgba(123,182,97,.4);box-shadow:0 0 0 2px rgba(123,182,97,.1)}.ad-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;grid-gap:1rem;gap:1rem}.ad-spinner{width:40px;height:40px;border:3px solid rgba(123,182,97,.2);border-top:3px solid var(--primary-color);border-radius:50%;animation:ad-spin .8s linear infinite}@keyframes ad-spin{to{transform:rotate(1turn)}}.ad-loading p{color:#666;font-size:.95rem}.ad-error{margin:1rem 1.5rem 0;padding:.75rem 1rem;background:#fff5f5;color:#c53030;border-radius:8px;border-left:3px solid #c53030;font-size:.9rem}.ad-empty{text-align:center;padding:3rem 1rem;color:#888}.ad-empty p{margin:.25rem 0;font-size:.95rem}.ad-btn-danger-sm{padding:.3rem .75rem;background:#fff5f5;color:#c53030;border:1px solid #fed7d7;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:auto}.ad-btn-danger-sm:hover{background:#c53030;color:#fff;transform:translateY(-1px)}.ad-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;animation:ad-fade-in .2s ease}@keyframes ad-fade-in{0%{opacity:0}to{opacity:1}}.ad-modal{background:#fff;border-radius:14px;width:100%;max-width:400px;padding:1.5rem;box-shadow:0 20px 60px rgba(0,0,0,.15);animation:ad-slide-up .25s ease}@keyframes ad-slide-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.ad-modal h4{margin:0 0 .75rem;font-size:1.1rem;font-weight:700;color:var(--text-color)}.ad-modal p{color:#555;font-size:.9rem;line-height:1.5;margin:0 0 1.25rem}.ad-modal p strong{color:#c53030}.ad-modal-actions{display:flex;grid-gap:.5rem;gap:.5rem;justify-content:flex-end}.ad-btn-secondary{padding:.55rem 1.1rem;background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:auto}.ad-btn-secondary:hover{background:#edf2f7}.ad-btn-danger{padding:.55rem 1.1rem;background:#fff5f5;color:#c53030;border:1px solid #fed7d7;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:auto}.ad-btn-danger:hover{background:#c53030;color:#fff}.ad-btn-danger:disabled,.ad-btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.friends-page{padding:1rem .5rem;min-height:100vh;background:var(--background-color)}.friends-container{max-width:800px;margin:0 auto;background:#fff;border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.08);overflow:hidden}.friends-container h2{margin:0;padding:1.25rem 1rem;font-size:1.5rem;font-weight:700;color:var(--text-color);border-bottom:2px solid rgba(123,182,97,.15);background:linear-gradient(135deg,rgba(123,182,97,.05),rgba(94,148,79,.05))}.friends-error{background:#fff5f5;color:#c53030;border-left:3px solid #c53030}.friends-error,.friends-success{margin:1rem 1.5rem 0;padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.friends-success{background:#f0fff4;color:#276749;border-left:3px solid var(--primary-color)}.friends-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;grid-gap:1rem;gap:1rem}.friends-spinner{width:40px;height:40px;border:3px solid rgba(123,182,97,.2);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.friends-loading p{color:#666;font-size:.95rem}.friends-tabs{display:flex;border-bottom:1px solid #eee;padding:0 .5rem;grid-gap:0;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.friends-tab{padding:.75rem .875rem;background:none;border:none;border-bottom:2px solid transparent;color:#666;font-size:.82rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease;position:relative;width:auto;border-radius:0;text-transform:none;letter-spacing:normal}.friends-tab:hover{color:var(--primary-color);background:rgba(123,182,97,.04);transform:none;box-shadow:none}.friends-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.friends-badge{display:inline-flex;align-items:center;justify-content:center;background:#e53e3e;color:#fff;font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;padding:0 5px;margin-left:6px;line-height:1}.friends-content{padding:1rem}.friends-empty{text-align:center;padding:3rem 1rem;color:#888}.friends-empty p{margin:.25rem 0;font-size:.95rem}.friend-card,.friends-list{display:flex;flex-direction:column;grid-gap:.75rem;gap:.75rem}.friend-card{align-items:flex-start;padding:1rem;background:#fafafa;border:1px solid #eee;border-radius:10px;transition:all .2s ease}.friend-card:hover{background:#f5f5f5;border-color:rgba(123,182,97,.3)}.friend-info{display:flex;flex-direction:column;grid-gap:.2rem;gap:.2rem;min-width:0}.friend-username{font-weight:600;font-size:1rem;color:var(--text-color)}.friend-username-link{cursor:pointer}.friend-username-link:hover{text-decoration:underline;color:var(--primary-color,#7c6af7)}.friend-email{font-size:.8rem;color:#888}.friend-id-label{font-size:.7rem;color:#aaa;text-transform:uppercase;letter-spacing:.5px}.friend-id{font-size:.85rem;color:#555;font-family:monospace;overflow:hidden;text-overflow:ellipsis;max-width:300px}.friend-actions{display:flex;grid-gap:.5rem;gap:.5rem;flex-shrink:0}.friend-actions .status-badge,.friend-actions button{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;width:auto;text-transform:none;letter-spacing:normal}.btn-add{background:var(--primary-color);color:#fff}.btn-add:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-accept{background:var(--primary-color);color:#fff}.btn-accept:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-block{background:#fefcbf;color:#975a16;border:1px solid #fefcbf}.btn-block:hover{background:#975a16;color:#fff;transform:translateY(-1px)}.btn-search:disabled{transform:none}.status-badge{display:inline-block;padding:.5rem 1rem;border-radius:8px;font-size:.8rem;font-weight:600;cursor:default}.status-friend{background:#f0fff4;color:#276749;border:1px solid #c6f6d5}.status-pending{background:#fefcbf;color:#975a16;border:1px solid #fefcbf}.search-bar{display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem;margin-bottom:1rem}.search-bar input{flex:1 1;padding:.75rem 1rem;border:2px solid #eee;border-radius:8px;font-size:.95rem;transition:border-color .2s ease;margin-bottom:0;width:100%}.search-bar input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(123,182,97,.15)}@media (min-width:769px){.friends-page{padding:2rem 1rem}.friends-container h2{padding:1.5rem 2rem;font-size:1.75rem}.friends-tabs{padding:0 1rem}.friends-tab{padding:.875rem 1.25rem;font-size:.9rem}.friends-content{padding:1.5rem}.friend-card{flex-direction:row;align-items:center;justify-content:space-between;padding:1rem 1.25rem}.search-bar{flex-direction:row;grid-gap:.75rem;gap:.75rem}.friend-id{max-width:300px}}.ch-page{padding:1rem .5rem;min-height:100vh;background:var(--background-color)}.ch-container{max-width:800px;margin:0 auto;background:#fff;border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.08);overflow:hidden}.ch-header{display:flex;align-items:center;justify-content:space-between;grid-gap:2rem;gap:2rem;padding:1.25rem 1rem;border-bottom:2px solid rgba(123,182,97,.15);background:linear-gradient(135deg,rgba(123,182,97,.05),rgba(94,148,79,.05))}.ch-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-color)}.btn-create{padding:.45rem .9rem;background:var(--primary-color);color:#fff;border:none;border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;width:auto;flex-shrink:0}.btn-create:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(123,182,97,.3)}.ch-error{background:#fff5f5;color:#c53030;border-left:3px solid #c53030}.ch-error,.ch-success{margin:1rem 1.5rem 0;padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.ch-success{background:#f0fff4;color:#276749;border-left:3px solid var(--primary-color)}.ch-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;grid-gap:1rem;gap:1rem}.ch-spinner{width:40px;height:40px;border:3px solid rgba(123,182,97,.2);border-top:3px solid var(--primary-color);border-radius:50%;animation:ch-spin .8s linear infinite}@keyframes ch-spin{to{transform:rotate(1turn)}}.ch-loading p{color:#666;font-size:.95rem}.ch-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid #eee;padding:0}.ch-tab{flex:1 1;min-width:0;padding:.75rem .5rem;background:none;border:none;border-bottom:2px solid transparent;color:#666;font-size:.82rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease;width:auto;border-radius:0;text-transform:none;letter-spacing:normal;text-align:center}.ch-tab:hover{color:var(--primary-color);background:rgba(123,182,97,.04);transform:none;box-shadow:none}.ch-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.ch-content{padding:1.5rem}.ch-empty{text-align:center;padding:3rem 1rem;color:#888}.ch-empty p{margin:.25rem 0;font-size:.95rem}.ch-list{display:flex;flex-direction:column;grid-gap:.75rem;gap:.75rem}.ch-card{padding:1rem 1.25rem;background:#fafafa;border:1px solid #eee;border-radius:10px;cursor:pointer;transition:all .2s ease}.ch-card:hover{background:#f5f5f5;border-color:rgba(123,182,97,.3);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06)}.ch-card-header{justify-content:space-between;margin-bottom:.5rem;grid-gap:.75rem;gap:.75rem}.ch-card-header,.ch-card-name{display:flex;align-items:center}.ch-card-name{font-weight:600;font-size:1.05rem;color:var(--text-color);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;grid-gap:.4rem;gap:.4rem}.ch-card-icon{font-size:1.2rem;flex-shrink:0}.ch-detail-icon{margin-right:.4rem;font-size:1.3rem}.ch-card-badges{display:flex;grid-gap:.4rem;gap:.4rem;flex-shrink:0}.ch-card-meta{display:flex;align-items:center;flex-wrap:wrap;grid-gap:.35rem;gap:.35rem;font-size:.82rem;color:#666}.ch-card-sep{color:#ccc}.ch-card-role{margin-top:.5rem}.ch-card-actions{margin-top:.75rem;display:flex;grid-gap:.5rem;gap:.5rem}.ch-status-badge{display:inline-block;padding:.2rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.ch-status-upcoming{background:#fffaf0;color:#b7791f;border:1px solid #fbd38d}.ch-status-active{background:#f0fff4;color:#276749;border:1px solid #c6f6d5}.ch-status-completed{background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8}.ch-status-ended{background:#fafafa;color:#718096;border:1px solid #e2e8f0}.ch-visibility-badge{display:inline-block;padding:.2rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600}.ch-vis-public{background:#f0fff4;color:#276749;border:1px solid #c6f6d5}.ch-vis-friends_only{background:#fefcbf;color:#975a16;border:1px solid #fefcbf}.ch-vis-invite_only{background:#fed7e2;color:#97266d;border:1px solid #fed7e2}.ch-role-badge{display:inline-block;padding:.2rem .55rem;border-radius:6px;font-size:.7rem;font-weight:600}.ch-role-admin{background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8}.ch-role-member{background:#fafafa;color:#718096;border:1px solid #e2e8f0}.ch-search-section .search-bar{display:flex;grid-gap:.75rem;gap:.75rem;margin-bottom:1.5rem}.ch-search-section .search-bar input{flex:1 1;padding:.75rem 1rem;border:2px solid #eee;border-radius:8px;font-size:.95rem;transition:border-color .2s ease;margin-bottom:0}.ch-search-section .search-bar input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(123,182,97,.15)}.btn-search{background:var(--primary-color);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap;width:auto}.btn-search:hover{background:var(--primary-hover)}.btn-search:disabled{opacity:.6;cursor:not-allowed}.btn-primary{padding:.55rem 1.1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:auto}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-primary-sm{padding:.4rem .9rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:auto}.btn-primary-sm:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{padding:.55rem 1.1rem;background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:auto}.btn-secondary:hover{background:#edf2f7;transform:translateY(-1px)}.btn-danger{padding:.55rem 1.1rem;background:#fff5f5;color:#c53030;border:1px solid #fed7d7;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:auto}.btn-danger:hover{background:#c53030;color:#fff;transform:translateY(-1px)}.btn-promote-sm{padding:.25rem .65rem;background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8;border-radius:6px;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:auto}.btn-promote-sm:hover{background:#2b6cb0;color:#fff;transform:translateY(-1px)}.ch-detail-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;animation:ch-fade-in .2s ease}@keyframes ch-fade-in{0%{opacity:0}to{opacity:1}}.ch-detail-panel{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.15);position:relative;animation:ch-slide-up .25s ease}@keyframes ch-slide-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.ch-detail-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#aaa;cursor:pointer;line-height:1;padding:.25rem;width:auto;transition:color .2s}.ch-detail-close:hover{color:#333}.ch-detail-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #f0f0f0}.ch-detail-header h3{margin:0 0 .75rem;font-size:1.35rem;font-weight:700;color:var(--text-color);padding-right:2rem}.ch-detail-badges{display:flex;grid-gap:.4rem;gap:.4rem;flex-wrap:wrap}.ch-detail-info{padding:1.25rem 1.5rem;display:flex;flex-direction:column;grid-gap:.65rem;gap:.65rem}.ch-detail-row{display:flex;align-items:baseline;grid-gap:.75rem;gap:.75rem}.ch-detail-label{font-size:.82rem;font-weight:600;color:#888;min-width:90px;text-transform:uppercase;letter-spacing:.3px}.ch-detail-value{font-size:.95rem;color:var(--text-color)}.ch-type-desc{font-size:.82rem;color:#999}.ch-participants-section{padding:0 1.5rem 1.25rem;border-top:1px solid #f0f0f0;margin-top:.5rem}.ch-participants-section h4{margin:1rem 0 .75rem;font-size:.95rem;font-weight:600;color:var(--text-color)}.ch-participants-list{display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem}.ch-participant-row{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.5rem .75rem;background:#fafafa;border-radius:8px;border:1px solid #eee}.ch-participant-name{font-weight:500;font-size:.9rem;color:var(--text-color);flex:1 1;min-width:0}.ch-clickable-user{cursor:pointer;border-radius:4px;transition:color .2s ease,background .2s ease}.ch-clickable-user:hover{color:var(--primary-color);text-decoration:underline}.ch-detail-actions{padding:1rem 1.5rem 1.5rem;display:flex;grid-gap:.5rem;gap:.5rem;flex-wrap:wrap;border-top:1px solid #f0f0f0}.ch-recurrence-section{padding:0 1.5rem 1.25rem;border-top:1px solid #f0f0f0;margin-top:.5rem}.ch-recurrence-section h4{margin:1rem 0 .75rem;font-size:.95rem;font-weight:600;color:var(--text-color)}.ch-week-card{background:#fafafa;border:1px solid #eee;border-radius:10px;padding:.75rem 1rem;margin-bottom:.75rem}.ch-week-card.ch-week-current{border-color:rgba(123,182,97,.4);background:rgba(123,182,97,.04)}.ch-week-header{justify-content:space-between;margin-bottom:.4rem;flex-wrap:wrap;grid-gap:.25rem;gap:.25rem}.ch-week-header,.ch-week-title{display:flex;align-items:center}.ch-week-title{font-weight:600;font-size:.9rem;grid-gap:.4rem;gap:.4rem}.ch-week-badge-current{background:var(--primary-color,#7bb661)}.ch-week-badge-current,.ch-week-badge-done{font-size:.7rem;font-weight:600;color:#fff;padding:.1rem .45rem;border-radius:6px}.ch-week-badge-done{background:#888}.ch-week-dates{font-size:.78rem;color:#999}.ch-week-total{font-size:.82rem;color:#666;margin-bottom:.35rem}.ch-week-winners{background:rgba(255,215,0,.12);border:1px solid rgba(255,215,0,.3);border-radius:8px;padding:.4rem .6rem;font-size:.85rem;font-weight:600;color:#b8860b;margin-bottom:.5rem;display:flex;align-items:center;grid-gap:.3rem;gap:.3rem}.ch-winner-icon{font-size:1rem}.ch-week-leaderboard{display:flex;flex-direction:column;grid-gap:.3rem;gap:.3rem}.ch-lb-row{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.3rem .5rem;background:#fff;border-radius:6px;border:1px solid #f0f0f0;font-size:.85rem}.ch-lb-rank{font-weight:700;color:#999;min-width:1.8rem}.ch-lb-name{flex:1 1;font-weight:500;color:var(--text-color)}.ch-lb-sp{font-weight:600;color:var(--primary-color,#7bb661)}.ch-lb-row-me{background:rgba(123,182,97,.1);border-color:rgba(123,182,97,.3)}.ch-lb-row-me .ch-lb-name{font-weight:700}.ch-lb-row-me .ch-lb-rank{color:var(--primary-color,#7bb661)}.ch-my-results{background:linear-gradient(135deg,rgba(123,182,97,.08),rgba(94,148,79,.08));border:1px solid rgba(123,182,97,.25);border-radius:10px;padding:.75rem 1rem;margin-bottom:.75rem;display:flex;grid-gap:1.5rem;gap:1.5rem}.ch-my-results-row{display:flex;flex-direction:column;grid-gap:.15rem;gap:.15rem}.ch-my-results-label{font-size:.72rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.3px}.ch-my-results-value{font-size:1.1rem;font-weight:700;color:var(--primary-color,#7bb661)}.ch-form-section{padding:1.5rem}.ch-form-icon-group{flex:0 0 4.5rem}.ch-icon-picker-wrapper{position:relative}.ch-icon-input{font-size:1.5rem;text-align:center;padding:.45rem;width:100%;height:2.75rem;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s;line-height:1}.ch-icon-input:hover{border-color:var(--primary-color,#7bb661)}.ch-icon-clear{position:absolute;top:-.3rem;right:-.3rem;width:1.2rem;height:1.2rem;border-radius:50%;border:none;background:#e74c3c;color:#fff;font-size:.75rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.ch-emoji-picker-popover{position:absolute;top:100%;left:0;z-index:1000;margin-top:.35rem;box-shadow:0 8px 30px rgba(0,0,0,.15);border-radius:10px;overflow:hidden}.ch-emoji-picker-popover button,.ch-emoji-picker-popover button:hover{all:unset;background:transparent;transform:none;width:auto;padding:0;border-radius:0;color:inherit;font-size:inherit;cursor:pointer}.ch-form-section h3{margin:0 0 1.25rem;font-size:1.25rem;font-weight:700;color:var(--text-color)}.ch-form{display:flex;flex-direction:column;grid-gap:1rem;gap:1rem}.ch-form-group{display:flex;flex-direction:column;grid-gap:.35rem;gap:.35rem;flex:1 1}.ch-form-group label{font-size:.82rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.3px}.ch-form-group input,.ch-form-group select{padding:.7rem .9rem;border:2px solid #eee;border-radius:8px;font-size:.95rem;transition:border-color .2s ease;margin-bottom:0}.ch-form-group input:focus,.ch-form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(123,182,97,.15)}.ch-form-hint{font-size:.78rem;color:#999;font-style:italic}.ch-toggle-label{display:flex;align-items:center;grid-gap:.6rem;gap:.6rem;cursor:pointer;font-weight:600;margin-bottom:.5rem}.ch-toggle-input{display:none}.ch-toggle-switch{position:relative;width:44px;height:24px;background:#ccc;border-radius:12px;transition:background .2s}.ch-toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s}.ch-toggle-input:checked+.ch-toggle-switch{background:var(--primary-color,#7bb661)}.ch-toggle-input:checked+.ch-toggle-switch:after{transform:translateX(20px)}.ch-form-row{display:flex;grid-gap:1rem;gap:1rem}.ch-form-actions{display:flex;grid-gap:.75rem;gap:.75rem;margin-top:.5rem}@media (min-width:769px){.ch-page{padding:2rem 1rem}.ch-header{padding:1.5rem 2rem}.ch-header h2{font-size:1.75rem}.ch-tabs{padding:0 1rem;flex-wrap:nowrap}.ch-tab{flex:none;padding:.875rem 1.25rem;font-size:.9rem}.ch-content{padding:1.5rem}.ch-detail-panel{border-radius:16px}.ch-detail-header{padding:1.5rem 2rem 1rem}.ch-detail-info{padding:1.5rem 2rem}.ch-participants-section{padding:0 2rem 1.5rem}.ch-detail-actions{padding:1rem 2rem}.ch-form-section{padding:1.5rem}}.ch-tab-count{display:inline-flex;align-items:center;justify-content:center;background:rgba(123,182,97,.18);color:var(--primary-color);font-size:.68rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;padding:0 5px;margin-left:5px;line-height:1}.ch-tab.active .ch-tab-count{background:rgba(123,182,97,.25)}.ch-invite-badge{display:inline-flex;align-items:center;justify-content:center;background:#e53e3e;color:#fff;font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;padding:0 5px;margin-left:6px;line-height:1}.ch-invite-card{cursor:default}.ch-invite-card .ch-card-header{cursor:pointer}.ch-invite-from{font-size:.85rem;color:#666;margin-top:.4rem}.ch-find-section{display:flex;flex-direction:column;grid-gap:1.5rem;gap:1.5rem}.ch-invites-group{display:flex;flex-direction:column;grid-gap:.75rem;gap:.75rem}.ch-section-title{margin:0;font-size:.85rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.3px}.btn-danger-sm{padding:.4rem .9rem;background:#fff5f5;color:#c53030;border:1px solid #fed7d7;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:auto}.btn-danger-sm:hover{background:#c53030;color:#fff;transform:translateY(-1px)}.chd-back-bar{padding:1rem 1.5rem;border-bottom:1px solid #f0f0f0}.chd-back-btn{background:none;border:none;color:var(--primary-color);font-size:.9rem;font-weight:600;cursor:pointer;padding:.3rem 0;width:auto;transition:color .2s ease}.chd-back-btn:hover{color:var(--primary-hover);text-decoration:underline}.chd-invite-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;animation:chd-fade-in .2s ease}@keyframes chd-fade-in{0%{opacity:0}to{opacity:1}}.chd-invite-panel{background:#fff;border-radius:14px;width:100%;max-width:420px;max-height:70vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.15);animation:chd-slide-up .25s ease}@keyframes chd-slide-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.chd-invite-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #f0f0f0}.chd-invite-header h4{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-color)}.chd-invite-close{background:none;border:none;font-size:1.5rem;color:#aaa;cursor:pointer;line-height:1;padding:.25rem;width:auto;transition:color .2s}.chd-invite-close:hover{color:#333}.chd-invite-body{padding:1rem 1.25rem}.chd-invite-empty{text-align:center;padding:2rem 1rem;color:#888}.chd-invite-empty p{margin:.25rem 0;font-size:.9rem}.chd-invite-list{display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem}.chd-invite-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;background:#fafafa;border:1px solid #eee;border-radius:8px}.chd-invite-name{font-weight:500;font-size:.9rem;color:var(--text-color)}.market-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fdf5,#f1f8ed);padding:1.5rem}.coming-soon-container{text-align:center;max-width:420px;width:100%;padding:2.5rem 1.5rem;background:#fff;border-radius:20px;box-shadow:0 8px 30px rgba(123,182,97,.1);border:1px solid rgba(123,182,97,.1)}.coming-soon-icon{margin-bottom:1.5rem;color:var(--primary-color);opacity:.6}.coming-soon-icon svg{width:64px;height:64px}.coming-soon-container h1{font-size:1.8rem;font-weight:700;color:var(--text-color);margin:0 0 1rem}.coming-soon-badge{display:inline-block;padding:.5rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-radius:20px;font-weight:700;font-size:.9rem;letter-spacing:.5px;margin-bottom:1.5rem}.coming-soon-container p{color:#666;font-size:.95rem;line-height:1.6;margin-bottom:2rem}.coming-soon-features{flex-direction:column}.coming-soon-features,.feature-preview{display:flex;grid-gap:.75rem;gap:.75rem}.feature-preview{align-items:center;padding:.875rem 1.25rem;background:linear-gradient(135deg,#f8fdf5,#f1f8ed);border-radius:12px;border:1px solid rgba(123,182,97,.15);font-weight:500;color:var(--text-color);font-size:.9rem}.feature-icon{font-size:1.3rem}@media (min-width:769px){.coming-soon-container{padding:3rem 2.5rem}.coming-soon-container h1{font-size:2.2rem}.coming-soon-features{flex-direction:row;justify-content:center}.feature-preview{flex-direction:column;text-align:center;padding:1.25rem;flex:1 1}.feature-icon{font-size:1.6rem}}.up-page{padding:1rem .5rem;min-height:100vh;background:var(--background-color)}.up-container{max-width:800px;margin:0 auto;background:#fff;border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.08);overflow:hidden}.up-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;grid-gap:1rem;gap:1rem}.up-spinner{width:40px;height:40px;border:3px solid rgba(123,182,97,.2);border-top:3px solid var(--primary-color);border-radius:50%;animation:up-spin .8s linear infinite}@keyframes up-spin{to{transform:rotate(1turn)}}.up-loading p{color:#666;font-size:.95rem;margin:0}.up-error-state{display:flex;flex-direction:column;align-items:center;padding:3rem 1.5rem;grid-gap:.75rem;gap:.75rem;text-align:center}.up-error-icon{font-size:2.5rem}.up-error-state p{color:#c53030;margin:0;font-size:.95rem}.up-header{display:flex;align-items:center;grid-gap:1rem;gap:1rem;padding:1.25rem 1rem;border-bottom:2px solid rgba(123,182,97,.15);background:linear-gradient(135deg,rgba(123,182,97,.05),rgba(94,148,79,.05))}.up-header h2{margin:0;font-size:1.4rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis}.up-back-btn,.up-header h2{color:var(--text-color);white-space:nowrap}.up-back-btn{padding:.45rem .9rem;background:#f7fafc;border:1px solid #e2e8f0;border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0;width:auto;text-transform:none;letter-spacing:normal}.up-back-btn:hover{background:#edf2f7;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.06)}.up-identity{flex-direction:column;grid-gap:.75rem;gap:.75rem;padding:2rem 1rem 1.5rem;border-bottom:1px solid #f0f0f0}.up-avatar-wrap,.up-identity{display:flex;align-items:center}.up-avatar-wrap{width:100px;height:100px;border-radius:16px;border:3px solid var(--primary-color);padding:8px;background:linear-gradient(135deg,#f5f7fa,#e4ead8);box-shadow:0 4px 16px rgba(0,0,0,.08);justify-content:center;overflow:hidden}.up-avatar{width:100%;height:100%}.up-username{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-color)}.up-status-badge{display:inline-block;padding:.3rem .85rem;border-radius:20px;font-size:.82rem;font-weight:600}.up-badge-friend{background:#e8f5e9;color:#2e7d32}.up-badge-self{background:#e3f2fd;color:#1565c0}.up-section{padding:1.25rem 1rem;border-top:1px solid #f0f0f0}.up-section-title{margin:0 0 1rem;font-size:1.05rem;font-weight:700;color:var(--text-color)}.up-stat-tiles{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.up-stat-tile{display:flex;flex-direction:column;align-items:center;grid-gap:.25rem;gap:.25rem;padding:1.25rem .75rem;background:#fafafa;border:1px solid #eee;border-radius:12px;border-top:3px solid var(--primary-color)}.up-stat-icon{font-size:1.5rem}.up-stat-value{font-size:1.75rem;font-weight:800;color:var(--primary-color);line-height:1}.up-stat-label{font-size:.78rem;font-weight:600;color:#888;text-align:center}.up-challenge-list{display:flex;flex-direction:column;grid-gap:.6rem;gap:.6rem}.up-challenge-card{padding:.9rem 1rem;background:#fafafa;border:1px solid #eee;border-radius:10px;cursor:pointer;transition:all .2s ease}.up-challenge-card:hover{background:#f5f5f5;border-color:rgba(123,182,97,.3);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06)}.up-challenge-card-header{display:flex;align-items:center;justify-content:space-between;grid-gap:.75rem;gap:.75rem;margin-bottom:.4rem}.up-challenge-name{font-weight:600;font-size:.95rem;color:var(--text-color);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-challenge-icon{margin-right:.25rem}.up-challenge-badge{font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:12px;white-space:nowrap;flex-shrink:0}.up-badge-active{background:#e8f5e9;color:#2e7d32}.up-badge-upcoming{background:#e3f2fd;color:#1565c0}.up-badge-completed{background:#f3e5f5;color:#6a1b9a}.up-challenge-meta{display:flex;grid-gap:.75rem;gap:.75rem;font-size:.8rem;color:#888;text-transform:capitalize}.up-activity-list{display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem}.up-activity-card{padding:.85rem 1rem;background:#fafafa;border:1px solid #eee;border-radius:10px;cursor:pointer;transition:all .2s ease}.up-activity-card:hover{background:#f5f5f5;border-color:rgba(123,182,97,.3);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06)}.up-activity-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}.up-activity-type{font-weight:600;color:var(--text-color);font-size:.95rem;text-transform:capitalize}.up-activity-points{font-size:.88rem;font-weight:700;color:var(--primary-color)}.up-activity-meta{display:flex;grid-gap:.6rem;gap:.6rem;font-size:.8rem;color:#888;align-items:center;flex-wrap:wrap}.up-intensity-badge{padding:.15rem .5rem;background:rgba(123,182,97,.12);border-radius:8px;font-size:.75rem;text-transform:capitalize}.up-intensity-badge,.up-load-more{color:var(--primary-color);font-weight:600}.up-load-more{margin-top:.75rem;width:100%;padding:.6rem;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.88rem;cursor:pointer;transition:all .2s ease;text-transform:none;letter-spacing:normal}.up-load-more:hover:not(:disabled){background:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(123,182,97,.3)}.up-load-more:disabled{opacity:.6;cursor:not-allowed}.up-empty{padding:1.5rem 1rem;color:#888;font-size:.9rem}.up-empty,.up-sub-loading{text-align:center;margin:0}.up-sub-loading{padding:1rem;color:#aaa;font-size:.88rem}.up-actions-section{display:flex;flex-direction:column;align-items:center;grid-gap:.75rem;gap:.75rem}.up-action-success{background:#f0fff4;color:#276749;border-left:3px solid var(--primary-color)}.up-action-error,.up-action-success{width:100%;padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.up-action-error{background:#fff5f5;color:#c53030;border-left:3px solid #c53030}.up-btn{padding:.55rem 1.1rem;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;width:auto;text-transform:none;letter-spacing:normal}.up-btn:disabled{opacity:.6;cursor:not-allowed}.up-btn-primary{background:var(--primary-color);color:#fff}.up-btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(123,182,97,.3)}.up-btn-secondary{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.up-btn-secondary:hover:not(:disabled){background:#edf2f7;transform:translateY(-1px)}.up-btn-muted{background:linear-gradient(135deg,#78909c,#546e7a);color:#fff}.up-btn-muted:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.up-btn-danger{background:linear-gradient(135deg,#ef5350,#c62828);color:#fff}.up-btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.up-btn-danger-outline{background:transparent;color:#c62828;border:1px solid #ef5350}.up-btn-danger-outline:hover:not(:disabled){background:#ffebee;transform:translateY(-1px)}.up-btn-block{background:linear-gradient(135deg,#b71c1c,#880e4f);color:#fff}.up-btn-block:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.up-btn-full{width:100%;max-width:320px;padding:.8rem 1.5rem;font-size:1rem;border-radius:10px}.up-manage-buttons{display:flex;grid-gap:.6rem;gap:.6rem;width:100%;justify-content:center}.up-manage-buttons .up-btn{flex:1 1;max-width:180px}.up-pending-box{display:flex;flex-direction:column;align-items:center;grid-gap:.5rem;gap:.5rem;padding:1rem;background:#fff8e1;border-radius:12px;width:100%;text-align:center}.up-pending-icon{font-size:1.75rem}.up-pending-box>p{margin:0;color:#f57f17;font-weight:600;font-size:.9rem}.up-received-box{display:flex;flex-direction:column;align-items:center;grid-gap:.75rem;gap:.75rem;padding:1rem;background:#e8f5e9;border-radius:12px;width:100%;text-align:center}.up-received-box>p{margin:0;color:#2e7d32;font-weight:600;font-size:.9rem}.up-received-buttons{display:flex;grid-gap:.6rem;gap:.6rem;width:100%;max-width:300px}.up-received-buttons .up-btn{flex:1 1}.up-confirm-box{background:#fff3e0;border:2px solid #ffb74d;border-radius:12px;padding:1.25rem;width:100%;text-align:center}.up-confirm-box>p{margin:0 0 1rem;color:#e65100;font-weight:600;font-size:.92rem}.up-confirm-danger{background:#ffebee;border-color:#ef5350}.up-confirm-danger>p{color:#c62828}.up-confirm-buttons{display:flex;grid-gap:.6rem;gap:.6rem;justify-content:center}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:hsla(0,0%,100%,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;justify-content:space-around;align-items:flex-end;border-top:1px solid rgba(0,0,0,.06);box-shadow:0 -4px 20px rgba(0,0,0,.04);z-index:1000;padding-bottom:env(safe-area-inset-bottom,0)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;border:none;background:none;padding:6px 0 8px;cursor:pointer;color:#999;font-size:.65rem;font-weight:500;grid-gap:2px;gap:2px;transition:color .2s ease;width:20%;min-width:0;-webkit-tap-highlight-color:transparent;letter-spacing:.02em;text-transform:none;border-radius:0}.nav-item:hover{background:none;transform:none;box-shadow:none}.nav-item.active,.nav-item:hover{color:var(--primary-color)}.nav-item.active .nav-label{font-weight:700}.nav-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px}.nav-icon svg{width:24px;height:24px}.nav-icon-profile{position:relative}.nav-badge{position:absolute;top:-4px;right:-8px;background:#e53e3e;color:#fff;font-size:.6rem;font-weight:700;min-width:16px;height:16px;padding:0 4px;border-radius:8px;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,.2)}.nav-label{font-size:.65rem;line-height:1;white-space:nowrap}.nav-item.action-btn{position:relative;padding-top:0}.action-icon{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 15px rgba(123,182,97,.4);margin-top:-24px;margin-bottom:0;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0}.action-icon svg{width:26px;height:26px;stroke:#fff}.nav-item.action-btn:active .action-icon,.nav-item.action-btn:hover .action-icon{transform:scale(1.1);box-shadow:0 6px 20px rgba(123,182,97,.5)}.nav-item.action-btn .nav-label{color:var(--primary-color);font-weight:600}.nav-item.action-btn:hover{color:var(--primary-color)}.app-layout{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app-content{flex:1 1;padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px))}@media (min-width:769px){.bottom-nav{height:68px}.nav-item{font-size:.72rem;grid-gap:3px;gap:3px}.nav-icon svg{width:26px;height:26px}.action-icon{width:56px;height:56px;margin-top:-26px}.action-icon svg{width:28px;height:28px}.app-content{padding-bottom:calc(76px + env(safe-area-inset-bottom, 0px))}}:root{--primary-color:#7bb661;--primary-hover:#5e944f;--text-color:#222;--background-color:#f9f9f9;--border-color:#ddd;--shadow-color:rgba(0,0,0,0.1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--background-color);color:var(--text-color);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overscroll-behavior-y:none}button:disabled{background:#ccc;cursor:not-allowed;transform:none}
/*# sourceMappingURL=main.a6f293e9.chunk.css.map */