:root{color-scheme:dark;--readable-font:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Meiryo",system-ui,sans-serif;--ink:#f4eedc;--muted:#b8b9ad;--gold:#ddc27b;--panel:#172229ee;--line:#647260;--danger:#e59a84;--good:#94c69a}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0c1418;color:var(--ink);font-family:var(--readable-font)}body{min-height:100dvh;background:radial-gradient(circle at 50% 10%,#27372f,#0b1317 68%)}button{font:inherit;color:inherit}.game{width:min(1100px,100%);min-height:100dvh;margin:auto;position:relative;overflow:hidden;background:#111b21;box-shadow:0 0 70px #0008}.screen{display:none;min-height:100dvh}.screen.is-active{display:flex}.title-screen,.end-screen{padding:48px 24px;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(#0c1720d9,#17251cde),repeating-linear-gradient(45deg,#28392b 0 2px,#203025 2px 10px)}.title-screen:before,.end-screen:before{content:"";position:absolute;inset:22px;border:1px solid #84907166;pointer-events:none}.title-crest{width:96px;height:96px;border:1px solid var(--gold);display:grid;place-items:center;transform:rotate(45deg);font:48px Georgia;color:var(--gold);margin-bottom:45px}.title-crest::first-letter{transform:rotate(-45deg)}.kicker{letter-spacing:.26em;font-size:11px;color:var(--gold);margin:0 0 18px}.title-screen h1{font:clamp(29px,5vw,49px) var(--readable-font);letter-spacing:.1em;margin:0}.title-screen h1 small{display:block;font-size:.48em;margin-top:16px;color:#d8cba9}.title-copy{line-height:2;color:#c5c7ba;font-family:var(--readable-font);margin:30px 0}.title-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.title-actions button{min-width:185px;padding:14px 24px;border:1px solid #889477;background:#16231d;cursor:pointer;letter-spacing:.1em}.title-actions button.primary{background:var(--gold);color:#172019;border-color:var(--gold);font-weight:700}.title-actions button:disabled{opacity:.32;cursor:not-allowed}.title-actions button:not(:disabled):hover{filter:brightness(1.15)}.save-note{font-size:11px;color:#949d91;margin-top:16px}.story-screen{flex-direction:column}.status-bar{height:70px;display:grid;grid-template-columns:1fr 1.25fr 1.4fr auto;gap:1px;background:#35433d;border-bottom:1px solid #6c765e}.status-bar>div{background:#17242a;padding:11px 22px}.status-bar span{display:block;font-size:10px;letter-spacing:.13em;color:#aeb6a9}.status-bar strong{font:22px Georgia,serif;color:#f6edcf}.status-bar div:nth-child(3) strong{color:#efd38b}.mini-button{border:0;border-left:1px solid #53605a;background:#17242a;padding:0 18px;font-size:10px;letter-spacing:.12em;cursor:pointer}.scene{position:relative;min-height:50dvh;flex:1;overflow:hidden;background:#35454a;isolation:isolate;transition:background .45s}.scene:before,.scene:after{content:"";position:absolute;inset:0;z-index:-2}.scene[data-background="castle"]:before{background:linear-gradient(90deg,#19252d 0 9%,transparent 9% 91%,#19252d 91%),linear-gradient(#9bb1b7 0 43%,#766a58 43%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.scene[data-background="castle"]:after{background:linear-gradient(90deg,transparent 40%,#d4bf7188 40% 42%,transparent 42% 58%,#d4bf7188 58% 60%,transparent 60%),linear-gradient(110deg,transparent 40%,#c8d7d722 40% 60%,transparent 60%)}.scene[data-background="town"]:before{background:linear-gradient(#9eb6bc 0 45%,#a89b79 45% 100%)}.scene[data-background="town"]:after{background:linear-gradient(135deg,#4b4038 25%,transparent 25%) 0 0/190px 140px,linear-gradient(225deg,#5d5144 25%,transparent 25%) 95px 0/190px 140px}.scene[data-background="shop"]:before{background:linear-gradient(#4a3526 0 17%,#806646 17% 65%,#55402d 65%)}.scene[data-background="shop"]:after{background:repeating-linear-gradient(90deg,transparent 0 75px,#bea37035 75px 78px),linear-gradient(90deg,transparent 15%,#252c2d 15% 21%,transparent 21% 43%,#252c2d 43% 49%,transparent 49% 71%,#252c2d 71% 77%,transparent 77%)}.scene[data-background="inn"]:before{background:linear-gradient(#4c352c 0 65%,#3b2e27 65%)}.scene[data-background="inn"]:after{background:radial-gradient(circle at 50% 22%,#ffd888bb 0 3%,transparent 4%),linear-gradient(90deg,transparent 8%,#2e2422 8% 10%,transparent 10% 90%,#2e2422 90% 92%,transparent 92%)}.scene[data-background="morning"]:before{background:linear-gradient(#b8d0d4 0 55%,#768d63 55%)}.scene[data-background="morning"]:after{background:radial-gradient(circle at 78% 16%,#fff5bf 0 5%,transparent 6%),linear-gradient(155deg,transparent 52%,#948665 52% 64%,transparent 64%)}.scene-label{position:absolute;top:16px;left:20px;z-index:8;font-size:11px;letter-spacing:.12em;text-shadow:0 2px 4px #000}.scene-label i{display:block;width:34px;border-top:1px solid var(--gold);margin-top:6px}.character-slot{position:absolute;bottom:-2px;width:44%;height:91%;display:flex;align-items:flex-end;justify-content:center;transition:filter .25s,transform .25s,opacity .3s;filter:brightness(.55) saturate(.65);opacity:.82}.character-slot.left{left:2%}.character-slot.right{right:2%}.character-slot.active{filter:brightness(1.08) saturate(1);transform:scale(1.035);opacity:1;z-index:2}.character-slot.entering{animation:enter .42s ease-out}.portrait{position:relative;width:min(260px,90%);height:90%;filter:drop-shadow(0 14px 14px #0008)}.portrait .body{position:absolute;left:16%;right:16%;bottom:0;height:68%;border-radius:42% 42% 8% 8%;background:var(--body,#28364b);border:3px solid var(--trim,#c9a75f)}.portrait .head{position:absolute;left:30%;top:8%;width:40%;aspect-ratio:4/5;border-radius:48% 48% 44% 44%;background:var(--skin,#dfbea4);border:5px solid var(--hair,#171a22)}.portrait .hair{position:absolute;left:21%;right:21%;top:4%;height:63%;border-radius:48% 48% 20% 20%;background:var(--hair,#171a22);z-index:-1}.portrait .eye{position:absolute;top:47%;width:9%;height:4%;background:var(--eye,#718999);border-radius:50%}.portrait .eye.l{left:38%}.portrait .eye.r{right:38%}.portrait .mouth{position:absolute;top:61%;left:46%;width:8%;border-bottom:2px solid #775650}.portrait .badge{position:absolute;top:37%;left:44%;width:12%;aspect-ratio:1;transform:rotate(45deg);background:var(--accent,#4c91b5);border:2px solid var(--trim,#c9a75f)}.portrait[data-expression="happy"] .mouth{height:8px;border-radius:0 0 50% 50%}.portrait[data-expression="surprised"] .eye{height:7%;top:45%}.portrait[data-expression="surprised"] .mouth{width:7%;aspect-ratio:1;border:2px solid #775650;border-radius:50%;top:60%}.portrait[data-expression="troubled"] .mouth{transform:rotate(-10deg);border-radius:50% 50% 0 0}.portrait[data-expression="serious"] .eye.l{transform:rotate(8deg)}.portrait[data-expression="serious"] .eye.r{transform:rotate(-8deg)}.portrait.king .hair{background:#d6d0bd}.portrait.king .head{border-color:#d6d0bd}.portrait.king:before{content:"♛";position:absolute;top:-3%;left:35%;font-size:64px;color:#d4b655;z-index:3}.portrait.shopkeeper .body{background:#66513e;border-color:#9f875c}.portrait.innkeeper .body{background:#6a4b48;border-color:#c29571}.money-pop{position:absolute;z-index:15;top:24%;left:50%;transform:translateX(-50%);font:bold 28px Georgia;color:var(--gold);text-shadow:0 2px 8px #000;opacity:0;pointer-events:none}.money-pop.show{animation:money 1.15s ease-out}.money-pop.positive{color:#b8e3ad}.money-pop.negative{color:#ffd097}.transition{position:absolute;inset:0;background:#0d171b;z-index:20;pointer-events:none;opacity:0}.transition.show{animation:fadeScene .65s ease}.dialogue{position:relative;min-height:200px;padding:24px clamp(24px,5vw,58px) 34px;background:linear-gradient(135deg,#18252bf5,#111c21fa);border-top:2px solid #b9a36c;cursor:pointer;outline:none}.dialogue:focus-visible{box-shadow:inset 0 0 0 3px var(--gold)}.speaker-row{display:flex;align-items:center;gap:15px;margin-bottom:15px}.speaker-row span:first-child{font:18px var(--readable-font);color:var(--gold);letter-spacing:.08em}.speaker-row span:last-child{font-size:10px;color:#87958d}.dialogue p{margin:0;min-height:3.8em;font:clamp(17px,2.3vw,21px)/1.9 var(--readable-font);white-space:pre-wrap}.next-mark{position:absolute;right:34px;bottom:22px;color:var(--gold);font-size:11px;animation:bob 1s infinite}.next-mark.hidden{visibility:hidden}.choices{position:absolute;z-index:30;inset:70px 0 0;background:#0b1419e8;backdrop-filter:blur(5px);padding:clamp(24px,5vw,55px);overflow:auto;align-content:center}.choices:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.choice-card{text-align:left;min-height:105px;padding:17px 20px;border:1px solid #71806f;background:#18252bee;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.choice-card .letter{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font:16px Georgia}.choice-card strong{display:block;font-size:15px;margin-bottom:5px}.choice-card small{color:#aeb6ad;line-height:1.5}.choice-card .cost{font:bold 17px Georgia;color:#f0d185}.choice-card:disabled{opacity:.4;cursor:not-allowed}.choice-card:not(:disabled):hover,.choice-card:focus-visible{background:#273830;transform:translateY(-2px);outline:1px solid var(--gold)}.end-screen h2{font:clamp(32px,6vw,52px) var(--readable-font);margin:5px}.end-day{color:#b9c1b6}.end-day strong{font:34px Georgia;color:var(--gold)}.result-card{width:min(620px,100%);display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #707b68;margin:25px 0;background:#16221e}.result-card div{padding:22px 12px;border-right:1px solid #46534a}.result-card div:last-child{border:0}.result-card span{display:block;color:#aeb5aa;font-size:11px;margin-bottom:8px}.result-card strong{font:20px var(--readable-font);color:#f0d794}.end-comment{min-height:2em;color:#c9cec2;font-family:var(--readable-font)}.end-screen h3{font:22px Georgia;color:var(--gold);letter-spacing:.2em;margin:20px 0 28px}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:.82;transform:none}}@keyframes bob{50%{transform:translateY(4px)}}@keyframes money{0%{opacity:0;transform:translate(-50%,15px) scale(.8)}20%{opacity:1;transform:translate(-50%,0) scale(1)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-38px)}}@keyframes fadeScene{0%,100%{opacity:0}45%,55%{opacity:1}}
@media(max-width:680px){.game{min-height:100svh}.screen{min-height:100svh}.status-bar{height:58px;grid-template-columns:.75fr 1.15fr 1.2fr auto}.status-bar>div{padding:8px 10px}.status-bar strong{font-size:17px}.mini-button{padding:0 10px}.scene{min-height:42svh}.scene-label{top:10px;left:12px}.character-slot{width:55%;height:88%}.character-slot.left{left:-8%}.character-slot.right{right:-8%}.portrait{height:94%}.dialogue{min-height:29svh;padding:18px 20px 30px}.dialogue p{font-size:17px;line-height:1.75}.speaker-row{margin-bottom:10px}.choices{inset:58px 0 0;padding:18px;align-content:start}.choices:not([hidden]){grid-template-columns:1fr}.choice-card{min-height:84px;padding:13px}.result-card{grid-template-columns:1fr}.result-card div{border-right:0;border-bottom:1px solid #46534a;padding:14px}.result-card div:last-child{border-bottom:0}.title-screen,.end-screen{padding:38px 20px}.title-crest{width:74px;height:74px;font-size:38px;margin-bottom:34px}}
@media(max-height:620px) and (orientation:landscape){.status-bar{height:52px}.scene{min-height:42vh}.dialogue{min-height:150px;padding-top:14px}.portrait{height:100%}.choices{inset:52px 0 0}.choices:not([hidden]){grid-template-columns:repeat(2,1fr);align-content:start}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}
.portrait.image{width:100%;height:100%;filter:drop-shadow(0 16px 16px #0009)}.portrait.image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;user-select:none}.portrait.image.king:before{content:none}.portrait.image[data-expression="happy"] img{filter:brightness(1.05) saturate(1.04)}.portrait.image[data-expression="surprised"] img{transform:translateY(-2px)}.portrait.image[data-expression="troubled"] img{filter:saturate(.88)}.portrait.image[data-expression="serious"] img{filter:contrast(1.04)}
.portrait.image{overflow:hidden}.portrait.image img{position:absolute;top:0;left:50%;width:145%;height:auto;max-width:none;object-fit:initial;object-position:initial;transform:translateX(-50%);transform-origin:center top}.portrait.image.flip img{transform:translateX(-50%) scaleX(-1)}.portrait.image[data-expression="surprised"] img{transform:translate(-50%,-2px)}.portrait.image.flip[data-expression="surprised"] img{transform:translate(-50%,-2px) scaleX(-1)}
.status-bar{grid-template-columns:1fr 1.25fr 1.4fr auto auto}.save-screen{flex-direction:column;padding:clamp(24px,5vw,58px);background:linear-gradient(135deg,#111d23,#17271f);min-height:100dvh}.save-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #647260;padding-bottom:20px}.save-header .kicker{margin-bottom:7px}.save-header h2{font:clamp(26px,4vw,38px) var(--readable-font);margin:0}.save-header .mini-button{height:48px;border:1px solid #647260}.save-help{color:#b8b9ad;font-size:13px;margin:22px 0}.save-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.save-slot{min-height:170px;border:1px solid #6c7869;background:#17252a;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;padding:18px;gap:12px}.save-slot.empty{background:#132027;color:#8d978f}.slot-number{grid-column:1/-1;color:var(--gold);font:13px Georgia;letter-spacing:.16em}.slot-main{display:flex;flex-direction:column;gap:8px}.slot-main strong{font:17px var(--readable-font);color:#f2ead4}.slot-main span{font-size:12px;color:#b6bdb3}.save-slot time{font-size:10px;color:#929c93;text-align:right}.slot-action{grid-column:1/-1;padding:11px;border:1px solid #9e956e;background:#d9bd78;color:#172019;font-weight:700;cursor:pointer}.slot-action:disabled{background:#26342f;color:#6f7971;border-color:#47534d;cursor:not-allowed}.slot-action:not(:disabled):hover{filter:brightness(1.12)}
@media(max-width:680px){.status-bar{grid-template-columns:.7fr 1fr 1.1fr auto auto}.mini-button{padding:0 7px}.save-screen{padding:22px 16px}.save-slots{grid-template-columns:1fr}.save-slot{min-height:138px;padding:14px}.save-help{margin:16px 0}}
.scene:before{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.scene:after{background:linear-gradient(90deg,#0b151c22 0 44%,#0b151c08 44% 56%,#0b151c22 56% 100%)!important}.scene[data-background="castle"]:before{background-image:linear-gradient(#17242a16,#17242a20),url("assets/backgrounds/castle.jpg")}.scene[data-background="town"]:before{background-image:linear-gradient(#17242a16,#17242a20),url("assets/backgrounds/town.jpg")}.scene[data-background="shop"]:before{background-image:linear-gradient(#17242a16,#17242a20),url("assets/backgrounds/shop.jpg")}.scene[data-background="inn"]:before{background-image:linear-gradient(#17242a16,#17242a20),url("assets/backgrounds/inn.jpg")}.scene[data-background="morning"]:before{background-image:linear-gradient(#17242a16,#17242a20),url("assets/backgrounds/morning.jpg")}
.status-bar{grid-template-columns:1fr 1.25fr 1.4fr auto auto auto auto}.status-screen{flex-direction:column;padding:clamp(24px,5vw,58px);background:linear-gradient(135deg,#111d23,#17271f);min-height:100dvh}.status-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #657366;margin:28px 0;background:#132027}.status-summary div{padding:20px;border-right:1px solid #46534a}.status-summary div:last-child{border:0}.status-summary span{display:block;font-size:10px;color:#aeb6a9;letter-spacing:.12em}.status-summary strong{display:block;margin-top:7px;font:22px Georgia;color:#efd38b}.inventory-title{font:20px var(--readable-font);color:var(--gold);margin:5px 0 14px}.inventory-item{display:flex;gap:18px;align-items:center;border:1px solid #657366;background:#17252a;padding:20px}.item-icon{width:60px;height:60px;display:grid;place-items:center;border:1px solid #9d8d62;background:#101a1f;font-size:30px;color:var(--gold)}.item-info{flex:1}.item-info>div:first-child{display:flex;justify-content:space-between;gap:20px}.item-info strong{font:19px var(--readable-font)}.item-info span,.item-info p{font-size:12px;color:#b8bfb5}.item-info p{margin:12px 0 7px}.item-info b{color:#f0d794}.durability{height:10px;background:#0b1317;border:1px solid #46534a}.durability i{display:block;height:100%;background:linear-gradient(90deg,#78a878,#d9bd78)}.status-note{font-size:12px;color:#929c93;margin-top:14px}
@media(max-width:680px){.status-bar{grid-template-columns:.55fr .9fr 1fr repeat(4,auto)}.status-bar .mini-button{font-size:0;padding:0 8px}.status-bar #open-status:after{content:"能力";font-size:9px}.status-bar #toggle-bgm:after{content:"音";font-size:9px}.status-bar #open-save:after{content:"記録";font-size:9px}.status-bar #to-title:after{content:"戻る";font-size:9px}.status-screen{padding:22px 16px}.status-summary div{padding:14px 8px}.status-summary strong{font-size:17px}.inventory-item{padding:15px}.item-icon{width:48px;height:48px}.item-info>div:first-child{flex-direction:column;gap:5px}}
.scene[data-background="camp"]:before{background-image:linear-gradient(#17242a22,#17242a35),url("assets/backgrounds/camp.jpg")!important}.scene[data-background="forest"]:before{background-image:linear-gradient(#18352a18,#17242a24),url("assets/backgrounds/forest.jpg")!important}.inventory-list{display:grid;gap:12px}
.music-credit{font-size:10px;color:#8f998f;margin:18px 0 0}.music-credit a{color:#c9b574}.story-link-card{width:min(620px,100%);padding:18px 22px;margin:10px 0 2px;border:1px solid #81785b;background:#101d1bcc}.story-link-card p{margin:0 0 13px;color:#c7cdc2;font:14px/1.7 var(--readable-font)}.story-link-card a{display:block;padding:13px 18px;background:#d9bd78;color:#172019;font-weight:700;text-decoration:none}.story-link-card a:hover{filter:brightness(1.12)}
/* Day update: auto play, backlog, expression poses and memory CG gallery */
.status-bar{grid-template-columns:1fr 1.15fr 1.3fr repeat(7,auto)}
#toggle-auto[aria-pressed="true"]{background:#d9bd78;color:#172019;font-weight:700}
.choice-card em{display:block;margin-top:7px;color:#d9bd78;font-size:10px;font-style:normal;letter-spacing:.05em}
.character-slot[data-pose="happy"].active{transform:translateY(-3px) scale(1.045) rotate(-.5deg)}
.character-slot[data-pose="surprised"].active{animation:poseSurprised .35s ease-out;transform:translateY(-9px) scale(1.045)}
.character-slot[data-pose="troubled"].active{transform:translateY(5px) rotate(1.2deg) scale(1.02);filter:brightness(.92) saturate(.82)}
.character-slot[data-pose="serious"].active{transform:translateY(2px) scale(1.055);filter:brightness(.98) contrast(1.08) saturate(.9)}
.portrait.image[data-expression="happy"] img{transform:translateX(-50%) rotate(-.5deg) scale(1.015)}
.portrait.image.flip[data-expression="happy"] img{transform:translateX(-50%) scaleX(-1) rotate(-.5deg) scale(1.015)}
.portrait.image[data-expression="troubled"] img{transform:translate(-50%,7px) rotate(1deg)}
.portrait.image.flip[data-expression="troubled"] img{transform:translate(-50%,7px) scaleX(-1) rotate(1deg)}
.portrait.image[data-expression="serious"] img{transform:translate(-50%,3px) scale(1.035)}
.portrait.image.flip[data-expression="serious"] img{transform:translate(-50%,3px) scaleX(-1) scale(1.035)}
@keyframes poseSurprised{0%{transform:translateY(8px) scale(.98)}55%{transform:translateY(-14px) scale(1.06)}100%{transform:translateY(-9px) scale(1.045)}}
.collection-screen{flex-direction:column;padding:clamp(24px,5vw,58px);background:linear-gradient(135deg,#111d23,#17271f);min-height:100dvh}
.log-list{margin-top:20px;display:grid;gap:10px;overflow:auto;max-height:calc(100dvh - 150px);padding-right:8px}
.log-list article{display:grid;grid-template-columns:130px 120px 1fr;gap:16px;align-items:start;padding:15px 18px;background:#142229;border:1px solid #4f5e55}
.log-list small{color:#8f9b91}.log-list strong{color:#e2c77e;font-family:var(--readable-font)}.log-list p{margin:0;line-height:1.7;color:#e6e3d7}.empty-message{color:#9da89f;text-align:center;padding:60px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;overflow:auto;padding:4px 4px 30px}
.gallery-card{min-width:0;border:1px solid #657366;background:#142229;color:var(--ink);padding:0 0 14px;text-align:left}.gallery-card.unlocked{cursor:pointer}.gallery-card.unlocked:hover{outline:2px solid var(--gold);transform:translateY(-2px)}.gallery-card strong,.gallery-card small{display:block;padding:0 13px}.gallery-card strong{margin-top:11px;font:14px/1.5 var(--readable-font)}.gallery-card small{margin-top:5px;color:#8f9b91}.locked-visual{aspect-ratio:16/9;display:grid;place-items:center;background:repeating-linear-gradient(135deg,#18272c,#18272c 10px,#132126 10px,#132126 20px);font:42px Georgia;color:#68766c}.locked{text-align:center;opacity:.72}
.cg-modal{position:fixed;z-index:100;inset:0;background:#071014e8;display:grid;place-items:center;padding:22px}.cg-modal[hidden]{display:none}.cg-card{width:min(850px,96vw);max-height:95dvh;overflow:auto;padding:24px;background:#142229;border:1px solid #b9a36c;box-shadow:0 24px 80px #000;text-align:center}.cg-card h2{font:clamp(23px,4vw,36px) var(--readable-font);margin:0 0 16px}.cg-card .primary{padding:13px 30px;border:0;background:#d9bd78;color:#172019;font-weight:700;cursor:pointer}.cg-caption{font:17px/1.7 var(--readable-font);color:#efdfb4}
.cg-visual{width:100%}.cg-scene{position:relative;aspect-ratio:16/9;overflow:hidden;background-size:cover;background-position:center;border:1px solid #746c53}.cg-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07101455,transparent 35% 65%,#07101455)}.cg-scene[data-background="castle"]{background-image:url("assets/backgrounds/castle.jpg")}.cg-scene[data-background="town"]{background-image:url("assets/backgrounds/town.jpg")}.cg-scene[data-background="shop"]{background-image:url("assets/backgrounds/shop.jpg")}.cg-scene[data-background="inn"]{background-image:url("assets/backgrounds/inn.jpg")}.cg-scene[data-background="morning"]{background-image:url("assets/backgrounds/morning.jpg")}.cg-scene[data-background="camp"]{background-image:url("assets/backgrounds/camp.jpg")}.cg-scene[data-background="forest"]{background-image:url("assets/backgrounds/forest.jpg")}.cg-person{position:absolute;z-index:2;bottom:-5%;width:43%;height:105%}.cg-person.left{left:2%}.cg-person.right{right:2%}.cg-person .portrait{width:100%;height:100%}.cg-stamp{position:absolute;z-index:4;right:14px;bottom:12px;padding:5px 9px;border:1px solid #f0d794;color:#f0d794;font:10px Georgia;letter-spacing:.18em;background:#071014aa}
.gallery-card .cg-stamp{font-size:7px;right:6px;bottom:5px}.gallery-card .cg-scene{border:0}.gallery-card .portrait.image img{width:140%}
@media(max-width:900px){.status-bar{grid-template-columns:.55fr .85fr 1fr repeat(7,auto)}.mini-button{padding:0 8px;font-size:9px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.status-bar{grid-template-columns:.5fr .8fr .9fr repeat(7,auto);overflow-x:auto}.status-bar .mini-button{font-size:0;min-width:34px}.status-bar #toggle-auto:after{content:"自動";font-size:9px}.status-bar #open-log:after{content:"履歴";font-size:9px}.status-bar #open-gallery:after{content:"CG";font-size:9px}.log-list article{grid-template-columns:1fr;gap:5px}.gallery-grid{grid-template-columns:1fr}.collection-screen{padding:20px 14px}.cg-card{padding:15px}}

.cg-art{width:100%;background:#071014;border:1px solid #b9a36c;overflow:hidden}.cg-art img{display:block;width:100%;height:auto;object-fit:contain}.gallery-card .cg-art{aspect-ratio:16/9;border:0}.gallery-card .cg-art img{height:100%;object-fit:cover}

/* 読みやすさ：日本語本文・見出しをゴシック体で統一（外部フォント不要）。 */
body{font-weight:500}
.dialogue p{font-family:var(--readable-font);font-size:clamp(19px,2.2vw,23px);font-weight:500;line-height:1.85;letter-spacing:.025em;color:#f5f5ef}
.speaker-row span:first-child{font-family:var(--readable-font);font-size:19px;font-weight:700;letter-spacing:.025em}
.speaker-row span:last-child{font-size:12px;color:#b8c4bc}
.choice-card strong{font-size:17px;line-height:1.6}
.choice-card small{font-size:14px;line-height:1.7;color:#d0d8cf}
.choice-card em{font-size:12px}
.mini-button{font-size:12px;font-weight:600;letter-spacing:.04em}
.log-list p{font-size:18px;line-height:1.85}
.log-list strong,.gallery-card strong{font-weight:600}
.title-screen h1,.end-screen h2,.collection-screen h2,.cg-card h2{font-weight:600}
.title-copy,.cg-caption,.story-link-card p{font-weight:500}
@media(max-width:680px){.dialogue p{font-size:19px;line-height:1.8}.choice-card strong{font-size:16px}.choice-card small{font-size:13px}}

.journey-report{width:min(700px,100%);padding:20px 24px;margin:18px auto 0;border:1px solid #79876d;background:#142229;text-align:left}.journey-report h3{margin:0 0 10px;font-size:20px;color:#e6cc8a}.report-scope{font-size:13px;line-height:1.7;color:#bec9be}.report-values{margin:14px 0}.report-values>div{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:9px 0;border-bottom:1px solid #65736655;line-height:1.7}.report-values dt{color:#c6d0c5}.report-values dd{margin:0;color:#f5f5ef;font-weight:600}.report-time{line-height:1.8;color:#d2dfd0}.end-comment{max-width:700px;line-height:1.9;font-size:18px}.end-screen{overflow-y:auto}@media(max-width:680px){.journey-report{padding:16px}.report-values>div{grid-template-columns:105px 1fr;gap:8px;font-size:14px}}

/* Bust portraits use individual scales to match Fermino’s face size. */
.portrait.image.minister img{width:85%}
.portrait.image.guild-clerk img{width:80%}
.portrait.image.merchant img{width:85%}
.portrait.image.thief img{width:90%}
.portrait.image.traveler img{width:85%}
.portrait.image.young-adventurer img{width:85%}

.choice-save-tools{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:8px}.choice-save-tools p{margin:0;font-size:15px;line-height:1.7;color:#dedacb}.choice-save-button{flex-shrink:0;padding:13px 20px;border:1px solid var(--gold);border-radius:4px;background:#24352e;color:#f6e4b5;font-size:17px;font-weight:700;cursor:pointer}.choice-save-button:hover{background:#36483b}.choice-save-button:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:680px){.choice-save-tools{flex-direction:column;align-items:stretch;gap:10px}.choice-save-tools p{font-size:14px}}

.slot-actions{display:flex;gap:10px;grid-column:1/-1;width:100%}.slot-actions .slot-action{flex:1;min-width:0;margin:0}.slot-save{border-color:var(--gold);color:#172019}.slot-actions .slot-action:focus-visible{outline:3px solid #fff;outline-offset:3px}

#story-link-copy{white-space:pre-line;line-height:1.9}

/* 話者名を本文から見つけやすくする */
#speaker{font-family:var(--readable-font);font-size:22px;font-weight:700;line-height:1.4;letter-spacing:.025em;color:var(--gold)}
@media(max-width:680px){#speaker{font-size:20px}}

.episode-auto{grid-column:1/-1;border-color:var(--gold)}.episode-auto .slot-number{font-family:var(--readable-font);font-weight:700;letter-spacing:.04em}.episode-auto .slot-actions{grid-template-columns:1fr}
