/* Fonts are served from this site (fonts/), latin + latin-ext subsets for Turkish. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/dm-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/dm-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/manrope-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--bg:#f0e9df;--text:#343e3b;--muted:#747b72;--green:#397d70;--soft:#ffffff66;--line:#d6d5c9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.85 'DM Sans',sans-serif;transition:background .3s,color .3s}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #bd8a50;outline-offset:5px}header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(15px)}nav{max-width:760px;margin:auto;height:74px;display:flex;align-items:center;gap:28px;padding:0 24px;font-size:13px}.brand{margin-right:auto;font-size:21px;letter-spacing:-.8px}.brand>strong{font-weight:700}.brand:first-letter{color:var(--green)}#theme{width:37px;height:37px;border:0;border-radius:9px;background:#dfbf84;font-size:23px;line-height:1}main{max-width:592px;margin:auto;padding:0 24px}.hero{height:325px;position:relative;margin:0 -65px 24px}canvas{height:100%;width:100%;display:block;touch-action:pan-y;cursor:grab}canvas:active{cursor:grabbing}.scene-controls{position:absolute;bottom:7px;left:65px;right:65px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:8px;letter-spacing:2px}.scene-controls button{background:var(--soft);border:1px solid var(--line);border-radius:50%;width:27px;height:27px;letter-spacing:0;line-height:1}.drag-hint{position:absolute;bottom:41px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:1px;color:var(--muted);pointer-events:none}.hello{padding:12px 15px;background:var(--soft);border-radius:9px;text-align:center;font-size:13px}.hello span{color:#a88a55;margin-left:8px}.identity{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px}.eyebrow{font-size:8px;letter-spacing:1.8px;color:var(--muted);margin:0}h1{font:800 29px/1.35 Manrope,sans-serif;letter-spacing:-1.2px;margin:8px 0}.identity p:last-child{margin:0;font-size:13px}.avatar{width:76px;height:76px;flex-shrink:0;border-radius:50%;border:3px solid #fff8;background:#bdc8b0;display:grid;place-items:center}.avatar span{font-size:43px;line-height:1;color:#4f7565}section:not(.hero):not(.identity){margin-top:35px}h2{font:700 19px/1.5 Manrope,sans-serif;letter-spacing:-.4px;text-decoration:underline;text-underline-offset:7px;text-decoration-color:#a5b0a0;text-decoration-thickness:3px;margin:0 0 19px}p{margin:12px 0}.draft-note{font-size:10px;color:var(--muted)}.primary{display:block;width:max-content;background:var(--green);color:white;padding:9px 18px;border-radius:7px;font-size:12px;font-weight:600;margin:24px auto 0}.primary span{margin-left:20px}.interests p{font-size:13px}.interests p span{color:#a9ab94;margin:0 7px}.interests h2 span{color:#ad8a56;text-decoration:none;display:inline-block;margin-left:5px}.section-heading{display:flex;align-items:center;justify-content:space-between}.projects{display:grid;grid-template-columns:1fr 1fr;gap:19px}.project{padding:0;background:none;border:0;text-align:left}.art{height:165px;border-radius:12px;position:relative;overflow:hidden}.art-one{background:#b7c8b3}.art-two{background:#d4c6b9}.art>span{position:absolute;left:13px;bottom:10px;font-size:7px;letter-spacing:2px;color:#42584d}.island{position:absolute;width:118px;height:83px;background:#789273;transform:rotate(-25deg) skew(15deg);left:59px;top:50px;border-radius:12px;box-shadow:-8px 11px 0 #65765c,-14px 21px 0 #948672}.mini-cube{position:absolute;left:108px;top:38px;width:43px;height:45px;transform:skewY(-12deg);background:#eee0b5;box-shadow:12px 6px 0 #c8aa73}.spark{position:absolute;color:#f5e6b7;left:52px;top:17px;font-size:26px}.ring{position:absolute;border:10px solid #e7bd6c;box-shadow:4px 3px 0 #a6824f;width:57px;height:65px;border-radius:50%;top:29px;left:136px;transform:rotate(-18deg)}.ball{position:absolute;background:#799586;border-radius:50%;width:40px;height:40px;top:69px;left:49px;box-shadow:inset -8px -8px 0 #506e60}.step{position:absolute;height:11px;background:#f2e4d1;transform:skewY(-8deg);box-shadow:0 8px 0 #b19c83}.s1{width:73px;left:29px;top:118px}.s2{width:70px;left:127px;top:107px}.project h3{font-size:14px;font-weight:600;margin:11px 0 3px}.project h3 span{float:right;color:var(--green)}.project p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.project:hover .art{filter:brightness(1.04)}.socials{display:flex;gap:10px;flex-wrap:wrap}.socials button{background:var(--soft);border:1px solid var(--line);border-radius:7px;padding:8px 12px;color:var(--green);font-size:12px}.socials span{font-weight:700;margin-right:8px}.socials small{margin-left:14px}footer{margin-top:55px;padding:25px 0 35px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);display:flex;justify-content:space-between}footer>span:first-child{font-weight:700}dialog{width:calc(100% - 36px);max-width:520px;max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:15px;padding:35px;background:var(--bg);color:var(--text)}dialog::backdrop{background:#253c3555;backdrop-filter:blur(6px)}.close{position:absolute;right:14px;top:8px;background:none;border:0;font-size:27px}dialog h2{text-decoration:none}dialog p{font-size:13px}.night{--bg:#242b29;--text:#e3e9dd;--muted:#acb3a7;--green:#66a896;--soft:#ffffff09;--line:#475048}.night .primary{color:#172c25}.night #theme{background:#617c70;color:#fff}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#345e51;color:white;border-radius:8px;padding:12px 20px;font-size:12px;z-index:15;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90%;width:max-content}#toast.show{opacity:1}@media(max-width:600px){nav{gap:19px;height:64px}main{padding:0 25px}.hero{margin:0 -20px 18px;height:285px}.scene-controls{left:20px;right:20px}h1{font-size:25px}.avatar{width:62px;height:62px}.hello{font-size:11px}.identity{gap:10px}.art{height:145px}.island{left:28px}.mini-cube{left:74px}.ring{left:92px}.s2{left:89px;width:50px}.projects{gap:15px}.section-heading .eyebrow{font-size:7px}.interests p span{margin:0 3px}.brand{font-size:19px}nav>a:not(.brand){font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.socials a{background:var(--soft);border:1px solid var(--line);border-radius:7px;padding:8px 12px;color:var(--green);font-size:12px}.projects{row-gap:25px}.cover-fps{background:#a9bdb4}.cover-puzzle{background:#d4c39f}.cover-jam{background:#c8ad98}.cover-rogue{background:#b5b1c4}.cover-symbol{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:90px;line-height:1;color:#ffffffaa;text-shadow:5px 8px 0 #31413720;transform:rotate(-10deg)}.art>span{font-size:6px;letter-spacing:1px}.project-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.project-links a{font-size:12px;color:var(--green);border:1px solid var(--line);padding:8px 12px;border-radius:6px}

.cover-ball{background:#b7c9ae}.cover-astral{background:#353e64}.cover-human{background:#454c49}.cover-astral>span,.cover-human>span{color:#dce4d3}.cover-human .cover-symbol{color:#b3bfb0}.release-status{display:inline-block;font-size:9px;line-height:1.6;background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:3px 7px;margin:2px 0 7px;color:var(--green)}.section-intro{font-size:12px;color:var(--muted);margin:-5px 0 20px}@media(max-width:480px){nav{gap:11px;padding:0 16px}.brand{font-size:17px}nav>a:not(.brand){font-size:10px}#theme{width:31px;height:31px;flex-shrink:0}}

.game-visual{height:165px;border-radius:12px;position:relative;overflow:hidden;isolation:isolate}.game-visual img{position:absolute;object-fit:contain;display:block}.visual-bounzy{background:#12558a}.visual-bounzy img{width:100%;height:100%;object-fit:cover}.visual-blast{background:radial-gradient(ellipse at 50% 0,#b3e2ff,#376fd0 70%,#274a94)}.visual-blast img:first-child{width:66%;height:48%;left:17%;top:5%;filter:drop-shadow(0 5px 5px #173b7455)}.visual-blast img:not(:first-child){width:24%;height:43%;bottom:4%;filter:drop-shadow(0 6px 3px #1f285655)}.visual-blast img:nth-child(2){left:13%;transform:rotate(-12deg)}.visual-blast img:nth-child(3){left:38%;bottom:10%;transform:rotate(6deg)}.visual-blast img:nth-child(4){left:63%;transform:rotate(15deg)}.visual-astral{background:#121d49 url('media/cosmos.webp') center 47%/cover}.visual-astral img:first-child{width:88%;height:45%;top:6%;left:6%;filter:drop-shadow(0 4px 8px #080729)}.visual-astral img:nth-child(2){width:34%;height:56%;left:33%;top:42%;filter:drop-shadow(0 0 12px #ffdba880)}.visual-human{background:#252f2d}.visual-human img{width:100%;height:100%;object-fit:cover;opacity:.65;filter:brightness(.58) sepia(.15)}.human-title{position:absolute;left:0;right:0;top:37%;text-align:center;color:#e7ecdb;font:600 16px monospace;text-shadow:0 0 10px #172d1a}.visual-caption{font-size:10px!important;color:var(--muted);line-height:1.5}dialog .game-visual{height:240px;margin:18px 0 8px}.hero .drag-hint{bottom:39px}.scene-controls{bottom:0}.project:hover .game-visual{filter:brightness(1.04)}@media(max-width:600px){.game-visual{height:145px}.human-title{font-size:13px}}
.visual-bounzy img{object-fit:contain}.projects{align-items:start}.hero .drag-hint{bottom:24px;font-size:8px}

.visual-study{background:#243b46}.visual-study img,.visual-thrust img,.visual-gjg img,.visual-creap img,.visual-crows img{width:100%;height:100%;object-fit:cover}.study-card .project{width:100%}.study-links{display:flex;gap:14px;margin-top:12px}.study-links a{font-size:11px;color:var(--green);text-decoration:underline;text-underline-offset:4px}.study-card .game-visual{height:auto;aspect-ratio:5/3}dialog .visual-thrust,dialog .visual-gjg,dialog .visual-creap,dialog .visual-crows{height:auto;aspect-ratio:5/3}

.project-video{display:block;width:100%;max-height:65vh;background:#101820;border-radius:12px;margin:18px 0 8px;object-fit:contain}.video-badge{display:inline-block;font-size:10px;color:var(--green);margin-top:10px;font-weight:600}

.promo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 22px}.promo-gallery img{display:block;width:100%;height:auto;border-radius:8px}.promo-gallery a:focus-visible{outline:3px solid var(--green);outline-offset:3px}

.visual-respawn{background:#142a35}.visual-respawn img{width:100%;height:100%;object-fit:cover}.hero{min-height:360px}

.project .visual-bounzy{height:auto;aspect-ratio:5/3}.visual-bounzy img{object-fit:cover;object-position:center}

.studio-card{display:block;border:1px solid #82938135;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit}.studio-logo{background:#080808;padding:36px 30px;display:flex;justify-content:center}.studio-logo img{width:100%;max-width:320px;height:auto;object-fit:contain}.studio-copy{padding:18px 22px}.studio-copy p{margin:0 0 12px}.studio-copy span{color:var(--green);font-size:12px;font-weight:600}.studio-card:hover{border-color:var(--green)}.studio-card:focus-visible{outline:3px solid var(--green);outline-offset:4px}

/* Studio backdrop: transparent canvas remains interactive above the scenery. */
.hero{isolation:isolate;overflow:hidden;border-radius:22px;border:1px solid #9bab9745;background:radial-gradient(ellipse at 26% 18%,#fff7dfcc,transparent 52%),radial-gradient(ellipse at 78% 32%,#a3c8b36b,transparent 55%),linear-gradient(180deg,#e8ede1,#dddccd);box-shadow:inset 0 1px 0 #ffffffb0,0 14px 35px #364d3910}
.hero::before{content:"";position:absolute;inset:48% -45% -65%;z-index:0;pointer-events:none;background-image:linear-gradient(#617e6e20 1px,transparent 1px),linear-gradient(90deg,#617e6e20 1px,transparent 1px);background-size:42px 42px;transform:perspective(260px) rotateX(51deg);transform-origin:center top;mask-image:linear-gradient(transparent,#0008 25%,#000 65%)}
.hero::after{content:"";position:absolute;width:280px;height:280px;left:50%;top:25px;transform:translateX(-50%);border:1px solid #ffffff70;border-radius:50%;box-shadow:0 0 0 34px #ffffff12,0 0 0 69px #ffffff10;z-index:0;pointer-events:none}
.hero canvas{position:relative;z-index:1}.hero .scene-controls{z-index:2;bottom:12px;left:24px;right:24px}.hero .drag-hint{z-index:2;bottom:43px}.hero .scene-controls button{background:var(--bg)}
.night .hero{border-color:#617a6755;background:radial-gradient(ellipse at 25% 15%,#7b795330,transparent 52%),radial-gradient(ellipse at 78% 30%,#4b8b6e40,transparent 55%),linear-gradient(180deg,#273932,#1e2b27);box-shadow:inset 0 1px 0 #ffffff10,0 14px 35px #0002}.night .hero::before{background-image:linear-gradient(#a0c9b027 1px,transparent 1px),linear-gradient(90deg,#a0c9b027 1px,transparent 1px)}.night .hero::after{border-color:#c8dfc419;box-shadow:0 0 0 34px #ffffff04,0 0 0 69px #ffffff03}
@media(max-width:600px){.hero{border-radius:18px}.hero .scene-controls{left:16px;right:16px;font-size:7px;letter-spacing:1.5px}}

/* Expanded editorial game frames */
main{max-width:860px}.hero{margin:0 0 28px;height:390px}.top-profiles{margin:14px 0 22px;align-items:center}.top-profiles a{font-weight:700}.top-profiles a:last-child{margin-left:auto}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.game-card{border:1px solid var(--line);border-radius:19px;background:var(--soft);overflow:hidden;padding:10px;box-shadow:0 7px 20px #243b3210}.game-card .game-visual{height:auto;aspect-ratio:5/3;border-radius:11px;border:1px solid #ffffff35}.game-copy{padding:17px 13px 15px}.game-copy h3{font:800 24px/1.3 Manrope,sans-serif;margin:10px 0}.game-copy>p{font-size:13px;line-height:1.8}.project-role{font-size:12px!important;font-weight:600;color:var(--green)}.contribution{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.contribution>span{font-size:9px;letter-spacing:1.6px;color:var(--muted)}.contribution p{font-size:12px;line-height:1.8;margin:6px 0 16px}.release-status{font-size:10px;border-radius:20px;padding:5px 10px;letter-spacing:.15px}.released{background:#397d70;color:white;border-color:#397d70}.game-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.game-actions a,.store-button{display:inline-block;border:0;border-radius:8px;background:var(--text);color:var(--bg);padding:11px 14px;font-size:12px;font-weight:700;line-height:1.6}.game-actions a:hover{background:var(--green);color:white}.store-pending{font-size:12px;border:1px dashed var(--line);border-radius:8px;padding:10px 14px;color:var(--muted)}.detail-link,.back-link{display:inline-block;font-size:12px;font-weight:600;color:var(--green);text-decoration:underline;text-underline-offset:5px}.text-project{grid-column:1/-1}.text-project .game-copy{padding:24px}.text-project .contribution{max-width:600px}.contact-email{font-size:clamp(16px,3vw,25px);color:var(--green);overflow-wrap:anywhere}.project-page{padding-top:20px}.project-page>.back-link{display:block;margin-bottom:25px}.project-page>.game-visual{height:auto;aspect-ratio:5/3;margin:25px 0;border:10px solid var(--soft);border-radius:18px}.project-page>h1{font-size:clamp(30px,6vw,46px)}.study-summary{padding:16px 0;border-bottom:1px solid var(--line)}.study-summary a{color:var(--green);font-size:12px}.cv-entry{margin-top:18px!important}.cv-entry h3{margin-bottom:0}.cv-entry p{margin:4px 0;font-size:13px}.print-cv{margin:24px 0}#about,#studio,.interests,#contact{max-width:650px;margin-left:auto;margin-right:auto}dialog{max-width:680px}
@media(max-width:650px){.game-grid{grid-template-columns:1fr;gap:22px}.hero{margin:0 0 22px;height:350px;min-height:350px}.game-copy{padding:17px 12px}.text-project{grid-column:auto}.top-profiles{gap:7px}.top-profiles a{padding:7px 10px;font-size:11px}.game-copy h3{font-size:24px}main{padding:0 18px}.project-page{padding-top:20px}.game-card .game-visual{aspect-ratio:5/3}.section-heading{gap:12px}.section-heading .eyebrow{font-size:8px}.project-page>.game-visual{border-width:6px}}
@media print{header,.print-cv,footer{display:none}body{background:white;color:#111;font-size:11pt}.project-page{max-width:none}.cv-entry{break-inside:avoid}a{color:#111}.socials a{border:0;padding:0}h1{font-size:26pt!important}}

/* Slate, porcelain and teal palette */
:root{--bg:#f3f5f8;--text:#17263c;--muted:#566780;--green:#087f8c;--soft:#fff;--line:#d6deea}.night{--bg:#111c2d;--text:#edf3fb;--muted:#b3c3d8;--green:#62d8d0;--soft:#1b2a40;--line:#35485f}h2{text-decoration-color:#5fbdc1}.hero{background:radial-gradient(ellipse at 20% 12%,#fff,transparent 50%),radial-gradient(ellipse at 80% 35%,#abdbe16b,transparent 60%),linear-gradient(160deg,#e8eef9,#cedee9);border-color:#bdcbdc}.night .hero{background:radial-gradient(ellipse at 75% 20%,#12616a55,transparent 60%),linear-gradient(150deg,#263856,#142237);border-color:#41536c}.hero::before{background-image:linear-gradient(#425d8520 1px,transparent 1px),linear-gradient(90deg,#425d8520 1px,transparent 1px)}#theme{background:#17263c;color:#fff}.night #theme{background:#d5e3f5;color:#17263c}.game-card{box-shadow:0 10px 30px #142c4810}.contribution p{font-size:14px;font-weight:600;line-height:1.9;color:var(--text)}.released{background:#087f8c}.primary,.detail-link,.back-link,.project-links a,.game-actions a,.store-button,.study-links a,.socials a{min-height:48px;padding:13px 19px;font-size:14px;line-height:1.5;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:650;text-decoration:none}.detail-link{border:1px solid var(--line);background:var(--soft)}.detail-link:hover,.back-link:hover{border-color:var(--green);color:var(--green)}.game-actions a,.store-button{background:#17263c;color:#fff}.brand-link svg{width:23px;height:23px;flex-shrink:0}.socials a.brand-link,.study-links a.brand-link,.game-actions a.brand-link,.brand-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;min-height:49px;font-size:14px;font-weight:650;border:1px solid transparent;border-radius:10px;text-decoration:none;color:#fff;background:#24292f}.brand-link.github{background:#24292f;color:white}.brand-link.linkedin{background:#0a66c2;color:white}.brand-link.cv{background:#087f8c;color:white}.brand-link:hover{filter:brightness(1.13)}.socials span,.socials small{margin:0}.top-profiles{gap:12px}.study-links{gap:9px;flex-wrap:wrap}.study-card{padding:12px;background:var(--soft);border:1px solid var(--line);border-radius:16px}.study-card h3{font-size:20px}.study-card p{font-size:13px}.study-card .game-visual img{object-fit:contain;background:#101722}.study-card .game-visual{aspect-ratio:16/10}.section-heading>a{font-size:12px;padding:11px}.education{margin:32px 0}.education article{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.education time{font-size:13px;font-weight:700;color:var(--green)}.education h3{margin:0;font-size:18px}.education p{margin:4px 0}.education small{color:var(--muted)}.study-summary .brand-link{margin:8px 8px 8px 0}.night .released{background:#0c777f;color:#fff}
@media(max-width:600px){.top-profiles a.brand-link{flex:1 1 auto;padding:12px;gap:7px}.top-profiles{gap:8px}.study-links a.brand-link{font-size:12px;padding:12px 10px;gap:6px}.study-links svg{width:20px;height:20px}.section-heading{flex-wrap:wrap}.education article{grid-template-columns:1fr;gap:5px}.projects{grid-template-columns:1fr}.socials a,.detail-link,.game-actions a{font-size:14px}.top-profiles a:last-child{margin-left:0}}
@media print{.brand-link{color:#111!important;background:white!important;border:0!important;padding:3px!important;min-height:0!important}.education article{padding:10px 0}.education{break-inside:avoid}.education time{color:#333}}
.socials a.brand-link.linkedin,.study-links a.brand-link.linkedin,.game-actions a.brand-link.linkedin{background:#0a66c2;color:#fff}.socials a.brand-link.cv{background:#087f8c;color:#fff}

/* Quiet game-design sketches live outside the reading column. */
.margin-art{position:fixed;top:175px;width:140px;display:grid;gap:72px;color:#4f8299;opacity:.45;pointer-events:none;z-index:0}.margin-left{left:max(18px,calc((100vw - 1220px)/2));transform:rotate(-5deg)}.margin-right{right:max(18px,calc((100vw - 1220px)/2));transform:rotate(5deg)}.margin-sketch>span{display:block;font:600 9px monospace;letter-spacing:1.6px;margin:0 0 16px}.margin-sketch svg{display:block;width:100%;height:auto}.night .margin-art{color:#8bcbd3;opacity:.35}main{position:relative;z-index:1}.tech-notes{margin:18px 0;border-top:1px solid var(--line);padding-top:14px;display:grid;gap:12px}.tech-notes h4{margin:0 0 4px;font-size:13px;color:var(--green)}.tech-notes p{margin:0;font-size:12px;line-height:1.8;color:var(--muted)}.game-grid{align-items:stretch}.game-card{display:flex;flex-direction:column}.game-copy{display:flex;flex-direction:column;flex:1}.game-copy>.detail-link{margin-top:auto;align-self:flex-start}.game-card .game-visual{aspect-ratio:16/10;flex-shrink:0}.game-card .release-status{align-self:flex-start;min-height:28px}.game-card h3{min-height:32px}.study-card{display:flex;flex-direction:column}.study-card .study-links{margin-top:auto;padding-top:18px}.game-actions:empty{display:none}.game-copy>.detail-link{margin-top:18px}.projects{align-items:stretch}.study-card .game-visual{aspect-ratio:16/10}
@media(max-width:1190px){.margin-art{display:none}}
@media(prefers-reduced-motion:reduce){.margin-art{transform:none}}

.game-card{position:relative}.platform-tag{position:absolute;top:20px;left:20px;z-index:2;display:inline-flex;align-items:center;max-width:calc(100% - 40px);padding:5px 9px;border:1px solid #ffffff45;border-radius:6px;background:#142237e8;color:#f4f8ff;font-size:10px;font-weight:650;line-height:1.5;letter-spacing:.2px;box-shadow:0 2px 8px #0002;pointer-events:none}.text-project>.platform-tag{position:static;align-self:flex-start;margin:14px 24px 0}.text-project .game-copy{padding-top:12px}

/* Preserve the full gameplay frame in cards and project dialogs. */
.visual-onesoy,.visual-creap,.visual-crows{aspect-ratio:16/9;height:auto;background:#17263c}.visual-onesoy img,.visual-creap img,.visual-crows img{width:100%;height:100%;object-fit:contain;position:static;transform:none}.visual-study:has(img[src*="gameplay-clean"]){height:auto;aspect-ratio:16/9}.visual-study img[src*="gameplay-clean"]{width:100%;height:100%;object-fit:contain}

.onesoy-study{position:relative;overflow:hidden}.onesoy-study .game-copy{padding:22px}.onesoy-study .visual-onesoy{border-radius:0}.onesoy-study .game-copy h3{margin:12px 0}.onesoy-study .game-copy>p{font-size:14px;line-height:1.7}

/* Motion and accessible 3D project selectors. */
.model-shortcuts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-12px 0 28px}.model-shortcuts button{border:1px solid var(--line);background:var(--soft);border-radius:30px;padding:8px 14px;font-size:11px;min-height:40px;transition:transform .25s,background .25s,color .25s}.model-shortcuts button:hover{transform:translateY(-3px);background:var(--green);color:white}
.game-card,.study-card{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.game-card:hover,.study-card:hover{box-shadow:0 16px 36px #17263c12}.brand-link,.store-button,.detail-link,.primary{transition:transform .25s,background .25s,color .25s}.brand-link:hover,.store-button:hover,.primary:hover{transform:translateY(-2px)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.revealed{opacity:1;transform:translateY(0)}
dialog[open]{animation:panel-enter .45s cubic-bezier(.2,.8,.2,1) both}dialog[open]::backdrop{animation:backdrop-enter .35s both}dialog.closing{animation:panel-exit .24s ease both}dialog.closing::backdrop{animation:backdrop-enter .24s reverse both}dialog[open] #detail-content>*{animation:copy-enter .5s .08s both}dialog[open] #detail-content>p{animation-delay:.14s}
@keyframes panel-enter{from{opacity:0;transform:translateY(-35px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes panel-exit{to{opacity:0;transform:translateY(20px) scale(.98)}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}@keyframes copy-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .2s ease both}::view-transition-new(root){animation:copy-enter .4s ease both}@keyframes page-out{to{opacity:0;transform:translateY(-8px)}}

.astral-menu-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:620px;margin:24px auto}.astral-menu-gallery figure{margin:0}.astral-menu-gallery img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--line)}.astral-menu-gallery figcaption{text-align:center;font-size:12px;color:var(--muted);margin-top:8px}

/* Official studio cover and outbound links. */
.visual-human.official-cover{background:#10170f}.visual-human.official-cover img{width:100%;height:100%;object-fit:contain;opacity:1;filter:none}.studio-button{background:#263b35!important;color:#fff!important}.game-actions{flex-wrap:wrap;gap:10px}

/* SUBPROCESS uses the landscape main-menu key art: fill the frame instead of letterboxing. */
.visual-human.official-cover img{object-fit:cover;object-position:28% 50%}
.poster-respawn .poster-art{object-position:50% 45%}

/* Wider layout: the landing page uses the screen instead of a narrow column. Reading pages stay narrower. */
main,nav{max-width:1200px}
.project-page{max-width:900px}
.poster-panels{height:540px}
@media(min-width:1000px){.projects{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1600px){.margin-art{display:none}}
.margin-left{left:max(18px,calc((100vw - 1200px)/2 - 175px))}.margin-right{right:max(18px,calc((100vw - 1200px)/2 - 175px))}

/* Feature list on project pages (Project: Respawn). */
.feature-list{margin:8px 0 0;padding-left:20px}
.feature-list li{margin:8px 0;line-height:1.75}
.feature-list strong{color:var(--text)}

.visual-respawn img{object-fit:contain;background:#0b1630}
