
/* V1.7.2 — Mobile Chinese Reading System */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-kerning:normal;font-feature-settings:"kern" 1,"palt" 0;word-break:normal;overflow-wrap:break-word}
p,li,blockquote{line-break:strict}
h1,h2,h3,h4{line-break:strict;text-wrap:balance}
.btn,button,input,textarea{touch-action:manipulation}

@media (max-width: 768px){
  body{font-size:17px;line-height:1.82}
  p,li{line-height:1.82}
  .eyebrow{font-size:11px;letter-spacing:.18em;margin-bottom:14px}
  .btn{min-height:46px;padding:13px 20px;font-size:16px}

  /* Main fixed header */
  .site-header{height:68px;padding:0 16px;background:linear-gradient(to bottom,rgba(6,8,7,.86),rgba(6,8,7,.34),transparent)}
  .site-header.scrolled{height:64px}
  .brand{gap:9px;min-width:0}
  .brand-mark{width:27px;height:27px;flex:0 0 auto}
  .brand strong{font-size:14px;letter-spacing:.06em;white-space:nowrap}
  .brand small{font-size:9px;letter-spacing:.12em}
  .menu-btn{display:block;min-height:40px;padding:7px 12px}
  .site-nav{display:none;position:absolute;top:62px;left:12px;right:12px;max-height:min(70vh,520px);overflow:auto;flex-direction:column;gap:0;background:rgba(8,10,9,.97);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:10px 14px 12px;box-shadow:0 18px 60px rgba(0,0,0,.35)}
  .site-nav.open{display:flex}
  .site-nav a{display:flex;align-items:center;min-height:44px;padding:8px 4px;font-size:16px;border-bottom:1px solid rgba(255,255,255,.055)}
  .site-nav a:last-child{border-bottom:0}

  /* Homepage rhythm */
  .hero{height:auto;min-height:100svh;padding:104px 20px 64px;align-items:flex-end}
  .hero-copy{width:100%;max-width:640px}
  .hero h1{font-size:clamp(44px,12.2vw,58px);line-height:1.12;letter-spacing:-.035em}
  .hero-intro{font-size:20px;line-height:1.75;margin:24px 0 28px}
  .cinema-quote{height:auto;min-height:72svh;padding:48px 20px}
  .cinema-quote h2{font-size:clamp(40px,11.2vw,56px);line-height:1.12}
  .journey,.paths,.explore,.council{padding:74px 20px}
  .section-heading{margin-bottom:30px}
  .section-heading h2{font-size:clamp(38px,10.4vw,48px);line-height:1.2}
  .journey-rail{gap:8px;margin-right:-20px;padding-right:20px;scroll-snap-type:x proximity}
  .stage-card{min-width:116px;padding:14px 12px;scroll-snap-align:start}
  .stage-card strong{font-size:21px}
  .stage-detail{padding:26px 22px;border-radius:22px;gap:10px}
  .stage-symbol{font-size:68px}
  .stage-detail h3{font-size:36px;line-height:1.22}
  .stage-detail p{font-size:17px;line-height:1.82;margin-bottom:20px}
  .stage-detail blockquote{font-size:24px;line-height:1.58}
  .visual-grid-doors{grid-template-columns:1fr;grid-template-rows:none;gap:13px}
  .door-path,.door-jung,.door-tao,.door-council,.door-daily{grid-column:auto;grid-row:auto}
  .visual-card{min-height:220px;padding:22px;border-radius:20px}
  .door-path{min-height:300px}
  .visual-card h3,.door-path h3,.door-daily h3{font-size:30px}
  .visual-card small{font-size:12px;line-height:1.5}
  .philosophy-orbit{display:flex;flex-wrap:nowrap;overflow-x:auto;margin-right:-20px;padding:2px 20px 12px 0;scrollbar-width:none;scroll-snap-type:x proximity}
  .philosophy-orbit::-webkit-scrollbar{display:none}
  .philosophy-pill{flex:0 0 auto;font-size:17px;padding:11px 15px;scroll-snap-align:start}
  .philosophy-detail{padding:24px 20px;gap:18px;border-radius:22px}
  .philosophy-number{font-size:66px}
  .philosophy-detail-copy h3{font-size:34px;line-height:1.28}
  .philosophy-detail-copy>p{font-size:17px;line-height:1.86}
  .philosophy-columns{grid-template-columns:1fr;gap:18px;margin-top:22px;padding-top:20px}
  .philosophy-columns p,.philosophy-columns blockquote{font-size:19px;line-height:1.75}
  .philosophy-columns blockquote{font-size:22px}
  .philosophy-visual{min-height:230px}
  .center-note{font-size:16px;line-height:1.82;margin-top:24px}
  .feature-image,.tao-image{min-height:380px}
  .feature-copy{padding:58px 20px 70px}
  .feature h2{font-size:clamp(42px,11vw,54px);line-height:1.12}
  .feature-copy>p:not(.eyebrow){font-size:19px;line-height:1.82}
  .concepts{gap:8px}
  .concepts span{font-size:12px}
  .council-visual{height:300px}
  .council-main h2{font-size:42px;line-height:1.2}
  .voices article{padding:18px}
  .daily{height:auto;min-height:72svh;padding:70px 20px}
  .daily h2{font-size:clamp(40px,10.8vw,54px);line-height:1.22}
  .closing{padding:88px 20px}
  .closing h2{font-size:46px;line-height:1.22}
  footer{padding:34px 20px;gap:16px}

  /* Sticky detail header becomes a readable horizontal rail */
  .detail-header .wrap{padding:11px 16px 9px;display:grid;grid-template-columns:1fr;gap:8px;align-items:start}
  .detail-header .brand{max-width:100%}
  .detail-header nav{display:flex;flex-wrap:nowrap;gap:8px;width:calc(100vw - 32px);overflow-x:auto;padding:2px 0 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .detail-header nav::-webkit-scrollbar{display:none}
  .detail-header nav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:38px;padding:7px 11px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.035);font-size:14px;white-space:nowrap}
  .detail-hero{min-height:auto;padding:84px 18px 42px;gap:20px}
  .detail-cover{background-position:center}
  .hero-panel{padding-top:18px}
  .crumbs{font-size:10px;letter-spacing:.12em;line-height:1.55;margin-bottom:14px}
  .detail-hero h1{font-size:clamp(42px,11.6vw,54px);line-height:1.12;margin-bottom:16px}
  .detail-hero h1 span{font-size:21px;line-height:1.62;margin-top:12px}
  .lead{font-size:18px;line-height:1.88}
  .hero-stat{padding:20px;border-radius:20px}
  .hero-stat p,.hero-stat ul{font-size:16px;line-height:1.82}
  .detail-main{padding:0 18px 64px;gap:18px}
  .card{padding:22px 20px;border-radius:22px}
  .card h2{font-size:34px;line-height:1.25}
  .card h3{font-size:25px;line-height:1.35}
  .card p,.prompt-list li,.mini-card p{font-size:17px;line-height:1.88}
  .card blockquote{font-size:23px;line-height:1.68}
  .mini-grid,.related-grid,.path-grid,.chapter-list,.dual-grid{grid-template-columns:1fr}
  .mini-card,.chapter-card{padding:18px}
  .prompt-list li{padding:16px 15px 16px 17px}
  .related-link{padding:18px}
  .related-link strong{font-size:25px}
  .section-title{display:block;margin-bottom:16px}
  .section-title p{margin-top:5px;font-size:11px;letter-spacing:.12em}
  .practice{grid-template-columns:1fr}
  .practice-visual{min-height:230px;border-radius:22px}
  .path-card{min-height:260px;padding:22px}
  .path-card strong{font-size:30px}
  .pill-row a{min-height:42px;align-items:center}
  .detail-footer{padding:30px 18px 46px;font-size:13px;line-height:1.82}

  /* Issues */
  .issue-hero{min-height:auto;padding:104px 20px 48px}
  .issue-hero h1{font-size:clamp(44px,11.8vw,56px);line-height:1.12}
  .issue-hero .lead{font-size:18px;line-height:1.88}
  .issue-main{padding:0 20px 64px}
  .issue-section{padding:54px 0}
  .issue-section.light{padding-left:20px;padding-right:20px}
  .issue-section h2{font-size:38px;line-height:1.25}
  .issue-section-head p,.lens-card p,.scenario-card p{font-size:17px;line-height:1.86}
  .lens-grid,.scenario-grid,.issue-hub-grid,.reading-route{grid-template-columns:1fr}
  .lens-card,.scenario-card,.practice-card,.reading-step{padding:22px;border-radius:20px}
  .lens-card h3,.scenario-card h3,.practice-card h3,.reading-step h3{font-size:26px;line-height:1.35}
  .issue-quote{font-size:30px;line-height:1.62}
  .hub-card{min-height:260px;padding:22px}
  .hub-card h3{font-size:30px}
  .path-links a,.reading-books a{min-height:42px;display:flex;align-items:center}
  .boundary{font-size:16px;line-height:1.86}

  /* Reading room */
  .library-hero{min-height:auto;padding:110px 20px 50px}
  .library-copy h1{font-size:48px;line-height:1.15}
  .library-copy>p:not(.eyebrow){font-size:18px;line-height:1.88}
  .cover-reliability{font-size:13px;line-height:1.78}
  .library-main{padding:52px 18px 72px}
  .library-toolbar{gap:18px;margin-bottom:22px}
  .library-toolbar h2{font-size:38px;line-height:1.22}
  .book-search input{font-size:16px;min-height:48px}
  .library-nav{margin-right:-18px;padding-right:18px}
  .library-nav button{min-height:42px;font-size:14px}
  .book-category{padding:42px 0}
  .book-category-head{gap:18px;margin-bottom:20px}
  .book-category-head h3{font-size:36px;line-height:1.25}
  .book-category-head p{font-size:16px;line-height:1.82}
  .book-grid{grid-template-columns:1fr;gap:16px}
  .book-card{border-radius:20px}
  .book-cover-wrap{aspect-ratio:4/5;max-height:520px}
  .book-body{padding:18px 18px 20px}
  .book-body h4{font-size:24px;line-height:1.45}
  .book-meta{font-size:13px;line-height:1.7}
  .book-topic{font-size:16px;line-height:1.82}
  .book-actions{grid-template-columns:1fr 1fr}
  .book-actions a{min-height:44px;font-size:13px;text-align:center}

  /* Assessment */
  .assessment-main{padding:92px 18px 64px}
  .assessment-intro{margin-bottom:28px}
  .assessment-intro h1{font-size:44px;line-height:1.18}
  .assessment-intro p{font-size:17px;line-height:1.88}
  .assessment-meta{gap:8px}
  .assessment-meta span{font-size:12px;padding:8px 11px}
  .question-card{padding:22px 18px;border-radius:22px}
  .question-card h2{font-size:30px;line-height:1.48;margin-bottom:22px}
  .answer{font-size:17px;line-height:1.7;padding:16px 16px;min-height:54px}
  .question-nav{bottom:8px;margin-top:18px;padding:8px}
  .question-nav button{min-width:0;flex:1}
  .result-hero{padding:24px 20px;border-radius:22px}
  .result-hero h2{font-size:38px;line-height:1.22}
  .result-hero p{font-size:17px;line-height:1.86}
  .result-card{min-height:285px}

  /* Council */
  .council-shell{padding:72px 18px 64px}
  .council-hero{margin-bottom:26px}
  .council-hero h1{font-size:42px;line-height:1.18}
  .council-hero>p{font-size:17px;line-height:1.88}
  .council-workbench{grid-template-columns:1fr;gap:16px}
  .council-input-card,.council-output,.council-boundary{padding:20px;border-radius:22px}
  .council-input-card textarea{font-size:17px;line-height:1.75;min-height:150px}
  .quick-questions button,.lens-picker button{min-height:42px;padding:9px 12px}
  .voice-card h3,.synthesis h3{font-size:25px}
  .voice-card p,.synthesis p{font-size:16px;line-height:1.86}
  .empty-state{min-height:180px;padding:24px 8px;line-height:1.8}

  /* Inner map */
  .map-shell{padding:72px 18px 64px}
  .map-hero h1{font-size:42px;line-height:1.18}
  .map-hero>p{font-size:17px;line-height:1.88}
  .map-grid{grid-template-columns:1fr;gap:16px}
  .radar-card,.controls-card,.map-result{padding:20px;border-radius:22px}
  .radar-card{min-height:340px}
  #labels text{font-size:12px}
  .map-control-head strong{font-size:16px}
  .map-control p{font-size:13px;line-height:1.7}
  .map-result h2{font-size:32px;line-height:1.3}
  .map-recs{grid-template-columns:1fr}
  .map-rec strong{font-size:23px}

  /* Avoid overly wide prose on mobile */
  .lead,.hero-intro,.issue-hero .lead,.library-copy>p,.assessment-intro p,.council-hero>p,.map-hero>p,.card p,.book-topic{max-width:38em}
}

@media (max-width: 390px){
  body{font-size:16.5px}
  .brand strong{font-size:13px}
  .brand small{display:none}
  .hero h1{font-size:43px}
  .section-heading h2{font-size:38px}
  .book-actions{grid-template-columns:1fr}
  .detail-hero h1,.issue-hero h1{font-size:42px}
  .detail-header nav{width:calc(100vw - 32px)}
}


/* V1.7.2.2 Visual QA — restore image language on functional pages */
.functional-hero-visual{
  width:100%;min-height:clamp(260px,42vw,500px);border-radius:28px;margin:0 0 34px;
  background-size:cover;background-position:center;position:relative;overflow:hidden;
  box-shadow:0 22px 60px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08)
}
.functional-hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,6,.03),rgba(5,7,6,.48))}
.assessment-hero-visual{background-image:linear-gradient(180deg,rgba(7,9,8,.04),rgba(7,9,8,.42)),url('assets/hero-portal.webp');background-position:center 48%}
.council-page-visual{background-image:linear-gradient(180deg,rgba(7,9,8,.02),rgba(7,9,8,.52)),url('assets/the-council-hq.webp');background-position:center}
.inner-map-visual{background-image:linear-gradient(180deg,rgba(7,9,8,.02),rgba(7,9,8,.38)),url('assets/path-jung-v141.webp');background-position:center}
@media(max-width:720px){
  .functional-hero-visual{min-height:230px;border-radius:20px;margin-bottom:26px}
  .assessment-hero-visual{background-position:center 48%}
  .council-page-visual{background-position:center}
  .inner-map-visual{background-position:center}
}


/* V1.7.4 — Mobile contrast + readability safeguards */
@media (max-width:768px){
  .detail-header nav a{color:#f0ede6;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.13)}
  .scenario-card h3{color:#fffaf1}
  .scenario-card p{color:#d9dcd5}
  .path-links a{color:#fffaf2}
  .book-meta{color:#5f665f}
  .book-topic{color:#373e37}
  .privacy-note,.safety,.detail-footer{color:#aeb3ab}
}


/* V1.8.1 — Chinese mobile-reading refinements */
@media (max-width:768px){
  body{font-size:17px;line-height:1.8}
  p,li,blockquote{letter-spacing:.005em}
  h1,h2,h3,h4{letter-spacing:-.018em}
  .detail-header .wrap{padding-bottom:8px}
  .detail-header nav{scroll-snap-type:x proximity}
  .detail-header nav a{scroll-snap-align:start}
  .cta-row{gap:10px}
  .cta-row .btn{flex:0 1 auto;max-width:100%;white-space:normal;text-align:center;line-height:1.45}
  .path-links{gap:8px}
  .path-links a{padding:10px 13px;line-height:1.45}
  .issue-practice{gap:16px}
  .practice-card ol{padding-left:20px}
  .book-cover-wrap{max-height:none!important}
  .book-cover{object-fit:contain!important}
  .book-actions{grid-template-columns:1fr}
  .book-actions a{width:100%}
  .detail-footer{font-size:13px;line-height:1.8}
}
