.app-shell{min-height:100dvh;display:flex}.content{flex:1;min-width:0;display:flex;justify-content:center}.page{width:100%}.page-inner{width:100%;max-width:620px;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 18px 120px}.sidebar{display:none;width:244px;flex:none;position:sticky;top:0;height:100dvh;padding:26px 16px;border-right:1px solid var(--separator);flex-direction:column;gap:4px;background:var(--nav-bg);-webkit-backdrop-filter:saturate(1.4) blur(18px);backdrop-filter:saturate(1.4) blur(18px)}.sidebar .brand{display:flex;align-items:center;gap:10px;padding:6px 10px 22px}.sidebar .brand img.logo{width:34px;height:34px;object-fit:contain;border-radius:8px}.sidebar .brand img.wordmark{height:22px;width:auto}.nav-item{position:relative;z-index:1;display:flex;align-items:center;gap:13px;padding:11px 14px;border-radius:12px;color:var(--label-secondary);font-weight:500;font-size:.96rem;width:100%;transition:background .16s,color .16s}.nav-item:hover{background:var(--fill);color:var(--label)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-indicator{position:absolute;top:0;left:0;background:var(--accent-soft);border-radius:12px;transition:transform .32s cubic-bezier(.34,1.4,.4,1),width .32s cubic-bezier(.34,1.4,.4,1),height .32s cubic-bezier(.34,1.4,.4,1);pointer-events:none;z-index:0}.nav-item .badge{margin-left:auto;background:var(--pink);color:#fff;font-size:.7rem;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}.tabbar{position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));max-width:420px;margin:0 auto;display:flex;background:linear-gradient(to bottom,var(--glass-bg-top),var(--glass-bg-bottom));backdrop-filter:blur(12px) saturate(190%);-webkit-backdrop-filter:blur(12px) saturate(190%);border-radius:999px;box-shadow:0 1px 1px var(--glass-inset-1) inset,0 -6px 10px var(--glass-inset-2) inset,0 14px 32px #00000024,0 3px 10px #00000014;border:1px solid var(--glass-border);z-index:40;padding:7px;isolation:isolate}.tabbar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(160deg,var(--glass-sheen-1) 0%,var(--glass-sheen-2) 35%,transparent 60%);pointer-events:none;z-index:0}.tab{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--label-secondary);font-size:.64rem;font-weight:600;padding:7px 4px 6px;border-radius:999px;transition:color .16s}.tab.active{color:var(--accent);background:linear-gradient(to bottom,var(--glass-active-top),var(--glass-active-bottom));box-shadow:0 1px 1px var(--glass-active-inset) inset,0 2px 6px #00000014}.tab-indicator{position:absolute;top:0;left:0;background:linear-gradient(to bottom,var(--glass-active-top),var(--glass-active-bottom));box-shadow:0 1px 1px var(--glass-active-inset) inset,0 2px 6px #00000014;border-radius:999px;transition:transform .32s cubic-bezier(.34,1.4,.4,1),width .32s cubic-bezier(.34,1.4,.4,1);pointer-events:none;z-index:0}.tab .badge{position:absolute;top:-2px;left:50%;margin-left:6px;background:var(--pink);color:#fff;font-size:.6rem;font-weight:700;min-width:16px;height:16px;padding:0 4px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}@media (min-width: 860px){.sidebar{display:flex}.tabbar{display:none}.page-inner{padding-bottom:60px}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(24px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes heartPop{0%{transform:translateY(-50%) scale(0)}60%{transform:translateY(-50%) scale(1.25)}to{transform:translateY(-50%) scale(1)}}.view-enter{animation:fade .28s ease,cardIn .28s ease}.heart-pop{animation:heartPop .34s cubic-bezier(.3,1.4,.5,1)}.post-card{animation:cardIn .3s ease both}.scroll-top-btn{position:fixed;right:18px;bottom:calc(96px + env(safe-area-inset-bottom,0px));width:44px;height:44px;border-radius:50%;background:var(--bg-elevated);color:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lift);border:1px solid var(--separator);z-index:50;animation:fade .2s ease}.scroll-top-btn:active{transform:scale(.94)}@media (min-width: 860px){.scroll-top-btn{bottom:28px}}:root{--accent: #3a9bde;--accent-strong: #2b8ad0;--accent-soft: rgba(58, 155, 222, .12);--accent-softer: rgba(58, 155, 222, .06);--pink: #ff2d55;--pink-soft: rgba(255, 45, 85, .1);--red: #ff3b30;--green: #34c759;--bg: #f2f2f7;--bg-elevated: #ffffff;--fill: #eceef2;--fill-strong: #e1e3e9;--separator: rgba(60, 60, 67, .14);--label: #1c1c1e;--label-secondary: rgba(60, 60, 67, .62);--label-tertiary: rgba(60, 60, 67, .34);--shadow: 0 1px 3px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.05);--shadow-lift: 0 10px 40px rgba(0,0,0,.14);--nav-bg: rgba(255,255,255,.82);--scrim: rgba(0,0,0,.55);--glass-bg-top: rgba(255,255,255,.62);--glass-bg-bottom: rgba(255,255,255,.38);--glass-inset-1: rgba(255,255,255,.7);--glass-inset-2: rgba(255,255,255,.15);--glass-border: rgba(255,255,255,.55);--glass-sheen-1: rgba(255,255,255,.55);--glass-sheen-2: rgba(255,255,255,.08);--glass-active-top: rgba(255,255,255,.75);--glass-active-bottom: rgba(255,255,255,.45);--glass-active-inset: rgba(255,255,255,.8);--font-serif: "Fraunces", "Iowan Old Style", "Palatino", "Georgia", serif;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--r-sm: 10px;--r-md: 16px;--r-lg: 18px;--r-xl: 24px;--btn-h: 48px;color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--bg-elevated: #1c1c1e;--fill: #26262a;--fill-strong: #34343a;--separator: rgba(84, 84, 88, .5);--label: #f5f5f7;--label-secondary: rgba(235, 235, 245, .6);--label-tertiary: rgba(235, 235, 245, .3);--shadow: 0 1px 3px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.5);--shadow-lift: 0 10px 40px rgba(0,0,0,.6);--nav-bg: rgba(28,28,30,.82);--accent: #58ade5;--accent-strong: #6fbcec;--accent-soft: rgba(88, 173, 229, .18);--accent-softer: rgba(88, 173, 229, .1);--scrim: rgba(0,0,0,.7);--glass-bg-top: rgba(70,70,76,.55);--glass-bg-bottom: rgba(40,40,45,.45);--glass-inset-1: rgba(255,255,255,.1);--glass-inset-2: rgba(255,255,255,.05);--glass-border: rgba(255,255,255,.14);--glass-sheen-1: rgba(255,255,255,.1);--glass-sheen-2: rgba(255,255,255,.02);--glass-active-top: rgba(95,95,102,.75);--glass-active-bottom: rgba(75,75,82,.55);--glass-active-inset: rgba(255,255,255,.14)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-ui);background:var(--bg);color:var(--label);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .25s ease,color .25s ease}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit}a{color:var(--accent);text-decoration:none}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--label-tertiary) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--label-tertiary);border-radius:8px}*::-webkit-scrollbar-track{background:transparent}.btn{height:var(--btn-h);border-radius:var(--r-md);background:var(--accent);color:#fff;font-weight:600;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;width:100%;transition:transform .12s ease,filter .15s ease,opacity .15s ease}.btn:hover:not(:disabled){filter:brightness(1.05)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn--icon-left{justify-content:flex-start}.btn-text{background:none;color:var(--accent);font-weight:600;font-size:1rem;padding:8px 6px;border-radius:8px;transition:background .15s ease,opacity .15s;width:auto;height:auto}.btn-text:hover:not(:disabled){background:var(--accent-softer)}.btn-text:disabled{opacity:.5;cursor:default}.btn-text--sm{font-size:.78rem}.field{height:var(--btn-h);width:100%;border-radius:var(--r-md);background:var(--bg-elevated);border:1px solid var(--accent);color:var(--label);padding:0 16px;font-size:1rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field::placeholder{color:var(--label-secondary)}.field:focus{box-shadow:0 0 0 3px var(--accent-soft)}.field--error{border-color:var(--red)}.card{background:var(--bg-elevated);border-radius:var(--r-md);box-shadow:var(--shadow)}.section-title{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--label-secondary);padding:0 6px 8px;display:flex;align-items:center;gap:5px}.plus-badge{color:var(--accent);font-weight:700}.serif{font-family:var(--font-serif)}.muted{color:var(--label-secondary)}.tertiary{color:var(--label-tertiary)}.row{display:flex;align-items:center}.stack{display:flex;flex-direction:column}.switch{position:relative;width:51px;height:31px;flex:none}.switch input{opacity:0;width:0;height:0}.switch .track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--fill-strong);transition:background .2s ease}.switch .thumb{position:absolute;top:2px;left:2px;width:27px;height:27px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000040;transition:transform .2s cubic-bezier(.4,.9,.3,1.2),width .18s ease}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track+.thumb{transform:translate(20px)}.switch input:disabled+.track{opacity:.5}.switch input:active+.track+.thumb{width:32px}.switch input:checked:active+.track+.thumb{transform:translate(15px);width:32px}.segmented{position:relative;display:inline-flex;background:var(--fill);border-radius:9px;padding:2px;gap:2px}.segmented-indicator{position:absolute;top:2px;left:0;bottom:2px;background:var(--bg-elevated);border-radius:7px;box-shadow:0 1px 3px #0000001f;transition:transform .32s cubic-bezier(.34,1.4,.4,1),width .32s cubic-bezier(.34,1.4,.4,1);z-index:0;pointer-events:none}.segmented button{position:relative;z-index:1;border-radius:7px;padding:6px 14px;font-size:.85rem;font-weight:500;color:var(--label-secondary);background:transparent;transition:color .2s ease,transform .12s ease;display:inline-flex;align-items:center;gap:6px}.segmented button.active{color:var(--label)}.segmented button:active{transform:scale(.94)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--label-secondary);transition:background .15s,color .15s}.icon-btn:hover{background:var(--fill);color:var(--label)}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@property --gradient-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.composer-wrap{position:relative}.composer-wrap.loading:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-xl);padding:2px;pointer-events:none;z-index:2;background:conic-gradient(from var(--gradient-angle),transparent 0%,#58ade5 8%,#bfe3fb 13%,#58ade5 18%,transparent 26%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 4px rgba(88,173,229,.9)) drop-shadow(0 0 9px rgba(88,173,229,.55));animation:borderRotate 1.4s linear infinite}@keyframes borderRotate{to{--gradient-angle: 360deg}}@media (prefers-reduced-motion: reduce){.composer-wrap.loading:before{animation:none}}.composer-marquee{display:inline-block}@media (max-width: 430px){.composer-marquee{animation:composerScroll 9s linear infinite}}@keyframes composerScroll{0%,12%{transform:translate(0)}88%,to{transform:translate(calc(-100% + 220px))}}.avatar-loader-ring{position:absolute;border-radius:50%;border:2px solid var(--accent);animation:avatarPulseInward 1.8s cubic-bezier(.3,.1,.3,1) infinite}@keyframes avatarPulseInward{0%{transform:scale(1);opacity:0}18%{opacity:.55}to{transform:scale(.12);opacity:0}}.avatar-loader-dot{position:absolute;border-radius:50%;background:var(--accent);animation:avatarDotBreathe 1.8s ease-in-out infinite}@keyframes avatarDotBreathe{0%,to{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.tour-cta{position:relative;overflow:hidden;width:100%;border:none;cursor:pointer;padding:15px 20px;border-radius:14px;color:#fff;font-weight:700;font-size:1rem;font-family:inherit;letter-spacing:.2px;background:linear-gradient(100deg,#3a9bde,#58ade5 55%,#74c4ef);box-shadow:0 6px 20px #3a9bde80,inset 0 0 0 1px #ffffff2e;animation:ctaGlow 2.6s ease-in-out infinite}.tour-cta:after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skew(-20deg);animation:ctaShine 2.8s ease-in-out infinite}.tour-cta:active{transform:scale(.985)}@keyframes ctaShine{0%{left:-70%}55%{left:140%}to{left:140%}}@keyframes ctaGlow{0%,to{box-shadow:0 6px 18px #3a9bde6b,inset 0 0 0 1px #ffffff2e}50%{box-shadow:0 10px 30px #3a9bdecc,inset 0 0 0 1px #ffffff47}}@media (prefers-reduced-motion: reduce){.tour-cta,.tour-cta:after{animation:none}}.install-cta{animation:installPulse 2.2s ease-in-out infinite}@keyframes installPulse{0%,to{box-shadow:0 0 #3a9bde00}50%{box-shadow:0 0 0 7px #3a9bde29}}@media (prefers-reduced-motion: reduce){.install-cta{animation:none}}@keyframes slideDownIn{0%{transform:translateY(-101%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.segmented-full{display:flex;width:100%}.segmented-full button{flex:1 1 0;min-width:0;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:8px;padding-right:8px}
