.layout{min-height:100vh;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.5rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand img{display:block;height:28px;width:auto;max-width:min(168px,48vw);object-fit:contain}.site-header nav{display:flex;gap:1.25rem;color:var(--muted)}.site-header nav a:hover{color:var(--accent)}.site-main{flex:1;width:min(960px,100%);margin:0 auto;padding:2rem 1.5rem 3rem}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;border-top:1px solid var(--line);background:#fff;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-inner{width:min(600px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:.1rem;padding:.35rem .4rem .45rem}.bottom-nav-item{display:grid;justify-items:center;gap:.12rem;padding:.2rem .15rem;border-radius:10px;color:#9ca3af;transition:color .15s ease;-webkit-tap-highlight-color:transparent;min-width:0}.bottom-nav-icon{display:grid;place-items:center;width:40px;height:32px}.bottom-nav-label{max-width:100%;padding-inline:.1rem;font-size:.62rem;font-weight:600;line-height:1.15;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-nav-item.is-active{color:var(--accent)}.bottom-nav-item.is-prominent .bottom-nav-icon{width:46px;height:46px;margin-top:-.85rem;border-radius:14px;background:var(--btn-fill);color:#fff}.bottom-nav-item.is-prominent{color:var(--accent)}.bottom-nav-item.is-prominent.is-active .bottom-nav-icon{background:var(--btn-fill-hover)}.bottom-nav-item:active{opacity:.75}@media(min-width:480px){.bottom-nav-label{font-size:.7rem}}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden;background:var(--bg)}.app-shell-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;padding:.65rem 1.25rem;padding-top:max(.65rem,env(safe-area-inset-top));padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right));border-bottom:1px solid var(--line);background:#fff}.app-shell-user{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-width:0}.app-shell-brand{display:inline-flex;align-items:center;min-width:0}.app-shell-brand img{width:auto;height:28px;display:block;max-width:min(168px,42vw);object-fit:contain}.app-shell-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex:1 1 auto;min-width:0}.app-shell-profile{display:flex;align-items:center;gap:.5rem;min-width:0;margin-right:.15rem}.app-shell-avatar{flex:0 0 auto;width:36px;height:36px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eef2f7;border:1px solid var(--line);color:var(--accent);font-weight:700;font-size:.85rem}.app-shell-avatar img{width:100%;height:100%;object-fit:cover;display:block}.app-shell-welcome{margin:0;font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(160px,24vw)}.app-shell-btn{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .75rem;border-radius:10px;font-size:.82rem;font-weight:600;border:1px solid transparent;min-height:38px;flex-shrink:0;white-space:nowrap}.app-shell-btn.ghost{background:#fff;border-color:var(--line);color:var(--ink)}.app-shell-btn.ghost:hover{background:#f9fafb}.app-shell-btn.solid{background:var(--btn-fill);color:var(--btn-text)}.app-shell-btn.solid:hover{background:var(--btn-fill-hover)}.app-shell-main{flex:1;width:min(1080px,100%);margin:0 auto;padding:1.5rem 1.25rem;padding-bottom:calc(5.25rem + env(safe-area-inset-bottom));padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right))}.app-shell.no-nav .app-shell-main{padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}@media(max-width:720px){.app-shell-header{padding:.55rem .9rem;padding-top:max(.55rem,env(safe-area-inset-top));padding-left:max(.9rem,env(safe-area-inset-left));padding-right:max(.9rem,env(safe-area-inset-right))}.app-shell-brand img{height:24px;max-width:min(148px,48vw)}.app-shell-welcome{max-width:min(100px,18vw)}.app-shell-main{width:100%;padding:.85rem 0 0;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}}@media(max-width:480px){.app-shell-welcome{display:none}.app-shell-btn{padding:.4rem .65rem;font-size:.78rem;min-height:34px}}.auth-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:2rem 1.25rem 3rem;background:var(--bg)}.auth-panel{width:min(400px,100%);display:flex;flex-direction:column;align-items:stretch;gap:1.35rem}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.auth-brand img{width:min(280px,82vw);height:auto;max-height:72px;display:block;object-fit:contain}.auth-brand-tag{margin:0;max-width:22rem;color:var(--muted);font-size:.92rem;line-height:1.45;overflow-wrap:break-word}.auth-form{display:grid;gap:.95rem;padding:1.35rem 1.25rem 1.4rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-soft)}.auth-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;text-align:center}.auth-lead{margin:-.35rem 0 .1rem;color:var(--muted);text-align:center;font-size:.9rem;line-height:1.45}.field{display:grid;gap:.35rem}.field span{color:var(--muted);font-size:.82rem;font-weight:500}.field input{width:100%;padding:.8rem .9rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field input::placeholder{color:#9ca3af}.field input.is-ok{border-color:var(--ok)}.field-hint{margin:0;font-style:normal;font-size:.78rem}.avatar-field{display:flex;align-items:center;gap:1rem;padding:.15rem 0 .25rem}.avatar-button{flex:0 0 auto;width:84px;height:84px;padding:0;border:1.5px dashed #cbd5e1;border-radius:50%;overflow:hidden;background:#f8fafc}.avatar-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--accent);font-size:1.7rem;font-weight:500}.avatar-meta{display:grid;gap:.2rem;min-width:0}.avatar-meta strong{font-size:.92rem}.avatar-meta span{color:var(--muted);font-size:.8rem}.ghost-btn{width:fit-content;margin-top:.25rem;padding:.3rem 0;border:0;background:transparent;color:var(--accent);font-size:.86rem;font-weight:600}.form-error{margin:0;color:var(--danger);font-size:.86rem}.auth-btn{margin-top:.15rem;width:100%;padding:.85rem 1rem;border:0;border-radius:10px;background:var(--btn-fill);color:var(--btn-text);font-weight:700}.auth-btn:hover{background:var(--btn-fill-hover)}.auth-switch{margin:.1rem 0 0;text-align:center;color:var(--muted);font-size:.88rem}.auth-switch a{margin-left:.4rem;color:var(--accent);font-weight:600}@media(max-width:480px){.auth-form{padding:1.15rem}.avatar-field{flex-direction:column;text-align:center}.avatar-meta{justify-items:center}}.follow-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));background:#2b221873;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:dialog-fade .2s ease}.follow-dialog{width:min(420px,100%);max-height:min(80vh,640px);display:flex;flex-direction:column;gap:.9rem;padding:1.15rem 1.15rem 1.25rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface-strong);box-shadow:0 24px 60px #2b221840;animation:dialog-rise .24s ease}.follow-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.follow-dialog-header h2{margin:0;font-family:var(--font-display);font-size:1.2rem;letter-spacing:-.02em}.follow-dialog-close{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1}.follow-dialog-close:hover{background:var(--accent-soft);color:var(--ink)}.follow-dialog-search input{width:100%;padding:.85rem .95rem;border:1px solid var(--line);border-radius:.7rem;background:#fffcf6f2;color:var(--ink);outline:none}.follow-dialog-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.follow-dialog-error{margin:0;color:var(--danger);font-size:.88rem}.follow-dialog-results{min-height:180px;overflow-y:auto;-webkit-overflow-scrolling:touch}.follow-dialog-status{margin:1.5rem 0;text-align:center;color:var(--muted);font-size:.92rem}.follow-result-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.follow-result-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .35rem;border-bottom:1px solid var(--line)}.follow-result-item:last-child{border-bottom:0}.follow-result-user{display:flex;align-items:center;gap:.75rem;min-width:0}.follow-result-avatar{flex:0 0 auto;width:48px;height:48px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--accent-soft);border:1px solid var(--line);color:var(--accent);font-weight:700}.follow-result-avatar img{width:100%;height:100%;object-fit:cover;display:block}.follow-result-meta{display:grid;gap:.15rem;min-width:0}.follow-result-meta strong{font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.follow-result-meta span{color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.follow-result-btn{flex:0 0 auto;min-height:36px;padding:.45rem .8rem;border:0;border-radius:.55rem;background:var(--btn-fill);color:var(--btn-text);font-size:.85rem;font-weight:650}.follow-result-btn:disabled{background:#d5c8b5;color:#7a6a57}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes dialog-fade{0%{opacity:0}to{opacity:1}}@keyframes dialog-rise{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:480px){.follow-dialog{width:100%;max-height:min(88vh,700px);border-radius:1rem 1rem .75rem .75rem}}.follow-stories{width:var(--feed-width);margin:0 auto 1rem}.stories-rail{display:flex;align-items:flex-start;gap:.75rem;overflow-x:auto;overscroll-behavior-x:contain;padding:.25rem 0 .5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x}.stories-rail::-webkit-scrollbar{display:none}.story-item{flex:0 0 auto;width:72px;display:grid;justify-items:center;gap:.35rem;padding:0;border:0;background:transparent;color:inherit;text-decoration:none;scroll-snap-align:start;-webkit-tap-highlight-color:transparent}.story-ring{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;padding:2px;background:linear-gradient(135deg,#38bdf8,#2563a8 55%,#1e3a8a)}.story-item.is-self .story-ring{background:#cbd5e1}.story-avatar{width:100%;height:100%;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#fff;border:2px solid #fff}.story-avatar img{width:100%;height:100%;object-fit:cover;display:block}.story-fallback{display:grid;place-items:center;width:100%;height:100%;background:#eef2f7;color:var(--accent);font-weight:700;font-size:1.05rem}.story-name{max-width:72px;font-size:.74rem;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-weight:500}.story-add-circle{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:1.5px dashed #94a3b8;background:#fff;color:#64748b}.story-add-icon{font-size:1.55rem;font-weight:400;line-height:1}.story-add:hover .story-add-circle{border-color:var(--accent);color:var(--accent);border-style:solid}.stories-status{margin:0 auto;width:var(--feed-width);color:var(--muted);font-size:.9rem}.stories-status.error{color:var(--danger)}@media(max-width:720px){.follow-stories{width:100%;margin-bottom:.85rem}.stories-rail{padding:.15rem .85rem .4rem}}.goal-card{width:var(--feed-width);margin:0 auto .85rem;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.stats-page .goal-card{width:100%}.goal-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.goal-card-head h2{margin:0 0 .2rem;font-size:1rem;font-weight:700;letter-spacing:-.01em}.goal-card-head p,.goal-status{margin:0;color:var(--muted);font-size:.84rem}.goal-link{color:var(--accent);font-size:.82rem;font-weight:700;white-space:nowrap}.goal-meters{display:grid;gap:.75rem}.goal-meter-top{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.3rem;font-size:.86rem}.goal-meter-top span{color:var(--muted);min-width:0}.goal-meter-top strong{flex-shrink:0;white-space:nowrap;font-variant-numeric:tabular-nums}.goal-meter-bar{height:6px;border-radius:999px;background:#eef2f7;overflow:hidden}.goal-meter-bar i{display:block;height:100%;background:var(--accent)}.goal-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;margin-top:.9rem;align-items:end}.goal-form label{display:grid;gap:.28rem}.goal-form span{color:var(--muted);font-size:.78rem}.goal-form input{width:100%;padding:.6rem .65rem;border:1px solid var(--line);border-radius:8px;background:#fff}.goal-form button{align-self:end;min-height:40px;padding:.5rem .85rem;border:0;border-radius:8px;background:var(--btn-fill);color:var(--btn-text);font-weight:700;white-space:nowrap}.goal-status.error{color:var(--danger);margin-top:.6rem}.goal-status.ok{color:var(--ok);margin-top:.6rem}@media(max-width:720px){.goal-card{width:auto;margin-left:.75rem;margin-right:.75rem}.goal-form{grid-template-columns:1fr 1fr}.goal-form button{grid-column:1 / -1}}.reading-feed{display:grid;gap:.85rem;width:var(--feed-width);margin:0 auto}.feed-status{margin:1rem auto;width:var(--feed-width);padding:0 1rem;text-align:center;color:var(--muted);font-size:.92rem;line-height:1.5}.feed-status.error{color:var(--danger)}.feed-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.feed-card-header{display:flex;align-items:center;gap:.7rem;padding:.85rem .95rem}.feed-delete-btn{margin-left:auto;min-height:32px;padding:.3rem .65rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--danger);font-size:.78rem;font-weight:700;white-space:nowrap}.feed-delete-btn:hover{background:#fef2f2;border-color:#fecaca}.feed-delete-btn:disabled{opacity:.6}.feed-author-avatar{flex:0 0 auto;width:38px;height:38px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eef2f7;border:1px solid var(--line);color:var(--accent);font-weight:700;font-size:.88rem}.feed-author-meta a strong{color:var(--ink)}.feed-author-meta a:hover strong{color:var(--accent)}.feed-author-avatar img{width:100%;height:100%;object-fit:cover;display:block}.feed-author-meta{display:grid;gap:.05rem;min-width:0;flex:1 1 auto}.feed-author-meta strong{font-size:.92rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-author-meta span{color:var(--muted);font-size:.76rem}.feed-carousel{position:relative;background:#0f172a;aspect-ratio:4 / 5}.feed-carousel.empty{display:grid;place-items:center;color:#94a3b8;font-size:.88rem}.feed-carousel-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x}.feed-carousel-track::-webkit-scrollbar{display:none}.feed-carousel-slide{flex:0 0 100%;height:100%;scroll-snap-align:start}.feed-carousel-slide img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none}.feed-carousel-dots{position:absolute;left:50%;bottom:.65rem;transform:translate(-50%);display:flex;gap:.28rem}.feed-carousel-dots span{width:6px;height:6px;border-radius:50%;background:#fff6}.feed-carousel-dots span.is-active{background:#fff}.feed-carousel-count{position:absolute;top:.65rem;right:.65rem;padding:.18rem .45rem;border-radius:6px;background:#00000073;color:#fff;font-size:.72rem;font-weight:600}.feed-card-actions{display:flex;align-items:center;gap:.45rem;padding:.65rem .9rem .2rem}.feed-like-btn{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink)}.feed-like-btn.is-liked{color:var(--like)}.feed-like-btn:active{transform:scale(.92)}.feed-cheer-btn{min-height:32px;padding:.3rem .75rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:.82rem;font-weight:600;white-space:nowrap}.feed-cheer-btn.is-active{border-color:#bfdbfe;background:#eff6ff;color:var(--accent-strong)}.feed-card-counts{display:flex;flex-wrap:wrap;gap:.7rem;padding:.1rem .95rem .3rem;color:var(--ink);font-size:.84rem;font-weight:600}.feed-highlight{margin:.25rem .95rem .55rem;padding:.75rem .85rem;border-left:3px solid var(--accent);border-radius:0 10px 10px 0;background:#f8fafc}.feed-highlight span{display:block;margin-bottom:.3rem;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.02em}.feed-highlight p{margin:0;color:var(--ink);font-size:.95rem;line-height:1.55;overflow-wrap:break-word}.feed-card-content{margin:0;padding:.3rem .95rem .5rem;line-height:1.55;font-size:.92rem;overflow-wrap:break-word}.feed-card-content strong{margin-right:.35rem;font-weight:700}.feed-comments{list-style:none;margin:0;padding:0 .95rem .4rem;display:grid;gap:.3rem}.feed-comments li{font-size:.88rem;line-height:1.4}.feed-comments strong{margin-right:.3rem;font-weight:700}.feed-comment-form{display:grid;grid-template-columns:1fr auto;gap:.4rem;padding:.55rem .85rem .85rem;border-top:1px solid var(--line)}.feed-comment-form input{min-width:0;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.feed-comment-form button{padding:.5rem .8rem;border:0;border-radius:8px;background:var(--btn-fill);color:var(--btn-text);font-weight:700}.feed-comment-error{margin:0;padding:0 .95rem .7rem;color:var(--danger);font-size:.8rem}@media(max-width:720px){.reading-feed{width:100%;gap:.65rem;padding:0 .75rem}.feed-card{border-radius:14px}.feed-carousel{aspect-ratio:1 / 1}}.streak-card{width:var(--feed-width);margin:0 auto .85rem;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.stats-page .streak-card{width:100%}.streak-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.streak-eyebrow{margin:0 0 .2rem;color:var(--accent);font-size:.75rem;font-weight:700}.streak-card h2{margin:0 0 .35rem;font-size:1.15rem;font-weight:700}.streak-card h2 strong{font-size:1.55rem;color:var(--accent-strong)}.streak-lead,.streak-status{margin:0;color:var(--muted);font-size:.84rem;line-height:1.45}.streak-status.error{color:var(--danger)}.streak-badge{flex:0 0 auto;width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:#eff6ff;color:var(--accent-strong);font-size:1.25rem;font-weight:800}.streak-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.85rem;color:var(--muted);font-size:.82rem;font-weight:600}.streak-cta{margin-left:auto;padding:.35rem .7rem;border-radius:8px;background:var(--btn-fill);color:#fff;font-size:.8rem;font-weight:700}.streak-cta:hover{background:var(--btn-fill-hover)}@media(max-width:720px){.streak-card{width:auto;margin-left:.75rem;margin-right:.75rem}}.home-challenge-card{width:var(--feed-width);margin:0 auto .85rem;display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.95rem 1.05rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.home-challenge-card>div{min-width:0}.home-challenge-card h2{margin:0 0 .2rem;font-size:1rem;font-weight:700}.home-challenge-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.4}.home-challenge-card a{flex-shrink:0;min-height:36px;padding:.4rem .85rem;border-radius:8px;background:var(--btn-fill);color:#fff;font-size:.8rem;font-weight:700;display:inline-grid;place-items:center;white-space:nowrap}.home-challenge-card a:hover{background:var(--btn-fill-hover)}@media(max-width:720px){.home-challenge-card{width:auto;margin-left:.75rem;margin-right:.75rem;flex-wrap:wrap}.home-challenge-card a{width:100%}}.profile-page{min-height:100vh;display:flex;flex-direction:column}.profile-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem;border-bottom:1px solid var(--line);background:#fff}.profile-brand img{display:block;height:28px;width:auto;max-width:min(168px,48vw);object-fit:contain}.profile-header-actions{display:flex;gap:.55rem}.profile-btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .9rem;border-radius:.55rem;font-size:.9rem;font-weight:600;border:1px solid transparent}.profile-btn.ghost{background:transparent;border-color:var(--line);color:var(--ink)}.profile-btn.ghost:hover{border-color:var(--accent);color:var(--accent)}.profile-btn.solid{background:var(--btn-fill);color:var(--btn-text)}.profile-main{flex:1;width:min(560px,100%);margin:0 auto;padding:2rem 1.5rem 3rem}.profile-card{display:grid;gap:.75rem;padding:1.5rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-soft)}.profile-card h1{margin:0;font-family:var(--font-display);font-size:1.6rem;letter-spacing:-.03em}.profile-lead,.profile-status{margin:0;color:var(--muted)}.profile-public-link{display:inline-flex;width:fit-content;margin-top:.15rem;margin-bottom:.35rem;color:var(--accent);font-size:.9rem;font-weight:700}.profile-status{padding:3rem 1.5rem;text-align:center}.profile-status.error,.form-error{color:var(--danger)}.form-success{margin:0;color:var(--ok);font-size:.9rem}.form-error{margin:0;font-size:.9rem}.profile-back{display:block;text-align:center;color:var(--accent);font-weight:600}.profile-form{display:grid;gap:1rem;margin-top:.75rem}.avatar-field{display:flex;align-items:center;gap:1rem}.avatar-button{flex:0 0 auto;width:88px;height:88px;padding:0;border:2px dashed rgba(36,106,158,.4);border-radius:50%;overflow:hidden;background:var(--accent-soft)}.avatar-button:hover{border-color:var(--accent);border-style:solid}.avatar-button img{width:100%;height:100%;object-fit:cover;display:block}.avatar-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--accent);font-size:1.6rem;font-weight:700}.avatar-meta{display:grid;gap:.2rem}.avatar-meta span{color:var(--muted);font-size:.82rem}.ghost-link{width:fit-content;margin-top:.25rem;padding:0;border:0;background:transparent;color:var(--accent);font-size:.88rem}.ghost-link:hover{text-decoration:underline}.field{display:grid;gap:.4rem}.field span{color:var(--muted);font-size:.85rem}.field input{width:100%;padding:.85rem .95rem;border:1px solid var(--line);border-radius:.65rem;background:#fffcf6e6;color:var(--ink);outline:none}.field input:disabled{color:var(--muted);background:#ebe2d2b3}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field input.is-ok{border-color:#6f9b5a}.field input.is-error{border-color:var(--danger)}.field-hint{margin:0;font-style:normal;font-size:.82rem;color:var(--muted)}.field-hint.checking{color:var(--muted)}.field-hint.ok{color:var(--ok)}.field-hint.error{color:var(--danger)}.password-block{display:grid;gap:.85rem;padding-top:.5rem;border-top:1px solid var(--line)}.password-block h2{margin:0;font-family:var(--font-display);font-size:1.1rem}.password-block>p{margin:0;color:var(--muted);font-size:.88rem}.profile-submit{margin-top:.25rem;width:100%;padding:.9rem 1rem;border:0;border-radius:.7rem;background:var(--btn-fill);color:var(--btn-text);font-weight:650}.profile-submit:disabled{opacity:.6}.profile-submit:not(:disabled):hover{filter:brightness(1.05)}@media(max-width:520px){.avatar-field{flex-direction:column;text-align:center}.avatar-meta{justify-items:center}}.stats-page{width:min(640px,100%);margin:0 auto;padding:.5rem 1.25rem 1.25rem;display:grid;gap:1rem}.stats-hero h1{margin:0 0 .35rem;font-size:clamp(1.45rem,4vw,1.85rem);font-weight:700;letter-spacing:-.02em}.stats-hero p,.stats-status,.stats-empty{margin:0;color:var(--muted);line-height:1.5}.stats-status.error{color:var(--danger)}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.stat-card{display:grid;gap:.35rem;padding:.95rem 1rem;border:1px solid var(--line);border-radius:12px;background:#fff}.stat-card span{color:var(--muted);font-size:.82rem}.stat-card strong{font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.02em}.stats-panel{padding:1rem 1.05rem 1.1rem;border:1px solid var(--line);border-radius:14px;background:#fff}.stats-panel h2{margin:0 0 .85rem;font-family:var(--font-display);font-size:1.05rem}.stats-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.stats-panel-head h2{margin:0}.stats-panel-head a{color:var(--accent);font-size:.86rem;font-weight:650}.stats-panel-links{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.stats-rank-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.stats-rank-row div{display:grid;gap:.25rem;padding:.75rem .65rem;border-radius:.7rem;background:var(--accent-soft);text-align:center}.stats-rank-row span{color:var(--muted);font-size:.78rem}.stats-rank-row strong{font-size:1rem}.stats-social-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.stats-social-item{display:grid;gap:.2rem;justify-items:center;padding:.7rem .35rem;border-radius:.7rem;background:#fffcf6e6;border:1px solid var(--line)}.stats-social-item strong{font-size:1.1rem}.stats-social-item span{color:var(--muted);font-size:.75rem;text-align:center}.stats-book-list,.stats-top-list,.stats-recent-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.stats-book-item,.stats-top-list li{display:grid;grid-template-columns:48px 1fr auto;gap:.7rem;align-items:center}.stats-top-list li{grid-template-columns:1.4rem 40px 1fr}.stats-book-cover{width:48px;height:64px;border-radius:.35rem;overflow:hidden;background:var(--accent-soft)}.stats-book-cover.small{width:40px;height:52px}.stats-book-cover img{width:100%;height:100%;object-fit:cover;display:block}.stats-book-meta{display:grid;gap:.25rem;min-width:0}.stats-book-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-book-meta span{color:var(--muted);font-size:.8rem}.stats-progress{height:6px;border-radius:999px;background:#eef2f7;overflow:hidden}.stats-progress i{display:block;height:100%;background:var(--accent)}.stats-book-item em,.stats-top-rank{font-style:normal;font-weight:700;color:var(--accent-strong)}.stats-recent-list li{padding-bottom:.7rem;border-bottom:1px solid var(--line)}.stats-recent-list li:last-child{padding-bottom:0;border-bottom:0}.stats-recent-list p{margin:0 0 .3rem;line-height:1.5;font-size:.92rem}.stats-highlight{margin:0 0 .4rem;padding:.55rem .7rem;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;background:#f8fafc;color:var(--ink);font-size:.9rem;line-height:1.45}.stats-recent-list time{color:var(--muted);font-size:.78rem}@media(max-width:720px){.stats-page{padding-inline:1rem}.stats-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-rank-row{grid-template-columns:1fr}}@media(max-width:480px){.stat-card strong{font-size:1.1rem}}.record-page{width:min(520px,100%);margin:0 auto;padding:.5rem 1.25rem 1rem}.record-page h1{margin:0 0 .45rem;font-family:var(--font-display);font-size:clamp(1.45rem,4vw,1.9rem);letter-spacing:-.03em}.record-page h2{margin:0 0 .75rem;font-family:var(--font-display);font-size:1.05rem}.record-lead,.record-status{margin:0 0 1.25rem;color:var(--muted);line-height:1.5}.record-section{margin-bottom:1.75rem}.ongoing-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.ongoing-item{width:100%;display:grid;grid-template-columns:56px 1fr auto;gap:.75rem;align-items:center;padding:.65rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;text-align:left;color:inherit}.ongoing-cover{width:56px;height:72px;border-radius:.4rem;overflow:hidden;background:var(--accent-soft)}.ongoing-cover img{width:100%;height:100%;object-fit:cover;display:block}.ongoing-meta{display:grid;gap:.2rem;min-width:0}.ongoing-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ongoing-meta em{font-style:normal;color:var(--muted);font-size:.82rem}.ongoing-action{color:var(--accent);font-size:.85rem;font-weight:700}.record-form{display:grid;gap:.9rem;padding:1.15rem;border:1px solid var(--line);border-radius:14px;background:#fff}.cover-picker{display:flex;justify-content:center}.cover-button{width:140px;height:180px;padding:0;border:2px dashed rgba(36,106,158,.4);border-radius:.75rem;overflow:hidden;background:var(--accent-soft);color:var(--accent);font-weight:650}.cover-button img{width:100%;height:100%;object-fit:cover;display:block}.record-field{display:grid;gap:.4rem}.record-field span{color:var(--muted);font-size:.85rem}.record-field input,.record-field textarea{width:100%;padding:.85rem .95rem;border:1px solid var(--line);border-radius:.65rem;background:#fff;color:var(--ink);outline:none;resize:vertical;font:inherit}.record-field input:focus,.record-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.record-field-hint{font-style:normal;color:var(--muted);font-size:.78rem;text-align:right}.book-search-results{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.book-search-results button{width:100%;display:grid;grid-template-columns:44px 1fr;gap:.7rem;align-items:center;padding:.55rem .65rem;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:inherit}.book-search-results li:last-child button{border-bottom:0}.book-search-results button:hover{background:#f8fafc}.book-search-cover{width:44px;height:58px;border-radius:6px;overflow:hidden;background:#eef2f7;display:grid;place-items:center;color:var(--muted);font-size:.65rem;text-align:center}.book-search-cover img{width:100%;height:100%;object-fit:cover;display:block}.book-search-meta{display:grid;gap:.15rem;min-width:0}.book-search-meta strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-search-meta em{font-style:normal;color:var(--muted);font-size:.78rem}.record-selected{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin:0;padding:.65rem .75rem;border-radius:10px;background:#eff6ff;color:var(--accent-strong);font-size:.86rem}.ghost-clear{margin-left:auto;border:0;background:transparent;color:var(--muted);font-size:.8rem;font-weight:600}.record-error{margin:0;color:var(--danger);font-size:.88rem}.record-submit,.record-secondary{width:100%;min-height:48px;padding:.9rem 1rem;border:0;border-radius:.7rem;font-weight:650}.record-submit{background:var(--btn-fill);color:var(--btn-text)}.record-submit.danger{background:linear-gradient(180deg,#c45d5d,#9a3d3d)}.record-secondary{margin-top:.75rem;background:transparent;border:1px solid var(--line);color:var(--ink)}.record-page.session{display:grid;justify-items:center;gap:1.5rem;padding-top:1.5rem;text-align:center}.session-book img{width:min(180px,48vw);aspect-ratio:3 / 4;object-fit:cover;border-radius:.75rem;box-shadow:0 16px 40px #1228342e}.session-book h1{margin:.9rem 0 .35rem}.session-book p{margin:0;color:var(--muted)}.session-timer{display:grid;gap:.35rem}.session-timer-label{color:var(--muted);font-size:.9rem}.session-timer strong{font-family:var(--font-display);font-size:clamp(2.4rem,10vw,3.4rem);letter-spacing:.04em;font-variant-numeric:tabular-nums}.finish-book{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem;padding:.75rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface)}.finish-book img{width:52px;height:68px;object-fit:cover;border-radius:.35rem}.finish-book div{display:grid;gap:.2rem}.finish-book span{color:var(--muted);font-size:.85rem}@media(max-width:720px){.record-page{padding-inline:1rem}}.rank-page{width:min(560px,100%);margin:0 auto;padding:.5rem 1.25rem 1rem}.rank-page h1{margin:0 0 .4rem;font-family:var(--font-display);font-size:clamp(1.5rem,4vw,1.9rem);letter-spacing:-.03em}.rank-lead,.rank-status{margin:0 0 1.1rem;color:var(--muted);line-height:1.5}.rank-error{margin:0 0 .85rem;color:var(--danger);font-size:.9rem}.rank-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:1.1rem;padding:.3rem;border:1px solid var(--line);border-radius:.85rem;background:#f9fafb}.rank-tabs button{min-height:40px;padding:.55rem .7rem;border:0;border-radius:.65rem;background:transparent;color:var(--muted);font-weight:650;font-size:.9rem}.rank-tabs button.is-active{background:var(--btn-fill);color:var(--btn-text)}.rank-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.rank-item{display:grid;grid-template-columns:2rem 44px 1fr auto;gap:.7rem;align-items:center;padding:.75rem .8rem;border:1px solid var(--line);border-radius:12px;background:#fff}.rank-item.is-me{border-color:#93c5fd;background:#eff6ff}.rank-number{font-family:var(--font-display);font-weight:700;font-size:1.05rem;text-align:center;color:var(--accent-strong)}.rank-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eef2f7;border:1px solid var(--line);color:var(--accent);font-weight:700}.rank-avatar img{width:100%;height:100%;object-fit:cover;display:block}.rank-meta{display:grid;gap:.15rem;min-width:0}.rank-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-meta em{font-style:normal;color:var(--muted);font-size:.84rem}.rank-follow-btn,.rank-me-badge{flex:0 0 auto;min-height:34px;padding:.35rem .75rem;border-radius:8px;font-size:.8rem;font-weight:700;white-space:nowrap}.rank-follow-btn{border:0;background:var(--btn-fill);color:#fff}.rank-follow-btn:disabled{background:#e5e7eb;color:#6b7280}.rank-me-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:transparent;color:var(--muted)}@media(max-width:720px){.rank-page{padding-inline:1rem}.rank-item{grid-template-columns:1.6rem 40px 1fr auto;gap:.55rem;padding:.7rem .65rem}.rank-avatar{width:40px;height:40px}}.challenge-page{width:min(720px,100%);margin:0 auto;padding:1.25rem 1rem 2rem}.challenge-page h1{margin:0 0 .35rem;font-family:var(--font-display);font-size:clamp(1.55rem,3vw,2rem);font-weight:600;letter-spacing:-.03em}.challenge-page h2{margin:1.5rem 0 .75rem;font-family:var(--font-display);font-size:1.1rem}.challenge-lead{margin:0 0 1.1rem;color:var(--muted);line-height:1.5}.challenge-status,.challenge-error{margin:0 0 .85rem;font-size:.9rem}.challenge-error{color:var(--danger)}.challenge-list{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.85rem}.challenge-item{display:grid;grid-template-columns:1fr auto;gap:.85rem;padding:1.05rem 1.1rem;border:1px solid var(--line);border-radius:14px;background:#fff}.challenge-item strong{display:block;margin-bottom:.35rem;font-size:1.02rem}.challenge-item span,.challenge-item p{display:block;margin:.15rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.45}.challenge-item-actions{display:grid;gap:.45rem;align-content:start}.challenge-item-actions a,.challenge-item-actions button,.challenge-detail-actions button,.challenge-form button,.challenge-back{min-height:38px;padding:.45rem .8rem;border-radius:.55rem;font-weight:650}.challenge-item-actions a{display:inline-grid;place-items:center;border:1px solid var(--line);color:var(--ink);text-align:center}.challenge-item-actions button,.challenge-detail-actions button,.challenge-form button{border:0;background:var(--btn-fill);color:var(--btn-text)}.challenge-item-actions button:disabled,.challenge-detail-actions button:disabled{opacity:.65}.challenge-form{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fff}.challenge-form label{display:grid;gap:.35rem}.challenge-form span{color:var(--muted);font-size:.84rem}.challenge-form input,.challenge-form textarea{width:100%;padding:.7rem .8rem;border:1px solid var(--line);border-radius:.55rem;background:#fffcf6f2;color:var(--ink);font:inherit}.challenge-dates{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.challenge-back{margin-bottom:.85rem;border:1px solid var(--line);background:transparent;color:var(--ink)}.challenge-detail-actions{display:flex;align-items:center;gap:.85rem;margin:1rem 0}.challenge-members{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.challenge-members li{display:flex;align-items:center;gap:.65rem}.challenge-member-avatar{display:inline-grid;place-items:center;width:36px;height:36px;overflow:hidden;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.challenge-member-avatar img{width:100%;height:100%;object-fit:cover}@media(max-width:720px){.challenge-item,.challenge-dates{grid-template-columns:1fr}}.public-profile{width:min(640px,100%);margin:0 auto;padding:.5rem 1.1rem 1.5rem;display:grid;gap:1rem}.public-status{margin:0;color:var(--muted)}.public-status.error{color:var(--danger)}.public-hero{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:16px;background:#fff}.public-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eef2f7;color:var(--accent);font-size:1.5rem;font-weight:700;border:1px solid var(--line)}.public-avatar img{width:100%;height:100%;object-fit:cover;display:block}.public-hero-meta h1{margin:0 0 .15rem;font-size:1.35rem;font-weight:700}.public-hero-meta p{margin:0 0 .45rem;color:var(--muted);font-size:.88rem}.public-social{display:flex;flex-wrap:wrap;gap:.7rem;color:var(--muted);font-size:.84rem;font-weight:600}.public-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.45rem .85rem;border-radius:10px;font-size:.86rem;font-weight:700;border:1px solid transparent}.public-btn.ghost{border-color:var(--line);background:#fff;color:var(--ink)}.public-btn.solid{background:var(--btn-fill);color:#fff;border:0}.public-btn.solid:disabled{opacity:.65}.public-back{width:fit-content;min-height:38px;padding:.45rem .85rem;border:1px solid var(--line);border-radius:10px;background:#fff}.public-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.public-stats div{display:grid;gap:.2rem;padding:.85rem .55rem;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:center;min-width:0}.public-stats strong{font-size:1.02rem}.public-stats span{color:var(--muted);font-size:.72rem;line-height:1.2}.public-section{padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fff}.public-section h2{margin:0 0 .75rem;font-size:1.02rem;font-weight:700}.public-empty{margin:0;color:var(--muted);font-size:.9rem}.public-genres{display:flex;flex-wrap:wrap;gap:.45rem}.public-genres span{padding:.35rem .65rem;border-radius:8px;background:#eff6ff;color:var(--accent-strong);font-size:.82rem;font-weight:600}.public-book-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.public-book-grid li{display:grid;gap:.3rem}.public-book-cover{aspect-ratio:3 / 4;border-radius:8px;overflow:hidden;background:#eef2f7}.public-book-cover img{width:100%;height:100%;object-fit:cover;display:block}.public-book-grid strong,.public-book-list strong{font-size:.86rem;line-height:1.3}.public-book-grid em,.public-book-list em{font-style:normal;color:var(--muted);font-size:.76rem}.public-book-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.public-book-list li{display:grid;grid-template-columns:44px 1fr;gap:.65rem;align-items:center}.public-book-cover.small{width:44px;height:58px;aspect-ratio:auto}.public-feed{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.public-feed li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.75rem;align-items:start}.public-feed li.no-image{grid-template-columns:minmax(0,1fr)}.public-feed-thumb{width:72px;height:72px;border-radius:10px;overflow:hidden;background:#eef2f7;flex-shrink:0}.public-feed-thumb img{width:100%;height:100%;object-fit:cover;display:block}.public-feed-body{min-width:0}.public-feed blockquote{margin:0 0 .35rem;padding:.45rem .6rem;border-left:3px solid var(--accent);background:#f8fafc;font-size:.88rem;overflow-wrap:anywhere}.public-feed p{margin:0 0 .3rem;font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}.public-feed time{color:var(--muted);font-size:.76rem}.public-feed-meta{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.public-feed-delete{padding:.2rem .5rem;border:1px solid #fecaca;border-radius:6px;background:#fff;color:var(--danger);font-size:.74rem;font-weight:700}.public-feed-delete:hover{background:#fef2f2}@media(max-width:720px){.public-profile{padding-inline:.85rem}.public-hero{grid-template-columns:auto 1fr}.public-actions{grid-column:1 / -1}.public-btn{width:100%}.public-stats,.public-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-feed li{grid-template-columns:56px minmax(0,1fr)}.public-feed li.no-image{grid-template-columns:minmax(0,1fr)}.public-feed-thumb{width:56px;height:56px}}.books-page h1,.book-detail h1{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem)}.subtitle{margin:.5rem 0 1.75rem;color:var(--muted)}.status{color:var(--muted)}.status.error{color:var(--danger)}.book-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.book-list a{display:grid;gap:.25rem;padding:1rem 0;border-bottom:1px solid var(--line)}.book-list strong{font-size:1.15rem}.book-list span,.book-list em{color:var(--muted);font-style:normal;font-size:.95rem}.book-list a:hover strong{color:var(--accent)}.back{display:inline-block;margin-bottom:1rem;color:var(--muted)}.author{margin:.4rem 0 1rem;color:var(--muted)}.description{margin:0 0 2rem;line-height:1.7}.book-detail h2{margin:0 0 1rem;font-family:var(--font-display)}.review-form{display:grid;gap:.75rem;margin-bottom:2rem}.review-form input,.review-form select,.review-form textarea{width:100%;padding:.75rem .85rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface);color:var(--ink)}.review-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.review-list li{padding-bottom:1rem;border-bottom:1px solid var(--line)}.review-list div{display:flex;gap:.75rem;align-items:baseline;margin-bottom:.35rem}.review-list span,.review-list .empty{color:var(--muted)}.review-list p{margin:0;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.8rem 1.2rem;border:1px solid transparent;border-radius:.4rem;cursor:pointer}.btn.primary{background:var(--btn-fill);color:var(--btn-text)}:root{--bg: #f2f3f5;--bg-elevated: #ffffff;--ink: #111827;--muted: #6b7280;--accent: #2563a8;--accent-strong: #1d4f86;--accent-soft: rgba(37, 99, 168, .1);--line: #e5e7eb;--danger: #dc2626;--ok: #15803d;--surface: #ffffff;--surface-strong: #ffffff;--btn-fill: #2563a8;--btn-fill-hover: #1d4f86;--btn-text: #ffffff;--like: #e11d48;--shadow-soft: 0 1px 2px rgba(17, 24, 39, .04), 0 8px 24px rgba(17, 24, 39, .06);--radius: 12px;--radius-lg: 16px;--font-display: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--feed-width: min(480px, 100%)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}#root{min-height:100vh}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}::selection{background:#2563a82e}
