:root{--paper:#f8f7f2;--ink:#211f1c;--orange:#e94a22;--line:#d8d5cb;--muted:#625e57;--mono:"Cascadia Mono",Consolas,monospace;color:var(--ink);background:var(--paper);font-family:Inter,Arial,"Microsoft YaHei",sans-serif;scroll-behavior:smooth}
*{box-sizing:border-box}
body,h1,h2,h3,p{margin:0}
button,a,input,textarea,select{font:inherit}
button,a{color:inherit;-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button{border:0}
a{text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #5c42c4;outline-offset:4px}
.wrap{width:min(1240px,90%);margin-inline:auto}
.header{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:48px}
.brand{display:inline-flex;align-items:center;font-family:Arial,sans-serif;font-weight:900;letter-spacing:-2.1px;font-size:35px;line-height:1}
.brand-dot{color:var(--orange)}.mark{position:relative;width:32px;height:31px;display:inline-block;margin-right:8px;transform:rotate(-3deg)}
.mark i{position:absolute;background:var(--orange);width:10px;border-radius:2px}.mark i:nth-child(1){height:29px;top:1px}.mark i:nth-child(2){height:21px;left:10px;top:5px}.mark i:nth-child(3){height:11px;left:20px;top:10px}
.header nav{display:flex;gap:32px;margin-left:auto}.header nav a,.text-btn,footer a:not(.brand){font-size:14px;font-weight:600}
.header nav a:hover,footer a:hover,.text-btn:hover{color:var(--orange)}
.nav-actions,.hero-actions{display:flex;align-items:center;gap:24px}
.switch{display:flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:30px;gap:2px}.switch button{background:transparent;font:600 12px var(--mono);border-radius:20px;min-width:30px;height:26px}.switch [aria-pressed=true]{background:var(--ink);color:white}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;border-radius:9px;padding:0 21px;height:49px;font-size:15px;font-weight:700;transition:transform .15s,filter .15s}.btn:hover{transform:translateY(-2px);filter:brightness(.95)}
.ink{background:var(--ink);color:white}.orange{background:var(--orange);color:white}.cream{background:var(--paper);color:var(--ink)}.nav-brief{height:39px;font-size:13px;padding:0 16px}.btn b{font-size:19px;font-weight:normal}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:5.2%;align-items:center;padding-block:48px 52px}
.eyebrow,small,.feature-chip,.ribbon,footer>span{font-family:var(--mono);font-size:11px;font-weight:650;letter-spacing:1.5px}
.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow i,.feature-chip i{width:8px;height:8px;border-radius:50%;background:var(--orange)}
h1{font-size:clamp(50px,5.3vw,82px);letter-spacing:-.08em;line-height:1.16;margin:27px 0 21px;font-weight:900}h1 span,h1 em{display:block}h1 em{color:var(--orange);font-style:normal}
html[lang=en] h1{font-size:clamp(60px,6.55vw,96px);line-height:.99;letter-spacing:-.077em}
.intro{max-width:445px;color:var(--muted);font-size:17px;line-height:1.85}.hero-actions{margin-top:30px;gap:23px}.text-btn{padding:8px 0;background:transparent}
.triangle{display:inline-block;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid currentColor;margin-left:2px}
.feature{border:1px solid var(--ink);border-radius:17px;overflow:hidden;background:var(--paper);box-shadow:4px 4px 0 #24221e}
.poster,.cover{position:relative;display:block;width:100%;overflow:hidden}
.poster{padding:0;height:clamp(310px,27vw,395px);background:#bb91dc}
.poster img,.cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.poster img{object-position:50% 46%}
.poster:hover img,.game-card:hover img{transform:scale(1.035)}
.poster::before{content:"";position:absolute;inset:-15%;background:linear-gradient(115deg,#ba8cdb,#d8afef 48%,#a87dca)}
.poster img{position:relative;width:auto;max-width:100%;height:100%;margin:auto;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.feature-chip,.cover small{position:absolute;top:16px;left:16px;background:var(--paper);border:1px solid var(--ink);padding:6px 10px;border-radius:22px;font-size:10px;letter-spacing:1px}
.feature-chip{display:flex;align-items:center;gap:7px}.feature-chip i{width:6px;height:6px}
.round-play{display:grid;place-items:center;position:absolute;right:16px;bottom:16px;border-radius:50%;height:46px;width:46px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);box-shadow:2px 2px 0 #24221e}
.caption,.card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.caption{border-top:1px solid var(--ink);padding:14px 20px}.caption small,.cover small{font-size:10px;letter-spacing:1px}.caption h2{font-size:23px;letter-spacing:-.04em;margin-top:3px}.caption p,.card-foot>span{color:var(--muted);font-size:13px}.caption p i{margin:0 6px;font-style:normal;color:#aaa69e}
.ribbon{background:#252420;color:#f8f7f2}.ribbon .wrap{display:flex;align-items:center;justify-content:space-around;gap:14px;min-height:50px}.ribbon span{display:flex;align-items:center;gap:19px}.ribbon i{color:#ff6940;font:28px/1 Georgia}
.block{padding-block:64px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:12px 0 30px}.section-head h2,.services h2,.contact h2{font-size:clamp(34px,3.6vw,56px);font-weight:850;letter-spacing:-.07em;line-height:1.15}.section-head p,.services p{color:var(--muted);font-size:15px;line-height:1.75}.section-head p{max-width:400px}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px}.game-card{text-align:left;background:none;padding:0}.cover{aspect-ratio:2.2;border-radius:13px;border:1px solid var(--ink)}.cover img{object-position:50% 54%}.card-foot{padding:14px 1px 0}.card-foot strong{font-size:25px;letter-spacing:-.05em}
.service-band{border-block:1px solid var(--line);background:#eeede6}.services{display:grid;grid-template-columns:.9fr 1.1fr;gap:7%}.services h2{margin-top:24px;max-width:400px}.service-list article{border-top:1px solid #bdb9ae;padding:18px 0 20px}.service-list article:last-child{padding-bottom:0}.service-list small{color:#6b6055;font-size:10px}.services h3{font-size:23px;letter-spacing:-.045em;margin:6px 0 7px}
.contact{background:var(--orange);color:white;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:45px;border-radius:16px;margin-block:56px}.contact .eyebrow i{background:white}.contact h2{margin-top:15px}.contact .btn{flex-shrink:0}
footer{border-top:1px solid var(--line);padding:25px 0;display:flex;align-items:center;gap:20px}footer .brand{font-size:27px}footer .mark{transform:scale(.75);margin-right:2px}footer>span{font-size:9px;color:var(--muted)}footer>a:last-child{margin-left:auto}
dialog{width:min(480px,calc(100% - 32px));border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:20px;padding:22px;max-height:90dvh;box-shadow:6px 6px 0 #211f1c;overscroll-behavior:contain}
dialog::backdrop{background:#17141cb8}body:has(dialog[open]){overflow:hidden}
.modal-top{display:flex;justify-content:space-between;align-items:center}.close{border:1px solid var(--line);border-radius:50%;width:35px;height:35px;background:transparent;font-size:23px}.modal-top small{font-size:10px}.modal-title{font-size:32px;letter-spacing:-.055em;margin:8px 0}.modal-desc{color:var(--muted);line-height:1.6;font-size:14px;margin:7px 0 16px}
.claw-field,.road,.tiles{position:relative;border-radius:13px;overflow:hidden;border:1px solid var(--ink)}
.claw-field{height:215px;background:radial-gradient(ellipse at 58% 60%,#f1d6ff,#bea0e2);border-bottom:14px solid #ef7043}
.claw{position:absolute;top:0;width:36px;height:63px;transform:translateX(-50%);transition:height .35s ease-in-out}
.claw:before{position:absolute;content:"";width:5px;left:16px;height:calc(100% - 8px);background:repeating-linear-gradient(45deg,#626168 0 3px,#aaa9a8 3px 6px)}.claw b,.claw i{position:absolute;bottom:-15px;left:2px;width:17px;height:30px;border:5px solid #4d4952;border-right:0;transform:rotate(15deg);border-radius:65% 0 0 65%}.claw b{left:18px;transform:scaleX(-1) rotate(15deg)}.claw.dropped{height:142px}
.bunny{position:absolute;bottom:2px;width:58px;height:59px;background:#ffefe2;transform:translateX(-50%);border-radius:50% 50% 40% 40%;box-shadow:inset -5px -4px 0 #f5cfbf,0 4px 5px #9c79ac;transition:bottom .4s}.bunny i,.bunny b{position:absolute;top:-24px;left:7px;width:14px;height:32px;background:#ffe9e0;border:4px solid #fff1e8;border-radius:50%;transform:rotate(-13deg)}.bunny b{left:auto;right:7px;transform:rotate(13deg)}.bunny span{display:block;text-align:center;padding-top:16px;font-weight:bold;letter-spacing:1px}.bunny.caught{bottom:82px}
.game-status{font-weight:650;font-size:14px;margin:14px 0 16px;min-height:22px}.project-link{margin-left:12px}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;background:#f5c14d}.tile{aspect-ratio:1;border-radius:9px;background:#fff0c4;color:#c55c22;border:1px solid #ad672c;font-size:30px;box-shadow:1px 2px 0 #a96e24}.tile:disabled{background:#fff9e4;color:var(--ink)}.tile.matched{background:#e3edac}
.road{height:195px;background-color:#4d4e51;background-image:linear-gradient(90deg,transparent 32.8%,#f9f7de 32.8% 33.5%,transparent 33.5% 66.2%,#f9f7de 66.2% 66.9%,transparent 66.9%);border-inline:10px solid #9cd0b4}.car,.cone{position:absolute;transform:translateX(-50%);font-size:39px}.car{bottom:8px;transition:left .25s}.cone{top:4%;transition:top .4s}.advancing .cone{top:72%}.lanes{display:flex;gap:7px}.lanes button{flex:1}
.brief-form{display:grid;gap:13px}.brief-form label{display:grid;gap:6px;font-size:14px;font-weight:650}.brief-form input,.brief-form textarea{width:100%;border:1px solid #b9b5ac;border-radius:8px;padding:10px 12px;color:var(--ink);background:#fffefa;font-size:15px}.brief-form textarea{min-height:92px;resize:vertical}.form-note{font-size:13px;line-height:1.6;color:var(--muted)}.form-note:empty{display:none}
@media(min-width:1500px){.hero{padding-block:58px 62px}}
@media(max-width:940px){.header{gap:23px}.hero{gap:4%}.poster{height:290px}.caption p{font-size:12px}.section-head p{max-width:290px}.ribbon{font-size:9px}.nav-actions{gap:14px}}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.header{height:65px;gap:8px}.header nav{display:none}.nav-actions{margin-left:auto;gap:8px}.nav-brief{font-size:12px;height:34px;padding:0 11px;gap:5px}.brand{font-size:29px}.brand .mark{transform:scale(.85);margin-right:3px}.switch button{font-size:11px;min-width:25px;height:23px}.hero{grid-template-columns:1fr;gap:27px;padding-block:33px 30px}h1{font-size:clamp(44px,11.6vw,70px);margin:16px 0 12px}html[lang=en] h1{font-size:clamp(56px,13.5vw,82px)}.intro{font-size:15px;line-height:1.7;max-width:100%}.hero-actions{margin-top:17px;gap:20px}.btn{height:44px}.nav-brief{height:34px}.feature{box-shadow:3px 3px 0 #24221e}.poster{height:auto;aspect-ratio:1.52}.caption{padding:10px 14px}.caption h2{font-size:20px}.caption small{font-size:9px}.ribbon .wrap{min-height:39px;justify-content:space-between;gap:4px}.ribbon{font-size:clamp(6px,1.48vw,9px);letter-spacing:.4px}.ribbon span{gap:4px}.ribbon i{font-size:15px}.eyebrow{font-size:10px}.block{padding-block:38px}.section-head{display:block;margin:12px 0 20px}.section-head p{max-width:none;margin-top:10px;font-size:14px}.gallery,.services{grid-template-columns:1fr;gap:26px}.card-foot strong{font-size:22px}.card-foot{padding-top:9px}.services h2{margin-top:14px}.services h2 br{display:none}.contact{margin-block:32px;padding:27px 21px;align-items:flex-start;flex-direction:column}.contact h2{font-size:31px}.contact .btn{font-size:14px}footer{gap:8px}footer>span{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media(max-width:360px){.nav-brief{width:34px;padding:0}.nav-brief span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}}
@media(max-width:720px){.ribbon{font-size:10px;letter-spacing:.2px}.nav-brief{white-space:nowrap}html[lang=en] .ribbon{font-size:clamp(8px,2.2vw,11px)}}
