:root{--text:#6b6375;--text-h:#08060d;--bg:#f8fafc;--surface:#fff;--surface-soft:#f1f5f9;--border:#e5e4e7;--ring:#03a9f459;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--text-primary:var(--text-h);--text-secondary:#475569;--text-muted:var(--text);--card-bg:var(--surface);--border-subtle:color-mix(in srgb, var(--text-h) 10%, transparent);--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--surface:#1d1f27;--surface-soft:#20232c;--border:#2e303a;--ring:#4fc3f759;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--text-primary:var(--text-h);--text-secondary:#94a3b8;--text-muted:var(--text);--card-bg:var(--surface);--border-subtle:color-mix(in srgb, var(--text-h) 12%, transparent)}#social .button-icon{filter:invert()brightness(2)}}:root[data-theme=light]{--text:#6b6375;--text-h:#08060d;--bg:#f8fafc;--surface:#fff;--surface-soft:#f1f5f9;--border:#e5e4e7;--ring:#03a9f459;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--text-primary:var(--text-h);--text-secondary:#475569;--text-muted:var(--text);--card-bg:var(--surface);--border-subtle:color-mix(in srgb, var(--text-h) 10%, transparent)}:root[data-theme=dark]{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--surface:#1d1f27;--surface-soft:#20232c;--border:#2e303a;--ring:#4fc3f759;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--text-primary:var(--text-h);--text-secondary:#94a3b8;--text-muted:var(--text);--card-bg:var(--surface);--border-subtle:color-mix(in srgb, var(--text-h) 12%, transparent)}:root[data-theme=dark] #social .button-icon{filter:invert()brightness(2)}#root{box-sizing:border-box;min-height:100vh}body{background:radial-gradient(circle at 12% 12%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 42%), radial-gradient(circle at 88% 0%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 38%), var(--bg);color:var(--text);margin:0}a{color:inherit}::selection{background:color-mix(in srgb, var(--primary,#03a9f4) 32%, transparent)}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.layout{background:radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--primary) 13%, transparent), transparent 36%), linear-gradient(180deg, color-mix(in srgb, var(--primary) 8%, var(--bg)) 0%, var(--bg) 100%);flex-direction:column;min-height:100vh;display:flex}.layout-header{text-align:center;flex-shrink:0;padding:1rem 1.25rem .65rem;position:relative}.layout-logo{width:min(158px,58vw);max-width:158px;height:auto;filter:drop-shadow(0 8px 12px color-mix(in srgb, var(--primary) 20%, transparent));margin:.6rem auto .15rem;display:block}.layout-title{color:var(--primary);letter-spacing:-.03em;margin:.15rem 0 0;font-size:1.4rem;font-weight:800}.layout-tagline{color:color-mix(in srgb, var(--text) 70%, transparent);margin:.2rem 0 0;font-size:.76rem}.layout-main{flex-direction:column;flex:1;padding:.8rem 1.25rem 5rem;display:flex;overflow-y:auto}.layout-outlet{flex:1;min-height:0}.layout-powered{text-align:center;color:color-mix(in srgb, var(--text) 70%, transparent);flex-shrink:0;margin-top:1.25rem;padding:.25rem 0;font-size:.65rem}.layout-powered a{color:var(--primary);font-weight:600;text-decoration:none}.layout-powered a:hover{text-decoration:underline}.layout-nav{padding:.45rem .3rem max(.45rem, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 88%, transparent);border:1px solid color-mix(in srgb, var(--border) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;border-radius:16px;justify-content:space-around;display:flex;position:fixed;bottom:.45rem;left:.7rem;right:.7rem;box-shadow:0 16px 30px #0000001f}.layout-nav-link{color:color-mix(in srgb, var(--text) 70%, transparent);border-radius:11px;flex-direction:column;align-items:center;gap:.25rem;padding:.38rem .72rem;font-size:.68rem;text-decoration:none;transition:color .2s,background .2s,transform 80ms;display:flex}.layout-nav-link:hover{color:var(--primary);transform:translateY(-1px)}.layout-nav-link.active{color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);font-weight:600}.nav-icon{font-size:1.25rem}.nav-label{font-size:.65rem}.theme-toggle{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:color-mix(in srgb, var(--surface) 80%, transparent);width:2.35rem;height:2.35rem;color:var(--text-h);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;font-size:1.15rem;transition:background .15s,transform 50ms,border-color .15s;display:inline-flex;position:absolute;top:1rem;right:1rem}.theme-toggle:hover{background:color-mix(in srgb, var(--primary) 12%, var(--bg));border-color:color-mix(in srgb, var(--primary) 45%, var(--border))}.theme-toggle:active{transform:scale(.98)}.theme-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.onboarding{text-align:center;background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 12%, var(--bg)) 0%, var(--bg) 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.onboarding-slide{flex-direction:column;flex:1;justify-content:center;max-width:360px;display:flex}.onboarding-title{color:var(--primary);margin:0 0 .5rem;font-size:2rem;font-weight:800}.onboarding-subtitle{color:var(--text-h);margin:0 0 1rem;font-size:1.1rem}.onboarding-body{color:var(--text);margin:0;font-size:.95rem;line-height:1.5}.onboarding-dots{gap:.5rem;margin:2rem 0;display:flex}.onboarding-dots .dot{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,transform .2s}.onboarding-dots .dot.active{background:var(--primary);transform:scale(1.2)}.onboarding-actions{justify-content:space-between;gap:1rem;width:100%;max-width:320px;display:flex}.btn.primary{background:var(--primary);color:#fff}.btn.secondary{background:var(--surface-soft);color:var(--text-h);border:1px solid var(--border)}.onboarding-site{text-align:left;flex-direction:column;gap:.5rem;width:100%;max-width:360px;margin-top:.75rem;display:flex}.onboarding-site-label{color:var(--text-h);font-size:.9rem;font-weight:700}.onboarding-site-select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:12px;padding:.75rem .9rem}.onboarding-site-error{color:#dc2626;text-align:center;font-size:.85rem}.auth-page{background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 12%, var(--bg)) 0%, var(--bg) 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--bg);border-radius:20px;width:100%;max-width:380px;padding:2rem;box-shadow:0 10px 40px #00000014}.auth-title{color:var(--primary);text-align:center;margin:0 0 .25rem;font-size:1.75rem;font-weight:800}.auth-tagline{text-align:center;color:var(--text);margin:0 0 1.5rem;font-size:.9rem}.auth-error{color:#b91c1c;background:#fef2f2;border-radius:10px;margin-bottom:1rem;padding:.75rem;font-size:.85rem}.auth-form{flex-direction:column;gap:.75rem;display:flex}.auth-input{border:1px solid var(--border);border-radius:12px;padding:.85rem 1rem;font-size:1rem;transition:border-color .2s}.auth-input:focus{border-color:var(--primary);outline:none}.auth-divider{text-align:center;color:var(--text);margin:1rem 0;font-size:.85rem}.auth-switch{text-align:center;color:var(--text);margin-top:1.25rem;font-size:.9rem}.auth-link{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.btn.full{width:100%}.btn.google{background:var(--bg);color:var(--text-h);border:1px solid var(--border)}.btn.google:hover{background:color-mix(in srgb, var(--bg) 85%, var(--primary))}.points-card{background:radial-gradient(120% 130% at 0% 0%, color-mix(in srgb, var(--primary) 22%, var(--surface)) 0%, color-mix(in srgb, var(--primary) 8%, var(--surface)) 45%, var(--surface) 90%);border:1px solid color-mix(in srgb, var(--primary) 22%, var(--border));box-shadow:0 14px 32px color-mix(in srgb, var(--primary) 14%, transparent), 0 4px 10px #0000000f;border-radius:22px;margin-bottom:1.25rem;padding:1.5rem 1.25rem;position:relative;overflow:hidden}.points-card:after{content:"";background:radial-gradient(closest-side, color-mix(in srgb, var(--primary) 22%, transparent), transparent 70%);pointer-events:none;width:60%;height:140%;position:absolute;top:-40%;right:-20%}.points-card-total{text-align:center;z-index:1;position:relative}.points-card-total .points-value{letter-spacing:-.04em;color:var(--primary);text-shadow:0 2px 14px color-mix(in srgb, var(--primary) 25%, transparent);font-size:2.75rem;font-weight:800;line-height:1;display:block}.points-label{letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb, var(--text) 78%, transparent);margin-top:.45rem;font-size:.72rem;font-weight:700;display:block}.home{max-width:480px;margin:0 auto}.home-greeting{margin:0 0 1rem;padding:0 .15rem}.home-greeting-title{letter-spacing:-.02em;color:var(--text-h);margin:0;font-size:1.6rem;font-weight:800;line-height:1.15}.home-greeting-name{color:var(--primary)}.home-greeting-sub{color:color-mix(in srgb, var(--text) 80%, transparent);margin:.2rem 0 0;font-size:.9rem}.home-section{margin-bottom:1.4rem}.section-header{justify-content:space-between;align-items:center;gap:.5rem;margin:0 0 .75rem;display:flex}.section-title{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--text) 80%, transparent);margin:0 0 .75rem;font-size:.78rem;font-weight:700}.section-header .section-title{margin:0}.section-count{color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);border:1px solid color-mix(in srgb, var(--primary) 22%, transparent);border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:600}.quick-log-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.quick-log-card{background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:1rem .85rem;text-decoration:none;transition:transform .1s,box-shadow .2s,border-color .2s,background .2s;display:flex;box-shadow:0 6px 14px #0000000f}.quick-log-card:hover{background:linear-gradient(150deg, color-mix(in srgb, var(--primary) 8%, var(--surface)) 0%, var(--surface) 70%);box-shadow:0 14px 24px color-mix(in srgb, var(--primary) 14%, transparent);border-color:color-mix(in srgb, var(--primary) 35%, var(--border));transform:translateY(-2px)}.quick-log-card:active{transform:translateY(0)}.quick-log-emoji{margin-bottom:.4rem;font-size:1.8rem;line-height:1}.quick-log-label{color:var(--text-h);text-align:center;font-size:.9rem;font-weight:700}.quick-log-points{color:var(--primary);margin-top:.15rem;font-size:.78rem;font-weight:700}.empty-state{color:var(--text);background:var(--surface);border:1px dashed color-mix(in srgb, var(--primary) 28%, var(--border));text-align:center;border-radius:14px;margin:0;padding:1rem 1.1rem;font-size:.9rem}.activity-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.activity-item{background:var(--surface);border:1px solid var(--border);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.75rem .9rem;transition:box-shadow .2s,transform 80ms,border-color .2s;display:grid;box-shadow:0 4px 10px #0000000d}.activity-item:hover{border-color:color-mix(in srgb, var(--primary) 30%, var(--border));box-shadow:0 8px 18px #00000014}.activity-icon{background:color-mix(in srgb, var(--primary) 10%, var(--surface-soft));border:1px solid color-mix(in srgb, var(--primary) 18%, var(--border));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.35rem;line-height:1;display:inline-flex}.activity-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.activity-title{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.activity-meta{color:color-mix(in srgb, var(--text) 80%, transparent);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.activity-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.3rem;display:flex}.activity-points{color:var(--primary);letter-spacing:-.01em;font-size:.85rem;font-weight:700}.activity-status{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:.2rem .55rem;font-size:.62rem;font-weight:700}.activity-status.status-pending{color:#a16207;background:#f59e0b2e;border-color:#f59e0b59}.activity-status.status-completed{color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent);border-color:color-mix(in srgb, var(--primary) 32%, transparent)}.activity-status.status-verified{color:#15803d;background:#22c55e2e;border-color:#22c55e59}:root[data-theme=dark] .activity-status.status-pending{color:#fbbf24}:root[data-theme=dark] .activity-status.status-verified{color:#4ade80}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .activity-status.status-pending{color:#fbbf24}:root:not([data-theme=light]) .activity-status.status-verified{color:#4ade80}}.feed-page{max-width:560px;margin:0 auto;padding-bottom:1rem}.page-title{color:var(--text-h);letter-spacing:-.02em;margin:0 0 1.25rem;font-size:1.35rem;font-weight:500}.feed-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.feed-post{background:color-mix(in srgb, var(--bg) 92%, var(--primary) 8%);border:1px solid var(--border);border-radius:18px;padding:1.05rem 1.05rem .95rem;transition:transform .14s,box-shadow .14s,border-color .14s;position:relative;overflow:hidden;box-shadow:0 10px 24px #0000000d}.feed-post:before{content:"";background:linear-gradient(120deg, color-mix(in srgb, var(--primary) 18%, transparent) 0%, transparent 55%);opacity:0;pointer-events:none;transition:opacity .14s;position:absolute;inset:0}.feed-post:hover{border-color:color-mix(in srgb, var(--primary) 25%, var(--border) 75%);transform:translateY(-2px);box-shadow:0 16px 36px #00000014}.feed-post:hover:before{opacity:1}.feed-post-header{align-items:center;gap:.85rem;margin-bottom:.75rem;display:flex}.feed-post-avatar,.feed-post-avatar-placeholder{object-fit:cover;border-radius:50%;flex-shrink:0;width:42px;height:42px}.feed-post-avatar-placeholder{background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 70%, white) 0%, color-mix(in srgb, var(--primary) 40%, var(--bg)) 100%);color:#fff;border:1px solid color-mix(in srgb, var(--primary) 35%, var(--border) 65%);justify-content:center;align-items:center;font-size:1rem;font-weight:500;display:flex}.feed-post-meta{flex:1}.feed-post-name{color:var(--text-h);font-weight:500;line-height:1.1;display:block}.feed-post-time{color:color-mix(in srgb, var(--text) 65%, transparent);font-size:.75rem}.feed-post-delete{background:color-mix(in srgb, var(--bg) 86%, var(--border) 14%);border:1px solid var(--border);color:color-mix(in srgb, var(--text) 75%, var(--bg));cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1.1rem;transition:background .12s,transform .12s,border-color .12s;display:inline-flex}.feed-post-delete:hover{background:color-mix(in srgb, var(--bg) 70%, var(--primary) 30%);border-color:color-mix(in srgb, var(--primary) 35%, var(--border) 65%)}.feed-post-delete:active{transform:scale(.98)}.feed-post-activity{color:var(--text-h);flex-direction:column;align-items:flex-start;gap:.3rem;margin:0 0 .25rem;font-size:.95rem;font-weight:500;display:flex}.feed-post-activity.is-badge{flex-direction:column;align-items:flex-start;gap:.3rem;display:flex}.feed-post-badge-tag{letter-spacing:.04em;color:color-mix(in srgb, var(--primary) 90%, var(--text-h));background:color-mix(in srgb, var(--primary) 14%, var(--bg));border:1px solid color-mix(in srgb, var(--primary) 30%, var(--border) 70%);text-transform:uppercase;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.feed-post-badge-title,.feed-post-activity-title{color:var(--text-h);font-size:1.05rem;font-weight:600}.feed-post-type-tag{line-height:1}.feed-post-desc{color:color-mix(in srgb, var(--text) 70%, transparent);margin:.05rem 0 .6rem;font-size:.9rem;line-height:1.35}.feed-post-points{color:color-mix(in srgb, var(--primary) 90%, var(--text-h));background:color-mix(in srgb, var(--primary) 12%, var(--bg));border:1px solid color-mix(in srgb, var(--primary) 25%, var(--border) 75%);border-radius:999px;align-items:center;padding:.25rem .6rem;font-size:.82rem;font-weight:500;display:inline-flex}.feed-post-image{object-fit:cover;border:1px solid var(--border);border-radius:14px;width:100%;max-height:240px;margin-top:.7rem}.feed-post-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:.65rem;margin-top:.85rem;padding-top:.8rem;display:flex}.feed-action{background:color-mix(in srgb, var(--bg) 86%, var(--border) 14%);border:1px solid var(--border);color:color-mix(in srgb, var(--text) 72%, transparent);cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .8rem;font-size:.9rem;transition:background .12s,border-color .12s,transform .12s;display:inline-flex}.feed-action:hover{background:color-mix(in srgb, var(--bg) 70%, var(--primary) 30%);border-color:color-mix(in srgb, var(--primary) 30%, var(--border) 70%)}.feed-action:active{transform:scale(.99)}.feed-action.liked{color:#dc2626;background:color-mix(in srgb, var(--bg) 85%, #dc2626 15%);border-color:color-mix(in srgb, #dc2626 40%, var(--border) 60%)}.feed-comments{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 80%, var(--border) 20%);border-radius:14px;margin-top:1rem;padding:1rem}.feed-comment-form{gap:.5rem;margin-bottom:.75rem;display:flex}.feed-comment-input{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 90%, var(--primary) 10%);color:var(--text);border-radius:12px;flex:1;padding:.5rem .75rem;font-size:.9rem}.feed-comment-input:focus{border-color:color-mix(in srgb, var(--primary) 50%, var(--border) 50%);outline:none}.feed-comment-error{border:1px solid color-mix(in srgb, #ef4444 35%, var(--border) 65%);background:color-mix(in srgb, #ef4444 10%, var(--bg) 90%);color:#dc2626;border-radius:12px;margin:0 0 .75rem;padding:.6rem .75rem;font-size:.85rem}.btn.small{padding:.5rem 1rem;font-size:.85rem}.feed-comment-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.feed-comment{color:color-mix(in srgb, var(--text) 76%, transparent);border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 90%, var(--border) 10%);border-radius:14px;margin:0;padding:.7rem .85rem;font-size:.9rem}.feed-comment strong{color:var(--text-h);margin-right:.35rem;font-weight:500}.feed-comment-time{color:color-mix(in srgb, var(--text) 55%, transparent);margin-top:.2rem;font-size:.7rem;display:block}.feed-page .empty-state{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 75%, var(--primary) 12%);border-radius:14px;padding:1rem}.feed-avatar-link{text-decoration:none;display:block}.feed-profile-link{color:inherit;text-decoration:none}.feed-profile-link:hover .feed-post-name{text-decoration:underline}.feed-comment-user{color:var(--text-h);text-decoration:none}.feed-comment-user:hover{text-decoration:underline}.feed-comment-top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.15rem;display:flex}.feed-comment-report{border:1px solid color-mix(in srgb, #ef4444 35%, var(--border) 65%);color:color-mix(in srgb, #ef4444 80%, var(--text-h) 20%);cursor:pointer;background:0 0;border-radius:10px;padding:.25rem .5rem;font-size:.78rem;font-weight:700;transition:background .12s,border-color .12s}.feed-comment-report:hover{background:color-mix(in srgb, #ef4444 10%, var(--bg) 90%);border-color:color-mix(in srgb, #ef4444 55%, var(--border) 45%)}.feed-comment-text{color:color-mix(in srgb, var(--text) 76%, transparent);margin:.15rem 0 .35rem;line-height:1.35}.feed-comment-loading{color:color-mix(in srgb, var(--text) 70%, transparent);margin:.25rem 0 .75rem;font-size:.85rem}.feed-load-more-row{margin-top:.9rem}.feed-load-more{width:100%}.feed-report-toast{border:1px solid color-mix(in srgb, var(--primary) 35%, var(--border) 65%);background:color-mix(in srgb, var(--primary) 10%, var(--bg) 90%);color:var(--text-h);border-radius:12px;margin:0 0 .75rem;padding:.6rem .75rem;font-size:.85rem;font-weight:600}.feed-report-overlay{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.feed-report-modal{background:var(--surface);border:1px solid var(--border);width:100%;max-width:520px;min-height:320px;max-height:calc(100vh - 32px);color:var(--text-h);border-radius:16px;overflow:hidden;box-shadow:0 20px 50px #00000040}.feed-report-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.feed-report-title{color:var(--text-h);margin:0;font-weight:800}.feed-report-close{color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:0 8px;font-size:1.6rem;line-height:1;transition:background .12s}.feed-report-close:hover{background:color-mix(in srgb, var(--bg) 50%, var(--surface) 50%)}.feed-report-form{flex-direction:column;gap:12px;padding:14px;display:flex}.feed-report-label{color:var(--text-h);flex-direction:column;gap:8px;font-size:.9rem;font-weight:700;display:flex}.feed-report-select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:12px;padding:.6rem .75rem}.feed-report-textarea{border:1px solid var(--border);background:var(--bg);color:var(--text-h);resize:vertical;border-radius:12px;padding:.6rem .75rem}.feed-report-textarea:focus{border-color:color-mix(in srgb, var(--primary) 50%, var(--border) 50%);outline:none}.feed-report-actions{flex-direction:column;gap:10px;display:flex}.feed-report-actions .btn{width:100%}.leaderboard-page{max-width:480px;margin:0 auto}.leaderboard-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.leaderboard-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:.5rem .75rem;font-size:.85rem;font-weight:500;transition:all .2s}.leaderboard-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.community-dropdown{flex-direction:column;gap:.5rem;width:100%;margin:0 0 1rem;display:flex}.community-dropdown-label{color:var(--text-h);font-size:.9rem;font-weight:700}.community-dropdown-select{border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:12px;padding:.75rem .9rem}.leaderboard-list{margin:0;padding:0;list-style:none}.leaderboard-item{background:var(--surface);border-radius:12px;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.85rem 1rem;display:flex;box-shadow:0 1px 4px #0000000a}.leaderboard-item.current-user{border:2px solid var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.leaderboard-item .rank{color:var(--text-secondary);min-width:2rem;font-size:.9rem;font-weight:800}.leaderboard-avatar,.leaderboard-avatar-placeholder{object-fit:cover;border-radius:50%;width:40px;height:40px}.leaderboard-avatar-placeholder{background:var(--primary);color:#fff;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.leaderboard-info{flex:1}.leaderboard-name{color:var(--text-h);font-weight:600;display:block}.leaderboard-points{color:var(--primary);font-size:.85rem;font-weight:600}.leaderboard-site{color:var(--text-secondary);margin-top:.15rem;font-size:.75rem;font-weight:600;display:block}.loading-state{color:var(--text-secondary);text-align:center;padding:2rem}.resources-page{max-width:520px;margin:0 auto}.resources-nav{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.resources-card{background:linear-gradient(150deg, color-mix(in srgb, var(--primary) 10%, var(--surface)) 0%, var(--surface) 70%);border:1px solid color-mix(in srgb, var(--primary) 20%, var(--border));color:inherit;border-radius:16px;flex-direction:column;align-items:center;padding:1.15rem .9rem;text-decoration:none;transition:transform .1s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 10px 22px #00000014}.resources-card:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));transform:translateY(-2px);box-shadow:0 15px 26px #0000001f}.resources-emoji{margin-bottom:.5rem;font-size:2rem}.resources-label{color:var(--text-h);text-align:center;font-size:.9rem;font-weight:700}.profile-page{max-width:420px;margin:0 auto;padding-bottom:.5rem}.profile-header{text-align:center;background:color-mix(in srgb, var(--primary) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--primary) 22%, var(--border));border-radius:20px;margin-bottom:1rem;padding:1.4rem 1rem .9rem;box-shadow:0 8px 18px #00000012}.profile-avatar,.profile-avatar-placeholder{object-fit:cover;border-radius:50%;width:86px;height:86px;margin:0 auto .7rem;display:block}.profile-avatar-placeholder{background:color-mix(in srgb, var(--primary) 10%, var(--surface));border:2px solid color-mix(in srgb, var(--primary) 62%, var(--surface));color:color-mix(in srgb, var(--primary) 84%, var(--text-h));box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--surface) 80%, var(--primary));justify-content:center;align-items:center;font-size:2.05rem;font-weight:700;display:flex}.profile-name{color:var(--text-h);margin:0 0 .25rem;font-size:1.75rem;font-weight:700}.profile-email{color:var(--text);margin:0 0 .65rem;font-size:.98rem}.profile-meta{margin:0 auto .85rem}.profile-community-pill{border:1px solid color-mix(in srgb, var(--primary) 35%, var(--border));background:color-mix(in srgb, var(--primary) 8%, var(--surface-soft));width:fit-content;color:color-mix(in srgb, var(--primary) 55%, var(--text-h));border-radius:999px;padding:.24rem .6rem;font-size:.82rem;font-weight:600}.profile-stats{border:1px solid color-mix(in srgb, var(--primary) 22%, var(--border));background:var(--surface-soft);border-radius:14px;justify-content:space-between;gap:.25rem;margin-top:.35rem;padding:.65rem .4rem;display:flex}.profile-stat-item{flex-direction:column;flex:1;align-items:center;display:flex}.profile-stat-item:not(:last-child){border-right:1px solid var(--border)}.profile-stat-value{color:color-mix(in srgb, var(--primary) 72%, var(--text-h));font-size:2rem;font-weight:700;line-height:1}.profile-stat-label{color:var(--text-secondary);letter-spacing:.04em;margin-top:.26rem;font-size:.76rem;font-weight:700}.profile-links{flex-direction:column;gap:.72rem;margin-bottom:1rem;display:flex}.profile-link{background:var(--surface);border:1px solid var(--border);color:var(--text-h);border-radius:14px;justify-content:space-between;align-items:center;padding:.96rem .95rem;font-weight:700;text-decoration:none;transition:border-color .2s,transform 80ms;display:flex;box-shadow:0 2px 4px #0000000a}.profile-link-left{align-items:center;gap:.72rem;display:inline-flex}.profile-link-icon{border:1px solid color-mix(in srgb, var(--primary) 22%, var(--border));background:color-mix(in srgb, var(--primary) 12%, var(--surface));border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.95rem;display:inline-flex}.profile-link-chevron{color:var(--text-secondary);font-size:1.1rem;line-height:1}.profile-link:hover{border-color:color-mix(in srgb, var(--primary) 30%, var(--border));transform:translateY(-1px)}.btn.sign-out{background:var(--surface);color:#b91c1c;border:1px solid var(--border);cursor:pointer;border-radius:14px;width:100%;padding:.9rem;font-weight:700;box-shadow:0 2px 4px #0000000a}.btn.sign-out:hover{background:color-mix(in srgb, #b91c1c 8%, var(--surface))}.rewards-page{max-width:480px;margin:0 auto;padding-bottom:1.5rem}.rewards-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.rewards-header .page-title{color:var(--text-primary,#0f172a);letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800}.rewards-pts-pill{color:var(--primary,#0d9488);background:color-mix(in srgb, var(--primary,#0d9488) 12%, transparent);border:1px solid color-mix(in srgb, var(--primary,#0d9488) 25%, transparent);border-radius:999px;flex-shrink:0;padding:.35rem .75rem;font-size:.8rem;font-weight:700}.rewards-current-tier-card{background:var(--card-bg,#fff);border:1px solid var(--border-subtle,#0f172a14);border-radius:16px;margin-bottom:1rem;padding:1rem 1.1rem 1.15rem;box-shadow:0 4px 20px #0f172a0f}.rewards-current-tier-top{align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.rewards-tier-emoji{font-size:1.75rem;line-height:1}.rewards-tier-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.rewards-tier-name{color:var(--text-primary,#1e293b);font-size:1.05rem;font-weight:800}.rewards-tier-sub{color:var(--text-muted,#64748b);font-size:.82rem;font-style:italic}.rewards-tier-next{text-transform:uppercase;letter-spacing:.04em;color:var(--primary,#0d9488);white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:600}.rewards-progress-track{background:color-mix(in srgb, var(--text-muted,#94a3b8) 22%, transparent);border-radius:999px;height:8px;margin-bottom:.45rem;overflow:hidden}.rewards-progress-fill{background:linear-gradient(90deg, var(--primary,#0d9488), color-mix(in srgb, var(--primary,#0d9488) 70%, #34d399));border-radius:999px;height:100%;transition:width .35s}.rewards-progress-labels{color:var(--text-muted,#64748b);justify-content:space-between;gap:.5rem;font-size:.75rem;display:flex}.rewards-max-tier{color:var(--primary,#0d9488);margin:.25rem 0 0;font-size:.9rem;font-weight:600}.rewards-info-card{background:var(--card-bg,#fffffff2);border:1px solid var(--border-subtle,#0f172a12);border-radius:14px;margin-bottom:1.15rem;padding:.9rem 1rem}.rewards-info-row{color:var(--text-primary,#334155);flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.4rem;font-size:.88rem;font-weight:700;display:flex}.rewards-info-dot{opacity:.45}.rewards-info-desc{color:var(--text-muted,#64748b);margin:0 0 .55rem;font-size:.82rem;line-height:1.45}.rewards-info-link{color:var(--primary,#0d9488);font-size:.85rem;font-weight:600;text-decoration:none}.rewards-info-link:hover{text-decoration:underline}.rewards-tiers{flex-direction:column;gap:.65rem;display:flex}.rewards-tier-section{background:var(--card-bg,#fff);border:1px solid var(--border-subtle,#0f172a0f);border-radius:14px;padding:.95rem 1rem 1rem;transition:border-color .2s,box-shadow .2s}.rewards-tier-section.active{border-color:color-mix(in srgb, var(--primary,#0d9488) 45%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--primary,#0d9488) 20%, transparent)}.rewards-tier-section.locked{opacity:.72}.rewards-tier-section-header{justify-content:space-between;align-items:flex-start;gap:.65rem;margin-bottom:.65rem;display:flex}.rewards-tier-section-left{align-items:flex-start;gap:.55rem;min-width:0;display:flex}.rewards-tier-section-emoji{font-size:1.35rem;line-height:1.2}.rewards-tier-section-name{color:var(--text-primary,#334155);font-size:.95rem;font-weight:800;display:block}.rewards-tier-section-sub{color:var(--text-muted,#64748b);margin-top:.1rem;font-size:.78rem;font-style:italic;display:block}.rewards-tier-range-badge{color:var(--primary,#0d9488);text-align:right;flex-shrink:0;max-width:46%;font-size:.72rem;font-weight:700;line-height:1.35}.rewards-item-list{margin:0;padding:0;list-style:none}.rewards-item{color:var(--text-secondary,#475569);border-top:1px solid var(--border-subtle,#0f172a0f);align-items:center;gap:.5rem;padding:.35rem 0;font-size:.87rem;display:flex}.rewards-item:first-child{border-top:none;padding-top:0}.rewards-item-dot{background:var(--primary,#0d9488);opacity:.55;border-radius:50%;flex-shrink:0;width:6px;height:6px}.rewards-item-name{flex:1;min-width:0}.rewards-item-bonus{border-top:1px dashed #64748b59;margin-top:.15rem;padding-top:.5rem}.rewards-item-firestore{color:var(--text-muted,#64748b);font-size:.82rem}.rewards-item-unlocked{color:var(--primary,#0d9488);flex-shrink:0;font-size:.85rem;font-weight:700}.rewards-tier-locked-bar{text-align:center;color:var(--text-muted,#64748b);background:color-mix(in srgb, var(--text-muted,#64748b) 8%, transparent);border-radius:8px;margin-top:.65rem;padding:.45rem .6rem;font-size:.78rem;font-weight:600}.rewards-milestones-section{margin-top:1.25rem}.rewards-milestones-heading{color:var(--text-primary,#1e293b);margin:0 0 .65rem;font-size:1rem;font-weight:800}.rewards-list{margin:0;padding:0;list-style:none}.reward-card{background:var(--card-bg,#fff);border:1px solid var(--border-subtle,#0f172a0d);border-radius:14px;gap:1rem;margin-bottom:.75rem;padding:1rem;display:flex;box-shadow:0 2px 8px #0000000d}.reward-card.claimable{border:2px solid var(--primary,#0d9488)}.reward-image{object-fit:cover;border-radius:12px;width:72px;height:72px}.reward-info{flex:1;min-width:0}.reward-title{color:var(--text-primary,#334155);margin:0 0 .25rem;font-size:1rem;font-weight:700}.reward-desc{color:var(--text-muted,#64748b);margin:0 0 .5rem;font-size:.85rem}.reward-points{color:var(--primary,#0d9488);font-size:.85rem;font-weight:600}.reward-badge{color:var(--text-muted,#64748b);margin-top:.5rem;font-size:.75rem;font-style:italic;display:inline-block}.rewards-app-notice{text-align:center;color:var(--text-muted,#64748b);background:color-mix(in srgb, var(--text-muted,#64748b) 7%, transparent);border-radius:12px;margin:1.35rem 0 0;padding:.75rem .85rem;font-size:.78rem;line-height:1.45}.edit-profile-title{letter-spacing:-.01em;font-family:Trebuchet MS,Segoe UI,Tahoma,sans-serif;font-weight:700}.edit-profile-photo-panel{background:color-mix(in srgb, var(--primary) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border));border-radius:14px;margin-bottom:.45rem;padding:.9rem .75rem .8rem}.edit-profile-avatar-wrap{justify-content:center;margin-bottom:.6rem;display:flex}.edit-profile-avatar{background:color-mix(in srgb, var(--primary) 8%, var(--surface));border:2px solid color-mix(in srgb, var(--primary) 54%, var(--surface));width:92px;height:92px;box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--surface) 80%, var(--primary));border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.edit-profile-avatar img{object-fit:cover;width:100%;height:100%;display:block}.edit-profile-avatar-placeholder{width:100%;height:100%;color:color-mix(in srgb, var(--primary) 82%, var(--text-h));background:0 0;justify-content:center;align-items:center;font-size:2.05rem;font-weight:700;display:flex}.edit-profile-file-input-hidden{display:none}.edit-profile-photo-actions{justify-content:center;align-items:center;gap:.5rem;display:flex}.edit-profile-photo-action{cursor:pointer;background:var(--surface);border:1px solid;border-radius:999px;padding:.35rem .85rem;font-size:.88rem;font-weight:700;line-height:1.2}.edit-profile-photo-action:disabled{opacity:.55;cursor:not-allowed}.edit-profile-photo-change{border-color:color-mix(in srgb, var(--primary) 40%, var(--border));color:color-mix(in srgb, var(--primary) 85%, var(--text-h))}.edit-profile-photo-remove{color:#b42318;border-color:#f5c2c7}.edit-profile-field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-h);margin-top:.25rem;margin-bottom:-.3rem;font-size:.74rem;font-weight:800}.badges-page{max-width:520px;margin:0 auto;padding:0 .25rem}.badges-toast{background:color-mix(in srgb, var(--primary) 18%, var(--surface));border:1px solid color-mix(in srgb, var(--primary) 40%, var(--border));color:var(--text-h);box-shadow:0 8px 18px color-mix(in srgb, var(--primary) 16%, transparent);border-radius:12px;align-items:center;gap:.55rem;margin-bottom:.85rem;padding:.65rem .85rem;font-size:.9rem;animation:.22s ease-out badges-toast-in;display:flex}.badges-toast-icon{font-size:1.4rem;line-height:1}.badges-toast-text{flex:1;line-height:1.25}@keyframes badges-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.badges-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.badges-title{color:var(--text-h);margin:0;font-size:1.4rem;font-weight:700}.badges-counter{color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent);border:1px solid color-mix(in srgb, var(--primary) 32%, transparent);border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:600}.badges-progress-bar{background:color-mix(in srgb, var(--primary) 14%, var(--surface-soft,var(--surface)));border-radius:999px;width:100%;height:4px;margin-bottom:1.25rem;overflow:hidden}.badges-progress-bar-fill{background:linear-gradient(90deg, var(--primary) 0%, color-mix(in srgb, var(--primary) 70%, #fff 30%) 100%);height:100%;transition:width .4s}.badges-section{margin-bottom:1.25rem}.badges-section-title{letter-spacing:.08em;color:color-mix(in srgb, var(--text) 70%, transparent);margin:0 0 .6rem;font-size:.78rem;font-weight:700}.badges-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.badge-card{text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;align-items:center;min-height:130px;padding:.85rem .55rem .7rem;display:flex;position:relative;box-shadow:0 6px 14px #0000000d}.badge-card.earned{background:color-mix(in srgb, var(--primary) 10%, var(--surface));border-color:color-mix(in srgb, var(--primary) 50%, var(--border));box-shadow:0 8px 18px color-mix(in srgb, var(--primary) 18%, transparent)}.badge-card.locked{opacity:.78}.badge-icon-wrap{justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:.45rem;display:flex;position:relative}.badge-icon{filter:saturate();font-size:1.9rem;line-height:1}.badge-card.locked .badge-icon{filter:grayscale(.55)opacity(.85)}.badge-check{background:var(--primary);color:#fff;width:18px;height:18px;box-shadow:0 2px 6px color-mix(in srgb, var(--primary) 50%, transparent);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex;position:absolute;bottom:-2px;right:-4px}.badge-title{color:var(--text-h);margin:0 0 .15rem;font-size:.82rem;font-weight:700;line-height:1.15}.badge-desc{color:color-mix(in srgb, var(--text) 80%, transparent);margin:0 0 .4rem;font-size:.7rem;line-height:1.2}.badge-status{color:color-mix(in srgb, var(--text) 70%, transparent);margin-top:auto;font-size:.7rem;font-weight:600}.badge-status.earned-status{color:var(--primary)}.badges-footer{justify-content:center;margin-top:1rem;display:flex}.badges-back-link{background:var(--surface);border:1px solid var(--border);color:var(--text-h);border-radius:12px;padding:.7rem 1.2rem;font-weight:600;text-decoration:none;display:inline-block;box-shadow:0 6px 14px #0000000d}.badges-back-link:hover{background:color-mix(in srgb, var(--surface) 80%, var(--primary) 20%);border-color:color-mix(in srgb, var(--primary) 35%, var(--border))}@media (width<=360px){.badges-grid{gap:.45rem}.badge-card{min-height:120px;padding:.7rem .4rem .6rem}.badge-icon{font-size:1.7rem}}.static-page{max-width:520px;margin:0 auto;padding:1rem 0}.static-page h1{color:var(--text-h);margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.static-page .tagline{color:var(--primary);margin:0 0 1rem;font-weight:600}.static-page p,.static-page ul{color:var(--text-secondary);margin:0 0 1rem;line-height:1.6}.static-page .developer-credit{margin-bottom:.5rem;font-size:.85rem}.static-page ul{padding-left:1.25rem}.static-page li{margin-bottom:.5rem}.log-activity-page{max-width:420px;margin:0 auto}.log-activity-header{margin-bottom:.9rem}.log-title-emoji{margin-right:.45rem;display:inline-flex}.log-activity-points{color:color-mix(in srgb, var(--primary) 45%, var(--text-h));border:1px solid color-mix(in srgb, var(--primary) 38%, var(--border));background:color-mix(in srgb, var(--primary) 12%, var(--surface-soft));border-radius:999px;align-items:center;gap:.35rem;margin:0;padding:.25rem .6rem;font-size:.8rem;font-weight:700;display:inline-flex}.log-activity-error{color:#b91c1c;background:#fef2f2;border-radius:10px;margin-bottom:1rem;padding:.75rem;font-size:.85rem}.log-activity-form{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.log-activity-form label{flex-direction:column;gap:.35rem;display:flex}.log-field-label{color:var(--text-h);letter-spacing:.06em;font-size:.73rem;font-weight:700}.log-input{border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:12px;padding:.75rem 1rem;font-size:1rem}.log-input:focus{border-color:var(--primary);outline:none}.log-textarea{resize:vertical;min-height:72px}.log-option-group{flex-direction:column;gap:.5rem;display:flex}.log-chip-grid{flex-wrap:wrap;gap:.45rem;display:flex}.log-chip{border:1px solid var(--border);background:var(--surface-soft);color:var(--text-h);cursor:pointer;border-radius:999px;padding:.4rem .75rem;font-size:.8rem;font-weight:600}.log-chip.is-selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, var(--surface));color:color-mix(in srgb, var(--primary) 55%, var(--text-h))}.log-chip-grid-feeling .log-chip{justify-content:center;min-width:68px}.log-chip-feeling{flex-direction:column;align-items:center;gap:.1rem;display:inline-flex}.workout-photo{flex-direction:column;gap:.6rem;display:flex}.photo-picker-button{border:1px dashed color-mix(in srgb, var(--primary) 55%, var(--border));background:color-mix(in srgb, var(--primary) 10%, var(--surface-soft));color:color-mix(in srgb, var(--primary) 50%, var(--text-h));cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:.2rem;padding:.9rem;display:flex}.photo-picker-icon{background:color-mix(in srgb, var(--primary) 28%, var(--surface-soft));border-radius:999px;justify-content:center;align-items:center;width:1.8rem;height:1.8rem;display:inline-flex}.photo-picker-main{font-size:.95rem;font-weight:700}.photo-picker-sub{color:var(--text-secondary);font-size:.75rem}.log-image-preview{object-fit:cover;border:1px solid var(--border);background:var(--surface);border-radius:12px;width:100%;max-height:260px}.notes-counter{color:var(--text);align-self:flex-end;font-size:.72rem}.camera-modal-overlay{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.camera-modal{background:var(--surface);border-radius:16px;width:100%;max-width:520px;overflow:hidden;box-shadow:0 20px 50px #00000040}.camera-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.camera-modal-header-actions{align-items:center;gap:10px;display:flex}.camera-modal-title{color:var(--text-h);margin:0;font-weight:700}.camera-video{background:#0b1220;width:100%;height:auto;display:block}.camera-video--mirrored{transform:scaleX(-1)}.camera-modal-actions{flex-direction:column;gap:10px;padding:14px;display:flex}.camera-hint{color:var(--text-secondary);margin:0;font-size:.85rem}.content-list{margin-top:1rem}.content-list-title{color:var(--text-h);margin:0 0 .75rem;font-size:1rem;font-weight:700}.content-list ul{margin:0;padding:0;list-style:none}.content-list li{margin-bottom:.5rem}.content-item{background:var(--bg);color:inherit;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:background .2s;display:flex;box-shadow:0 1px 4px #0000000a}.content-item:hover{background:color-mix(in srgb, var(--bg) 90%, var(--primary))}.content-thumb{object-fit:cover;border-radius:10px;width:56px;height:56px}.content-item-info{flex:1}.content-item-title{color:var(--text-h);font-weight:600;display:block}.content-item-meta{color:var(--text);font-size:.8rem}.content-item-arrow{color:var(--text);font-size:1.1rem}.habits-page{background:color-mix(in srgb, var(--primary) 10%, var(--surface));border-radius:14px;margin-top:1rem;padding:1rem}.habits-title{color:var(--primary);margin:0 0 .25rem;font-size:1.1rem;font-weight:700}.habits-subtitle{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem}.habits-list{margin:0;padding:0;list-style:none}.habits-list li{color:var(--text-secondary);padding:.5rem 0 .5rem 1.25rem;font-size:.9rem;position:relative}.habits-list li:before{content:"•";color:var(--primary);font-weight:700;position:absolute;left:0}.detail-page{max-width:560px;margin:0 auto;padding:0 0 2rem}.detail-back{color:var(--primary);margin-bottom:1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.detail-back:hover{text-decoration:underline}.detail-title{color:var(--text-h);margin:0 0 .5rem;font-size:1.35rem;font-weight:700}.detail-meta{color:var(--text-secondary);margin:0 0 .75rem;font-size:.9rem}.detail-desc{color:var(--text-secondary);margin:0 0 1rem;line-height:1.5}.detail-image{object-fit:cover;border-radius:14px;width:100%;max-height:280px;margin-bottom:1rem}.detail-media{background:#000;border-radius:14px;margin:1rem 0;overflow:hidden}.detail-video{aspect-ratio:16/9;width:100%;display:block}.detail-page h3{color:var(--text-h);margin:1rem 0 .5rem;font-size:1rem;font-weight:700}.detail-page ul,.detail-page ol{color:var(--text-secondary);padding-left:1.25rem;line-height:1.6}.loading-state{text-align:center;color:var(--text-secondary);padding:2rem}.admin-page{padding:1.25rem 0 2rem}.admin-image-upload{flex-direction:column;gap:.5rem;display:flex}.admin-image-preview{object-fit:cover;border:1px solid var(--border,#e0e0e0);border-radius:8px;width:100%;max-height:220px}.admin-page:before{content:"";height:0;display:block}.admin-header{justify-content:space-between;align-items:center;gap:1rem;width:min(980px,100% - 2rem);margin:0 auto 1rem;display:flex}.admin-header--center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem}.admin-title{color:var(--text-h);letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800}.admin-subtitle{color:var(--text);max-width:52ch;margin:.2rem 0 0;font-size:.95rem}.admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.admin-card{background:color-mix(in srgb, var(--bg) 92%, white);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:18px;width:100%;max-width:980px;margin:0 auto;padding:1.1rem;box-shadow:0 12px 30px #0000000f}.admin-form{flex-direction:column;gap:.85rem;display:flex}.admin-toolbar{grid-template-columns:1.6fr 1fr;gap:.75rem;margin-bottom:.9rem;display:grid}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}@media (width<=700px){.admin-grid{grid-template-columns:1fr}}.admin-textarea{resize:vertical;min-height:120px}.admin-card .auth-input{background:var(--bg);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:12px}.admin-card .auth-input:focus{border-color:color-mix(in srgb, var(--primary) 75%, #fff);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent)}.admin-list{margin:0;padding:0;list-style:none}.admin-list-item{background:var(--bg);border:1px solid color-mix(in srgb, var(--border) 85%, transparent);border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem;padding:.95rem 1rem;transition:border-color .2s,transform .12s,box-shadow .2s;display:flex}.admin-list-item:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));transform:translateY(-1px);box-shadow:0 8px 18px #0000000f}.admin-list-left{min-width:0}.admin-list-name{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:750;overflow:hidden}.admin-list-meta{color:var(--text);margin-top:.25rem;font-size:.83rem}.admin-chip-row{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.admin-chip{background:color-mix(in srgb, var(--border) 85%, transparent);color:var(--text);border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.admin-chip--green{color:#166534;background:#dcfce7}.admin-chip--amber{color:#92400e;background:#fef3c7}.admin-chip--purple{color:#5b21b6;background:#ede9fe}.admin-list-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.admin-list-right .btn{border-radius:7px;padding:.36rem .72rem;font-size:.76rem;font-weight:600}.admin-page .btn{border-radius:10px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.admin-page .btn.primary{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 88%, #fff), var(--primary));color:#fff}.admin-page .btn.secondary{border:1px solid color-mix(in srgb, var(--border) 75%, transparent)}.admin-page .btn.danger{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.admin-page .btn.danger:hover{background:#fecaca}.admin-toggle{color:var(--text-h);align-items:center;gap:.5rem;font-size:.92rem;display:inline-flex}.admin-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:.8rem;font-size:.9rem}.admin-success{color:#065f46;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:12px;padding:.8rem;font-size:.9rem}.admin-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.admin-dashboard-link{color:inherit;background:var(--bg);border:1px solid color-mix(in srgb, var(--border) 85%, transparent);border-radius:14px;padding:1rem;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .12s;display:block}.admin-dashboard-link:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));transform:translateY(-1px);box-shadow:0 8px 18px #0000000f}.admin-dashboard-label{color:var(--text-h);font-weight:700;display:block}.admin-dashboard-desc{color:var(--text);margin-top:.3rem;font-size:.85rem;display:block}@media (width<=700px){.admin-header{align-items:flex-start}.admin-header--center{align-items:center}.admin-dashboard-grid,.admin-toolbar{grid-template-columns:1fr}.admin-list-item{flex-direction:column;align-items:flex-start}.admin-list-right{justify-content:flex-start;width:100%}}.admin-reports-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.admin-report-card{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:var(--bg);border-radius:14px;padding:1rem}.admin-report-row{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.5rem;display:flex}.admin-report-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:800}.admin-report-badge--post{background:color-mix(in srgb, var(--primary) 12%, var(--bg));color:var(--text-h)}.admin-report-badge--comment{background:color-mix(in srgb, #f59e0b 14%, var(--bg));color:var(--text-h)}.admin-report-status{color:color-mix(in srgb, var(--text) 75%, transparent);font-size:.78rem;font-weight:700}.admin-report-date{color:color-mix(in srgb, var(--text) 65%, transparent);margin-left:auto;font-size:.78rem}.admin-report-reason{color:var(--text-h);margin:0 0 .5rem;font-size:.92rem;line-height:1.4}.admin-report-meta{color:var(--text);margin:0 0 .35rem;font-size:.85rem}.admin-report-meta a{color:var(--primary);font-weight:600}.admin-report-toolbar{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}:root{--primary:#03a9f4;--secondary:#4fc3f7}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif}.app-loading{min-height:100vh;color:var(--text);justify-content:center;align-items:center;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:14px;padding:.78rem 1.2rem;font-size:.95rem;font-weight:600;transition:transform 80ms,box-shadow .2s,background .2s,border-color .2s}.btn:active{transform:scale(.98)}.btn.primary{background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 80%, #fff) 0%, var(--primary) 100%);color:#fff;box-shadow:0 8px 16px color-mix(in srgb, var(--primary) 28%, transparent)}.btn.primary:hover{box-shadow:0 12px 22px color-mix(in srgb, var(--primary) 36%, transparent)}.btn.secondary{background:var(--surface);color:var(--text-h);border-color:var(--border)}.btn.secondary:hover{background:var(--surface-soft)}.empty-state{color:var(--text);background:color-mix(in srgb, var(--surface) 92%, var(--primary) 8%);border:1px solid var(--border);border-radius:14px;margin:0;padding:1rem 1.1rem;font-size:.9rem}
