/* Desktop feedback: persistent mode colors, readable type, pre-rendered objects. */
.cv08 .view-switch .view-toggle,.cv08 .view-switch .view-toggle[aria-checked=true],.cv08 .view-switch .view-toggle[aria-checked=true]:hover,.cv08 .view-switch .view-toggle[aria-checked=true]:focus-visible{background:linear-gradient(#444647,#303233);border-color:#696c6d;color:#c9ccca;filter:none}
.cv08 .view-switch .view-toggle[aria-checked=false],.cv08 .view-switch .view-toggle[aria-checked=false]:hover,.cv08 .view-switch .view-toggle[aria-checked=false]:focus-visible{background:linear-gradient(#e0fa83,#c4e356);border-color:#e2f6a0;color:#28311d}
.cv08 .view-switch .view-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px #161a18,0 0 0 4px #b8c4ab}
.cv08 .view-switch .toggle-label{font-size:21px;font-weight:850}
body.cv08 #personal-projects.gallery{grid-template-columns:minmax(260px,.86fr) minmax(0,1.14fr);gap:26px}
.cartridge-summary{min-height:0;margin-bottom:24px}
.cartridge-summary h3{font-size:clamp(32px,2.65vw,50px);margin:8px 0 14px;line-height:1.2}
.cartridge-category{font-size:17px;color:#b0b5ae;margin:0;letter-spacing:.1em}
.cartridge-description{font-size:18px;line-height:1.75;max-width:425px;min-height:3.5em;color:#a5aaa4;margin:0}
.cartridge-index{max-width:425px;border:0;gap:5px;padding:0 0 0 60px}
.cartridge-index button{position:relative;border:0;padding:9px 0;height:47px;display:block;font-size:clamp(18px,1.3vw,25px);font-weight:700;color:color-mix(in srgb,#d6f75c calc(var(--effect,0)*100%),#a9ada7);scale:1}
.cartridge-index button:hover{color:color-mix(in srgb,#d6f75c calc(var(--effect,0)*100%),#a9ada7)}
.cartridge-index button .line-label{display:block;transform:translateX(calc(var(--effect,0)*17px));white-space:nowrap}
.line-label small{font:500 .61em ui-monospace,monospace;opacity:.57;margin-right:16px;vertical-align:middle}
.cartridge-index button i.line-marker{position:absolute;left:-60px;top:50%;width:42px;height:2px;border-radius:0;transform-origin:left;transform:scaleX(calc(.6 + var(--effect,0)*.65));background:currentColor;box-shadow:none}
.cartridge-index button:not(:last-child):after{content:'';position:absolute;left:-60px;top:calc(100% + 2px);height:1px;width:19px;background:#71776c;opacity:.4;transform-origin:left;transform:scaleX(calc(.7 + var(--effect,0)*.5))}
.cartridge-index button[aria-pressed=true]{color:#d6f75c}
.cartridge-index button:focus-visible{outline:1px solid #b6ce75;outline-offset:3px}
.cartridge-footnote{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:18px;font-size:16px;color:#adb2a7}
.cartridge-footnote .cartridge-pause{display:flex;align-items:center;gap:8px;font:600 13px MiSans,sans-serif;color:#8f9589;padding:5px 0}
.cartridge-pause i{width:7px;height:7px;border-radius:50%;background:#5e655b}
.cartridge-pause[aria-pressed=true] i{background:#d6f75c;box-shadow:0 0 7px #d6f75c50}
.cartridge-stage{height:650px;overflow:hidden}
body.cv08 #personal-projects.gallery .project-track{perspective:none;isolation:isolate}
body.cv08 #personal-projects.gallery .project{top:56%;left:39%;width:clamp(300px,23vw,410px);transform-style:flat;filter:drop-shadow(5px 10px 7px #0008);transition:none;backface-visibility:visible}
.cartridge-baked{display:block;width:100%!important;height:auto!important;max-width:none;pointer-events:none}
body.cv08 #personal-projects.list .case-space{width:84px;transform:none}
.cv-tape-field{gap:168px}
.cv-tape{position:relative;background:#8fa4ff1c;opacity:.7}
.cv-tape:before{content:'';position:absolute;inset:0;background:#91a7ff;mask:url('assets/cv08/source-tape.png') 0 0/960px 72px repeat-x;opacity:.36}
.cv-motif-field{background-image:url('assets/cv08/motifs-large.svg');background-size:1080px 240px;opacity:.65;animation-name:cv-motif-large-flow}
@keyframes cv-motif-large-flow{from{transform:translate3d(-1080px,0,0)}to{transform:translate3d(0,0,0)}}
.hero-screen-glow{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:0;transition:opacity 240ms ease}
.hero.screen-hover .hero-screen-glow{opacity:1}
.portrait-reaction{position:absolute;z-index:10;right:12%;top:16%;font:900 clamp(22px,3vw,55px)/1 MiSans,sans-serif;color:#d6f75c;opacity:0;pointer-events:none;text-shadow:3px 3px #111,-2px -2px #111}
.portrait-reaction.show{animation:reaction-pop 1300ms cubic-bezier(.2,.75,.3,1) both}
@keyframes reaction-pop{0%{opacity:0;transform:translateY(15px) rotate(-8deg) scale(.7)}15%,70%{opacity:1;transform:translateY(0) rotate(5deg) scale(1)}100%{opacity:0;transform:translateY(-22px) rotate(8deg) scale(.9)}}
.cv-career-card[role=button]:focus-visible{outline:2px solid #c6db89;outline-offset:5px}
.ag-media img{object-position:50% 43%;filter:grayscale(.6) brightness(.72)}
#work-projects [data-project="manager"] .ag-media img{object-position:50% 50%}
#work-projects [data-project="manager"] .cover img{object-position:50% 50%}
.ag-media::after{background:linear-gradient(180deg,#080b1200 52%,#080b12eb 100%)}
body.cv08 #work-projects.gallery .project.is-active{flex-grow:3.2}
body.cv08 #work-projects.gallery .ag-caption{left:30px;right:24px;bottom:30px}
.ag-caption strong{font-size:clamp(30px,2.8vw,58px);font-weight:900;letter-spacing:-.055em;white-space:normal;line-height:1.1;max-width:100%}
.ag-caption small{font-size:16px;letter-spacing:.02em;color:#dae0df;white-space:normal}
.ag-caption::before{width:46px;height:4px;background:var(--work-accent)}
.ag-kicker{position:absolute;left:28px;top:26px;font:650 11px/1.2 MiSans,sans-serif;letter-spacing:.16em;color:var(--work-accent);opacity:0;transition:opacity 180ms;white-space:nowrap;pointer-events:none}
.project.is-active .ag-kicker{opacity:1}
.ag-caption .work-wordmark{width:clamp(210px,17vw,335px);height:auto;max-width:100%}
#work-projects.list .ag-kicker{display:none}
@media(prefers-reduced-motion:reduce){.hero-screen-glow{transition:none}.portrait-reaction.show{animation:none;opacity:1}.line-label{transform:none!important}}

.portrait-viewport{z-index:2}
@media(max-width:1450px){.ag-kicker{display:none}}

/* Second desktop pass: centered headings, wider card reveal, compact spacing. */
@media(min-width:761px){
 .cv08 .collection-heading{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;margin-bottom:18px}
 .cv08 .collection-heading:after{grid-column:3;margin-right:134px}
 .cv08 .collection-heading .view-switch{position:absolute;right:0;top:50%;transform:translateY(-50%)}
 .cv08 .view-switch .view-toggle{border-width:4px;border-color:#424242!important;height:54px;width:120px;box-shadow:inset 0 1px 3px #0008}
 .cv08 .toggle-knob{top:3px;left:3px;width:40px;height:40px}
 .cv08 .view-toggle[aria-checked=true] .toggle-knob{transform:translateX(66px)}
 body.cv08 #personal-projects.gallery{grid-template-columns:minmax(285px,.72fr) minmax(0,1.28fr);gap:18px;min-height:610px}
 body.cv08 #personal-projects.gallery .project{left:0;top:59%;width:clamp(275px,20vw,390px)}
 .cartridge-stage{height:610px}
 .cartridge-summary{margin-bottom:18px}
 .cartridge-summary h3{font-size:clamp(38px,3.2vw,62px);margin-top:0}
 .cartridge-category{display:none}
 .cartridge-description{font-size:19px;line-height:1.65;min-height:3.3em}
 .cartridge-index button{font-size:clamp(21px,1.6vw,31px);height:49px}
 .line-label small{font-family:MiSans,sans-serif;font-weight:650;font-size:.6em;font-variant-numeric:tabular-nums}
 .cartridge-footnote{margin-top:18px}
 .cv08 .cv-body-panel .collection{padding-top:28px;padding-bottom:26px}
 .cv08 .cv-body-panel .personal{padding-bottom:8px}
 .cv08 .cv-body-panel .ending{padding-top:22px;padding-bottom:30px}
}
.cv-motif-field{opacity:.9;filter:brightness(1.1)}
.hero.screen-hover .hero-screen-glow{opacity:.3}
body.cv08 #work-projects.gallery{padding-bottom:64px}
body.cv08 #work-projects.gallery:before{content:'请点击感兴趣的作品查看吧';display:block;position:absolute;top:auto;bottom:27px;left:0;right:0;height:auto;width:auto;z-index:1;background:none;border:0;border-radius:0;box-shadow:none;transform:none;text-align:center;font:600 clamp(14px,1.05vw,20px)/1.4 MiSans,sans-serif;color:#bfc5c1;pointer-events:none}
body.cv08 #work-projects.gallery:after{bottom:12px;width:44px;left:calc(50% - 22px);height:4px}
