/* H1 only: retain every word and original artwork; clarify homepage hierarchy. */
main:has(.home-intro){padding-top:36px}
.home-intro>div{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;align-items:end}
.home-intro .eyebrow,.home-intro h1{grid-column:1/-1}
.home-intro .eyebrow{color:var(--ink);opacity:.65;letter-spacing:.06em;margin-bottom:12px}
.home-intro .lead{margin-top:16px;max-width:760px;line-height:1.6}
.home-intro .lead strong{display:block;font-size:20px;font-weight:650;color:var(--ink);letter-spacing:0}
.home-intro .lead span{display:block;font-size:15px;margin-top:5px;color:var(--muted)}
.home-runtime{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:650;color:var(--muted);white-space:nowrap;padding:7px 13px;border:1px solid var(--glass-edge);border-radius:16px;background:var(--glass-thin);margin:0 0 3px}
.home-starters{margin-top:34px}
.home-starters>.section-top{margin-bottom:10px}
.home-starters .section-top h2{font-size:27px;line-height:1.35}
.home-starters>.home-choice-note{font-size:13px;line-height:1.75;max-width:740px;padding-left:14px;border-left:2px solid var(--hairline)}
.home-lines .story-lines{margin-top:23px;gap:24px}
.home-lines .line-head{margin-bottom:18px}
.home-lines .line-head h3{font-size:23px;font-weight:800}
.home-lines .line-head p{font-size:13px;line-height:1.65;margin-top:4px}
.home-lines .line-steps{gap:24px}
.home-lines .line-ep{font-size:12px;letter-spacing:.05em;margin-bottom:8px}
.home-case-card .case-body{padding:22px 24px}
.home-case-heading h4{font-size:20px;line-height:1.5;font-weight:800;margin:0}
.home-case-card .home-case-meta{display:inline-block;font-size:11px;line-height:1.4;margin-top:9px;padding:5px 9px;border:1px solid var(--hairline);border-radius:10px;background:var(--glass-thin);color:var(--muted)}
.home-case-card .home-case-description{font-size:13px;line-height:1.8;margin-top:14px}
.home-case-description .case-desc-opening{display:block;color:var(--ink);font-weight:550}
.home-case-description .case-desc-rest{display:block;margin-top:4px;color:var(--muted)}
.home-case-card .case-foot{border-top:1px solid var(--hairline);padding-top:16px;margin-top:19px}
.home-puzzle{max-width:none;margin-top:52px;padding:28px}
.home-puzzle .map-head{align-items:center;margin-bottom:20px}
.home-puzzle .map-head h2{font-size:27px}
.home-puzzle .map-head>span{font-size:13px;background:var(--glass-thin);border:1px solid var(--glass-edge);border-radius:16px;padding:6px 12px}
.home-puzzle-folds{display:grid;gap:12px}
.home-puzzle-group{border:1px solid var(--hairline);border-radius:18px;overflow:hidden;background:var(--glass-thin)}
.home-puzzle-group summary{padding:16px 18px;cursor:pointer;min-height:58px;color:var(--ink);font-size:17px;font-weight:800;transition:background .18s ease}
.home-puzzle-group summary:hover{background:var(--glass-strong)}
.home-puzzle-group summary::marker{font-size:13px;color:var(--muted)}
.home-puzzle-group summary .puzzle-group-note{font-size:13px;color:var(--muted);font-weight:400;margin-left:16px}
.home-puzzle-group[open] summary{border-bottom:1px solid var(--hairline)}
.home-puzzle-group .regs{padding:16px;gap:14px}
.home-puzzle-group .reg{gap:7px;padding:14px;border-radius:14px;box-shadow:var(--rim)}
.home-puzzle-group .reg-n{font-size:16px;min-height:0;line-height:1.5}
.home-puzzle-group .reg-h em{font-size:12px}
.home-puzzle-group .mini{max-height:120px}
.home-puzzle-group .gold-b span{font-size:11px}
.home-puzzle .map-caption{margin-top:20px;font-size:13px;line-height:1.8;max-width:760px}
.home-puzzle>.link{margin-top:5px}
.home-book{margin-top:44px;padding:32px;grid-template-columns:1.05fr 1fr;gap:36px;align-items:start}
.home-book .eyebrow{margin-bottom:12px}
.home-book h2{font-size:29px;line-height:1.5;max-width:none}
.home-book .note{font-size:14px;line-height:1.8;margin-top:12px}
.home-book .book-information{padding-left:32px;border-left:1px solid var(--hairline)}
.home-book .book-link-context{font-size:16px;line-height:1.8;color:var(--ink);font-weight:550}
.home-book .book-reading-context{font-size:14px;line-height:1.85;color:var(--muted);margin-top:14px}
.home-book .book-reading-context b{font-weight:650;color:var(--ink)}
.home-book .actions{margin-top:20px;gap:12px}
body:has(.home-intro) footer{margin-top:14px;padding-top:28px}
body:has(.home-intro) footer small{display:block;max-width:880px;line-height:1.9;margin-top:18px}
@media(max-width:800px){
 .home-intro>div{grid-template-columns:1fr}
 .home-runtime{justify-self:start;margin-top:14px}
 .home-book{grid-template-columns:1fr;gap:24px}
 .home-book .book-information{border-left:0;border-top:1px solid var(--hairline);padding-left:0;padding-top:22px}
}
@media(max-width:580px){
 main:has(.home-intro){padding-top:23px}
 .home-intro .eyebrow{font-size:11px;margin-bottom:10px}
 .home-intro .lead{margin-top:13px}
 .home-intro .lead strong{font-size:17px;line-height:1.65}
 .home-intro .lead span{font-size:14px;margin-top:5px;line-height:1.75}
 .home-runtime{font-size:11px;padding:6px 10px;margin-top:13px}
 .home-starters{margin-top:29px}
 .home-starters .section-top h2{font-size:23px}
 .home-starters>.home-choice-note{font-size:12px;line-height:1.85;padding-left:11px}
 .home-lines .story-lines{margin-top:19px;gap:26px}
 .home-lines .line-head h3{font-size:21px}
 .home-lines .line-head p{font-size:12px}
 .home-case-card .case-body{padding:19px 18px}
 .home-case-heading h4{font-size:18px}
 .home-case-card .home-case-description{font-size:13px;line-height:1.8;margin-top:12px}
 .home-case-card .case-foot{gap:12px;padding-top:15px}
 .home-case-card .case-foot .btn{font-size:13px;padding-inline:15px}
 .home-puzzle{padding:21px 14px;margin-top:36px}
 .home-puzzle .map-head{gap:12px}
 .home-puzzle .map-head h2{font-size:22px}
 .home-puzzle .map-head>span{font-size:11px;padding:5px 10px}
 .home-puzzle-group summary{padding:14px 12px;font-size:16px}
 .home-puzzle-group summary .puzzle-group-note{display:block;margin:3px 0 0 16px;font-size:12px}
 .home-puzzle-group .regs{padding:10px;gap:7px}
 .home-puzzle-group .reg{padding:9px 6px;gap:7px}
 .home-puzzle-group .reg-n{font-size:12px;min-height:2.7em;line-height:1.35}
 .home-puzzle-group .reg-h em{font-size:10px}
 .home-puzzle-group .gold-b span{font-size:9px}
 .home-puzzle .map-caption{font-size:12px;margin-top:18px}
 .home-book{padding:23px 21px;margin-top:32px;gap:21px}
 .home-book h2{font-size:24px;line-height:1.5}
 .home-book .note{font-size:13px;margin-top:9px}
 .home-book .book-link-context{font-size:15px}
 .home-book .book-reading-context{font-size:13px;line-height:1.9}
 .home-book .actions{align-items:flex-start;gap:8px 12px}
 .home-book .actions .btn{font-size:14px;padding-inline:18px}
 body:has(.home-intro) footer small{font-size:11px;line-height:1.9}
}

/* QA correction: keep action controls within the first desktop screen. */
@media(min-width:801px){.home-intro .lead strong,.home-intro .lead span{display:inline}.home-intro .lead span{margin:0 0 0 7px}}
.home-case-card .home-case-commandrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}
.home-case-card .home-case-meta{flex:none;margin:0;padding:4px 8px}
.home-case-card .home-case-commandrow .case-foot{flex:1;justify-content:flex-end;border:0;padding:0;margin:0;gap:8px}
.home-case-commandrow .btn.small{font-size:14px;min-height:44px;padding:9px 14px}
.home-case-card .home-case-description{margin-top:16px;padding-top:13px;border-top:1px solid var(--hairline)}
@media(max-width:580px){.home-case-card .home-case-commandrow{flex-wrap:wrap;gap:10px}.home-case-card .home-case-commandrow .case-foot{flex:1 1 100%;justify-content:space-between}.home-case-card .home-case-description{font-size:13px;margin-top:14px;padding-top:12px}.home-case-commandrow .btn.small{font-size:13px;min-height:44px;padding:10px 16px}}

/* Responsive correction: group playtime with the route-selection heading. */
.home-intro>div{display:block}
.home-starters>.section-top{align-items:center;gap:12px}
.home-starters .home-runtime{flex:none;margin:0}
@media(max-width:580px){.home-starters>.section-top{gap:8px}.home-starters .section-top h2{font-size:21px}.home-starters .home-runtime{font-size:10.5px;padding:5px 8px;margin:0}}

/* Author refinement: tea episodes share material but use distinct warm palettes. */
.home-lines .home-case-card[data-home-case="l3"] .case-art.tea{background:linear-gradient(120deg,#e56c91 0%,#ed99a2 50%,#f9c986 100%)}

/* Homepage brand balance: reduce visual weight, preserve an ample hit area. */
body:has(.home-intro) .brand.logo-only{width:120px;flex:0 0 120px;height:44px;min-height:44px}
body:has(.home-intro) .brand.logo-only img{width:120px}
@media(max-width:580px){body:has(.home-intro) .brand.logo-only{width:108px;flex:0 0 108px}body:has(.home-intro) .brand.logo-only img{width:108px}}

/* Narrow-screen title: avoid an isolated final character within the safe text zone. */
@media(max-width:380px){.home-case-card .case-art.tea .case-title h3{font-size:20px}}

@media(max-width:340px){.home-case-card .case-art.tea .case-title h3{font-size:18px}}

/* R1 approved: deep teal selected Home, preserve the pale glass navigation. */
body:has(.home-intro) header.shell nav a[aria-current="page"]{background:linear-gradient(145deg,#276d70,#195257);color:#f6fffd;border-color:rgba(220,255,248,.65);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 4px 10px rgba(22,75,79,.16)}

/* R2 approved: one explanatory type tier, calmer introduction, equal glass weight. */
body:has(.home-intro),body:has(.cases-starters){--intro-copy-size:16px;--intro-copy-leading:1.8}
main:has(.home-intro){padding-top:28px}
.home-intro .eyebrow{font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--muted);opacity:1;margin-bottom:10px}
.home-intro h1{font-size:clamp(32px,3.8vw,44px);line-height:1.16}
.home-intro .lead{margin-top:12px;max-width:760px}
.home-intro .lead,.home-intro .lead strong,.home-intro .lead span,.home-starters>.home-choice-note,body:has(.cases-starters) .pagehead .lead,.cases-starters .section-top p{font-size:var(--intro-copy-size);line-height:var(--intro-copy-leading);letter-spacing:0}
.home-intro .lead strong{display:inline;font-weight:400;color:var(--ink)}
.home-intro .lead span{display:inline;margin:0 0 0 5px;color:var(--muted)}
.home-starters{margin-top:32px}
.home-starters>.section-top{margin-bottom:8px}
.home-starters .section-top h2{font-size:22px;font-weight:700;line-height:1.4}
.home-starters .home-runtime{border:0;border-radius:0;padding:0;background:transparent;font-size:12px;font-weight:500;color:var(--muted)}
.home-starters>.home-choice-note{padding-left:0;border-left:0;margin-top:0}
.home-lines .story-lines{margin-top:20px}
.home-lines .story-line.factory{--home-factory-panel:rgba(250,253,255,.76);--home-factory-top:rgba(250,253,255,.62);--home-factory-bottom:rgba(218,237,247,.40);background:linear-gradient(145deg,var(--home-factory-top),var(--home-factory-bottom));border-color:rgba(148,172,179,.48)}
.home-lines .story-line.factory .home-case-card{background:var(--home-factory-panel)}
@media(max-width:580px){
 body:has(.home-intro),body:has(.cases-starters){--intro-copy-size:14px}
 main:has(.home-intro){padding-top:22px}
 .home-intro .eyebrow{margin-bottom:9px}
 .home-intro .lead{margin-top:11px}
 .home-starters{margin-top:26px}
 .home-starters .section-top h2{font-size:20px}
 .home-starters .home-runtime{font-size:10.5px}
 .home-lines .story-lines{margin-top:18px}
}
:root[data-theme="dark"] .home-lines .story-line.factory{--home-factory-panel:rgba(34,48,54,.84);--home-factory-top:rgba(36,51,58,.72);--home-factory-bottom:rgba(40,66,76,.58);border-color:rgba(148,183,192,.48)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .home-lines .story-line.factory{--home-factory-panel:rgba(34,48,54,.84);--home-factory-top:rgba(36,51,58,.72);--home-factory-bottom:rgba(40,66,76,.58);border-color:rgba(148,183,192,.48)}}

/* QA: the existing story-zone selector includes :not(), so match its specificity. */
.cases-starters.story-zone .section-top>div>p:not(.eyebrow){font-size:var(--intro-copy-size);line-height:var(--intro-copy-leading);letter-spacing:0}

/* Complete the approved brand reduction across the shared site header. */
header.shell .brand.logo-only{width:120px;flex:0 0 120px;height:44px;min-height:44px}
header.shell .brand.logo-only img{width:120px}
@media(max-width:580px){header.shell .brand.logo-only{width:108px;flex:0 0 108px}header.shell .brand.logo-only img{width:108px}}

/* Author refinement: all navigation selections share the approved deep teal. */
header.shell :is(nav a,.booknav)[aria-current="page"],header.shell :is(nav a,.booknav):active{background:linear-gradient(145deg,#276d70,#195257);color:#f6fffd;border-color:rgba(220,255,248,.65);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 4px 10px rgba(22,75,79,.16)}
header.shell .brand.logo-only{width:104px;flex:0 0 104px}
header.shell .brand.logo-only img{width:104px}
@media(max-width:580px){header.shell .brand.logo-only{width:96px;flex:0 0 96px}header.shell .brand.logo-only img{width:96px}}

/* R3 author refinement: slightly tighter navigation, retain 44px touch targets. */
header.shell :is(nav a,.booknav){padding:7px 12px;min-height:44px}
@media(max-width:820px){header.shell nav{gap:10px}}
@media(max-width:580px){header.shell :is(nav a,.booknav){padding:6px 8px;min-height:44px}header.shell nav{gap:8px}}

/* Secondary book entry: keep the original copy, card material and actions. */
.home-book-with-cover{position:relative;overflow:visible;grid-template-columns:minmax(0,200px) minmax(0,1fr);padding-right:180px;gap:28px}
.home-book-cover{position:absolute;top:-26px;right:24px;display:block;width:128px;height:auto;pointer-events:none}
.home-book-summary{min-width:0}
.home-book-with-cover h2{max-width:200px;font-size:26px;line-height:1.45}
@media(max-width:800px){
 .home-book-with-cover{grid-template-columns:minmax(0,1fr);padding-right:32px}
 .home-book-summary{padding-right:144px;min-height:130px}
 .home-book-with-cover h2{max-width:200px}
}
@media(max-width:580px){
 .home-book-with-cover{padding:23px 21px;gap:20px}
 .home-book-cover{right:12px}
 .home-book-summary{padding-right:136px;min-height:130px}
 .home-book-with-cover h2{font-size:22px}
}
@media(max-width:360px){
 .home-book-cover{width:104px}
 .home-book-summary{padding-right:112px;min-height:116px}
 .home-book-with-cover h2{font-size:21px}
}

/* v2 author refinement: two fixed title lines; phone artwork keeps v1 geometry. */
.home-book-with-cover h2>.home-book-title-line{display:block;white-space:nowrap}
@media(min-width:720px){
 .home-book-with-cover{padding-right:218px}
 .home-book-cover{width:150px;right:44px;top:-30px}
}
@media(min-width:720px) and (max-width:800px){
 .home-book-with-cover{padding-right:32px}
 .home-book-summary{padding-right:188px}
}

/* v3: keep homepage copy phrases together using established CSS. */
.home-book .home-book-phrase{display:inline-block;white-space:nowrap}
/* 20261015 第一批：桌面维持原排版，手机把主要入口提前。 */
.mobile-menu-toggle, .mobile-booknav, .home-mobile-note { display: none; }
@media (max-width: 720px) {
  header.shell { position: relative; display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; min-height: 66px; border-radius: 25px; }
  header.shell .brand { flex: 0 1 auto; min-width: 0; margin: 0; }
  header.shell .brand img { width: 140px; max-width: 100%; height: auto; }
  header.shell > .booknav { display: none; }
  .mobile-menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 44px; padding: 0; border-radius: 15px; border: 1px solid rgba(255,255,255,.8); background: rgba(255,255,255,.62); color: #205e62; box-shadow: 0 3px 10px rgba(50,83,92,.08); font-size: 30px; line-height: 1; cursor: pointer; }
  header.shell > nav { display: none; position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; right: 0; width: auto; margin: 0; padding: 10px; border: 1px solid rgba(255,255,255,.85); border-radius: 22px; background: rgba(238,250,250,.97); -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px); box-shadow: 0 12px 28px rgba(40,81,86,.18); }
  header.shell.mobile-menu-open > nav { display: grid; grid-template-columns: 1fr; gap: 5px; }
  header.shell > nav a, header.shell > nav .mobile-booknav { display: flex; align-items: center; justify-content: flex-start; width: 100%; min-height: 44px; padding: 10px 16px; border-radius: 14px; font-size: 16px; }
  .home-intro .home-mobile-note { display: block; margin-top: 12px; font-size: 12px; color: var(--muted, #526d73); }
  #home-starters .home-choice-note { display: none; }
}

/* Phone duration remains once, matching the unchanged copy. */
@media (max-width: 720px) {
  #home-starters .home-runtime { display: none; }
}

/* v3：作者提供的拍红主入口与3D CEO；其他按钮的默认色保持。 */
.home-intro h1 .home-ceo-3d { display: inline-block; width: 2.55em; height: auto; vertical-align: -.07em; }
.home-intro .lead .home-lead-copy { margin-left: 5px; }
.home-intro .lead .home-lead-phrase { display: inline-block; white-space: nowrap; margin: 0; font: inherit; color: inherit; }
@media (max-width: 720px) {
  header.shell > nav a.mobile-booknav { margin-left: 0; padding: 7px 12px; }

}
@media (max-width: 580px) {
  header.shell > nav a.mobile-booknav { padding: 6px 8px; }
}

/* v4：仅320px及以下，去掉换行后导语包裹层的5px前距。 */
@media (max-width: 320px) {
  .home-intro .lead .home-lead-copy { margin-left: 0; }
}

/* v5: only the phone homepage, tea episode 1; other CTAs keep their existing style. */
@media (max-width: 720px) {
  .home-lines .home-case-card[data-home-case="l1"] .case-launch > .btn.primary {
    width: auto;
    min-width: 44px;
    min-height: 44px;
    padding: 9px 16px;
    border-radius: 12px;
    border-color: transparent;
    background: linear-gradient(145deg,#ff6a4d,#f2563e);
    color: #fff;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
    text-shadow: 0 1px 1px rgba(150,30,15,.40);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 8px 18px rgba(242,86,62,.32);
  }
  .home-lines .home-case-card[data-home-case="l1"] .case-launch > .btn.primary:active {
    transform: translateY(1px);
    box-shadow: inset 0 2px 5px rgba(150,30,15,.28), inset 0 -1px 0 rgba(255,255,255,.28), 0 1px 3px rgba(150,30,15,.22);
  }
  .home-lines .home-case-card[data-home-case="l1"] .case-launch > .btn.primary:focus-visible {
    outline: 3px solid #123f44;
    outline-offset: 3px;
    box-shadow: 0 0 0 2px #fff7ef, inset 0 1px 0 rgba(255,255,255,.38), 0 8px 18px rgba(242,86,62,.32);
  }
  :root[data-theme="dark"] .home-lines .home-case-card[data-home-case="l1"] .case-launch > .btn.primary {
    background: linear-gradient(145deg,#ff6a4d,#f2563e);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 5px 12px rgba(242,86,62,.18);
  }
  :root[data-theme="dark"] .home-lines .home-case-card[data-home-case="l1"] .case-launch > .btn.primary:active {
    box-shadow: inset 0 2px 5px rgba(100,22,16,.32), 0 1px 3px rgba(242,86,62,.15);
  }
  :root[data-theme="dark"] .home-lines .home-case-card[data-home-case="l1"] .case-launch > .btn.primary:focus-visible {
    outline-color: #ffe9a5;
    box-shadow: 0 0 0 2px #1c292d, inset 0 1px 0 rgba(255,255,255,.22), 0 5px 12px rgba(242,86,62,.18);
  }
}
@media (hover: hover) and (max-width: 720px) {
  .home-lines .home-case-card[data-home-case="l1"] .case-launch > .btn.primary:hover { filter: brightness(1.04); }
}
@media (prefers-color-scheme: dark) and (max-width: 720px) {
  :root:not([data-theme="light"]) .home-lines .home-case-card[data-home-case="l1"] .case-launch > .btn.primary {
    background: linear-gradient(145deg,#ff6a4d,#f2563e);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 5px 12px rgba(242,86,62,.18);
  }
  :root:not([data-theme="light"]) .home-lines .home-case-card[data-home-case="l1"] .case-launch > .btn.primary:active {
    box-shadow: inset 0 2px 5px rgba(100,22,16,.32), 0 1px 3px rgba(242,86,62,.15);
  }
  :root:not([data-theme="light"]) .home-lines .home-case-card[data-home-case="l1"] .case-launch > .btn.primary:focus-visible {
    outline-color: #ffe9a5;
    box-shadow: 0 0 0 2px #1c292d, inset 0 1px 0 rgba(255,255,255,.22), 0 5px 12px rgba(242,86,62,.18);
  }
}
