:root{--bg:#f8f9fc;--panel:#fff;--panel-alt:#f3f4f8;--surface-soft:#eef1f7;--line:#22304414;--text:#1a1f28;--muted:#1a1f28ad;--accent:#405f90;--shadow:0 1px 2px #1a1f280f, 0 8px 24px #1a1f280d;--shadow-hover:0 2px 6px #1a1f2814, 0 14px 34px #1a1f2814;--radius:12px;--font-sans:"Roboto", system-ui, sans-serif;--font-mono:"Roboto Mono", "SFMono-Regular", Consolas, monospace;--font-body:var(--font-sans)}@font-face{font-family:Roboto;src:url(/fonts/Roboto/Roboto-Light.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/Roboto/Roboto-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/Roboto/Roboto-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/Roboto/Roboto-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto Mono;src:url(/fonts/RobotoMono/RobotoMono-Light.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Roboto Mono;src:url(/fonts/RobotoMono/RobotoMono-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto Mono;src:url(/fonts/RobotoMono/RobotoMono-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}html[data-font=mono]{--font-body:var(--font-mono)}html[data-theme=dynamic]{--bg:#f7fbf4;--panel:#fcfdf8;--panel-alt:#eef6e7;--surface-soft:#e7f1e1;--line:#485c301f;--text:#233018;--muted:#233018ad;--accent:#4f6b2f;--shadow:0 1px 2px #364a2514, 0 10px 28px #76581f14;--shadow-hover:0 2px 6px #364a251a, 0 16px 36px #76581f1f}body{min-width:320px;font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at 0 0,#718ec414,#0000 22%),linear-gradient(#fbfcff 0%,#f3f5fa 100%);margin:0}html[data-theme=dynamic] body{background:radial-gradient(circle at 0 0,#6f9a4b29,#0000 24%),radial-gradient(circle at 100% 0,#e6a54d24,#0000 26%),linear-gradient(#fcfdf8 0%,#f2f7ec 52%,#f8f3e8 100%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{padding:0 10px 56px}.site-header{z-index:1000;padding:0 16px;position:fixed;top:0;left:10px;right:10px}.header-bar{align-items:center;gap:12px;width:min(1120px,100vw - 32px);margin:14px auto 0;display:flex}.header-brand{border:1px solid var(--line);background:var(--panel);width:54px;height:54px;box-shadow:var(--shadow);border-radius:16px;flex:0 0 54px;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.main-nav{border:1px solid var(--line);width:fit-content;box-shadow:var(--shadow);background:#ffffffeb;border-radius:16px;gap:4px;padding:4px;display:flex;overflow-x:auto}.main-nav a,.pill-button{border-radius:12px;justify-content:center;align-items:center;min-height:42px;padding:0 18px;font-size:.94rem;font-weight:500;display:inline-flex}.main-nav a:hover,.pill-button{background:#405f9014}html[data-theme=dynamic] .main-nav a:hover,html[data-theme=dynamic] .pill-button{background:#6f9a4b1f}.page-shell{width:min(1120px,100vw - 32px);margin:0 auto;padding-top:88px}.page-shell--detail{padding-top:112px}.hero-section,.content-section,.about-section{padding:64px 0 16px}.hero-copy,.section-header,.service-card,.about-media figure,.project-card__frame,.detail-hero__copy,.detail-hero__media,.detail-panel,.privacy-document__header,.privacy-document__body{background:color-mix(in srgb, var(--panel) 86%, var(--surface-soft) 14%);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.brand-logo{object-fit:contain;width:100%;height:100%;padding:7px}.hero-copy{text-align:center;padding:72px 40px}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.82rem;font-weight:500}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:16px;font-size:clamp(2.5rem,6vw,4rem);font-weight:300;line-height:1.18}h2{margin-bottom:14px;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:400}h3{margin-bottom:8px;font-size:1.18rem;font-weight:400}h4{margin-bottom:14px;font-size:clamp(1.35rem,2vw,1.8rem);font-weight:400;line-height:1.4}.hero-copy>p:not(.eyebrow),.section-header p,.service-card p,.about-copy p,.project-card__content p{color:var(--muted);line-height:1.72}.hero-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin-top:40px;display:flex}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;display:grid}.service-card{text-align:center;padding:30px 26px}.section-header{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:22px;padding:34px 30px;display:flex}.section-tech-stack{max-width:880px;font-size:.96rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.project-card{display:block}.project-card__frame{flex-direction:column;justify-content:space-between;height:100%;min-height:412px;padding:20px;transition:transform .22s,border-color .22s,box-shadow .22s,background .22s;display:flex}.project-card:hover .project-card__frame,.project-card:focus-visible .project-card__frame{box-shadow:var(--shadow-hover);border-color:#405f902e;transform:translateY(-6px)}html[data-theme=dynamic] .project-card:hover .project-card__frame,html[data-theme=dynamic] .project-card:focus-visible .project-card__frame{border-color:#6f9a4b3d}.project-card__media{background:var(--panel-alt);border-radius:8px;justify-content:center;align-items:center;min-height:250px;margin-bottom:20px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #2230440a}.project-card__logo{background:var(--panel);object-fit:cover;border-radius:8px;width:100%;height:250px;margin:0 auto}.project-card__content{flex-direction:column;flex:auto;display:flex}.project-card__content h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;display:-webkit-box;overflow:hidden}.project-card__content p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:18px;display:-webkit-box;overflow:hidden}.project-card__footer{color:var(--muted);justify-content:flex-start;gap:12px;margin-top:auto;font-size:.92rem;display:flex}.project-card__footer span{min-height:30px;color:var(--accent);background:#405f9014;border-radius:10px;align-items:center;padding:0 12px;font-weight:500;display:inline-flex}.project-card--app .project-card__frame{background:linear-gradient(#fffffffa 0%,#f4f7fcfa 100%)}.project-card--game .project-card__frame{background:linear-gradient(#fffffffa 0%,#f6f5fcfa 100%)}.project-card--multiplatform .project-card__frame{background:linear-gradient(#fffffffa 0%,#f9f4ebfa 100%)}html[data-theme=dynamic] .project-card--app .project-card__frame{background:linear-gradient(#fbfdf7fa 0%,#edf6e4fa 100%)}html[data-theme=dynamic] .project-card--game .project-card__frame{background:linear-gradient(#fdfaf4fa 0%,#f8efddfa 100%)}html[data-theme=dynamic] .project-card--multiplatform .project-card__frame{background:linear-gradient(#fdfbf4fa 0%,#f6eddafa 100%)}.about-section{grid-template-columns:.8fr 1.2fr;align-items:center;gap:28px;display:grid}.about-media figure{padding:44px}.about-copy span{color:var(--text)}.detail-hero,.detail-body{gap:20px;display:grid}.detail-hero{grid-template-columns:1.1fr .9fr;padding:24px 0 18px}.detail-hero__copy,.detail-hero__media,.detail-panel{padding:30px}.detail-hero__copy>p:not(.eyebrow),.detail-panel p,.detail-links a{color:var(--muted);line-height:1.7}.detail-rich-content{color:var(--muted)}.detail-rich-content>:first-child{margin-top:0}.detail-rich-content>:last-child{margin-bottom:0}.detail-rich-content h2,.detail-rich-content h3,.detail-rich-content h4{color:var(--text);margin:1.6rem 0 .8rem;font-size:1.1rem;line-height:1.45}.detail-rich-content p,.detail-rich-content ul,.detail-rich-content ol,.detail-rich-content div{color:var(--muted);margin:0 0 1rem;line-height:1.8}.detail-rich-content ul,.detail-rich-content ol{padding-left:1.25rem}.detail-rich-content li+li{margin-top:.45rem}.detail-rich-content a{color:var(--text);text-underline-offset:.16em;text-decoration-color:#12171f47}.detail-rich-content .credit-inline{align-items:center;gap:.45rem;display:inline-flex}.detail-rich-content .credit-social-link{width:1.15rem;height:1.15rem;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.detail-rich-content .credit-social-link svg{width:100%;height:100%}.detail-rich-content strong{color:var(--text);font-weight:500}.detail-rich-content .wp-video,.detail-rich-content iframe,.detail-rich-content video{background:#0e12180f;border:0;border-radius:14px;max-width:100%;display:block;overflow:hidden;width:100%!important}.detail-rich-content .wp-video{margin:1.2rem 0 0}.detail-rich-content iframe{min-height:320px}.detail-rich-content video{height:auto}.detail-title{align-items:center;gap:18px;margin-bottom:12px;display:flex}.detail-title h1{margin-bottom:0}.detail-title__icon{width:72px;height:72px;box-shadow:var(--shadow);object-fit:cover;border-radius:18px;flex:0 0 72px}.detail-hero__media img{object-fit:cover;border-radius:10px;width:100%}.detail-tags{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.detail-tags span{border:1px solid var(--line);color:var(--muted);background:#405f900d;border-radius:10px;padding:8px 12px;font-size:.88rem}.detail-body{grid-template-columns:1.1fr .9fr;padding:12px 0 0}.privacy-document{max-width:820px;margin:0 auto;padding:24px 0 0}.privacy-document__header,.privacy-document__body{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.privacy-document__header{padding:32px 32px 24px}.privacy-document__body{margin-top:18px;padding:8px 32px 28px}.privacy-section{border-bottom:1px solid #17212b14;padding:24px 0}.privacy-section:last-child{border-bottom:0;padding-bottom:0}.privacy-section h2{margin-bottom:16px;font-size:1.5rem}.privacy-section p{color:var(--muted);margin-bottom:14px;line-height:1.78}.privacy-section p:last-child{margin-bottom:0}.detail-links{gap:12px;margin:0;padding:0;list-style:none;display:grid}.detail-store-link img{object-fit:contain;width:auto;max-width:200px;height:44px}.detail-store-link--hidden{display:none}.detail-links a:hover,.detail-links a:focus-visible{color:var(--text)}.site-footer{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:18px;width:min(1120px,100vw - 32px);margin:56px auto 0;padding-top:30px;display:grid}.footer-main,.footer-nav,.footer-side{margin:0;padding:0;list-style:none}.footer-main{color:var(--muted);align-items:center;gap:12px;display:flex}.font-toggle{z-index:1100;border:1px solid var(--line);min-height:46px;box-shadow:var(--shadow);color:var(--text);font:inherit;cursor:pointer;background:#fffffff0;border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:inline-flex;position:fixed;bottom:18px;right:18px}.theme-toggle{z-index:1100;border:1px solid var(--line);min-height:46px;box-shadow:var(--shadow);color:var(--text);font:inherit;cursor:pointer;background:#fffffff0;border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:inline-flex;position:fixed;bottom:76px;right:18px}.font-toggle span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.font-toggle strong{font-size:.95rem;font-weight:500}.theme-toggle span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.theme-toggle strong{font-size:.95rem;font-weight:500}.theme-toggle:hover,.theme-toggle:focus-visible,.font-toggle:hover,.font-toggle:focus-visible{box-shadow:var(--shadow-hover);border-color:#405f9033}html[data-theme=dynamic] .theme-toggle:hover,html[data-theme=dynamic] .theme-toggle:focus-visible,html[data-theme=dynamic] .font-toggle:hover,html[data-theme=dynamic] .font-toggle:focus-visible{border-color:#6f9a4b42}.footer-dot{background:var(--muted);border-radius:999px;width:6px;height:6px}.footer-nav,.footer-side{color:var(--muted);gap:10px;display:grid}.footer-social-link{align-items:center;gap:.55rem;display:inline-flex}.social-icon{flex:0 0 1rem;width:1rem;height:1rem}.footer-nav li:first-child,.footer-side li:first-child{color:var(--text)}@media (max-width:960px){.service-grid,.project-grid,.about-section,.detail-hero,.detail-body,.site-footer{grid-template-columns:1fr}.hero-copy{padding:48px 22px}}@media (max-width:640px){.page-shell,.site-footer,.header-bar{width:min(100vw - 20px,1120px)}.main-nav{justify-content:flex-start;width:calc(100% - 66px)}h1{font-size:clamp(2.2rem,12vw,3.2rem)}.privacy-document__header,.privacy-document__body{padding-left:22px;padding-right:22px}}
