/* 光影工坊：横幅插画、清晰层次与按需展开的参数。 */
.works-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--rule)}
.works-group-head h3{font:400 1.15rem/1.5 var(--font-head);letter-spacing:.15em;margin:0}
.works-group-head p{font-size:.74rem;line-height:1.8;color:var(--ink-3);margin:0}
.works-digital-head{margin-top:3.2rem;align-items:end;padding-bottom:1rem}
.works-digital-head h3{font-size:1.7rem;margin-top:.4rem}
.digital-kicker{display:block;margin:0;color:var(--ink-3);font-size:.68rem;letter-spacing:.1em;line-height:1.8}
.digital-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem}
.digital-home{min-width:0;--digital-accent:#405d50}
.digital-z-image{--digital-accent:#385b6b}
.digital-art-link{display:block;color:inherit;text-decoration:none;overflow:hidden}
.digital-artwork{margin:0;position:relative;background:#d7e0d7}
.digital-artwork img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .6s var(--ease)}
.digital-artwork figcaption{position:absolute;bottom:.75rem;right:.85rem;background:rgba(245,240,230,.93);color:#4b5249;font-size:.59rem;line-height:1.5;padding:.3rem .55rem;letter-spacing:.05em}
.digital-art-link:hover img{transform:scale(1.025)}
.digital-home-copy{padding:1.3rem 0 0}
.digital-home-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.digital-home-copy h4{font:400 1.65rem/1.5 var(--font-head);letter-spacing:.1em;margin:.3rem 0 0}
.digital-home-copy h4 a{color:var(--ink);text-decoration:none}
.digital-open{width:2.7rem;height:2.7rem;border:1px solid var(--rule);display:grid;place-items:center;text-decoration:none;color:var(--digital-accent);font-size:1.2rem;flex:none;transition:background .2s,color .2s}
.digital-open:hover{background:var(--digital-accent);color:var(--paper)}
.digital-home-description{font-size:.83rem;line-height:1.95;color:var(--ink-2);max-width:34rem;margin:.9rem 0 1.05rem}
.digital-home-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--rule);padding-top:.85rem}
.digital-home-footer>span{font-size:.65rem;line-height:1.8;color:var(--ink-3)}
.digital-home-footer a{font-size:.75rem;text-decoration:none;color:var(--digital-accent);min-height:2.1rem;display:flex;gap:1rem;align-items:center;white-space:nowrap}
.digital-home a:focus-visible,.digital-page a:focus-visible,.digital-page summary:focus-visible{outline:2px solid var(--zhu-deep);outline-offset:5px}
.digital-page{--digital-accent:#405d50}
.digital-page.digital-z-image{--digital-accent:#385b6b}
.digital-main{max-width:76rem;margin:auto;padding:0 clamp(1.4rem,4vw,3rem)}
.digital-hero{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(2.5rem,5vw,5rem);padding:3.5rem 0 3rem}
.digital-hero h1{font:400 clamp(2.8rem,4.5vw,4rem)/1.4 var(--font-head);letter-spacing:.15em;margin:.8rem 0 1rem}
.digital-subtitle{font-size:1.05rem;line-height:1.9;color:var(--digital-accent);margin:0 0 1.3rem}
.digital-intro{font-size:.85rem;line-height:2.05;color:var(--ink-2);max-width:27rem;margin:0 0 1.6rem}
.digital-entry{display:inline-flex;gap:2rem;align-items:center;min-height:2.8rem;padding:.4rem 0;border-bottom:1px solid var(--digital-accent);color:var(--digital-accent);font-size:.79rem;text-decoration:none}
.digital-hero-art img{aspect-ratio:3/2;object-fit:cover}
.digital-hero-art{box-shadow:0 20px 35px -27px #263d42}
.digital-nav{display:flex;gap:2.6rem;border-block:1px solid var(--rule);padding:.65rem 0}
.digital-nav a{display:flex;align-items:center;min-height:2.2rem;font-size:.78rem;color:var(--ink-2);text-decoration:none}
.digital-nav a:hover{color:var(--zhu-deep)}
.digital-section{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:3rem;padding:3.5rem 0;border-bottom:1px solid var(--rule);scroll-margin-top:2rem}
.digital-section-heading h2{font:400 1.7rem/1.75 var(--font-head);letter-spacing:.06em;margin:.55rem 0 1rem;white-space:pre-line}
.digital-section-heading>p:last-child:not(.digital-kicker){font-size:.78rem;line-height:2;white-space:pre-line;color:var(--ink-3);margin:0}
.digital-about-copy{font-size:.9rem;line-height:2.1;color:var(--ink-2);margin:0 0 2rem;max-width:43rem}
.digital-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem;list-style:none;padding:0;margin:0}
.digital-process li{border-top:1px solid var(--rule);padding-top:.85rem;min-width:0}
.digital-process li>span{font-size:.65rem;color:var(--digital-accent)}
.digital-process h3{font:400 1.04rem/1.6 var(--font-head);margin:.55rem 0}
.digital-process p{font-size:.73rem;line-height:1.95;color:var(--ink-3);margin:0}
.digital-workflow-list{min-width:0;display:grid;gap:1.4rem;align-content:start}
.digital-workflow{padding:1.55rem 1.8rem;background:rgba(255,253,247,.55);border:1px solid var(--rule)}
.digital-workflow-top{display:flex;align-items:center;gap:1rem}
.digital-no{font:400 1.7rem/1.4 Georgia,serif;color:var(--digital-accent);opacity:.65;align-self:start}
.digital-workflow-top h3{font:400 1.3rem/1.6 var(--font-head);margin:.25rem 0 0;letter-spacing:.03em}
.digital-flow-kind{font-size:.63rem;color:var(--digital-accent);border:1px solid #405d5030;padding:.2rem .55rem;margin-left:auto;white-space:nowrap}
.digital-workflow-desc{font-size:.8rem;line-height:2;color:var(--ink-2);margin:1rem 0}
.digital-metrics{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font:400 .68rem/1.8 var(--font-body);color:var(--ink-3);padding:0 0 1rem}
.digital-metrics span+span{border-left:1px solid var(--rule);padding-left:1rem}
.digital-parameters{border-top:1px solid var(--rule)}
.digital-parameters summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;font-size:.75rem;color:var(--digital-accent);padding:.9rem 0 .05rem;min-height:2.6rem}
.digital-parameters summary::-webkit-details-marker,.digital-models summary::-webkit-details-marker{display:none}
.digital-parameters[open] summary span{transform:rotate(45deg)}
.digital-specs{display:grid;grid-template-columns:1fr 1fr;column-gap:1.8rem;margin:.9rem 0 0}
.digital-specs>div{min-width:0;border-top:1px solid var(--rule);padding:.7rem 0}
.digital-specs dt{font-size:.66rem;color:var(--ink-3);margin-bottom:.35rem}
.digital-specs dd{font-size:.77rem;color:var(--ink-2);line-height:1.8;margin:0;overflow-wrap:anywhere}
.digital-models{border-block:1px solid var(--rule);padding:1rem 0}
.digital-models summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;font-size:.8rem;color:var(--ink-2)}
.digital-models summary span{font-size:.68rem;color:var(--ink-3)}
.digital-models ul{list-style:none;padding:0;display:flex;gap:.65rem 1.6rem;flex-wrap:wrap;margin:1.1rem 0 .3rem;font-size:.72rem;line-height:1.8;color:var(--ink-3)}
.digital-file-intro{font-size:.82rem;line-height:2;color:var(--ink-3);margin:0 0 1rem;max-width:40rem}
.digital-download{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;padding:.9rem 0}
.digital-download:hover{color:var(--digital-accent)}
.digital-download strong{font-size:.9rem;line-height:1.6;font-weight:400;display:block}
.digital-download small{display:block;font-size:.65rem;color:var(--ink-3);line-height:1.8;margin-top:.25rem}
.digital-download>span:last-child{font-size:1.3rem;color:var(--digital-accent)}
.digital-credit{font-size:.67rem;color:var(--ink-3);line-height:1.9;margin:1.3rem 0 2.5rem}
.digital-next{padding:1.7rem 0 2.5rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:end;gap:1rem}
.digital-next>div>a{display:flex;align-items:baseline;gap:1rem;margin-top:.5rem;font:400 1.4rem/1.7 var(--font-head);letter-spacing:.06em;color:var(--ink);text-decoration:none}
.digital-next a small{font:400 .69rem/1.7 sans-serif;letter-spacing:.04em;color:var(--ink-3)}
.digital-back{font-size:.73rem;color:var(--ink-3);text-decoration:none;white-space:nowrap;padding-bottom:.25rem}
@media(max-width:1000px){.digital-section{grid-template-columns:12rem minmax(0,1fr);gap:2rem}.digital-process{grid-template-columns:1fr 1fr}.digital-hero{gap:2rem}.digital-workflow{padding:1.3rem}.digital-shelf{gap:1.8rem}}
@media(max-width:760px){.digital-hero{grid-template-columns:1fr;padding:2.3rem 0 2rem;gap:2rem}.digital-hero-copy{max-width:35rem}.digital-hero h1{font-size:2.8rem}.digital-hero-art img{aspect-ratio:16/10}.digital-section{grid-template-columns:1fr;gap:1.5rem;padding:2.5rem 0}.digital-section-heading h2{font-size:1.65rem;white-space:normal}.digital-section-heading>p:last-child:not(.digital-kicker){white-space:normal}.digital-about-copy{margin-bottom:1.5rem}.digital-process{grid-template-columns:repeat(4,minmax(0,1fr))}.digital-shelf{gap:1.5rem}.digital-home-copy h4{font-size:1.45rem}.digital-home-description{font-size:.8rem}.digital-home-footer{display:block}.digital-home-footer a{justify-content:space-between;margin-top:.5rem}}
@media(max-width:540px){.works-group-head{display:block}.works-group-head p{margin-top:.5rem}.works-digital-head{margin-top:2.7rem}.works-digital-head h3{font-size:1.55rem}.works-digital-head>p{font-size:.73rem}.digital-shelf{grid-template-columns:1fr;gap:2.1rem}.digital-artwork img{aspect-ratio:16/10}.digital-artwork figcaption{font-size:.55rem;bottom:.6rem;right:.6rem}.digital-home-copy{padding-top:1rem}.digital-home-heading h4{font-size:1.65rem}.digital-home-description{font-size:.82rem;margin:.75rem 0 .85rem}.digital-home-footer{display:flex}.digital-home-footer a{margin:0;font-size:.73rem}.digital-home-footer>span{font-size:.62rem}.digital-main{padding-inline:1.25rem}.digital-hero{padding-top:2rem;gap:1.6rem}.digital-hero h1{font-size:2.65rem;letter-spacing:.12em;margin:.65rem 0}.digital-subtitle{font-size:1rem;margin-bottom:1rem}.digital-intro{font-size:.82rem;margin-bottom:1rem}.digital-nav{justify-content:space-between;gap:.5rem}.digital-nav a{font-size:.74rem}.digital-process{grid-template-columns:1fr 1fr;gap:1.3rem}.digital-process h3{font-size:1.05rem}.digital-process p{font-size:.75rem}.digital-about-copy{font-size:.85rem}.digital-workflow{padding:1.2rem}.digital-workflow-top{gap:.7rem}.digital-workflow-top h3{font-size:1.18rem}.digital-workflow-top .digital-kicker{font-size:.59rem}.digital-no{font-size:1.4rem}.digital-flow-kind{font-size:.57rem;padding:.15rem .35rem}.digital-workflow-desc{font-size:.79rem}.digital-metrics{gap:.4rem .75rem;font-size:.64rem}.digital-metrics span+span{padding-left:.75rem}.digital-next>div>a{gap:.55rem;font-size:1.2rem}.digital-next a small{font-size:.6rem}.digital-back{font-size:.68rem}.digital-credit{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.digital-artwork img,.digital-open{transition:none}}

/* 主页只保留一个作品列表，详细分类与配置留在详情页。 */
#works[data-layout=compact]{position:sticky;top:0;min-height:100vh;min-height:100svh;padding-block:5rem 3.5rem}
#works[data-layout=compact].no-stack{position:relative}
#works[data-layout=compact] .juan-head{margin-bottom:2rem}
.works-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;max-width:70rem;margin:auto}
.works-entry{min-width:0;display:flex;flex-direction:column;align-items:stretch}
.works-thumb{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;overflow:hidden;text-decoration:none;background:rgba(225,213,191,.36)}
.works-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease)}
.works-entry-book .works-thumb{padding:0;background:transparent}
.works-entry-book .works-thumb img{width:auto;max-width:100%;height:100%;object-fit:contain;box-shadow:2px 5px 14px #2c18102b}
.works-thumb:hover img{transform:scale(1.035)}
.works-entry-meta{min-height:1.5rem;display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;color:var(--ink-3);font-size:.64rem;line-height:1.7;margin:1rem 0 .45rem}
.works-entry-meta .novel-status{font-size:.57rem;padding:.08rem .3rem}
.works-entry h3{font:400 clamp(1.08rem,1.45vw,1.35rem)/1.6 var(--font-head);letter-spacing:.045em;min-height:3.2em;margin:0 0 .65rem}
.works-entry h3 a{color:var(--ink);text-decoration:none}
.works-entry h3 a:hover{color:var(--zhu-deep)}
.works-entry-summary{font-size:.77rem;line-height:1.9;color:var(--ink-2);margin:0 0 1rem;min-height:3.8em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.works-entry-link{display:flex;align-items:center;justify-content:space-between;min-height:2.5rem;padding-top:.5rem;border-top:1px solid var(--rule);font-size:.72rem;color:var(--ink-2);text-decoration:none;margin-top:auto}
.works-entry-link:hover{color:var(--zhu-deep)}
.works-entry a:focus-visible{outline:2px solid var(--zhu-deep);outline-offset:4px}
@media(max-width:960px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 1.8rem;max-width:42rem}.works-entry h3{font-size:1.25rem}.works-thumb{aspect-ratio:16/9}}
@media(max-width:540px){#works[data-layout=compact]{padding-block:4.7rem 3.5rem}#works[data-layout=compact] .juan-head{margin-bottom:1.4rem}.works-grid{gap:1.7rem 1rem}.works-thumb{aspect-ratio:4/3}.works-entry-book .works-thumb{padding:0}.works-entry-meta{font-size:.57rem;margin:.65rem 0 .35rem;gap:.3rem;min-height:1.3rem}.works-entry-meta .novel-status{font-size:.52rem;gap:.2rem}.works-entry h3{font-size:1rem;letter-spacing:.015em;margin-bottom:.45rem}.works-entry-summary{font-size:.7rem;line-height:1.85;min-height:3.7em;margin-bottom:.55rem}.works-entry-link{font-size:.67rem;min-height:2.25rem;padding-top:.3rem}}
@media(prefers-reduced-motion:reduce){.works-thumb img{transition:none}}
@media(max-width:540px){
  #works[data-layout=compact]{padding-block:4.5rem 2.3rem}
  .works-grid{row-gap:1.35rem}
  .works-entry-digital h3{min-height:0}
}
@media(max-width:540px) and (max-height:760px){
  #works[data-layout=compact]{padding-block:4.3rem 2rem}
  .works-entry-summary{display:none}
  .works-entry h3{margin-bottom:.6rem}
  .works-thumb{aspect-ratio:16/9}
}
@media(min-width:541px) and (max-width:960px){
  #works[data-layout=compact]{padding-block:4.6rem 2.7rem}
  #works[data-layout=compact] .juan-head{margin-bottom:1.5rem}
  .works-grid{row-gap:1.4rem}
  .works-thumb{max-height:9rem}
}
@media(min-width:961px) and (max-height:700px){
  #works[data-layout=compact]{padding-block:4.5rem 2.2rem}
  #works[data-layout=compact] .juan-head{margin-bottom:1rem}
  #works[data-layout=compact] .juan-title{font-size:2.4rem}
  .works-thumb{height:clamp(6rem,22svh,9rem);aspect-ratio:auto}
  .works-entry-summary{min-height:1.9em;-webkit-line-clamp:1}
}
