:root{--ink:#281632;--paper:#faf9f5;--muted:#786e7f;--line:#d9d2dd;--lime:#c4e87b;--purple:#e5d9f7}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);background-image:linear-gradient(#28163206 1px,transparent 1px),linear-gradient(90deg,#28163206 1px,transparent 1px);background-size:24px 24px;font-family:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8353a8;outline-offset:4px}.shell{max-width:960px;margin:auto;background:var(--paper);border-inline:1px solid #2816320d;padding:0 32px}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;font-size:21px;font-weight:900;letter-spacing:.04em}.menu-trigger{width:48px;min-height:48px;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.menu-trigger>span{width:23px;height:2px;background:var(--ink)}.menu-trigger small{font:8px monospace;letter-spacing:.13em;margin-top:3px}.eyebrow{font:10px monospace;letter-spacing:.14em;color:var(--muted)}.hero{padding:36px 0 26px;position:relative}.hero h1{font-size:40px;line-height:1.45;letter-spacing:-.04em;margin:14px 0 12px;max-width:660px}.marker{background:linear-gradient(transparent 72%,var(--lime) 72%,var(--lime) 93%,transparent 93%)}.hero-copy{font-size:14px;line-height:1.9}.hero-meta{display:flex;align-items:center;gap:7px;margin:12px 0 19px;font-size:11px;color:var(--muted)}.hero-meta i{width:3px;height:3px;border-radius:50%;background:var(--muted)}.entry-actions{max-width:440px}.primary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;min-height:54px;border-radius:10px;background:var(--ink);color:var(--paper);font-weight:700;font-size:15px;box-shadow:0 4px #ad98ba}.primary:hover{background:#483352}.primary span{font-size:23px;line-height:1}.join-link{display:block;text-align:center;font-size:12px;padding:13px 8px;text-decoration:underline;text-underline-offset:4px}.collection{border-top:1px solid var(--line);padding:23px 0 18px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-head h2{font-size:20px;letter-spacing:-.02em}.section-head h2 small{font:10px monospace;color:var(--muted);margin-right:10px}.section-head>a{font-size:11px;min-height:36px;display:flex;align-items:center;white-space:nowrap}.carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 3px 7px 0;overscroll-behavior-x:contain}.carousel::-webkit-scrollbar{display:none}.game-card{flex:0 0 64%;min-width:0;border:1.5px solid var(--ink);border-radius:11px;background:#fffdf8;scroll-snap-align:start;overflow:hidden;box-shadow:2px 3px #28163212;display:block}.cover{aspect-ratio:3/1;overflow:hidden;border-bottom:1px solid var(--ink)}.cover img{width:100%;max-width:100%;height:auto;margin:0;object-fit:contain}.card-copy{padding:12px 14px}.card-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.card-title h3{font-size:15px}.card-title span{font:10px monospace;white-space:nowrap;color:var(--muted)}.card-copy p{font-size:11px;line-height:1.65;margin-top:5px;color:#5e5365}.carousel-tools{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.dots{display:flex;gap:5px}.dot{width:22px;height:28px;padding:0;background:none;display:grid;place-items:center}.dot:after{content:'';height:5px;width:5px;background:#cfc7d3;border-radius:100%}.dot[aria-current=true]:after{width:17px;border-radius:4px;background:var(--ink)}.arrows{display:flex;gap:6px}.arrow{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:none;font-size:17px}.arrow:disabled{opacity:.25;cursor:default}.shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:8px 0 24px}.shortcut{display:grid;grid-template-columns:36px 1fr 14px;align-items:center;gap:12px;padding:19px 16px;border:1px solid var(--ink);border-radius:10px;background:var(--purple)}.shortcut:nth-child(2){background:#eaf0dd}.shortcut-icon{font-size:25px}.shortcut h2{font-size:16px;line-height:1.5}.shortcut p{font-size:11px;color:#62566a;line-height:1.6;margin-top:3px}.shortcut .go{font-size:20px}.bottom-links{display:flex;justify-content:space-between;border-block:1px solid var(--line);padding:12px 0;gap:12px;font-size:12px}.bottom-links a{padding:7px 0}.site-footer{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:24px 0 28px;font-size:11px;color:var(--muted)}.site-footer small{margin-left:auto;font:9px monospace;letter-spacing:.05em}.site-footer>a:nth-child(2){font-size:20px}.page-title{padding:30px 0 24px}.page-title h1{font-size:30px;line-height:1.5;margin:8px 0}.page-title>p:last-child{font-size:13px;line-height:1.9;color:var(--muted)}.back-link{display:inline-block;margin-top:18px;font-size:12px;padding:8px 0}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px}.catalog-grid .game-card{width:100%}.catalog-grid .card-copy{padding:16px}.catalog-grid .card-copy p{font-size:12px}.card-actions{display:flex;gap:20px;margin-top:12px;border-top:1px solid var(--line);padding-top:8px;font-size:12px}.card-actions a{padding:7px 0;text-decoration:underline;text-underline-offset:4px}.info-panel{padding:24px;background:#eaf0dd;border:1px solid var(--line);border-radius:12px;margin-bottom:22px}.info-panel h2{font-size:19px;margin-bottom:12px}.info-panel p{font-size:14px;line-height:1.9;margin-bottom:16px}.info-panel .primary{max-width:420px}.faq{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{font-weight:700;font-size:14px;cursor:pointer;min-height:28px}.faq p{line-height:1.9;font-size:13px;padding-top:12px;color:var(--muted)}.faq:last-of-type{margin-bottom:25px}.menu{margin:0 0 0 auto;height:100dvh;max-height:none;width:min(420px,92vw);max-width:none;padding:0;border:0;border-left:1px solid var(--ink);background:var(--paper);color:var(--ink);overflow-y:auto}.menu::backdrop,.notice::backdrop{background:#28163266;backdrop-filter:blur(3px)}.menu[open]{display:flex;flex-direction:column;animation:slide-in .2s ease-out}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line)}.menu-top>span{font:10px monospace;letter-spacing:.12em}.close-menu{background:transparent;width:44px;height:44px;font-size:32px;font-weight:300}.menu nav{padding:15px 26px}.menu nav a{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);min-height:66px;font-size:17px;font-weight:700}.menu nav a>small{font:10px monospace;color:var(--muted)}.menu nav a>span{margin-left:auto;font-size:21px;font-weight:400}.menu nav a[aria-current=page]{color:#503270}.menu nav a[aria-current=page]>small{background:var(--lime);padding:5px;color:var(--ink)}.menu-bottom{padding:18px 26px 28px;margin-top:auto}.languages{display:flex;align-items:center;gap:10px;padding:0 0 18px;font-size:12px}.languages button{min-height:36px;background:none;padding:6px 9px}.languages button[aria-pressed=true]{background:var(--ink);color:white;border-radius:5px}.utility{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:11px;color:var(--muted)}.utility a,.utility button{padding:7px 0;background:none;font-size:11px}.preview-note{font-size:10px;color:var(--muted);margin-top:20px}.notice{border:1px solid var(--ink);border-radius:12px;max-width:90vw;width:420px;padding:24px;background:var(--paper);color:var(--ink)}.notice h2{font-size:19px}.notice p{font-size:13px;line-height:1.9;margin:16px 0}.notice .primary{width:100%;justify-content:center}.skip{position:fixed;top:-80px;left:10px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:10px}@keyframes slide-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(min-width:700px){.hero{padding:42px 0 32px;display:grid;grid-template-columns:1fr 310px;gap:0 30px;align-items:center}.hero .hero-main{grid-row:1/3}.hero h1{font-size:39px}.hero .entry-actions{grid-column:2;grid-row:1/3}.game-card{flex-basis:42%}.hero-meta{margin-bottom:0}.collection{padding-top:25px}.card-title h3{font-size:17px}}
@media(max-width:600px){.shell{padding:0 20px;max-width:480px}.site-header{height:68px}.brand{font-size:19px}.brand img{width:27px;height:27px}.hero{padding:24px 0 15px}.hero h1{font-size:29px;margin:11px 0 9px}.hero-copy{font-size:12px}.hero-meta{font-size:10px;margin:10px 0 17px}.primary{font-size:14px;min-height:52px;padding:13px 16px}.join-link{padding:12px 0 5px;font-size:11px}.collection{padding:19px 0 10px}.section-head{margin-bottom:10px}.section-head h2{font-size:17px}.section-head h2 small{margin-right:7px}.game-card{flex-basis:88%}.carousel{gap:12px;margin-right:-20px;padding-right:20px;scroll-padding-right:20px}.card-copy{padding:10px 12px}.card-title h3{font-size:14px}.card-copy p{font-size:10px}.shortcuts{gap:10px;padding:6px 0 18px}.shortcut{display:block;position:relative;padding:14px 12px}.shortcut-icon{display:block;font-size:20px;margin-bottom:8px}.shortcut h2{font-size:14px}.shortcut p{font-size:10px}.shortcut .go{position:absolute;right:12px;top:13px;font-size:17px}.bottom-links{font-size:11px;padding:8px 0}.site-footer{padding:17px 0 20px;gap:12px;font-size:10px}.site-footer small{font-size:8px}.catalog-grid{grid-template-columns:1fr;gap:16px}.page-title{padding:20px 0}.page-title h1{font-size:25px}.info-panel{padding:20px}.section-head>a{font-size:10px}.menu nav a{min-height:60px;font-size:16px}.menu-top{padding-block:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}

/* Compact home: one vertical entry flow on every screen. */
.hero{display:block}.hero-meta{margin-bottom:19px;flex-wrap:wrap}.hero .entry-actions{max-width:440px}
.home-about,.home-faq{border-top:1px solid var(--line);padding:22px 0}.home-about p{font-size:13px;line-height:1.9;max-width:680px}.text-link{display:inline-block;font-size:12px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}.home-faq .section-head{margin-bottom:0}.home-faq .faq:last-of-type{margin-bottom:0}.site-footer{border-top:1px solid var(--line)}
.prose{max-width:680px;padding:0 0 28px}.prose h2{font-size:19px;line-height:1.6;margin:16px 0 12px}.prose p{font-size:14px;line-height:2;margin-bottom:26px}.prose .text-link{font-size:14px}
@media(max-width:600px){.home-about,.home-faq{padding:19px 0}.home-about p{font-size:12px}.prose h2{font-size:17px}.prose p{font-size:13px}.hero-meta{margin-bottom:17px}}
/* Typography and spacing refinement for the navigation preview. */
:root{--muted:#6b6072;--line:#ded7e1;--space-section:30px}
.shell{max-width:1040px;padding-inline:48px}
.site-header{height:88px}.brand{font-size:22px;letter-spacing:.025em}.menu-trigger{border-radius:8px}.menu-trigger:hover{background:#eee8f1}
.hero{padding:44px 0 30px;isolation:isolate}.hero-main,.entry-actions{position:relative;z-index:1}
.hero h1{font-size:clamp(32px,4.5vw,48px);font-weight:800;line-height:1.45;letter-spacing:-.045em;margin:16px 0}.hero-copy{font-size:15px;line-height:1.85}.eyebrow{font-size:10px;letter-spacing:.16em}
.hero-meta{font-size:12px;gap:9px;margin:18px 0 20px}.hero .entry-actions{max-width:420px}
.primary{border-radius:12px;min-height:56px;box-shadow:0 3px 0 #ad98ba;transition:background .18s,box-shadow .18s,transform .18s}.primary:active{transform:translateY(2px);box-shadow:0 1px 0 #ad98ba}.join-link{font-size:12px;padding:16px 0 4px}
.collection,.home-about,.home-faq{padding:var(--space-section) 0}.section-head{margin-bottom:20px;gap:12px}.section-head h2{display:flex;align-items:center;gap:12px;font-size:25px;line-height:1.45;font-weight:800;letter-spacing:-.025em}.section-head h2 small{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid #d8cce0;border-radius:50%;margin:0;font-size:10px;color:#715580}.section-head>a{font-size:12px;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.game-card{border-color:#4a3853;border-width:1px;border-radius:13px;box-shadow:0 3px 0 #2816320b}.cover{border-color:#4a3853}.card-copy{padding:16px}.card-title{flex-wrap:wrap;gap:5px 10px}.card-title h3{font-size:17px;line-height:1.5}.card-title span{font-size:11px}.card-copy p{font-size:13px;line-height:1.75;margin-top:6px}.carousel{gap:18px;padding-bottom:6px}.carousel-tools{margin-top:12px}.arrow{width:40px;height:40px;background:#fffdf8}.dot{min-height:40px;width:24px}.arrow:not(:disabled):hover{background:var(--purple)}
.home-about p{font-size:14px;line-height:1.95;max-width:650px}.home-about .text-link{margin-top:5px}.text-link{font-size:13px;min-height:40px}.home-faq .section-head{margin-bottom:10px}.faq{padding:0}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 0;font-size:15px;line-height:1.6}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';font:22px monospace;color:#715580;flex:none}.faq[open] summary::after{content:'−'}.faq p{padding:0 28px 18px 0;font-size:14px;max-width:700px}.site-footer{padding:22px 0;gap:20px}.site-footer>a{min-height:40px;display:flex;align-items:center}.site-footer small{font-size:10px}
.page-title h1{font-size:36px;letter-spacing:-.035em}.prose{max-width:690px}.prose h2{font-size:22px;margin-top:24px}.prose p{font-size:15px;line-height:2}.menu nav a{font-size:16px}
@media(min-width:800px){.hero::after{content:'';position:absolute;right:65px;top:65px;width:200px;height:200px;background:url('/assets/flower.svg') center/contain no-repeat;opacity:.08;z-index:0;pointer-events:none}.game-card{flex-basis:43%}}
@media(max-width:699px){.shell{padding-inline:20px;max-width:100%}.site-header{height:72px}.brand{font-size:19px}.hero{padding:28px 0 24px}.hero h1{font-size:clamp(26px,8.15vw,38px);margin:13px 0;line-height:1.5}.hero-copy{font-size:13px;line-height:1.85}.hero-meta{font-size:11px;gap:7px;margin:16px 0 18px}.hero .entry-actions{max-width:none}.primary{font-size:15px;min-height:54px}.join-link{font-size:12px;padding-top:15px}.eyebrow{font-size:9px;letter-spacing:.1em}:root{--space-section:24px}.section-head{margin-bottom:16px}.section-head h2{font-size:21px;gap:9px}.section-head h2 small{width:24px;height:24px;font-size:9px}.section-head>a{font-size:11px}.game-card{flex-basis:90%}.carousel{gap:12px;margin-right:-20px;padding-right:20px}.card-copy{padding:13px}.card-title h3{font-size:15px}.card-title span{font-size:10px}.card-copy p{font-size:12px}.carousel-tools{margin-top:9px}.home-about p{font-size:13px;line-height:1.9}.faq summary{font-size:14px;padding:17px 0}.faq p{font-size:13px}.site-footer{gap:12px;padding-block:18px}.site-footer small{font-size:9px}.page-title h1{font-size:28px}.prose h2{font-size:19px}.prose p{font-size:14px}}
@media(max-width:360px){.shell{padding-inline:16px}.carousel{margin-right:-16px;padding-right:16px}.hero-meta{font-size:10px}.section-head h2{font-size:19px}.site-footer small{flex-basis:100%;margin-left:0}.card-title span{font-size:9px}}
/* Three carousel studies. Preview controls are not part of the homepage. */
.design-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 22px}.design-picker>span{font:9px monospace;letter-spacing:.12em;color:var(--muted)}.design-picker>div{display:flex;gap:5px;flex-wrap:wrap}.design-picker button{background:transparent;border:1px solid var(--line);border-radius:4px;padding:10px 12px;font-size:12px;min-height:40px}.design-picker button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.collection .game-card{box-shadow:none}.collection .card-title span{font-family:inherit;font-size:11px}.collection .carousel{padding-top:0}.collection .arrow{border-radius:0;background:transparent;border:0;border-bottom:1px solid var(--ink);font-size:22px}.collection .dot:after{border-radius:0;height:2px}.collection .dots{gap:0}.collection .dot{width:26px}.collection .dot[aria-current=true]:after{border-radius:0;width:24px}
/* A: borderless, editorial gallery. */
.collection[data-design=editorial] .game-card{flex-basis:64%;border:0;background:transparent;border-radius:0;overflow:visible}
.collection[data-design=editorial] .cover{aspect-ratio:2.55;border:0;border-radius:0;overflow:hidden}
.collection[data-design=editorial] .card-copy{padding:19px 0 6px}.collection[data-design=editorial] .card-title h3{font-size:23px;letter-spacing:-.04em}.collection[data-design=editorial] .card-copy p{font-size:14px;margin-top:8px}.collection[data-design=editorial] .carousel{gap:30px}.collection[data-design=editorial] .carousel-tools{border-top:1px solid var(--line);margin-top:22px;padding-top:8px}
/* B: dark screening strip; image and caption share one surface. */
.collection[data-design=cinema] .carousel{background:#251d2e;padding:28px;gap:24px;scroll-padding-left:28px}
.collection[data-design=cinema] .game-card{flex-basis:72%;border:0;border-radius:0;background:transparent;color:#fff9ed}
.collection[data-design=cinema] .cover{aspect-ratio:2.55;border:0;border-radius:2px}
.collection[data-design=cinema] .card-copy{padding:20px 0 4px}.collection[data-design=cinema] .card-title h3{font-size:23px}.collection[data-design=cinema] .card-title span{color:#c2df94}.collection[data-design=cinema] .card-copy p{color:#d5cadb;font-size:14px;margin-top:9px}
/* C: prominent central card with a quiet paper caption. */
.collection[data-design=focus] .carousel{padding:14px 70px 24px;gap:26px;scroll-padding-left:70px;background:#eee9e1}
.collection[data-design=focus] .game-card{flex-basis:100%;border:0;border-radius:6px;box-shadow:0 10px 22px #32233710;background:#fffdf8;scroll-snap-align:center}
.collection[data-design=focus] .cover{aspect-ratio:2.65;border:0}.collection[data-design=focus] .card-copy{padding:23px 26px}.collection[data-design=focus] .card-title h3{font-size:23px}.collection[data-design=focus] .card-copy p{font-size:14px}.collection[data-design=focus] .carousel-tools{justify-content:center;gap:28px}
@media(max-width:699px){.design-picker{display:block;padding:0 0 18px}.design-picker>span{display:block;margin-bottom:8px}.design-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.design-picker button{font-size:11px;padding:9px 4px;white-space:nowrap}.collection[data-design=editorial] .game-card{flex-basis:88%}.collection[data-design=editorial] .carousel{gap:22px}.collection[data-design=editorial] .card-copy{padding-top:16px}.collection[data-design=editorial] .card-title h3,.collection[data-design=cinema] .card-title h3,.collection[data-design=focus] .card-title h3{font-size:20px}.collection[data-design=editorial] .card-copy p,.collection[data-design=cinema] .card-copy p,.collection[data-design=focus] .card-copy p{font-size:12px;line-height:1.8}.collection[data-design=editorial] .card-title{display:block}.collection[data-design=editorial] .card-title span{display:block;margin-top:5px}.collection[data-design=cinema] .carousel{margin-inline:-20px;padding:22px 20px;scroll-padding-left:20px;gap:22px}.collection[data-design=cinema] .game-card{flex-basis:91%}.collection[data-design=cinema] .card-title{display:block}.collection[data-design=cinema] .card-title span{display:block;margin-top:6px}.collection[data-design=focus] .carousel{margin-inline:-20px;padding:22px 30px 26px;scroll-padding-left:30px;gap:16px}.collection[data-design=focus] .game-card{flex-basis:100%}.collection[data-design=focus] .card-copy{padding:19px 18px}.collection[data-design=focus] .card-title{display:block}.collection[data-design=focus] .card-title span{display:block;margin-top:6px}}
/* Art-led carousel: a centered composition, not a row of cards. */
.showcase{overflow:hidden}.show-stage{height:300px;position:relative;margin:0 -48px;isolation:isolate;touch-action:pan-y;overflow:hidden}.show-orbit{position:absolute;width:410px;height:260px;border-radius:50%;background:#e3eacb;top:25px;left:50%;transform:translateX(-50%);z-index:-1}.show-watermark{position:absolute;left:8%;top:5px;font:800 95px/1 Arial,sans-serif;letter-spacing:-.07em;color:#ddd3e3;opacity:.5;z-index:-1}.show-art{position:absolute;left:50%;top:57px;width:65%;max-width:640px;padding:0;background:transparent;box-shadow:0 18px 28px -18px #30203980;transition:transform .55s cubic-bezier(.22,.8,.25,1),opacity .4s;transform:translateX(-50%);border-radius:9px;overflow:hidden}.show-art img{width:100%;aspect-ratio:3;object-fit:cover;pointer-events:none}.show-art[data-position=current]{transform:translateX(-50%) scale(1);z-index:3;opacity:1}.show-art[data-position=previous]{transform:translateX(-145%) scale(.76);z-index:1;opacity:.45}.show-art[data-position=next]{transform:translateX(45%) scale(.76);z-index:1;opacity:.45}.show-art[data-position=hidden]{transform:translateX(-50%) scale(.65);opacity:0;visibility:hidden;pointer-events:none}.stage-note{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);white-space:nowrap;font:9px monospace;letter-spacing:.22em;color:#7a6b80}.show-caption{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 0 25px}.show-description{min-width:0}.show-kicker{font-size:10px;letter-spacing:.09em;color:#786682;display:flex;align-items:center;gap:22px}.show-kicker>span{border-left:1px solid var(--line);padding-left:16px;white-space:nowrap}.show-caption h3{font-size:32px;line-height:1.5;letter-spacing:-.035em;margin:8px 0}.show-summary{font-size:14px;line-height:1.8;color:#675a70}.show-link{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px;border-bottom:1px solid var(--ink);padding:13px 0;white-space:nowrap}.show-link b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:24px;font-weight:400;transition:background .2s}.show-link:hover b{background:#715580}.show-controls{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.show-pages{display:flex;gap:6px}.show-pages button{background:none;padding:0;width:25px;height:44px;display:grid;place-items:center}.show-pages button span{height:3px;width:14px;background:#ddd5e0;transition:width .25s,background .25s}.show-pages button[aria-current=true] span{width:25px;background:var(--ink)}.show-navigation{display:flex;align-items:center;gap:16px}.show-navigation button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:none;font-size:22px}.show-navigation button:hover{background:var(--purple)}.show-count{font:11px monospace;color:var(--muted)}
@media(max-width:699px){.show-stage{margin-inline:-20px;height:205px}.show-orbit{width:270px;height:170px;top:12px}.show-watermark{font-size:65px;top:0;left:7%}.show-art{width:82%;top:44px;border-radius:6px}.stage-note{bottom:9px;font-size:7px;letter-spacing:.17em}.show-caption{display:block;padding:18px 0 20px}.show-caption h3{font-size:27px;margin:9px 0 7px}.show-summary{font-size:13px}.show-kicker{font-size:9px;gap:14px}.show-kicker>span{padding-left:12px}.show-link{margin-top:12px;padding:5px 0;border-bottom:0;font-size:12px;justify-content:flex-end;gap:15px}.show-link b{width:35px;height:35px;font-size:21px}.show-navigation{gap:8px}.show-pages{gap:3px}.show-pages button{width:21px}.show-pages button[aria-current=true] span{width:21px}.show-count{font-size:10px}.show-navigation button{width:38px;height:38px}.show-controls{gap:8px}}
@media(max-width:360px){.show-stage{margin-inline:-16px;height:185px}.show-art{top:40px}.show-orbit{height:155px}.show-pages button{width:17px}.show-pages button[aria-current=true] span{width:17px}.show-navigation{gap:5px}.show-caption h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.show-art,.show-pages button span,.show-link b{transition:none}}
.show-art[data-position=previous]{transform:translateX(-120%) scale(.72)}.show-art[data-position=next]{transform:translateX(20%) scale(.72)}
.show-auto-footer{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:12px}.show-indicators{display:flex;gap:7px;flex:1}.show-indicators span{display:block;width:20px;height:2px;background:#ded6e2;transition:width .4s,background .4s}.show-indicators span[data-active=true]{width:40px;background:var(--ink)}.show-pause{width:36px;height:36px;background:none;color:var(--muted);font-size:14px;border-radius:50%}.show-pause:hover{background:var(--purple)}
.show-stage{height:330px}.show-art{top:87px}.show-caption{display:block;padding-top:18px}.show-caption h3{margin:0 0 10px}.show-caption-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.show-caption-row .show-summary{flex:1;min-width:0;max-width:650px}.show-caption-row .show-link{flex:none;margin:0;padding:4px 0;border:0;gap:12px}
@media(max-width:699px){.show-stage{height:230px}.show-art{top:69px}.show-caption{padding-top:16px}.show-caption-row{gap:16px;align-items:center}.show-caption-row .show-summary{font-size:12px;line-height:1.85}.show-caption-row .show-link{font-size:11px;gap:6px}.show-caption-row .show-link b{width:28px;height:28px;font-size:17px}}
@media(max-width:360px){.show-stage{height:210px}.show-art{top:65px}.show-caption-row{gap:10px}.show-caption-row .show-link{font-size:10px}.show-caption-row .show-link b{width:24px;height:24px}}
/* Reveal more of each cover below its current upper edge. */
.show-art img{aspect-ratio:2.55;object-position:center top}.show-stage{height:365px}
@media(max-width:699px){.show-stage{height:250px}}
@media(max-width:360px){.show-stage{height:228px}}
/* Keep the complete cover visible at its original proportions. */
.show-art img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;display:block}
.hero .entry-actions{margin-top:22px}
/* Temporary CTA comparison controls. */
.button-studies{display:flex;gap:6px;margin-bottom:14px}.button-studies button{min-height:36px;padding:7px 12px;font-size:11px;border:1px solid var(--line);background:transparent;border-radius:4px;color:var(--muted)}.button-studies button[aria-pressed=true]{background:#e9e1ee;color:var(--ink);border-color:#bba6c8}.entry-actions .primary{box-shadow:none;min-height:62px;padding:10px 13px 10px 21px;font-size:15px;letter-spacing:.015em}.entry-actions .primary span{display:grid;place-items:center;width:39px;height:39px;flex:none;font-size:24px}.entry-actions[data-button-design=lime] .primary{background:#c4e87b;color:var(--ink);border:1px solid #b2d56b;border-radius:10px}.entry-actions[data-button-design=lime] .primary span{background:var(--ink);color:var(--paper);border-radius:50%}.entry-actions[data-button-design=outline] .primary{background:#fffdf8;color:var(--ink);border:1px solid #594362;border-radius:7px}.entry-actions[data-button-design=outline] .primary span{background:transparent;color:var(--ink)}.entry-actions[data-button-design=capsule] .primary{border:1px solid var(--ink);background:var(--ink);color:#fffdf8;border-radius:999px}.entry-actions[data-button-design=capsule] .primary span{background:#604a70;color:white;border-radius:50%}.entry-actions .primary:hover{filter:brightness(.97)}
/* Final capsule CTA: a precise line arrow rather than a circular icon. */
.entry-actions[data-button-design=capsule] .primary{padding-right:22px}
.entry-actions[data-button-design=capsule] .primary .cta-arrow{width:58px;height:28px;padding-left:16px;border-left:1px solid #ffffff38;border-radius:0;background:none;color:#d6edac}
.cta-arrow svg{display:block;width:40px;height:24px;overflow:visible;transition:transform .2s ease}
@media(hover:hover){.entry-actions .primary:hover .cta-arrow svg{transform:translateX(3px)}}
@media(prefers-reduced-motion:reduce){.cta-arrow svg{transition:none}}
.entry-actions[data-button-design=capsule] .primary .cta-arrow{border-left:0}
/* Section markers: three clockwise segments starting at twelve o'clock. */
.section-head h2 small{--segment-one:#98bf56;--segment-two:#e0dbe3;--segment-three:#e0dbe3;width:44px;height:44px;border:0;border-radius:50%;font-size:12px;font-weight:600;color:var(--ink);background:radial-gradient(circle,var(--paper) 58%,transparent 61%),conic-gradient(var(--segment-one) 0deg 116deg,transparent 116deg 120deg,var(--segment-two) 120deg 236deg,transparent 236deg 240deg,var(--segment-three) 240deg 356deg,transparent 356deg 360deg)}
.home-about .section-head h2 small{--segment-two:#98bf56}
.home-faq .section-head h2 small{--segment-two:#98bf56;--segment-three:#98bf56}
.section-head h2{gap:13px}
@media(max-width:699px){.section-head h2 small{width:39px;height:39px;font-size:11px}.section-head h2{gap:11px}}
.home-try{border-top:1px solid var(--line);padding:var(--space-section) 0}.home-try>p{font-size:14px;line-height:1.95;max-width:650px}.try-demo-link{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:330px;min-height:54px;margin-top:20px;padding:12px 22px;border:1px solid #796883;border-radius:999px;font-size:14px;font-weight:700;background:#fffdf8}.try-demo-link svg{width:34px;height:24px;flex:none}.try-demo-link:hover{background:var(--purple)}
.section-head h2 small{--segment-one:#98bf56;--segment-two:#e0dbe3;--segment-three:#e0dbe3;--segment-four:#e0dbe3;background:radial-gradient(circle,var(--paper) 58%,transparent 61%),conic-gradient(var(--segment-one) 0deg 86deg,transparent 86deg 90deg,var(--segment-two) 90deg 176deg,transparent 176deg 180deg,var(--segment-three) 180deg 266deg,transparent 266deg 270deg,var(--segment-four) 270deg 356deg,transparent 356deg 360deg)}
.home-about .section-head h2 small{--segment-two:#98bf56}.home-try .section-head h2 small{--segment-two:#98bf56;--segment-three:#98bf56}.home-faq .section-head h2 small{--segment-two:#98bf56;--segment-three:#98bf56;--segment-four:#98bf56}
@media(max-width:699px){.home-try>p{font-size:13px;line-height:1.9}.try-demo-link{max-width:none;font-size:13px}}
.try-play-preview{margin:22px 0 0;max-width:500px}.try-play-preview img{display:block;width:100%;height:auto;border:1px solid #ded7e1;border-radius:10px;box-shadow:0 8px 24px #2816320a}.try-play-preview figcaption{font-size:10px;color:var(--muted);margin-top:9px;text-align:center;letter-spacing:.04em}
.try-demo-link{max-width:420px;min-height:62px;padding:10px 22px 10px 21px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:#fffdf8;font-size:15px;font-weight:700;letter-spacing:.015em;box-shadow:none;transition:filter .18s,transform .18s}.try-demo-link svg{width:40px;height:24px;color:#d6edac;margin-left:16px;transition:transform .2s ease}.try-demo-link:hover{background:var(--ink);filter:brightness(.97)}.try-demo-link:active{transform:translateY(2px)}
@media(hover:hover){.try-demo-link:hover svg{transform:translateX(3px)}}
@media(max-width:699px){.try-play-preview{max-width:100%}.try-demo-link{max-width:none;width:100%;font-size:15px}}
@media(prefers-reduced-motion:reduce){.try-demo-link,.try-demo-link svg{transition:none}}
.try-layout{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:36px;max-width:760px}.try-layout .try-play-preview{margin:0;max-width:none}.try-layout .try-play-preview img{width:100%;height:auto;border-radius:8px}.try-play-preview figcaption{font-size:9px;line-height:1.6}.try-copy>p{font-size:14px;line-height:1.95;max-width:440px}.try-copy .try-demo-link{margin-top:22px}
@media(max-width:699px){.try-layout{grid-template-columns:105px minmax(0,1fr);gap:20px;align-items:center}.try-copy>p{font-size:12px;line-height:1.95}.try-copy .try-demo-link{font-size:12px;min-height:48px;padding:10px 13px;gap:8px}.try-copy .try-demo-link svg{width:24px;margin-left:0}.try-layout .try-play-preview figcaption{font-size:8px}}
@media(max-width:360px){.try-layout{grid-template-columns:88px minmax(0,1fr);gap:14px}.try-copy .try-demo-link{font-size:11px;padding-inline:11px}}
/* Balance the portrait preview and copy as two equal columns. */
.try-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:650px;gap:32px}.try-layout .try-play-preview{width:100%;max-width:205px;justify-self:center}.try-copy>p{font-size:15px;line-height:1.95}.try-copy .try-demo-link{font-size:13px;min-height:54px;padding:10px 16px;gap:10px}.try-copy .try-demo-link svg{width:28px;margin-left:0}
@media(max-width:699px){.try-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.try-layout .try-play-preview{max-width:none}.try-copy>p{font-size:13px;line-height:1.95}.try-copy .try-demo-link{font-size:12px;min-height:50px;padding:10px 12px;gap:6px}.try-copy .try-demo-link svg{width:23px}.try-layout .try-play-preview figcaption{font-size:9px}}
@media(max-width:360px){.try-layout{gap:14px}.try-copy>p{font-size:12px}.try-copy .try-demo-link{font-size:11px;padding-inline:10px}.try-copy .try-demo-link svg{width:20px}}
/* Show the complete portrait screen as two adjacent halves. */
.try-layout{display:block;max-width:650px}.try-layout .try-play-preview{width:100%;max-width:470px;margin:0}.try-split-images{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.try-layout .try-split-images img{width:100%;height:auto;border-radius:7px}.try-copy{margin-top:20px}.try-copy>p{max-width:540px}.try-copy .try-demo-link{max-width:420px}.try-layout .try-play-preview figcaption{font-size:10px}
@media(max-width:699px){.try-layout .try-play-preview{max-width:100%}.try-split-images{gap:10px}.try-copy{margin-top:18px}.try-copy>p{font-size:13px;line-height:1.9}.try-copy .try-demo-link{max-width:none;font-size:15px;min-height:62px;padding:10px 22px 10px 21px;margin-top:18px}.try-copy .try-demo-link svg{width:40px}.try-layout .try-play-preview figcaption{font-size:9px}}
/* Screenshot carousel on the left, copy on the right. */
.try-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;max-width:700px;align-items:center}.try-layout .try-play-preview{min-width:0;max-width:none;margin:0}.try-split-images{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:8px;overscroll-behavior-x:contain}.try-split-images::-webkit-scrollbar{display:none}.try-layout .try-split-images img{flex:0 0 100%;width:100%;min-width:0;height:auto;object-fit:contain;scroll-snap-align:start;border:0;border-radius:0;box-shadow:none}.try-copy{margin:0}.try-copy .try-demo-link{font-size:13px;min-height:54px;gap:8px;padding:10px 15px}.try-copy .try-demo-link svg{width:28px;margin:0}
@media(max-width:699px){.try-layout{gap:18px}.try-copy>p{font-size:12px;line-height:1.95}.try-copy .try-demo-link{font-size:12px;min-height:48px;padding:10px 12px;gap:6px}.try-copy .try-demo-link svg{width:22px}.try-layout .try-play-preview figcaption{font-size:8px}}
@media(max-width:360px){.try-layout{gap:12px}.try-copy .try-demo-link{font-size:11px;padding-inline:9px}}
.try-split-images{cursor:pointer}.try-split-images:focus-visible{outline:2px solid #715580;outline-offset:4px}
/* Separate the image and copy, and share the CTA arrow hover treatment. */
.try-layout{display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:none}.try-layout .try-play-preview{flex:0 0 44%;max-width:290px;min-width:0}.try-layout .try-copy{flex:0 1 44%;max-width:420px;min-width:0}.try-demo-link svg,.entry-actions .cta-arrow svg{transition:transform .2s ease,color .2s ease}
@media(hover:hover){.try-demo-link:hover svg,.entry-actions[data-button-design=capsule] .primary:hover .cta-arrow{color:#fffdf8}.try-demo-link:hover svg,.entry-actions .primary:hover .cta-arrow svg{transform:translateX(3px)}}
@media(max-width:699px){.try-layout{gap:18px}.try-layout .try-play-preview{flex-basis:46%;max-width:none}.try-layout .try-copy{flex-basis:46%;max-width:none}}
@media(max-width:360px){.try-layout{gap:12px}}
@media(prefers-reduced-motion:reduce){.try-demo-link svg,.entry-actions .cta-arrow svg{transition:none}}
/* White arrows turn lime on hover. */
.entry-actions[data-button-design=capsule] .primary .cta-arrow{color:#fffdf8;width:64px;height:30px}.entry-actions .cta-arrow svg{width:46px;height:28px}.try-demo-link svg{color:#fffdf8;width:46px;height:28px}
@media(hover:hover){.entry-actions[data-button-design=capsule] .primary:hover .cta-arrow,.try-demo-link:hover svg{color:#c4e87b}}
@media(max-width:699px){.try-copy .try-demo-link svg{width:29px;height:26px}}
@media(max-width:360px){.try-copy .try-demo-link svg{width:26px;height:24px}}
/* Match the rules link arrow to the other CTAs. */
.show-link b{color:#fffdf8;font-size:28px;transition:color .2s ease,transform .2s ease}
@media(hover:hover){.show-link:hover b{background:var(--ink);color:#c4e87b;transform:translateX(2px)}}
@media(max-width:699px){.show-caption-row .show-link b{width:32px;height:32px;font-size:23px}}
@media(max-width:360px){.show-caption-row .show-link b{width:29px;height:29px;font-size:21px}}
@media(prefers-reduced-motion:reduce){.show-link b{transition:none}}
.home-about>p+p{margin-top:15px}.about-story>section{padding:8px 0 26px}.about-story>section+section{border-top:1px solid var(--line);padding-top:22px}.about-story h3{font-size:17px;line-height:1.7;margin:22px 0 10px}.about-story p{margin-bottom:16px}.about-story .text-link{font-size:13px}.about-contact-links{display:flex;gap:12px 26px;flex-wrap:wrap}
.home-other-play{margin:22px 0 12px;padding:18px 22px;border-left:3px solid #bda7d4;background:#eee8f340;border-radius:0 8px 8px 0;max-width:650px}.home-other-play .other-play-label{font-size:11px;color:#776183;letter-spacing:.04em;margin-bottom:8px}.home-other-play h3{font-size:17px;line-height:1.65;margin:0 0 8px}.home-other-play>p:not(.other-play-label){font-size:13px;line-height:1.9}.home-other-play .text-link{margin-top:5px}
@media(max-width:699px){.home-other-play{padding:16px 17px;margin-top:20px}.home-other-play h3{font-size:16px}.home-other-play>p:not(.other-play-label){font-size:12px}}
.hoshi-intro-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px;align-items:center;margin-top:15px}.hoshi-intro-art{margin:0;min-width:0}.hoshi-intro-art img{width:100%;height:auto;border-radius:8px}.hoshi-intro-art figcaption{font-size:9px;color:var(--muted);text-align:center;margin-top:7px}.hoshi-intro-copy p{font-size:13px;line-height:1.9}.hoshi-intro-copy .text-link{font-size:12px}
@media(max-width:699px){.hoshi-intro-layout{grid-template-columns:105px minmax(0,1fr);gap:14px;align-items:start}.hoshi-intro-copy p{font-size:12px}.hoshi-intro-copy .text-link{font-size:11px}.hoshi-intro-art figcaption{font-size:8px}}
@media(max-width:360px){.hoshi-intro-layout{grid-template-columns:85px minmax(0,1fr);gap:12px}}
/* Give the illustration equal visual weight beside the diagnosis description. */
.hoshi-intro-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}.hoshi-intro-art{width:100%;max-width:275px;justify-self:center}.hoshi-intro-copy p{font-size:13px;line-height:1.9}.hoshi-intro-copy .text-link{margin-top:10px}
@media(max-width:699px){.hoshi-intro-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center}.hoshi-intro-art{max-width:none}.hoshi-intro-copy p{font-size:12px;line-height:1.85}.hoshi-intro-copy .text-link{margin-top:6px;line-height:1.7}.hoshi-intro-art figcaption{font-size:9px}}
@media(max-width:360px){.hoshi-intro-layout{gap:12px}.hoshi-intro-copy p{font-size:11px}}
/* A deliberate closing signature, shared with the published site shell. */
.site-footer{padding:30px 0 24px;gap:16px 24px;border-top:1px solid #c8bdce}
.site-footer::before{content:'NIWATOKO LAB';display:block;flex-basis:100%;font:900 clamp(30px,5vw,52px)/1.1 Arial,sans-serif;letter-spacing:-.055em;color:#281632;margin-bottom:10px}
.site-footer>a{font-size:12px;font-weight:700;text-decoration:none}
.site-footer>a:nth-child(2){width:40px;height:40px;justify-content:center;border:1px solid #d9d2dd;border-radius:50%;font-size:19px}
.site-footer>a:hover{color:#526c2c}.site-footer>a:nth-child(2):hover{background:#c4e87b;border-color:#c4e87b}
.site-footer small{font-size:10px;color:#786e7f}
.show-caption-row .show-link{min-height:44px;gap:10px}
.show-caption-row .show-link b{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;line-height:1;padding:0;overflow:visible}
.show-link b svg{display:block;width:22px;height:22px;flex:none}
@media(max-width:699px){.site-footer{padding:26px 0 20px;gap:12px}.site-footer::before{font-size:34px;margin-bottom:6px}.site-footer>a{font-size:11px}.site-footer small{font-size:9px;flex-basis:100%;margin:2px 0 0}.show-caption-row .show-link{gap:8px}.show-caption-row .show-link b{flex-basis:36px;width:36px;height:36px}.show-link b svg{width:20px;height:20px}}
/* Center labels independently of the right-hand arrow. */
.primary,.entry-actions[data-button-design] .primary{position:relative;justify-content:center;text-align:center;padding-inline:62px}
.entry-actions[data-button-design=capsule] .primary .cta-arrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:40px;height:30px;padding:0}
.entry-actions .cta-arrow svg{width:40px}
.try-demo-link{position:relative;justify-content:center;text-align:center;padding-inline:58px}
.try-demo-link>span{min-width:0}
.try-demo-link>svg{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:32px}
@media(hover:hover){.try-demo-link:hover>svg{transform:translate(3px,-50%)}}
.show-caption-row .show-link{justify-content:center;text-align:center}
@media(max-width:699px){.primary,.entry-actions[data-button-design] .primary{padding-inline:50px}.entry-actions[data-button-design=capsule] .primary .cta-arrow{right:12px;width:30px}.entry-actions .cta-arrow svg{width:30px}.try-demo-link{padding-inline:30px}.try-demo-link>svg{right:7px;width:20px}}

/* Trim rounded frames baked into the original game artwork. */
:is(.cover,.show-art){overflow:hidden}:is(.cover,.show-art)>img[src*="detective-banner"]{transform:scale(1.065)}:is(.cover,.show-art)>img[src*="nanimono-banner"],:is(.cover,.show-art)>img[src*="zurashi-banner"]{transform:scale(1.035)}
