@keyframes ab-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.ab-portrait{width:min(100%,26rem);margin-inline:auto;position:relative}.ab-photo{box-shadow:inset 0 0 0 1px var(--color-signal);aspect-ratio:1;border-radius:14px;overflow:hidden}.ab-photo img{object-fit:cover;width:100%;height:100%}.ab-facts{margin-top:-2.5rem;gap:.6rem;margin-inline:1rem;display:grid;position:relative}.ab-facts li{background:var(--color-ink-raise);box-shadow:inset 0 0 0 1px var(--color-line-dark);border-radius:10px;align-items:baseline;gap:.75rem;padding:.75rem 1rem;display:flex}.ab-facts b{font-family:var(--font-display);color:var(--color-signal-bright);flex-shrink:0;font-size:1.25rem;font-weight:500}.ab-facts span{color:var(--color-dim);font-size:.88rem;line-height:1.4}.ab-reply{background:var(--color-ink-soft);width:min(100%,30rem);box-shadow:inset 0 0 0 1px var(--color-line-dark);border-radius:14px;gap:.9rem;margin-inline:auto;padding:1.25rem;display:grid}.ab-reply-h{color:var(--color-dim);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.ab-reply-h i{background:var(--color-signal);border-radius:50%;width:.5rem;height:.5rem}.ab-msg{border-radius:12px;max-width:88%;padding:.85rem 1rem;font-size:.92rem;line-height:1.5}.ab-msg span{color:var(--color-dim);margin-bottom:.3rem;font-size:.72rem;display:block}.ab-msg--in{background:var(--color-ink-raise);color:var(--color-canvas)}.ab-msg--out{background:color-mix(in oklab, var(--color-signal) 18%, var(--color-ink-soft));box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--color-signal) 45%, transparent);color:var(--color-canvas);justify-self:end}.ab-reply-next{border-top:1px solid var(--color-line-dark);color:var(--color-dim);flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:.8rem;font-size:.85rem;display:flex}.ab-reply-next b{color:var(--color-signal-bright);font-weight:500}.ab-demo{text-align:right;color:var(--color-dim);font-size:.72rem}.ab-wall{width:min(100%,32rem);height:clamp(18rem,12rem + 20vw,26rem);margin-inline:auto;position:relative}.ab-shot{background:var(--color-ink-raise);width:78%;box-shadow:0 24px 48px -24px #000000b3, inset 0 0 0 1px var(--color-line-dark);top:calc(var(--i) * 18%);left:calc(var(--i) * 11%);border-radius:10px;position:absolute;overflow:hidden}.ab-shot-bar{color:var(--color-dim);align-items:center;gap:.3rem;padding:.45rem .7rem;font-size:.7rem;display:flex}.ab-shot-bar i{background:var(--color-line-dark);border-radius:50%;width:.4rem;height:.4rem}.ab-shot-bar span{margin-left:.4rem}.ab-shot img{object-fit:cover;object-position:top;width:100%;height:clamp(8rem,5rem + 8vw,12rem);display:block}.ab-group{background:var(--color-canvas);padding-block:clamp(4rem,3rem + 4vw,7rem)}.ab-group--dark{background:var(--color-ink);color:var(--color-canvas)}.ab-group-h{max-width:48rem;font-family:var(--font-display);font-size:var(--text-h2);text-wrap:balance;margin-top:1rem;line-height:1.1}.ab-group-lead{max-width:42rem;font-size:var(--text-lead);color:var(--color-muted);margin-top:1.25rem;line-height:1.6}.ab-group--dark .ab-group-lead{color:var(--color-dim)}.ab-works{gap:1rem;margin-top:2.5rem;display:grid}@media (min-width:768px){.ab-works{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.ab-works{grid-template-columns:repeat(3,minmax(0,1fr))}}.ab-work{background:var(--color-paper);min-width:0;box-shadow:inset 0 0 0 1px var(--color-line);border-radius:14px;flex-direction:column;padding:1.5rem;display:flex}.ab-group--dark .ab-work{background:var(--color-ink-raise);box-shadow:inset 0 0 0 1px var(--color-line-dark)}.ab-work-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--color-bronze);font-size:.75rem}.ab-group--dark .ab-work-tag{color:var(--color-signal)}.ab-work-k{font-family:var(--font-display);color:var(--color-ink);margin-top:.5rem;font-size:1.3rem;line-height:1.25}.ab-group--dark .ab-work-k{color:var(--color-canvas)}.ab-work-d{color:var(--color-muted);margin-top:.6rem;line-height:1.6}.ab-group--dark .ab-work-d{color:var(--color-dim)}.ab-work-nums{border-top:1px solid var(--color-line-dark);grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.25rem;padding-top:1rem;display:grid}.ab-work-nums dt{font-family:var(--font-display);color:var(--color-signal-bright);font-size:1.2rem}.ab-work-nums dd{color:var(--color-dim);margin-top:.2rem;font-size:.8rem;line-height:1.35}.ab-work-url{color:var(--color-ink);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong);margin-top:auto;padding-top:1rem;font-size:.88rem}.ab-group--dark .ab-work-url{color:var(--color-canvas);-webkit-text-decoration-color:var(--color-line-dark);text-decoration-color:var(--color-line-dark)}.ab-more{font-family:var(--font-display);text-underline-offset:5px;text-decoration:underline;-webkit-text-decoration-color:var(--color-signal);text-decoration-color:var(--color-signal);font-size:1.1rem}.ab-quote{background:var(--color-ink-raise);box-shadow:inset 0 0 0 1px var(--color-line-dark);border-radius:14px;padding:1.75rem}.ab-quote blockquote{font-family:var(--font-display);color:var(--color-canvas);font-size:clamp(1.6rem,1.2rem + 1.5vw,2.3rem);line-height:1.15}.ab-quote figcaption{color:var(--color-dim);margin-top:1.25rem;font-size:.9rem;display:grid}.ab-quote figcaption b{color:var(--color-canvas);font-weight:500}@media (prefers-reduced-motion:no-preference){.ab-facts li,.ab-msg,.ab-reply-next,.ab-shot{animation:ab-in .55s var(--ease-out,ease-out) both;animation-delay:calc(.3s + var(--i) * .5s)}}
