:root{--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-md: 18px;--font-size-lg: 20px;--font-size-xl: 24px;--font-size-2xl: 30px;--font-size-3xl: 36px;--font-size-4xl: 48px;--line-height-tight: 1.1;--line-height-snug: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-family-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "Courier New", monospace}:root{--palette-black-1: #070707;--palette-black-2: #0d0d0d;--palette-black-3: #111111;--palette-black-4: #161616;--palette-black-5: #191919;--palette-orange-1: #fb7b0c;--palette-orange-2: #ff9411;--palette-orange-3: #ff942f;--palette-orange-4: #fbab4a;--palette-orange-5: #ffb671;--color-bg-base: var(--palette-black-1);--color-bg-surface: var(--palette-black-2);--color-bg-elevated: var(--palette-black-3);--color-bg-hover: var(--palette-black-4);--color-bg-active: var(--palette-black-5);--color-accent: var(--palette-orange-3);--color-accent-hover: var(--palette-orange-1);--color-accent-active: var(--palette-orange-2);--color-accent-muted: var(--palette-orange-4);--color-accent-subtle: var(--palette-orange-5);--color-text-primary: #ffffff;--color-text-secondary: rgba(255, 255, 255, .65);--color-text-tertiary: rgba(255, 255, 255, .35);--color-text-disabled: rgba(255, 255, 255, .2);--color-text-on-accent: var(--palette-black-1);--color-border-subtle: rgba(255, 255, 255, .06);--color-border-default: rgba(255, 255, 255, .12);--color-border-strong: rgba(255, 255, 255, .24)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-relaxed);background-color:var(--color-bg-base);color:var(--color-text-primary)}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug)}h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal)}h5{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}small{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.text-display{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.text-h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug)}.text-h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.text-h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.text-h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal)}.text-h5{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.text-h6{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.text-body{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-relaxed)}.text-small{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.text-caption{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.text-button{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;letter-spacing:.02em}.site-header{display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:80px 72px;padding-inline:24px;gap:20px}.site-title{letter-spacing:-.02em}.site-tagline{color:var(--color-text-secondary);max-width:520px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin-inline:auto;padding-inline:24px;padding-bottom:80px}.shader-page-nav{height:52px;display:flex;align-items:center;gap:20px;padding-inline:24px;background-color:var(--color-bg-surface);border-bottom:1px solid var(--color-border-subtle)}.shader-page-nav__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.btn-back{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;transition:color .12s ease}.btn-back:hover{color:var(--color-text-primary)}.shader-embed{height:calc(100vh - 52px)}.shader-embed iframe{width:100%;height:100%;border:none;display:block}.site-footer{border-top:1px solid var(--color-border-subtle);padding-block:32px;text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:11px 28px;background-color:var(--color-accent);color:var(--color-text-on-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;letter-spacing:.02em;border:none;border-radius:6px;text-decoration:none;cursor:pointer;transition:background-color .12s ease}.btn-primary:hover{background-color:var(--color-accent-hover)}.btn-primary:active{background-color:var(--color-accent-active)}.shader-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:10px;overflow:hidden;transition:border-color .16s ease,background-color .16s ease}.shader-card:hover{background-color:var(--color-bg-elevated);border-color:var(--color-border-default)}.shader-card__preview{aspect-ratio:16 / 9;background-color:var(--color-bg-elevated);position:relative}.shader-card__body{padding:14px 16px;display:flex;flex-direction:column;gap:4px}.shader-card__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text-primary)}.shader-card__badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-muted)}a.shader-card{display:block;text-decoration:none;color:inherit}.shader-card__thumbnail{width:100%;height:100%;object-fit:cover;display:block}.shader-card__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .22s ease;z-index:1}.shader-card--live:hover .shader-card__video{opacity:1}.shader-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .16s ease;z-index:2}.shader-card--live:hover .shader-card__overlay{opacity:1}.shader-card__cta{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);letter-spacing:.04em}.shader-card__desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.shader-card--coming-soon .shader-card__preview:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-45deg,transparent,transparent 6px,var(--color-border-subtle) 6px,var(--color-border-subtle) 7px)}
