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