/* Native page transitions, lightweight interaction and original-work reading rooms. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:none;opacity:0}
::view-transition-new(root){animation:none;opacity:1;mix-blend-mode:normal}
::view-transition-group(*){animation-duration:.65s;animation-timing-function:cubic-bezier(.16,1,.3,1)}
@keyframes soft-orbit{0%,100%{transform:translate3d(-2%,0,0) rotate(-5deg) scale(1)}50%{transform:translate3d(3%,2%,0) rotate(5deg) scale(1.06)}}
@keyframes little-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(3deg)}}
@keyframes orbit-ring{to{transform:rotate(360deg)}}
:root{--read-progress:0}
.site-header,body[data-page="project"] .site-header{position:sticky;top:0;z-index:40;transition:background .35s ease,box-shadow .35s ease;view-transition-name:site-header}
.site-header:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#f0b181,#b5cbf4,#93d1c1);transform-origin:left;transform:scaleX(var(--read-progress));opacity:.9}
.site-header.is-scrolled,body[data-page="project"] .site-header.is-scrolled{min-height:88px;background:#343d5beF;backdrop-filter:blur(18px);box-shadow:0 8px 25px #17203618}
.site-header nav>a{position:relative;transition:color .2s ease,background .2s ease,transform .2s ease}.site-header nav>a:active{transform:translateY(1px)}
.site-header nav>a:not(.nav-pdf){border-bottom-color:transparent!important}.site-header nav>a:not(.nav-pdf):after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.2,.7,.3,1)}.site-header nav>a:hover:after,.site-header nav>a[aria-current]:after{transform:scaleX(1);transform-origin:left}
.selected-work{position:relative;isolation:isolate;overflow:hidden;background:#34405d;background-image:radial-gradient(ellipse at var(--mouse-x,78%) var(--mouse-y,15%),#7793bd24,transparent 42%),radial-gradient(ellipse at 4% 5%,#b6c9f222,transparent 38%),radial-gradient(ellipse at 94% 65%,#e4ac8e14,transparent 38%)}
.selected-work:before,.other-intro:before,.work-case-hero:before{content:'';position:absolute;inset:-15%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 18% 24%,#9ec9cc1d,transparent 35%),radial-gradient(ellipse at 90% 40%,#e7bc951b,transparent 36%),repeating-radial-gradient(ellipse at 70% 10%,transparent 0 88px,#c4d0e20b 89px 90px,transparent 91px 178px);animation:soft-orbit 24s ease-in-out infinite;will-change:transform}
.selected-work:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.14;background-image:radial-gradient(#d6e4ef 0.5px,transparent .5px);background-size:6px 6px;mask-image:linear-gradient(180deg,#0009,transparent 72%)}
.work-heading{position:relative;align-items:center}.work-heading-title{position:relative;z-index:1}.work-heading h1{font-size:clamp(44px,5.6vw,76px);letter-spacing:-.055em}.work-heading h1 span{display:inline-block;}.work-heading h1 span+span{animation-delay:.08s;color:#f3c8a1}.work-heading>.eyebrow{}.work-heading>p{margin-left:auto;max-width:280px}.heading-signature{position:relative;flex:0 0 120px;height:110px;margin:0 10px 0 auto;display:grid;place-items:center}.heading-signature .heading-cat{position:relative;z-index:2;width:70px;height:78px;object-fit:contain;image-rendering:pixelated;animation:little-float 5s ease-in-out infinite;filter:drop-shadow(0 8px 8px #1c253448)}.signature-orbit{position:absolute;width:105px;height:105px;border:1px solid #d5ded54d;border-radius:50%;transform:rotate(-20deg)}.signature-orbit:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;left:10px;top:12px;background:#f0c098;box-shadow:70px 60px 0 -1px #afc8db}
.project-art,.other-piece-gallery{translate:0 0;transition:translate .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease}.project-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,30%),#fff3d81a,transparent 50%);opacity:0;transition:opacity .35s ease}.project-art:hover:after{opacity:1}.project-art:hover{translate:0 -3px;box-shadow:0 22px 42px #15243a60}.project-art .open-arrow{transition:transform .3s ease,background .3s ease}.project-art:hover .open-arrow{transform:rotate(-8deg) translate(2px,-2px);background:#f0c49c}.card-meta h2 a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s ease,color .2s ease}.card-meta h2 a:hover{background-size:100% 1px}
.game-hero-background{transform:translateY(var(--hero-drift,0px)) scale(1.08);will-change:transform}.project-hero-voices{view-transition-name:project-voices}.project-hero-dawn{view-transition-name:project-dawn}.project-hero-echoes{view-transition-name:project-echoes}.project-hero-space{view-transition-name:project-space}.project-hero-nikki{view-transition-name:project-nikki}.game-hero-center{}.game-hero-actions>a{transition:transform .25s ease,background .25s ease}.game-hero-actions>a:hover{transform:translateY(-3px)}
.case-paper,.other-paper,.earlier-games,.work-detail-paper{background-image:radial-gradient(#b8a67e12 .7px,transparent .7px),linear-gradient(135deg,#fff9eb66,transparent 45%);background-size:9px 9px,100% 100%}.case-figure .image-button{transition:box-shadow .3s ease}.case-figure .image-button:hover{box-shadow:0 10px 24px #29354b14}.lightbox[open]{animation:viewer-in .3s ease}.lightbox::backdrop{background:#172239e8;backdrop-filter:blur(10px)}@keyframes viewer-in{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
.other-intro{isolation:isolate;overflow:hidden;max-width:none;width:100%;padding-inline:max(40px,calc((100vw - var(--max))/2));background:radial-gradient(ellipse at 15% 20%,#8a78a137,transparent 47%),radial-gradient(ellipse at var(--mouse-x,85%) var(--mouse-y,40%),#92b9bc24,transparent 44%),#3b4263}.other-intro h1{}.other-chapters a{position:relative;transition:transform .25s ease,color .25s ease}.other-chapters a:hover{transform:translateY(-3px)}.other-piece-copy h3 a:hover{color:#5683a0}.other-piece-copy .text-link:hover,.writing-list a:hover{color:#476e8b}
/* A different reading room for each work, using its existing palette. */
.work-case{background:var(--work-paper,#f4f0e4)}.work-case-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--work-ink,#263c55);color:var(--work-paper,#f4f0e4);padding:28px 0 58px}.work-case-hero:before{background:radial-gradient(ellipse at 20% 15%,color-mix(in srgb,var(--work-accent) 17%,transparent),transparent 45%),repeating-radial-gradient(ellipse at 85% 50%,transparent 0 75px,#ffffff08 76px 77px,transparent 78px 160px)}.work-return{font-size:11px;display:inline-block;color:var(--work-accent);margin-bottom:35px}.work-return:hover{color:white}.work-hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.work-hero-copy .eyebrow{font-size:10px;letter-spacing:.1em;color:var(--work-accent);margin-bottom:18px}.work-hero-copy h1{font-size:clamp(35px,4.25vw,60px);font-weight:600;line-height:1.13;letter-spacing:-.045em;margin-bottom:23px;}.work-hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.95;color:color-mix(in srgb,var(--work-paper) 83%,transparent);max-width:450px}.work-actions{display:flex;gap:27px;flex-wrap:wrap;margin-top:28px}.work-actions a{font-size:11px;color:var(--work-accent);padding:0 0 5px;border-bottom:1px solid color-mix(in srgb,var(--work-accent) 60%,transparent);transition:transform .25s ease}.work-actions a:hover{transform:translateY(-2px)}.work-hero-image{position:relative;background:#ffffff0a;padding:18px;min-width:0;box-shadow:0 16px 50px #0e1b3225;}.work-hero-image img{width:100%;height:380px;object-fit:contain;position:relative;z-index:2}.work-image-orbit{position:absolute;inset:-18px;border:1px solid #ffffff12;pointer-events:none;transform:rotate(-2deg);z-index:-1}.work-detail-paper{background-color:var(--work-paper);position:relative;color:#34404a}.work-detail-paper:before{content:'';position:absolute;top:-13px;height:15px;left:0;width:100%;background:var(--work-paper);clip-path:polygon(0 40%,5% 20%,10% 45%,15% 25%,20% 42%,25% 20%,30% 38%,35% 23%,40% 44%,45% 20%,50% 37%,55% 22%,60% 42%,65% 20%,70% 36%,75% 24%,80% 43%,85% 20%,90% 37%,95% 22%,100% 41%,100% 100%,0 100%)}.work-approach{display:grid;grid-template-columns:.65fr 1.35fr;gap:55px;padding:50px 0;border-bottom:1px solid #7c81732b}.work-approach>.eyebrow{font-size:10px;color:var(--work-ink);letter-spacing:.09em;padding-top:8px}.work-approach h2{font-size:30px;line-height:1.3;font-weight:600;letter-spacing:-.03em;margin-bottom:19px;color:var(--work-ink)}.work-approach p:not(.eyebrow){font-size:14px;line-height:1.95;max-width:800px;color:#5b626b}.work-gallery-section,.work-documents,.work-performance{padding:46px 0;border-bottom:1px solid #7c81732b;scroll-margin-top:90px}.detail-section-heading{margin-bottom:27px}.detail-section-heading>.eyebrow{font-size:9px;letter-spacing:.12em;color:var(--work-ink);opacity:.75}.detail-section-heading h2{font-size:36px;font-weight:600;letter-spacing:-.04em;color:var(--work-ink);margin:10px 0 12px}.detail-section-heading>p:not(.eyebrow){font-size:11px;color:#737d80}.work-gallery-images{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.work-gallery .image-button{background:#ffffff60}.work-gallery .image-button img{width:100%;height:auto;max-height:750px;object-fit:contain}.work-gallery figcaption{font-size:10px;color:#777f80;margin-top:10px}.work-gallery-item[hidden]{display:none!important}.work-book.book-enhanced .work-gallery-images{display:block;background:#ffffff65;min-height:200px}.work-book.book-enhanced .image-button{background:transparent;padding:20px}.work-book.book-enhanced .image-button img{max-height:min(73vh,800px);width:100%;object-fit:contain}.work-book.book-enhanced figcaption{padding:0 20px 18px;margin:0}.book-controls{display:flex;align-items:center;justify-content:center;gap:38px;margin-top:24px}.book-controls button{width:42px;height:42px;border:1px solid #7582895c;border-radius:50%;background:transparent;font-size:22px;transition:background .2s ease,color .2s ease,transform .2s ease}.book-controls button:hover{background:var(--work-ink);color:var(--work-paper);transform:translateY(-2px)}.book-page-count{font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.12em}.book-pages{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:20px}.book-pages button{font-size:10px;border:0;border-bottom:1px solid transparent;background:transparent;color:#5e7079;padding:6px 9px}.book-pages button[aria-pressed=true]{color:var(--work-ink);border-color:var(--work-ink);font-weight:600}.work-documents .document-block+.document-block{margin-top:27px}.document-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0;border-top:1px solid #7582893d}.document-heading h3{font-size:19px;font-weight:600;line-height:1.5;letter-spacing:-.02em}.document-heading p{font-size:10px;color:#7b8487;margin-top:4px}.document-download{font-size:11px;border:1px solid #74838c63;padding:9px 14px;display:flex;gap:20px}.document-download:hover{background:var(--work-ink);color:var(--work-paper)}.pdf-reader{border:1px solid #74838c45;background:#ffffff30}.pdf-reader summary,.diagram-detail summary{padding:17px 20px;font-size:12px;cursor:pointer;display:flex;justify-content:space-between;list-style:none}.pdf-reader summary::-webkit-details-marker,.diagram-detail summary::-webkit-details-marker{display:none}.pdf-reader[open] summary>span,.diagram-detail[open] summary>span{transform:rotate(45deg)}.pdf-reader iframe{display:block;width:100%;height:800px;max-height:84vh;border:0;background:white}.is-long-diagram .work-gallery-images{grid-template-columns:1fr}.is-long-diagram .image-button img{max-height:700px;object-fit:contain}.diagram-detail{margin-top:25px;border:1px solid #74838c45}.diagram-detail>p{font-size:11px;color:#70818a;margin:0 20px 20px}.diagram-canvas{height:650px;max-height:78vh;overflow:auto;background:white;border-block:1px solid #74838c25}.diagram-canvas img{width:2400px;max-width:none;height:auto;margin:0}.diagram-detail>.text-link{margin:20px;font-size:11px}.playlist-player{aspect-ratio:16/9;position:relative;background:#242c3a}.playlist-player>button{border:0;padding:0;position:absolute;inset:0;width:100%;height:100%;background:none;color:white;cursor:pointer}.playlist-player>button>img{width:100%;height:100%;object-fit:cover;filter:brightness(.78)}.playlist-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:80px;height:80px;border:1px solid #fff9e4;border-radius:50%;display:grid;place-items:center;font-size:25px;padding-left:4px;background:#293c5066;transition:background .25s ease,transform .25s ease}.playlist-player button:hover .playlist-play{background:#ddaf79bb;transform:translate(-50%,-50%) scale(1.08)}.playlist-label{position:absolute;left:25px;bottom:25px;font-size:11px;letter-spacing:.12em}.playlist-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.work-end-nav{display:flex;justify-content:space-between;gap:40px;align-items:center;padding:35px 0 55px}.work-end-nav>a:first-child{font-size:11px;color:#5b6e7a}.work-end-nav>a:last-child{max-width:50%;font-size:24px;display:grid;grid-template-columns:1fr auto;gap:7px 24px;align-items:center}.work-end-nav span:not([aria-hidden]){grid-column:span 2;font-size:9px;letter-spacing:.1em;color:#7b8990}.work-end-nav strong{font-size:22px;line-height:1.4;font-weight:600;letter-spacing:-.02em}.footer-email{transition:color .25s ease}.footer-email:hover{color:#f2b284!important}
@media(max-width:1050px){.heading-signature{flex-basis:90px;height:90px}.heading-signature .heading-cat{width:56px;height:65px}.signature-orbit{width:82px;height:82px}.work-heading>p{max-width:220px}.work-hero-grid{gap:35px}.work-hero-image img{height:330px}.work-hero-copy h1{font-size:44px}.work-approach{grid-template-columns:.5fr 1.5fr;gap:30px}}
@media(max-width:760px){.site-header.is-scrolled,body[data-page="project"] .site-header.is-scrolled{min-height:76px}.work-heading{padding-right:70px}.work-heading h1{font-size:43px;line-height:1.1}.work-heading h1 span{display:block}.work-heading>p{max-width:none;line-height:1.8;margin-left:0}.heading-signature{position:absolute;right:0;top:33px;width:65px;height:75px;margin:0}.heading-signature .heading-cat{width:45px;height:53px}.signature-orbit{width:63px;height:63px}.signature-orbit:after{width:5px;height:5px;left:4px;top:10px;box-shadow:42px 32px 0 -1px #bcd6eb}.other-intro{padding-inline:20px}.work-case-hero{padding:25px 0 40px}.work-return{font-size:10px;margin-bottom:26px}.work-hero-grid{grid-template-columns:1fr;gap:30px}.work-hero-copy h1{font-size:40px;line-height:1.13;margin-bottom:18px}.work-hero-copy>.eyebrow{font-size:9px;margin-bottom:14px}.work-hero-copy>p:not(.eyebrow){font-size:13px;max-width:none}.work-actions{margin-top:22px;gap:23px}.work-actions a{font-size:10px}.work-hero-image{padding:13px}.work-hero-image img{height:auto;max-height:350px;object-fit:contain}.work-image-orbit{inset:-9px}.work-approach{grid-template-columns:1fr;gap:16px;padding:33px 0}.work-approach>.eyebrow{padding-top:0;font-size:9px}.work-approach h2{font-size:27px;margin-bottom:16px}.work-approach p:not(.eyebrow){font-size:12px}.work-gallery-section,.work-documents,.work-performance{padding:34px 0}.detail-section-heading h2{font-size:30px}.work-gallery-images{grid-template-columns:1fr;gap:25px}.work-gallery .image-button img{max-height:none}.work-book.book-enhanced .image-button{padding:10px}.work-book.book-enhanced .image-button img{max-height:68vh}.work-book.book-enhanced figcaption{padding:0 10px 14px;font-size:9px}.book-controls{gap:30px;margin-top:20px}.book-pages{gap:4px}.book-pages button{padding:6px 8px;font-size:9px}.document-heading h3{font-size:17px}.document-download{font-size:10px;gap:12px;padding:9px 12px}.pdf-reader summary,.diagram-detail summary{font-size:11px;padding:15px}.pdf-reader iframe{height:70vh;max-height:700px}.diagram-canvas{height:60vh}.diagram-canvas img{width:2000px}.playlist-play{width:58px;height:58px;font-size:20px}.playlist-label{font-size:9px;left:16px;bottom:16px}.work-end-nav{align-items:flex-start;flex-direction:column;gap:25px;padding-bottom:40px}.work-end-nav>a:last-child{border-top:1px solid #74838c45;padding-top:22px;max-width:none;width:100%}.work-end-nav strong{font-size:22px}.project-art,.other-piece-gallery{transform:none!important}.game-hero-background{transform:scale(1.04);will-change:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.game-hero-background{transform:none;will-change:auto}.project-art,.other-piece-gallery{transform:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.work-heading h1 span,.work-hero-copy h1,.work-hero-image,.game-hero-center{opacity:1;filter:none;transform:none}}
html{scroll-padding-top:0}main section[id],.game-case section[id],.game-case details[id],.other-section{scroll-margin-top:105px}
.work-arknights-system .work-hero-image img,.work-gacha .work-hero-image img{object-fit:cover;object-position:top}
/* Twingo: a quiet, spacious case study around the original monochrome concept art. */
.twingo-hero{background:#e8e8de;color:#303d4b;padding:28px 0 60px;position:relative;background-image:radial-gradient(ellipse at 6% 15%,#c6d8d877,transparent 50%),radial-gradient(ellipse at 95% 95%,#e5c6b93d,transparent 45%)}.twingo-hero .work-return{color:#526e7b;margin-bottom:35px}.twingo-hero-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}.twingo-hero-grid>.twingo-hero-art{min-width:0}.twingo-hero-grid .eyebrow{font-size:9px;letter-spacing:.13em;color:#617b83;margin-bottom:25px}.twingo-hero h1{font-size:clamp(65px,7.7vw,105px);font-weight:600;letter-spacing:-.065em;line-height:1}.twingo-hero h1 span{display:block;font-size:clamp(22px,2.7vw,37px);line-height:1.35;letter-spacing:-.035em;margin-top:15px;font-weight:400;color:#5c7d86}.twingo-hero h1+p{font-size:13px;line-height:1.9;max-width:380px;margin-top:27px;color:#566672}.twingo-hero .text-link{font-size:11px;margin-top:28px;display:inline-flex;color:#3f6776}.twingo-hero-art{margin:0;padding:12px 12px 0;background:#f9f8f0;border:1px solid #a1b4b345;box-shadow:0 20px 45px #263e491a}.twingo-hero-art img{width:100%;height:auto}.twingo-hero-art figcaption{font-size:8px;letter-spacing:.1em;padding:14px 6px;color:#748184}.game-twingo .overview-copy h2{font-size:clamp(30px,3.5vw,44px);text-transform:none;letter-spacing:-.035em}.game-twingo .game-detail-primary .image-button{padding:14px;background:#fffefa}.game-twingo .game-detail-primary .source-crop{width:100%;height:auto;max-height:650px;object-fit:contain}.game-twingo .game-detail-wide .game-detail-copy{max-width:760px}.game-twingo .game-gallery-1{grid-template-columns:1fr}.game-twingo .game-gallery-1 .image-button{background:#fffefa;padding:14px}.game-twingo .game-gallery-1 img{width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:1050px){.twingo-hero-grid{gap:35px}}
@media(max-width:760px){.twingo-hero{padding:24px 0 40px}.twingo-hero .work-return{margin-bottom:27px}.twingo-hero-grid{grid-template-columns:1fr;gap:30px}.twingo-hero-grid .eyebrow{font-size:8px;margin-bottom:19px}.twingo-hero h1{font-size:70px}.twingo-hero h1 span{font-size:28px;margin-top:12px}.twingo-hero h1+p{font-size:12px;max-width:none;margin-top:21px}.twingo-hero .text-link{margin-top:20px}.twingo-hero-art{padding:9px 9px 0}.twingo-hero-art figcaption{font-size:7px;padding:12px 4px}.game-twingo .game-detail-primary .image-button,.game-twingo .game-gallery-1 .image-button{padding:9px}.game-twingo .game-detail-primary .source-crop{max-height:none}}
/* Stronger movement, stable opacity: artwork remains readable throughout. */
@keyframes chromatic-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes orbital-drift{0%{transform:translate3d(-3%,-1%,0) rotate(-8deg) scale(1)}50%{transform:translate3d(4%,3%,0) rotate(9deg) scale(1.09)}100%{transform:translate3d(-3%,-1%,0) rotate(-8deg) scale(1)}}
.selected-work:before{background:radial-gradient(ellipse at 12% 15%,#8ecbd537,transparent 37%),radial-gradient(ellipse at 90% 46%,#e9b7862d,transparent 40%),repeating-radial-gradient(ellipse at 70% 10%,transparent 0 88px,#c4d0e21b 89px 90px,transparent 91px 178px);animation:orbital-drift 20s ease-in-out infinite}
.selected-work{background-image:radial-gradient(ellipse at var(--mouse-x,78%) var(--mouse-y,15%),#a8cbe948,transparent 38%),radial-gradient(ellipse at 4% 5%,#b6c9f229,transparent 38%),radial-gradient(ellipse at 94% 65%,#e4ac8e20,transparent 38%)}
@supports(background-clip:text){.work-heading h1 span+span{background:linear-gradient(110deg,#f3bc97 12%,#fff1c6 36%,#a8d8ed 56%,#f3bc97 85%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:chromatic-flow 8s ease-in-out infinite}}
.signature-orbit{width:120px;height:100px;border-color:#d5ded584;animation:orbit-ring 22s linear infinite}.signature-orbit:before{content:'';position:absolute;inset:9px -8px;border:1px solid #a6cbd23b;border-radius:50%;transform:rotate(55deg)}
.project-art{transition:translate .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease}.project-art:hover{translate:0 -7px;box-shadow:0 26px 55px #14213980}.project-art:after{background:radial-gradient(ellipse at var(--shine-x,50%) var(--shine-y,30%),#fff8df42,transparent 55%);mix-blend-mode:screen}.project-art>img:not(.cover-logo){transition:transform .8s cubic-bezier(.16,1,.3,1);transform:translate3d(0,0,0) scale(1)}.project-art:hover>img:not(.cover-logo){transform:translate3d(var(--art-x,0px),var(--art-y,0px),0) scale(1.065)}.project-art:hover .open-arrow{transform:rotate(-12deg) translate(3px,-3px) scale(1.12)}
.archive-grid a{display:block;transition:translate .5s cubic-bezier(.16,1,.3,1)}.archive-grid a:hover{translate:0 -7px}.archive-grid a>img{transition:filter .5s ease;filter:saturate(.82)}.archive-grid a:hover>img{filter:saturate(1.12)}

.game-hero-background{transform:translateY(var(--hero-drift,0px)) scale(1.12)}
.case-figure .image-button:focus-visible{outline:2px solid #df9859;outline-offset:5px}.case-figure .image-button{transition:box-shadow .4s ease,translate .4s cubic-bezier(.16,1,.3,1)}.case-figure .image-button:hover{translate:0 -4px;box-shadow:0 14px 35px #29354b20}.lightbox[open]{animation:viewer-focus .45s cubic-bezier(.16,1,.3,1)}@keyframes viewer-focus{from{scale:.94;translate:0 28px}to{scale:1;translate:0 0}}
@media(max-width:760px){.signature-orbit{width:63px;height:63px}.project-art:hover{translate:0 -3px}.project-art:hover>img:not(.cover-logo){transform:scale(1.025)}.game-hero-background{transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.game-hero-background{transform:none}.project-art:hover,.case-figure .image-button:hover,.archive-grid a:hover{translate:none}.project-art:hover>img:not(.cover-logo){transform:none}}
/* Preserve source detail; keep unmodified captures alongside restored display views. */
.source-limited>.image-button{width:min(100%,var(--source-width));margin-inline:auto}.source-limited>figcaption{max-width:var(--source-width);margin-inline:auto}.source-reference{margin-top:15px;border:1px solid #89919a45;background:#ffffff45}.source-reference>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 15px;font-size:10px;color:#60717c}.source-reference>summary::-webkit-details-marker{display:none}.source-reference[open]>summary{border-bottom:1px solid #89919a35}.source-reference[open]>summary span{rotate:45deg}.source-reference>.case-figure{padding:15px}.source-reference>.case-figure figcaption{font-size:9px}.source-comparison{min-width:0}.source-original .image-button{translate:none!important;box-shadow:none!important}
.task-pool-diagram{background:#f8f6ff;color:#3b4560;border:1px solid #c7c9e0;padding:30px;margin:28px 0 20px;box-shadow:0 8px 25px #6b74a50c}.pool-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:23px;border-bottom:1px solid #cfd3e5}.pool-heading>span,.pool-draw>span{font-size:9px;letter-spacing:.1em;color:#7783a8}.pool-heading>p{font-size:17px;font-weight:500}.pool-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:25px}.pool-cases article{background:#fffefc;border:1px solid #d6d8e5;padding:22px 20px;text-align:center}.pool-case-number{display:block;font-size:10px;color:#a5a8bc}.pool-cases h3{font-size:18px;letter-spacing:-.025em;font-weight:500;line-height:1.4;margin:10px 0}.pool-flow-arrow{display:block;color:#9ba4c1;font-size:26px;margin:15px 0}.pool-label{font-size:8px;letter-spacing:.08em;color:#8993b2;margin-bottom:12px}.pool-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:7px}.pool-tags>span{display:inline-block;background:#eef0f6;border:1px solid #d8deed;color:#626b89;border-radius:3px;padding:7px 11px;font-size:10px}.pool-tags>.pool-version{background:#e7e7fa;border-color:#c8cbee;color:#5b63a4}.pool-join{display:flex;align-items:center;justify-content:center;gap:18px;color:#7f8bb6;font-size:29px;margin:17px 0}.pool-join span{width:25%;height:1px;background:#c3c9e2}.pool-draw{padding:23px;background:#e8eafa;border:1px solid #c7cdea;text-align:center}.pool-draw strong{display:block;font-weight:500;font-size:28px;letter-spacing:-.035em;margin:11px 0}.pool-draw p{font-size:11px;color:#77829c;line-height:1.7}
@media(max-width:760px){.task-pool-diagram{padding:20px 15px}.pool-heading{display:block;padding-bottom:18px}.pool-heading>p{margin-top:9px;font-size:17px}.pool-cases{grid-template-columns:1fr;gap:12px;margin-top:18px}.pool-cases article{padding:18px 15px}.pool-cases h3{font-size:18px;margin:8px 0}.pool-flow-arrow{font-size:22px;margin:10px 0}.pool-label{margin-bottom:10px}.pool-draw{padding:20px 12px}.pool-draw strong{font-size:25px}.source-reference>.case-figure{padding:10px}.source-reference>summary{font-size:9px}}
/* Contain parallax at the cover boundary; overview content has its own paint layer. */
.game-hero{overflow:hidden;isolation:isolate}.game-hero-background,.game-hero-shade{pointer-events:none}.case-overview{position:relative;z-index:1;isolation:isolate}.overview-layout{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start}.overview-layout.with-character{grid-template-columns:minmax(0,.48fr) minmax(0,1.25fr) minmax(0,.9fr)}.overview-layout>*{min-width:0}.overview-character{position:relative;align-self:center;margin:0;padding:5px 0}.overview-character img{display:block;width:100%;height:auto;max-height:280px;object-fit:contain}.overview-copy{position:relative}.overview-copy h2{line-height:1.2;text-wrap:balance}.overview-facts dd{overflow-wrap:anywhere}.game-detail-row{align-items:start}.game-hero-actions{flex-wrap:wrap}.game-hero-actions>a{max-width:100%}.work-hero-grid>*{min-width:0}.work-hero-copy h1{overflow-wrap:break-word}.document-heading{flex-wrap:wrap}.document-heading>div{min-width:0}.document-download{flex-shrink:0}.work-end-nav strong{overflow-wrap:anywhere}
/* Clear interaction cues without a custom pointer or shifting the reading position. */
.project-art,.archive-grid a,.case-figure .image-button{cursor:pointer}.project-art:hover,.archive-grid a:hover,.case-figure .image-button:hover{translate:0 0}.project-art:hover{box-shadow:0 12px 30px #11243b54,0 0 0 1px #f1cf9a70}.project-art:after{background:radial-gradient(ellipse at var(--shine-x,50%) var(--shine-y,30%),#fff8df20,transparent 62%)}.project-art:hover>img:not(.cover-logo){transform:translate3d(var(--art-x,0px),var(--art-y,0px),0) scale(1.025)}.project-art:hover .open-arrow{transform:none;background:#f2ceaa}.open-arrow{width:26px;height:26px;font-size:16px;right:11px;bottom:11px;background:#fff4d8c7}.case-figure .image-button:hover{box-shadow:0 0 0 2px #879eac5c,0 6px 16px #29354b12}.game-case .image-button:hover img{transform:none}.zoom-mark,.game-case .zoom-mark{font-size:14px;line-height:1;padding:4px 5px;opacity:.25;background:#35485b73;transition:opacity .2s ease}.image-button:is(:hover,:focus-visible) .zoom-mark{opacity:.75}.archive-grid a:hover>img{filter:saturate(1)}
@media(max-width:1050px) and (min-width:761px){.overview-layout.with-character{grid-template-columns:minmax(100px,.35fr) minmax(0,1.1fr) minmax(0,.85fr);gap:25px}.overview-character img{max-height:230px}}
@media(max-width:760px){.overview-layout,.overview-layout.with-character{grid-template-columns:minmax(0,1fr);gap:25px}.case-overview{padding:38px 0 45px}.overview-copy h2{font-size:33px}.overview-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.game-hero-center{padding-block:55px 45px}.game-hero-actions{gap:10px}.game-hero-actions>a{min-height:38px}.document-heading{gap:13px}.open-arrow{width:24px;height:24px;font-size:15px}.project-art:hover>img:not(.cover-logo){transform:scale(1.015)}}
.game-hero-media{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.source-reference-gallery{padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.source-reference-gallery>.case-figure:only-child{grid-column:1/-1}.source-reference-gallery .image-button{translate:none!important}
.notes-study{max-width:980px;margin:28px auto 20px;padding:22px;background:#1b4137;border:1px solid #426156}.notes-topics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:17px}.note-topic{display:block;padding:10px 7px;text-align:center;font-size:11px;background:#82ae75;color:#172e24;border:1px solid #ffffff30;border-radius:2px}.topic-1{background:#d0b66c}.topic-2{background:#e0aa82}.topic-3{background:#898ac5}.topic-4{background:#ab80b8}.topic-5{background:#73aaa6}.note-topic.is-selected{box-shadow:inset 0 -3px #563d2d;border-color:#fff5d1}.notes-paper{background-color:#ead6b4;background-size:cover;background-position:center;padding:32px 38px 30px 55px;color:#544435;min-height:340px}.notes-topic-label{font-size:10px;letter-spacing:.07em;color:#7b664e;margin-bottom:19px}.notes-paper h3{font-size:22px;font-weight:600;letter-spacing:-.025em;margin-bottom:14px}.notes-paper>p:not(.notes-topic-label){font-size:15px;line-height:1.8}.notes-unknown{border-left:2px solid #977856;padding-left:15px;margin:23px 0}.notes-unknown span{font-size:9px;letter-spacing:.08em;color:#91765b;display:block}.notes-unknown strong{display:block;margin-top:7px;font-size:18px;font-weight:500}.notes-source{display:grid;grid-template-columns:.5fr 1fr;gap:20px;border-top:1px solid #967c5552;padding-top:14px;align-items:start}.notes-source>span{font-size:10px;color:#8c745b;padding-top:3px}.notes-source>p{font-size:12px;line-height:1.75}.study-caption{font-size:10px;line-height:1.75;color:#b6c9ba;padding:14px 0 0}
.holo-study{margin:28px 0 20px;background:#071f29;border:1px solid #215d66;padding:30px;color:#cce8e7}.holo-specimens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.holo-specimen{min-width:0}.holo-label{font-size:9px;letter-spacing:.1em;color:#54a9b4}.holo-actions{display:flex;gap:23px;align-items:center;min-height:140px}.holo-land,.holo-back{display:grid;place-items:center;height:58px;border:2px solid #00d5d8;color:#89f6f0;background:linear-gradient(140deg,#2474818c,#0d414b66);font-size:24px;letter-spacing:.12em;clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);box-shadow:inset 0 0 18px #00d5d82e}.holo-land{width:190px}.holo-back{width:72px;font-size:36px;letter-spacing:0}.holo-panel{height:100px;margin:20px 0;color:#71e2e2;padding:14px 18px;background:#0e3c4677;border:1px solid #17b9c5;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}.holo-panel>span{font-size:10px;letter-spacing:.12em}.holo-panel>i{display:block;margin-top:10px;width:75%;height:2px;background:#4a939a78}.holo-panel>i:last-child{width:45%}.holo-specimen h3{font-size:20px;font-weight:500;margin-bottom:12px;letter-spacing:-.02em}.holo-specimen>p{font-size:12px;line-height:1.9;color:#9bbcc3;max-width:400px}.holo-palette{display:flex;gap:12px;border-top:1px solid #2c687455;padding-top:22px;margin-top:26px}.holo-palette>span{display:block;width:28px;height:28px;border-radius:50%;border:1px solid #b1f3e52b}
.code-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px}.code-example{background:#18382f;border:1px solid #3a5c4e;min-width:0;color:#e5eadc}.code-example:last-child{grid-column:1/-1}.code-example-title{display:flex;gap:15px;align-items:baseline;padding:18px 20px;border-bottom:1px solid #7c9b7a38}.code-example-title>span{font-size:10px;color:#abc2a2}.code-example h3{font-size:15px;line-height:1.5;font-weight:500}.code-example pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.85;white-space:pre;overflow:auto;padding:22px;max-height:420px;tab-size:4;scrollbar-color:#597b61 #19382f}.code-example code{font:inherit;color:#dfedda}.code-example pre:focus-visible{outline:2px solid #b5caa3;outline-offset:-3px}
@media(max-width:760px){.source-reference-gallery{grid-template-columns:1fr;padding:12px;gap:20px}.notes-study{padding:13px}.notes-topics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.note-topic{font-size:10px;padding:8px 6px}.notes-paper{padding:25px 18px 25px 32px;min-height:0}.notes-topic-label{font-size:9px;margin-bottom:17px}.notes-paper h3{font-size:20px}.notes-paper>p:not(.notes-topic-label){font-size:13px}.notes-unknown strong{font-size:17px}.notes-source{grid-template-columns:1fr;gap:9px}.notes-source>p{font-size:11px}.study-caption{font-size:9px}.holo-study{padding:22px 20px}.holo-specimens{grid-template-columns:1fr;gap:26px}.holo-specimen+.holo-specimen{border-top:1px solid #2c687455;padding-top:23px}.holo-actions{min-height:125px}.holo-specimen h3{font-size:19px}.holo-specimen>p{font-size:11px}.code-examples{grid-template-columns:1fr;gap:18px}.code-example:last-child{grid-column:auto}.code-example-title{padding:15px}.code-example h3{font-size:13px}.code-example pre{padding:17px;font-size:11px;max-height:350px}}
