/* Approved “ぽってり＋細かいドット”: local fonts, real selectable text.
   The TOP title, brand button and game-corner sign remain image artwork. */
@font-face{
 font-family:"Pote Pixel Text";
 src:url('assets/fonts/pote-pixel-text-black.woff2?v=8') format('woff2');
 font-style:normal;font-weight:900;font-display:swap;
}
@font-face{
 font-family:"Pote Pixel Heading";
 src:url('assets/fonts/pote-pixel-heading-black.woff2?v=6') format('woff2');
 font-style:normal;font-weight:900;font-display:swap;
}
@font-face{
 font-family:"Pote Pixel Menu";
 src:url('assets/fonts/pote-pixel-menu-black.woff2?v=4') format('woff2');
 font-style:normal;font-weight:900;font-display:swap;
}
body{
 font-family:"Pote Pixel Text","Hiragino Maru Gothic ProN",sans-serif;
 font-weight:900;letter-spacing:.08em;
}
/* Equal side columns keep the menu centered on wide screens. */
header{display:grid;grid-template-columns:minmax(132px,1fr) max-content minmax(132px,1fr)}
header .brand{grid-column:1;grid-row:1;justify-self:start}
header nav{
 grid-column:2;grid-row:1;justify-self:center;justify-content:center;align-items:center;min-width:0;
 font-family:"Pote Pixel Menu","Hiragino Maru Gothic ProN",sans-serif;
 font-size:20px;font-weight:900;line-height:1.7;letter-spacing:.1em;gap:clamp(36px,3.5vw,64px);
 -webkit-text-stroke:0;
}
header nav a{flex:none;white-space:nowrap}
.chapter h2,.section-heading h2,.character-line h3,.special-card h3,
.cover-title{
 font-family:"Pote Pixel Heading","Hiragino Maru Gothic ProN",sans-serif;
 font-weight:900;-webkit-text-stroke:0;
}
.chapter h2,.section-heading h2{font-size:42px;line-height:1.75;letter-spacing:.1em;text-wrap:balance}
.intro-wrap{grid-template-columns:minmax(0,1fr);gap:40px}
.intro .chapter{
 --intro-shift:clamp(16px,3vw,48px);
 width:min(760px,calc(100% - var(--intro-shift)));
 margin-left:var(--intro-shift);
}
.intro .chapter h2{font-size:48px;line-height:1.8;margin-bottom:30px}
.intro .chapter p{font-size:24px;margin:1.6em 0}
.intro .chapter>span{font-size:16px}
.chapter p,.section-heading p,.character-line p,.special-card p{
 font-size:20px;line-height:2.05;letter-spacing:.1em;text-wrap:pretty;
}
.character-line h3{font-size:24px;line-height:1.85;letter-spacing:.1em;text-wrap:balance}
.character-line h3 small{font-size:15px}
.chapter>span,.section-heading>span{font-size:14px;font-weight:900}
.special-service{font-size:15px}
.special-card h3{font-size:26px;line-height:1.8;letter-spacing:.1em;text-wrap:balance}
.special-card .button{font-size:20px;font-weight:900;letter-spacing:.1em}
.game-prop-name{font-family:inherit;font-size:26px;font-weight:900;line-height:1.8;letter-spacing:.08em;-webkit-text-stroke:0}
.draft{font-size:12px;opacity:.8}
.preview,.preview button{font-size:14px}
.mode-status{font-size:13px}
.picture-book .book-stage{height:clamp(480px,47vw,540px)}
.picture-book .book-copy>span,.cover-series{font-size:13px}
.picture-book .book-copy>p{font-size:clamp(22px,2.4vw,25px);line-height:2.05;letter-spacing:.12em;text-wrap:balance}
.picture-book .book-copy>small{font-size:13px}
.cover-title{display:block;width:206px;max-width:82%;margin-top:0;line-height:0;-webkit-text-stroke:0}
.cover-title>img{display:block;width:100%;height:auto}
.cover-subtitle{font-size:17px;line-height:1.8}
.cover-open{font-size:20px;line-height:1.8}
.picture-book .book-controls output,
.picture-book .book-controls .book-close{font-size:18px;letter-spacing:.1em}
.book-folio{font-size:12px;opacity:.8}
footer{font-size:16px;line-height:2}
footer span{font-size:14px;opacity:.8}
@media(min-width:761px) and (max-width:1100px){
 header{grid-template-columns:132px minmax(0,1fr);column-gap:16px;padding-inline:4%}
 header nav{width:100%;gap:clamp(18px,2.5vw,28px)}
}
@media(max-width:760px){
 header{grid-template-columns:112px minmax(0,1fr);column-gap:12px;padding-inline:4%}
 header nav{width:100%;font-size:17px;gap:clamp(14px,2.8vw,22px);letter-spacing:.08em}
 .chapter h2{font-size:clamp(24px,7.4vw,30px);letter-spacing:.03em}
 .intro .chapter{--intro-shift:0px;width:100%;max-width:19rem;margin-inline:auto}
 .intro .chapter h2{font-size:clamp(28px,8vw,34px);line-height:1.65;letter-spacing:.06em;text-wrap:balance;margin-bottom:24px}
 .intro .chapter h2 br{display:none}
 .intro .chapter h2>span{display:block;white-space:nowrap}
 .intro .chapter p{font-size:clamp(16px,4.5vw,18px);line-height:1.95;letter-spacing:.04em;margin:1.35em 0;text-wrap:wrap}
 .intro .chapter .intro-phrase,.intro .chapter .intro-sentence{display:block}
 .intro .chapter .intro-sentence~.intro-sentence{margin-top:.75em}
 .intro .chapter .intro-desktop-break{display:none}
 .intro .chapter>span{font-size:15px}
 .section-heading h2{font-size:clamp(28px,8vw,34px);letter-spacing:.1em}
 .intro-wrap{grid-template-columns:1fr;gap:35px}
 .chapter p,.section-heading p,.character-line p,.special-card p{font-size:18.5px}
 .character-line h3{font-size:22px}
 .character-line p{text-wrap:balance}
 .chapter>span,.section-heading>span{font-size:13px}
 .special-card h3{font-size:24px}
 .special-card .button{font-size:18.5px}
 .game-prop-name{font-size:23px}
 .preview,.preview button{font-size:13px}
 .mode-status{font-size:12px}
 .picture-book .book-stage{height:520px}
 .picture-book .book-spread{grid-template-rows:minmax(0,1fr) 185px}
 .picture-book .book-copy>p{font-size:20px;line-height:1.95;margin:12px 0}
 .cover-title{width:188px}
 .picture-book .book-copy>span,.cover-series{font-size:12px}
 .picture-book .book-copy>small{font-size:12px}
}
@media(max-width:480px){
 /* The unchanged brand already links to TOP; keep the remaining links legible. */
 header nav a[href="#top"]{display:none}
}
@media(max-width:350px){
 header{padding-inline:3%;column-gap:4px}
 header nav{font-size:15px;gap:10px}
}
