/* [INPUT]: index.html 和页面组件的语义类名。
 * [OUTPUT]: 公共导航、非首页页面、播放器、过渡与无障碍状态。
 * [POS]: 公共视觉真源；首页的全屏画布与圆柱标题单独由 hero.css 管理。
 * [PROTOCOL]: 变更时更新此头部，然后检查 CLAUDE.md
 */
@font-face{font-family:"Azeret Mono";src:url('/assets/azeret-mono.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--black:#000;--white:#fff;--muted:#8b8b8b;--line:#303030;--panel:#292929;--mono:"Azeret Mono","Consolas","Microsoft YaHei",monospace;--ease:cubic-bezier(.76,0,.24,1)}
*{box-sizing:border-box}html{background:var(--black);scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:var(--mono);font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit;cursor:pointer;padding:0}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #fff;outline-offset:5px}main:focus{outline:none}h1,h2,p{margin:0}button:disabled{cursor:default}img,video{display:block;max-width:100%}::selection{background:#fff;color:#000}.skip-link{position:fixed;left:12px;top:-100px;z-index:200;padding:12px;background:white;color:black}.skip-link:focus{top:12px}
/* --- 浮动导航 --- */
.navigation{position:fixed;z-index:70;left:50%;top:max(10px,env(safe-area-inset-top));width:300px;transform:translateX(-50%)}.nav-bar{height:38px;display:flex;align-items:center;justify-content:space-between;background:#fff;color:#111;padding:0 9px}.wordmark{display:flex;gap:4px;font-family:Impact,"Arial Narrow",sans-serif;font-size:22px;font-style:italic;letter-spacing:-1px;font-weight:900;line-height:1;transform:skew(-5deg)}.wordmark span{font-size:15px;align-self:end;letter-spacing:-.7px;padding-bottom:1px}.menu-toggle{height:38px;width:39px;display:flex;align-items:center;justify-content:space-between;color:#111}.bracket{font-size:21px;font-family:"Courier New",monospace;font-weight:300}.menu-lines{width:20px;height:12px;position:relative}.menu-lines:before,.menu-lines:after{content:"";position:absolute;left:0;width:20px;height:1px;background:#111;transition:transform .4s var(--ease),top .4s var(--ease)}.menu-lines:before{top:3px}.menu-lines:after{top:9px}.menu-open .menu-lines:before{top:6px;transform:rotate(45deg)}.menu-open .menu-lines:after{top:6px;transform:rotate(-45deg)}.menu-panel{background:rgba(0,0,0,.74);backdrop-filter:blur(16px);padding:10px;max-height:0;opacity:0;overflow:hidden;visibility:hidden;transform-origin:top;transform:scaleY(.93);transition:max-height .5s var(--ease),opacity .3s,transform .5s var(--ease),visibility .5s}.menu-open .menu-panel{visibility:visible;max-height:350px;opacity:1;transform:scaleY(1)}.menu-panel>a{display:flex;align-items:center;justify-content:space-between;height:40px;font-size:16px;font-weight:300}.menu-panel small{font-size:16px;color:#929292}.menu-panel>a>span{position:relative;display:block;line-height:22px;height:22px;overflow:hidden;transition:transform .25s}.menu-contact{border-top:1px solid #ffffff35;margin-top:1px;padding:17px 0 6px;display:flex;flex-direction:column;gap:10px;font-size:11px}.menu-contact span{color:#888}
/* --- 作品索引 --- */
.works-page{padding:145px 20px 60px;min-height:90vh}.works-toolbar{position:fixed;z-index:30;top:58px;left:50%;transform:translateX(-50%);width:300px;height:36px;background:#292929;display:flex;align-items:center;justify-content:space-between;padding:0 10px}.works-toolbar h1{font-size:14px;font-weight:400}.work-count{color:#929292;font-size:10px}.view-switch{display:flex;gap:12px;font-size:13px}.view-switch button{color:#777;display:flex;align-items:center;gap:5px}.view-switch button:before{content:"";width:5px;height:5px;background:currentColor}.view-switch [aria-pressed=true]{color:#fff}.work-filters{display:flex;gap:24px;margin:0 0 18px;justify-content:center}.work-filters button{color:#777;font-size:11px;min-height:30px;transition:color .3s}.work-filters button:hover,.work-filters [aria-pressed=true]{color:#fff}.work-filters sup{margin-left:4px;font-size:8px;color:#777}.works-collection.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.work-card{display:block;position:relative;overflow:hidden;background:#141414;aspect-ratio:1.51}.work-card>img{height:100%;width:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s}.card-overlay{position:absolute;inset:0;padding:12px;background:linear-gradient(transparent 35%,rgba(0,0,0,.65));opacity:0;transition:opacity .4s}.work-card:hover .card-overlay,.work-card:focus-visible .card-overlay{opacity:1}.work-card:hover>img{transform:scale(1.035)}.card-duration{position:absolute;top:12px;left:12px;font-size:12px}.card-play{position:absolute;right:12px;top:12px;font-size:20px}.card-info{position:absolute;left:12px;right:12px;bottom:12px}.card-info h2{font-weight:400;font-size:15px;margin-bottom:12px;line-height:1.4}.card-info>div{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#b2b2b2}.works-collection.list{display:flex;flex-direction:column;gap:0}.list .work-card{aspect-ratio:auto;min-height:130px;border-top:1px solid #303030;padding:12px 0;display:flex;align-items:center}.list .work-card>img{width:180px;height:104px;object-fit:cover}.list .card-overlay{position:static;opacity:1;background:none;flex:1;padding:0 30px}.list .card-info{position:static}.list .card-info h2{font-size:22px}.list .card-duration{position:static;float:right;color:#888}.list .card-play{display:none}.list .card-info>div{justify-content:flex-start;gap:40px}
/* --- 详情与文字页面 --- */
.detail-media{position:relative;height:100svh;min-height:300px;background:#090909}.detail-media video,.detail-media>img{height:100%;width:100%;object-fit:contain}.detail-media.is-image{height:auto;min-height:90svh;padding:80px 20px 20px;display:grid;place-items:center}.detail-media.is-image>img{max-height:85svh;object-fit:contain}.big-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:#ffffff40;backdrop-filter:blur(10px);font-size:21px;transition:background .3s,opacity .3s;padding-left:4px}.big-play:hover{background:#ffffff70}.big-play.hidden{opacity:0;pointer-events:none}.video-error{position:absolute;bottom:70px;left:20px;right:20px;background:#000b;padding:20px;text-align:center}.video-error a{text-decoration:underline}.detail-body{padding:60px 20px}.detail-body>h1{font-size:clamp(30px,5vw,76px);font-weight:400;line-height:1.15;max-width:1100px;margin-bottom:80px}.detail-info{display:grid;grid-template-columns:1fr 1fr;margin-left:35%;gap:50px}.detail-info>div>span{color:#777}.detail-info dl{margin:30px 0 0}.detail-info dl>div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #242424}.detail-info dt{color:#777;flex-shrink:0}.detail-info dd{margin:0;text-align:right;overflow-wrap:anywhere}.detail-navigation{display:flex;justify-content:space-between;gap:20px;margin-top:100px;font-size:13px}.detail-navigation a:hover{text-decoration:underline}.about-hero{height:80svh;min-height:420px;position:relative;display:grid;place-items:center}.about-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.65)}.about-hero>div{position:relative;text-align:center}.about-hero span{font-size:14px}.about-hero h1{font-size:32px;font-weight:400;margin-top:15px}.about-copy{max-width:620px;margin:auto;padding:80px 20px 100px;font-family:Arial,"Microsoft YaHei",sans-serif;line-height:1.9;font-size:19px}.about-copy p+p{margin-top:24px;color:#b0b0b0}.text-link{display:inline-block;margin-top:35px;font:12px var(--mono);border-bottom:1px solid #888;padding-bottom:7px}.category-banner{position:relative;height:70svh;min-height:360px;display:flex;align-items:center;padding:35px;overflow:hidden}.category-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6);transition:transform 1s}.category-banner:hover>img{transform:scale(1.04)}.category-banner>div,.category-arrow{position:relative}.category-banner h2{font-size:clamp(26px,5vw,70px);font-weight:400;letter-spacing:-.04em;line-height:1.1;max-width:85%;margin-top:20px}.category-arrow{margin-left:auto;font-size:50px}.contact-page{min-height:90svh;padding:160px 7vw 100px;display:grid;grid-template-columns:1fr 1fr;gap:12vw}.contact-heading>span{font-size:11px;color:#aaa}.contact-heading h1{font-family:Arial,sans-serif;font-size:clamp(70px,10vw,160px);font-weight:500;line-height:.85;letter-spacing:-.075em;margin:25px 0 40px}.contact-heading>p{font-size:13px;color:#aaa;line-height:1.8}.contact-email{display:block;font-size:clamp(15px,2vw,25px);margin-top:30px}.copy-email{color:#999;font-size:11px;margin-top:20px;border-bottom:1px solid #666;padding-bottom:5px}.copy-status{min-height:25px;margin-top:12px}.contact-form{padding-top:20px}.contact-form label{display:block;font-size:11px;color:#aaa;margin-bottom:28px}.contact-form input,.contact-form textarea,.contact-form select{display:block;border:0;border-bottom:1px solid #444;border-radius:0;background:transparent;width:100%;padding:15px 0;color:#fff;font-size:14px;resize:vertical}.contact-form select option{background:#111}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#555}.submit-button{border-bottom:1px solid #777;padding:10px 0 20px;width:100%;display:flex;justify-content:space-between;font-size:16px}.submit-button span{font-size:25px}.form-note,.form-status{font-size:11px;line-height:1.7;color:#777;margin-top:16px}.form-status a{color:#fff;text-decoration:underline}.not-found{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;padding:30px;text-align:center}.not-found h1{font-weight:400}.not-found a{text-decoration:underline}
/* --- 页脚与转场 --- */
.footer{padding:65px 20px 20px;border-top:1px solid #202020}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;line-height:1.8;min-height:180px;font-size:14px}.footer-top>span{text-align:center;color:#999}.footer-top>a:last-child{text-align:right}.footer-bottom{display:flex;justify-content:space-between;gap:20px;color:#777;font-size:10px}.page-curtain{position:fixed;inset:0;background:#151515;z-index:100;transform:translateY(100%);pointer-events:none;transition:transform .4s var(--ease)}.page-curtain.cover{transform:translateY(0)}.page-curtain.reveal{transform:translateY(-100%)}.intro{display:none;position:fixed;inset:0;z-index:150;background:#080808;padding:22px;flex-direction:column;justify-content:space-between;transition:clip-path .8s var(--ease);clip-path:inset(0 0 0 0)}.intro.playing{display:flex}.intro.complete{clip-path:inset(0 0 100% 0)}.intro-top,.intro-bottom{display:flex;justify-content:space-between;font-size:12px}.intro-mark{text-align:center;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(50px,12vw,180px);font-style:italic;letter-spacing:-.05em}.intro-progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background:white;transform:scaleX(var(--progress,0));transform-origin:left}
/* --- 平板与手机 --- */
@media(min-width:1600px){.works-page{padding-left:30px;padding-right:30px}}
@media(max-width:900px){.works-collection.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-overlay{opacity:1}.detail-info{margin-left:15%;gap:25px}.contact-page{padding:140px 25px 80px;gap:7vw}.footer-top{font-size:12px}}
@media(max-width:600px){.navigation{width:min(300px,calc(100% - 32px))}.works-page{padding:124px 12px 40px}.works-toolbar{width:min(300px,calc(100% - 32px))}.work-filters{gap:22px;margin-bottom:15px;justify-content:flex-start;overflow-x:auto;white-space:nowrap;padding:0 4px}.work-filters button{min-height:35px;font-size:12px}.works-collection.grid{grid-template-columns:1fr;gap:12px}.work-card{aspect-ratio:1.45}.card-overlay{opacity:1;padding:14px;background:linear-gradient(transparent 50%,#000a)}.card-info{left:14px;right:14px;bottom:14px}.card-info h2{font-size:15px}.card-info>div{font-size:10px}.list .work-card{min-height:104px;gap:15px}.list .work-card>img{width:96px;height:76px}.list .card-overlay{padding:0}.list .card-info h2{font-size:14px;margin-bottom:10px}.list .card-info>div{font-size:9px;gap:10px}.list .card-info>div>span:first-child{display:none}.list .card-duration{float:none;display:block;font-size:9px;margin-bottom:8px}.detail-media{height:70svh;min-height:300px;padding-top:58px}.detail-body{padding:40px 18px}.detail-body>h1{font-size:32px;margin-bottom:45px}.detail-info{grid-template-columns:1fr;margin:0;gap:35px;font-size:12px}.detail-info dl{margin-top:15px}.detail-navigation{font-size:9px;margin-top:60px;gap:10px}.about-hero{height:70svh}.about-hero h1{font-size:28px}.about-copy{padding:50px 22px 70px;font-size:17px}.category-banner{height:55svh;padding:20px;min-height:320px}.category-banner h2{font-size:34px;max-width:90%}.category-banner span{font-size:12px}.category-arrow{font-size:32px!important}.contact-page{grid-template-columns:1fr;padding:130px 20px 65px;gap:45px}.contact-heading h1{font-size:100px}.contact-heading>p{font-size:12px}.contact-email{font-size:22px}.contact-form{padding-top:0}.footer{padding:40px 18px 22px}.footer-top{grid-template-columns:1fr;gap:22px;min-height:220px}.footer-top>span,.footer-top>a:last-child{text-align:left}.footer-bottom{font-size:8px;flex-wrap:wrap;line-height:1.7}.footer-bottom>span:last-child{display:none}.intro-top,.intro-bottom{font-size:10px}}.player-open{overflow:hidden}.player-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:20px;border:0;background:rgba(0,0,0,.96);color:#fff;overflow:hidden}.player-dialog[open]{display:flex;flex-direction:column;animation:player-in .4s var(--ease)}.player-dialog::backdrop{background:#000e}.player-header,.player-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0;min-height:45px;font-size:12px}.player-header{padding-bottom:15px}.player-header>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-close{min-height:44px;padding:0 12px;white-space:nowrap;border:1px solid #444}.player-close:hover{background:white;color:black}.player-dialog>video,.player-dialog>img{flex:1;min-height:0;width:100%;object-fit:contain;background:#000}.player-bottom{padding-top:12px;color:#aaa}.player-bottom a{color:#fff}.player-error a{margin-left:15px;text-decoration:underline}@keyframes player-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
@media(max-width:600px){.player-dialog{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.player-header,.player-bottom{font-size:10px}.player-header>span{max-width:60%}.player-close{font-size:10px}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.intro{display:none!important}}

/* --- 菜单错峰入场与文字翻动 --- */
.menu-panel>a{opacity:0;transform:translateY(16px);transition:opacity .35s,transform .5s cubic-bezier(.16,1,.3,1)}
.menu-open .menu-panel>a{opacity:1;transform:translateY(0);transition-delay:calc(var(--menu-index)*35ms + 90ms)}
.menu-panel>a>span{transition:none}.menu-panel .menu-word{display:block;transition:transform .45s cubic-bezier(.76,0,.24,1)}.menu-panel>a:hover .menu-word,.menu-panel>a:focus-visible .menu-word{transform:translateY(-100%)}
