:root{--bg:#f5f7f6;--white:#fff;--ink:#152e35;--muted:#617278;--line:#dce5e3;--mint:#b8f2dd;--green:#207c66;--deep:#152f35}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}.wrap{max-width:1180px;margin:auto;padding-left:28px;padding-right:28px}.skip{position:absolute;left:-9999px;top:10px;background:#fff;z-index:30;padding:8px 12px}.skip:focus{left:10px}.site-header{position:sticky;top:0;z-index:10;background:rgba(245,247,246,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.head-inner{min-height:72px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:16px;font-weight:850;letter-spacing:-.04em;white-space:nowrap}.brand span{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:8px;border-radius:8px;background:var(--deep);color:var(--mint);font-size:11px;letter-spacing:0}.site-header nav{display:flex;gap:28px}.site-header nav a{font-size:13px;font-weight:750;color:#4a6268}.site-header nav a:hover{color:var(--green)}.kicker{font-size:11px;font-weight:850;letter-spacing:.15em;color:var(--green);margin:0 0 15px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:62px;padding-top:88px;padding-bottom:90px}.hero h1{font-size:clamp(44px,5.2vw,70px);line-height:1.16;letter-spacing:-.075em;margin:0 0 25px}.hero h1 em{font-style:normal;color:#2b8c72}.lead{max-width:540px;color:#50656b;font-size:17px;word-break:keep-all}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:33px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;min-height:47px;border-radius:9px;font-size:13px;font-weight:800;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--deep);color:#fff}.button.primary:hover{background:#255661}.button.outline{border:1px solid var(--line);background:#fff}.button.light{background:var(--mint);color:var(--deep)}.hero-visual{position:relative;border-radius:21px;overflow:hidden;box-shadow:0 24px 55px rgba(13,42,48,.13);background:#20383b}.hero-visual img{height:390px;width:100%;object-fit:cover}.hero-visual:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.hero-visual-label{position:absolute;z-index:1;bottom:26px;left:28px;color:#fff}.hero-visual-label span{display:block;font-size:10px;font-weight:800;letter-spacing:.16em;color:#d0f0e4}.hero-visual-label strong{display:block;font-size:20px;letter-spacing:-.04em}.identity-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.identity-grid{display:grid;grid-template-columns:1fr 1.5fr 1.2fr}.identity-grid div{padding:24px 26px;border-right:1px solid var(--line)}.identity-grid div:first-child{padding-left:0}.identity-grid div:last-child{border:0}.identity-grid small{display:block;font-size:10px;letter-spacing:.1em;font-weight:850;color:#89999d}.identity-grid strong{display:block;font-size:14px;letter-spacing:-.02em}.section{padding-top:98px;padding-bottom:104px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px}.section-heading h2{font-size:clamp(30px,3.3vw,43px);line-height:1.25;letter-spacing:-.06em;margin:0}.section-heading>p{font-size:14px;color:var(--muted);max-width:360px;margin:0;word-break:keep-all}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.work-card{display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:#fff;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}.work-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(19,55,56,.1)}.work-card>img,.work-art{width:100%;height:190px;object-fit:cover;background:#223f43}.work-card.featured{grid-column:span 2;flex-direction:row}.work-card.featured .work-art{width:47%;height:auto;min-height:260px;flex:none}.work-card.featured .work-content{padding:34px}.fable-art{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(circle at 65% 30%,#487c8e,#172d3e 58%,#0d1823)}.fable-art:before{content:"";position:absolute;width:250px;height:250px;border-radius:50%;border:1px solid rgba(155,234,229,.4);box-shadow:0 0 0 50px rgba(155,234,229,.05),0 0 0 100px rgba(155,234,229,.03)}.fable-mark{position:relative;font-family:Georgia,serif;color:#e7fff5;font-size:86px;letter-spacing:-.12em;text-shadow:0 10px 35px #0008}.fable-mark span{color:#70d8cb}.art-caption{position:absolute;left:22px;bottom:21px;color:#b0e5df;font-size:10px;font-weight:850;letter-spacing:.18em}.work-content{display:flex;flex-direction:column;padding:22px 23px 23px;flex:1}.tag{font-size:10px;font-weight:850;letter-spacing:.07em;color:#1f896c}.work-content h3{font-size:20px;line-height:1.3;letter-spacing:-.045em;margin:9px 0}.work-content p{font-size:13px;color:var(--muted);margin:0;word-break:keep-all}.card-link{margin-top:auto;padding-top:22px;color:#287b68;font-weight:800;font-size:12px}.secondary{background:#eaf1ee;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.activity-grid article{padding:27px 26px;background:#fff;border:1px solid #dbe6e0;border-radius:14px}.activity-grid span{font-size:11px;color:#278069;font-weight:800}.activity-grid h3{font-size:19px;letter-spacing:-.04em;line-height:1.35;margin:14px 0 8px}.activity-grid p{font-size:13px;color:var(--muted);margin:0;word-break:keep-all}.closing{background:var(--deep);color:#fff;padding:70px 0}.closing-grid{display:flex;justify-content:space-between;gap:30px;align-items:center}.closing h2{font-size:clamp(25px,3vw,36px);letter-spacing:-.055em;margin:0 0 8px}.closing p:not(.kicker){color:#c4d8d3;font-size:14px;margin:0;max-width:590px}.closing .kicker{color:var(--mint)}.footer{padding:25px 0;font-size:12px;color:#819297}.footer .wrap{display:flex;justify-content:space-between;gap:15px}.detail-intro{padding-top:68px;padding-bottom:52px}.back-link{font-size:13px;font-weight:800;color:var(--green)}.detail-intro h1{font-size:clamp(36px,4.5vw,58px);line-height:1.2;letter-spacing:-.065em;margin:20px 0 12px}.detail-intro .lead{max-width:760px;margin:0}.detail-nav{display:flex;gap:9px;flex-wrap:wrap;padding-top:25px}.detail-nav a{font-size:12px;font-weight:750;padding:8px 12px;border-radius:40px;background:#fff;border:1px solid var(--line)}.detail-section{padding-top:76px;padding-bottom:82px;border-top:1px solid var(--line);scroll-margin-top:72px}.detail-section:nth-of-type(even){background:#fff}.detail-top{display:grid;grid-template-columns:1fr 1.25fr;gap:42px;align-items:start;margin-bottom:26px}.detail-index{color:var(--green);font-size:11px;letter-spacing:.14em;font-weight:850}.detail-top h2{font-size:clamp(27px,3vw,38px);line-height:1.25;letter-spacing:-.055em;margin:9px 0}.detail-top .subline{font-size:12px;font-weight:750;color:#7a8a8c;margin:0}.detail-top p{font-size:15px;color:#4c6268;margin:0;word-break:keep-all}.bullet-row{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0}.bullet-row span{padding:5px 9px;border-radius:5px;background:#e5f2ec;color:#277a63;font-size:11px;font-weight:800}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.media-grid.two{grid-template-columns:repeat(2,1fr)}.media-grid figure{margin:0}.media-grid img,.media-grid video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:#1b2e32;border:1px solid var(--line)}.media-grid.tall img{object-fit:contain;background:#e9eeee}.media-grid figcaption{font-size:11px;color:#7e8e92;padding-top:8px}.video-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px}.video-stack figure{margin:0}.video-stack video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:#152f35}.video-stack figcaption{font-size:13px;font-weight:750;padding-top:8px}.fable-summary{padding:25px 29px;background:linear-gradient(135deg,#173542,#233f52);color:#fff;border-radius:14px;margin-bottom:20px}.fable-summary p{font-size:17px;line-height:1.8;margin:0;max-width:900px}.fable-summary strong{color:var(--mint)}.detail-button{margin-top:22px}.doc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:30px}.doc-list a{padding:15px 17px;border:1px solid var(--line);background:#fff;border-radius:8px;font-size:13px;font-weight:750}.doc-list a:hover{border-color:#62ae91}.document{padding:27px 0;border-top:1px solid var(--line);scroll-margin-top:80px}.document h2{font-size:22px;letter-spacing:-.04em}.document pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);padding:26px;border-radius:10px;font:13px/1.8 "Noto Sans KR",sans-serif}.note{font-size:12px;color:#7c8d91}.return-top{display:inline-block;margin-top:22px;color:var(--green);font-size:12px;font-weight:800}a:focus-visible,video:focus-visible{outline:3px solid #42ae88;outline-offset:3px}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:35px;padding-top:65px;padding-bottom:65px}.hero-visual img{height:370px}.work-grid{grid-template-columns:repeat(2,1fr)}.activity-grid{grid-template-columns:1fr 1fr}.identity-grid{grid-template-columns:1fr 1fr}.identity-grid div:nth-child(2){border:0}.identity-grid div:last-child{border-top:1px solid var(--line);grid-column:span 2;padding-left:0}.detail-top{grid-template-columns:1fr;gap:12px}}@media(max-width:620px){.wrap{padding-left:20px;padding-right:20px}.head-inner{min-height:64px}.site-header nav{gap:13px}.site-header nav a{font-size:12px}.hero h1{font-size:43px}.hero-visual img{height:270px}.lead{font-size:15px}.identity-grid{display:block}.identity-grid div,.identity-grid div:first-child,.identity-grid div:last-child{border:0;border-bottom:1px solid var(--line);padding:15px 20px}.section{padding-top:72px;padding-bottom:75px}.section-heading{display:block}.section-heading>p{margin-top:14px}.work-grid,.activity-grid,.media-grid,.media-grid.two,.video-stack,.doc-list{grid-template-columns:1fr}.work-card.featured{grid-column:auto;flex-direction:column}.work-card.featured .work-art{width:100%;height:220px;min-height:0}.work-card.featured .work-content{padding:22px 23px}.closing-grid{display:block}.closing .button{margin-top:24px}.detail-section{padding-top:60px;padding-bottom:64px}.detail-intro{padding-top:45px;padding-bottom:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.work-card{transition:none}}
.document summary{cursor:pointer;list-style:none;position:relative;padding-right:35px}.document summary::-webkit-details-marker{display:none}.document summary::after{content:"+";position:absolute;right:3px;top:10px;color:#207c66;font-size:26px;line-height:1}.document[open] summary::after{content:"−"}.document summary h2{margin:6px 0}.document summary:hover h2{color:#207c66}
.closing-links{display:flex;gap:10px;flex-wrap:wrap}.closing-links .outline{background:transparent;color:#fff;border-color:#668086}.notion-button{margin-left:10px}@media(max-width:620px){.notion-button{margin-left:0}}

/* Game portfolio visual system */
:root{--bg:#080e19;--white:#111d2b;--ink:#f2f8fb;--muted:#a8bbc7;--line:#293a4d;--mint:#75e7d8;--green:#75e7d8;--deep:#080e19;--amber:#ffc475}
body{background:var(--bg);color:var(--ink);font-size:16px;line-height:1.65}
::selection{background:#75e7d8;color:#08111b}
.wrap{max-width:1260px}
.skip{background:var(--mint);color:#07131b}
.site-header{background:rgba(8,14,25,.91);border-color:#253749}
.head-inner{min-height:76px}
.brand{display:flex;align-items:center;gap:10px;color:#f3fafb;font-weight:800;letter-spacing:-.035em}
.brand span{width:34px;height:34px;margin:0;border-radius:2px;border:1px solid #62cfc8;background:#112d37;color:#8ff6df;font-size:12px;clip-path:polygon(0 0,85% 0,100% 15%,100% 100%,15% 100%,0 85%)}
.site-header nav a{color:#a9bdc8;font-size:14px}
.site-header nav a:hover{color:var(--mint)}
.kicker{color:var(--mint);font-size:12px;letter-spacing:.15em}
.hero{display:block;position:relative;overflow:hidden;padding:0;border-bottom:1px solid var(--line);background:radial-gradient(circle at 75% 38%,#153243 0,#0c1928 34%,#080e19 72%)}
.hero:before{content:"";pointer-events:none;position:absolute;inset:0;opacity:.34;background-image:linear-gradient(#56718019 1px,transparent 1px),linear-gradient(90deg,#56718019 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(to right,transparent 8%,#000 100%)}
.hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);align-items:center;gap:56px;padding-top:100px;padding-bottom:105px}
.hero-copy{position:relative;z-index:1}
.hero .kicker{display:flex;align-items:center;gap:10px;margin-bottom:24px}
.signal{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px #75e7d828,0 0 18px #75e7d8}
.hero h1{font-size:clamp(42px,4.8vw,68px);line-height:1.16;letter-spacing:-.065em;margin-bottom:29px}
.hero h1 em{color:var(--mint)}
.lead{color:#bad0da;font-size:17px;line-height:1.85}
.hero-actions{margin-top:35px}
.button{border-radius:3px;font-size:14px;min-height:50px;padding:12px 21px;letter-spacing:-.015em}
.button.primary{background:var(--mint);color:#06151a;box-shadow:0 6px 24px #75e7d821}
.button.primary:hover{background:#adfff1}
.button.outline{background:#0e1a28;border-color:#496071;color:#eaf8fa}
.button.outline:hover{background:#192c3b;border-color:#8cebe1}
.button.light{background:#1a3441;color:#e8fffa;border:1px solid #47737c}
.hero-coordinate{margin:50px 0 0;color:#8299a8;font:700 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}
.hero-coordinate span{color:var(--mint);padding:0 8px}
.hero-visual{border-radius:4px;border:1px solid #5a7885;background:#101b2a;box-shadow:0 35px 75px #01070db5,0 0 0 7px #15273899}
.hero-visual img{height:420px;filter:saturate(1.08) contrast(1.04)}
.hero-visual:after{inset:45% 0 0;background:linear-gradient(transparent,#020811e8)}
.visual-top{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:#081522e8;border-bottom:1px solid #557487aa;color:#a7d4df;font:700 11px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.09em}
.visual-top i{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber)}
.hero-visual-label{left:28px;right:25px;bottom:22px}
.hero-visual-label span{font-size:11px;color:#8ef4e3}
.hero-visual-label strong{font-size:24px;margin:3px 0 12px}
.hero-visual-label a{display:inline-block;border:1px solid #8bd9da;padding:5px 10px;color:#d9f8f5;font-size:12px;font-weight:800}
.identity-bar{background:#0d1826;border-color:#2a3c4d}
.identity-grid div{border-color:#2a3c4d;padding-top:22px;padding-bottom:22px}
.identity-grid small{font:700 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;color:#75e7d8}
.identity-grid strong{font-size:15px;color:#ecf6f7;margin-top:5px}
.section{padding-top:100px;padding-bottom:110px}
.section-heading{align-items:end;margin-bottom:34px}
.section-heading h2{color:#f4fbfc}
.section-heading>p{color:#a8bbc7;font-size:15px}
.work-grid{gap:16px}
.work-card{position:relative;border-radius:4px;border-color:#31465a;background:#101c2a;box-shadow:inset 0 1px #ffffff0a}
.work-card:before{content:"";position:absolute;top:0;left:0;width:27px;height:27px;border-top:2px solid #72e6d5;border-left:2px solid #72e6d5;z-index:2;pointer-events:none}
.work-card:hover{transform:translateY(-5px);border-color:#69c8c4;box-shadow:0 16px 38px #01070faa}
.work-card>img,.work-art{height:205px;background:#1a2b3b}
.work-card>img{filter:saturate(.82);transition:filter .2s,transform .2s}
.work-card:hover>img{filter:saturate(1.15)}
.work-card.featured .work-art{min-height:315px}
.fable-art{background:radial-gradient(circle at 55% 42%,#254966,#111d36 58%,#0c1425)}
.fable-art:before{border-color:#75e7d86b;box-shadow:0 0 0 50px #75e7d810,0 0 0 100px #75e7d80a}
.fable-mark{color:#efffff;text-shadow:0 0 30px #7ee5e75c}
.fable-mark span{color:var(--mint)}
.art-caption{color:#92e6e0;font-size:12px}
.work-content{padding:24px}
.work-card.featured .work-content{padding:35px}
.tag{font-size:12px;color:var(--mint);letter-spacing:.1em}
.work-content h3{color:#f5fbfc;font-size:20px}
.work-content p{color:#aebfcb;font-size:14px;line-height:1.65}
.card-link{color:#86e9db;font-size:13px}
.secondary{background:#0c1725;border-color:#283b4e}
.activity-grid article{position:relative;border-radius:3px;border-color:#31465a;background:#101d2b;padding:28px}
.activity-grid article:after{content:"";position:absolute;top:23px;right:22px;width:22px;height:2px;background:#77e5d8}
.activity-grid span{color:#82e6d9;font-size:12px}
.activity-grid h3{color:#f4fafb}
.activity-grid p{color:#aebfcb;font-size:14px}
.closing{background:linear-gradient(110deg,#112e3b,#0b192b 65%);border-top:1px solid #3c6573}
.closing p:not(.kicker){color:#b8d0d8;font-size:15px}
.closing .kicker{color:var(--mint)}
.footer{background:#080e19;color:#8da7b6;border-top:1px solid #253646;font-size:13px}
.detail-intro{position:relative;padding-top:82px;padding-bottom:58px;background:radial-gradient(circle at 90% 0,#17374a,#080e19 55%)}
.back-link,.detail-index,.return-top{color:var(--mint);font-size:13px}
.detail-intro h1{color:#f4fbfc}
.detail-nav a{border-radius:2px;background:#112132;border-color:#365166;color:#d9eaf0;font-size:13px}
.detail-nav a:hover{border-color:var(--mint);color:var(--mint)}
.detail-section{border-color:#2a3c4e}
.detail-section:nth-of-type(even){background:#0d1927}
.detail-top h2{color:#f0f9fa}
.detail-top .subline{color:#94b4c2;font-size:13px}
.detail-top p{color:#c1d0d8;font-size:16px}
.bullet-row span{border:1px solid #326060;border-radius:2px;background:#123038;color:#92e9db;font-size:12px}
.media-grid img,.media-grid video,.video-stack video{border-radius:3px;border-color:#365166;background:#10212e}
.media-grid.tall img{background:#152334}
.media-grid figcaption,.video-stack figcaption{color:#b5c7d0;font-size:13px}
.fable-summary{border:1px solid #3a7181;border-radius:3px;background:linear-gradient(125deg,#143748,#152b41)}
.fable-summary strong{color:var(--mint)}
.doc-list a{background:#122133;border-color:#30495e;border-radius:3px;color:#e4f5f7;font-size:14px}
.doc-list a:hover{border-color:var(--mint)}
.document{border-color:#304456}
.document h2{color:#f1f8fa}
.document pre{background:#101b2a;border-color:#30485a;border-radius:3px;color:#dae8ed;font-size:14px}
.document summary::after,.document summary:hover h2{color:var(--mint)}
.note{color:#a9bac5;font-size:13px}
a:focus-visible,video:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr;gap:48px;padding-top:75px;padding-bottom:80px}.hero-copy{max-width:720px}.hero-visual img{height:410px}.identity-grid div:last-child{border-color:#2a3c4d}}
@media(max-width:620px){.head-inner{min-height:65px}.brand{font-size:14px}.brand span{width:30px;height:30px}.hero-inner{padding-top:62px;padding-bottom:64px;gap:38px}.hero h1{font-size:clamp(39px,10vw,48px)}.hero .kicker{font-size:11px}.hero-visual img{height:270px}.hero-visual-label{left:17px;right:17px;bottom:15px}.hero-visual-label strong{font-size:19px}.visual-top{font-size:10px;padding:8px 10px}.lead{font-size:16px}.hero-coordinate{margin-top:33px}.identity-grid div,.identity-grid div:first-child,.identity-grid div:last-child{border-color:#2a3c4d}.section{padding-top:76px;padding-bottom:80px}.work-card.featured .work-art{min-height:0}.work-card.featured .work-content{padding:24px}.detail-intro{padding-top:55px}.closing-links{margin-top:20px}.closing .button{margin-top:0}}
