:root{--bg:#050d1c;--fg:#e8eef8;--muted:#a8bcd8;--gold:#f0c060;--gold-soft:#f6d78e;--line:rgba(140,190,255,0.14);--card:linear-gradient(180deg,rgba(28,52,92,0.55),rgba(14,28,54,0.55))}*,:after,:before{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:#8fd0ff}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}section{padding:72px 0;border-top:1px solid var(--line)}h2{font-size:clamp(22px,3.4vw,30px);margin:0 0 8px;letter-spacing:.04em}h2:before{content:"◆";color:var(--gold);margin-right:.5em;font-size:.8em}.lead{color:var(--muted);margin:0 0 36px}.center{text-align:center}.small{font-size:13.5px;color:var(--muted)}.siteHeader{position:-webkit-sticky;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(5,13,28,.82);border-bottom:1px solid var(--line)}.siteHeaderInner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}.siteName{color:var(--fg);text-decoration:none;font-weight:700;letter-spacing:.06em}.langSwitch{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.langSwitch button{background:transparent;border:0;color:var(--muted);padding:6px 14px;font-size:13px;cursor:pointer;font-family:inherit}.langSwitch button.on{background:rgba(240,192,96,.16);color:var(--gold-soft);font-weight:700}.studioHero{padding:clamp(56px,8vw,96px) 0 clamp(24px,4vw,48px);text-align:center}.studioHero h1{font-size:clamp(28px,5vw,44px);margin:0;letter-spacing:.08em}.gameList{display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.gameCard{display:block;text-decoration:none;color:inherit;max-width:520px;width:100%;margin:0 auto;background:var(--card);border:1px solid rgba(140,190,255,.16);border-radius:14px;overflow:hidden;transition:transform .15s,box-shadow .15s,border-color .15s}.gameCard:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.5);border-color:rgba(240,192,96,.4)}.gameCardBody{padding:20px 22px 24px}.gameCard h3{margin:8px 0 6px;font-size:20px;color:var(--gold-soft)}.gameCard p{margin:0;color:#c6d6ea;font-size:14.5px}.badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 12px;border-radius:999px;letter-spacing:.04em}.badge-released{background:rgba(96,220,150,.16);color:#86e6b0}.badge-coming{background:rgba(240,192,96,.16);color:var(--gold-soft)}.badge-development{background:rgba(150,180,230,.14);color:#b9cbe4}.hero{position:relative;overflow:hidden;text-align:center;padding:clamp(48px,7vw,96px) 0 clamp(56px,7vw,88px)}.hero:before{background:var(--hero) center /cover no-repeat;opacity:.42;filter:saturate(.85)}.hero:after,.hero:before{content:"";position:absolute;inset:0}.hero:after{background:linear-gradient(180deg,rgba(5,13,28,.55) 0,rgba(5,13,28,.82) 55%,var(--bg) 100%),repeating-linear-gradient(105deg,rgba(190,230,255,.055) 0 3px,transparent 3px 46px)}.hero>*{position:relative;z-index:1}.hero .logo{max-width:min(760px,92%);margin:0 auto}.logoText{font-size:clamp(30px,6vw,56px);margin:0;text-shadow:0 2px 16px rgba(0,0,0,.8)}.catch{font-size:clamp(17px,2.7vw,24px);margin:22px 0 4px;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.8)}.sub{color:#bcd0ea;margin:0 0 6px;text-shadow:0 2px 10px rgba(0,0,0,.8)}.release{display:inline-block;margin-top:18px;padding:7px 20px;border-radius:999px;border:1px solid rgba(240,192,96,.5);background:rgba(240,192,96,.1);color:var(--gold-soft);font-weight:700;letter-spacing:.03em}.buys{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:14px 34px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid rgba(255,255,255,.16);transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(0,0,0,.5)}.btn small{font-weight:400;font-size:12px;opacity:.85}.btn-steam{background:linear-gradient(180deg,#2a5a8f,#1b3c63);color:#fff}.btn-dlsite{background:linear-gradient(180deg,#c8532e,#96371c);color:#fff}.btn-itch{background:linear-gradient(180deg,#d2506a,#a03249);color:#fff}.btn-plain{background:rgba(255,255,255,.06);color:#cfe0f5}.cards{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card{background:var(--card);border:1px solid rgba(140,190,255,.16);border-radius:14px;padding:26px}.card h3{margin:0 0 10px;font-size:19px;color:var(--gold-soft)}.card .ico{font-size:26px;display:block;margin-bottom:6px}.card p{margin:0;color:#c6d6ea;font-size:15px}.loop{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.loop li{position:relative;text-align:center;padding:20px 6px 18px;border-radius:14px;background:var(--card);border:1px solid rgba(140,190,255,.16)}.loop li:after{content:"→";position:absolute;right:-13px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:20px;line-height:1;z-index:1}.loop li:last-child:after{content:none}.loop img{height:64px;width:auto;display:block;margin:0 auto 12px;image-rendering:pixelated}.loop b{display:block;color:var(--gold-soft);font-size:17px;margin-bottom:4px}.loop span{display:block;color:#a8bcd6;font-size:13px}.loopRepeat{margin:0 0 32px;text-align:center;color:var(--gold);font-size:13px;opacity:.85}.card img.ico{height:48px;width:auto;image-rendering:pixelated}@media (max-width:640px){.loop{grid-template-columns:repeat(2,1fr);gap:10px}.loop li:after{content:none}.loop img{height:52px}}.video{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(140,190,255,.2);background:#000}.video iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(5,13,28,.3);text-decoration:none;transition:background .2s}.play:hover{background:rgba(5,13,28,.12)}.play span{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:rgba(240,192,96,.92);color:#0a1830;font-size:30px;padding-left:6px;box-shadow:0 6px 30px rgba(0,0,0,.6)}.diagrams{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.diagrams figure{margin:0}.diagrams button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.diagrams img{border-radius:10px;border:1px solid rgba(140,190,255,.18)}.diagrams figcaption{color:var(--muted);font-size:13.5px;margin-top:8px;text-align:center}.shots{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.shots figure{margin:0}.shots button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.shots img{border-radius:10px;border:1px solid rgba(140,190,255,.18)}.shots figcaption{color:var(--muted);font-size:13.5px;margin-top:8px}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(3,8,18,.92);display:grid;place-items:center;padding:24px;cursor:zoom-out}.lightbox img{max-width:100%;max-height:90vh;border-radius:8px;cursor:default}.lightboxClose{position:absolute;top:12px;right:20px;background:none;border:0;color:#cfe0f5;font-size:40px;line-height:1;cursor:pointer}.chars{display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:end}.chars figure{margin:0;text-align:center}.chars img{margin:0 auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.55))}.chars figcaption{margin-top:12px}.chars b{color:var(--gold-soft);display:block;font-size:17px}.chars span{color:#b9cbe4;font-size:14px}.plain{margin:0;padding-left:1.3em;color:#c6d6ea}.plain li{margin-bottom:8px}.spec{width:100%;border-collapse:collapse;font-size:15px}.spec td,.spec th{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}.spec th{color:var(--gold-soft);white-space:nowrap;width:150px;font-weight:700}.two{display:grid;grid-gap:36px;gap:36px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.creator{margin-top:24px;color:#c6d6ea}.note{background:rgba(240,192,96,.08);border:1px solid rgba(240,192,96,.28);border-radius:12px;padding:18px 22px;color:#dcc9a0;margin-top:28px}.note,footer{font-size:14px}footer{padding:48px 0 64px;text-align:center;color:#8ba2c2;border-top:1px solid var(--line)}.links{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}.links a{color:#cfe0f5;text-decoration:none;font-weight:700}.links a:hover{color:var(--gold-soft)}@media (max-width:600px){section{padding:52px 0}}