@charset "UTF-8";
:root{--bg:#101010;--surface:#161616;--surface2:#1d1d1d;--ink:#e8e8e8;--text:#adadad;--muted:#707070;--line:#2f2f2f;--accent:#dddddd;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"PingFang SC","Microsoft YaHei",monospace;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--serif:var(--sans);--sage:#262626}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.8 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:1px solid var(--accent);outline-offset:5px}button{background:none;border:0}svg{display:block}main:focus{outline:none}::selection{color:var(--bg);background:var(--accent)}.skip{position:fixed;top:-100px;left:24px;background:var(--accent);color:var(--bg);padding:10px;z-index:50}.skip:focus{top:10px}.site-header{position:relative;z-index:10;border-bottom:1px solid var(--line)}.header-inner,.container,.footer-inner{max-width:1280px;margin:auto;padding:0 52px}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:flex;align-items:center;gap:17px}.brand-mark{font:600 38px/1 var(--mono);letter-spacing:-6px;color:var(--ink);padding-right:14px;position:relative}.brand-mark span{font-weight:400}.brand-mark i{font-style:normal;color:var(--accent);font-size:24px;position:absolute;bottom:2px;right:-3px}.brand-caption{font:9px/1.8 var(--mono);letter-spacing:1.6px;color:#cccccc}.brand-caption>span{display:block;color:#717171;font-size:8px;letter-spacing:1.5px}nav{display:flex;gap:32px;margin-left:auto;align-items:center}nav a{font:12px var(--mono);color:#9a9a9a;position:relative}nav a>span{font:8px var(--mono);color:#575757;position:relative;top:-7px;margin-left:4px}nav a:hover,nav a.active{color:var(--accent)}nav a.active:after{content:'';position:absolute;width:3px;height:3px;background:var(--accent);bottom:-10px;left:0}.search-trigger{display:flex;align-items:center;gap:8px;padding-left:28px;border-left:1px solid var(--line);color:#7c7c7c}.search-trigger svg{width:16px;height:16px}kbd{font:9px var(--mono);color:#7b7b7b}.home-shell{padding-top:33px}.workspace-bar{border:1px solid var(--line);border-bottom:0;display:flex;align-items:center;height:41px;padding:0 15px;gap:20px;background:#141414}.window-controls{display:flex;gap:5px}.window-controls i{display:block;width:5px;height:5px;border-radius:50%;background:#454545}.window-controls i:last-child{background:#9d9d9d}.workspace-path{font:9px var(--mono);color:#797979;letter-spacing:.4px}.workspace-path b{font-weight:400;color:#aeaeae}.workspace-right{margin-left:auto;font:8px var(--mono);color:#5d5d5d}.scene-stage{height:550px;position:relative;border:1px solid var(--line);overflow:hidden;background:#131313}.scene-stage canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}.scene-stage canvas:active{cursor:grabbing}.scene-stage:after{content:'';position:absolute;inset:0;pointer-events:none;border:12px solid transparent}.scene-overlay{position:absolute;left:42px;top:51px;pointer-events:none;z-index:1;max-width:450px}.scene-eyebrow{font:9px var(--mono);letter-spacing:2px;color:#8a8a8a;display:flex;align-items:center;gap:9px}.scene-eyebrow:before{content:'+';font-size:14px;color:var(--accent)}.scene-overlay h1{font:500 clamp(60px,7.7vw,100px)/.95 var(--mono);letter-spacing:-7px;color:#e7e7e7;margin:29px 0 23px}.scene-overlay h1>span{display:block}.scene-overlay h1 em{font-style:normal;color:var(--accent)}.scene-subtitle{font:10px/2 var(--mono);color:#8c8c8c;margin:0;letter-spacing:1px}.scene-coordinates{position:absolute;bottom:72px;left:42px;pointer-events:none;font:9px/2 var(--mono);color:#676767;letter-spacing:.6px}.scene-coordinates span{color:#919191}.scene-toolbar{position:absolute;bottom:0;left:0;right:0;padding:14px 20px;display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);background:#141414e8;z-index:2}.shape-buttons{display:flex;gap:5px}.shape-buttons button{padding:6px 10px;font:9px var(--mono);color:#797979;letter-spacing:.5px;border:1px solid transparent}.shape-buttons button[aria-pressed=true]{color:var(--accent);background:#2a2a2a;border-color:#464646}.shape-buttons button:hover{color:var(--accent)}.scene-help{font:9px var(--mono);color:#666666;margin-left:auto}.scene-tools{display:flex;gap:4px}.scene-tools button{font:9px var(--mono);border:1px solid #3c3c3c;padding:6px 9px;color:#898989}.scene-tools button:hover{color:var(--accent)}.scene-speed{font:9px var(--mono);color:#888888;display:flex;align-items:center;gap:9px;margin-left:12px}.scene-speed input{width:60px;accent-color:var(--accent);height:3px}.scene-footer{display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);color:#606060;margin:13px 0 46px}.scene-footer span:first-child{color:#9a9a9a}.home-section{border-top:1px solid var(--line);padding:32px 0 40px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-heading h2{font-size:17px;color:var(--ink);font-weight:400;margin:0;display:flex;align-items:center;gap:12px}.section-heading h2:before{content:'/';color:var(--accent);font:19px var(--mono)}.section-heading h2 small{font:8px var(--mono);letter-spacing:1px;color:#616161;margin-left:6px}.text-link{font:9px var(--mono);color:#878787;display:flex;gap:12px}.text-link:hover{color:var(--accent)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.work-card{border:1px solid var(--line);background:#151515;transition:border-color .2s}.work-card:hover{border-color:#747474}.work-visual{height:215px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:#181818}.work-visual svg{height:100%;width:100%}.work-visual .visual-id{position:absolute;left:18px;top:14px;font:8px var(--mono);letter-spacing:1px;color:#676767}.work-visual .visual-tag{position:absolute;right:18px;bottom:14px;font:8px var(--mono);color:#838383}.work-info{padding:21px 23px}.work-info .work-title{display:flex;align-items:center;justify-content:space-between}.work-title h3{font:14px var(--mono);margin:0;color:#cdcdcd;font-weight:400}.work-title>span{color:#858585;font-size:14px;transition:transform .2s}.work-card:hover .work-title>span{transform:translate(3px,-3px)}.work-info p{color:#7a7a7a;font-size:11px;margin:11px 0 17px;line-height:1.9}.work-tech{font:8px var(--mono);letter-spacing:.7px;color:#5d5d5d}.home-bottom{display:grid;grid-template-columns:1.45fr 1fr;gap:65px}.home-bottom .article-card:first-child{padding-top:0}.article-card{padding:18px 0;border-bottom:1px solid var(--line);position:relative}.article-meta{font:9px var(--mono);color:#5f5f5f;display:flex;gap:9px}.article-meta .category{color:#929292}.article-card h3{font-size:14px;font-weight:400;color:#b2b2b2;margin:7px 0 0;line-height:1.8;padding-right:20px}.article-card h3 a:after{content:'↗';position:absolute;right:0;color:#5d5d5d;font-size:12px}.article-card h3 a:hover{color:var(--accent)}.article-card p,.article-art,.article-card .tags{display:none}.section-note{font-size:10px;color:#606060;line-height:1.9}.about-teaser{font-size:12px;line-height:2.2;color:#8e8e8e;margin:0 0 20px}.small-tags{display:flex;gap:9px;flex-wrap:wrap}.small-tags span{font:9px var(--mono);color:#7b7b7b;padding:5px 8px;border:1px solid #383838}.about-links{display:flex;gap:22px;margin-top:25px;font:10px var(--mono);color:#adadad}.about-links a:hover{color:var(--accent)}.page-top{padding:54px 0 30px;border-bottom:1px solid var(--line)}.eyebrow{font:9px var(--mono);color:#6e6e6e;letter-spacing:1px}.page-top h1{font-size:34px;font-weight:400;color:#dfdfdf;margin:16px 0 10px;letter-spacing:1px}.page-top p{font-size:12px;color:#7b7b7b;margin:0;max-width:650px}.page-body{padding:33px 0 60px}.content-layout{display:block;padding:27px 0 65px;max-width:850px}.sidebar{display:none}.tabs{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:10px}.tab{color:#757575;padding:4px 0;font-size:10px;border:0;background:none}.tab.active{color:var(--accent);box-shadow:0 1px #828282}.tab:hover{color:var(--accent)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.project-card{border:1px solid var(--line)}.project-image{height:190px;display:grid;place-items:center;background:#1e1e1e}.mini-browser{width:75%;height:100px;border:1px solid #5f5f5f;padding:10px;background:#171717}.browser-dots{display:flex;gap:4px;padding-bottom:9px;border-bottom:1px solid #3f3f3f}.browser-dots i{width:3px;height:3px;border-radius:50%;background:#777777}.mini-content{display:grid;grid-template-columns:1fr 1fr;padding-top:10px;gap:15px}.mini-title{font:11px/1.8 var(--mono);color:#9c9c9c}.mini-tile{font:25px var(--mono);color:#c7c7c7}.mini-lines{height:15px;width:70%;background:repeating-linear-gradient(to bottom,#424242 0,#424242 1px,transparent 1px,transparent 5px)}.module-diagram{display:grid;grid-template-columns:repeat(3,45px);gap:12px}.module-diagram i{border:1px solid #606060;padding:9px;font-size:8px;font-style:normal}.project-info{padding:20px}.project-info h3{font-size:14px;font-weight:400;display:flex;justify-content:space-between;color:#bdbdbd;margin:0 0 10px}.project-info p{font-size:11px;color:#868686;margin:0}.project-label{display:block;font:9px var(--mono);color:#6b6b6b;margin-top:17px}.breadcrumb{display:flex;gap:12px;font:10px var(--mono);color:#7c7c7c;margin-bottom:23px}.article-layout{display:grid;grid-template-columns:1fr 200px;gap:70px;padding:44px 0 65px}.article-detail h1{font-size:30px;font-weight:400;color:#dedede;margin:15px 0}.article-detail .article-meta{margin-bottom:23px}.content-note{padding:13px 16px;border-left:2px solid #636363;background:#1d1d1d;font-size:11px;color:#959595;line-height:1.9}.prose{font-size:13px;line-height:2.15;color:#a0a0a0}.prose h2{font-size:18px;font-weight:400;color:#d1d1d1;margin:31px 0 12px}.prose h3{font-size:15px;font-weight:400;color:#c0c0c0}.prose p{margin:14px 0}.prose ul,.prose ol{padding-left:22px}.prose a{color:var(--accent);border-bottom:1px solid #5b5b5b}.prose code{font-family:var(--mono)}.article-end{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:30px;font-size:11px;color:#a0a0a0}.tags{display:flex;gap:9px;margin-top:20px}.tags span{font:9px var(--mono);color:#7b7b7b;border:1px solid #3d3d3d;padding:4px 7px}.toc{position:sticky;top:35px;align-self:start;border-left:1px solid var(--line);padding-left:22px;font:10px/2 var(--mono);color:#6d6d6d}.toc strong{font-weight:400;color:#acacac;display:block;margin-bottom:15px}.toc a{display:block;margin:11px 0}.toc a:hover{color:var(--accent)}.about-grid{display:grid;grid-template-columns:1fr 280px;gap:65px;padding:35px 0 70px}.about-grid .prose h2:first-child{margin-top:0}.about-block{border-left:1px solid var(--line);padding-left:28px;align-self:start}.avatar{font:29px var(--mono);color:#d0d0d0}.about-block h3{font-size:17px;color:#cecece;font-weight:400}.about-block p{font-size:11px;color:#898989;line-height:2}.stack{border-top:1px solid var(--line);padding-top:17px;font-size:10px;line-height:2.6;color:#747474}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:30px 0}.library-card{padding:20px 0;border-top:1px solid var(--line)}.library-card h2{font-size:16px;font-weight:400;color:#cdcdcd;margin:0 0 10px}.library-card p{font-size:11px;color:#808080;margin-bottom:24px}.library-card a{display:block;border-top:1px solid var(--line);padding:14px 0;font-size:12px;color:#adadad}.library-card a span{display:block;font-size:10px;color:#6c6c6c;margin-top:4px}.library-card a:hover{color:var(--accent)}.book-icon{display:none}.empty{font-size:12px;color:#818181;padding:35px 0}.career-layout{padding:40px 0 70px;max-width:800px}.career-row{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line);padding:25px 0;gap:30px}.career-row>span{font:11px var(--mono);color:#808080}.career-row h2{font-size:15px;font-weight:400;color:#c2c2c2;margin:0 0 8px}.career-row p{font-size:12px;color:#7c7c7c;margin:0}.career-status{font:9px var(--mono);color:#a1a1a1;border:1px solid #4a4a4a;display:inline-block;padding:5px 9px;margin-top:22px}.lab-layout{padding:30px 0 60px}.lab-layout .scene-stage{height:590px}.lab-layout .scene-overlay{top:30px;left:30px}.lab-layout .scene-overlay h2{font:12px var(--mono);color:#b8b8b8;font-weight:400}.lab-layout .scene-overlay p{font:9px/2 var(--mono);color:#777777}.lab-caption{font-size:11px;color:#7c7c7c;margin:17px 0}.scene-no-script{position:absolute;right:25px;top:22px;font:8px var(--mono);color:#575757;pointer-events:none}footer{border-top:1px solid var(--line);margin-top:7px}.footer-inner{display:flex;align-items:center;gap:25px;min-height:85px;font:8px var(--mono);color:#545454}.footer-brand{font:19px var(--mono);color:#a0a0a0;letter-spacing:-2px}.footer-inner p{margin:0}.footer-inner>a:not(.footer-brand){margin-left:auto;color:#7b7b7b;font-size:9px}.footer-note{color:#535353;letter-spacing:1px}.footer-inner button{border:1px solid #404040;width:25px;height:25px;color:#929292}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,12px);opacity:0;background:#d9d9d9;color:#1f1f1f;padding:10px 17px;font:11px var(--mono);pointer-events:none;z-index:60;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #4a4a4a;background:#171717;color:var(--text);width:calc(100% - 40px);max-width:620px;padding:0;top:12vh;box-shadow:0 20px 100px #00000099}dialog::backdrop{background:#090909b8;backdrop-filter:blur(4px)}.search-top{display:flex;gap:15px;align-items:center;padding:20px 23px;border-bottom:1px solid var(--line)}.search-prompt{font:20px var(--mono);color:var(--accent)}.search-top input{min-width:0;flex:1;background:none;border:0;outline:none;font:12px var(--mono);color:#d5d5d5}.search-top button{font:9px var(--mono);color:#848484;border:1px solid #424242;padding:4px 6px}.search-hint{padding:16px 23px;font:9px var(--mono);color:#656565}#search-results{max-height:380px;overflow:auto}#search-results a{display:block;padding:17px 23px;border-bottom:1px solid var(--line);font-size:12px;color:#c1c1c1}#search-results a:hover{background:#282828}#search-results small{display:block;font:9px var(--mono);color:#6e6e6e;margin-bottom:4px}.search-empty{padding:28px 23px;font-size:12px;color:#929292}
@media(min-width:1500px){.scene-stage{height:610px}.scene-overlay{top:65px}.scene-overlay h1{font-size:110px}}
@media(max-width:1000px){.header-inner,.container,.footer-inner{padding-left:30px;padding-right:30px}nav{gap:20px}.brand-caption{display:none}.scene-stage{height:510px}.scene-overlay{left:30px;top:45px}.scene-overlay h1{font-size:77px;letter-spacing:-6px}.scene-coordinates{left:30px}.home-bottom{gap:35px}.work-visual{height:180px}.article-layout{gap:35px}.about-grid{gap:35px;grid-template-columns:1fr 230px}}
@media(max-width:700px){.header-inner{height:auto;min-height:104px;flex-wrap:wrap;padding:19px 23px 16px;gap:14px}.brand-mark{font-size:31px}.brand-caption{display:block;font-size:8px}.brand-caption>span{font-size:7px}.search-trigger{margin-left:auto;padding-left:0;border:0}.search-trigger kbd{display:none}nav{order:3;width:100%;justify-content:space-between;gap:10px;margin:4px 0 0}nav a{font-size:10px}nav a>span{font-size:6px;top:-5px;margin-left:3px}nav a.active:after{bottom:-7px;width:2px;height:2px}.container{padding:0 19px}.home-shell{padding-top:20px}.workspace-bar{height:34px;padding:0 11px;gap:11px}.workspace-path{font-size:7px}.workspace-right{font-size:7px}.window-controls{gap:4px}.window-controls i{width:4px;height:4px}.scene-stage{height:555px}.scene-overlay{top:29px;left:24px}.scene-overlay h1{font-size:66px;letter-spacing:-5px;margin:22px 0 16px}.scene-eyebrow{font-size:7px;letter-spacing:1.3px}.scene-subtitle{font-size:8px;line-height:1.8}.scene-coordinates{left:24px;bottom:95px;font-size:7px;line-height:1.8}.scene-toolbar{padding:10px 10px;flex-wrap:wrap;gap:8px;min-height:72px}.shape-buttons{gap:2px;flex:1}.shape-buttons button{font-size:7px;padding:6px 6px}.scene-tools button{font-size:8px;padding:5px 7px}.scene-help{font-size:7px;order:3;margin-left:0;width:100%;padding-left:5px}.scene-speed{font-size:7px;gap:6px;margin-left:0}.scene-speed input{width:45px}.scene-footer{font-size:7px;margin:11px 0 29px;gap:10px}.home-section{padding:26px 0 28px}.section-heading{margin-bottom:21px}.section-heading h2{font-size:15px;gap:9px}.section-heading h2 small{font-size:7px;margin-left:1px}.text-link{font-size:8px;gap:8px}.work-grid{grid-template-columns:1fr;gap:20px}.work-visual{height:185px}.work-info{padding:19px}.work-title h3{font-size:13px}.work-info p{font-size:11px;margin:10px 0 14px}.work-tech{font-size:7px}.home-bottom{grid-template-columns:1fr;gap:0}.about-teaser{font-size:11px}.home-bottom .home-section:last-child{padding-bottom:42px}.article-card h3{font-size:13px}.article-meta{font-size:8px;gap:7px}.section-note{font-size:9px}.page-top{padding:31px 0 23px}.page-top h1{font-size:28px}.page-top p{font-size:11px}.page-top .eyebrow{font-size:8px}.page-body{padding:25px 0 45px}.content-layout{padding-bottom:45px}.article-layout{grid-template-columns:1fr;padding:29px 0 45px}.article-detail h1{font-size:25px}.toc{display:none}.prose{font-size:12px}.prose h2{font-size:17px}.about-grid{grid-template-columns:1fr;padding:28px 0 45px;gap:25px}.about-block{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.about-block .avatar{display:none}.library-grid{grid-template-columns:1fr;gap:5px;padding:22px 0}.project-grid{grid-template-columns:1fr}.career-row{grid-template-columns:1fr;gap:13px;padding:20px 0}.career-row>span{font-size:9px}.lab-layout{padding-top:22px}.lab-layout .scene-stage{height:550px}.lab-layout .scene-overlay{left:22px;top:20px}.lab-layout .scene-overlay h2{font-size:10px}.lab-caption{font-size:10px}.scene-no-script{font-size:7px;top:17px;right:15px}.footer-inner{padding:20px 23px;min-height:90px;gap:14px;flex-wrap:wrap;font-size:7px}.footer-inner>a:not(.footer-brand){font-size:8px}.footer-note{display:none}.footer-brand{font-size:16px}.footer-inner button{width:22px;height:22px}dialog{top:7vh}.search-top{padding:17px}.search-top input{font-size:11px}.search-hint{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.wave-mode{font:9px var(--mono);color:#a4a4a4}.scene-help{color:#8f8f8f}.scene-eyebrow{color:#a6a6a6}.scene-subtitle{color:#adadad}.workspace-path{color:#979797}.workspace-right{color:#8c8c8c}.work-info p{color:#a3a3a3}.work-tech{color:#8c8c8c}.article-meta{color:#8d8d8d}.section-note{color:#8e8e8e}.footer-inner{color:#8a8a8a}

@media(max-width:700px){.scene-coordinates{display:none}}
.showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.game-card{display:block;border:1px solid var(--line);background:#171717;transition:border-color .2s}.game-card:hover{border-color:#8c8c8c}.game-cover{height:262px;overflow:hidden;background:#1f1f1f;position:relative;border-bottom:1px solid var(--line);padding:21px 24px}.game-cover>img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s;filter:saturate(.88)}.game-card:hover .game-cover>img{transform:scale(1.04);filter:saturate(1)}.game-index{position:absolute;top:11px;left:13px;font:7px var(--mono);color:#989898;letter-spacing:1px}.game-info{padding:21px 20px}.game-name{display:flex;align-items:center;gap:11px}.game-name>img{width:36px;height:36px;object-fit:cover;border-radius:7px}.game-name h3{font-size:14px;font-weight:400;color:#d0d0d0;margin:0;line-height:1.5}.game-name>span{color:#919191;margin-left:auto}.game-info>p{font-size:11px;line-height:1.9;color:#989898;margin:17px 0}.game-role{font-size:10px;color:#c2c2c2;border-left:2px solid #9b9b9b;padding-left:8px;margin:16px 0 14px}.game-type{font:7px/1.8 var(--mono);letter-spacing:.4px;color:#828282}.compact-labs .work-visual{height:155px}.compact-labs .work-info{padding:17px 21px}.compact-labs .work-info p{margin:10px 0 12px}.projects-divider{padding-top:43px;margin-top:42px;border-top:1px solid var(--line)}.work-detail-top{padding:40px 0 30px}.work-detail-top .breadcrumb{margin-bottom:31px}.detail-title{display:flex;align-items:center;gap:21px}.detail-title>img{width:72px;height:72px;border-radius:14px;flex-shrink:0}.detail-title h1{font-size:29px;font-weight:400;line-height:1.4;color:#dcdcdc;margin:8px 0 0}.detail-title .eyebrow{font-size:9px;letter-spacing:.6px}.work-description{font-size:12px;color:#989898;margin:24px 0 20px}.store-links{display:flex;gap:11px;flex-wrap:wrap}.store-links a,.store-links button{font:10px var(--mono);padding:9px 14px;border:1px solid #4f4f4f;color:#c5c5c5;background:#1e1e1e}.store-links a:hover,.store-links button:hover{color:var(--accent);border-color:#8d8d8d}.work-summary{display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:25px;padding:23px 0;margin-bottom:30px}.work-summary>span{font-size:11px;color:#818181}.work-summary p{font-size:13px;color:#c4c4c4;margin:0}.game-gallery{display:grid;grid-template-columns:1fr 1fr;gap:23px}.gallery-thumb{padding:25px 15px 15px;border:1px solid var(--line);background:#181818;display:block;text-align:left}.gallery-thumb img{display:block;width:100%;height:540px;object-fit:contain}.gallery-thumb>span{display:block;padding:16px 6px 0;font:8px var(--mono);color:#888888}.gallery-thumb:hover{border-color:#919191}.work-detail-bottom{display:flex;justify-content:space-between;gap:25px;padding:23px 0 55px;font-size:10px;color:#838383;align-items:center}.work-detail-bottom p{margin:0}.work-detail-bottom a{white-space:nowrap;color:#b7b7b7}#image-dialog{width:calc(100% - 45px);max-width:1150px;top:3vh;background:#131313;border:1px solid #545454;padding:0;margin-top:0}#image-dialog::backdrop{background:#060606df}.image-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px;border-bottom:1px solid var(--line);font:10px var(--mono);color:#b4b4b4}.image-dialog-top button{font:9px var(--mono);color:#9d9d9d;white-space:nowrap}.image-preview{display:flex;align-items:center;justify-content:center;gap:18px;padding:20px}.image-preview img{display:block;max-width:calc(100% - 95px);width:auto;height:auto;max-height:77vh;object-fit:contain}.image-preview>button{font-size:22px;color:#a7a7a7;width:28px;flex-shrink:0}.image-preview>button:hover{color:var(--accent)}
@media(max-width:1000px){.game-cover{height:230px;padding:22px 15px}.game-info{padding:18px 15px}.game-name{gap:8px}.game-name>img{width:31px;height:31px;border-radius:5px}.game-name h3{font-size:12px}.game-info>p{font-size:10px}.showcase-grid{gap:15px}.gallery-thumb img{height:460px}}
@media(max-width:700px){.showcase-grid{grid-template-columns:1fr;gap:19px}.game-card{display:grid;grid-template-columns:122px minmax(0,1fr)}.game-cover{height:100%;min-height:210px;border-bottom:0;border-right:1px solid var(--line);padding:26px 10px 12px}.game-cover>img{height:100%;max-height:196px;object-fit:contain}.game-index{font-size:6px;left:10px;top:11px;letter-spacing:.2px}.game-info{padding:19px 15px}.game-name>img{width:29px;height:29px}.game-name h3{font-size:12px}.game-name>span{font-size:10px}.game-info>p{font-size:10px;margin:13px 0}.game-role{font-size:9px;margin:13px 0 12px;padding-left:6px}.game-type{font-size:6px}.compact-labs .work-visual{height:145px}.compact-labs .work-grid{grid-template-columns:1fr}.projects-divider{padding-top:30px;margin-top:30px}.work-detail-top{padding-top:27px;padding-bottom:26px}.detail-title{gap:15px}.detail-title>img{width:53px;height:53px;border-radius:10px}.detail-title h1{font-size:20px;margin-top:6px}.detail-title .eyebrow{font-size:7px}.work-description{font-size:11px}.store-links a,.store-links button{font-size:9px;padding:8px 11px}.work-summary{grid-template-columns:1fr;gap:8px;padding:20px 0;margin-bottom:21px}.work-summary>span{font-size:10px}.work-summary p{font-size:12px}.game-gallery{gap:12px}.gallery-thumb{padding:13px 7px 11px}.gallery-thumb img{height:285px}.gallery-thumb>span{font-size:7px;padding:13px 3px 0}.work-detail-bottom{display:block;font-size:9px;padding-bottom:40px}.work-detail-bottom a{display:inline-block;margin-top:17px}#image-dialog{width:calc(100% - 20px);top:4vh}.image-dialog-top{padding:13px;gap:10px;font-size:8px}.image-dialog-top button{font-size:8px}.image-preview{padding:12px 5px;gap:4px}.image-preview img{max-width:calc(100% - 47px);max-height:76vh}.image-preview>button{font-size:17px;width:20px}}

.game-cover>img{filter:grayscale(1)}.game-card:hover .game-cover>img{filter:grayscale(1)}.game-name>img,.detail-title>img{filter:grayscale(1)}
