:root{--paper:#f4f3ee;--ink:#191a18;--muted:#777973;--line:#d9dad2;--accent:#d6ff46;--display:'DM Sans','Noto Sans KR',sans-serif;--mono:'DM Mono',monospace}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans KR',sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}button:focus-visible,a:focus-visible,.game:focus-visible{outline:3px solid #91ba00;outline-offset:4px}.shell{width:min(100% - 64px,1380px);margin:auto}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;font:800 23px/1 var(--display);letter-spacing:-1.4px}.brand-mark{width:27px;height:27px;border:7px solid var(--ink);border-right-color:transparent;border-radius:50%;transform:rotate(-38deg)}.nav{display:flex;align-items:center;gap:34px;font:500 12px var(--mono);letter-spacing:.07em;text-transform:uppercase}.nav a{transition:opacity .2s}.nav a:hover{opacity:.5}.status{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:10px 13px;border-radius:999px;font:500 10px var(--mono);letter-spacing:.05em}.status:before{content:"";width:7px;height:7px;background:#91ba00;border-radius:50%}.hero{padding-top:58px}.eyebrow{display:flex;align-items:center;gap:10px;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase}.eyebrow:before{content:"";width:22px;height:1px;background:var(--ink)}.hero-grid{display:grid;grid-template-columns:1fr 330px;gap:48px;align-items:end;margin:22px 0 48px}.hero h1{margin:0;font:800 clamp(70px,11.7vw,176px)/.86 var(--display);letter-spacing:-.085em}.hero h1 span{display:block}.hero h1 .outline{color:var(--paper);-webkit-text-stroke:2px var(--ink);text-stroke:2px var(--ink)}.hero-side{padding-bottom:8px}.hero-side p{font-size:16px;line-height:1.85;letter-spacing:-.035em;margin:0 0 27px}.hero-side .arrow-link{display:inline-flex;align-items:center;gap:13px;font:500 12px var(--mono);letter-spacing:.05em;border-bottom:1px solid var(--ink);padding-bottom:8px}.arrow-link span{font-size:20px;line-height:0}.play-section{background:var(--ink);color:var(--paper);border-radius:18px;overflow:hidden}.play-top{display:flex;align-items:center;justify-content:space-between;padding:22px 27px;border-bottom:1px solid #41433e;font:500 10px var(--mono);letter-spacing:.13em}.play-top div{display:flex;align-items:center;gap:10px}.play-top .blink{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.play-top .edition{color:#9da097}.game-wrap{display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:430px}.game{position:relative;min-height:430px;touch-action:none;cursor:none;outline:none}.game canvas{display:block;width:100%;height:100%}.game-prompt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.game-prompt button{pointer-events:auto;border:1px solid var(--accent);color:var(--ink);background:var(--accent);border-radius:100px;padding:18px 28px;cursor:pointer;font:700 12px var(--mono);letter-spacing:.08em;transition:transform .2s,background .2s}.game-prompt button:hover{transform:scale(1.05);background:#e4ff84}.game-prompt.hidden{display:none}.game-note{position:absolute;left:26px;bottom:21px;font:10px var(--mono);letter-spacing:.07em;color:#8e9188;pointer-events:none}.game-info{border-left:1px solid #41433e;padding:33px 28px;display:flex;flex-direction:column;justify-content:space-between}.game-info .number{font:11px var(--mono);color:var(--accent)}.game-info h2{font:700 34px/1.08 var(--display);letter-spacing:-.055em;margin:16px 0 13px}.game-info p{font-size:13px;line-height:1.85;color:#adafa8;margin:0;word-break:keep-all}.score-row{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #41433e;padding-top:19px}.score-row small{display:block;color:#9da097;font:10px var(--mono);margin-bottom:9px}.score-row strong{font:700 42px/1 var(--display);letter-spacing:-.08em}.game-actions{display:flex;gap:10px;margin-top:20px}.game-actions button{border:1px solid #666a61;color:var(--paper);background:transparent;padding:10px 13px;border-radius:4px;font:10px var(--mono);cursor:pointer}.game-actions button:hover{border-color:var(--accent);color:var(--accent)}.below{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:96px;padding-bottom:100px}.below .small-label{font:500 11px var(--mono);letter-spacing:.1em}.below h2{font:700 clamp(34px,4.3vw,60px)/1.2 var(--display);letter-spacing:-.065em;max-width:600px;margin:25px 0 0}.below-copy{align-self:end;max-width:470px;margin-left:auto}.below-copy p{font-size:16px;line-height:1.9;letter-spacing:-.03em;margin:0 0 30px}.platforms{display:flex;gap:8px}.platforms span{border:1px solid var(--ink);border-radius:100px;padding:10px 16px;font:11px var(--mono)}.footer{border-top:1px solid var(--line);padding:25px 0 32px;display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);color:var(--muted);letter-spacing:.04em}.footer .footer-right{display:flex;gap:22px}.footer a:hover{color:var(--ink)}
    .footer-contact{font:500 14px var(--mono);color:var(--ink);letter-spacing:0;overflow-wrap:anywhere}
    .careers{border-top:1px solid var(--line);padding:76px 0 96px}.careers-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}.careers-label{font:500 11px var(--mono);letter-spacing:.1em}.careers h2{font:700 clamp(34px,4.3vw,60px)/1.2 var(--display);letter-spacing:-.065em;margin:22px 0 0}.careers-intro{max-width:470px;margin:0 0 4px auto;font-size:16px;line-height:1.9;letter-spacing:-.03em}.role-list{margin-top:45px;border-top:1px solid var(--line)}.role{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.role strong{font:600 21px var(--display)}.role span{font:11px var(--mono);color:var(--muted);letter-spacing:.06em}.careers-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px}.remote-note{font-size:13px;line-height:1.7;color:var(--muted)}.careers-cta{display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:var(--paper);padding:15px 20px;border-radius:4px;font:500 11px var(--mono);letter-spacing:.04em;white-space:nowrap}.careers-cta:hover{background:#41443d}
    .projects{padding:96px 0 100px}.projects-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}.projects-label{font:500 11px var(--mono);letter-spacing:.1em}.projects h2{font:700 clamp(34px,4.3vw,60px)/1.2 var(--display);letter-spacing:-.065em;margin:22px 0 0}.projects-head p{max-width:370px;font-size:15px;line-height:1.8;margin:0}.project-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);border:1px solid var(--line);border-radius:14px;overflow:hidden}.project-copy{padding:38px}.project-meta{display:flex;align-items:center;gap:10px;font:500 10px var(--mono);letter-spacing:.1em}.project-meta .dot{width:7px;height:7px;background:#91ba00;border-radius:50%}.project-copy h3{font:800 clamp(32px,4.5vw,62px)/1 var(--display);letter-spacing:-.065em;margin:36px 0 20px}.project-copy p{max-width:490px;font-size:15px;line-height:1.9;letter-spacing:-.025em;margin:0 0 34px}.project-tags{display:flex;flex-wrap:wrap;gap:8px}.project-tags span{border:1px solid var(--line);border-radius:100px;padding:9px 13px;font:10px var(--mono)}.project-art{display:flex;align-items:center;justify-content:center;min-height:290px;background:#e5e9d8;overflow:hidden}.block-tower{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,52px);gap:7px;transform:rotate(-8deg)}.block-tower i{display:block;background:var(--ink);border-radius:6px;box-shadow:7px 9px 0 #bbc6a1}.block-tower i:nth-child(2),.block-tower i:nth-child(6){background:#91ba00}.block-tower i:nth-child(1),.block-tower i:nth-child(3){visibility:hidden}.role p{font-size:13px;line-height:1.7;color:var(--muted);margin:9px 0 0;max-width:760px}
    @media(max-width:680px){.projects{padding:66px 0 70px}.projects-head{display:block;margin-bottom:25px}.projects-head p{font-size:14px;margin-top:16px}.project-card{grid-template-columns:1fr}.project-copy{padding:25px}.project-copy h3{margin:26px 0 16px}.project-copy p{font-size:14px;margin-bottom:24px}.project-art{min-height:210px}.block-tower{transform:rotate(-8deg) scale(.8)}}
    @media(max-width:680px){.careers{padding:62px 0 70px}.careers-head{grid-template-columns:1fr;gap:18px}.careers h2{margin-top:18px}.careers-intro{margin:0;font-size:14px}.role-list{margin-top:30px}.role strong{font-size:18px}.careers-bottom{align-items:flex-start;flex-direction:column;gap:18px}}
    .footer{display:block}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:16px}.business-info{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px;font:11px/1.6 'Noto Sans KR',sans-serif;letter-spacing:0}.business-info span{white-space:normal}
    @media(max-width:680px){.footer-main,.footer-right{flex-wrap:wrap}.footer-right{gap:12px}}
    @media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:27px}.hero-side{max-width:480px}.game-wrap{grid-template-columns:minmax(0,1fr) 230px}.game-info{padding:26px 20px}.below{padding-top:70px;padding-bottom:75px}}
    @media(max-width:680px){.shell{width:min(100% - 32px,1380px)}.topbar{height:70px}.brand{font-size:21px}.brand-mark{width:24px;height:24px;border-width:6px}.nav{gap:15px}.nav .status{display:none}.hero{padding-top:45px}.hero-grid{margin:23px 0 38px;gap:24px}.hero h1{font-size:clamp(62px,15.4vw,110px)}.hero h1 .outline{-webkit-text-stroke:1.5px var(--ink)}.hero-side p{font-size:14px;margin-bottom:20px}.play-top{padding:17px 18px}.play-top .edition{display:none}.game-wrap{display:block}.game{height:330px;min-height:330px}.game-info{border-left:0;border-top:1px solid #41433e;display:grid;grid-template-columns:1fr auto;gap:20px;padding:22px}.game-info h2{font-size:26px;margin:8px 0}.game-info p{font-size:12px}.game-info .score-row{grid-column:2;grid-row:1;align-self:start;gap:25px;border:0;padding:0}.score-row strong{font-size:32px}.game-actions{grid-column:1/-1;margin:0}.below{grid-template-columns:1fr;gap:20px;padding-top:62px;padding-bottom:66px}.below h2{margin-top:18px}.below-copy{margin:0}.below-copy p{font-size:14px;margin:0 0 22px}.footer{gap:16px;flex-wrap:wrap}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* --- extra (build.py) --- */
.nav .lang{border:1px solid var(--ink);border-radius:999px;padding:7px 11px;font-size:11px}
.live-card{margin-bottom:18px}.live-card .project-art{background:#d6ff46}
.live-sub{font:500 13px var(--mono);letter-spacing:.02em;margin:-8px 0 16px;color:var(--muted)}
.live-facts{font:11px/1.7 var(--mono);color:var(--muted);margin:0 0 24px;max-width:490px}
.store-btn{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:var(--paper);padding:15px 20px;border-radius:4px;font:500 11px var(--mono);letter-spacing:.04em;margin-top:26px}
.store-btn:hover{background:#41443d}
.project-meta .dot.dev{background:#c9a400}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 96px}
.facts div{padding:22px 20px 22px 0}.facts dt{font:10px var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin:0 0 9px}
.facts dd{margin:0;font:600 17px var(--display)}
.contact{border-top:1px solid var(--line);padding:76px 0 90px}.contact h2{font:700 clamp(34px,4.3vw,60px)/1.2 var(--display);letter-spacing:-.065em;margin:22px 0 40px}
.contact-label{font:500 11px var(--mono);letter-spacing:.1em}
.contact dl{margin:0;border-top:1px solid var(--line)}.contact dl div{display:grid;grid-template-columns:160px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.contact dt{font:11px var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.contact dd{margin:0;font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.contact dd a{border-bottom:1px solid var(--ink)}
.footer-legal{display:flex;gap:18px;flex-wrap:wrap}.footer-legal a{font:500 10px var(--mono);letter-spacing:.04em;color:var(--ink)}
.legal{max-width:760px;margin:0 auto;padding:70px 0 100px}.legal h1{font:800 clamp(34px,5vw,56px)/1.1 var(--display);letter-spacing:-.05em;margin:0 0 10px}
.legal .effective{font:11px var(--mono);color:var(--muted);margin:0 0 44px}.legal h2{font:700 21px var(--display);margin:38px 0 10px}
.legal p,.legal li{font-size:15px;line-height:1.85}.legal ul{padding-left:20px}.legal a{border-bottom:1px solid var(--ink)}
.notfound{padding:120px 0;text-align:center}.notfound h1{font:800 clamp(70px,16vw,180px)/.9 var(--display);letter-spacing:-.07em;margin:0}
@media(max-width:900px){.facts{grid-template-columns:repeat(2,1fr);margin-bottom:70px}}
@media(max-width:680px){.nav{gap:11px;font-size:11px}.contact{padding:56px 0 64px}.contact dl div{grid-template-columns:1fr;gap:4px}.facts dd{font-size:15px}.nav .lang{padding:6px 9px}}
