/* Everwell Mynds: the soft "neo" look (October redesign).
   The values (colors, shadows, radius) live in site.css under :root, --neo-*. This file only applies them.
   The name starts with z so it loads after every other feature stylesheet and wins ties.
   Rules: text never sits on a shadow, every text color keeps WCAG AA contrast, motion is off when
   Reduce motion is on (profile.css) or the device asks for less motion. */

body{background:radial-gradient(1200px 600px at 75% -10%,#FBF0E6 0%,rgba(251,240,230,0) 60%),var(--paper);background-attachment:fixed}

/* ---------- surfaces ---------- */
body .card{background:var(--neo-surface);border:var(--neo-edge);border-radius:var(--neo-radius);box-shadow:var(--neo-raise)}
body .lock-card{background:var(--neo-surface);border:1px dashed var(--neo-line);border-radius:var(--neo-radius);box-shadow:var(--neo-raise-sm)}
body .lock-card .lock-ico{background:var(--neo-bg);box-shadow:var(--neo-inset)}
body .thumb{border-radius:var(--neo-radius-sm);background:var(--neo-sunset)}
body .media-ph{border-radius:var(--neo-radius-sm);background:var(--neo-bg);box-shadow:var(--neo-inset)}

/* ---------- buttons ---------- */
body .btn{border-radius:16px;transition:box-shadow .15s ease,transform .15s ease}
body .btn-accent{background:var(--neo-red);box-shadow:-3px -3px 9px rgba(255,255,255,.85),5px 7px 16px rgba(201,52,26,.32)}
body .btn-accent:hover{background:linear-gradient(160deg,#D9381E 0%,#C2321A 100%)}
body .btn-ink{box-shadow:-3px -3px 9px rgba(255,255,255,.85),5px 7px 16px rgba(20,18,16,.25)}
body .btn-light{background:var(--neo-surface);border:var(--neo-edge);box-shadow:var(--neo-raise-sm)}
body .btn-light:hover{color:var(--accent-deep)}
body .btn:active,body .btn-light:active{box-shadow:var(--neo-press);transform:translateY(1px)}
body .chip{border:var(--neo-edge);border-radius:var(--neo-pill);background:var(--neo-surface);box-shadow:var(--neo-raise-xs)}
body .chip[aria-pressed="true"]{background:var(--neo-red);border-color:transparent;color:#fff}
body .icon-btn{border:var(--neo-edge);background:var(--neo-surface);box-shadow:var(--neo-raise-sm)}
body .icon-btn:hover{color:var(--accent-deep)}
body .icon-btn:active{box-shadow:var(--neo-press)}
body .dot-badge{border-color:var(--neo-surface)}
body .tag{background:var(--stone)}
body .topic{background:var(--neo-bg);box-shadow:var(--neo-inset);color:var(--ink)}
body .topic-story{background:var(--accent-wash);color:var(--accent-deep);box-shadow:none}

/* ---------- avatars: a soft raised ring ---------- */
body .avatar{box-shadow:0 0 0 3px var(--neo-surface),var(--neo-raise-xs)}
body .app-actions-me{display:inline-flex;border-radius:50%}
body .app-actions-me .avatar{width:46px;height:46px;background:var(--accent-wash);color:var(--accent-deep);overflow:hidden}
body .app-actions-me .avatar img{width:100%;height:100%;object-fit:cover}

/* ---------- inputs sit inside the surface (inset) ---------- */
body .input,body .search-box,body .composer-editor,body .cm-input,body .fd-textarea,body .fd-edit-topic,body .fd-boost-input,body .fp-newfolder input,body .composer-row input,body .composer-topic select,body .fp-sort select,body .sv-move select{background-color:var(--neo-bg);border-color:var(--neo-line);box-shadow:var(--neo-inset)}
body .input,body .composer-row input{border-radius:var(--neo-radius-sm)}
body .search-box{height:52px;border-radius:var(--neo-pill);padding:0 8px 0 18px}
body .search-box:focus-within,body .input:focus,body .composer-editor:focus,body .cm-input:focus{border-color:var(--accent-deep);background-color:var(--neo-surface)}
body .search-suggest{border:var(--neo-edge);border-radius:var(--neo-radius-md);background:var(--neo-surface)}
body .composer-topic select,body .fp-sort select,body .sv-move select{border-radius:var(--neo-pill)}

/* ---------- app shell: terracotta sidebar ---------- */
@media (min-width:981px){
  body .app{padding:0 32px 32px 0;gap:0 36px}
  body .app-body{padding-top:28px}
  body .app-side{flex:0 0 268px;position:sticky;top:0;align-self:flex-start;height:100vh;min-height:0;margin:0;padding:26px 16px 18px;overflow-y:auto;overscroll-behavior:contain;background:var(--neo-side);color:#fff;border-radius:0 34px 34px 0;box-shadow:10px 0 32px rgba(156,51,24,.22),inset -1px 0 0 rgba(255,255,255,.08);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}
}
body .app-side a{color:#fff}
body .app-side > *{flex-shrink:0}
body .app-side .app-brand{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:0;padding:4px 0 10px;text-align:center;font-size:46px;line-height:.92;letter-spacing:-.6px;white-space:normal}
body .app-side .app-brand:hover{color:#fff}
body .app-brand-spark{width:18px;height:18px;fill:#fff;margin-bottom:6px}
body .app-brand-word i{display:block}
body .app-brand-smile{display:block;width:30px;height:9px;margin-top:6px;border-bottom:2px solid #fff;border-radius:0 0 50% 50%}
body .app-side .app-nav{margin-top:14px;gap:2px}
body .app-side .app-nav-label{margin:16px 0 4px;color:#fff;font-size:11px;letter-spacing:1.4px}
body .app-side .app-nav a{height:42px;padding:0 14px;border-radius:var(--neo-pill);color:#fff;font-weight:500}
body .app-side .app-nav a:hover{background:rgba(255,255,255,.14);color:#fff}
body .app-side .app-nav a[aria-current="page"]{background:#FBF1EA;color:var(--accent-deep);font-weight:700;box-shadow:inset 0 1px 0 #fff,0 8px 18px rgba(90,25,8,.28)}
body .app-side .app-nav .nav-lock{color:#fff}
body .app-side .app-nav a[aria-current="page"] .nav-lock{color:var(--accent-deep)}
body .app-side .badge{background:#fff;color:var(--accent-deep)}
body .app-spaces{margin-top:10px;padding-top:6px;border-top:1px solid rgba(255,255,255,.22)}
body .app-side .app-nav a.app-space{height:36px;font-size:14px;gap:12px}
body .app-side .app-nav a.app-space.is-on{background:rgba(255,255,255,.18);font-weight:700}
body .app-space-dot{width:9px;height:9px;flex:none;border-radius:50%;background:#FBE4DD;box-shadow:0 0 0 3px rgba(255,255,255,.14)}
body .app-side .app-new{background:#FBF1EA;color:var(--accent-deep);box-shadow:0 8px 18px rgba(90,25,8,.28);border-radius:var(--neo-pill)}
body .app-side .app-new:hover{background:#fff;color:var(--accent-deep)}
body .app-side .app-me{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);border-radius:20px}
body .app-side .app-me:hover{background:rgba(255,255,255,.2);color:#fff}
body .app-side .app-me .avatar{background:#FBF1EA;color:var(--accent-deep);box-shadow:none}
body .app-side .app-me-streak{color:#fff}
body .app-side .tag-member{background:#FBF1EA;color:var(--accent-deep)}
body .app-side .app-out{color:#fff}
body .app-side .app-out:hover{background:rgba(255,255,255,.14);color:#fff}
body .app-side :focus-visible{outline-color:#fff}

/* ---------- phone tab bar with a raised plus ---------- */
@media (max-width:980px){
  body .app-tabs{background:var(--neo-surface);border-top:0;border-radius:26px 26px 0 0;box-shadow:0 -10px 28px rgba(163,96,62,.20),inset 0 1px 0 #fff;padding:6px 6px calc(8px + env(safe-area-inset-bottom,0px));align-items:flex-end}
  body .app-tabs a{color:var(--muted)}
  body .app-tabs a[aria-current="page"]{color:var(--accent-deep);background:none}
  body .app-tabs a[aria-current="page"] svg{stroke-width:2.1}
  body .app-tabs .app-tab-plus{flex:0 0 72px;min-height:52px;justify-content:flex-start}
  body .app-tab-plus-btn{width:60px;height:60px;margin-top:-28px;border-radius:50%;background:var(--neo-red);color:#fff;display:flex;align-items:center;justify-content:center;border:4px solid var(--neo-surface);box-shadow:0 10px 20px rgba(201,52,26,.35),-3px -3px 8px rgba(255,255,255,.9)}
  body .app-tab-plus-btn svg{width:26px;height:26px;stroke-width:2.4}
  body .app-tabs .app-tab-plus:active .app-tab-plus-btn{transform:scale(.96)}
}
@media (min-width:981px){
  body .app-tab-plus{display:none}
  /* Text size (profile.css zooms the body): keep the sticky sidebar inside the screen */
  html[data-ewm-text="large"] body .app-side{height:calc(100vh / 1.1)}
  html[data-ewm-text="larger"] body .app-side{height:calc(100vh / 1.2)}
}
@media (max-width:980px){body .app-actions-me{display:none}}

/* ---------- feed: spaces bubbles ---------- */
body .neo-bubbles{margin-top:18px;display:flex;gap:14px;overflow-x:auto;padding:8px 6px 12px;margin-inline:-6px;scrollbar-width:none;scroll-snap-type:x proximity}
body .neo-bubbles::-webkit-scrollbar{display:none}
body .neo-bubble{flex:1 0 96px;max-width:124px;min-width:88px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink);font-size:13px;line-height:16px;font-weight:600;text-align:center;scroll-snap-align:start}
body .neo-bubble:hover{color:var(--accent-deep)}
body .neo-bubble-pic{width:100%;aspect-ratio:1/1.08;border-radius:46% 46% 40% 40%;border:4px solid var(--neo-surface);box-shadow:var(--neo-raise-sm);background:var(--neo-sunset);position:relative;overflow:hidden}
body .neo-bubble-pic::after{content:"";position:absolute;left:50%;top:44%;width:34%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#FFF1D6 0%,#FFD7A3 55%,rgba(255,215,163,0) 72%)}
body .neo-ph-2{background:linear-gradient(180deg,#FBD3A9 0%,#EE9A64 40%,#C5583A 70%,#7E3020 100%)}
body .neo-ph-3{background:linear-gradient(180deg,#F3C9A8 0%,#D98A63 45%,#9B4A33 100%)}
body .neo-ph-4{background:linear-gradient(180deg,#FFC48A 0%,#F07D45 38%,#B23C22 66%,#4F1C10 100%)}
body .neo-ph-5{background:linear-gradient(180deg,#F7DCC4 0%,#E8A782 45%,#B9684A 100%)}
body .neo-ph-6{background:linear-gradient(180deg,#FFB98C 0%,#E5654A 45%,#A8301F 100%)}
body .neo-ph-3::after,body .neo-ph-5::after{top:62%;width:16%;border-radius:40% 40% 45% 45%;background:radial-gradient(circle at 50% 30%,#FFF6DF 0%,#FFD38E 60%,rgba(255,211,142,0) 75%)}
body .neo-bubble.is-on .neo-bubble-pic{border-color:var(--accent)}

/* ---------- feed: composer ---------- */
body .feed-composer{margin-top:12px}
body .composer{padding:18px 20px}
body .composer-editor{border-radius:22px;min-height:64px;padding:14px 18px}
body .composer-tools{gap:8px}
body .composer-tool{border-radius:12px}
body .composer-tool:hover,body .composer-tool[aria-pressed="true"]{background:var(--neo-bg);box-shadow:var(--neo-inset)}
body .composer-pill{width:auto;padding:0 14px;gap:8px;border-radius:var(--neo-pill);background:var(--neo-surface);box-shadow:var(--neo-raise-xs);border:var(--neo-edge);font-family:var(--sans);font-size:14px;font-weight:600;cursor:pointer}
body .composer-pill svg{color:var(--accent-deep);width:18px;height:18px}
body .composer-pill:hover{background:var(--neo-surface);box-shadow:var(--neo-raise-sm);color:var(--accent-deep)}
body .composer-pill:active,body .composer-pill[aria-pressed="true"]{box-shadow:var(--neo-press);background:var(--neo-bg)}
body .composer-pill:focus-within{outline:3px solid #2B5FA8;outline-offset:2px}
body .composer-sep{background:var(--neo-line)}
body .composer-row{border-color:var(--neo-line);border-radius:var(--neo-radius-sm);background:var(--neo-bg);box-shadow:var(--neo-inset)}
body .composer-note{background:var(--neo-bg);box-shadow:var(--neo-inset)}

/* ---------- feed: tabs as soft pills ---------- */
body .feed-tablist,body .pf-tabbar{border-bottom:0;gap:6px;margin-top:22px;padding:6px;border-radius:var(--neo-pill);background:var(--neo-bg);box-shadow:var(--neo-inset);display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
body .feed-tablist::-webkit-scrollbar{display:none}
body .feed-tab,body .pf-tab{height:40px;padding:0 18px;border:0;border-radius:var(--neo-pill);white-space:nowrap;flex:none}
body .feed-tab[aria-selected="true"],body .pf-tab[aria-selected="true"]{background:var(--neo-surface);color:var(--accent-deep);box-shadow:var(--neo-raise-xs)}
body .feed-tab:hover,body .pf-tab:hover{color:var(--ink)}
body .pf-tablist{gap:6px}
body .pf-tabbar{display:inline-flex;max-width:100%}

/* ---------- posts ---------- */
body .feed-post{padding:22px 24px;gap:12px}
body .feed-post-head .avatar{width:44px;height:44px}
body .feed-time{color:var(--muted)}
body .post-body{font-size:16px;line-height:1.6}
body .post-body > b:first-child:has(+ br){display:inline-block;margin-bottom:2px;font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15;letter-spacing:-.3px}
body .fd-photos{gap:8px;border-radius:var(--neo-radius-md)}
body .fd-photo{border-radius:14px;overflow:hidden;background:var(--neo-sunset)}
body .feed-actions{gap:6px}
body .feed-act,body .fp-save{border-radius:var(--neo-pill)}
body .feed-act:hover,body .fp-save:hover{background:var(--neo-bg);box-shadow:var(--neo-inset)}
body .feed-act[aria-pressed="true"]{color:var(--accent-deep)}
body .fd-more{border-radius:50%}
body .fd-more:hover,body .fd-more[aria-expanded="true"]{background:var(--neo-bg);box-shadow:var(--neo-inset)}
body .fd-menu,body .fp-sheet,body .fd-dialog{background:var(--neo-surface);border:var(--neo-edge);border-radius:var(--neo-radius-md)}
body .poll-opt{background:var(--neo-surface);border-color:var(--neo-line);border-radius:var(--neo-radius-sm);box-shadow:var(--neo-raise-xs)}
body .poll-opt .poll-fill{background:var(--stone)}
body .linkcard,body .filecard{border-color:var(--neo-line);border-radius:var(--neo-radius-sm);background:var(--neo-surface)}
body .cm-bubble{background:var(--neo-bg);box-shadow:var(--neo-inset)}
body .feed-pick{border:var(--neo-edge);background:var(--neo-surface);box-shadow:var(--neo-raise-xs)}
body .feed-pick[aria-pressed="true"]{background:var(--neo-red);border-color:transparent;color:#fff}
body .fp-sortbar{margin-top:16px}
body .feed-quiz .thumb{background:var(--neo-sunset)}

/* ---------- feed: right column ---------- */
body .neo-quote{position:relative;margin:0;min-height:236px;padding:24px 26px 22px;border-radius:var(--neo-radius);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;color:#fff;background:linear-gradient(180deg,rgba(60,20,10,0) 30%,rgba(60,20,10,.55) 100%),var(--neo-sunset);box-shadow:var(--neo-raise)}
body .neo-quote::before{content:"";position:absolute;right:16%;top:16%;width:76px;height:76px;border-radius:50%;background:radial-gradient(circle,#FFF2D8 0%,#FFD49C 55%,rgba(255,212,156,0) 72%)}
body .neo-quote::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;background:repeating-linear-gradient(180deg,rgba(255,226,190,.10) 0 2px,rgba(0,0,0,0) 2px 9px)}
body .neo-quote blockquote{position:relative;z-index:1;margin:0;font-family:var(--serif);font-size:30px;line-height:1.08;letter-spacing:-.3px;text-wrap:balance;text-shadow:0 1px 12px rgba(60,20,10,.45)}
body .neo-quote figcaption{position:relative;z-index:1;font-size:11px;line-height:14px;font-weight:700;letter-spacing:2.6px;text-transform:uppercase;display:flex;align-items:center;gap:10px}
body .neo-quote figcaption::before{content:"";width:28px;height:1px;background:#fff}
body .neo-streak{padding:18px 20px 20px}
body .neo-streak-head{display:flex;align-items:center;gap:12px}
body .neo-streak-ico{width:44px;height:44px;flex:none;border-radius:50%;background:var(--neo-bg);box-shadow:var(--neo-inset);display:flex;align-items:center;justify-content:center;color:var(--accent)}
body .neo-streak-ico svg{width:22px;height:22px;fill:var(--accent);stroke:var(--accent-deep);stroke-width:1.2;stroke-linejoin:round}
body .neo-streak h2{flex:1;font-size:26px;line-height:1.1;letter-spacing:-.2px}
body .neo-streak h2 i{color:var(--accent-deep)}
body .neo-streak-go{width:40px;height:40px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink)}
body .neo-streak-go:hover{background:var(--neo-bg);box-shadow:var(--neo-inset);color:var(--accent-deep)}
body .neo-streak-go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
body .neo-week{margin:16px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
body .neo-week li{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;line-height:14px;font-weight:600;color:var(--muted)}
body .neo-week i{width:32px;height:32px;border-radius:50%;background:var(--neo-bg);box-shadow:var(--neo-inset);display:flex;align-items:center;justify-content:center;font-style:normal}
body .neo-week .done i{background:var(--neo-red);color:#fff;box-shadow:-2px -2px 5px rgba(255,255,255,.9),2px 4px 8px rgba(201,52,26,.32)}
body .neo-week .today{color:var(--ink)}
body .neo-week svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
body .feed-on h2 i,body .feed-side h2 i{color:var(--accent-deep)}
body .feed-side li+li{border-top-color:var(--neo-line)}

/* ---------- profile ---------- */
body .pf-photo{box-shadow:0 0 0 4px var(--neo-surface),var(--neo-raise-sm)}
body .pf-stats{border-top-color:var(--neo-line)}
body .pf-n{background:var(--neo-bg);box-shadow:var(--neo-inset)}
body .pf-tab[aria-selected="true"] .pf-n{background:var(--accent-deep);color:#fff;box-shadow:none}
body .pf-week i{background:var(--neo-bg);border:0;box-shadow:var(--neo-inset)}
body .pf-week .done i{background:var(--neo-red);color:#fff;box-shadow:var(--neo-raise-xs)}
body .pf-week .today i{background:var(--accent-deep);color:#fff;box-shadow:var(--neo-raise-xs)}
body .pf-people li+li{border-top-color:var(--neo-line)}
body .pf-more a{border:var(--neo-edge);border-radius:var(--neo-radius-sm);background:var(--neo-surface);box-shadow:var(--neo-raise-xs)}
body .pf-bar,body .feed-on-bar{background:var(--neo-bg);box-shadow:var(--neo-inset)}
body .pf-bar span,body .feed-on-bar span{background:var(--neo-red)}


/* ---------- filter chips on Saved and Notifications ---------- */
body .sv-chip{border:var(--neo-edge);background:var(--neo-surface);box-shadow:var(--neo-raise-xs)}
body .sv-chip:hover{border-color:var(--neo-line);color:var(--accent-deep)}
body .sv-chip[aria-pressed="true"]{background:var(--neo-red);border-color:transparent;color:#fff}
body .app-side .app-nav a[aria-current="page"] .badge{background:var(--accent-deep);color:#fff}

/* ---------- profile card gets a soft sunset band on top ---------- */
body .pf-card{position:relative;overflow:hidden;padding-top:0}
body .pf-card::before{content:"";display:block;height:96px;margin:0 -24px 0;background:linear-gradient(180deg,rgba(60,20,10,0) 40%,rgba(60,20,10,.18) 100%),var(--neo-sunset)}
body .pf-card .pf-top{margin-top:0;align-items:flex-end}
body .pf-card .pf-photo{margin-top:-40px}
body .pf-card .pf-photo{width:88px;height:88px;font-size:34px}


/* ---------- course and lesson pages ---------- */
body .lsn-item[aria-current="true"]{background:var(--neo-surface);box-shadow:var(--neo-raise-xs);color:var(--accent-deep)}
body .lsn-bar{background:var(--neo-bg);box-shadow:var(--neo-inset)}
body .lsn-bar span{background:var(--neo-red)}
body .lsn-num{box-shadow:var(--neo-raise-xs);border-color:transparent}
body .lsn-video{border-radius:var(--neo-radius-md)}
body .messages-row[aria-current="page"]{background:var(--neo-surface);box-shadow:var(--neo-raise-xs)}

/* ---------- small shared bits ---------- */
body .tier-switch-btns{background:var(--neo-bg);box-shadow:var(--neo-inset)}
body .tier-switch button[aria-pressed="true"]{background:var(--neo-surface);box-shadow:var(--neo-raise-xs)}
body .badge.quiet{background:var(--neo-bg);box-shadow:var(--neo-inset)}
body details.faq{border-bottom-color:var(--neo-line)}
body .fp-toast{border-radius:var(--neo-pill)}

/* ---------- public pages: same paper, softer surfaces, lighter touch ---------- */
body .site-header{background:rgba(244,232,221,.92);border-bottom-color:var(--neo-line);backdrop-filter:saturate(1.2) blur(6px)}
body .menu-btn{border:var(--neo-edge);background:var(--neo-surface);box-shadow:var(--neo-raise-xs);border-radius:var(--neo-pill)}
body .foot-note{border-top-color:var(--neo-line)}

@media (max-width:640px){
  body .neo-bubbles{gap:10px}
  body .neo-bubble{flex:0 0 84px;min-width:84px;font-size:12px}
  body .composer{padding:14px}
  body .composer-pill{padding:0 12px}
  body .composer-tools{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:-6px -14px;padding:6px 14px 10px;flex:0 0 calc(100% + 28px);min-width:0;max-width:calc(100% + 28px)}
  body .composer-tools::-webkit-scrollbar{display:none}
  body .composer-tool{flex:none}
  body .composer-tools,body .composer-tool{position:relative}
  body .feed-post{padding:18px 16px}
  body .post-body > b:first-child:has(+ br){font-size:23px}
  body .neo-quote{min-height:200px}
  body .neo-quote blockquote{font-size:27px}
}
@media (prefers-reduced-motion:reduce){body .btn,body .btn:active{transition:none;transform:none}}
html[data-ewm-motion="reduce"] .btn:active,html[data-ewm-motion="reduce"] .app-tabs .app-tab-plus:active .app-tab-plus-btn{transform:none}
