*{box-sizing:border-box}:root{--paper:#282e31;--ink:#d0e0ff;--muted:#d0e0ffa3;--line:#d0e0ff38;--accent:#f0f5ff;--site-header-height:64px}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0}body{overscroll-behavior:none;font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif}html.home-scroll-lock,body.home-scroll-lock{height:100dvh;overflow:hidden}html:has(.home-page){height:100dvh;overflow:hidden}body:has(.home-page){height:100dvh;overflow:hidden}html.photo-modal-lock,body.photo-modal-lock{overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}img{max-width:100%;display:block}.site-header{z-index:20;background:color-mix(in srgb, var(--paper) 88%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:center;min-height:64px;padding:0 32px;display:flex;position:sticky;top:0}.site-nav{align-items:center;gap:clamp(22px,5vw,56px);display:flex}.site-nav a{min-height:64px;color:var(--muted);align-items:center;font-size:14px;transition:color .16s;display:inline-flex;position:relative}.site-nav a:after{content:"";opacity:0;background:currentColor;height:1px;transition:opacity .16s,transform .16s;position:absolute;bottom:15px;left:0;right:0;transform:scaleX(.42)}.site-nav a:hover,.site-nav a.active{color:var(--ink)}.site-nav a.active:after{opacity:1;transform:scaleX(1)}.page-shell{width:min(100%,1480px);margin:0 auto;padding:clamp(28px,4vw,64px)}.home-page{width:100%;max-width:none;height:calc(100dvh - var(--site-header-height));margin:0;padding:clamp(4px,.65vw,10px);overflow:hidden}.home-gallery{width:100%;height:100%;position:relative;overflow:hidden}.home-tile{position:absolute;overflow:visible}.home-tile img{object-fit:contain;width:100%;height:100%}.photo-page{gap:32px;display:grid}.photo-toolbar{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.photo-toolbar h1{margin:0;font-size:clamp(40px,8vw,120px);font-weight:500;line-height:.9}.photo-filter-list{justify-items:end;gap:8px;display:grid}.photo-filter-group{grid-template-columns:58px auto;align-items:center;gap:10px;width:max-content;max-width:100%;display:grid}.photo-filter-label{color:var(--muted);font-size:12px}.photo-filter-options{flex-wrap:wrap;justify-content:flex-end;gap:8px 16px;min-width:0;display:flex}.filter-chip{min-height:28px;color:var(--muted);font-size:14px;transition:color .16s;position:relative}.filter-chip:after{content:"";opacity:0;background:currentColor;height:1px;transition:opacity .16s,transform .16s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(.45)}.filter-chip:hover,.filter-chip.active{color:var(--ink)}.filter-chip.active:after{opacity:1;transform:scaleX(1)}.photo-grid{columns:4 240px;column-gap:clamp(14px,2vw,28px)}.photo-figure{--photo-reveal-delay:0s;break-inside:avoid;width:100%;margin:0 0 clamp(18px,2.2vw,32px);display:inline-block}.photo-frame{aspect-ratio:var(--photo-ratio);background:color-mix(in srgb, var(--ink) 5%, transparent);place-items:center;display:grid;overflow:hidden}.photo-frame-button{cursor:zoom-in;width:100%}.photo-frame-button:focus-visible,.photo-modal-button:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.photo-frame img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .42s,transform .52s;transform:translateY(10px)scale(.985)}.photo-figure.is-photo-loaded .photo-frame img{opacity:1;transition-delay:var(--photo-reveal-delay);transform:translateY(0)scale(1)}.photo-frame-button:hover img,.photo-frame-button:focus-visible img{opacity:.86;transition-delay:0s;transform:scale(1.018)}.photo-figure figcaption{color:var(--muted);opacity:0;margin-top:8px;font-size:12px;transition:opacity .36s,transform .44s;transform:translateY(6px)}.photo-figure.is-photo-loaded figcaption{opacity:1;transition-delay:calc(var(--photo-reveal-delay) + 60ms);transform:translateY(0)}.photo-modal{z-index:100;background:color-mix(in srgb, var(--paper) 84%, black 16%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;will-change:opacity;place-items:center;padding:clamp(64px,7vw,92px) clamp(76px,9vw,132px) clamp(28px,5vw,56px);display:grid;position:fixed;inset:0}.photo-modal.is-closing{pointer-events:none}.photo-modal-figure{grid-template-rows:minmax(0,1fr) auto;gap:14px;width:100%;min-width:0;height:100%;min-height:0;margin:0;display:grid}.photo-modal-image{opacity:0;will-change:opacity, transform;width:100%;min-width:0;height:100%;min-height:0;position:relative}.photo-modal-image img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.photo-modal-figure figcaption{min-width:0;color:var(--muted);opacity:0;will-change:opacity, transform;justify-content:space-between;gap:20px;font-size:12px;display:flex}.photo-modal-figure figcaption span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.photo-modal-figure figcaption span:last-child{flex:none}.photo-modal-button{z-index:2;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 70%, transparent);width:48px;height:48px;color:var(--ink);opacity:0;will-change:opacity;border-radius:50%;place-items:center;transition:background .16s,border-color .16s,color .16s;display:grid;position:absolute}.photo-modal-button:hover{border-color:color-mix(in srgb, var(--ink) 72%, transparent);background:color-mix(in srgb, var(--ink) 14%, var(--paper));color:var(--accent)}.photo-modal-button:disabled{cursor:default}.photo-modal-button svg{width:24px;height:24px}.photo-modal-close{top:max(18px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right))}.photo-modal-previous,.photo-modal-next{top:50%;transform:translateY(-50%)}.photo-modal-previous{left:max(18px, env(safe-area-inset-left))}.photo-modal-next{right:max(18px, env(safe-area-inset-right))}.profile-page{grid-template-columns:minmax(280px,.68fr) minmax(360px,1fr);align-items:start;gap:clamp(32px,5vw,80px);min-height:calc(100vh - 64px);display:grid}.profile-copy{align-self:start}.profile-name{--profile-name-size:clamp(56px, 8vw, 112px);align-items:center;gap:clamp(12px,2vw,18px);margin-bottom:24px;display:flex}.profile-icon{width:var(--profile-name-size);height:var(--profile-name-size);flex:none}.profile-name h1{font-size:var(--profile-name-size);margin:0;font-weight:500;line-height:1}.profile-copy p{max-width:620px;color:var(--muted);margin:0;line-height:1.9}.profile-links{flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px;display:flex}.profile-links a{color:var(--ink);align-items:center;gap:8px;font-size:14px;transition:color .18s;display:inline-flex}.profile-links a:hover{color:var(--accent)}.profile-link-icon{width:24px;height:24px;color:var(--ink);place-items:center;display:inline-grid}.profile-link-icon svg{width:18px;height:18px}.award-showcase{align-content:start;gap:clamp(34px,5vw,64px);min-width:0;display:grid}.award-photo{width:100%;aspect-ratio:var(--award-photo-ratio);background:color-mix(in srgb, var(--ink) 5%, transparent);position:relative;overflow:hidden}.award-photo img{object-fit:contain;width:100%;height:100%}.award-copy{gap:12px;min-width:0;display:grid}.award-photo-link,.award-copy-link{min-width:0;display:block}.award-linked-copies{gap:12px;min-width:0;display:grid}.award-copy-link+.award-copy-link{border-top:1px solid var(--line);padding-top:12px}.award-heading{gap:6px;min-width:0;display:grid}.award-heading h2,.award-heading h3,.award-heading p{color:var(--ink);margin:0;font-weight:500;line-height:1.02}.award-heading h2{font-size:clamp(24px,2.7vw,38px)}.award-heading h3{font-size:clamp(18px,1.7vw,26px)}.award-heading p{color:color-mix(in srgb, var(--ink) 84%, transparent);font-size:clamp(16px,1.45vw,22px)}.award-detail{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.award-detail p,.award-detail span{margin:0}.award-feature-layout{display:grid}.award-feature-main{border-top:1px solid var(--line);grid-template-columns:minmax(220px,.68fr) minmax(260px,.9fr);align-items:end;gap:clamp(20px,3.5vw,42px);padding-top:18px;transition:border-color .18s,transform .18s;display:grid}.award-feature-main:hover{border-top-color:var(--ink);transform:translateY(-3px)}.award-feature-main .award-photo-link{justify-self:start;width:min(100%,520px)}.award-feature-main .award-heading h2{font-size:clamp(32px,4.8vw,64px)}.award-timeline{gap:34px;display:grid}.award-year-group{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:clamp(18px,3vw,34px);display:grid}.award-year{top:calc(var(--site-header-height) + 28px);color:var(--ink);margin:0;font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1;position:sticky}.award-year-items{border-left:1px solid var(--line);display:grid}.award-timeline-card{grid-template-columns:minmax(76px,118px) minmax(0,1fr);align-items:start;gap:16px;min-width:0;padding:0 0 24px 22px;transition:transform .18s;display:grid;position:relative}.award-timeline-card:before{background:var(--ink);content:"";border-radius:50%;width:9px;height:9px;position:absolute;top:10px;left:-5px}.award-timeline-card:hover{transform:translate(4px)}.award-photo--timeline{width:100%}.award-timeline-card .award-heading h3,.award-timeline-card .award-heading p{font-size:14px;line-height:1.12}.award-timeline-card .award-detail{font-size:11px}.game-page{gap:clamp(28px,4vw,56px);display:grid}.game-hero{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.game-identity{align-items:flex-end;gap:clamp(14px,2.4vw,24px);display:flex}.game-profile span{color:var(--muted);letter-spacing:0;margin:0;font-size:13px}.game-identity h1{margin:0;font-size:clamp(40px,8vw,120px);font-weight:500;line-height:.9}.game-profile{text-align:right;flex-direction:column;align-items:flex-end;gap:8px;min-width:0;display:flex}.game-profile a{min-width:0;color:var(--ink);align-items:center;gap:8px;font-size:14px;transition:color .16s;display:inline-flex}.game-profile a:hover{color:#a4d007}.game-profile svg{flex:none;width:18px;height:18px}.game-timeline-image{aspect-ratio:1;border:1px solid var(--line);background:linear-gradient(135deg, #66c0f41a, transparent 42%), color-mix(in srgb, var(--ink) 4%, transparent);border-radius:8px;width:100%;max-width:760px;display:block;position:relative;overflow:hidden}.game-timeline-image:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.game-timeline-image img{object-fit:contain;width:100%;height:100%;transition:opacity .18s,transform .22s}.game-timeline-image:hover img,.game-timeline-image:focus-visible img{opacity:.9;transform:scale(1.012)}.game-timeline-view{gap:clamp(30px,5vw,68px);display:grid}.game-timeline-item{border-top:1px solid var(--line);grid-template-columns:minmax(78px,.16fr) minmax(0,.84fr);align-items:end;gap:clamp(18px,3vw,40px);padding-top:24px;display:grid}.game-timeline-item:first-child{border-top:0;padding-top:0}.game-timeline-year{color:var(--ink);font-size:clamp(28px,5vw,64px);font-weight:500;line-height:.92}@media (max-width:980px){.profile-page{grid-template-columns:1fr}.award-year{position:static}.game-hero{flex-direction:column;align-items:flex-start}.game-profile{text-align:left;align-items:flex-start}.game-timeline-item{grid-template-columns:1fr}}@media (max-width:680px){:root{--site-header-height:56px}.site-header{min-height:56px;padding:0 16px}.site-nav a{min-height:56px}.page-shell{padding:28px 16px 48px}.home-page{padding:4px}.photo-toolbar{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.photo-filter-list{justify-items:start}.photo-filter-group{grid-template-columns:58px minmax(0,1fr);width:100%}.photo-filter-options{justify-content:flex-start}.photo-modal{padding:64px 14px calc(88px + env(safe-area-inset-bottom))}.photo-modal-button{width:46px;height:46px}.photo-modal-previous,.photo-modal-next{top:auto;bottom:calc(20px + env(safe-area-inset-bottom));transform:none}.photo-modal-previous{left:calc(50% - 60px)}.photo-modal-next{right:calc(50% - 60px)}.award-feature-main,.award-year-group{grid-template-columns:1fr}.award-feature-main .award-photo-link{width:min(100%,440px)}.award-timeline-card{grid-template-columns:minmax(72px,108px) minmax(0,1fr)}.award-year-items{margin-left:5px}}@media (max-width:460px){.award-timeline-card{grid-template-columns:1fr}.award-photo--timeline{width:min(100%,180px)}}@media (prefers-reduced-motion:reduce){.photo-frame img,.photo-figure figcaption{transition:none;transform:none}}
