:root{color-scheme:dark;--ivory:#eee7dc;--gold:#c8b28c;--muted:#a5a8b3;--line:#c8b28c38;--wine:#6b354c}*{box-sizing:border-box}body{margin:0;background:#0c111c;color:var(--ivory);font-family:'Hiragino Mincho ProN','Yu Mincho',serif;min-height:100svh}.scenery,.veil{position:fixed;inset:0;z-index:-2}.scenery{background:#131c2d url('prince.png') center 30%/cover no-repeat;animation:appear 2s ease}.veil{z-index:-1;background:linear-gradient(90deg,rgba(6,11,20,.91),rgba(7,12,21,.7) 35%,rgba(7,12,21,.03) 80%),linear-gradient(0deg,#080c16 0%,transparent 45%,#080c1640)}header,footer{display:flex;align-items:center;justify-content:space-between;padding:28px 5vw;gap:20px}header{height:88px;border-bottom:1px solid #ffffff0d;font-family:serif}.brand{text-decoration:none;color:var(--gold);font-size:27px}.brand span{font-size:12px;letter-spacing:.28em;vertical-align:middle;margin-left:12px}.chapter-label{font-size:10px;letter-spacing:.3em;color:#d1c5b2}button,input{font:inherit}button{cursor:pointer;color:var(--ivory);transition:background .2s,border-color .2s,transform .2s}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{opacity:.4;cursor:default}button:hover:not(:disabled){border-color:var(--gold);background-color:#c8b28c18}.quiet{border:0;background:transparent;font-family:sans-serif;font-size:12px;letter-spacing:.1em;color:#c8c6cb;padding:10px}.eyebrow{font-family:serif;font-size:11px;letter-spacing:.32em;color:var(--gold);margin:0 0 26px}.hero{padding:8vh 8vw 4vh;max-width:760px;animation:appear 1s ease}h1{font-size:clamp(36px,4.5vw,66px);line-height:1.65;letter-spacing:.14em;font-weight:400;margin:0 0 23px;text-shadow:0 3px 20px #000}h1 span{display:block;margin-left:1em}.tagline{color:#d8d1cd;line-height:2.4;letter-spacing:.15em;font-size:14px}.rule{width:55px;height:1px;background:var(--gold);margin:28px 0}.primary,.secondary{display:block;width:280px;max-width:100%;border:1px solid var(--gold);background:#1b202ac9;padding:17px 24px;letter-spacing:.16em;font-size:14px;text-align:center;margin-top:15px}.primary{background:linear-gradient(100deg,#8b6d49,#b29a73);border-color:#d0bb94;color:#11151e;box-shadow:0 4px 35px #0004}.primary:hover:not(:disabled){background:#c8b28c;color:#11151e;transform:translateY(-1px)}.secondary{border-color:var(--line);background:#0b101b77;color:#d6c5ab}.meta{font-family:sans-serif;font-size:11px;color:#aaaab5;margin-top:26px;letter-spacing:.08em;line-height:1.9}footer{padding:22px 5vw;font-size:10px;letter-spacing:.14em;color:#9797a8;position:relative;margin-top:20px}.dust{position:fixed;right:13%;top:30%;color:#f8e4ba;opacity:.4;animation:float 8s infinite;z-index:-1}.setup{max-width:680px;margin:4vh 0 5vh 8vw;padding-right:28px;animation:appear .6s}.setup h2{font-size:30px;font-weight:400;letter-spacing:.13em}.intro{color:#bebbc3;font-size:13px;line-height:2}.styles{display:grid;gap:13px;margin:28px 0}.style-card{position:relative;text-align:left;padding:22px 28px;background:#0b111ee8;border:1px solid var(--line)}.style-card[aria-pressed=true]{border-color:var(--gold);background:linear-gradient(90deg,#34303bcc,#111824de)}.style-card strong{font-size:17px;font-weight:400;letter-spacing:.12em;display:block;margin-bottom:10px}.style-card small{font-family:sans-serif;color:#aaa8b4;line-height:1.8;display:block}.style-card b{position:absolute;right:18px;top:22px;color:var(--gold);font-weight:400}.name-field{display:grid;gap:10px;font-size:12px;color:#bcb4ab;letter-spacing:.1em}input{padding:14px 18px;border:1px solid var(--line);border-radius:0;background:#111522;color:var(--ivory);width:100%;font-size:16px}input:disabled{opacity:.55}.play{max-width:1050px;margin:0 auto;padding:0 26px;min-height:calc(100svh - 170px);display:flex;flex-direction:column;justify-content:flex-end}.scene-top{display:flex;justify-content:space-between;gap:20px;margin-top:15px;font-size:11px;color:#c5b08b;letter-spacing:.15em}.scene-space{min-height:22vh;flex:1}.textbox{position:relative;padding:28px 36px 22px;border:1px solid var(--line);background:linear-gradient(110deg,#0b101cee,#141a28eb);box-shadow:0 20px 80px #0005;backdrop-filter:blur(12px)}.speaker{font-size:13px;color:var(--gold);letter-spacing:.2em;margin:0 0 17px}.prose{font-size:clamp(15px,1.5vw,18px);line-height:2.1;letter-spacing:.07em;min-height:110px;white-space:pre-line}.next{margin-left:auto;border:0;background:none;padding:14px 0 0;color:var(--gold);display:block;letter-spacing:.12em;font-size:12px}.toolbar{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:8px}.choices{display:grid;gap:10px;margin:16px 0}.choice{width:100%;text-align:left;padding:17px 23px;background:#111624eb;border:1px solid #c8b28c65;line-height:1.7;font-size:14px}.choice span{margin-right:20px;color:var(--gold);font-size:11px}.ending{max-width:650px;margin:8vh 0 5vh 8vw;padding-right:25px}.ending h2{font-size:clamp(30px,4vw,46px);font-weight:400;letter-spacing:.13em;line-height:1.6}.ending p{line-height:2.3;font-size:14px;color:#d0c9c8;white-space:pre-line}.seal{color:var(--gold);font-size:40px;margin:22px 0}dialog{border:1px solid var(--line);background:#101623;color:var(--ivory);width:min(600px,90vw);max-height:80svh;padding:25px 30px;box-shadow:0 20px 150px #000}dialog::backdrop{background:#050710c9;backdrop-filter:blur(7px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px}.dialog-head h2{font-weight:400;font-size:20px;letter-spacing:.13em}.log-entry{border-bottom:1px solid #ffffff10;padding:14px 0;font-size:13px;line-height:2;white-space:pre-line}.log-entry small{color:var(--gold)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#282534;color:#eee2cc;padding:12px 25px;border:1px solid var(--line);font-family:sans-serif;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}#toast.show{opacity:1}.hidden{display:none!important}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{transform:translate(0,0);opacity:.2}50%{transform:translate(-20px,-30px);opacity:.6}}@media(min-width:900px){.hero{min-height:calc(100svh - 175px)}}@media(max-width:650px){header{padding:18px 6vw;height:72px}.chapter-label{display:none}.scenery{background-position:78% 15%}.veil{background:linear-gradient(90deg,#070b16d9,#070b1660),linear-gradient(0deg,#080c16 5%,#080c1633 100%)}.hero{padding:9vh 7vw 3vh;min-height:calc(100svh - 163px)}h1{font-size:37px;letter-spacing:.08em}.tagline{font-size:12px}.setup,.ending{margin-left:7vw;margin-top:4vh}.setup h2{font-size:25px}.style-card{padding:20px}.play{padding:0 16px;min-height:calc(100svh - 155px)}.textbox{padding:23px 21px 15px}.scene-space{min-height:23vh}.prose{min-height:150px;font-size:15px;line-height:2}.scene-top{font-size:9px}.toolbar{gap:3px}.quiet{font-size:11px}.choice{padding:13px 17px;font-size:13px}.choice span{margin-right:10px}footer{font-size:9px;padding:18px 6vw}.ending{background:#0a101bc4;padding:20px;margin:5vh 6vw}.ending p{font-size:13px}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.yatai-return{color:var(--gold);text-decoration:none}.yatai-return:hover{text-decoration:underline;text-underline-offset:4px}footer{flex-wrap:wrap}footer .yatai-return{font-size:11px;padding:8px 0}a.secondary.yatai-return:hover{border-color:var(--gold);background:#c8b28c18;text-decoration:none}

.work-info-link{display:inline-block;color:var(--gold);font-size:12px;letter-spacing:.05em;margin-top:24px;padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none}.work-info-link span{margin-left:12px}.work-info-link:hover{border-color:var(--gold)}.work-info-menu{color:var(--gold);text-decoration:none}.work-info-menu:hover{background:#c8b28c18;border-color:var(--gold)}

/* タイトル画面の作品案内：ひと目でわかる表と、押せるとわかる紹介ボタン */
.facts{margin:30px 0 0;max-width:460px;display:grid;gap:0;border-top:1px solid var(--line);font-family:sans-serif}
.facts>div{display:grid;grid-template-columns:7em 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.facts dt{color:var(--gold);font-size:12px;letter-spacing:.06em}
.facts dd{margin:0;color:#dcd6d0;font-size:13px;line-height:1.7}
.work-info-link{position:relative;display:grid;gap:4px;width:460px;max-width:100%;box-sizing:border-box;margin-top:18px;padding:15px 48px 15px 20px;border:1px solid var(--gold);border-bottom:1px solid var(--gold);background:#0b101bcc;color:var(--ivory);text-decoration:none}
.work-info-link:hover{background:#c8b28c18}
.work-info-link .wi-main{margin:0;font-size:15px;letter-spacing:.1em;color:var(--gold)}
.work-info-link .wi-sub{font-family:sans-serif;font-size:11px;color:#bdb8c0;margin:0}
.work-info-link .wi-arrow{position:absolute;right:20px;top:50%;transform:translateY(-50%);margin:0;color:var(--gold);font-size:18px}
@media(max-width:650px){.facts>div{grid-template-columns:6em 1fr;gap:10px;padding:10px 0}.facts dd{font-size:12px}.work-info-link{padding:14px 44px 14px 16px}.work-info-link .wi-main{font-size:14px}}
