.backlink{z-index:20;color:var(--fg2);letter-spacing:var(--track-normal);font-size:.85rem;text-decoration:none;transition:color .15s,transform .15s;position:fixed;top:1.5rem;left:1.5rem}.backlink:hover{color:var(--fg1);transform:translate(-2px)}.type-tag{font-family:var(--font-mono);letter-spacing:var(--track-normal);border-radius:var(--radius-pill);border:var(--border-thin) solid var(--border-hairline);opacity:.9;color:var(--ink-tag);white-space:nowrap;flex-shrink:0;padding:.15rem .55rem;font-size:.68rem}.dg-wrap{max-width:1180px;margin:0 auto;padding:5.5rem 1.75rem 7rem}.dg-masthead{margin-bottom:4rem;animation:.6s both fadeUp}.dg-title{font-family:var(--font-display);color:var(--ink);margin:0 0 1.1rem;font-size:clamp(2.6rem,7vw,4.4rem);font-weight:600;line-height:1}.dg-lede{color:var(--ink-700);max-width:56ch;margin:0;font-size:1.02rem;line-height:1.6}.dg-count{font-family:var(--font-mono);letter-spacing:var(--track-normal);color:var(--fg3);margin:1.4rem 0 0;font-size:.74rem}.dg-gallery{column-width:340px;column-gap:1.4rem;animation:.55s both fadeUp}.dg-card{break-inside:avoid;background:var(--surface-card);border:var(--border-card) solid var(--ink-900);border-radius:var(--radius-card);box-shadow:var(--shadow-slab);color:inherit;margin:0 0 1.4rem;text-decoration:none;transition:transform .15s,background .15s;display:block;overflow:hidden}.dg-card:hover{transform:translateY(-3px)}.dg-thumb{border-bottom:var(--border-thin) solid var(--border-hairline);justify-content:center;align-items:center;min-height:80px;padding:1.1rem 1.1rem .6rem;display:flex;position:relative;overflow:hidden}.dg-thumb svg{width:100%;height:auto;display:block}.dg-thumb.tall{padding-bottom:0}.dg-thumb .tall-band{background:var(--surface-card);border-top:var(--border-thin) solid var(--border-hairline);font-family:var(--font-mono);letter-spacing:var(--track-normal);color:var(--ink-700);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .85rem;font-size:.68rem;display:flex;position:absolute;bottom:0;left:0;right:0}.dg-thumb .tall-band .open{color:var(--accent-link)}.dg-card-body{flex-direction:column;gap:.5rem;padding:1rem 1.1rem 1.1rem;display:flex}.dg-card-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.dg-card-head h2{font-family:var(--font-display);color:var(--ink-900);margin:0;font-size:1rem;font-weight:600;line-height:1.2}.dg-caption{color:var(--ink-700);margin:0;font-size:.85rem;line-height:1.5}.dg-foot{border-top:var(--border-thin) solid var(--border-hairline);font-family:var(--font-mono);letter-spacing:.06em;color:var(--fg-footer);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:1.4rem;font-size:.74rem;display:flex}.dg-foot a{color:var(--fg-footer);text-decoration:none;transition:color .15s}.dg-foot a:hover{color:var(--fg1)}.detail{grid-template-columns:minmax(0,1fr) 320px;min-height:100vh;display:grid}@media (width<=860px){.detail{grid-template-columns:1fr}}.stage-col{min-width:0;position:relative}.stage{cursor:grab;touch-action:none;background:0 0;height:100vh;position:relative;overflow:hidden}.stage.panning{cursor:grabbing}.stage .canvas{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.stage .canvas svg{display:block}.controls{z-index:10;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:1.25rem;left:1.25rem}.ctl{border:var(--border-thick) solid var(--border-strong);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--ink);cursor:pointer;font-family:var(--font-mono);background:#ffffffdb;place-items:center;padding:0;font-size:1rem;line-height:1;transition:background .15s,transform .15s;display:grid}.ctl:hover{background:#fff;transform:translateY(-2px)}.ctl svg{width:17px;height:17px}.zoom-label{font-family:var(--font-mono);color:var(--ink-700);border:var(--border-thin) solid var(--border-hairline);border-radius:var(--radius-sm);text-align:center;background:#ffffffdb;min-width:48px;padding:.35rem .55rem;font-size:.72rem}.hint{z-index:10;font-family:var(--font-mono);letter-spacing:var(--track-normal);color:var(--fg3);pointer-events:none;font-size:.68rem;position:absolute;bottom:1.4rem;right:1.25rem}.meta{border-left:var(--border-card) solid var(--ink-900);background:var(--surface-card);flex-direction:column;gap:1.4rem;height:100vh;padding:5.5rem 1.6rem 2rem;animation:.5s both fadeUp;display:flex;overflow-y:auto}@media (width<=860px){.meta{border-left:none;border-top:var(--border-card) solid var(--ink-900);height:auto;padding-top:1.8rem}.stage{height:62vh}}.meta .eyebrow{font-family:var(--font-mono);letter-spacing:.02em;color:var(--fg2);margin:0;font-size:.7rem}.meta h1{font-family:var(--font-display);color:var(--ink-900);margin:.15rem 0 0;font-size:1.7rem;font-weight:600;line-height:1.08}.meta .tag-row{flex-wrap:wrap;gap:.4rem;display:flex}.meta .caption{color:var(--ink-700);margin:0;font-size:.95rem;line-height:1.55}.meta .rule{height:var(--border-thin);background:var(--border-hairline);border:0;margin:.2rem 0}.meta .notes{color:var(--ink-700);margin:0;font-size:.85rem;line-height:1.6}.meta .specs{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.meta .specs li{font-family:var(--font-mono);color:var(--ink-700);border-bottom:var(--border-thin) solid var(--border-hairline);justify-content:space-between;gap:1rem;padding-bottom:.5rem;font-size:.74rem;display:flex}.meta .specs li:last-child{border-bottom:none}.meta .specs li .k{color:var(--ink-600)}.prevnext{justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:1rem;display:flex}.pn{font-family:var(--font-body);color:var(--ink-700);letter-spacing:var(--track-normal);flex-direction:column;gap:.15rem;max-width:46%;font-size:.8rem;text-decoration:none;transition:color .15s,transform .15s;display:inline-flex}.pn .pn-k{font-family:var(--font-mono);color:var(--fg3);letter-spacing:.02em;font-size:.64rem}.pn.next{text-align:right;align-items:flex-end}.pn:hover{color:var(--accent-link)}.pn.prev:hover{transform:translate(-2px)}.pn.next:hover{transform:translate(2px)}.pn.disabled{opacity:.3;pointer-events:none}.detail.fs{grid-template-columns:1fr}.detail.fs .meta,.detail.fs .backlink,.detail.fs .hint{display:none}.detail.fs .stage{height:100vh}
