:root{--bg:#151515;--paper:#ffffff;--muted:#a6a6a6;--accent:#ff6036;--line:#ffffff25}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--paper);font-family:Arial,'Noto Sans KR','Malgun Gothic',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px}header{height:100px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;top:0;width:100%;border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:800;letter-spacing:-.8px;line-height:.9}.mark{font-size:49px;font-weight:400;color:var(--accent)}.logo-dot{font-size:10px;vertical-align:top;margin-left:9px}nav{display:flex;gap:35px;font-size:13px}nav a:hover,.contact-link:hover{color:var(--accent)}.contact-link{font-size:13px}.contact-link span{margin-left:22px}.menu{display:none;background:none;color:var(--paper);border:0;font-size:24px}.hero{min-height:850px;height:100svh;max-height:1200px;position:relative;overflow:hidden;padding:140px 4.5% 30px}.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.hero-top,.hero-bottom{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.8px;position:relative;color:#bcbfb3}.hero-copy{position:relative;margin-top:100px;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:10px}.eyebrow i{width:6px;height:6px;background:var(--accent);border-radius:50%}h1{font-size:clamp(80px,9.8vw,160px);line-height:.92;letter-spacing:-7px;margin:32px 0;font-weight:500}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.hero-copy p{font-size:21px;line-height:1.7;letter-spacing:-.7px}.round-link{display:inline-flex;align-items:center;gap:25px;font-size:11px;letter-spacing:.5px;margin-top:15px}.round-link b{display:grid;place-items:center;border:1px solid #a2ae88;width:46px;height:46px;border-radius:50%;font-size:20px;font-weight:normal;transition:.3s}.round-link:hover b{background:var(--accent);color:var(--bg);transform:rotate(45deg)}.orb-caption{position:absolute;right:8%;bottom:150px;font-size:9px;line-height:2;letter-spacing:2px}.orb-caption span{color:#858b7b}.hero-bottom{position:absolute;bottom:30px;left:4.5%;right:4.5%;border-top:1px solid var(--line);padding-top:25px;font-size:9px}.section{padding:120px 6%}.section-label{font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:32px}.intro{display:grid;grid-template-columns:1fr 2.1fr;background:var(--paper);color:#24271f;padding-top:140px;padding-bottom:140px}.intro .section-label{color:#5c6255}h2{font-size:clamp(35px,4vw,62px);font-weight:400;line-height:1.3;letter-spacing:-2px;margin:0 0 35px}h2 span{color:#7c8270}.intro-text{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:40px 0}.intro-text p{font-size:14px;line-height:1.95;color:#5c6057}.signature{border-top:1px solid #24271f33;padding-top:24px;font-size:13px}.signature em{font-family:Georgia,serif;margin-left:8px;color:#737a63}.work-heading{display:flex;justify-content:space-between;align-items:end}.work-heading h2{font-family:Georgia,serif;font-size:62px;letter-spacing:-2px}.work-heading p{font-size:12px;margin-bottom:43px;color:var(--muted)}.tiny{font:12px Arial;vertical-align:top;margin-left:18px}.filters{display:flex;gap:10px;margin:12px 0 42px;flex-wrap:wrap}.filters button{border:1px solid #ffffff35;border-radius:30px;padding:10px 18px;color:#bdbfb4;background:transparent;font-size:11px;transition:.2s}.filters button.active,.filters button:hover{background:var(--paper);color:var(--bg)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 30px}.project{display:block;border:0;padding:0;text-align:left;background:transparent;color:inherit;min-width:0}.project[hidden]{display:none}.project.wide{grid-column:1/-1}.project-image{position:relative;height:440px;overflow:hidden;background:#24271f}.wide .project-image{height:auto;aspect-ratio:2.1}.project-image>img{height:100%;width:100%;object-fit:cover;transition:transform .8s}.project:hover .project-image>img{transform:scale(1.035)}.project-number{position:absolute;top:22px;left:25px;font-size:9px;letter-spacing:1.4px;color:#fff;text-shadow:0 1px 6px #000}.project-arrow{position:absolute;right:22px;bottom:22px;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;background:#f1efe5;color:#20231c;font-size:23px;transition:.3s}.project:hover .project-arrow{background:var(--accent);transform:rotate(15deg)}.image-note{position:absolute;bottom:18px;left:24px;font-size:9px;color:#fff;text-shadow:0 1px 3px #000}.project-info{padding-top:22px}.project-info h3{font-weight:400;letter-spacing:-.7px;font-size:23px;margin:0 0 10px}.project-info p{font-size:12px;color:var(--muted);margin-bottom:20px}.project-info>span{font-size:8px;letter-spacing:1.7px;color:#b6bca9}.chunhyang{background:#eae3d5}.chunhyang>img{width:60%;height:94%;position:absolute;bottom:0;right:0;object-fit:contain;mix-blend-mode:multiply}.chunhyang .project-number{color:#444;text-shadow:none}.poster-word{position:absolute;top:28%;left:7%;font-size:55px;line-height:1;letter-spacing:-2px;color:#6c184b}.poster-word em{font:italic 38px Georgia;color:#a86174}.military>img{filter:brightness(.5);object-fit:cover}.game-title{position:absolute;top:35%;left:8%;font-size:42px;font-weight:900;letter-spacing:-1.5px;line-height:1.1}.game-title span{display:block;font-size:9px;letter-spacing:2.5px;color:var(--accent);margin-top:20px}.dimensions{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.25fr;gap:10%}.dimension-top h2{font-size:34px;line-height:1.5}.dimension-top h2 em{font-style:normal;color:#8f9982}.dimension-top p{font-size:12px;line-height:1.9;color:var(--muted)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;gap:20px;padding:27px 0;cursor:pointer}summary::-webkit-details-marker{display:none}summary>span{font-size:10px;color:var(--muted)}summary h3{font-weight:400;font-size:23px;letter-spacing:-.7px;margin:0;flex:1}summary small{font-size:10px;color:var(--muted)}summary b{font-weight:400;color:var(--accent);font-size:23px}details[open] summary b{transform:rotate(45deg)}.dimension-content{padding:0 28px 28px 35px}.dimension-content p{font-size:13px;line-height:1.9;color:#bfc3b5;max-width:430px}.dimension-content>span{font-size:8px;letter-spacing:1.5px;color:#859773}.bridge{padding:110px 6%;background:#c4d0ac;color:#20291d;display:grid;grid-template-columns:1.3fr 1fr;gap:30px;overflow:hidden}.bridge .section-label{color:#4b5841}.bridge h2{margin-top:40px;font-size:48px;line-height:1.4}.bridge h2 em{font-style:normal;color:#637451}.bridge p{font-size:13px;line-height:2}.bridge a{font-size:11px;border-bottom:1px solid #677358;padding-bottom:10px;display:inline-block;margin-top:30px}.bridge-art{position:relative;align-self:center;aspect-ratio:1;display:grid;place-items:center}.bridge-art:before,.bridge-art:after{content:'';position:absolute;width:80%;height:80%;border:1px solid #4c634b77;border-radius:50%}.bridge-art:after{width:60%;height:60%}.bridge-art b{font:180px Georgia;color:#475f3e;font-weight:normal}.bridge-art span{position:absolute;font-size:10px;letter-spacing:3px;background:#c4d0ac;padding:14px;z-index:1}.bridge-art span:nth-child(1){top:7%}.bridge-art span:nth-child(2){right:0}.bridge-art span:nth-child(3){bottom:7%}.bridge-art span:nth-child(4){left:0}.contact{display:grid;grid-template-columns:1fr 2.1fr;padding-top:140px;padding-bottom:140px}.contact>div>p:first-child{font-size:11px;color:var(--muted);margin-bottom:35px}.contact h2{font-size:65px}.contact h2 em{font-style:normal;color:var(--accent)}.contact-desc{font-size:13px;line-height:2;color:var(--muted)}.brief-button{background:var(--accent);border:0;padding:20px 25px;color:#182014;display:inline-flex;justify-content:space-between;gap:65px;margin-top:25px;font-size:13px}.brief-button:hover{background:#dcebc4}.contact-note{display:block;font-size:10px;color:var(--muted);margin-top:15px}footer{border-top:1px solid var(--line);margin:0 4.5%;padding:40px 0;display:flex;justify-content:space-between;align-items:center;gap:30px}footer p{font-size:9px;line-height:2;color:var(--muted)}footer>span{font-size:8px;letter-spacing:1px;color:var(--muted)}footer>a:last-child{font-size:25px}dialog{background:#eceae3;color:#252820;border:0;width:min(900px,92vw);max-height:90svh;padding:50px}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}dialog .close{position:absolute;top:10px;right:15px;font-size:30px;border:0;background:none;color:#333;z-index:3}dialog img,dialog video{width:100%;max-height:50vh;object-fit:contain;background:#20221c;margin:15px 0}dialog h2{font-size:34px;margin:15px 0}dialog p{font-size:13px;line-height:1.9}dialog .tags{font-size:10px;color:#6a745b}#brief-dialog{max-width:610px}form label{display:block;font-size:12px;margin-top:20px}input,textarea,select{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #afb3a4;background:#f7f6f0;color:#252820;border-radius:0}#saved{color:#456331}
@media(min-width:1600px){.hero-copy{margin-top:150px}}@media(max-width:1000px){h1{font-size:110px}.hero-copy{margin-top:110px}.orb-caption{right:5%;bottom:100px}.intro,.contact{grid-template-columns:1fr 2.5fr}.dimensions{gap:5%;grid-template-columns:1fr 1.3fr}summary h3{font-size:18px}summary small{display:none}.poster-word{font-size:42px}.game-title{font-size:32px}.project-image{height:350px}.work-heading h2{font-size:48px}}
@media(max-width:700px){header{height:80px;padding:0 6%}.logo{font-size:15px}.mark{font-size:40px}header nav{display:none;position:absolute;top:80px;left:0;right:0;background:#171a13;padding:30px;flex-direction:column}header nav.open{display:flex}.contact-link{margin-left:auto;margin-right:22px;font-size:10px}.contact-link span{margin-left:8px}.menu{display:block}.hero{height:850px;min-height:780px;padding:110px 6% 25px}.hero-top{font-size:8px}.hero-top span:last-child{display:none}.hero-copy{margin-top:130px}h1{font-size:clamp(64px,14.7vw,103px);letter-spacing:-4px;line-height:1.02}.hero-copy p{font-size:18px}.eyebrow{font-size:8px}.orb-caption{bottom:135px;font-size:7px}.hero-bottom{left:6%;right:6%;font-size:7px;gap:20px;line-height:1.8}.hero-bottom span{max-width:180px}.section{padding:75px 6%}.intro,.contact,.dimensions{display:block}h2{font-size:35px}.intro-text{grid-template-columns:1fr;gap:0;margin:25px 0}.intro-text p{font-size:13px}.signature{font-size:11px}.signature em{display:block;margin:10px 0}.work-heading{display:block}.work-heading h2{font-size:42px}.work-heading p{margin-top:-15px;margin-bottom:25px}.filters{gap:8px}.filters button{font-size:10px;padding:9px 12px}.project-grid{grid-template-columns:1fr;gap:40px}.wide .project-image{aspect-ratio:1.3}.project-image{height:380px}.project-info h3{font-size:21px}.project-number{font-size:8px;left:18px}.dimension-list{margin-top:35px}summary h3{font-size:24px}.dimension-top h2{font-size:30px}.bridge{padding:70px 6%;grid-template-columns:1fr}.bridge h2{font-size:35px}.bridge-art{width:80%;margin:0 auto}.contact h2{font-size:44px}.contact-note{font-size:9px}footer{flex-wrap:wrap;gap:25px}footer p{width:60%;font-size:8px}footer>span{flex:1}dialog{padding:40px 22px}dialog h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Content-driven entertainment identity */
@font-face{font-family:'SB Aggro';src:url('assets/fonts/SBAggro-B.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Pretendard;src:url('assets/fonts/Pretendard-Medium.woff2') format('woff2');font-weight:400 500;font-display:swap}@font-face{font-family:Pretendard;src:url('assets/fonts/Pretendard-ExtraBold.woff2') format('woff2');font-weight:700 900;font-display:swap}
body{font-family:Pretendard,Arial,sans-serif;background:#fff;color:#181818}header{height:96px;background:#151515;color:#fff;border-color:#ffffff24;padding:0 5%}.logo{font-family:Pretendard,sans-serif;font-weight:900;letter-spacing:-.5px}.mark{color:#ff6036;font-size:47px}nav{font-size:15px;font-weight:700;gap:32px}.contact-link{background:#ff6036;color:#fff;padding:14px 20px;border-radius:4px;font-weight:700}.contact-link:hover{background:#ff7956;color:#fff}.hero{height:auto;min-height:850px;max-height:none;padding:140px 5% 100px;background:#151515;color:#fff}.hero-top{color:#9f9f9f;letter-spacing:1.2px}.hero-copy{margin-top:100px;z-index:2;width:64%}.eyebrow{font-size:11px;letter-spacing:1.4px;color:#c5c5c5}.hero h1{font-family:'SB Aggro',Pretendard,sans-serif;font-weight:700;font-size:clamp(44px,4.8vw,78px);line-height:1.37;letter-spacing:-3.8px;margin:25px 0 20px}.hero h1 em{font-family:inherit;font-style:normal;color:#ff6036;font-weight:700}.hero-copy p{font-size:17px;line-height:1.8;color:#c0c0c0;letter-spacing:-.4px}.round-link{font-weight:700;font-size:13px;gap:20px}.round-link b{border-color:#666}.round-link:hover b{background:#ff6036;color:#fff}.hero-visual{position:absolute;top:220px;right:4%;width:37%;height:490px}.hero-visual img{position:absolute;object-fit:cover;box-shadow:0 20px 45px #0004}.hero-science{width:94%;height:240px;right:0;top:30px;border-radius:14px;transform:rotate(7deg)}.hero-gambit{width:49%;aspect-ratio:1;top:230px;left:0;transform:rotate(-9deg);border-radius:20px}.hero-bjr{width:42%;aspect-ratio:1;top:270px;right:0;transform:rotate(10deg);border-radius:28px}.hero-stamp{position:absolute;right:12%;top:-65px;font-family:'SB Aggro';font-size:24px;line-height:1.25;color:#ff6036;transform:rotate(7deg);z-index:1}.hero-stamp span{font-size:80px;position:absolute;left:-85px;top:-5px}.visual-label{position:absolute;bottom:-30px;right:0;color:#838383;font-size:9px;letter-spacing:1.5px}.hero-bottom{color:#969696;border-color:#ffffff24}.ticker{background:#ff6036;color:#fff;font-family:'SB Aggro';padding:28px 0;white-space:nowrap;overflow:hidden;font-size:28px;letter-spacing:-.5px}.ticker span{margin:0 30px;font-size:36px}.section{padding:110px 6%}.section-label{font-size:12px;font-weight:800;letter-spacing:1px;color:#ff6036}h2{font-family:Pretendard,sans-serif;font-weight:800;letter-spacing:-2.3px;line-height:1.25}h2 span{color:#858585}.intro{background:#fff;color:#151515;grid-template-columns:1fr 2.2fr}.intro .section-label{color:#ff6036}.intro h2{font-size:54px}.intro h2 span{color:#171717}.intro-text p{font-size:17px;line-height:1.8;color:#656565}.signature{font-weight:800;font-size:15px;letter-spacing:.1px;border-color:#e4e4e4}.signature span{color:#ff6036;margin:0 18px}.games{background:#f4f4f4;scroll-margin-top:0}.work-heading h2{font-family:Pretendard,sans-serif;font-size:56px;font-weight:800;letter-spacing:-2px;margin-bottom:0}.games .work-heading{align-items:center}.game-count{font-family:'SB Aggro';font-size:110px;line-height:1;color:#ff6036}.game-count span{display:block;font-family:Pretendard;font-size:10px;color:#777;letter-spacing:2px;text-align:right;margin-top:12px}.games-intro{font-size:16px;line-height:1.8;color:#777;margin:30px 0 42px}.game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:38px 24px}.game-card{border:0;padding:0;background:none;text-align:left;min-width:0;color:#151515}.game-art{position:relative;aspect-ratio:1;overflow:hidden;border-radius:16px;background:#25262a}.game-art>img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.game-card:hover .game-art>img{transform:scale(1.06)}.game-index{position:absolute;top:13px;left:13px;background:#0007;color:#fff;font-size:10px;padding:5px 8px;border-radius:20px}.game-more{position:absolute;right:12px;bottom:12px;background:#fff;color:#222;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:22px}.game-card h3{font-size:19px;font-weight:800;margin:17px 0 7px;letter-spacing:-.7px}.game-card p{font-size:9px;letter-spacing:.9px;color:#777;margin:0}.game-wordmark{height:100%;padding:45px 20px 20px;display:flex;align-items:center;position:relative}.game-wordmark span{font-family:'SB Aggro';font-size:clamp(19px,2.1vw,33px);line-height:1.2;letter-spacing:-1px;z-index:1}.game-wordmark b{position:absolute;right:-28px;bottom:-45px;font-size:200px;opacity:.15;font-weight:400}.bubble .game-art{background:#b9ecf9;color:#006786}.burger .game-art{background:#ffcd47;color:#914322}.heroes .game-art{background:#cfddac;color:#3e5934}.dead .game-art{background:#303038;color:#f1ba86}.aqua .game-art{background:#a2d6ef;color:#27428e}.portfolio-note{color:#777;font-size:11px;line-height:1.6;margin-top:35px}.works{background:#fff}.works .work-heading{align-items:end;gap:25px}.works .work-heading h2{font-size:44px}.work-heading p{color:#777;margin:0 0 8px}.filters{margin-top:35px}.filters button{color:#666;border-color:#ddd;font-weight:700}.filters button.active,.filters button:hover{background:#151515;color:#fff}.project-image{border-radius:12px}.project-info h3{font-size:26px;font-weight:800}.project-info p{font-size:14px;color:#777}.project-info>span{color:#898989}.poster-word{font-family:'SB Aggro';font-size:43px;line-height:1.2}.poster-word em{font-family:inherit;font-style:normal;font-size:28px}.game-title{color:#fff}.game-title span{color:#ffae8b}.dimensions{background:#191919;color:#fff;border:none;gap:7%;grid-template-columns:1fr 1.35fr}.dimension-top h2{font-size:38px;font-weight:800}.dimension-top h2 em{color:#ff6036;font-style:normal}.dimension-top p{font-size:15px;color:#a9a9a9}.dimension-list summary h3{font-size:27px;font-weight:800;letter-spacing:-.8px}.dimension-list summary small{color:#a8a8a8}.dimension-content p{font-size:15px;color:#bbb}.dimension-content>span{color:#ff936e}.bridge{background:#ff6036;color:#fff}.bridge .section-label{color:#fff9}.bridge h2{font-family:Pretendard;font-size:52px;font-weight:800}.bridge h2 em{color:#fff;font-style:normal}.bridge p{font-size:15px;color:#fff}.bridge a{font-size:13px;font-weight:700;border-color:#fff8}.bridge-art span{background:#ff6036;color:#fff;font-weight:800}.bridge-art:before,.bridge-art:after{border-color:#ffffff65}.bridge-art b{font-family:Pretendard;font-weight:800;color:#fff}.contact{background:#f4f4f4}.contact h2{font-weight:800}.contact h2 em{color:#ff6036}.contact>div>p:first-child,.contact-desc{color:#666;font-size:15px}.brief-button{background:#ff6036;color:#fff;font-weight:800;border-radius:5px}.brief-button:hover{background:#e74720}.contact-note{color:#777}footer{background:#fff;border-color:#ddd;color:#222}footer p,footer>span{color:#777}dialog{background:#fff;color:#222;border-radius:12px}dialog::backdrop{background:#000b}dialog h2{font-family:Pretendard;font-weight:800}dialog p{font-size:15px}dialog .tags{color:#777}.game-english{color:#999;font-size:12px!important}input,textarea,select{background:#f8f8f8;border-color:#ddd}#saved{color:#466342}
@media(min-width:1600px){.hero{min-height:960px}.hero-copy{margin-top:130px}.hero-visual{top:260px;height:540px}.hero-science{height:290px}.hero-gambit{top:285px}.hero-bjr{top:315px}}
@media(max-width:1000px){nav{gap:18px;font-size:12px}.hero{min-height:770px}.hero h1{font-size:49px;letter-spacing:-2.5px}.hero-visual{top:235px;height:370px}.hero-science{height:180px}.hero-gambit{top:195px}.hero-bjr{top:220px}.hero-stamp{font-size:20px}.hero-stamp span{font-size:60px;left:-65px}.hero-copy p{font-size:15px}.intro h2{font-size:43px}.game-grid{grid-template-columns:repeat(3,1fr)}.game-wordmark span{font-size:28px}.dimension-list summary h3{font-size:22px}.dimensions{gap:4%}.dimension-top h2{font-size:30px}}
@media(max-width:700px){header{height:80px;padding:0 6%}header nav{background:#202020;color:#fff}.contact-link{font-size:10px;padding:10px 12px;margin-right:12px}.menu{color:#fff}.hero{padding:110px 6% 100px;min-height:1060px}.hero-copy{width:100%;margin-top:55px}.hero h1{font-size:clamp(32px,7.8vw,48px);letter-spacing:-1.8px;line-height:1.5}.hero-copy p{font-size:14px}.hero-visual{top:590px;width:82%;right:8%;height:330px}.hero-science{width:82%;height:175px;right:0;top:15px}.hero-gambit{width:40%;top:145px;left:0}.hero-bjr{width:34%;top:185px;right:0}.hero-stamp{top:-40px;left:55px;right:auto;font-size:17px}.hero-stamp span{font-size:49px;left:-55px}.visual-label{bottom:-3px;font-size:7px}.ticker{font-size:20px;padding:20px 0}.ticker span{font-size:24px;margin:0 15px}.section{padding:70px 6%}.intro h2{font-size:35px}.intro-text p{font-size:15px}.signature{font-size:10px}.signature span{margin:0 8px}.work-heading h2{font-size:35px}.games .work-heading{display:flex;gap:15px;align-items:end}.game-count{font-size:64px}.game-count span{font-size:7px;letter-spacing:.4px}.games-intro{font-size:14px}.game-grid{grid-template-columns:repeat(2,1fr);gap:27px 15px}.game-art{border-radius:10px}.game-card h3{font-size:16px;line-height:1.4;margin-top:12px}.game-card p{font-size:8px;letter-spacing:.2px}.game-wordmark{padding:32px 13px 10px}.game-wordmark span{font-size:clamp(17px,4.2vw,28px);letter-spacing:-.8px}.game-wordmark b{font-size:130px}.game-more{height:27px;width:27px;font-size:18px}.game-index{font-size:8px;top:9px;left:9px}.works .work-heading h2{font-size:32px}.works .work-heading p{margin-top:20px}.project-info h3{font-size:23px}.dimensions{display:block}.dimension-top h2{font-size:32px}.dimension-list summary h3{font-size:24px}.bridge{padding:70px 6%}.bridge h2{font-size:37px}.bridge-art{width:70%}.bridge-art b{font-size:130px}.contact h2{font-size:43px}.contact-desc{font-size:14px}.hero-bottom{font-size:7px}.hero-bottom span{max-width:220px}}
/* Reference typography: SB Aggro Bold, with cyan-to-magenta emphasis. */
h1,h2,.work-heading h2,.intro h2,.dimension-top h2,.bridge h2,.contact h2,dialog h2,.dimension-list summary h3,.project-info h3,.game-card h3,.game-count,.hero-stamp,.ticker{font-family:'SB Aggro',Pretendard,sans-serif;font-weight:700;font-synthesis:none;font-style:normal;letter-spacing:-.01em;word-break:keep-all}
.hero h1{letter-spacing:-.01em;line-height:1.3;font-size:clamp(40px,4.3vw,70px)}
.hero h1 em,.contact h2 em,.dimension-top h2 em{font-family:'SB Aggro',Pretendard,sans-serif;font-weight:700;font-style:normal;background:linear-gradient(90deg,#1aafff 0%,#7957ee 52%,#f10ee2 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.intro h2,.work-heading h2{font-size:48px;line-height:1.3}.works .work-heading h2{font-size:40px;line-height:1.35}.dimension-top h2{font-size:32px;line-height:1.5}.dimension-list summary h3{font-size:24px;line-height:1.3}.project-info h3{font-size:23px;line-height:1.4}.game-card h3{font-size:17px;line-height:1.5}.bridge h2{font-size:46px;line-height:1.4}.contact h2{font-size:55px;line-height:1.4}dialog h2{font-size:30px;line-height:1.4}.hero-copy{width:66%}
@media(max-width:1000px){.hero h1{font-size:43px}.intro h2,.work-heading h2{font-size:39px}.dimension-top h2{font-size:27px}.dimension-list summary h3{font-size:20px}.game-card h3{font-size:15px}}
@media(max-width:700px){.hero-copy{width:100%}.hero h1{font-size:clamp(28px,7vw,42px);line-height:1.5}.intro h2,.work-heading h2{font-size:29px;line-height:1.4}.works .work-heading h2{font-size:28px}.dimension-top h2{font-size:28px}.dimension-list summary h3{font-size:21px}.project-info h3{font-size:20px}.game-card h3{font-size:14px;line-height:1.6}.bridge h2{font-size:31px}.contact h2{font-size:36px}dialog h2{font-size:24px}}
/* A softer, bolder Korean voice inside a violet cosmic atmosphere. */
.hero h1,.intro h2,.work-heading h2,.works .work-heading h2,.dimension-top h2,.bridge h2,.contact h2,dialog h2{letter-spacing:0;line-height:1.4;-webkit-text-stroke:.45px currentColor;paint-order:stroke fill}
.hero h1{font-size:clamp(42px,4.45vw,73px);line-height:1.42;letter-spacing:.005em;text-shadow:0 3px 22px #b38bff14}
.hero h1 em,.contact h2 em,.dimension-top h2 em{-webkit-text-stroke:0;background-image:linear-gradient(95deg,#83e3ff 0%,#b89aff 44%,#ee94f7 78%,#ffc8f6 100%);filter:drop-shadow(0 2px 15px #bc8bff22)}
.contact h2 em{background-image:linear-gradient(95deg,#2582d0 0%,#7a4ad3 50%,#b332be 100%)}
.game-card h3,.project-info h3{-webkit-text-stroke:.22px currentColor;paint-order:stroke fill;letter-spacing:0;line-height:1.6}
.intro-text p,.dimension-content p,.contact-desc{font-weight:500;line-height:1.9}
header{background:#100d20;border-bottom-color:#c7a9ff22}.hero{background:#100c21;isolation:isolate;overflow:hidden}
.hero:before{content:'';position:absolute;inset:-12%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 74% 37%,#9e61ee65 0%,#6739be3b 20%,transparent 48%),radial-gradient(ellipse at 40% 85%,#623fc95c 0%,transparent 48%),radial-gradient(ellipse at 96% 90%,#dd78d449 0%,transparent 38%),radial-gradient(ellipse at 13% 16%,#4c4ba633 0%,transparent 38%);filter:blur(42px);animation:cosmic-breathe 18s ease-in-out infinite alternate;transform:translateZ(0)}
.hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.65;background-image:radial-gradient(circle at 7% 23%,#e4d7ffb0 0 1px,transparent 1.7px),radial-gradient(circle at 26% 14%,#e7ddff 0 1px,transparent 2px),radial-gradient(circle at 53% 24%,#d4c0ff99 0 1px,transparent 1.8px),radial-gradient(circle at 88% 15%,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle at 93% 67%,#dac6ff99 0 1px,transparent 2px),radial-gradient(circle at 47% 88%,#eee4ff99 0 1.2px,transparent 2px),radial-gradient(circle at 17% 78%,#ccb7ff66 0 1px,transparent 1.8px),radial-gradient(circle at 66% 74%,#fff9 0 1px,transparent 2px)}
.hero-top,.hero-bottom{color:#b5a9ca}.eyebrow{color:#cfc2e7}.hero-copy p{color:#e0d8ed}.hero-bottom{border-color:#c7a9ff33}.hero-visual img{box-shadow:0 22px 60px #06011070,0 0 30px #aa72e51a}.hero-stamp{color:#d0a4ff}.visual-label{color:#c1a9d8}.round-link b{border-color:#b29ac677;background:#6a45872b;box-shadow:0 0 25px #b383ff12}.round-link:hover b{background:#a978dc}.dimensions{position:relative;isolation:isolate;overflow:hidden;background:#141022}.dimensions:before{content:'';position:absolute;inset:-15%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 9% 34%,#9a66d447 0%,transparent 44%),radial-gradient(ellipse at 83% 71%,#6741b85e 0%,transparent 48%),radial-gradient(ellipse at 59% 10%,#c56bc421 0%,transparent 37%);filter:blur(55px)}.dimensions .section-label{color:#cba4fa}.dimension-top p{color:#c4b7d7}.dimension-content p{color:#ddd2e9}.dimension-content>span{color:#cbaaf1}.dimension-list summary>span,.dimension-list summary small{color:#b7a6cd}.dimension-list summary b{color:#d9b8ff}.dimension-list details{border-color:#dac5ff27}.dimension-list details[open] summary h3{color:#edddff}
@keyframes cosmic-breathe{from{transform:translate3d(-1%,0,0) scale(1);opacity:.85}to{transform:translate3d(1%,1%,0) scale(1.06);opacity:1}}
@media(max-width:1000px){.hero h1{font-size:43px}.hero-copy{width:66%}}
@media(max-width:700px){header nav{background:#1e1531}.hero-copy{width:100%}.hero h1{font-size:clamp(28px,7.15vw,43px);line-height:1.55;-webkit-text-stroke:.3px currentColor}.hero h1 em{-webkit-text-stroke:0}.hero:before{filter:blur(28px)}.dimensions:before{filter:blur(35px)}.hero-visual{top:610px}.hero{min-height:1080px}.game-card h3{-webkit-text-stroke:.15px currentColor}.intro h2,.work-heading h2,.works .work-heading h2,.dimension-top h2,.bridge h2,.contact h2{-webkit-text-stroke:.3px currentColor}.dimension-top h2 em,.contact h2 em{-webkit-text-stroke:0}}
@media(prefers-reduced-motion:reduce){.hero:before{animation:none}}
/* Neon spectrum: deep space, electric violet, magenta and cyan. */
:root{--accent:#b779ff}header{background:linear-gradient(110deg,#110925f5,#171036f5 55%,#130c2bf5);border-color:#c67dff26}.mark{color:#cb7cff}.contact-link,.brief-button{background:linear-gradient(105deg,#ed14d6,#a11cf2 52%,#6731ff);color:#fff;border:1px solid #f9c3ff32;box-shadow:0 4px 22px #b52aff24}.contact-link:hover,.brief-button:hover{background:linear-gradient(105deg,#f441e0,#b141ff 52%,#7951ff);color:#fff}.hero{background:radial-gradient(ellipse at 85% 20%,#281151 0%,transparent 52%),linear-gradient(145deg,#09081b,#120b29 55%,#1b0b34)}.hero:before{inset:-8%;background:radial-gradient(ellipse at 88% 32%,#8527ffad 0%,#8329ff44 23%,transparent 49%),radial-gradient(ellipse at 63% 66%,#f321cb78 0%,#e623b82b 22%,transparent 47%),radial-gradient(ellipse at 26% 95%,#4d3bff9c 0%,transparent 42%),radial-gradient(ellipse at 99% 94%,#27bff46b 0%,transparent 34%),radial-gradient(ellipse at 10% 5%,#353cd942 0%,transparent 40%);filter:blur(44px);animation:neon-drift 22s ease-in-out infinite alternate}.hero:after{opacity:.95}.hero-visual img{box-shadow:0 20px 55px #05001185,0 0 35px #a040ff30}.hero-stamp{color:#e5a9ff;text-shadow:0 0 30px #d241ff55}.eyebrow i{background:#dc8bff;box-shadow:0 0 12px #e26bff}.round-link b{background:#6a269036;border-color:#c38cff75}.round-link:hover b{background:#a335df}.ticker{background:linear-gradient(100deg,#ee12d3 0%,#bb13ed 40%,#7218ff 76%,#4e34f0 100%);box-shadow:inset 0 1px #ffffff35}.section-label,.intro .section-label{color:#8d35d7}.game-count{color:#9c30e5}.dimensions{background:linear-gradient(135deg,#0e0924,#1a0c35 55%,#130e31)}.dimensions:before{inset:-10%;background:radial-gradient(ellipse at 7% 25%,#e018ce6b 0%,transparent 43%),radial-gradient(ellipse at 89% 75%,#7929ff8c 0%,transparent 45%),radial-gradient(ellipse at 55% 100%,#286dff61 0%,transparent 36%),radial-gradient(ellipse at 70% 0%,#ad28db38 0%,transparent 32%);filter:blur(46px)}.dimensions .section-label{color:#e0adff}.bridge{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#ed0dcc 0%,#c30be4 36%,#8a0afa 68%,#641aff 100%)}.bridge:before{content:'';position:absolute;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 8% 90%,#ff67d985,transparent 43%),radial-gradient(ellipse at 95% 12%,#2d77ff8c,transparent 43%);filter:blur(45px)}.bridge h2{text-shadow:0 2px 24px #550bb52b}.bridge-art span{background:transparent;text-shadow:0 1px 6px #6921aa}.bridge-art:before,.bridge-art:after{border-color:#f4ceff7a;box-shadow:0 0 22px #f3a1ff24,inset 0 0 22px #f3a1ff14}.bridge-art b{color:#fff;filter:drop-shadow(0 0 18px #eebaff88)}.intro{background:radial-gradient(ellipse at 98% 100%,#f4edff,transparent 55%),#fff}.games{background:linear-gradient(150deg,#f6f5fa,#f4f3fb 60%,#f9f1fc)}.contact{background:radial-gradient(ellipse at 95% 80%,#ece3ff 0%,transparent 55%),linear-gradient(120deg,#faf8fd,#f5f0fc)}
.cosmic-stars{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;contain:layout paint}.cosmic-star{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;box-shadow:0 0 6px #cda1ff;opacity:.45;animation:star-shimmer var(--twinkle,6s) ease-in-out infinite alternate;animation-delay:var(--delay,0s)}.meteor-track{position:absolute;transform:rotate(145deg);transform-origin:0 50%;width:0;height:0}.meteor{display:block;position:absolute;width:var(--tail,140px);height:2px;left:0;top:0;background:linear-gradient(90deg,transparent,#ae7dff66 45%,#bfe9ff 86%,#fff);border-radius:50%;opacity:0;filter:drop-shadow(0 0 4px #c4adff);animation:shooting-star var(--flight,1.5s) ease-out forwards}.meteor:after{content:'';position:absolute;right:0;top:-1px;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 9px #fff,0 0 20px #a87bff}.hero-copy,.hero-visual,.hero-top,.hero-bottom,.dimension-top,.dimension-list{position:relative;z-index:1}.hero-visual,.hero-bottom{position:absolute}.dimension-list{min-width:0}
@keyframes neon-drift{0%{transform:translate3d(-1%,0,0) scale(1);opacity:.88}100%{transform:translate3d(2%,-1%,0) scale(1.06);opacity:1}}
@keyframes star-shimmer{0%,20%{opacity:.15;transform:scale(.75)}100%{opacity:.8;transform:scale(1.2)}}
@keyframes shooting-star{0%{opacity:0;transform:translateX(0)}12%{opacity:.95}65%{opacity:.8}100%{opacity:0;transform:translateX(var(--travel,480px))}}
@media(max-width:700px){header nav{background:linear-gradient(130deg,#1c1034,#20103e)}.hero:before{filter:blur(30px)}.dimensions:before{filter:blur(32px)}.meteor{height:1.5px}.contact-link{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.hero:before,.cosmic-star{animation:none}.cosmic-star{opacity:.4}.meteor-track{display:none}}
/* Unified midnight universe across every section and detail view. */
:root{--bg:#06050d;--paper:#f5f0ff;--muted:#aaa0bd;--accent:#bd8aff;--line:#b997ed24;color-scheme:dark}
html,body{background:#06050d;color:#f5f0ff}header{background:linear-gradient(110deg,#070610fa,#0b0716fa 55%,#070610fa);border-color:#b997ed20}.hero{background:#06050d}.hero:before{background:radial-gradient(ellipse at 88% 32%,#7220bb65 0%,#54218224 23%,transparent 49%),radial-gradient(ellipse at 63% 66%,#ac1d9c37 0%,transparent 45%),radial-gradient(ellipse at 26% 95%,#39269e4f 0%,transparent 42%),radial-gradient(ellipse at 99% 94%,#18729b30 0%,transparent 34%);filter:blur(54px)}
.section,.bridge{position:relative;isolation:isolate;overflow:hidden;color:#f5f0ff;border-top:1px solid #b997ed14}.section> :not(.cosmic-stars),.bridge> :not(.cosmic-stars){position:relative;z-index:1}.intro{background:radial-gradient(ellipse at 13% 40%,#49116f27,transparent 52%),radial-gradient(ellipse at 91% 85%,#192b6f25,transparent 48%),#06050d;color:#f5f0ff}.intro h2,.intro h2 span{color:#f5f0ff}.intro-text p{color:#bbb1cb}.intro .section-label,.section-label{color:#c493f5}.signature{color:#e9e0f6;border-color:#b997ed29}.signature span{color:#d489ff}
.games{background:radial-gradient(ellipse at 88% 12%,#3611702c,transparent 42%),radial-gradient(ellipse at 2% 74%,#64165b20,transparent 43%),#07060f}.games-intro,.work-heading p{color:#b6acc8}.games h2 span{color:#b5a0cc}.game-count{color:#c994ff;text-shadow:0 0 35px #8e36e928}.game-count span{color:#b9a7cf}.game-card{color:#f5f0ff}.game-card p{color:#b9abc9}.game-art{border:1px solid #bc94ec28;box-shadow:0 8px 25px #0004}.game-card:hover .game-art{border-color:#c28cff88;box-shadow:0 0 28px #9639e322}.game-more{background:#140e22e8;color:#ead7ff;border:1px solid #be8dee55}.portfolio-note{color:#a194b1}.game-wordmark{background:radial-gradient(ellipse at 90% 90%,#9e68ff20,transparent 70%)}.bubble .game-art{background:#0b2230;color:#a2e8ff}.burger .game-art{background:#2b1822;color:#ffcf9f}.heroes .game-art{background:#172421;color:#b7e4c2}.dead .game-art{background:#211324;color:#efb3cc}.aqua .game-art{background:#101a37;color:#a5c6ff}
.works{background:radial-gradient(ellipse at 5% 22%,#35216b25,transparent 45%),radial-gradient(ellipse at 95% 74%,#5e135a20,transparent 43%),#06050d}.filters button{color:#cbbddc;background:#130d20;border-color:#be8fee36}.filters button.active,.filters button:hover{background:linear-gradient(110deg,#65249a,#432295);border-color:#be8fee80;color:#fff}.project-info p{color:#b7a9c7}.project-info>span{color:#a89ab9}.project-image{border:1px solid #c193eb25}.project-arrow{background:#160e24;color:#f1dcff;border:1px solid #c38fee5e}.project:hover .project-arrow{background:#652c97;color:#fff}
.dimensions{background:#07050e}.dimensions:before{background:radial-gradient(ellipse at 7% 25%,#9d179a38 0%,transparent 43%),radial-gradient(ellipse at 89% 75%,#5220b449 0%,transparent 45%),radial-gradient(ellipse at 55% 100%,#163d852b 0%,transparent 36%);filter:blur(55px)}.dimension-top p{color:#b6a7c8}.dimension-content p{color:#c7bbd6}.dimension-list summary h3{color:#f5f0ff}.dimension-list details[open] summary h3{color:#e2b9ff}
.ticker{background:linear-gradient(100deg,#260c35 0%,#210b3e 42%,#150c31 78%,#0c1129 100%);color:#d5afea;border-top:1px solid #c469f13b;border-bottom:1px solid #7b57ce3b;box-shadow:inset 0 0 30px #9e25c014}.ticker span{color:#f1a3e8}.bridge{background:#080610}.bridge:before{background:radial-gradient(ellipse at 8% 70%,#bb1cc24d,transparent 45%),radial-gradient(ellipse at 90% 40%,#5b21b65c,transparent 48%),radial-gradient(ellipse at 55% 100%,#1b449c30,transparent 40%);filter:blur(55px)}.bridge .section-label{color:#d5a5f5}.bridge h2{color:#f6eeff;text-shadow:none}.bridge h2 em{color:#d3a4f0}.bridge p{color:#c4b4d4}.bridge a{color:#e0c4f5;border-color:#b080cd66}.bridge-art span{color:#d9b9f1;text-shadow:0 0 15px #bd76ff44}.bridge-art:before,.bridge-art:after{border-color:#bb75ec60;box-shadow:0 0 28px #9735df18,inset 0 0 22px #9735df18}.bridge-art b{color:#dab0ff;filter:drop-shadow(0 0 20px #b360ff55)}
.contact{background:radial-gradient(ellipse at 85% 60%,#50217d30,transparent 55%),radial-gradient(ellipse at 10% 80%,#1b275f23,transparent 43%),#06050d}.contact>div>p:first-child,.contact-desc{color:#bcafcb}.contact-note{color:#a899ba}.contact h2 em{background-image:linear-gradient(95deg,#83e3ff,#b89aff 50%,#ee94f7);color:transparent}.brief-button,.contact-link{background:linear-gradient(110deg,#7d218f,#6524a6 52%,#4930a1);border-color:#d39aff40;box-shadow:0 0 22px #9b36d61a}.brief-button:hover,.contact-link:hover{background:linear-gradient(110deg,#9d2ead,#7b34c0 52%,#5b41bc)}footer{background:#06050d;color:#f5f0ff;border-color:#ac82d426}footer p,footer>span{color:#a79ab6}
dialog{background:radial-gradient(ellipse at 100% 0%,#52207548,transparent 50%),linear-gradient(145deg,#100b1c,#090711);color:#f3ecff;border:1px solid #bb8de842;box-shadow:0 25px 100px #000b}dialog::backdrop{background:#030109cf;backdrop-filter:blur(12px)}dialog .close{color:#ead9fa;background:#2d183e66;border-radius:50%;width:36px;height:36px}dialog .tags,.game-english{color:#bba7cf}dialog p{color:#d0c2df}dialog h2{color:#fbf7ff}input,textarea,select{background:#0a0713;color:#eee6f9;border-color:#b48adf40}input::placeholder,textarea::placeholder{color:#93829f}input:focus,textarea:focus,select:focus{outline:2px solid #b77be4;outline-offset:2px}#saved{color:#b6e4c2}
@media(max-width:700px){header nav{background:linear-gradient(130deg,#0c0817,#150b23)}.hero:before,.dimensions:before,.bridge:before{filter:blur(35px)}}
/* Irregular, fleeting meteors rather than an evenly spaced formation. */
.meteor-track{transform:rotate(var(--angle,145deg))}.meteor{height:1.4px;background:linear-gradient(90deg,transparent 0%,#9474ff18 25%,#b8acff88 72%,#e7f5ff 95%,#fff);filter:drop-shadow(0 0 3px #b9a0ff);animation:shooting-star-natural var(--flight,1.2s) linear forwards}.meteor:after{width:2.5px;height:2.5px;top:-.6px;box-shadow:0 0 5px #fff,0 0 11px #b493ff}
@keyframes shooting-star-natural{0%{opacity:0;transform:translateX(0) scaleX(.5)}9%{opacity:var(--meteor-brightness,.8)}50%{opacity:var(--meteor-brightness,.8)}78%{opacity:.32}100%{opacity:0;transform:translateX(var(--travel,420px)) scaleX(.85)}}
/* Intensify luminous clouds while preserving near-black reading areas. */
.hero:before{background:radial-gradient(ellipse at 89% 31%,#8c20ffb8 0%,#6920da69 19%,transparent 43%),radial-gradient(ellipse at 64% 74%,#ed17d280 0%,#d919ad38 20%,transparent 44%),radial-gradient(ellipse at 19% 98%,#5030ff8c 0%,transparent 39%),radial-gradient(ellipse at 99% 89%,#13bce96b 0%,transparent 31%);filter:blur(36px)}
.intro{background:radial-gradient(ellipse at 0% 38%,#b219dd51 0%,transparent 44%),radial-gradient(ellipse at 100% 90%,#3538d859 0%,transparent 43%),#06050d}.games{background:radial-gradient(ellipse at 100% 7%,#7821d865 0%,transparent 37%),radial-gradient(ellipse at 0% 65%,#c8209c40 0%,transparent 34%),radial-gradient(ellipse at 78% 100%,#185bbf3b 0%,transparent 34%),#07060f}.works{background:radial-gradient(ellipse at 0% 16%,#5734d85c 0%,transparent 43%),radial-gradient(ellipse at 100% 70%,#c019a64d 0%,transparent 37%),#06050d}.dimensions:before{background:radial-gradient(ellipse at 3% 27%,#e41bd470 0%,transparent 42%),radial-gradient(ellipse at 96% 74%,#7527ff8c 0%,transparent 45%),radial-gradient(ellipse at 53% 100%,#2471e34d 0%,transparent 34%);filter:blur(38px)}.bridge:before{background:radial-gradient(ellipse at 0% 72%,#f51dde88 0%,transparent 43%),radial-gradient(ellipse at 97% 35%,#822bff9c 0%,transparent 46%),radial-gradient(ellipse at 55% 100%,#126add52 0%,transparent 39%);filter:blur(38px)}.contact{background:radial-gradient(ellipse at 100% 60%,#8836cf5c 0%,transparent 48%),radial-gradient(ellipse at 0% 90%,#283cc947 0%,transparent 40%),#06050d}.ticker{background:linear-gradient(105deg,#5f115c,#461276 42%,#28145e 78%,#121e48);border-color:#cc69ff66;box-shadow:inset 0 0 35px #b72cde26,0 0 24px #9b2ae515}.hero-visual img{box-shadow:0 20px 55px #0009,0 0 40px #b442ff40}.bridge-art:before,.bridge-art:after{border-color:#d795ff8f;box-shadow:0 0 30px #b339ff3b,inset 0 0 22px #b339ff24}.bridge-art b{filter:drop-shadow(0 0 23px #c777ff88)}
@media(max-width:700px){.hero:before,.dimensions:before,.bridge:before{filter:blur(28px)}.meteor{height:1px}}
@media(prefers-reduced-motion:reduce){.meteor-track{display:none}}
/* One tiny Battle Joker Round visitor drifting through the universe. */
/* Spacecraft and sequential glints share the background-only star layer. */
.cosmic-star{animation:none;opacity:.22;box-shadow:0 0 3px #cda1ff55;transform:scale(1)}.cosmic-star.is-glinting{animation:individual-neon-glint 1.3s ease-in-out both;background:#fff;box-shadow:0 0 5px #fff,0 0 12px var(--star-color,#bc86ff),0 0 25px var(--star-color,#bc86ff)}.cosmic-star.is-glinting:before,.cosmic-star.is-glinting:after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;border-radius:50%;background:linear-gradient(90deg,transparent,#e9ddffbb,transparent)}.cosmic-star.is-glinting:before{width:13px;height:1px}.cosmic-star.is-glinting:after{width:1px;height:13px;background:linear-gradient(0deg,transparent,#e9ddffbb,transparent)}
@keyframes individual-neon-glint{0%{opacity:.2;transform:scale(.7)}38%{opacity:1;transform:scale(1.5)}60%{opacity:.9;transform:scale(1.25)}100%{opacity:.22;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.cosmic-star.is-glinting{animation:none;opacity:.22;box-shadow:none}.cosmic-star.is-glinting:before,.cosmic-star.is-glinting:after{display:none}}
/* Alternate flyby direction; keep the glow trail behind the ship. */
/* Slanted monochrome company wordmark, replacing the temporary asterisk lockup. */
.logo{display:inline-flex;align-items:center;flex-shrink:0;line-height:1;gap:0;padding:4px 0}.company-wordmark{display:block;width:260px;height:auto;max-height:58px;object-fit:contain;filter:drop-shadow(0 2px 6px #0005)}footer .company-wordmark{width:230px}.logo:hover .company-wordmark{filter:drop-shadow(0 0 8px #b386ff40)}
@media(max-width:1100px){header .company-wordmark{width:210px}header nav{gap:20px}}
@media(max-width:700px){header .company-wordmark{width:180px;max-width:43vw}footer .company-wordmark{width:200px}footer .logo{flex-basis:100%}footer p{width:auto;flex:1}}

/* Preserve complete title artwork in landscape portfolio cards. */
.dokkebi .game-art>img,.showdown .game-art>img,.tank .game-art>img{object-fit:contain;background:radial-gradient(ellipse at center,#272041,#090711)}
.project-image.military>img{object-fit:contain;background:#090711;filter:none}
.project-gallery{display:grid;gap:24px;margin-top:28px}.project-gallery figure{margin:0}.project-gallery img{display:block;width:100%;height:auto;object-fit:contain;border-radius:10px}.project-gallery figcaption{font-size:13px;color:#bba7cf;margin-top:10px}

/* Curated portfolio: consistent icon frames, complete source artwork. */
.game-grid{gap:36px 24px;align-items:start}.game-card h3{min-height:2.9em;margin-bottom:3px}.game-art{border-radius:22px;isolation:isolate}.game-art.art-complete{background:#100d20}.game-art.art-complete:before{content:"";position:absolute;inset:-15%;background-image:var(--art-url);background-size:cover;background-position:center;filter:blur(23px) brightness(.42);z-index:-1}.game-art.art-complete>img{object-fit:contain;background:transparent;padding:0;display:block}.game-card:hover .game-art.art-complete>img{transform:scale(1.025)}.game-index{z-index:2;backdrop-filter:blur(8px)}.game-more{z-index:2}.game-card .game-art>img{display:block}
.hero-copy{width:53%;margin-top:100px}.hero h1{font-size:clamp(38px,4.1vw,66px);line-height:1.45}.hero-curated{width:39%;right:5%;top:230px;height:auto;display:grid;gap:24px;transform:rotate(2deg)}.hero-curated .hero-stamp{top:-65px;right:2%;font-size:19px}.hero-curated .hero-stamp span{font-size:64px;left:-72px}.hero-curated a,.hero-curated button{position:relative;display:block;overflow:hidden;border:1px solid #cd9cff45;border-radius:20px;padding:0;background:#100c20;color:white;box-shadow:0 18px 48px #0008,0 0 36px #a040ff28}.hero-curated img{position:static;width:100%;height:100%;object-fit:cover;display:block;box-shadow:none;transition:transform .35s}.hero-curated a:hover img,.hero-curated button:hover img{transform:scale(1.035)}.hero-curated .hero-feature{aspect-ratio:16/9;transform:rotate(-4deg)}.hero-feature>span{position:absolute;bottom:0;left:0;right:0;padding:24px 16px 12px;background:linear-gradient(transparent,#080512db);font-size:9px;letter-spacing:1.8px}.hero-icons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hero-icons :is(button,a){aspect-ratio:1;border-radius:21px}.hero-icons :is(button,a):nth-child(2){transform:translateY(18px)}.hero-icons :is(button,a):nth-child(3) img{object-position:50% 37%}.hero-icons span{position:absolute;bottom:0;left:0;right:0;padding:22px 4px 9px;background:linear-gradient(transparent,#080512ee);font-size:8px;letter-spacing:.7px;text-align:center}.hero-curated .visual-label{position:static;text-align:right;margin-top:8px;font-size:8px;letter-spacing:1.8px}
@media(min-width:1600px){.hero-curated{top:270px}.hero-copy{margin-top:130px}}
@media(max-width:1000px) and (min-width:701px){.hero{min-height:820px}.hero h1{font-size:clamp(30px,4.1vw,42px)}.hero-copy{width:54%}.hero-curated{width:37%;top:300px;right:4%}.hero-icons{gap:8px}.hero-icons span{font-size:6px}.hero-curated .hero-stamp{font-size:15px}.hero-feature>span{font-size:7px;letter-spacing:.5px}}
@media(max-width:700px){.hero{min-height:0;display:flex;flex-direction:column;padding-bottom:100px}.hero-copy{width:100%;margin-top:50px}.hero h1{font-size:clamp(28px,7.15vw,43px)}.hero-curated{position:relative;inset:auto;width:94%;margin:100px auto 35px;gap:18px}.hero-curated .hero-stamp{top:-57px;font-size:16px;left:auto;right:0}.hero-curated .hero-stamp span{font-size:50px;left:-58px}.hero-curated .visual-label{font-size:7px}.hero-icons{gap:12px}.hero-icons span{font-size:7px}.hero-bottom{left:6%;right:6%;bottom:30px}.game-grid{gap:25px 14px}.game-art{border-radius:17px}.game-card h3{min-height:3em;font-size:14px}.hero-feature>span{font-size:7px}}
@media(prefers-reduced-motion:reduce){.hero-curated img{transition:none}}

/* Unified full-bleed app icons, October 16. */
.game-card .game-art{aspect-ratio:1;border-radius:22px;background:#100d20}.game-card .game-art>img{width:100%;height:100%;object-fit:cover;object-position:center;background:transparent;padding:0}.game-card .game-art:before{content:none}.hero-icons :is(button,a):nth-child(3) img{object-position:center}.hero-icons :is(button,a){border-radius:22px}.company-wordmark,header .company-wordmark{width:160px;height:80px;max-height:none;object-fit:cover;object-position:center;filter:none;border-radius:8px}footer .company-wordmark{width:180px;height:100px;max-height:none}.logo{padding:0}.game-card.aqua .game-art>img{object-position:50% 50%}
@media(max-width:700px){header .company-wordmark{width:128px;height:64px;max-width:36vw}.game-card .game-art,.hero-icons :is(button,a){border-radius:17px}footer .company-wordmark{width:160px;height:90px}}

/* Transparent staggered wordmark: preserve the full artwork and its optical spacing. */
header .logo,footer .logo{position:relative;isolation:isolate;overflow:visible;background:none;border:0;padding:0;line-height:1}
header .company-wordmark,footer .company-wordmark{position:relative;z-index:1;display:block;object-fit:contain;object-position:center;width:252px;height:auto;aspect-ratio:2048/682;max-height:none;max-width:none;border-radius:0;background:transparent;filter:drop-shadow(0 2px 3px #0008) drop-shadow(0 0 8px #cf355c25);transition:filter .3s ease}
header .logo:before,footer .logo:before{content:"";position:absolute;inset:16% -8%;z-index:0;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at 68% 55%,#a62bde28,transparent 70%);filter:blur(16px)}
header .logo:hover .company-wordmark,footer .logo:hover .company-wordmark{filter:drop-shadow(0 2px 3px #0008) drop-shadow(0 0 11px #b754ef60)}
footer{position:relative;padding-top:55px;padding-bottom:55px;gap:35px;background:radial-gradient(ellipse at 15% 70%,#3f164323,transparent 48%),#06050d}
footer .company-wordmark{width:340px}footer .logo:before{inset:0 -12%;background:radial-gradient(ellipse,#bd263e18,#7334b521 40%,transparent 72%);filter:blur(22px)}
@media(max-width:1100px){header .company-wordmark{width:220px}header nav{gap:18px}footer .company-wordmark{width:280px}}
@media(max-width:700px){header .company-wordmark{width:174px;max-width:43vw;height:auto}header .logo{flex-shrink:1}footer{padding-top:38px;padding-bottom:38px;gap:24px}footer .logo{flex-basis:100%}footer .company-wordmark{width:280px;max-width:82vw;height:auto}header .logo:before{filter:blur(10px)}}
@media(prefers-reduced-motion:reduce){header .company-wordmark,footer .company-wordmark{transition:none}}

/* Energy wordmark: original 3:1 proportions with a brief violet/cyan glint. */
header .company-wordmark,footer .company-wordmark{width:264px;height:auto;aspect-ratio:2048/682;object-fit:contain;filter:saturate(.84) drop-shadow(0 0 6px #8975ff30);animation:brand-energy-glow 9s ease-in-out infinite}
header .logo:before,footer .logo:before{inset:5% -9%;background:radial-gradient(ellipse at 35% 50%,#655aff28,transparent 62%),radial-gradient(ellipse at 75% 60%,#d63af321,transparent 64%);filter:blur(17px);animation:brand-aura 9s ease-in-out infinite}
header .logo:after,footer .logo:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(112deg,transparent 39%,#91dfff35 44%,#f7eeffd9 49%,#b9afff70 52%,transparent 59%);background-size:320% 100%;background-position:100% 0;-webkit-mask:url('assets/compass-visio-energy.png') center/100% 100% no-repeat;mask:url('assets/compass-visio-energy.png') center/100% 100% no-repeat;mix-blend-mode:screen;opacity:0;animation:brand-energy-glint 9s ease-in-out infinite}
footer .company-wordmark{width:340px}footer .company-wordmark,footer .logo:before,footer .logo:after{animation-delay:2.5s}
@keyframes brand-energy-glow{0%,12%,40%,100%{filter:saturate(.84) brightness(1) drop-shadow(0 0 6px #8975ff30)}23%{filter:saturate(.95) brightness(1.17) drop-shadow(0 0 12px #a478ff85) drop-shadow(0 0 4px #8bdcff80)}30%{filter:saturate(.9) brightness(1.05) drop-shadow(0 0 8px #b77aff55)}}
@keyframes brand-aura{0%,12%,44%,100%{opacity:.4}24%{opacity:1}32%{opacity:.65}}
@keyframes brand-energy-glint{0%,12%{opacity:0;background-position:100% 0}17%{opacity:.5}24%{opacity:.85}34%{opacity:0;background-position:0% 0}100%{opacity:0;background-position:0% 0}}
@media(max-width:1100px){header .company-wordmark{width:220px}footer .company-wordmark{width:280px}}
@media(max-width:700px){header .company-wordmark{width:174px;max-width:43vw}footer .company-wordmark{width:280px;max-width:82vw}footer .logo{flex-basis:auto;width:280px;max-width:82vw}}
@media(prefers-reduced-motion:reduce){header .company-wordmark,footer .company-wordmark,header .logo:before,footer .logo:before{animation:none}header .logo:after,footer .logo:after{animation:none;display:none}}

.hero-curated .hero-stamp{display:flex;align-items:center;gap:12px;top:-76px;right:2%;transform:rotate(-2deg);font-family:Pretendard,Arial,sans-serif;color:#d1bcff;text-shadow:none;line-height:1.4}
.hero-stamp .imagination-orbit{display:block;width:42px;height:42px;flex:0 0 42px;color:#c4adff;filter:drop-shadow(0 0 7px #9076ff45)}
.imagination-caption{display:flex;flex-direction:column;gap:5px}.imagination-caption small{font-size:9px;font-weight:600;letter-spacing:2px;color:#b6bbdc}.imagination-caption strong{font-size:17px;font-weight:700;letter-spacing:-.3px;color:#eee9ff}
@media(max-width:1000px){.hero-curated .hero-stamp{gap:9px}.imagination-caption strong{font-size:14px}.imagination-caption small{font-size:8px;letter-spacing:1.3px}.hero-stamp .imagination-orbit{width:34px;height:34px;flex-basis:34px}}
@media(max-width:700px){.hero-curated .hero-stamp{top:-67px;right:0}.imagination-caption strong{font-size:15px}}

/* Science characters remain a completely static, clear image. */
.hero-curated .hero-feature,[data-project="science"] .project-image{animation:none;transition:none;filter:none;opacity:1;isolation:isolate}
.hero-curated .hero-feature img,.hero-curated .hero-feature:hover img,[data-project="science"] .project-image>img,[data-project="science"]:hover .project-image>img{animation:none;transition:none;transform:none;filter:none;opacity:1;mix-blend-mode:normal}

/* Platform marks sit below each game's metadata, clear of the artwork. */
.game-platforms{display:flex;align-items:center;gap:9px;margin-top:13px;min-height:30px}
.platform-mark{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #c5abff30;border-radius:8px;background:#161126;color:#d9cfec}
.platform-mark svg{display:block;width:18px;height:18px;flex-shrink:0}
.game-card:hover .platform-mark{color:#f1eaff;border-color:#c5abff60}
@media(max-width:700px){.game-platforms{gap:7px;margin-top:10px}.platform-mark{width:28px;height:28px}.platform-mark svg{width:17px;height:17px}}
/* Keep the added character-shop navigation comfortably spaced. */
header nav{gap:22px}header nav a{white-space:nowrap}
@media(min-width:701px) and (max-width:1100px){header nav{gap:14px;font-size:12px}header>.contact-link{display:none}}

/* Square title artwork on the Military Showdown video card. */
[data-project="military"] .project-image>img,[data-project="military"]:hover .project-image>img{object-fit:cover;object-position:50% 35%;transform:none;filter:none}

/* Keep project images top-aligned when translated captions wrap. */
.project-grid>.project{align-self:start}
.youtube-frame{aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:10px;background:#080610}.youtube-frame iframe{width:100%;height:100%;border:0;display:block}.youtube-play{width:100%;height:100%;padding:0;border:0;position:relative;display:block;background:#080610;color:#fff}.youtube-play img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 33%;filter:brightness(.75)}.youtube-play>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;font-size:18px;font-weight:700;text-shadow:0 2px 8px #000}.youtube-play:hover img{filter:brightness(.9)}.youtube-link{display:inline-block;margin:12px 0 8px;color:#bca2ed;font-size:13px;text-decoration:underline;text-underline-offset:4px}

.youtube-play img{object-fit:contain;object-position:center;filter:none}.youtube-play:hover img{filter:none}.youtube-play>span.youtube-play-label{inset:auto auto 14px 50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);padding:9px 14px;border-radius:10px;background:#100c1be8;gap:10px;font-size:15px}.youtube-mark{width:38px;height:27px;flex-shrink:0}@media(max-width:600px){.youtube-play>span.youtube-play-label{bottom:8px;padding:6px 10px;font-size:12px;gap:7px}.youtube-mark{width:30px;height:22px}}

.game-youtube-badge{position:absolute;top:12px;right:12px;z-index:2;display:block;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;pointer-events:none}.game-youtube-badge svg{display:block;width:28px;height:auto}@media(max-width:700px){.game-youtube-badge{top:10px;right:10px}.game-youtube-badge svg{width:24px}}

/* Stack the mobile footer so the wordmark cannot squeeze company details. */
@media(max-width:700px){
 body>footer{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:20px 12px;margin:0 6%;padding:32px 0 28px}
 body>footer .logo{grid-column:1/-1;justify-self:start;width:min(260px,100%);max-width:100%;min-width:0;flex-basis:auto}
 body>footer .company-wordmark{width:100%;max-width:100%;height:auto;aspect-ratio:2048/682;object-fit:contain}
 body>footer>p{grid-column:1/-1;width:100%;min-width:0;margin:0;font-size:12px;line-height:1.9;letter-spacing:0;word-break:keep-all;overflow-wrap:break-word}
 body>footer>span{grid-column:1;min-width:0;font-size:10px;line-height:1.6;letter-spacing:1px}
 body>footer>a:last-child{grid-column:2;justify-self:end;display:grid;place-items:center;width:44px;height:44px;font-size:28px;line-height:1}
 .contact-desc{word-break:keep-all;overflow-wrap:break-word}
}

.works .project-grid{margin-top:36px}
/* Game artwork now opens a dedicated page. */
a.game-card{display:block;color:inherit;text-decoration:none}a.hero-icon,a.hero-feature{color:inherit;text-decoration:none}
