/* Keep image proportions independent of legacy HTML width/height attributes. */
img{height:auto}.hero-bg,.feature-bg,.world-wide img{height:100%}.brand-name strong{text-transform:uppercase}.brand-name{position:relative}.brand-name:after{content:'スタジオイナリ';font-size:8px;letter-spacing:.14em;color:#c1b6a2;margin-top:3px}.hero-identity .brand-name:after{font-size:10px;letter-spacing:.18em}.hero-bg{filter:brightness(1.12)}.hero:after{background:linear-gradient(90deg,#050908cc 0%,#05090877 34%,#05090808 74%),linear-gradient(0deg,#0a0c0c 0%,transparent 18%,#080a0a20 85%)}.feature-ayane{width:47%;height:auto;top:20px;bottom:auto;right:-1%}.feature-bg{object-position:52% center}.feature-copy{max-width:450px}.feature-copy p{max-width:360px;line-height:2.1}.about-art img{height:auto;aspect-ratio:4/5;object-fit:cover}.about-copy .signature{text-transform:uppercase}.about-copy h2{line-height:1.75}.about-copy p{line-height:2.15}@keyframes quiet-in{from{transform:translateY(12px)}to{transform:none}}.otherworld-picture img{height:auto;aspect-ratio:4/3;object-fit:cover;filter:brightness(.92)}.otherworld-layout{gap:6%}.otherworld-copy .world-statement{font-size:28px;line-height:1.8}.memory-feature{height:410px}.memory-feature img{height:100%;object-fit:cover;object-position:center}.memory-feature>div{width:36%}.memory-feature:after{background:linear-gradient(90deg,transparent 20%,#090b0b79 55%,#090b0bd9)}.memory-grid{grid-template-columns:repeat(4,1fr);gap:25px}.memory-grid h3{font-size:16px}.memory-grid p{font-size:11px;line-height:2}.menashi-intro h2{font-size:32px}.character-art img[src*='kinu'],.character-art img[src*='momiji']{height:100%;object-fit:contain;object-position:center}.game-logo{height:auto}.game-shots{grid-template-columns:1.3fr 1fr;gap:16px}.game-shots .gallery-item:first-child{grid-row:span 2}.game-shots .gallery-item img{height:100%;width:100%;object-fit:cover;aspect-ratio:16/9;filter:brightness(1.18)}.game-shots .gallery-item:hover img{filter:brightness(1.28)}.game-shots .gallery-item:first-child img{aspect-ratio:auto}.game-shots .gallery-label{left:18px;bottom:18px;font-size:11px}.gallery-item:first-child img{object-position:center}.quiet-share{border:0;border-bottom:1px solid #c7bdaa55;background:none;color:#c8bca5;padding:0 0 7px;font-size:11px;letter-spacing:.08em}.social-section{padding-top:60px;padding-bottom:60px}.social-section .share-panel{gap:25px}.threats-section{background:radial-gradient(ellipse at 50% 40%,#29323040,transparent 75%),#090d0d;border-top:1px solid #c0b29222;border-bottom:1px solid #c0b29222;padding-top:90px;padding-bottom:85px}.threats-section .section-head{align-items:center;margin-bottom:25px}.threats-section h2{font-size:36px;line-height:1.75;letter-spacing:.15em}.threats-lead{font-size:13px;letter-spacing:.09em;color:#c6bdac;margin-bottom:38px}.threat-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.threat-card{border:1px solid #bccab523;background:#080c0baa}.threat-image{display:block;position:relative;aspect-ratio:816/350;width:100%;padding:0;border:0;overflow:hidden;background:#0b1110}.threat-image img{position:absolute;width:188.24%;max-width:none;height:auto;left:-88.24%;top:-190%;filter:brightness(.82) saturate(.8);transition:filter .6s}.threat-image:hover img{filter:brightness(1.05) saturate(.9)}.threat-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#060a0a99);pointer-events:none}.threat-caption{position:absolute;left:22px;bottom:18px;z-index:2;color:#dfd5c2}.threat-expand{position:absolute;right:18px;top:16px;z-index:2;width:25px;height:25px;display:grid;place-items:center;color:#e9dec5;border:1px solid #d5c59c66;background:#0b110c55;font:18px Arial}.threat-copy{padding:28px 30px 30px}.threat-copy h3{font-size:37px;letter-spacing:.22em;margin:13px 0 17px}.threat-copy .threat-line{font-size:17px;color:#d4c5a9;margin-bottom:16px;line-height:1.8}.threat-copy p{font-size:12px;color:#b5ad9c;line-height:2.1;letter-spacing:.04em}.threats-note{font-size:9px;color:#8f9487;line-height:1.8;margin-top:18px;letter-spacing:.05em}.threats-side{line-height:2.1;color:#a3a48f;letter-spacing:.17em}.story-section{padding-bottom:85px}.story-section p{line-height:2.35}.banka-subnav{gap:27px}.gallery-note{line-height:1.9}
@media(max-width:1100px){.memory-grid{grid-template-columns:1fr 1fr;gap:28px}.threat-copy{padding:24px}.threat-copy .threat-line{font-size:15px}.threat-copy p{font-size:11px}.threats-section h2{font-size:30px}.banka-subnav{gap:22px}}
@media(max-width:760px){.hero:after{background:linear-gradient(90deg,#05090840,transparent 75%),linear-gradient(0deg,#0a0c0c 0%,#05090895 24%,#05090808 66%,#05090825)}.hero-bg{object-position:64% center;filter:brightness(1.25)}.hero-content{padding-bottom:120px}.hero h1{font-size:29px}.hero-description{font-size:12px}.hero-identity{margin-bottom:23px}.hero-identity .brand-name strong{font-size:28px}.hero-identity .brand-name:after{font-size:9px}.hero-meta>.scroll-link{display:flex}.feature{min-height:610px}.feature-ayane{width:83%;right:-10%;top:15px;bottom:auto;height:auto}.feature-bg{height:100%;object-position:60% center}.feature-copy{margin-top:260px;margin-bottom:36px}.feature-copy h3{font-size:17px}.feature-copy p{font-size:11px}.feature:after{background:linear-gradient(0deg,#060808 0%,#060808e6 34%,#06080838 63%,#06080810)}.feature-copy .eyebrow{font-size:8px}.about-art img{aspect-ratio:5/4;height:auto;object-position:center}.about-copy h2{font-size:25px}.about-section{gap:28px}.memory-grid{grid-template-columns:1fr 1fr;gap:23px 20px}.memory-grid h3{font-size:15px;line-height:1.8}.memory-grid .eyebrow{font-size:8px;letter-spacing:.1em}.memory-grid p{font-size:10px;line-height:2}.memory-feature{height:420px}.memory-feature>div{width:82%}.memory-feature img{object-position:32% center}.memory-feature:after{background:linear-gradient(0deg,#090b0bed,#090b0b80 40%,transparent 85%)}.menashi-intro h2{font-size:27px}.menashi-intro p{font-size:12px;line-height:2.2}.memory-footnote{font-size:11px;line-height:2.1}.otherworld-picture img{aspect-ratio:4/3;height:auto;filter:brightness(1)}.otherworld-copy .world-statement{font-size:25px;margin-bottom:20px}.otherworld-copy p{line-height:2.15}.game-shots{grid-template-columns:1fr 1fr;gap:10px}.game-shots .gallery-item:first-child{grid-column:1/3;grid-row:auto}.game-shots .gallery-item:first-child img{aspect-ratio:16/10}.game-shots .gallery-item img{height:auto;aspect-ratio:16/10}.game-shots .gallery-label{font-size:8px;left:9px;bottom:10px;letter-spacing:.02em}.game-shots .gallery-item:first-child .gallery-label{font-size:11px;left:15px;bottom:15px}.gameplay-loop{margin-top:28px;margin-bottom:42px}.threats-section{padding-top:60px;padding-bottom:55px}.threats-section h2{font-size:27px;letter-spacing:.11em}.threats-side{display:none}.threats-lead{font-size:12px;line-height:2.1;letter-spacing:.03em;margin-bottom:27px}.threat-grid{grid-template-columns:1fr;gap:23px}.threat-copy{padding:23px 24px}.threat-copy h3{font-size:30px;margin:10px 0 13px}.threat-copy .threat-line{font-size:16px;margin-bottom:13px}.threat-copy p{font-size:11px}.threats-note{font-size:9px}.threat-caption{font-size:8px;left:17px;bottom:14px}.threat-image{aspect-ratio:816/365}.threat-image img{top:-182.2%}.story-section{padding-bottom:65px}.story-section h2{font-size:24px}.story-section p{font-size:12px;line-height:2.3}.banka-subnav{gap:24px}.social-section{padding-top:45px;padding-bottom:45px}.hero.banka-hero .hero-bg{filter:brightness(1.05)}.character-tabs{gap:7px}.character-tab{padding:12px 13px;font-size:10px}.banka-hero .hero-content{padding-bottom:95px}}


.threat-image{aspect-ratio:16/9}.threat-image img{width:100%;height:100%;left:0;top:0;object-fit:cover;filter:brightness(.9) saturate(.85)}.threat-image:hover img{filter:brightness(1.05) saturate(.95)}
@media(max-width:760px){.threat-image{aspect-ratio:16/10}.threat-image img{top:0;object-position:center}}

/* Audit 2026-10: focus, toast, minimum sizes, new page components. */
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #e08a6f;outline-offset:3px}
.toast{visibility:hidden;opacity:0;transition:transform .3s,opacity .3s,visibility 0s .3s}.toast.on{visibility:visible;opacity:1;transition:transform .3s,opacity .3s}
.eyebrow{font-size:10px}.micro{font-size:9px}
.specs div{font-size:13px}
.doc-title{font-size:30px;margin:22px 0 35px;font-weight:400;letter-spacing:.1em}
.page-title{font-size:34px;margin:20px 0 0;font-weight:400;letter-spacing:.15em}
.doc-summary{border:1px solid #e7dec233;background:#d7c59b0a;padding:24px 26px;margin:0 0 30px}
.doc-summary ul{margin:12px 0 0;padding-left:1.2em;font-size:14px;line-height:2;color:#d6ccba}
.doc-toc{margin:0 0 36px}
.doc-toc ol{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;font-size:13px}
.doc-toc a{color:#c9bfaf}.doc-toc a:hover{color:#df7257}
.article-body .doc-scope{font-size:13px;color:#b9b5a8}
.terms ul,.privacy ul{margin:0 0 26px;padding-left:1.3em;font-size:14px;line-height:2.1;color:#c9bfaf}
.doc-history dl{margin:0}
.doc-history dl div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid #e7dec226;font-size:13px;line-height:1.9}
.doc-history dt{color:#a89c89}.doc-history dd{margin:0;color:#c9bfaf}.doc-history strong{font-weight:400;color:#e6dfd0}
.doc-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.doc-actions .button{margin-top:0}
.company-specs{margin:30px 0 40px}
.faq-list{max-width:820px;margin-top:40px;border-top:1px solid #e7dec226}
.faq-item{border-bottom:1px solid #e7dec226}
.faq-item summary{list-style:none;cursor:pointer;padding:24px 50px 24px 0;font-size:16px;letter-spacing:.06em;position:relative;line-height:1.8}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:'＋';position:absolute;right:6px;top:22px;color:#c25b45;font-family:Arial,sans-serif}
.faq-item[open] summary:after{content:'－'}
.faq-item summary:hover{color:#fff}
.faq-answer{padding:0 50px 26px 0}.faq-answer p{margin:0;font-size:14px;line-height:2.1;color:#c9bfaf}
.press-block{margin-top:60px}.press-block h2{font-size:20px;letter-spacing:.12em;margin:0 0 24px;font-weight:400}
.press-copy{font-size:14px;line-height:2.2;color:#d6ccba;border-left:1px solid #b55039;padding:6px 0 6px 24px;max-width:760px;margin:0 0 14px}
.press-assets{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.press-asset{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid #e7dec226;background:#d7c59b06;transition:border-color .25s}
.press-asset:hover{border-color:#cf664e88}.press-asset strong{font-weight:400;font-size:15px;line-height:1.7}
.press-asset small{font-family:Arial,sans-serif;font-size:11px;color:#a89c89;letter-spacing:.06em}
.press-rules{margin:28px 0 0;padding-left:1.3em;font-size:13px;line-height:2.1;color:#c9bfaf}
.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:820px;margin:40px 0 0}
.contact-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px 56px 24px 24px;border:1px solid #e7dec226;background:#d7c59b06;transition:border-color .25s}
.contact-card:hover{border-color:#cf664e88}.contact-card strong{font-weight:400;font-size:17px;letter-spacing:.08em}
.contact-card small{font-size:12px;line-height:1.9;color:#b9b5a8;font-family:Arial,'Yu Gothic',sans-serif}
.contact-card .arrow{position:absolute;right:22px;top:50%;transform:translateY(-50%);color:#c25b45}
.contact-direct{margin-top:34px}.contact-direct .form-note{margin-top:14px}
.contact-notes{max-width:820px;margin-top:44px;padding-top:28px;border-top:1px solid #e7dec226}
.contact-notes p{font-size:13px;line-height:2.1;color:#c9bfaf;margin:0 0 14px}
.info-links{display:grid;gap:12px;margin-top:34px}
.info-links a{display:flex;flex-direction:column;gap:6px;padding:18px 22px;border:1px solid #e7dec226;background:#d7c59b06;transition:border-color .25s}
.info-links a:hover{border-color:#cf664e88}.info-links strong{font-weight:400;font-size:15px}
.info-links small{font-size:12px;color:#b9b5a8;font-family:Arial,'Yu Gothic',sans-serif}
.hero-facts{list-style:none;display:flex;flex-wrap:wrap;gap:8px 10px;margin:26px 0 0;padding:0;font-size:11px;letter-spacing:.1em;color:#e6dfd0}
.hero-facts li{padding:6px 12px;border:1px solid #e7dec233;background:#0a0c0c70;backdrop-filter:blur(4px)}
.banka-hero .hero-meta>.micro{display:none}
.banka-subnav a{padding:6px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.banka-subnav a.active{color:#e08a6f;border-bottom-color:#cf664e}
.banka-subnav{scrollbar-width:none}.banka-subnav::-webkit-scrollbar{display:none}
.not-found h1{margin:30px 0;font-size:30px;font-weight:400;letter-spacing:.08em}
.footer-links{flex-wrap:wrap}
@media(max-width:760px){.doc-toc ol{grid-template-columns:1fr}.doc-history dl div{grid-template-columns:1fr;gap:6px}.press-assets,.contact-cards{grid-template-columns:1fr}.footer-links{gap:34px 40px}.faq-item summary{font-size:15px}.page-title{font-size:26px}.doc-title{font-size:26px}}
.terms .doc-summary ul{margin:12px 0 0}
.trailer-frame{position:relative;aspect-ratio:16/9;max-width:1100px;margin:0 auto;border:1px solid #e7dec226;background:#000;overflow:hidden}
.trailer-frame iframe,.trailer-frame img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.trailer-play{display:block;position:absolute;inset:0}
.trailer-button{position:absolute;left:50%;top:76%;width:72px;height:72px;margin:-36px 0 0 -36px;border:1px solid #eee6d3aa;border-radius:50%;background:#0a0c0c99;backdrop-filter:blur(4px);display:grid;place-items:center;transition:transform .25s,background .25s}
.trailer-button svg{width:30px;height:30px;fill:#eee6d3;margin-left:4px}
.trailer-play:hover .trailer-button,.trailer-play:focus-visible .trailer-button{transform:scale(1.08);background:#b5503999}
.trailer-meta{position:absolute;left:20px;bottom:16px;color:#d6ccba;max-width:none;text-align:left}
.trailer-note{text-align:center;margin:16px 0 0;font-size:11px;color:#a89c89}
.trailer-section{padding-bottom:40px}
@media(max-width:760px){.trailer-button{width:54px;height:54px;margin:-27px 0 0 -27px}.trailer-button svg{width:20px;height:20px}.trailer-section .section-head{flex-wrap:wrap;gap:10px 20px}.trailer-section .section-head .micro{max-width:none;text-align:left}.trailer-meta{left:12px;bottom:10px}}

/* Scroll motion (2026-10): staged reveal, line-by-line story, hero parallax, progress bar, compact fixed header. */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1);transition-delay:var(--d,0s)}
.js .reveal.visible{opacity:1;transform:none}
.js .story-section.reveal{transform:none}
.js .story-section .ln{display:block;opacity:0;transform:translateY(12px);transition:opacity .9s ease,transform .9s ease;transition-delay:calc(.25s + var(--i,0)*.13s)}
.js .story-section.visible .ln{opacity:1;transform:none}
.hero-bg,.hero-ayane,.vertical-note{will-change:transform}
.scroll-progress{position:fixed;left:0;top:0;height:2px;width:100%;background:#b55039;transform:scaleX(0);transform-origin:0 50%;z-index:140;pointer-events:none}
.site-header{position:fixed;transition:height .3s,background .3s,backdrop-filter .3s}
.site-header.inner-header{position:sticky;top:0}
.site-header.scrolled{height:60px;background:#0a0c0cf0;backdrop-filter:blur(10px);border-bottom:1px solid #e6dfd01f}
.site-header.scrolled .brand img{height:36px;width:auto}
.site-header.scrolled .brand-name:after{display:none}
.banka-subnav{top:60px}
html{scroll-padding-top:130px}
@media(prefers-reduced-motion:reduce){.js .reveal,.js .story-section .ln{opacity:1;transform:none;transition:none}.scroll-progress{display:none}.hero-bg,.hero-ayane,.vertical-note{translate:none!important;scale:none!important}}
.platform-note{font-size:12px;line-height:1.9;color:#a89c89;margin:16px 0 0}

/* Readability floor and tap targets (2026-10). */
small,.nav a small,.service-button small,.tag,.date,.status,.micro,.back-top,.threat-caption,.gallery-note{font-size:max(10.5px,1em)}
.nav a small{font-size:10.5px}.tag,.date,.status,.micro,.back-top{font-size:10.5px}
.eyebrow{font-size:11px}
.footer-description{font-size:11.5px}
.footer-links div{gap:0}
.footer-links a{display:block;padding:11px 0;font-size:12px}
.back-top{display:inline-flex;align-items:center;padding:14px 0}
.banka-subnav a{padding:12px 0;font-size:10.5px}
.text-link{min-height:40px;align-items:center;padding-bottom:4px}
.quiet-share{min-height:40px}
.character-tab{min-height:40px;font-size:11px}
@media(max-width:760px){.footer-links a{padding:13px 0}.banka-subnav a{padding:14px 0}.eyebrow{font-size:10.5px}.micro{font-size:10px}}
.news-ticker .tag,.news-row .tag,.news-ticker>.eyebrow,.news-ticker time,.footer-bottom,.section-head .text-link,.feature-title-en,.works-bottom .micro,.section-head>.micro,.service-button small,.breadcrumbs,.banka-subnav,.gallery-note,.nav a small{font-size:10.5px}
@media(max-width:760px){.news-ticker .tag,.news-row .tag,.news-ticker>.eyebrow,.news-ticker time,.footer-bottom,.section-head .text-link,.service-button small,.breadcrumbs{font-size:10.5px}}


/* News, readable long copy, and narrow-screen controls. */
.news-page{max-width:1100px;margin:auto;padding-top:70px}
.news-page h1{font-size:clamp(25px,5vw,42px);line-height:1.65;margin:20px 0;letter-spacing:.08em}
.news-lead{color:#bdb3a2;margin-bottom:36px;line-height:2}
.news-entry{padding:30px 0;border-top:1px solid #e7dec22b}
.news-entry h2,.rss-guide h2{font-size:clamp(20px,3vw,27px);line-height:1.8;margin:12px 0}
.news-entry p,.rss-guide p{line-height:2;color:#bdb3a2;margin:15px 0}
.rss-guide{padding:26px;margin:36px 0;border:1px solid #e7dec22b}
.rss-guide label{display:block;margin:18px 0 8px;font-size:13px}
.rss-url{display:block;box-sizing:border-box;width:100%;min-width:0;padding:14px;border:1px solid #bdb3a255;background:#111615;color:#e8e0d2;font-size:16px;border-radius:0}
.news-page .social-section{padding:35px 0;grid-template-columns:1fr}
.news-page .social-buttons{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.article-body p,.doc-main p,.contact-notes p,.specs dd,.game-information p{overflow-wrap:anywhere;line-break:strict}
.character-copy,.game-information>div,.specs,.social-section>div{min-width:0}
:focus-visible{outline:2px solid #deaa76;outline-offset:5px}
@media(max-width:480px){.share-panel{flex-wrap:wrap}.share-panel .button{flex:1 1 160px;justify-content:space-between;min-width:0}.rss-guide{padding:20px}.game-information h2{font-size:clamp(25px,7.2vw,34px);letter-spacing:.08em}.info-links strong{line-height:1.7}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-progress{transition:none}}

.news-page h1 span{display:inline-block}.news-entry h2 a{font:inherit;letter-spacing:inherit;border:0;display:inline;text-decoration:none}.news-entry h2 a:hover{text-decoration:underline;text-underline-offset:5px}
