:root{color:#332b2b;background:#f7efe9;font-family:Inter,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}html,body,#root{width:100%;height:100%;overflow:hidden}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{border:0;color:inherit;font:inherit;cursor:pointer}.appShell{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;min-height:640px;overflow:hidden;background-position:center;background-size:cover}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#fffaf5b8,#fffaf53d 48%,#3d2f2d29),linear-gradient(0deg,#271f203d,#ffffff05 48%);pointer-events:none}.topBar{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px clamp(18px,4vw,48px) 12px}.eyebrow{margin:0 0 3px;color:#756a65;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{max-width:760px;margin-bottom:4px;font-size:clamp(1.28rem,2.2vw,2rem);line-height:1.25;letter-spacing:0}.sceneTheme{margin-bottom:0;color:#756a65;font-size:.9rem;font-weight:700}.topActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.topActions button,.modalHead button{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(85,71,68,.22);border-radius:50%;background:#fffaf6d1;box-shadow:0 10px 26px #4436351a;font-size:.72rem;font-weight:800;transition:background .16s ease,border-color .16s ease,transform .16s ease}.topActions button{line-height:1;white-space:nowrap}.topActions button:hover,.topActions button:focus-visible,.modalHead button:hover,.modalHead button:focus-visible{border-color:#8f626952;background:#e9d1d0d1;outline:none;transform:translateY(-1px)}.stage{position:relative;z-index:1;min-height:0;overflow:hidden;padding:0 clamp(18px,4vw,48px)}.calendar{width:min(220px,48vw);padding:12px 15px;border-left:4px solid #cc8f91;background:#fffaf6b3;box-shadow:0 16px 36px #4838361f}.calendar strong,.calendar span{display:block}.calendar span{margin-top:4px;color:#776c67;font-size:.86rem}.standee{position:absolute;right:clamp(12px,9vw,150px);bottom:-42px;width:min(37vw,410px);min-width:250px;max-height:min(72vh,620px);object-fit:contain;filter:brightness(1) saturate(1) drop-shadow(0 28px 44px rgba(54,38,38,.34));transform-origin:50% 100%;transition:filter .18s ease,transform .18s ease,opacity .18s ease}.standee[data-mood=patient],.standee[data-mood=supportive],.standee[data-mood=night],.standee[data-mood=ending]{filter:brightness(1.06) saturate(1.04) drop-shadow(0 30px 48px rgba(54,38,38,.36))}.standee[data-mood=inviting]{filter:brightness(1.04) saturate(1.08) drop-shadow(0 32px 50px rgba(54,38,38,.38));transform:translateY(-4px) scale(1.018)}.standee[data-mood=overreach]{opacity:.94;filter:brightness(.92) saturate(.82) drop-shadow(0 24px 38px rgba(54,38,38,.34));transform:translate(8px) scale(.99)}.quietStatus{position:absolute;left:clamp(18px,4vw,48px);bottom:18px;width:min(330px,40vw);padding:13px 14px;background:#fffaf6a3;border:1px solid rgba(96,76,72,.16);box-shadow:0 16px 36px #4838361f}.quietStatus p{margin-bottom:9px;font-size:.92rem;line-height:1.55;font-weight:700}.statusBars{display:grid;gap:8px}.statusRow{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center;font-size:.78rem;color:#645b56}.meter{height:6px;overflow:hidden;border-radius:999px;background:#6d605b1f}.meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#91b9a9,#cf8f96)}.meter i[data-pressure=true]{background:linear-gradient(90deg,#d4c7bd,#9f6d70)}.dialoguePanel{position:relative;z-index:3;width:min(980px,calc(100vw - 36px));max-height:min(360px,44dvh);min-height:172px;margin:0 auto 18px;padding:18px 20px;border:1px solid rgba(77,62,59,.22);border-radius:8px;background:#fffaf7ed;box-shadow:0 24px 60px #34262738;overflow:hidden}.speakerLine{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}.speakerLine span{color:#8f6269;font-size:1.05rem;font-weight:800}.speakerLine small{padding:3px 9px;border:1px solid rgba(143,98,105,.2);border-radius:999px;background:#e9d1d07a;color:#8f6269;font-size:.72rem;font-weight:800}.dialogueText{min-height:50px;margin-bottom:14px;font-size:1.08rem;line-height:1.75}.advanceButton,.nextButton,.choices button,.menuGrid button{border:1px solid rgba(87,70,67,.18);border-radius:8px;background:#fff8f4;box-shadow:0 8px 22px #44353414}.advanceButton,.nextButton{min-height:44px;padding:10px 14px;font-weight:800}.nextButton{margin-left:10px;background:#b9d0c4}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:178px;overflow:auto;padding-right:2px}.choices button{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:center;min-height:48px;padding:10px 12px;border-left-width:4px;text-align:left;line-height:1.45;transition:background .16s ease,transform .16s ease,border-color .16s ease}.choices button:hover,.choices button:focus-visible{background:#fffdf9;outline:none;transform:translateY(-1px)}.choices button[data-tone=patient]{border-left-color:#91b9a9}.choices button[data-tone=supportive]{border-left-color:#b9d0c4}.choices button[data-tone=inviting]{border-left-color:#cf8f96}.choices button[data-tone=overreach]{border-left-color:#9f6d70}.choices span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e9d1d0;font-size:.82rem;font-weight:800}.modalBackdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#2a222261}.modal{width:min(760px,100%);max-height:min(680px,calc(100vh - 36px));overflow:auto;padding:22px;border-radius:8px;background:#fffaf6;box-shadow:0 26px 70px #20181847}.modalHead{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.modalHead h2{margin-bottom:0}.menuGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.menuGrid button{min-height:54px;padding:12px;font-weight:800}.statusModal{display:grid;gap:18px}.logList{display:grid;gap:14px}.logList article{padding:14px;border-left:4px solid #b9d0c4;background:#f7efea}.logList h3{margin-bottom:8px;font-size:.98rem}.logList p{margin-bottom:6px;line-height:1.65}.choiceLog{color:#8f6269;font-weight:800}.toast{position:fixed;z-index:20;right:18px;bottom:18px;padding:12px 16px;border-radius:8px;background:#332b2b;color:#fffaf6;box-shadow:0 18px 40px #281e1e40}@media(max-width:760px){.appShell{background-position:56% center}.topBar{flex-direction:column;gap:10px;padding:12px 18px 8px}h1{font-size:1.12rem;line-height:1.25}.sceneTheme{font-size:.78rem}.topActions{gap:6px;justify-content:flex-start}.topActions button{width:36px;height:36px;font-size:.58rem}.topActions button[aria-label=メニュー]{width:42px;font-size:.52rem}.stage{min-height:0;padding:0 18px}.calendar{width:152px;padding:10px 13px}.standee{right:-18px;bottom:118px;width:min(58vw,240px);min-width:178px;max-height:52dvh}.quietStatus{left:18px;bottom:16px;width:min(86vw,300px);padding:11px 12px}.quietStatus p{margin-bottom:7px;font-size:.84rem}.statusBars{gap:6px}.statusRow{grid-template-columns:66px 1fr;font-size:.72rem}.dialoguePanel{width:calc(100vw - 36px);max-height:42dvh;min-height:178px;margin-bottom:12px;padding:14px 16px}.choices,.menuGrid{grid-template-columns:1fr}.choices{max-height:176px;gap:8px}.dialogueText{min-height:0;margin-bottom:12px;font-size:1rem;line-height:1.65}.nextButton{display:block;width:100%;margin:10px 0 0}.advanceButton{width:100%}}
