/* 案例与实践的统一阅读界面，使用 site.css 的深浅色令牌。 */
.page-case .hero-media.case-process-art{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface-raised);position:relative;padding:35px}.case-inputs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.case-inputs span,.case-output{background:var(--surface-overlay);border:1px solid var(--border-strong);border-radius:6px;padding:9px 14px;font-size:12px}.case-core{border:1px solid var(--accent);border-radius:10px;padding:20px 25px;display:flex;align-items:center;gap:17px;background:var(--surface-overlay)}.case-core>b{font-family:"Bricolage",var(--font-body);width:45px;height:45px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:8px;font-size:23px}.case-core>span{font-size:17px}.case-core small{display:block;font-size:10px;color:var(--text-muted);margin-top:5px}.case-signal{width:1px;height:40px;background:var(--border-strong);position:relative}.case-signal::after{content:"";position:absolute;left:-1px;top:0;width:3px;height:10px;background:var(--accent);animation:case-data-signal 2.6s cubic-bezier(.45,0,.55,1) infinite}.case-art-caption{position:absolute;bottom:15px;left:25px;color:var(--text-muted);font-size:10px}.page-case .hero-media.case-geo-art{display:grid;place-items:center;background:var(--surface-raised);position:relative}.case-geo-art>b{font-size:22px;font-weight:500;border:1px solid var(--accent);border-radius:50%;padding:35px 23px;background:var(--surface);color:var(--accent)}.case-geo-ring{position:absolute;width:280px;height:240px;border:1px solid var(--border-strong);border-radius:50%;animation:case-ring 22s cubic-bezier(.5,0,.5,1) infinite}.case-geo-ring.second{rotate:60deg;width:250px;height:280px;animation-direction:reverse}.case-geo-art>span{position:absolute;padding:9px 15px;font-size:12px;border:1px solid var(--border-strong);background:var(--surface-overlay);border-radius:6px;animation:article-drift 6s cubic-bezier(.45,0,.55,1) infinite}.geo-source{top:18%;left:12%}.geo-content{top:35%;right:6%;animation-delay:-2s!important}.geo-check{bottom:15%;left:22%;animation-delay:-4s!important}@keyframes case-data-signal{from{transform:translateY(0);opacity:0}30%{opacity:1}to{transform:translateY(30px);opacity:0}}@keyframes case-ring{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.page-case main,.page-practice main{position:relative;z-index:1}.page-case{background:var(--surface)}.page-case .stars{display:none}.page-case .container{width:min(1120px,calc(100% - 64px))}.page-case .hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;width:min(1120px,calc(100% - 64px));margin:auto;padding:145px 0 60px;min-height:540px}.page-case .hero-media{grid-column:2;grid-row:1;height:380px;overflow:hidden;border-radius:12px;transform:perspective(1000px) rotateY(-3deg);animation:article-drift 8s ease-in-out infinite}.page-case .hero-media img{width:100%;height:100%;object-fit:cover}.page-case .hero-body{grid-column:1;grid-row:1;width:100%;margin:0}.page-case .hero--text{display:block;min-height:445px}.page-case .hero--text .hero-body{max-width:950px}.page-case h1{font-size:clamp(38px,4.4vw,62px);line-height:1.23;letter-spacing:-.045em;font-weight:500;margin:20px 0}.page-case .hero h1 br{display:block}.page-case .tag{font-size:12px;color:var(--accent);letter-spacing:.07em}.page-case .hero p{color:var(--text-secondary);font-size:17px;line-height:1.8;max-width:750px;margin:0}.page-case .hero-scroll{display:none}.page-case .results{padding-top:40px;padding-bottom:35px;background:var(--surface-raised);margin-top:35px}.page-case .kicker{font-size:12px;color:var(--text-muted)}.page-case .results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.page-case .result-cell{min-width:0;padding-right:20px}.page-case .result-cell+.result-cell{border-left:1px solid var(--border);padding-left:30px}.page-case .result-cell .big{font-size:46px;font-weight:500;line-height:1.2;color:var(--text-primary);font-variant-numeric:tabular-nums}.page-case .unit{font-size:18px;margin-left:7px;color:var(--accent)}.page-case .label{color:var(--text-secondary);font-size:13px;line-height:1.7;margin-top:12px}.page-case .note-mark{font-size:20px;color:var(--text-muted);margin-top:12px}.page-case .result-note{font-size:12px;color:var(--text-muted);margin-top:23px}.page-case .overview{padding-top:38px;padding-bottom:25px}.page-case .overview-row{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:35px;border-bottom:1px solid var(--border);padding-bottom:38px}.page-case .ov-item .k{display:block;font-size:11px;color:var(--text-muted);margin-bottom:12px}.page-case .ov-item .v{font-size:15px;line-height:1.8}.badges,.items,.chip-cloud{display:flex;gap:8px;flex-wrap:wrap}.badge,.chip{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid var(--border-strong);border-radius:6px;font-size:12px;line-height:1.4;color:var(--text-secondary);background:var(--surface-overlay)}.chip b{font-weight:500}.page-case .challenge{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-top:65px;padding-bottom:65px}.page-case .section-title{font-size:clamp(28px,3vw,38px);font-weight:500;line-height:1.4;letter-spacing:-.035em;margin:0 0 22px}.page-case .no{display:none}.page-case .txt p,.page-case .body p,.page-case .body li,.page-case .outcome li{color:var(--text-secondary);font-size:16px;line-height:1.95}.page-case .body ul,.page-case .outcome ul{padding-left:20px}.page-case .hl,.page-case em{color:var(--accent);font-style:normal}.page-case .role{padding-block:5px 40px}.role-card{padding:26px 32px;background:var(--surface-raised);border-left:2px solid var(--accent);border-radius:0 8px 8px 0}.role-card .who{font-size:10px;letter-spacing:.1em;color:var(--text-muted)}.role-card p{font-size:16px;line-height:1.8;margin:14px 0 0}.page-case .action{padding-top:35px;padding-bottom:50px}.page-case .intro{color:var(--text-secondary);font-size:16px;margin-bottom:38px}.page-case .step{padding:36px 0;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:20px 55px;align-items:start}.step-head{grid-column:1;grid-row:1}.step-no{font-size:10px;letter-spacing:.12em;color:var(--accent)}.step-head h3{font-size:25px;font-weight:500;line-height:1.5;margin:12px 0}.step>.body{grid-column:1;grid-row:2}.step>.body p{margin-top:0}.step>.media{grid-column:2;grid-row:1/span 2;align-self:center;min-width:0}.fig{margin:0;min-width:0}.fig img,.media>img{width:100%;max-height:480px;object-fit:contain;border-radius:10px;background:var(--surface-raised)}.figcap{font-size:11px;color:var(--text-muted);line-height:1.7;margin:12px 0 0}.duo,.frames{display:grid;grid-template-columns:1fr 1fr;gap:12px}.duo img,.frames img{width:100%;height:auto;border-radius:8px;object-fit:contain}.tall img{height:450px;width:100%;object-fit:contain;border-radius:10px}.video-wrap{position:relative;overflow:hidden;border-radius:10px;background:var(--surface-raised)}.video-wrap video{display:block;width:100%;max-height:470px}.video-play{position:absolute;left:50%;top:50%;translate:-50% -50%;width:58px;height:58px;border-radius:50%;background:var(--accent);color:var(--accent-ink);animation:article-play 3s ease-in-out infinite}.video-play::after{content:"▶";font-size:16px}.video-wrap.playing .video-play{display:none}.video-label{font-size:12px;line-height:1.7;color:var(--text-secondary);margin:12px 0 20px}.frames{margin-top:15px}.flow{background:var(--surface-raised);padding:25px;border-radius:10px}.flow-row{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:15px}.node{background:var(--surface-overlay);border:1px solid var(--border-strong);padding:9px 13px;border-radius:6px;font-size:12px;animation:article-node 5s ease-in-out infinite}.node:nth-of-type(2){animation-delay:-1.5s}.node:nth-of-type(3){animation-delay:-3s}.node.key{color:var(--accent);border-color:var(--accent)}.node.ghost{color:var(--text-secondary)}.flow-arrow{font-size:13px;color:var(--accent);animation:article-play 2s ease-in-out infinite}.flow-stack{padding:20px;background:var(--surface-overlay);border:1px solid var(--border);border-radius:8px;margin-top:12px}.flow-stack .t{font-size:13px;color:var(--text-primary);margin-bottom:15px}.flow-stack .chip-cloud{justify-content:center}.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.col{padding:15px;background:var(--surface-overlay);border-radius:8px;min-width:0}.col .t{font-size:13px;color:var(--accent)}.col p{font-size:12px;line-height:1.8;color:var(--text-secondary);word-break:break-word}.col .ar{color:var(--accent)}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;padding:0;margin:0}.checklist li{font-size:12px;padding:12px;background:var(--surface-raised);border-radius:6px}.checklist li::before{content:"✓ ";color:var(--accent)}.page-case .outcome{padding-top:65px;padding-bottom:65px;background:var(--surface-raised)}.outcome-strip{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center}.big-line{font-size:25px;font-weight:400;line-height:1.7;margin-top:0}.big-line b{font-weight:500;color:var(--accent)}.tbd{padding:16px 18px;background:var(--surface);border-left:2px solid var(--border-strong);font-size:12px;color:var(--text-muted);line-height:1.8;margin-top:25px}.page-case .learnings{padding-top:65px;padding-bottom:65px}.learn{display:flex;gap:25px;padding:20px 0;border-bottom:1px solid var(--border);align-items:baseline}.learn .n{color:var(--accent);font-size:12px}.learn p{font-size:16px;line-height:1.9;color:var(--text-secondary);margin:0}.more-cases{padding-bottom:65px}.more-cases a{min-height:48px;display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid var(--border);color:var(--accent);font-size:16px}.page-case .site-footer{display:block;margin-top:0;border-top:1px solid var(--border);width:100%;padding:28px 0}.page-case .site-footer .container{display:block}.disclaim{font-size:12px;color:var(--text-secondary);line-height:1.8}.beian,.meta{font-size:11px;color:var(--text-muted)}
.page-practice main{width:min(1120px,calc(100% - 64px));margin:auto;padding-top:130px;padding-bottom:50px}.page-practice .breadcrumbs{font-size:11px;color:var(--text-muted);line-height:1.8}.breadcrumbs a{color:var(--accent);display:inline-block;min-height:44px}.page-practice .hero{display:grid;grid-template-columns:1.5fr .6fr;gap:70px;padding:35px 0 60px;align-items:center}.page-practice h1{font-size:clamp(36px,4.8vw,62px);line-height:1.23;letter-spacing:-.045em;font-weight:500;margin:15px 0 24px}.page-practice .kicker{font-size:11px;color:var(--accent);letter-spacing:.1em}.page-practice .lede{font-size:17px;color:var(--text-secondary);line-height:1.9;margin-bottom:0}.page-practice .facts{padding:28px;background:var(--surface-raised);border-left:2px solid var(--accent);border-radius:0 10px 10px 0;animation:article-drift 8s ease-in-out infinite}.facts>span{font-size:10px;letter-spacing:.1em;color:var(--text-muted)}.facts b{display:block;font-size:18px;font-weight:500;margin:15px 0}.facts p{font-size:13px;color:var(--text-secondary);line-height:1.8;margin:0}.page-practice .content{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:60px;align-items:start}.page-practice .article{padding:36px 0;border-top:1px solid var(--border)}.page-practice .section{padding:0 0 34px;margin-bottom:34px;border-bottom:1px solid var(--border)}.page-practice .section:last-child{border:0;margin:0;padding:0}.page-practice .section h2{font-size:28px;line-height:1.5;font-weight:500;letter-spacing:-.035em;margin:0 0 20px}.page-practice .section p,.page-practice .section li{font-size:16px;line-height:2;color:var(--text-secondary)}.page-practice .section strong{color:var(--text-primary);font-weight:500}.page-practice .section ul{padding-left:20px}.page-practice .note{font-size:14px;line-height:1.9;padding:20px 25px;background:var(--surface-raised);border-left:2px solid var(--accent);border-radius:0 8px 8px 0;color:var(--text-secondary)}.page-practice .side{position:sticky;top:112px;padding-top:36px}.side h2{font-size:14px;font-weight:500;color:var(--text-muted);margin:0 0 18px}.related{display:grid;gap:10px}.related a{font-size:13px;padding:16px 0;border-bottom:1px solid var(--border);transition:translate .25s ease}.related small{display:block;font-size:10px;color:var(--text-muted);margin-top:5px}.related a:hover{color:var(--accent);translate:4px 0}.page-practice .contact{margin-top:60px;padding:32px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--surface-raised);border-radius:10px}.contact h2{font-size:27px;font-weight:500;margin:0}.contact p{font-size:14px;color:var(--text-secondary);line-height:1.8}.contact a{font-size:14px;color:var(--accent);min-height:48px;display:flex;align-items:center;white-space:nowrap}.page-practice footer{padding:25px 32px;text-align:center;font-size:11px;line-height:1.9;color:var(--text-muted);border-top:1px solid var(--border)}
@keyframes article-drift{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes article-play{0%,100%{scale:1;opacity:1}50%{scale:1.08;opacity:.65}}@keyframes article-node{0%,100%{border-color:var(--border-strong)}50%{border-color:var(--accent)}}
@media(max-width:1000px){.page-case .hero{gap:32px}.page-case .hero-media{height:330px}.page-case .challenge,.page-case .step,.outcome-strip{gap:30px}.page-practice .hero{gap:35px}.page-practice .content{gap:35px;grid-template-columns:minmax(0,1fr) 220px}.page-case .overview-row{gap:20px}.page-case h1{font-size:43px}}
@media(max-width:760px){.page-case .container,.page-case .hero,.page-practice main{width:calc(100% - 40px)}.page-case .hero{grid-template-columns:1fr;gap:28px;padding:118px 0 35px;min-height:auto}.page-case .hero-body{grid-column:1;grid-row:1}.page-case .hero-media{grid-column:1;grid-row:2;height:260px;transform:none}.page-case .hero--text{padding-top:118px;padding-bottom:40px}.page-case h1,.page-practice h1{font-size:clamp(32px,8.5vw,46px)}.page-case .hero p,.page-practice .lede{font-size:15px}.page-case .results{margin-top:25px;padding-block:30px}.page-case .results-grid{gap:20px 15px;grid-template-columns:repeat(2,minmax(0,1fr))}.page-case .result-cell{padding-right:0}.page-case .result-cell+.result-cell{padding-left:15px}.page-case .result-cell:nth-child(3){padding-left:0;border:0;grid-column:1/-1}.page-case .result-cell .big{font-size:37px}.page-case .result-cell .label{font-size:12px}.page-case .overview-row{grid-template-columns:1fr;gap:22px}.page-case .overview-row .k{margin-bottom:7px}.page-case .challenge,.page-case .step,.outcome-strip{grid-template-columns:1fr;gap:24px}.page-case .challenge{padding-block:40px}.step-head,.step>.body,.step>.media{grid-column:1;grid-row:auto}.page-case .step{padding-top:30px}.step-head h3{font-size:22px;margin-bottom:0}.page-case .body p,.page-case .body li,.page-case .txt p,.page-case .outcome li,.learn p{font-size:15px}.role-card{padding:22px}.page-case .section-title{font-size:28px}.page-case .outcome,.page-case .learnings{padding-block:45px}.big-line{font-size:22px}.page-case .action{padding-bottom:25px}.page-practice main{padding-top:105px}.page-practice .hero{grid-template-columns:1fr;padding:25px 0 35px;gap:25px}.page-practice .facts{padding:23px}.page-practice .content{grid-template-columns:1fr;gap:25px}.page-practice .side{position:static;padding-top:0}.page-practice .section h2{font-size:25px}.page-practice .section p,.page-practice .section li{font-size:15px}.page-practice .contact{align-items:flex-start;flex-direction:column;padding:26px}.page-practice .contact h2{font-size:25px}.page-case .site-header .back-link,.page-practice .site-head .back-link{font-size:0;width:44px;min-width:44px;padding:0;justify-content:center}.page-case .site-header .back-link::before,.page-practice .site-head .back-link::before{content:"←";font-size:19px}.page-case .site-header .header-actions,.page-practice .site-head .head-actions{gap:3px}.page-case .site-header,.page-practice .site-head{gap:6px}.cols{gap:7px}.col{padding:11px}.node{padding:8px 10px}.flow{padding:20px}.checklist{gap:7px}.checklist li{padding:10px;font-size:11px}}
