:root { --gold:#d2b477; --pale:#f5ecd8; --green:#173a31; --line:rgba(23,58,49,.18); --serif:"Songti SC","STSong","Noto Serif CJK SC",serif; --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; overflow-x:hidden; background:#f3ecdc; color:#162820; font-family:var(--sans); }
.zen-hero { min-height:max(100svh,620px); position:relative; overflow:hidden; color:var(--pale); }
.zen-scene,.zen-shade { position:absolute; inset:0; }
.zen-scene { background:url("../assets/quiet-temple-night-v1.png") center/cover no-repeat; transform:scale(1.005); }
.zen-shade { background:linear-gradient(90deg,rgba(3,13,13,.76),rgba(4,18,17,.22) 55%,rgba(3,13,13,.5)),linear-gradient(0deg,rgba(3,13,13,.55),transparent 50%); }
.zen-header { position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between; height:76px; padding:0 48px; }
.zen-brand { display:flex; align-items:center; gap:10px; color:var(--pale); text-decoration:none; font-family:var(--serif); font-size:19px; }
.zen-brand span { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(210,180,119,.55); border-radius:50%; color:var(--gold); }
.zen-header nav { display:flex; align-items:center; gap:24px; }
.zen-header nav a,.zen-header nav button { border:0; background:transparent; color:#d4ddd7; text-decoration:none; font-size:13px; cursor:pointer; }
.zen-header nav a:hover,.zen-header nav button:hover { color:var(--gold); }
.zen-intro { position:absolute; z-index:2; left:7vw; top:30%; writing-mode:vertical-rl; }
.zen-intro p { margin:0 0 0 20px; color:var(--gold); font-size:12px; letter-spacing:5px; }
.zen-intro h1 { margin:0; font-family:var(--serif); font-size:52px; font-weight:500; letter-spacing:8px; }
.zen-intro>span { margin-right:22px; color:#b8c7bf; font-family:var(--serif); font-size:17px; letter-spacing:7px; }
.breath-practice { position:absolute; z-index:2; left:50%; top:52%; transform:translate(-50%,-50%); width:330px; text-align:center; }
.breath-orbit { position:relative; display:grid; place-items:center; width:220px; height:220px; margin:auto; border:1px solid rgba(210,180,119,.38); border-radius:50%; box-shadow:0 0 60px rgba(120,164,145,.1); transition:transform 4s ease-in-out,box-shadow 4s ease-in-out; }
.breath-orbit:before { content:""; position:absolute; width:180px; height:180px; border:1px solid rgba(238,224,190,.17); border-radius:50%; }
.breath-orbit[data-phase="inhale"] { transform:scale(1.13); box-shadow:0 0 90px rgba(120,164,145,.24); }
.breath-orbit[data-phase="exhale"] { transform:scale(.9); }
.breath-orbit div { position:relative; z-index:1; }
.breath-orbit strong,.breath-orbit span { display:block; }
.breath-orbit strong { color:var(--pale); font-family:var(--serif); font-size:25px; letter-spacing:5px; }
.breath-orbit span { margin-top:10px; color:#aebeb5; font-size:12px; letter-spacing:2px; }
.practice-actions { display:flex; justify-content:center; gap:10px; margin-top:34px; }
.practice-actions button { min-height:39px; padding:0 16px; border:1px solid rgba(210,180,119,.38); background:rgba(4,17,15,.4); color:#e6d7b5; cursor:pointer; }
.practice-actions button:first-child { background:var(--gold); color:#14251f; }
#practice-hint { margin:18px auto 0; color:#9eb0a6; font-size:11px; line-height:1.7; }
.scroll-cue { position:absolute; z-index:2; left:50%; bottom:24px; transform:translateX(-50%); color:#aebdb5; text-decoration:none; font-size:11px; }
.scroll-cue span { margin-left:8px; }
.zen-about { max-width:1040px; margin:auto; padding:72px 32px 96px; }
.breadcrumb { display:flex; gap:8px; color:#74847a; font-size:12px; }.breadcrumb a { color:var(--green); text-decoration:none; }
.about-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; margin-top:68px; }
.eyebrow { color:#6b8875; font-size:11px; font-weight:700; letter-spacing:2px; }.about-grid h2 { margin:12px 0 0; color:var(--green); font-family:var(--serif); font-size:38px; line-height:1.35; }.about-grid p { color:#506259; line-height:1.95; }
.daily-passage { margin:72px 0 0; padding:44px; border-top:1px solid var(--green); border-bottom:1px solid var(--line); }
.daily-passage blockquote { margin:0; color:var(--green); font-family:var(--serif); font-size:30px; line-height:1.7; }
.daily-passage figcaption { display:flex; justify-content:space-between; align-items:center; margin-top:24px; color:#6f8177; font-size:12px; }.daily-passage button { border:0; background:transparent; color:#376754; cursor:pointer; }
.zen-links { display:grid; grid-template-columns:1fr 1fr; }.zen-links a { display:flex; justify-content:space-between; padding:22px; border-bottom:1px solid var(--line); color:var(--green); text-decoration:none; }.zen-links a:first-child { border-right:1px solid var(--line); }
.practice-note { margin-top:54px; padding:22px; border-left:3px solid #ac8f55; background:#e8deca; }.practice-note p { margin:5px 0 0; color:#5b6c63; font-size:13px; line-height:1.8; }
footer { display:flex; justify-content:space-between; gap:20px; padding:35px max(24px,calc((100vw - 976px)/2)); background:var(--green); color:#c9d4cb; font-size:11px; }footer a { color:#ead8af; text-decoration:none; }
@media (max-width:700px) {
  .zen-hero { min-height:max(100svh,640px); }
  .zen-scene { background-position:68% center; transform:none; }
  .zen-shade { background:linear-gradient(180deg,rgba(2,13,13,.7) 0,rgba(3,16,15,.2) 28%,rgba(3,15,14,.32) 58%,rgba(2,12,12,.82) 100%),linear-gradient(90deg,rgba(2,12,12,.66),rgba(3,15,14,.08) 64%,rgba(2,12,12,.34)); }
  .zen-header { height:auto; min-height:68px; padding:max(14px,env(safe-area-inset-top)) 16px 0; align-items:flex-start; }
  .zen-brand { gap:8px; font-size:17px; white-space:nowrap; }
  .zen-brand span { width:32px; height:32px; }
  .zen-header nav { gap:12px; min-height:32px; }
  .zen-header nav a,.zen-header nav button { min-width:32px; min-height:32px; padding:0; font-size:12px; }
  .zen-header nav a:first-of-type { display:none; }
  .zen-intro { left:20px; top:112px; }
  .zen-intro p { margin-left:12px; font-size:10px; letter-spacing:4px; }
  .zen-intro h1 { font-size:38px; line-height:1.2; letter-spacing:6px; }
  .zen-intro>span { margin-right:14px; font-size:13px; line-height:1.65; letter-spacing:5px; }
  .breath-practice { left:auto; right:12px; top:clamp(232px,35svh,300px); transform:none; width:192px; }
  .breath-orbit { width:164px; height:164px; }
  .breath-orbit:before { width:130px; height:130px; }
  .breath-orbit strong { font-size:22px; letter-spacing:4px; }
  .practice-actions { gap:8px; margin-top:20px; }
  .practice-actions button { min-height:44px; padding:0 13px; font-size:13px; }
  #practice-hint { max-width:190px; margin-top:13px; color:#c0cbc4; font-size:11px; line-height:1.7; }
  .scroll-cue { bottom:calc(16px + env(safe-area-inset-bottom)); min-height:32px; display:flex; align-items:center; white-space:nowrap; }
  .zen-about { padding:52px 20px 72px; }
  .about-grid { grid-template-columns:1fr; gap:24px; margin-top:44px; }
  .about-grid h2 { font-size:30px; }
  .about-grid p { font-size:15px; line-height:1.9; }
  .daily-passage { margin-top:52px; padding:30px 0; }
  .daily-passage blockquote { font-size:23px; }
  .daily-passage figcaption { gap:16px; align-items:flex-start; }
  .daily-passage button { min-width:56px; min-height:32px; padding:0; }
  .zen-links { grid-template-columns:1fr; }
  .zen-links a { min-height:58px; align-items:center; padding:18px 4px; }
  .zen-links a:first-child { border-right:0; }
  footer { display:grid; padding-bottom:calc(35px + env(safe-area-inset-bottom)); }
}
@media (max-width:360px) {
  .zen-header { padding-right:12px; padding-left:12px; }
  .zen-brand { font-size:16px; }
  .zen-header nav { gap:8px; }
  .zen-intro { left:14px; }
  .zen-intro h1 { font-size:34px; }
  .zen-intro>span { font-size:12px; }
  .breath-practice { right:6px; width:178px; }
  .breath-orbit { width:152px; height:152px; }
  .breath-orbit:before { width:120px; height:120px; }
  .practice-actions button { padding:0 10px; }
}
@media (max-width:900px) and (max-height:560px) and (orientation:landscape) {
  .zen-hero { min-height:max(100svh,390px); }
  .zen-scene { background-position:60% center; }
  .zen-header { height:auto; min-height:58px; padding-top:max(10px,env(safe-area-inset-top)); }
  .zen-intro { top:82px; left:max(18px,env(safe-area-inset-left)); }
  .zen-intro h1 { font-size:32px; }
  .breath-practice { left:auto; top:72px; right:max(9vw,env(safe-area-inset-right)); transform:none; width:280px; }
  .breath-orbit { width:150px; height:150px; }
  .breath-orbit:before { width:118px; height:118px; }
  .practice-actions { margin-top:14px; }
  #practice-hint { max-width:280px; margin-top:8px; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; }.breath-orbit { transition:none; } }
