:root { color-scheme:dark; --ink:#f4efe4; --muted:#c2bdae; --bg:#171917; --line:#55594e; --accent:#e2bd76; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--bg); font-family:"Hiragino Kaku Gothic ProN",Meiryo,sans-serif; line-height:1.85; }
[hidden] { display:none !important; }
a { color:inherit; text-underline-offset:.3em; }
button { font:inherit; color:inherit; cursor:pointer; }
a,button,summary { touch-action:manipulation; }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.skip { position:absolute; top:-100px; left:16px; z-index:5; padding:8px 16px; background:var(--bg); }
.skip:focus { top:8px; }
header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; padding:20px 5vw; border-bottom:1px solid var(--line); }
header a { font-family:"Yu Mincho",serif; text-decoration:none; font-size:20px; }
header span { align-self:center; font-size:12px; color:var(--muted); }
main { max-width:1280px; margin:auto; padding:0 40px; }
h1,h2 { font-family:"Yu Mincho",serif; font-weight:400; }
h1 { margin:8px 0 16px; font-size:clamp(34px,4vw,56px); line-height:1.4; letter-spacing:.05em; }
h2 { font-size:30px; line-height:1.6; margin:8px 0 24px; }
.eyebrow { font-size:12px; color:var(--accent); letter-spacing:.1em; }
.opening { padding:40px 0 36px; max-width:960px; margin:auto; }
.intro { margin:0 0 26px; }
#watch { font-family:inherit; font-size:14px; margin:0 0 12px; scroll-margin-top:20px; }
#watch span { color:var(--muted); }
.scene-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 16px; }
.scene-choices button { min-height:64px; padding:12px 16px; text-align:left; border:1px solid var(--line); background:none; }
.scene-choices button[aria-pressed="true"] { border:2px solid var(--accent); padding:11px 15px; background:#2d3028; }
.scene-choices strong { display:block; font-weight:500; font-size:16px; }
.scene-choices span { display:block; color:var(--muted); font-size:11px; }
.v3-video-frame { aspect-ratio:16/9; min-height:200px; background:#080908; border:1px solid var(--line); display:grid; }
.v3-video-iframe { display:block; width:100%; height:100%; min-height:200px; border:0; }
.invitation { align-self:center; text-align:center; padding:20px; }
.invitation p { font-family:Georgia,serif; font-size:clamp(34px,7vw,80px); letter-spacing:.18em; margin:0; line-height:1.3; }
.invitation > span { display:block; font-size:12px; color:var(--muted); margin:6px 0 22px; }
.v3-video-load { min-height:48px; padding:12px 20px; border:1px solid var(--accent); background:var(--accent); color:#191b17; font-size:15px; }
.player-tools { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 24px; margin-top:10px; font-size:13px; }
.player-tools a,.player-tools button { padding:10px 0; min-height:44px; }
#stop-video { border:0; border-bottom:1px solid; background:none; }
#video-status,.small,.privacy { font-size:12px; color:var(--muted); margin:8px 0; }
#video-status:empty { display:none; }
.privacy { max-width:65em; }
.questions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:60px; border-top:1px solid var(--line); padding:48px 0; }
.section-lead > p:last-child { font-size:13px; color:var(--muted); }
details { border-bottom:1px solid var(--line); }
summary { cursor:pointer; padding:20px 0; font-size:18px; }
summary::marker { color:var(--accent); }
.answer { padding:0 0 24px; font-size:15px; }
.source { font-size:12px; color:var(--muted); }
.prompt { color:var(--accent); margin-top:24px; }
.origins { list-style:none; padding:0; margin:24px 0; }
.origins li { display:grid; grid-template-columns:3.6em minmax(0,1fr); gap:16px; padding:20px 0; border-top:1px solid var(--line); }
.origins time { font-family:Georgia,serif; font-size:22px; color:var(--accent); }
.origins strong { font-weight:500; }
.origins p { margin:8px 0; }
.origins a { font-size:12px; color:var(--muted); }
.answer > a { display:inline-block; padding:10px 0; min-height:44px; }
.reality { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; border-top:1px solid var(--line); padding:48px 0; }
figure { margin:0; }
figure img { display:block; width:100%; height:auto; }
figcaption { color:var(--muted); font-size:11px; margin-top:12px; }
.reality p { font-size:14px; }
.reality .source { font-size:12px; }
.reality nav { display:grid; margin-top:24px; }
.reality nav a { display:block; padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; }
footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--line); padding:24px 0; font-size:12px; color:var(--muted); }
footer a { padding:10px 0; }
.mobile-break { display:none; }
@media(max-width:760px) {
  header { padding:16px 20px; }
  header a { font-size:17px; }
  header span { font-size:10px; }
  main { padding:0 20px; }
  .opening { padding-top:24px; }
  .mobile-break { display:initial; }
  .intro { font-size:14px; margin-bottom:22px; }
  .questions,.reality { grid-template-columns:1fr; gap:24px; padding:32px 0; }
  h2 { font-size:26px; }
  .section-lead h2 br { display:none; }
  summary { font-size:16px; }
  .answer { font-size:14px; }
  .invitation { padding:16px 10px; }
  .invitation > span { margin-bottom:14px; }
  .v3-video-load { padding:12px; font-size:13px; }
  .scene-choices { gap:8px; }
  .scene-choices button { padding:10px; }
  .scene-choices button[aria-pressed="true"] { padding:9px; }
  .scene-choices strong { font-size:14px; }
  .invitation p { font-size:clamp(28px,7vw,44px); letter-spacing:.08em; }
}

.intro{font-size:16px}.small,.privacy,.source,.scene-choices span{font-size:14px}

header .choose-work{font-family:inherit;font-size:14px;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
.play-guide{font-size:14px;line-height:1.7;margin:12px 0;color:var(--muted)}
