@font-face{font-family:"Inter Variable";src:url('assets/fonts/inter-variable-latin.woff2') format('woff2-variations');font-weight:100 900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url('assets/fonts/jetbrains-mono-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--bg:oklch(.972 .004 264);--surface:oklch(1 0 0);--surface-2:oklch(.975 .003 264);--ink:oklch(.24 .012 264);--body:oklch(.46 .012 264);--muted:oklch(.58 .012 264);--line:oklch(.9 .005 264);--blue:oklch(.58 .18 262);--content:min(1120px,calc(100vw - 2 * clamp(24px,5vw,64px)));--ease:cubic-bezier(.22,1,.36,1)}
[data-theme=dark]{color-scheme:dark;--bg:oklch(.185 .014 264);--surface:oklch(.205 .012 264);--surface-2:oklch(.235 .012 264);--ink:oklch(.95 .003 264);--body:oklch(.72 .012 264);--muted:oklch(.57 .012 264);--line:oklch(.3 .012 264);--blue:oklch(.7 .15 262)}
:root{--hatch-a:oklch(.988 .002 264);--hatch-b:oklch(.965 .004 264)}
[data-theme=dark]{--hatch-a:oklch(.225 .012 264);--hatch-b:oklch(.25 .014 264)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Inter Variable",Inter,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3,p,dl,dd,ol{margin:0}img{display:block;width:100%}.container{width:var(--content);margin-inline:auto}.skip{position:fixed;z-index:999;top:-80px;left:20px;padding:10px 14px;background:var(--ink);color:var(--bg)}.skip:focus{top:12px}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.case-progress{position:fixed;z-index:220;top:0;left:0;right:var(--viewer-scrollbar-gap,0px);width:auto;height:2px;pointer-events:none}.case-progress i{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left center;will-change:transform}.case-header{position:fixed;z-index:200;inset:0 auto auto 0;right:var(--viewer-scrollbar-gap,0px);width:auto;height:60px;padding-inline:max(calc((100vw - 1120px)/2),clamp(24px,5vw,64px));display:flex;align-items:center;gap:clamp(14px,3vw,32px);background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);transition:background-color .3s,border-color .3s}.case-header.scrolled{background:color-mix(in srgb,var(--bg) 84%,transparent)}.brand{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600}.brand small{margin:0;color:var(--muted);font:12px/1 monospace;letter-spacing:.2em}.case-nav{display:flex;align-items:center;gap:clamp(4px,1.6vw,10px);margin-left:auto}.case-nav>a,.nav-trigger{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:4px;color:var(--body);font-size:14px;line-height:1.4}.case-nav a:hover,.nav-trigger{color:var(--body)}.case-nav a:hover{color:var(--blue)}.nav-drop{position:relative}.nav-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:128px;display:flex;flex-direction:column;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 14px 34px -20px rgba(20,30,50,.35);opacity:0;transform:scale(.96) translateY(-4px);pointer-events:none;transition:opacity .18s var(--ease),transform .18s var(--ease)}.nav-menu::before{content:'';position:absolute;inset:-8px 0 auto;height:8px}.nav-menu a{padding:8px 12px;border-radius:4px;color:var(--body);font-size:13.5px}.nav-drop:hover .nav-menu,.nav-drop:focus-within .nav-menu{opacity:1;transform:none;pointer-events:auto}.nav-trigger span{transition:transform .2s}.nav-drop:hover .nav-trigger span,.nav-drop:focus-within .nav-trigger span{transform:rotate(180deg)}.theme-toggle{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--body);cursor:pointer}.theme-toggle svg{display:block}.sun,[data-theme=dark] .moon{display:inline-flex}.moon,[data-theme=dark] .sun{display:none}
.case-hero{min-height:0;padding-top:150px;display:flex;flex-direction:column}.back{align-self:flex-start;color:var(--muted);font-size:14px;line-height:1.5}.back:hover{color:var(--blue)}.kicker{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:48px;color:var(--blue);font:13px/1.5 monospace;letter-spacing:.12em}.kicker b{padding:8px 13px;border:1px solid var(--line);border-radius:3px;color:var(--body);font:12px/1.35 monospace;letter-spacing:.08em}.display{max-width:1000px;margin-top:18px;font-size:clamp(50px,7.2vw,94px);line-height:1.06;letter-spacing:-.055em}.display.long-title{max-width:none;font-size:clamp(40px,5.2vw,68px);line-height:1.12;letter-spacing:-.055em;white-space:nowrap}.hero-lead{max-width:850px;margin-top:24px;color:var(--body);font-size:clamp(17px,1.75vw,21px);line-height:1.8}.meta{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:clamp(36px,6vw,72px);margin-top:34px;padding:30px 0 48px;border-top:1px solid var(--line)}.meta div{display:grid;align-content:start;gap:16px;min-width:0}.meta dt{color:var(--muted);font:11px/1 monospace;letter-spacing:.2em}.meta dd{font-size:15px;line-height:1.65;font-weight:500}
.media-placeholder{display:grid;place-content:center;gap:10px;text-align:center;color:var(--muted);background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 14px,var(--surface-2) 14px,var(--surface-2) 28px);border:1px solid var(--line)}.media-placeholder span{font-size:19px}.media-placeholder small{font:12px/1.5 monospace}.hero-media{width:min(1440px,calc(100vw - 32px));height:min(62vw,820px);margin:auto}.case-section{padding:0}#main>:is(.hero-media+.case-section,.case-section+.case-section,.case-section+.reflection,.reflection+.case-section){margin-top:144px}.section-head{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line)}.section-head>span{color:var(--blue);font:14px/1 monospace}.section-head h2{font-size:15px;font-weight:500;color:oklch(.46 .012 264)}.section-head small{color:var(--muted);font:11px/1 monospace;letter-spacing:.2em}.section-head::after{content:''}.section-title{max-width:850px;margin-top:70px;font-size:clamp(35px,5vw,60px);line-height:1.16;letter-spacing:-.035em}.section-lead{max-width:780px;margin-top:28px;color:var(--body);font-size:clamp(18px,2vw,23px);line-height:1.75}
.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:56px}.scope-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto 1fr;min-height:360px;padding:40px 34px 38px;background:var(--surface);border:1px solid var(--line);border-radius:4px}.scope-card .num{grid-column:1;grid-row:1;color:var(--blue);font:14px/1.4 monospace;letter-spacing:.06em}.scope-card small{grid-column:2;grid-row:1;justify-self:end;margin:0;color:var(--muted);font:12px/1.4 monospace;letter-spacing:.08em;text-align:right}.scope-card h3{grid-column:1/-1;grid-row:2;margin-top:42px;font-size:22px;line-height:1.4}.scope-card .scope-highlight{grid-column:1/-1;grid-row:3;max-width:34ch;margin-top:10px;color:var(--blue);font-size:14px;line-height:1.75}.scope-card .scope-desc{grid-column:1/-1;grid-row:4;align-self:start;max-width:34ch;margin-top:18px;color:var(--body);font-size:14px;line-height:1.82}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:72px;margin-top:70px}.text-column{padding-top:24px;border-top:1px solid var(--line)}.text-column>span{color:var(--blue);font:11px/1 monospace;letter-spacing:.16em}.text-column h3{margin-top:26px;font-size:24px}.text-column p{margin-top:18px;color:var(--body)}.wide-media{height:630px;margin-top:90px}.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step{padding:32px 28px 36px}.step+.step{border-left:1px solid var(--line)}.step span{color:var(--blue);font:13px/1 monospace}.step h3{margin-top:30px;font-size:21px}.step p{margin-top:14px;color:var(--body);font-size:15px}.media-pair{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-top:80px}.media-pair .media-placeholder{height:500px}.outcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.outcome{padding:38px;background:var(--surface);border:1px solid var(--line)}.outcome strong{display:block;color:var(--blue);font-size:38px}.outcome span{color:var(--body)}.scenario{display:inline-flex;margin-top:70px;padding:7px 13px;border:1px solid var(--line);border-radius:99px;color:var(--blue);font:12px/1.3 monospace;letter-spacing:.08em}.auto-block{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px}.auto-item{padding:34px 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.auto-item+.auto-item{border-left:1px solid var(--line)}.auto-item span{color:var(--blue);font:13px/1 monospace}.auto-item h3{margin-top:26px;font-size:21px}.auto-item p{margin-top:13px;color:var(--body);font-size:15px}
#reflection{padding:0;background:transparent;color:var(--ink);--reflection-caption-bg:oklch(.975 .016 262);--reflection-caption-border:oklch(.8 .08 262);--reflection-caption-label:oklch(.52 .14 262);--reflection-caption-core:oklch(.24 .012 264)}#reflection>.container{padding:0}#reflection .section-head{border-color:var(--line)}#reflection .section-head small{color:var(--muted)}#reflection .reflection-intro{display:grid;gap:18px;max-width:900px;margin-top:40px}#reflection .reflection-intro p{color:var(--body);font-size:16px;line-height:1.78}#reflection .reflection-intro .reflection-opening{color:var(--ink);font-weight:650}#reflection .reflection-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:48px}#reflection .reflection-card{min-width:0;padding:24px 0;border-top:1px solid var(--line)}#reflection .reflection-card>span{display:block;color:var(--blue);font:14px/1 "JetBrains Mono",monospace;letter-spacing:.06em}#reflection .reflection-card h3{margin-top:20px;font-size:22px;line-height:1.4}#reflection .reflection-card p{margin-top:12px;color:var(--body);font-size:16px;line-height:1.75}#reflection .reflection-images{display:grid;gap:48px;margin-top:56px}#reflection .reflection-media{margin:0;min-width:0}#reflection .reflection-media-frame{padding:8px;border:1px solid var(--line);border-radius:4px;background:repeating-linear-gradient(135deg,var(--hatch-a),var(--hatch-a) 14px,var(--hatch-b) 14px,var(--hatch-b) 28px)}#reflection .reflection-media-frame img{display:block;width:100%;height:auto;border:0;cursor:zoom-in}#reflection .reflection-image-placeholder{display:grid;place-content:center;min-height:0;aspect-ratio:2/1;padding:24px;color:var(--muted);font:14px/1.6 "JetBrains Mono",monospace;letter-spacing:.04em;text-align:center;background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 14px,var(--surface-2) 14px,var(--surface-2) 28px)}#reflection .reflection-caption{display:grid;gap:7px;margin-top:14px;padding:13px 12px;border:1px solid var(--reflection-caption-border);border-radius:4px;background:var(--reflection-caption-bg);color:var(--reflection-caption-core)}#reflection .reflection-caption b{font:14px/1.4 "JetBrains Mono",monospace;font-weight:400;letter-spacing:.04em;color:var(--reflection-caption-label)}#reflection .reflection-caption span{font-size:14px;line-height:1.65}#reflection .reflection-capabilities{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;padding:0;margin:56px 0 0;list-style:none}#reflection .reflection-capabilities li{grid-column:span 3;min-width:0;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--body);font:14px/1.4 "JetBrains Mono",monospace;letter-spacing:.04em;text-align:center}#reflection .reflection-capabilities li:nth-last-child(-n+3){grid-column:span 4}#reflection .reflection-regrets{margin-top:72px;padding-top:32px;border-top:1px solid var(--line)}#reflection .reflection-regrets h3{font-size:23px;line-height:1.4}#reflection .reflection-regrets-lead{margin-top:16px;color:var(--body);font-size:16px;line-height:1.78}#reflection .reflection-regrets-list{padding:0;margin:38px 0 0;list-style:none}#reflection .reflection-regret{display:grid;grid-template-columns:52px minmax(0,1fr);gap:20px;padding:30px 0;border-top:1px solid var(--line)}#reflection .reflection-regret>span{color:var(--blue);font:14px/1.4 "JetBrains Mono",monospace;letter-spacing:.06em}#reflection .reflection-regret h4{margin:0;color:var(--ink);font-size:22px;line-height:1.4}#reflection .reflection-regret p{margin-top:12px;color:var(--body);font-size:16px;line-height:1.78}#reflection .reflection-regret .reflection-regret-emphasis{margin-top:18px;color:var(--ink);font-weight:650}#reflection .reflection-regret:last-child{border-bottom:1px solid var(--line)}[data-theme=dark] #reflection{--reflection-caption-bg:oklch(.255 .024 262);--reflection-caption-border:oklch(.52 .08 262);--reflection-caption-label:oklch(.72 .12 262);--reflection-caption-core:oklch(.91 .01 264)}.concept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:70px}.concept-grid .media-placeholder{aspect-ratio:3/5}.next-case{display:grid;grid-template-columns:1fr auto;align-items:end;padding:72px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.next-case span{grid-column:1;color:var(--muted);font:11px/1 monospace;letter-spacing:.18em}.next-case strong{grid-column:1;margin-top:24px;font-size:clamp(30px,5vw,54px);letter-spacing:-.04em}.next-case b{grid-column:2;grid-row:1/3;color:var(--blue);font-size:42px;transition:transform .25s}.next-case:hover b{transform:translateX(8px)}footer{padding:52px 0 70px}footer .container{display:flex;justify-content:space-between;color:var(--muted);font:11px/1.5 monospace;letter-spacing:.12em}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.js .reveal.in{opacity:1;transform:none}
#reflection .reflection-regrets-list{display:grid;gap:14px;margin-top:30px}#reflection .reflection-regret{display:block;padding:24px 26px;border:.5px solid var(--line);border-radius:6px;background:var(--surface-2)}#reflection .reflection-regret h4{font-size:18px;font-weight:650;line-height:1.5}#reflection .reflection-regret p{margin-top:10px;font-size:16px;line-height:1.78}#reflection .reflection-regret .reflection-regret-emphasis{margin-top:16px;font-weight:650}#reflection .reflection-regret:last-child{border-bottom:.5px solid var(--line)}
#reflection .reflection-regrets{margin-top:72px;padding-top:0;border-top:0}#reflection .reflection-regrets-frame{padding:24px 26px 28px;border:.5px solid var(--line);border-radius:6px;background:var(--surface)}#reflection .reflection-regrets-label{color:var(--muted);font:13px/1.4 "JetBrains Mono",monospace;letter-spacing:.06em}#reflection .reflection-regrets-divider{height:.5px;margin-top:18px;background:var(--line)}#reflection .reflection-regrets-lead{margin-top:22px;color:var(--body);font-size:16px;line-height:1.78}#reflection .reflection-regrets-list{display:block;margin-top:32px}#reflection .reflection-regret{display:block;padding:0;border:0;border-radius:0;background:transparent}#reflection .reflection-regret+.reflection-regret{margin-top:36px;padding-top:36px;border-top:.5px solid var(--line)}#reflection .reflection-regret h4{font-size:18px;font-weight:650;line-height:1.5}#reflection .reflection-regret:last-child{border-bottom:0}
#reflection .reflection-regrets{margin-top:72px;padding-top:32px;border-top:1px solid var(--line)}#reflection .reflection-regrets h3{font-size:23px;line-height:1.4}#reflection .reflection-regrets-lead{margin-top:16px}#reflection .reflection-regrets-list{display:grid;gap:14px;margin-top:32px}#reflection .reflection-regret+.reflection-regret{margin-top:0;padding-top:0;border-top:0}#reflection .reflection-regret-frame{padding:22px 26px 26px;border:.5px solid var(--line);border-radius:6px;background:var(--surface)}#reflection .reflection-regret-label{color:var(--muted);font:13px/1.4 "JetBrains Mono",monospace;letter-spacing:.06em}#reflection .reflection-regret-divider{height:.5px;margin-top:16px;background:var(--line)}#reflection .reflection-regret-content{margin-top:20px}#reflection .reflection-regret-content h4{font-size:18px;font-weight:650;line-height:1.5}#reflection .reflection-regret-content p{margin-top:10px}
#reflection .reflection-regret-frame{overflow:hidden;padding:0;border:.5px solid var(--line);border-radius:6px;background:transparent}#reflection .reflection-regret-label{padding:16px 22px;color:var(--muted);font:13px/1.4 "JetBrains Mono",monospace;font-weight:400;letter-spacing:.06em}#reflection .reflection-regret-divider{height:.5px;margin:0;background:var(--line)}#reflection .reflection-regret-content{margin:0;padding:20px 22px 24px}#reflection .reflection-regret-content p{margin:0;color:var(--body);font-size:16px;line-height:1.78}#reflection .reflection-regret-content .reflection-regret-emphasis{margin-top:16px;color:var(--ink);font-weight:650}
@media(max-width:980px) and (min-width:761px){.scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.case-header{padding-inline:16px}.case-header nav{display:none}.case-hero{min-height:0;padding-top:132px}.kicker{margin-top:46px}.display{font-size:clamp(43px,13vw,66px)}.display.long-title{font-size:clamp(22px,6.2vw,46px);white-space:nowrap}.hero-lead{margin-top:28px;font-size:17px}.meta{grid-template-columns:1fr;gap:26px;margin-top:48px;padding-bottom:38px}.meta div{gap:9px}.hero-media{height:72vw}.scope-grid,.duo,.media-pair,.outcome-grid,.steps,.auto-block{grid-template-columns:1fr}.scope-card{min-height:300px;padding:32px 26px}.step+.step,.auto-item+.auto-item{border-left:0}.media-pair .media-placeholder,.wide-media{height:65vw}.concept-grid{grid-template-columns:repeat(2,1fr)}.section-head{grid-template-columns:auto auto 1fr}.section-head small{justify-self:end}.brand small{display:none}#reflection .reflection-cards{grid-template-columns:1fr}#reflection .reflection-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}#reflection .reflection-capabilities li,#reflection .reflection-capabilities li:nth-last-child(-n+3){grid-column:auto}#reflection .reflection-regret{grid-template-columns:42px minmax(0,1fr);gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}}

/* 主视觉遵守与标题、元信息相同的全站内容宽度。 */
.hero-media{width:var(--content);max-width:1120px;height:min(62vw,700px)}
#sanyaHeroMedia{width:var(--content);max-width:1120px;height:auto;margin-inline:auto;padding:8px;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
#sanyaHeroMedia img{width:100%;height:auto;display:block;border-radius:2px}

/* 三亚案例的设计职责与范围：桌面端固定为两列两行。 */
@media(min-width:761px){.scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 卡片文案始终使用当前卡片的完整内容宽度，不按固定字符数换行。 */
.scope-grid{align-items:start}
.scope-card{min-width:0;min-height:0;align-self:start;grid-template-rows:auto auto auto auto;padding-bottom:40px}
.scope-card .scope-highlight,.scope-card .scope-desc{width:100%;max-width:none;overflow-wrap:anywhere}
@media(max-width:760px){.scope-card{padding-block:32px}}

/* 问题定义：定稿切换原型，仅作用于三亚案例的 #foundation。 */
#foundation{--foundation-accent-bg:oklch(.975 .016 262);--foundation-accent-border:oklch(.8 .08 262);--foundation-accent-label:oklch(.52 .14 262);--foundation-core:oklch(.24 .012 264);--goal:oklch(.62 .16 145);--goal-border:oklch(.68 .14 145);--goal-surface:oklch(.965 .028 145);font-family:"Inter Variable",Inter,"PingFang SC","Source Han Sans SC","Microsoft YaHei",sans-serif}
[data-theme=dark] #foundation{--foundation-accent-bg:oklch(.26 .045 262);--foundation-accent-border:oklch(.48 .08 262);--foundation-accent-label:oklch(.7 .15 262);--foundation-core:oklch(.95 .003 264);--goal:oklch(.72 .14 145);--goal-border:oklch(.48 .1 145);--goal-surface:oklch(.245 .035 145)}
#foundation .section-head>span,#foundation .section-head small{font-family:"JetBrains Mono",monospace;font-size:14px;line-height:1;font-weight:400}
#foundation .section-head h2{font-size:15px;font-weight:500}
#foundation .section-lead{max-width:780px;margin-top:28px;font-size:16px;line-height:1.75;font-weight:400}
#foundation .foundation-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:32px}
#foundation .foundation-tabs button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:60px;padding:16px 14px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--body);font-family:inherit;font-size:16px;line-height:1.5;font-weight:400;text-align:left;cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease)}
#foundation .foundation-tabs button span{min-width:0;white-space:nowrap}
#foundation .foundation-tabs button b{flex:0 0 auto;font-weight:400}
#foundation .foundation-tabs button:hover{border-color:var(--foundation-accent-border);color:var(--foundation-accent-label)}
#foundation .foundation-tabs button[aria-selected=true]{border-color:var(--foundation-accent-border);background:var(--foundation-accent-bg);color:var(--foundation-accent-label)}
#foundation .foundation-panel{margin-top:36px;outline:none}
#foundation .foundation-panel:focus-visible{outline:2px solid var(--blue);outline-offset:6px}
#foundation .foundation-pair{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);gap:14px;align-items:stretch}
#foundation .foundation-box{min-width:0;padding:22px 26px;border:1px solid;border-radius:4px}
#foundation .foundation-box>span{display:block;font-family:"JetBrains Mono",monospace;font-size:14px;line-height:1.5;font-weight:400;letter-spacing:.05em}
#foundation .foundation-box p{width:100%;margin-top:10px;font-size:16px;line-height:1.75;font-weight:500;overflow-wrap:anywhere}
#foundation .foundation-challenge{border-color:var(--line);background:var(--surface)}
#foundation .foundation-challenge>span{color:var(--muted)}
#foundation .foundation-challenge p{color:var(--ink)}
#foundation .foundation-goal{border-color:var(--goal-border);background:var(--goal-surface)}
#foundation .foundation-goal>span{color:var(--goal)}
#foundation .foundation-goal p{color:var(--ink)}
#foundation .foundation-relation-arrow{display:grid;place-items:center;min-width:0;color:var(--muted);font-size:22px;line-height:1}
#foundation .foundation-relation-arrow::before{content:"→"}
#foundation .foundation-media-stage{width:100%;margin-top:32px}
#foundation .foundation-terminal{width:100%;padding:8px;border:1px solid var(--line);background:repeating-linear-gradient(135deg,var(--hatch-a),var(--hatch-a) 11px,var(--hatch-b) 11px,var(--hatch-b) 22px)}
#foundation .foundation-terminal img{width:100%;height:auto;display:block}
#foundation .foundation-phone{display:flex;flex-direction:column;align-items:center;width:100%}
#foundation .foundation-phone[hidden],#foundation .foundation-terminal[hidden]{display:none}
#foundation .foundation-phone-device{position:relative;width:min(336px,100%,max(220px,calc(48.913svh - 88px)));aspect-ratio:1350/2760;flex:0 0 auto}
#foundation .foundation-phone-device>img{position:absolute;z-index:3;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
#foundation .foundation-phone-screen-window{position:absolute;z-index:1;top:2.5%;right:5.33%;bottom:2.5%;left:5.33%;overflow:hidden;border-radius:15.8%/7.3%;background:var(--surface)}
#foundation .foundation-phone-screen{position:relative;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;background:var(--surface)}
#foundation .foundation-phone-screen::-webkit-scrollbar{display:none;width:0;height:0}
#foundation .foundation-phone-screen:focus-visible{outline:2px solid var(--blue);outline-offset:-5px}
#foundation .foundation-phone-content{display:block;width:100%;height:auto;max-width:none;margin:0;border:0}
#foundation .foundation-phone-scroll-indicator{position:absolute;z-index:2;top:0;right:4px;width:3px;height:100%;pointer-events:none;opacity:0;transition:opacity .18s var(--ease)}
#foundation .foundation-phone-scroll-indicator i{position:absolute;top:0;left:0;width:3px;height:33%;border-radius:999px;background:color-mix(in oklch,var(--blue) 48%,var(--body));opacity:.5;transform:translateY(0)}
#foundation .foundation-phone-device.is-scrollbar-visible .foundation-phone-scroll-indicator{opacity:1}
#foundation .foundation-phone>p{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.6;text-align:center}
@media(max-width:760px){
  #foundation .foundation-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  #foundation .foundation-tabs button{min-height:56px;padding:14px 12px}
  #foundation .foundation-pair{grid-template-columns:minmax(0,1fr)}
  #foundation .foundation-relation-arrow{min-height:28px;font-size:20px}
  #foundation .foundation-relation-arrow::before{content:"↓"}
  #foundation .foundation-box{padding:22px 20px}
  #foundation .foundation-media-stage{margin-top:24px}
  #foundation .foundation-phone-device{width:min(260px,100%,max(210px,calc(48.913svh - 72px)))}
}
@media(prefers-reduced-motion:reduce){#foundation .foundation-tabs button,#foundation .foundation-phone-viewer{transition:none}}
@media(prefers-reduced-motion:reduce){#foundation .foundation-phone-scroll-indicator{transition:none}}

/* 04 三端接力：限定在 workflow 模块，保留其余案例区块的既有规则。 */
#workflow{--workflow-accent-bg:oklch(.975 .016 262);--workflow-accent-border:oklch(.8 .08 262);--workflow-accent-label:oklch(.52 .14 262);--workflow-accent-core:oklch(.24 .012 264)}
[data-theme=dark] #workflow{--workflow-accent-bg:oklch(.26 .045 262);--workflow-accent-border:oklch(.48 .08 262);--workflow-accent-label:oklch(.7 .15 262);--workflow-accent-core:oklch(.95 .003 264)}
#workflow .workflow-lead{max-width:820px;margin-top:28px;color:var(--body);font-size:16px;line-height:1.78}
#workflow .workflow-scenario{margin-top:32px;padding:16px 20px;border:1px solid var(--workflow-accent-border);border-radius:4px;background:var(--workflow-accent-bg);color:var(--blue);font-size:16px;line-height:1.75}
#workflow .workflow-screens{display:grid;grid-template-columns:minmax(0,1fr);gap:72px;margin-top:32px}
#workflow .workflow-screen{min-width:0}
#workflow .workflow-screen-copy,#workflow .workflow-screen-media{min-width:0}
#workflow .workflow-screen h3{font-size:20px;line-height:1.45;font-weight:650}
#workflow .workflow-screen.is-highlighted h3{padding-left:14px;border-left:2px solid var(--blue)}
#workflow .workflow-screen p{margin-top:12px;color:var(--body);font-size:16px;line-height:1.75;overflow-wrap:anywhere}
#workflow .workflow-screen-media{margin-top:26px}
#workflow .workflow-visual{width:100%;border:1px solid var(--line);background:repeating-linear-gradient(135deg,var(--hatch-a),var(--hatch-a) 11px,var(--hatch-b) 11px,var(--hatch-b) 22px)}
#workflow .workflow-visual--display{aspect-ratio:7200/2025}
#workflow .workflow-visual--web{aspect-ratio:2/1}
#workflow .workflow-visual--mobile{aspect-ratio:9/20}
#workflow .workflow-screen--full-width .workflow-visual:has(> img){aspect-ratio:auto;padding:8px}
#workflow .workflow-screen--centered-fixed-height .workflow-visual{width:min(234px,100%);margin-inline:auto}
#workflow .workflow-visual img{display:block;width:100%;height:auto}
#workflow .workflow-image-placeholder{width:100%;height:100%}
#workflow .workflow-phone{display:flex;flex-direction:column;align-items:center;width:100%}
#workflow .workflow-phone-device{position:relative;width:min(336px,100%,max(220px,calc(48.913svh - 88px)));aspect-ratio:1350/2760;flex:0 0 auto}
#workflow .workflow-phone-device>img{position:absolute;z-index:3;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
#workflow .workflow-phone-screen-window{position:absolute;z-index:1;top:2.5%;right:5.33%;bottom:2.5%;left:5.33%;overflow:hidden;border-radius:15.8%/7.3%;background:var(--surface)}
#workflow .workflow-phone-screen{position:relative;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;background:var(--surface)}
#workflow .workflow-phone-screen::-webkit-scrollbar{display:none;width:0;height:0}
#workflow .workflow-phone-screen:focus-visible{outline:2px solid var(--blue);outline-offset:-5px}
#workflow .workflow-phone-screen>img{display:block;width:100%;height:auto;max-width:none;margin:0;border:0}
#workflow .workflow-phone-scroll-indicator{position:absolute;z-index:2;top:0;right:4px;width:3px;height:100%;pointer-events:none;opacity:0;transition:opacity .18s var(--ease)}
#workflow .workflow-phone-scroll-indicator i{position:absolute;top:0;left:0;width:3px;height:33%;border-radius:999px;background:color-mix(in oklch,var(--blue) 48%,var(--body));opacity:.5;transform:translateY(0)}
#workflow .workflow-phone-device.is-scrollbar-visible .workflow-phone-scroll-indicator{opacity:1}
#workflow .workflow-phone>p{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.6;text-align:center}
#workflow .workflow-caption{display:grid;gap:7px;margin-top:14px;padding:13px 12px;border:1px solid var(--workflow-accent-border);border-radius:4px;background:var(--workflow-accent-bg);color:var(--workflow-accent-core)}
#workflow .workflow-caption b{font:14px/1.4 "JetBrains Mono",monospace;font-weight:400;letter-spacing:.04em;color:var(--workflow-accent-label)}
#workflow .workflow-caption span{font-size:14px;line-height:1.65}
#workflow .workflow-quote{margin:48px 0 0;padding:6px 0 6px 24px;border-left:2px solid var(--blue);color:var(--body);font-size:18px;line-height:1.75}
#workflow .workflow-outcome{margin-top:36px;padding:28px 30px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
#workflow .workflow-outcome p{color:var(--body);font-size:16px;line-height:1.78}
#workflow .workflow-outcome a{display:inline-flex;margin-top:18px;color:var(--blue);font:14px/1.5 "JetBrains Mono",monospace;letter-spacing:.04em}
#workflow .workflow-outcome a:hover{color:var(--workflow-accent-label)}
@media(max-width:760px){
  #workflow .workflow-screens{gap:56px}
  #workflow .workflow-screen-media{margin-top:24px}
  #workflow .workflow-phone-device{width:min(260px,100%,max(210px,calc(48.913svh - 72px)))}
}

/* 03 设计方法：结构、内容与响应式均限定在当前案例的 #system。 */
#system .approach-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px;margin-top:72px}
#system .approach-copy article{min-width:0}
#system .approach-copy h3{font-size:23px;line-height:1.4;font-weight:650}
#system .approach-copy p{margin-top:14px;color:var(--body);font-size:16px;line-height:1.78;overflow-wrap:anywhere}
#system .approach-principles{margin-top:56px;padding:28px 30px;background:var(--surface);border:1px solid var(--line);border-radius:4px}
#system .approach-eyebrow{color:var(--muted);font:14px/1.5 "JetBrains Mono",monospace;letter-spacing:.05em}
#system .approach-tags{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;padding:0;list-style:none}
#system .approach-tags li{width:max-content;max-width:100%;padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--body);font:14px/1.4 "JetBrains Mono",monospace;white-space:normal}
#system .approach-rules-label{margin-top:38px}
#system .approach-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;align-items:stretch}
#system .approach-rule{min-width:0;padding:28px 26px;background:var(--surface);border:1px solid var(--line);border-radius:4px}
#system .approach-rule h3{font-size:20px;line-height:1.45;font-weight:650}
#system .approach-rule p{margin-top:14px;color:var(--body);font-size:16px;line-height:1.78;overflow-wrap:anywhere}
#system .approach-media-frame{width:100%;margin-top:38px;padding:8px;border:1px solid var(--line);border-radius:4px;background:repeating-linear-gradient(135deg,var(--hatch-a),var(--hatch-a) 11px,var(--hatch-b) 11px,var(--hatch-b) 22px)}
#system .approach-media-image{display:block;width:100%;height:auto;aspect-ratio:2/1}
@media(max-width:599px){
  #system .approach-copy{grid-template-columns:minmax(0,1fr);gap:30px}
  #system .approach-principles{padding:26px 22px}
  #system .approach-rules{grid-template-columns:minmax(0,1fr)}
  #system .approach-rule{padding:26px 22px}
}

/* 当前案例首屏及问题定义说明文字统一为 19px。 */
.hero-lead{font-size:19px}

/* 05 · 三件没做好的事：与参考站 Prompt 框使用相同的视觉数值。 */
#reflection .reflection-regrets-list{display:block;margin-top:32px}
#reflection .reflection-regret+.reflection-regret{margin-top:26px}
#reflection .reflection-regret-frame{overflow:hidden;padding:0;border:1px solid oklch(.9 .005 264);border-radius:4px;background:transparent}
#reflection p.reflection-regret-label{margin:0;padding:12px 20px;border-bottom:1px solid oklch(.9 .005 264);background:oklch(.975 .003 264);color:oklch(.58 .012 264);font:400 12px/1.4 "JetBrains Mono","SF Mono",ui-monospace,"PingFang SC",monospace;letter-spacing:.05em}
#reflection .reflection-regret-divider{display:none}
#reflection .reflection-regret-content{margin:0;padding:20px 22px;background:oklch(1 0 0)}
#reflection .reflection-regret-content p{margin:0;color:oklch(.46 .012 264);font-size:13px;line-height:1.75}
#reflection .reflection-regret-content .reflection-regret-emphasis{margin-top:16px;color:oklch(.3 .012 264);font-weight:650}

/* 06 · 600 页之后：纯文字的迭代复盘，不引入额外卡片容器。 */
#iteration .iteration-intro{display:grid;gap:18px;margin-top:40px}
#iteration .iteration-intro p{color:var(--body);font-size:16px;line-height:1.78}
#iteration .iteration-intro .iteration-opening{color:var(--blue);font-weight:650}
#iteration .iteration-directions{margin-top:80px}
#iteration .iteration-directions-label{color:var(--muted);font:13px/1.4 "JetBrains Mono",monospace;letter-spacing:.05em}
#iteration .iteration-directions-list{padding:0;margin:20px 0 0;list-style:none;border-top:.5px solid var(--line)}
#iteration .iteration-direction{padding:30px 0;border-bottom:.5px solid var(--line)}
#iteration .iteration-direction-head{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0}
#iteration .iteration-direction h3{min-width:0;color:var(--ink);font-size:16px;font-weight:700;line-height:1.5}
#iteration .iteration-direction-tag{flex:0 0 auto;margin:0;color:var(--blue);font:13px/1.4 "JetBrains Mono",monospace;letter-spacing:.05em;white-space:nowrap}
#iteration .iteration-direction>p:last-child{margin-top:16px;color:var(--body);font-size:16px;line-height:1.78}
#iteration .iteration-closer{margin:56px 0 0;padding:6px 0 6px 24px;border-left:2px solid var(--blue);color:var(--body)}
#iteration .iteration-closer strong{display:block;color:var(--blue);font-size:18px;font-weight:650;line-height:1.5}
#iteration .iteration-closer p{margin-top:12px;font-size:16px;line-height:1.78}
#iteration + .next-case{border-top:0}
#iteration + .case01-multiscreen-collage{margin-top:144px}
.case01-multiscreen-collage{padding:8px;border:1px solid var(--line);border-radius:4px;background:repeating-linear-gradient(135deg,var(--hatch-a),var(--hatch-a) 14px,var(--hatch-b) 14px,var(--hatch-b) 28px)}
.case01-multiscreen-collage img{display:block;width:100%;height:auto}

/* 三亚首屏标签：参考案例 CASE 行的浅色 badge。 */
#caseTag{padding:6px 12px;border:1px solid oklch(.86 .006 264);border-radius:3px;background:var(--surface-2);color:var(--body);font:11px/1.4 "JetBrains Mono","SF Mono",ui-monospace,monospace;letter-spacing:.1em}
[data-theme=dark] #caseTag{border-color:oklch(.37 .012 264);background:var(--surface-2);color:var(--body)}

/* 仅三亚案例：沿用参考站子页面的 Next Case 卡片。 */
.next-case--sanya{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-top:144px;padding:32px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);overflow:hidden;transition:border-color .3s ease,transform .35s var(--ease),box-shadow .35s var(--ease),background-color .35s ease}
.next-case--sanya .next-case-kicker{grid-column:1;color:var(--muted);font:11px/1.4 "JetBrains Mono","SF Mono",ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase}
.next-case--sanya strong{grid-column:1;margin-top:14px;font-size:24px;line-height:1.35;letter-spacing:-.015em;white-space:nowrap}
.next-case--sanya b{grid-column:2;grid-row:2;align-self:center;color:var(--ink);font-size:30px;font-weight:400;line-height:1;transition:transform .25s var(--ease)}
@media(hover:hover) and (pointer:fine){.next-case--sanya:hover{border-color:var(--muted);transform:translateY(-4px);box-shadow:0 14px 34px -20px oklch(.3 .03 264/.35)}.next-case--sanya:hover b{transform:translateX(8px)}}
@media(max-width:760px){.next-case--sanya{margin-top:96px;padding:28px 24px}.next-case--sanya strong{font-size:20px;white-space:normal}.next-case--sanya b{font-size:28px}}

/* 参考站顶部导航：仅统一右侧链接与主题切换控件。 */
@media(min-width:761px){
  .case-nav{gap:clamp(4px,1.6vw,10px)}
  .case-nav>a,.case-nav .nav-trigger{position:relative;display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:4px;color:var(--body);font-size:14px;font-weight:400;line-height:1.4;transition:color .2s ease,background-color .2s ease}
  .case-nav>a:active,.case-nav .nav-trigger:active{color:var(--ink);background:color-mix(in oklch,var(--ink) 9%,transparent)}
  .case-nav .nav-trigger span{display:grid;place-items:center;width:11px;height:11px;color:var(--muted);font-size:0;transition:transform .2s var(--ease)}
  .case-nav .nav-trigger span::before{width:5px;height:5px;border:solid currentColor;border-width:0 1.25px 1.25px 0;content:'';transform:translateY(-1px) rotate(45deg)}
  .case-nav>a:last-child span{color:var(--muted);font-size:12px;line-height:1;transition:transform .25s var(--ease),color .2s ease}
  .theme-toggle{flex:0 0 34px;width:34px;height:34px;border-color:color-mix(in oklch,var(--ink) 14%,transparent);color:var(--body);transition:border-color .2s ease,color .2s ease,transform .3s var(--ease)}
  @media(hover:hover) and (pointer:fine){.case-nav a:hover{color:var(--ink);background:color-mix(in oklch,var(--ink) 6%,transparent)}.case-nav>a:last-child:hover span{color:var(--blue);transform:translateY(2px)}.theme-toggle:hover{color:var(--ink);border-color:var(--muted);transform:none}}
  .theme-toggle:active{transform:scale(.92)}
}

/* Case 02 · Chongqing */
.case02 .kicker{flex-wrap:wrap;gap:10px}
.case02 .hero-media{height:auto;padding:8px;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.case02 .meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
.case02 .hero-media img,.case02 .case02-media img{height:auto;cursor:zoom-in}
.case02 .foundation-media-stage{margin-top:18px}.case02 .foundation-terminal{padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:4px}.case02 .foundation-terminal img{height:auto;cursor:zoom-in}
.case02 .workflow-screens{display:grid;gap:72px;margin-top:56px}.case02 .workflow-screen{display:grid;grid-template-columns:minmax(210px,.42fr) minmax(0,1fr);gap:40px;align-items:start}.case02 .workflow-screen-copy{padding-top:10px}.case02 .workflow-screen-copy h3{font-size:25px;line-height:1.35}.case02 .workflow-screen-copy p{margin-top:16px;color:var(--body);font-size:15px;line-height:1.82}.case02 .workflow-screen.is-highlighted .workflow-screen-copy h3{color:var(--blue)}.case02 .workflow-screen-media{min-width:0}.case02 .workflow-visual{padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.case02 .workflow-visual img{height:auto;cursor:zoom-in}.case02 .workflow-caption,.case02 .case02-caption{display:grid;gap:5px;margin-top:12px;color:var(--body);font-size:14px;line-height:1.65}.case02 .workflow-caption b,.case02 .case02-caption b{color:var(--blue);font:11px/1.4 "JetBrains Mono",monospace;letter-spacing:.1em}
.case02 .case02-stack{display:grid;gap:38px;margin-top:52px}.case02 .case02-media{margin:0;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.case02 .case02-plan-grid,.case02 .case02-monitor-grid{display:grid;gap:18px;margin-top:52px;align-items:start}.case02 .case02-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case02 .case02-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case02 .case02-plan-grid figure,.case02 .case02-monitor-grid figure{min-width:0;margin:0;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.case02 .case02-plan-grid figure img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:2px;display:block}
.case02 .case02-alert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:52px}.case02 .case02-alert-grid figure:first-child{grid-column:1/-1}.case02 .case02-alert-grid figure{margin:0;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.case02 .case02-monitor-grid h3{margin:16px 8px 4px;font-size:18px;line-height:1.45}.case02 .case02-monitor-grid figcaption,.case02 .case02-plan-grid figcaption,.case02 .case02-alert-grid figcaption{margin:6px 8px 8px;color:var(--body);font-size:13px;line-height:1.65}.case02 .case02-plan-grid figcaption b{display:block;margin-bottom:4px;color:var(--blue);font:11px/1.4 "JetBrains Mono",monospace;letter-spacing:.1em}
.case02 .iteration-intro{max-width:820px;margin-top:40px;color:var(--body);font-size:16px;line-height:1.8}.case02 .iteration-directions{margin-top:48px}.case02 .iteration-directions-label{color:var(--muted);font:11px/1.4 "JetBrains Mono",monospace;letter-spacing:.14em}.case02 .iteration-directions-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;margin:20px 0 0;list-style:none}.case02 .iteration-direction{padding:22px;border-top:1px solid var(--line)}.case02 .iteration-direction h3{font-size:16px}.case02 .iteration-direction p{margin-top:12px;color:var(--body);font-size:13px;line-height:1.75}.case02 .iteration-closer{margin:64px 0 0;padding:28px;border-left:2px solid var(--blue);background:var(--surface);font-size:16px;line-height:1.78}.case02 .next-case{margin-top:144px}
@media(max-width:760px){.case02 .meta{grid-template-columns:1fr}.case02 .workflow-screen{grid-template-columns:1fr;gap:20px}.case02 .workflow-screens{gap:52px}.case02 .case02-plan-grid,.case02 .case02-monitor-grid,.case02 .case02-alert-grid,.case02 .iteration-directions-list{grid-template-columns:1fr}.case02 .case02-alert-grid figure:first-child{grid-column:auto}.case02 .next-case{margin-top:96px}}
.case02 .theme-sun{display:inline-flex}.case02 .theme-moon{display:none}[data-theme=dark] .case02 .theme-sun{display:none}[data-theme=dark] .case02 .theme-moon{display:inline-flex}

/* Case 02 · 弹窗图保持聚焦，但宽屏表格型弹窗保留更从容的边距。 */
.case02 .case02-monitor-grid{align-items:stretch}
.case02 .case02-monitor-grid figure{display:flex;flex-direction:column;height:100%}
.case02 .case02-monitor-grid figcaption{margin-bottom:8px}

/* Case 02 · 复盘与后续迭代的阅读层级。 */
#reflection .reflection-intro{max-width:1000px}
#reflection .reflection-intro p{font-size:23px;line-height:1.55}
#reflection .reflection-regrets h3{font-size:16px;line-height:1.5}
#reflection .reflection-regret-content p{font-size:16px;line-height:1.78}
.case02 .iteration-intro{font-size:23px;font-weight:600;line-height:1.55}

@media(max-width:760px){
  #reflection .reflection-intro p,.case02 .iteration-intro{font-size:20px;line-height:1.6}
}

/* Case 02 · 关键信息与对象名称使用站点主题色，正文保持中性色。 */
#reflection .reflection-intro .reflection-opening,.case02 .iteration-intro{color:var(--blue)}
.case02 .case02-monitor-grid h3{color:var(--blue)}
.case02 .iteration-closer{font-weight:650}

/* Case 01 · 交付规模与 AI 方向的阅读层级。 */
#iteration .iteration-intro .iteration-opening{font-size:23px;line-height:1.55}
#iteration .iteration-intro .metric{color:var(--blue);font-weight:700}
@media(max-width:760px){#iteration .iteration-intro .iteration-opening{font-size:20px;line-height:1.6}}

/* Case 03 · 水利专业模型平台：仅补充该案例的布局、比例和媒体外框。 */
.case03 .kicker{gap:10px}
.case03 .meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
.case03 .hero-media{height:auto;padding:clamp(10px,1.5vw,18px);overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--surface);box-shadow:0 22px 46px -28px oklch(.28 .03 264/.42)}
.case03 .hero-media img{display:block;width:100%;height:auto;cursor:zoom-in}
.case03 .section-lead{max-width:1100px;font-size:clamp(18px,1.33vw,19px)}
.case03 .scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:56px}
.case03-strategies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:56px;counter-reset:case03-strategy}
.case03-strategies article{display:flex;flex-direction:column;min-width:0;min-height:218px;padding:30px;border:1px solid #9bbdfb;border-radius:6px;background:#f4f8ff;counter-increment:case03-strategy}
.case03-strategies article::before{content:"STRATEGY 0" counter(case03-strategy);color:var(--blue);font:13px/1.4 "JetBrains Mono",monospace;letter-spacing:.08em}
.case03-strategies b{display:block;margin-top:30px;color:var(--ink);font-size:20px;line-height:1.45}
.case03-strategies p{margin:14px 0 0;color:var(--body);font-size:16px;line-height:1.75}
[data-theme=dark] .case03-strategies article{background:#17233a;border-color:#477bd3}
.case03-mood-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:56px}
.case03-mood-card{min-width:0;aspect-ratio:1/1;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.case03-mood-card img{display:block;width:100%;height:100%;object-fit:cover}
.case03-placeholder{display:grid;place-content:center;gap:8px;min-width:0;padding:20px;text-align:center;color:var(--muted);background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 14px,var(--surface-2) 14px,var(--surface-2) 28px);border:1px solid var(--line)}
.case03-placeholder b{color:var(--body)}
.case03-figure{margin:56px 0 0;padding:clamp(10px,1.5vw,18px);border:1px solid var(--line);border-radius:4px;background:var(--surface);box-shadow:0 22px 46px -28px oklch(.28 .03 264/.42)}
.case03-figure figcaption,.case03-caption{display:grid;gap:5px;margin:12px 0 0;color:var(--body);line-height:1.65}
.case03-figure figcaption b{color:var(--blue);font:11px/1.4 "JetBrains Mono",monospace;letter-spacing:.1em}
.case03-modules{display:grid;gap:72px;margin-top:56px}
.case03-module{min-width:0}
.case03-module h3{margin:0}
.case03-brief{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.case03-brief p{min-width:0;margin:0;padding:20px 0;border-top:1px solid var(--line);color:var(--body)}
.case03-brief b{display:block;margin-bottom:12px;color:var(--blue);font:11px/1.4 "JetBrains Mono",monospace;letter-spacing:.1em}
.case03-product-placeholder{min-height:240px;margin-top:24px}
.case03-product-media{margin-top:24px;padding:clamp(10px,1.5vw,18px);border:1px solid var(--line);border-radius:4px;background:var(--surface);box-shadow:0 22px 46px -28px oklch(.28 .03 264/.42)}
.case03-product-media img{display:block;width:100%;height:auto;cursor:zoom-in}
.case03-image-grid{display:grid;gap:18px;margin-top:24px;align-items:start}
.case03-image-grid .case03-product-media{margin-top:0}
.case03-image-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.case03-image-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}
.case03-image-grid .case03-product-placeholder{min-height:180px;margin-top:0}
.case03 .reflection-intro{max-width:900px}
.case03 #reflection .reflection-intro p{font-size:clamp(18px,1.33vw,19px);line-height:1.75}
.case03 .reflection-regrets-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.case03 .iteration-directions-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.case03 .iteration-direction{padding:22px;border-top:1px solid var(--line)}
.case03 #iteration .iteration-direction h3{color:var(--blue)!important}
.case03 .iteration-closer{background:transparent}
@media(max-width:980px){.case03-strategies{grid-template-columns:repeat(2,minmax(0,1fr))}.case03-strategies article:last-child{grid-column:1/-1}}
@media(max-width:760px){.case03 .meta,.case03 .scope-grid,.case03-mood-grid,.case03-brief,.case03-image-grid--two,.case03-image-grid--four,.case03 .reflection-regrets-list,.case03 .iteration-directions-list,.case03-strategies{grid-template-columns:1fr}.case03 .scope-card{min-height:0}.case03-strategies article:last-child{grid-column:auto}.case03-mood-grid{gap:14px}.case03-mood-grid .case03-placeholder{max-width:none}.case03 .next-case{margin-top:96px}}
