:root{color-scheme:light;--ink:#183d3c;--muted:#4c6260;--cream:#fffaf0;--teal:#17645e;--gold:#b58b3d;--line:#c4d3c9;font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-size:16px;background:var(--cream);color:var(--ink)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;line-height:1.75}button,a,textarea{-webkit-tap-highlight-color:transparent}button{font:inherit;color:var(--ink);background:#fffdf6;border:1px solid var(--line);border-radius:12px;min-height:48px;padding:.65rem 1rem;cursor:pointer;touch-action:manipulation}button:hover{background:#eaf2e8}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #b27119;outline-offset:4px}a{color:var(--teal)}.primary{background:var(--teal);border-color:var(--teal);color:white;font-weight:700}.primary:hover{background:#104b47}.masthead{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:1rem max(1.2rem,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:#fffdf7}.masthead a{text-decoration:none;font-weight:750;font-size:clamp(.85rem,1.3vw,1rem)}.phase{font-size:.75rem;color:var(--muted);white-space:nowrap}main{max-width:1400px;margin:auto;padding:clamp(1rem,3vw,2.5rem)}figure{margin:0}picture{display:block}img{display:block;width:100%;height:100%;object-fit:cover}h1{font-size:clamp(1.85rem,4.3vw,3.8rem);line-height:1.25;letter-spacing:.015em;margin:.4rem 0 1.2rem}p{margin:.6rem 0 1rem;overflow-wrap:anywhere}.home{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:clamp(1.5rem,4vw,4rem);min-height:65vh}.hero{border-radius:24px;overflow:hidden;box-shadow:0 16px 40px #294f3c20}.hero picture{aspect-ratio:1.1}.hero img{object-position:40% 50%}.home-copy{padding:1rem 0}.eyebrow{color:var(--teal);font-size:.9rem;font-weight:700;letter-spacing:.07em}.home-copy>p{max-width:36rem}#start{width:100%;display:grid;grid-template-columns:1fr auto;text-align:left;padding:1rem 1.4rem;gap:.2rem 1rem;margin:1.8rem 0 .8rem}#start span:first-child{font-size:.8rem;font-weight:400}#start strong{grid-column:1;font-size:clamp(1rem,1.4vw,1.2rem)}#start span:last-child{grid-column:2;grid-row:1/3;align-self:center;font-size:1.7rem}.small,figcaption{font-size:.8rem;color:var(--muted);line-height:1.65}.play{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:start}.scene{position:sticky;top:1rem}.scene picture{aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:#193a3d}.scene img{object-position:50% 50%}.conversation{min-width:0}.progress-row{display:flex;justify-content:space-between;gap:.6rem;font-size:.85rem}progress{width:100%;height:6px;accent-color:var(--teal);margin:.4rem 0 1rem}.card{border:1px solid var(--line);border-radius:18px;padding:clamp(1.2rem,3vw,2rem);background:#fffefa;box-shadow:0 7px 24px #253f2e08;overflow-wrap:anywhere}#card{min-height:18rem}#lines{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.95}.line-label{display:block;color:var(--teal);font-size:.82em;font-weight:750;margin:0 0 .5rem}.line{margin-bottom:1.2rem}.line:last-child{margin-bottom:0}.navigation{display:grid;grid-template-columns:1fr 2fr;gap:.7rem;margin:1rem 0}.controls{display:flex;flex-wrap:wrap;gap:.5rem}.controls button{font-size:.8rem;padding:.6rem .8rem}.link-button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;margin-top:.5rem}.result{max-width:900px;margin:auto}.result-heading{text-align:center}.result-heading h1{font-size:clamp(1.8rem,4vw,3rem)}.result-image{margin:1.4rem 0}.result-image picture{aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#193a3d}.result-image img{object-fit:contain}.result-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.5rem 0}.result-actions button{flex:1 1 12rem}.related{margin-top:3rem;padding:2rem 0;border-top:1px solid var(--line)}textarea{font:inherit;font-size:16px;width:100%;min-height:9rem;border:1px solid var(--line);border-radius:10px;padding:1rem;background:white;color:var(--ink)}.log{max-width:850px;margin:auto}.log h1{font-size:1.5rem}.log h2{margin-top:2.5rem;font-size:1.1rem}.log .line{padding:1rem;border-bottom:1px solid var(--line)}#closeLog{position:sticky;top:.5rem;z-index:2;box-shadow:0 3px 10px #0002}.log .line-label{font-size:.85rem}footer{max-width:1000px;margin:2rem auto;padding:1rem max(1.2rem,env(safe-area-inset-right)) max(1.2rem,env(safe-area-inset-bottom));font-size:.75rem;color:var(--muted);border-top:1px solid var(--line)}figcaption:empty{display:none}@media(max-width:760px){.masthead{flex-wrap:wrap;gap:.2rem}main{padding:1rem}.home{grid-template-columns:1fr;gap:.8rem;min-height:0}.hero picture{aspect-ratio:16/10}.hero img{object-position:50% 72%}.home-copy{padding:.5rem .3rem}h1{font-size:2.25rem}#start{margin:1.2rem 0 .7rem}.play{grid-template-columns:1fr;gap:1rem}.scene{position:relative;top:auto}.scene picture{aspect-ratio:16/8}.scene img{object-position:50% 57%}#card{min-height:0}.card{padding:1.2rem}.result-actions{gap:.6rem}.result-actions button{flex-basis:100%}.phase{font-size:.7rem}}@media(orientation:portrait) and (max-width:760px){.hero picture{aspect-ratio:1.65}.scene picture{aspect-ratio:1.9}}@media(orientation:landscape) and (max-height:500px){.masthead{padding:.5rem 1rem}.home{grid-template-columns:1fr 1.2fr;gap:1rem}.hero picture{aspect-ratio:1.3}.play{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1rem}.scene{position:sticky;top:.5rem}.scene picture{aspect-ratio:1.15}.card{padding:1rem}#card{min-height:0}.home-copy{padding:0}h1{font-size:2rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media(min-width:1500px){.hero picture{aspect-ratio:1.2}}

/* Keep a future approved result ad in normal document flow, after all actions. */
#advertising:not([hidden]){position:static;clear:both;margin-block-start:4rem;padding-block:2rem;isolation:isolate}

/* Release: unobtrusive accessible language switcher in the existing masthead. */
.header-tools{display:flex;gap:.65rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.language-select{display:inline-flex;gap:.35rem;align-items:center;flex-shrink:0}
.language-select select{min-height:44px;max-width:min(44vw,12rem);font:inherit;font-size:.87rem;color:var(--ink);border:1px solid var(--line);border-radius:10px;background:#fffdf6;padding:.4rem .5rem;cursor:pointer}
.language-select select:focus-visible{outline:3px solid #b27119;outline-offset:3px}
@media(max-width:760px){.header-tools{width:100%;justify-content:space-between}.phase{white-space:normal}.language-select select{max-width:55vw}}
