/* =========================================================================
   Mote · 一念 — official site
   Design language: 留白. Warm paper, a single coral accent, generous space.
   ========================================================================= */

/* ---- Design tokens (light) ------------------------------------------------ */
:root{
  --paper:        #F4ECE0;   /* page base, warm paper            */
  --paper-2:      #FBF4EC;   /* lifted paper / sheets            */
  --card:         #FFFFFF;   /* cards, list rows                 */
  --ink:          #23201C;   /* primary text                    */
  --ink-2:        #8A8276;   /* secondary text                  */
  --ink-3:        #B6AD9F;   /* tertiary / placeholders         */
  --line:         rgba(60,50,40,.12);
  --line-soft:    rgba(60,50,40,.07);

  --coral:        #DC5530;   /* the one accent                  */
  --coral-2:      #E66E42;
  --coral-deep:   #C2461F;
  --amber:        #E2982F;
  --tint-soft:    #FBE2D6;

  --green:        #5FA383;
  --red:          #D9442E;

  --shadow-card:  0 1px 2px rgba(60,40,20,.05);
  --shadow-soft:  0 18px 50px -28px rgba(120,70,40,.45);
  --shadow-phone: 0 50px 90px -36px rgba(90,60,35,.55), 0 4px 10px rgba(60,40,20,.14);

  --serif: "Fraunces", "Noto Serif SC", Georgia, "Songti SC", serif;
  --sans:  -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC",
           "Helvetica Neue", "Segoe UI", Roboto, sans-serif;

  --maxw: 1080px;
  --radius: 18px;
}

/* ---- Dark mode (mirrors the app's 暖黑 palette) --------------------------- */
@media (prefers-color-scheme: dark){
  :root{
    --paper:     #1A1714;
    --paper-2:   #211C17;
    --card:      #262019;
    --ink:       #EFE8DC;
    --ink-2:     #A89E8D;
    --ink-3:     #71685A;
    --line:      rgba(239,232,220,.12);
    --line-soft: rgba(239,232,220,.07);
    --tint-soft: #3A2A23;
    --shadow-card:  0 1px 2px rgba(0,0,0,.4);
    --shadow-soft:  0 18px 50px -28px rgba(0,0,0,.6);
    --shadow-phone: 0 50px 90px -36px rgba(0,0,0,.7), 0 4px 10px rgba(0,0,0,.5);
  }
}

/* ---- Reset ---------------------------------------------------------------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  line-height:1.65;
  letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  /* the "morning light" — a soft warm glow rising from the top */
  background-image:
    radial-gradient(120% 70% at 50% -14%, rgba(250,205,160,.55), rgba(244,236,224,0) 60%);
  background-attachment:fixed;
  background-repeat:no-repeat;
  min-height:100vh;
}
@media (prefers-color-scheme: dark){
  body{ background-image:radial-gradient(120% 70% at 50% -16%, rgba(220,120,70,.16), rgba(26,23,20,0) 58%); }
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--tint-soft);color:var(--coral-deep)}

/* ---- Language visibility -------------------------------------------------- */
html[data-lang="zh"] .lang-en{display:none}
html[data-lang="en"] .lang-zh{display:none}
/* inline variants keep the box model of their context */
.i-en,.i-zh{display:inline}
html[data-lang="zh"] .i-en{display:none}
html[data-lang="en"] .i-zh{display:none}

/* ---- Shell ---------------------------------------------------------------- */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.section{padding:88px 0}
.section--tight{padding:56px 0}

/* The floating mote dot, reused throughout ---------------------------------- */
.dot{
  display:inline-block;border-radius:50%;
  background:radial-gradient(circle at 38% 32%, #F58A5E 0%, var(--coral) 52%, #D44E2C 100%);
  box-shadow:0 3px 10px -1px rgba(220,85,48,.5), 0 0 20px 5px rgba(230,120,70,.32);
}

/* =========================================================================
   Top navigation
   ========================================================================= */
.nav{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb, var(--paper) 78%, transparent);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  backdrop-filter:saturate(180%) blur(16px);
  border-bottom:.5px solid var(--line-soft);
}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:18px}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-size:23px;color:var(--ink);position:relative}
.brand .wm{position:relative;font-weight:500;letter-spacing:-.01em}
.brand .wm::after{ /* the mote dot above the 'o' */
  content:"";position:absolute;right:-7px;top:-3px;width:7px;height:7px;border-radius:50%;
  background:radial-gradient(circle at 38% 32%, #F58A5E, var(--coral) 60%, #D44E2C);
  box-shadow:0 2px 7px -1px rgba(220,85,48,.5),0 0 13px 3px rgba(230,120,70,.34);
}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{font-size:15px;color:var(--ink-2);transition:color .18s}
.nav-links a:hover{color:var(--ink)}
.nav-cta{display:flex;align-items:center;gap:14px}

/* language toggle */
.lang-toggle{
  font-size:13px;color:var(--ink-2);border:1px solid var(--line);
  border-radius:20px;padding:5px 12px;cursor:pointer;background:transparent;
  font-family:var(--sans);letter-spacing:.02em;transition:.18s;white-space:nowrap;
}
.lang-toggle:hover{color:var(--ink);border-color:var(--ink-3)}
.lang-toggle b{color:var(--coral);font-weight:600}

@media (max-width:720px){
  .nav-links{display:none}
}

/* =========================================================================
   Buttons
   ========================================================================= */
.btn{
  display:inline-flex;align-items:center;gap:9px;justify-content:center;
  font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:-.005em;
  padding:12px 20px;border-radius:30px;cursor:pointer;border:1px solid transparent;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;white-space:nowrap;
}
.btn:active{transform:translateY(1px)}
.btn--store{
  background:var(--ink);color:var(--paper-2);
  box-shadow:0 10px 24px -12px rgba(35,32,28,.7);
}
.btn--store:hover{box-shadow:0 14px 30px -12px rgba(35,32,28,.8)}
.btn--store .glyph{width:17px;height:17px;fill:currentColor;margin-top:-2px}
.btn--store .store-sub{font-size:10px;line-height:1;opacity:.7;letter-spacing:.04em;text-transform:uppercase}
.btn--store .store-main{font-size:15px;line-height:1.15;font-weight:600}
.btn--ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn--ghost:hover{border-color:var(--ink-3)}
.btn-note{font-size:12.5px;color:var(--ink-3);margin-top:10px;letter-spacing:0}

/* =========================================================================
   Hero
   ========================================================================= */
.hero{padding:64px 0 40px}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);
  margin-bottom:22px;
}
.eyebrow .dot{width:6px;height:6px}
.hero h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(40px, 6vw, 66px);line-height:1.05;letter-spacing:-.02em;color:var(--ink);
}
.hero h1 .cn{font-weight:500;letter-spacing:.02em}
.hero .sub{
  margin-top:22px;font-size:19px;line-height:1.7;color:var(--ink-2);max-width:30em;
}
.hero .sub .accent{color:var(--coral)}
.hero-ctas{margin-top:34px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px}
.hero-meta{margin-top:26px;font-size:13.5px;color:var(--ink-3);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hero-meta span{display:inline-flex;align-items:center;gap:7px}
.hero-meta .tick{color:var(--coral)}

/* =========================================================================
   Phone mockup (built in HTML/CSS — crisp at any size)
   ========================================================================= */
.phone-stage{display:flex;justify-content:center;perspective:1600px}
.phone{
  position:relative;width:300px;height:620px;border-radius:46px;
  background:#15130f;padding:9px;box-shadow:var(--shadow-phone);
  flex:none;
}
.phone .screen{
  position:relative;width:100%;height:100%;border-radius:38px;overflow:hidden;
  background:var(--paper);
}
.phone .notch{
  position:absolute;top:10px;left:50%;transform:translateX(-50%);
  width:92px;height:26px;background:#15130f;border-radius:16px;z-index:6;
}
/* faux nav */
.m-nav{
  position:relative;z-index:4;padding:42px 14px 9px;
  background:color-mix(in srgb, var(--paper) 82%, transparent);
  -webkit-backdrop-filter:blur(14px) saturate(180%);backdrop-filter:blur(14px) saturate(180%);
  border-bottom:.5px solid var(--line-soft);
}
.m-nav-row{display:flex;align-items:center;justify-content:space-between}
.m-brand{font-family:var(--serif);font-size:18px;font-weight:500;position:relative}
.m-brand::after{content:"";position:absolute;right:-6px;top:-2px;width:5px;height:5px;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#F58A5E,var(--coral) 60%,#D44E2C)}
.m-seg{display:flex;gap:2px;background:var(--line-soft);border-radius:9px;padding:2px}
.m-seg span{font-size:11px;color:var(--ink-2);padding:3px 8px;border-radius:7px}
.m-seg span.on{background:var(--coral);color:#fff}
.m-gear{width:24px;height:24px;border-radius:50%;background:var(--line-soft);display:flex;align-items:center;justify-content:center;color:var(--ink-2)}
/* year tick bar */
.m-ticks{display:flex;gap:2px;margin-top:9px;align-items:center}
.m-ticks i{flex:1;height:7px;border-radius:2px;background:var(--ink-3);opacity:.35}
.m-ticks i.fill{opacity:.7}
.m-ticks i.now{background:var(--coral);opacity:1;box-shadow:0 0 0 1px var(--tint-soft)}
.m-ticks i.future{opacity:.18}

.m-body{position:absolute;top:96px;left:0;right:0;bottom:0;overflow:hidden;padding:6px 0 0}
.m-sec{font-size:12.5px;font-weight:600;color:var(--ink-2);padding:14px 18px 7px;display:flex;align-items:center;gap:7px}
.m-sec .wd{color:var(--ink)}
.m-sec.today,.m-sec.today .wd{color:var(--coral)}
.m-sec.past{opacity:.5}
.m-sec .badge{font-size:9.5px;font-weight:700;color:#fff;background:var(--coral);padding:1px 6px;border-radius:10px}
.m-sec .cnt{color:var(--ink-3);font-weight:500;margin-left:auto}
.m-sec .plus{color:var(--ink-3);margin-left:6px;font-size:16px;font-weight:300}
.m-card{background:var(--card);margin:0 14px;border-radius:11px;overflow:hidden;box-shadow:var(--shadow-card)}
.m-li{display:flex;align-items:center;gap:11px;padding:11px 14px;min-height:42px}
.m-li + .m-li{border-top:.5px solid var(--line-soft)}
.m-ring{flex:none;width:18px;height:18px;border-radius:50%;border:1.6px solid var(--rc,#ccc)}
.m-li.done .m-ring{background:var(--rc);border-color:var(--rc);position:relative}
.m-li.done .m-ring::after{content:"";position:absolute;left:5.5px;top:2.5px;width:4px;height:7.5px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.m-li .t{font-size:14.5px;color:var(--ink)}
.m-li.done .t{color:var(--ink-3);text-decoration:line-through}

/* month grid mockup */
.m-cal{background:var(--card);margin:8px 14px 0;border-radius:13px;padding:8px 8px 10px;box-shadow:var(--shadow-card)}
.m-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.m-wd{text-align:center;font-size:10px;color:var(--ink-2);font-weight:600;padding:4px 0 6px}
.m-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;position:relative;border-radius:50%;color:var(--ink)}
.m-day .pip{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--coral)}
.m-day.mute{color:var(--ink-3);opacity:.45}
.m-day.today{background:var(--coral);color:#fff}
.m-day.today .pip{background:#fff}
.m-day.sel:not(.today){box-shadow:inset 0 0 0 1.6px var(--coral);color:var(--coral)}

/* =========================================================================
   Features
   ========================================================================= */
.kicker{
  text-align:center;font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:14px;
}
.section h2{
  font-family:var(--serif);font-weight:400;text-align:center;
  font-size:clamp(28px,4.2vw,40px);line-height:1.18;letter-spacing:-.015em;color:var(--ink);
}
.section h2 .cn{font-weight:500;letter-spacing:.02em}
.section .lede{text-align:center;color:var(--ink-2);font-size:17px;max-width:34em;margin:18px auto 0}

.features{
  margin-top:56px;display:grid;grid-template-columns:repeat(2,1fr);gap:22px;
}
.feature{
  background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:30px 28px;box-shadow:var(--shadow-card);transition:transform .2s ease, box-shadow .2s ease;
}
.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}
.feature .ic{
  width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:var(--tint-soft);color:var(--coral);margin-bottom:18px;
}
.feature .ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.feature h3{font-size:19px;font-weight:600;letter-spacing:-.01em;margin-bottom:9px;color:var(--ink)}
.feature h3 .en{font-family:var(--serif);font-weight:500}
.feature p{font-size:15.5px;color:var(--ink-2);line-height:1.7}

/* split showcase row (text + phone) */
.showcase{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-top:30px}
.showcase.flip .sc-copy{order:2}
.showcase .sc-copy h3{font-family:var(--serif);font-weight:500;font-size:28px;letter-spacing:-.01em;color:var(--ink);line-height:1.2}
.showcase .sc-copy h3 .cn{font-weight:500}
.showcase .sc-copy p{margin-top:16px;font-size:16.5px;color:var(--ink-2);line-height:1.75;max-width:30em}

/* quiet details strip */
.detail-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px 36px;
  border-top:.5px solid var(--line-soft);padding-top:40px;
}
.detail{padding:6px 0}
.detail h4{
  font-size:16px;font-weight:600;color:var(--ink);margin-bottom:6px;
  display:flex;align-items:center;gap:9px;
}
.detail h4::before{content:"";width:6px;height:6px;border-radius:50%;flex:none;
  background:radial-gradient(circle at 38% 32%,#F58A5E,var(--coral) 60%,#D44E2C)}
.detail p{font-size:14.5px;color:var(--ink-2);line-height:1.65;padding-left:15px}
@media (max-width:760px){ .detail-grid{grid-template-columns:1fr 1fr;gap:10px 28px} }
@media (max-width:460px){ .detail-grid{grid-template-columns:1fr} }

/* =========================================================================
   Philosophy band
   ========================================================================= */
.philosophy{text-align:center}
.philosophy .quote{
  font-family:var(--serif);font-weight:400;font-size:clamp(24px,3.4vw,34px);
  line-height:1.5;letter-spacing:-.01em;color:var(--ink);max-width:18em;margin:0 auto;
}
.philosophy .quote .cn{font-weight:500;letter-spacing:.02em}
.philosophy .by{margin-top:26px;color:var(--ink-3);font-size:14px;letter-spacing:.04em}

/* =========================================================================
   Privacy band (also the link into the policy)
   ========================================================================= */
.privacy-band{
  background:linear-gradient(180deg, var(--paper-2), var(--paper));
  border-top:.5px solid var(--line-soft);border-bottom:.5px solid var(--line-soft);
}
.privacy-band .inner{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center}
.privacy-band .seal{
  width:64px;height:64px;border-radius:18px;flex:none;
  background:var(--tint-soft);display:flex;align-items:center;justify-content:center;color:var(--coral);
}
.privacy-band .seal svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.privacy-band h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--ink);margin-bottom:6px}
.privacy-band p{color:var(--ink-2);font-size:15.5px;max-width:40em}
@media (max-width:760px){
  .privacy-band .inner{grid-template-columns:1fr;text-align:center;gap:18px}
  .privacy-band .seal{margin:0 auto}
}

/* =========================================================================
   Footer
   ========================================================================= */
.footer{border-top:.5px solid var(--line-soft);padding:54px 0 60px;margin-top:20px}
.footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;align-items:start}
.footer .brand{font-size:21px;margin-bottom:14px}
.footer .tag{color:var(--ink-2);font-size:14.5px;max-width:26em;line-height:1.7}
.footer .tag .cn-s{color:var(--coral);font-family:var(--serif);display:block;margin-top:8px;letter-spacing:.04em}
.footer h4{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.footer ul{list-style:none}
.footer li{margin-bottom:10px}
.footer li a{color:var(--ink-2);font-size:15px;transition:color .18s}
.footer li a:hover{color:var(--coral)}
.footer .legal{
  margin-top:44px;padding-top:24px;border-top:.5px solid var(--line-soft);
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  color:var(--ink-3);font-size:13px;
}
.footer .legal a{color:var(--ink-3)}
.footer .legal a:hover{color:var(--ink-2)}
@media (max-width:760px){
  .footer .grid{grid-template-columns:1fr 1fr}
  .footer .brand-col{grid-column:1 / -1}
}

/* =========================================================================
   Legal / content pages (privacy, terms, support)
   ========================================================================= */
.page-head{padding:72px 0 26px;text-align:center}
.page-head .eyebrow{justify-content:center}
.page-head h1{
  font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,52px);
  letter-spacing:-.02em;color:var(--ink);line-height:1.1;
}
.page-head h1 .cn{font-weight:500}
.page-head .updated{margin-top:16px;color:var(--ink-3);font-size:14px}

.prose{
  max-width:760px;margin:0 auto;padding:18px 24px 60px;
}
.prose .lead{font-size:19px;color:var(--ink);line-height:1.7;margin-bottom:10px}
.prose h2{
  font-family:var(--serif);font-weight:500;font-size:26px;letter-spacing:-.01em;
  color:var(--ink);margin:46px 0 14px;line-height:1.25;
}
.prose h2 .num{color:var(--coral);font-size:18px;margin-right:10px;font-family:var(--sans);font-weight:600;vertical-align:1px}
.prose h3{font-size:17px;font-weight:600;color:var(--ink);margin:26px 0 8px}
.prose p{font-size:16px;color:var(--ink-2);line-height:1.8;margin-bottom:14px}
.prose p strong, .prose li strong{color:var(--ink);font-weight:600}
.prose ul{margin:6px 0 18px;padding-left:4px;list-style:none}
.prose li{
  font-size:16px;color:var(--ink-2);line-height:1.75;margin-bottom:11px;padding-left:26px;position:relative;
}
.prose li::before{
  content:"";position:absolute;left:4px;top:11px;width:6px;height:6px;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#F58A5E,var(--coral) 60%,#D44E2C);
}
.prose a{color:var(--coral);border-bottom:1px solid var(--tint-soft);transition:border-color .18s}
.prose a:hover{border-color:var(--coral)}
.prose .callout{
  background:var(--card);border:1px solid var(--line-soft);border-left:3px solid var(--coral);
  border-radius:12px;padding:18px 22px;margin:22px 0;box-shadow:var(--shadow-card);
}
.prose .callout p{margin-bottom:0;color:var(--ink)}
.prose .tldr{
  background:var(--tint-soft);border-radius:14px;padding:20px 24px;margin:8px 0 30px;
}
.prose .tldr p{color:var(--coral-deep);margin-bottom:0;font-size:16.5px}
.prose .muted{color:var(--ink-3);font-size:14px}

/* FAQ (support) */
.faq{max-width:760px;margin:0 auto;padding:8px 24px 50px}
.faq details{
  background:var(--card);border:1px solid var(--line-soft);border-radius:14px;
  padding:4px 22px;margin-bottom:12px;box-shadow:var(--shadow-card);
}
.faq summary{
  cursor:pointer;list-style:none;padding:18px 0;font-size:17px;font-weight:600;color:var(--ink);
  display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary .chev{flex:none;width:18px;height:18px;color:var(--ink-3);transition:transform .2s}
.faq details[open] summary .chev{transform:rotate(90deg);color:var(--coral)}
.faq details > p{font-size:15.5px;color:var(--ink-2);line-height:1.75;padding:0 0 20px;margin:0}
.faq details > p + p{padding-top:0}

.contact-card{
  max-width:760px;margin:10px auto 0;padding:0 24px;
}
.contact-card .inner{
  background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:34px 30px;box-shadow:var(--shadow-card);text-align:center;
}
.contact-card h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--ink);margin-bottom:10px}
.contact-card p{color:var(--ink-2);font-size:15.5px;margin-bottom:18px}
.contact-card a.email{
  font-size:18px;font-weight:600;color:var(--coral);
}

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:44px;text-align:center}
  .hero .sub{margin-left:auto;margin-right:auto}
  .hero-ctas,.hero-meta{justify-content:center}
  .eyebrow{justify-content:center}
  .showcase{grid-template-columns:1fr;gap:34px;text-align:center}
  .showcase.flip .sc-copy{order:0}
  .showcase .sc-copy p{margin-left:auto;margin-right:auto}
  .features{grid-template-columns:1fr}
}
@media (max-width:520px){
  .wrap{padding:0 18px}
  .section{padding:64px 0}
  .phone{width:268px;height:556px}
  .hero{padding:40px 0 20px}
}

/* Motion-reduced users */
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important;transition:none !important;animation:none !important}
}
