.tag[data-astro-cid-tugpja7w]{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--text-xxs);color:var(--muted);border:1px solid var(--line);padding:3px 8px;border-radius:var(--radius-sm);letter-spacing:.02em}.project-card[data-astro-cid-vkfb35b5]{display:block;padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface-1);color:var(--text);text-decoration:none;transition:border-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),background var(--dur) var(--ease-out);position:relative}.project-card[data-astro-cid-vkfb35b5]:hover{border-color:var(--line-strong);transform:translateY(-3px);background:var(--surface-2)}.variant-featured[data-astro-cid-vkfb35b5]{display:grid;grid-template-columns:320px 1fr;gap:var(--sp-7);align-items:center;padding:var(--sp-7)}@media(max-width:900px){.variant-featured[data-astro-cid-vkfb35b5]{grid-template-columns:1fr}}.card-media[data-astro-cid-vkfb35b5]{min-height:220px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface-2);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2)}.card-media[data-astro-cid-vkfb35b5]:before{content:"";position:absolute;top:0;left:var(--sp-6);right:var(--sp-6);height:1px;background:var(--purple-bright);opacity:.55}.card-media-title[data-astro-cid-vkfb35b5]{font-family:var(--font-display);font-size:var(--text-lg);font-style:italic;color:var(--text)}.card-media-sub[data-astro-cid-vkfb35b5]{font-family:var(--font-mono);font-size:var(--text-xxs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--muted-2)}.card-title[data-astro-cid-vkfb35b5]{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;letter-spacing:-.015em;margin:var(--sp-3) 0 var(--sp-1)}.card-tagline[data-astro-cid-vkfb35b5]{color:var(--purple-bright);font-family:var(--font-display);font-style:italic;font-size:var(--text-sm);margin-bottom:var(--sp-3)}.card-desc[data-astro-cid-vkfb35b5]{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-body);margin-bottom:var(--sp-4)}.card-tags[data-astro-cid-vkfb35b5]{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.card-ext-hint[data-astro-cid-vkfb35b5]{position:absolute;top:var(--sp-6);right:var(--sp-6);color:var(--muted-2);transition:color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.card-ext-hint[data-astro-cid-vkfb35b5] svg[data-astro-cid-vkfb35b5]{width:16px;height:16px}.project-card[data-astro-cid-vkfb35b5]:hover .card-ext-hint[data-astro-cid-vkfb35b5]{color:var(--purple-bright);transform:translate(2px,-2px)}.obscura-card[data-astro-cid-jc5mdctj]{display:flex;flex-direction:column;padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface-1);color:var(--text);text-decoration:none;position:relative;transition:border-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),background var(--dur) var(--ease-out)}.obscura-card[data-astro-cid-jc5mdctj]:hover{border-color:color-mix(in oklab,var(--green) 40%,var(--line-strong));transform:translateY(-3px);background:var(--surface-2)}.oc-ledger[data-astro-cid-jc5mdctj]{display:flex;align-items:baseline;gap:6px;margin-bottom:var(--sp-4);font-family:var(--font-mono)}.oc-ledger-num[data-astro-cid-jc5mdctj]{font-family:var(--font-display);font-size:34px;font-weight:500;color:var(--green);letter-spacing:-.02em;line-height:1}.oc-ledger-total[data-astro-cid-jc5mdctj]{font-size:var(--text-xs);color:var(--muted);letter-spacing:.02em}.oc-ledger-bar[data-astro-cid-jc5mdctj]{flex-basis:100%;height:3px;border-radius:2px;background:var(--line);overflow:hidden;margin-top:6px}.oc-ledger-bar[data-astro-cid-jc5mdctj] span[data-astro-cid-jc5mdctj]{display:block;width:100%;height:100%;background:var(--green);box-shadow:0 0 8px color-mix(in oklab,var(--green) 60%,transparent)}.oc-title[data-astro-cid-jc5mdctj]{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;letter-spacing:-.015em;margin-bottom:var(--sp-1)}.oc-tagline[data-astro-cid-jc5mdctj]{color:var(--purple-bright);font-family:var(--font-display);font-style:italic;font-size:var(--text-sm);margin-bottom:var(--sp-3)}.oc-meta[data-astro-cid-jc5mdctj]{color:var(--muted-2);font-size:10.5px;letter-spacing:.03em}.oc-meta[data-astro-cid-jc5mdctj] .mono[data-astro-cid-jc5mdctj]{font-family:var(--font-mono)}.oc-ext-hint[data-astro-cid-jc5mdctj]{position:absolute;top:var(--sp-6);right:var(--sp-6);color:var(--muted-2);transition:color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.oc-ext-hint[data-astro-cid-jc5mdctj] svg[data-astro-cid-jc5mdctj]{width:16px;height:16px}.obscura-card[data-astro-cid-jc5mdctj]:hover .oc-ext-hint[data-astro-cid-jc5mdctj]{color:var(--green);transform:translate(2px,-2px)}.showcase[data-astro-cid-77sswhpo]{display:flex;flex-direction:column;gap:var(--sp-9);padding-top:var(--sp-6)}.show-card[data-astro-cid-77sswhpo]{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--sp-7);align-items:stretch;min-height:60vh;padding:var(--sp-8) 0;border-top:1px solid var(--line);position:relative}.show-card[data-astro-cid-77sswhpo]:first-child{border-top:none;padding-top:0}@media(max-width:900px){.show-card[data-astro-cid-77sswhpo]{grid-template-columns:1fr;min-height:0;gap:var(--sp-5);padding:var(--sp-6) 0}}.show-body[data-astro-cid-77sswhpo]{display:flex;flex-direction:column;gap:var(--sp-4);color:var(--text);text-decoration:none;padding-right:var(--sp-4)}.show-name[data-astro-cid-77sswhpo]{font-family:var(--font-display);font-size:clamp(32px,4.2vw,52px);font-weight:500;color:var(--text);letter-spacing:-.025em;line-height:1.02;margin-top:var(--sp-2)}.show-tag[data-astro-cid-77sswhpo]{color:var(--purple-bright);font-family:var(--font-display);font-size:var(--text-lg);font-weight:400}.show-tag[data-astro-cid-77sswhpo] em[data-astro-cid-77sswhpo]{font-style:italic}.show-desc[data-astro-cid-77sswhpo]{color:var(--muted);font-size:var(--text-md);line-height:var(--leading-body);max-width:540px}.show-meta[data-astro-cid-77sswhpo]{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:var(--sp-2)}.show-meta[data-astro-cid-77sswhpo] li[data-astro-cid-77sswhpo]{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;color:var(--muted);padding:3px 8px;border:1px solid var(--line);border-radius:2px}.show-cta[data-astro-cid-77sswhpo]{margin-top:var(--sp-4);display:inline-flex;align-items:center;gap:8px;color:var(--purple-bright);font-family:var(--font-display);font-size:var(--text-md);padding-bottom:4px;border-bottom:1px solid var(--purple-bright);align-self:flex-start;transition:gap var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.show-body[data-astro-cid-77sswhpo]:hover .show-cta[data-astro-cid-77sswhpo]{gap:14px}.show-cta-arrow[data-astro-cid-77sswhpo]{transition:transform var(--dur) var(--ease-out)}.show-body[data-astro-cid-77sswhpo]:hover .show-cta-arrow[data-astro-cid-77sswhpo]{transform:translate(4px)}.show-body[data-astro-cid-77sswhpo]:focus-visible{outline:2px solid var(--purple-bright);outline-offset:8px;border-radius:2px}.show-visual[data-astro-cid-77sswhpo]{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in oklab,var(--purple-deep) 45%,transparent),color-mix(in oklab,var(--surface-2) 90%,transparent));border:1px solid var(--line-strong);border-radius:4px;min-height:360px;position:relative;overflow:hidden}.show-visual[data-astro-cid-77sswhpo]:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,color-mix(in oklab,var(--purple-bright) 20%,transparent),transparent 50%),radial-gradient(circle at 80% 70%,color-mix(in oklab,var(--purple) 15%,transparent),transparent 55%);pointer-events:none}.show-visual-frame[data-astro-cid-77sswhpo]{display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;z-index:1;padding:var(--sp-6);text-align:center}.show-visual-slug[data-astro-cid-77sswhpo]{font-family:var(--font-mono);font-size:10px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--muted)}.show-visual-name[data-astro-cid-77sswhpo]{font-family:var(--font-display);font-size:clamp(32px,4vw,48px);color:var(--text);letter-spacing:-.02em;line-height:1;font-weight:500}.show-visual-role[data-astro-cid-77sswhpo]{font-family:var(--font-mono);font-size:10px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--purple-bright);padding:3px 8px;border:1px solid color-mix(in oklab,var(--purple-bright) 40%,transparent);border-radius:2px;margin-top:4px}@media(max-width:900px){.show-visual[data-astro-cid-77sswhpo]{min-height:200px}.show-visual-name[data-astro-cid-77sswhpo]{font-size:clamp(24px,5vw,36px)}}.showcase[data-astro-cid-77sswhpo]{perspective:1600px}.show-card[data-astro-cid-77sswhpo]{transform-style:preserve-3d}@supports (animation-timeline: view()){.show-card[data-astro-cid-77sswhpo]{opacity:0;animation:show-wheel linear both;animation-timeline:view();animation-range:cover 0% cover 100%}.show-card[data-astro-cid-77sswhpo]:nth-child(2n){animation-name:show-wheel-alt}}@keyframes show-wheel{0%{opacity:.15;transform:perspective(1600px) rotateY(-22deg) translateY(80px) scale(.94)}28%{opacity:1;transform:perspective(1600px) rotateY(0) translateY(0) scale(1)}72%{opacity:1;transform:perspective(1600px) rotateY(0) translateY(0) scale(1)}to{opacity:.35;transform:perspective(1600px) rotateY(22deg) translateY(-40px) scale(.97)}}@keyframes show-wheel-alt{0%{opacity:.15;transform:perspective(1600px) rotateY(22deg) translateY(80px) scale(.94)}28%{opacity:1;transform:perspective(1600px) rotateY(0) translateY(0) scale(1)}72%{opacity:1;transform:perspective(1600px) rotateY(0) translateY(0) scale(1)}to{opacity:.35;transform:perspective(1600px) rotateY(-22deg) translateY(-40px) scale(.97)}}@media(prefers-reduced-motion:reduce){.show-card[data-astro-cid-77sswhpo]{animation:none;opacity:1;transform:none}}@media(max-width:760px){@supports (animation-timeline: view()){.show-card[data-astro-cid-77sswhpo]{animation-name:show-mobile-in}.show-card[data-astro-cid-77sswhpo]:nth-child(2n){animation-name:show-mobile-in}}@keyframes show-mobile-in{0%{opacity:0;transform:translateY(30px)}35%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}}
