/* 信号影站·画廊 */
:root{--canvas:#0b110f;--paper:#15201c;--ink:#ebefee;--subtle:#a6bab3;--accent:#61dbb2;--companion:#4398ad;--on-accent:#000000;--edge:color-mix(in srgb,var(--ink) 17%,transparent);--corner:2px;--measure:1280px;--space:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--canvas);color:var(--ink);font:15px/1.65 "Cascadia Code",Consolas,"Microsoft YaHei",monospace;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{cursor:pointer}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:750;line-height:1.2}ul,ol{padding:0;margin:0;list-style:none}input,select,textarea{max-width:100%;min-width:0;color:var(--ink);background:var(--paper);border:1px solid var(--edge);border-radius:var(--corner);padding:10px 12px}input::placeholder,textarea::placeholder{color:var(--subtle)}button{border:0}details>summary{cursor:pointer}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--on-accent)}
.terminal-gallery-stage{min-height:100vh}.terminal-gallery-gallery,.terminal-gallery-entrance{width:min(var(--measure),calc(100% - 64px));margin-inline:auto}.terminal-gallery-entrance{min-height:94px;position:relative;z-index:20}.terminal-gallery-signature{font-size:clamp(18px,1.9vw,27px);letter-spacing:-.04em;font-weight:800;line-height:1.25;display:flex;align-items:center;gap:12px;max-width:540px}.terminal-gallery-emblem{width:38px;height:38px;flex:0 0 38px;color:var(--accent)}.terminal-gallery-wayfinding{display:flex;gap:23px;align-items:center;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.terminal-gallery-wayfinding a{font-size:13px;padding:8px 0;border-bottom:2px solid transparent}.terminal-gallery-wayfinding a:hover{color:var(--accent);border-color:currentColor}.terminal-gallery-finder{display:flex;gap:7px;align-items:center}.terminal-gallery-finder input{width:180px;background:transparent}.terminal-gallery-finder button{background:var(--accent);color:var(--on-accent);padding:10px 14px;border-radius:var(--corner);white-space:nowrap}.terminal-gallery-menu{display:none}.terminal-gallery-edition{color:var(--accent);font:700 11px/1.3 "Segoe UI",sans-serif;letter-spacing:.25em;text-transform:uppercase}.terminal-gallery-invitation{display:inline-flex;justify-content:center;align-items:center;gap:10px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);padding:12px 22px;border-radius:var(--corner);font-size:13px;font-weight:750;min-height:44px}.terminal-gallery-invitation:hover{filter:brightness(1.13)}.terminal-gallery-quiet{background:transparent;color:var(--ink);border-color:var(--edge)}.terminal-gallery-choices{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.terminal-gallery-overture{position:relative;min-height:480px;padding:46px 0 52px;isolation:isolate}.terminal-gallery-headline{font-size:clamp(34px,4.1vw,74px);letter-spacing:-.04em;max-width:14ch;margin:20px 0}.terminal-gallery-prologue{max-width:650px;z-index:2;position:relative}.terminal-gallery-prologue>p{color:var(--subtle);max-width:45ch;font-size:16px;line-height:1.9}.terminal-gallery-projection{position:relative;min-width:0;overflow:hidden;border-radius:calc(var(--corner)*1.5);background:var(--paper)}.terminal-gallery-projection>img{width:100%;height:100%;object-fit:cover;aspect-ratio:1.32}.terminal-gallery-projection figcaption{position:absolute;bottom:18px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--canvas);padding:12px 16px;border:1px solid var(--edge);font-size:12px}.terminal-gallery-folio{font-size:11px;letter-spacing:.16em;color:var(--subtle)}.terminal-gallery-chapter{padding:40px 0;border-top:1px solid var(--edge)}.terminal-gallery-caption{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.terminal-gallery-caption h1,.terminal-gallery-caption h2{font-size:clamp(25px,3vw,36px)}.terminal-gallery-caption>span{font-size:12px;color:var(--subtle)}.terminal-gallery-collection{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space)}.terminal-gallery-reel{min-width:0;display:block;position:relative}.terminal-gallery-image{position:relative;aspect-ratio:2/3;overflow:hidden;border-radius:var(--corner);background:var(--paper);border:1px solid var(--edge)}.terminal-gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.terminal-gallery-reel:hover img{transform:scale(1.045)}.terminal-gallery-note{padding:13px 0}.terminal-gallery-note h3{font-size:15px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-bottom:7px}.terminal-gallery-seal{position:absolute;left:10px;bottom:10px;background:var(--canvas);padding:3px 9px;font-size:10px;border:1px solid var(--edge)}.terminal-gallery-byline,.terminal-gallery-aside{color:var(--subtle);font-size:12px}.terminal-gallery-sheet{background:var(--paper);border:1px solid var(--edge);border-radius:var(--corner);padding:24px;margin-bottom:20px}.terminal-gallery-sheet>h2,.terminal-gallery-sheet>h3{margin-bottom:16px}.terminal-gallery-subjects{display:flex;flex-wrap:wrap;gap:9px}.terminal-gallery-subject{padding:8px 16px;font-size:12px;border:1px solid var(--edge);border-radius:var(--corner);background:var(--paper)}.terminal-gallery-subject:hover,.terminal-gallery-subject.active{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.terminal-gallery-refine{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.terminal-gallery-question{display:grid;gap:7px;margin-bottom:14px}.terminal-gallery-question label{font-size:12px;color:var(--subtle)}.terminal-gallery-question input,.terminal-gallery-question select,.terminal-gallery-question textarea{width:100%}.terminal-gallery-intermission{grid-column:1/-1;min-height:220px;border:1px dashed var(--edge);padding:42px;display:grid;place-content:center;text-align:center;gap:12px;border-radius:var(--corner);background:var(--paper)}.terminal-gallery-intermission h3{font-size:24px}.terminal-gallery-intermission p{font-size:13px;color:var(--subtle)}.terminal-gallery-credits{padding:38px 0;margin-top:40px;border-top:1px solid var(--edge);font-size:12px;color:var(--subtle)}.terminal-gallery-credits>div{display:flex;align-items:start;justify-content:space-between;gap:24px;flex-wrap:wrap}.terminal-gallery-credits nav{display:flex;gap:20px}.terminal-gallery-pages{margin-top:28px;display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;font-size:12px}.terminal-gallery-pages svg{width:18px;height:18px}.terminal-gallery-pages a,.terminal-gallery-pages span{padding:6px}.terminal-gallery-feature{display:grid;grid-template-columns:260px minmax(0,1fr);gap:38px;padding:34px 0}.terminal-gallery-jacket{width:100%;border-radius:var(--corner);border:1px solid var(--edge)}.terminal-gallery-feature h1{font-size:clamp(28px,3.6vw,48px);margin:16px 0 22px}.terminal-gallery-synopsis{grid-column:1/-1}.terminal-gallery-program{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.terminal-gallery-session{border:1px solid var(--edge);padding:9px 15px;font-size:12px;border-radius:var(--corner);background:var(--paper);min-width:70px;text-align:center}.terminal-gallery-session:hover,.terminal-gallery-session.active{background:var(--accent);color:var(--on-accent)}.terminal-gallery-screen{aspect-ratio:16/9;background:#050505;position:relative;border-radius:var(--corner);overflow:hidden;isolation:isolate}.terminal-gallery-screen video,.terminal-gallery-screen iframe{width:100%;height:100%;border:0}.terminal-gallery-story{line-height:2;overflow-wrap:anywhere}.terminal-gallery-message{padding:15px 20px;border-left:3px solid var(--accent);background:var(--paper);margin:20px 0}.terminal-gallery-ledger{width:100%;border-collapse:collapse}.terminal-gallery-ledger th,.terminal-gallery-ledger td{text-align:left;padding:12px;border-bottom:1px solid var(--edge)}.terminal-gallery-figures{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.terminal-gallery-figure strong{font-size:30px;display:block}.terminal-gallery-index{display:grid;gap:16px}.terminal-gallery-index a{display:block;padding:20px;border:1px solid var(--edge);background:var(--paper);border-radius:var(--corner)}.terminal-gallery-index b{font-size:18px;display:block}.terminal-gallery-index span{color:var(--subtle);font-size:12px}.terminal-gallery-return{position:fixed;right:20px;bottom:20px;border:1px solid var(--edge);background:var(--paper);color:var(--ink);width:42px;height:42px;border-radius:50%;z-index:25;display:grid;place-items:center}
.terminal-gallery-entrance{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;border-bottom:1px solid var(--edge);padding-block:22px}.terminal-gallery-entrance nav{grid-column:1/-1;justify-content:center;border-top:1px solid var(--edge);padding-top:8px}.terminal-gallery-signature{justify-self:center;grid-column:1/-1;text-align:center}.terminal-gallery-finder{position:absolute;right:0;top:24px}.terminal-gallery-overture{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;border-bottom:1px dashed var(--accent)}.terminal-gallery-prologue{padding-left:26px;border-left:5px solid var(--accent)}.terminal-gallery-projection{border:1px solid var(--accent);background:linear-gradient(transparent 49%,var(--edge) 50%,transparent 51%) 0 0/100% 8px}.terminal-gallery-headline{font-size:clamp(32px,3.9vw,60px)}.terminal-gallery-overture>aside{position:absolute;right:0;top:14px;font-size:10px;letter-spacing:.28em}.terminal-gallery-contents{width:100%;margin:0;min-width:0}.terminal-gallery-entrance nav{min-width:0;flex:1}.terminal-gallery-signature{flex-shrink:1}.terminal-gallery-index{grid-template-columns:repeat(3,minmax(0,1fr))}.terminal-gallery-index a{padding:18px;min-height:110px}.terminal-gallery-projection a{display:block;height:100%}.terminal-gallery-projection a img{width:100%;height:100%;aspect-ratio:1.32;object-fit:cover}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.terminal-gallery-image{box-shadow:0 14px 28px #00000017}.terminal-gallery-note h3{font-size:16px}@media(min-width:1500px){.terminal-gallery-headline{max-width:15ch}}@media(max-width:1100px){.terminal-gallery-finder{display:none}.terminal-gallery-entrance{gap:16px}.terminal-gallery-signature{font-size:20px}.terminal-gallery-overture{gap:35px;min-height:430px}.terminal-gallery-headline{font-size:44px}.terminal-gallery-collection{grid-template-columns:repeat(3,minmax(0,1fr))}.terminal-gallery-entrance nav{gap:17px}}@media(max-width:760px){.terminal-gallery-gallery,.terminal-gallery-entrance{width:calc(100% - 32px);margin-inline:16px}.terminal-gallery-entrance{position:relative;inset:auto;min-height:76px;padding:18px 0;border-radius:0;display:flex;flex-direction:column;gap:15px;background:transparent;border-inline:0;border-top:0;border-bottom:1px solid var(--edge);margin-top:0;align-items:stretch}.terminal-gallery-signature{display:flex;font-size:20px;border:0;padding:0;max-width:100%;text-align:left;justify-self:start}.terminal-gallery-entrance nav{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;justify-content:start;gap:22px;overflow:auto;border:0;padding:0;background:transparent;color:var(--ink)}.terminal-gallery-entrance nav a{font-size:12px;padding:5px 0}.terminal-gallery-entrance small{display:none}.terminal-gallery-overture{display:flex;flex-direction:column;gap:28px;min-height:0;padding:36px 0;align-items:stretch;text-align:left;border-inline:0;margin-top:0}.terminal-gallery-prologue{max-width:100%;padding:0;order:0;border:0}.terminal-gallery-headline{font-size:clamp(32px,7.8vw,49px);max-width:14ch;margin:15px 0;line-height:1.25}.terminal-gallery-prologue>p{font-size:14px;line-height:1.8}.terminal-gallery-prologue .terminal-gallery-choices{justify-content:start;margin-top:22px}.terminal-gallery-projection{position:relative;inset:auto;order:1;opacity:1;z-index:0;max-width:100%;height:270px;min-height:0;aspect-ratio:auto;transform:none;box-shadow:none;margin:0;border-radius:var(--corner);clip-path:none;border-width:1px;padding:0}.terminal-gallery-projection>img{height:100%;aspect-ratio:auto;object-fit:cover}.terminal-gallery-projection figcaption{display:flex;font-size:11px;bottom:10px;left:10px;right:10px;padding:9px 12px}.terminal-gallery-overture>aside{display:none}.terminal-gallery-overture>footer{position:static;order:2;font-size:10px;gap:15px}.terminal-gallery-chapter{padding:28px 0}.terminal-gallery-caption{margin-bottom:20px}.terminal-gallery-caption h2{font-size:25px}.terminal-gallery-chapter[data-library]{display:block}.terminal-gallery-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.terminal-gallery-note h3{font-size:13px}.terminal-gallery-refine{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.terminal-gallery-sheet{padding:18px}.terminal-gallery-feature{grid-template-columns:105px 1fr;gap:20px;padding:25px 0;background:transparent;margin:0;border-radius:0}.terminal-gallery-feature>figure{order:0}.terminal-gallery-feature h1{font-size:25px;margin:10px 0}.terminal-gallery-feature .terminal-gallery-choices{grid-column:1/-1}.terminal-gallery-synopsis{grid-column:1/-1}.terminal-gallery-program{display:flex;gap:8px}.terminal-gallery-session{padding:8px 12px}.terminal-gallery-figures{grid-template-columns:1fr}.terminal-gallery-intermission{padding:30px 20px;min-height:180px}.terminal-gallery-credits{margin-top:20px}.terminal-gallery-return{right:12px;bottom:12px;width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:760px){.terminal-gallery-index{grid-template-columns:1fr}.terminal-gallery-index a{min-height:0;padding:14px 16px}.terminal-gallery-index b{font-size:16px}}