/* Kai's paper-and-forest member experience. */
body{background:#f7f3eb;color:#18352b;font-size:16px}
main{max-width:1800px}
h1,h2,h3{text-wrap:balance}
button,a,input,select,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ac772e;outline-offset:4px}
.sidebar{background:#132d23}.sidebar nav button{min-height:48px}.sidebar nav button span{font-size:14px}.sidebar nav button small{font-size:11px}
.welcome{padding:20px 0 28px}.welcome p{font-size:12px;letter-spacing:2px;color:#56695c}.welcome h1{font:clamp(34px,4.5vw,66px)/1.08 Georgia,serif;margin:14px 0}
.hero{height:410px;border-radius:12px}.hero-copy{max-width:58%;padding:38px}.hero h1{font-size:clamp(34px,4vw,56px);line-height:1.08}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.65}.hero-shade{background:linear-gradient(90deg,#132d23 8%,#132d23ed 40%,#132d2320 75%)}
.journey-stats{display:flex;align-items:center;gap:28px;padding:25px 0;border-bottom:1px solid #deddd0;flex-wrap:wrap}.journey-stats h2{font:28px Georgia,serif;margin:0 auto 0 0}.journey-stats strong{font:28px Georgia,serif;margin-right:8px;font-variant-numeric:tabular-nums}.journey-stats span{font-size:14px}.journey-stats progress{accent-color:#244c39;width:140px;height:7px}
.connection-status{display:flex;align-items:center;gap:8px;font-size:12px;color:#516359}.connection-status:before{content:'';width:7px;height:7px;border-radius:50%;background:#5e7f50}.connection-status[data-offline=true]{color:#87591c}.connection-status[data-offline=true]:before{background:#b87921}
.collection-card{border-radius:12px;overflow:hidden;box-shadow:none;border:1px solid #dddccf}.collection-photo{height:240px}.collection-body p:not(.eyebrow){font-size:15px;line-height:1.6}.collection-card-foot button{min-height:44px}.collection-body .eyebrow{font-size:10px}.collection-card-foot small{font-size:11px}
.ritual-card{border-radius:10px;content-visibility:auto;contain-intrinsic-size:auto 260px}.ritual-card>p:not(.eyebrow){font-size:15px;line-height:1.65}.ritual-bottom{gap:12px;flex-wrap:wrap}.ritual-bottom button{min-height:44px}.bookmark{min-width:44px;min-height:44px}.ritual-bottom span{font-size:12px}
dialog{overscroll-behavior:contain}.reader-tabs button{min-height:48px;font-size:14px}#reader-article{font-size:17px;line-height:1.8}#reader-article.large{font-size:20px}.reader-toolbar button,.reader-bottom button{min-height:44px}.reader-lead{font-size:20px}textarea{font:inherit;line-height:1.6;max-width:100%}.read-check{padding:16px 0}
.billing-actions{display:grid;gap:10px;margin-top:20px}.billing-actions button{min-height:48px}.billing-status{line-height:1.6;font-size:14px}.next-discovery{margin-top:12px;min-height:44px}.empty-access{padding:24px;background:#eee9df;border-radius:8px}
@media(max-width:800px){.sidebar nav{padding-bottom:8px}.sidebar nav button span{font-size:13px}.welcome{padding-top:8px}.hero-copy{max-width:80%}.hero{height:390px}.journey-stats{gap:18px}.journey-stats h2{width:100%}.collection-photo{height:100%}.connection-status{font-size:11px}.topbar{flex-wrap:wrap;gap:8px;height:auto;min-height:65px;padding:12px 0}.topbar>div{flex-wrap:wrap}.hero h1{font-size:42px}}
@media(max-width:500px){main{padding:0 18px}.welcome h1{font-size:38px}.hero{height:440px}.hero-copy{max-width:100%;padding:140px 24px 24px}.hero h1{font-size:36px}.hero-shade{background:linear-gradient(0deg,#132d23 5%,#132d23c9 55%,#132d2320)}.hero-copy>p:not(.eyebrow){font-size:14px}.hero-caption{font-size:11px}.hero .gold-button{font-size:14px;min-height:48px}.collection-photo{height:220px}.journey-stats progress{width:100px}.reader-tabs button{font-size:12px}#reader-article{padding:22px;font-size:16px}.topbar{font-size:10px}.topbar button{font-size:12px}.sidebar{padding:16px}.sidebar nav button{padding:8px 12px}footer p{font-size:12px}.auth-shell{margin:20px auto;padding:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.app-tabbar{display:none}.install-app{position:fixed;right:20px;bottom:20px;z-index:90;background:#132d23;color:white;border:1px solid #c1aa71;border-radius:24px;padding:14px 22px;box-shadow:0 4px 20px #0002}.install-app[hidden],.app-tabbar[hidden]{display:none!important}
@media(max-width:800px){body:has(.app-tabbar:not([hidden])){padding-bottom:calc(78px + env(safe-area-inset-bottom))}.app-tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#f7f3ebfa;border-top:1px solid #d6dbd0;z-index:80;justify-content:space-around;backdrop-filter:blur(12px)}.app-tabbar a{display:flex;flex:1;min-height:48px;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:#68756b;font-size:22px}.app-tabbar span{font:11px system-ui}.app-tabbar a[aria-current=page]{color:#183f2c;background:#e6ecdf;border-radius:12px}.install-app{bottom:calc(85px + env(safe-area-inset-bottom))}.sidebar nav button[data-route]{display:none}.sidebar nav{display:flex;flex-wrap:wrap}.sidebar-foot,.sidebar .nav-label,.sidebar .nav-divider{display:none}.sidebar{padding:14px 18px}.sidebar nav button{font-size:12px;min-height:40px}.sidebar nav button span{font-size:12px}.auth-shell{min-height:70dvh}}
