*{box-sizing:border-box;margin:0;padding:0}:root{--purple:#4A1A63;--purple-soft:#6B3A85;--amber:#FFC42E;--orange:#FF7A2F;--orange-dark:#D95B17;--teal:#2FAFAF;--cream:#FFF7EA;--paper:#FFFCF5;--ink:#331445;--muted:#715E78;--white:#fff;--line:#E4CFB2;--green:#358A58;--font:ui-rounded,"SF Pro Rounded",Nunito,Quicksand,"Hiragino Maru Gothic ProN","Trebuchet MS",system-ui,sans-serif}html,body{min-height:100%;font-family:var(--font);color:var(--ink);background:var(--cream)}body{min-height:100vh;min-height:100dvh;overflow:hidden;background-image:linear-gradient(135deg,rgba(255,196,46,.12) 25%,transparent 25%),linear-gradient(315deg,rgba(47,175,175,.09) 25%,transparent 25%);background-position:0 0,18px 18px;background-size:36px 36px}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid var(--amber);outline-offset:3px}#app,.screen{min-height:100vh;min-height:100dvh}.screen{display:none}.screen.active{display:flex}.hidden{display:none!important}.menu-screen{flex-direction:column;align-items:center;overflow-y:auto;padding:clamp(14px,4vh,32px) 16px}.brand-mark{width:clamp(82px,22vw,118px);height:auto}h1{margin-top:6px;font-size:clamp(30px,8vw,46px);text-align:center}.tagline{width:min(470px,94vw);margin:10px 0 24px;color:var(--muted);font-size:clamp(16px,4vw,20px);line-height:1.5;text-align:center}.menu-buttons{display:grid;gap:14px;width:min(340px,92vw)}.big-btn{min-height:56px;border:0;border-radius:8px;padding:10px 18px;color:var(--white);background:var(--orange);box-shadow:0 5px 0 var(--orange-dark);font-size:18px;font-weight:800;cursor:pointer}.big-btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--orange-dark)}.big-btn.ghost{color:var(--purple);background:var(--white);box-shadow:0 5px 0 var(--line)}.reset-btn{background:var(--purple-soft);box-shadow:0 5px 0 var(--purple)}.portal-link{display:inline-flex;align-items:center;min-height:44px;margin-top:24px;padding:10px 20px;border-radius:999px;color:var(--purple);background:var(--white);box-shadow:0 3px 0 var(--line);font-weight:800;text-decoration:none}.build{margin-top:13px;color:var(--muted);font-size:12px}.menu-header{display:flex;align-items:center;gap:14px;width:min(680px,100%);margin-bottom:22px}.menu-header h2{font-size:clamp(23px,6vw,32px)}.subtle{margin-top:3px;color:var(--muted)}.icon-btn{display:grid;flex:0 0 48px;place-items:center;width:48px;height:48px;border:2px solid var(--line);border-radius:8px;color:var(--purple);background:var(--white);font-size:22px;cursor:pointer}.stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(680px,100%)}.stage-card{display:grid;grid-template-columns:58px 1fr 32px;align-items:center;min-height:92px;border:2px solid var(--line);border-radius:8px;padding:10px;color:var(--ink);background:var(--paper);box-shadow:0 4px 0 var(--line);text-align:left;cursor:pointer}.stage-card:not(:disabled):active{transform:translateY(2px);box-shadow:0 2px 0 var(--line)}.stage-card:disabled{opacity:.52}.stage-icon{font-size:34px;text-align:center}.stage-copy{display:grid;gap:4px}.stage-copy strong{font-size:17px}.stage-copy span{color:var(--muted);font-size:13px;line-height:1.25}.stage-state{font-size:21px;text-align:center}#screen-game{flex-direction:column;overflow-y:auto}.game-header{display:flex;align-items:center;gap:9px;min-height:68px;padding:9px 12px;border-bottom:2px solid var(--line);background:var(--paper)}.round-meta{display:grid;flex:1;gap:2px;min-width:0}.round-meta strong{overflow:hidden;font-size:clamp(15px,4vw,19px);text-overflow:ellipsis;white-space:nowrap}.round-meta span{color:var(--muted);font-size:13px}.play-area{display:flex;flex:1;flex-direction:column;align-items:center;width:min(760px,100%);margin:auto;padding:clamp(10px,2.5vh,22px) 10px}.scene-card{width:min(620px,100%);border:3px solid var(--purple);border-radius:8px;padding:14px;background:var(--paper);box-shadow:0 6px 0 rgba(74,26,99,.2);transition:border-color .25s,box-shadow .25s}.scene-card.continued{border-color:var(--green);box-shadow:0 6px 0 #A8D4B8}.scene-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.place{border-radius:999px;padding:6px 10px;color:var(--white);background:var(--purple);font-size:12px;font-weight:900}.people{font-size:clamp(34px,10vw,58px);line-height:1}.scene-before{margin-top:10px;font-size:clamp(16px,4vw,20px);font-weight:800;line-height:1.4}.continuation{display:grid;gap:7px;margin-top:12px;border-top:2px dashed var(--line);padding-top:11px}.reply{font-size:clamp(17px,4.5vw,21px);font-weight:900}.after{color:var(--green);font-size:clamp(15px,4vw,18px);font-weight:800;line-height:1.35}.tradition{border-left:5px solid var(--amber);padding:7px 9px;background:#FFF5CD;font-size:13px;font-weight:700;line-height:1.35}.question{width:min(620px,100%);margin:15px 0 10px;font-size:clamp(18px,5vw,24px);font-weight:900;text-align:center}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(620px,100%)}.choice-btn{min-height:62px;border:3px solid var(--teal);border-radius:8px;padding:8px;color:var(--ink);background:var(--white);box-shadow:0 4px 0 #A8DADA;font-size:clamp(14px,3.5vw,18px);font-weight:900;cursor:pointer}.choice-btn:not(:disabled):active{transform:translateY(2px);box-shadow:0 2px 0 #A8DADA}.choice-btn:disabled{opacity:.55}.choice-btn.chosen{border-color:var(--green);background:#EAF8EF;box-shadow:0 4px 0 #A8D4B8;opacity:1}.choice-btn.try{animation:wobble .35s ease}.answer-area{display:grid;justify-items:center;gap:10px;width:min(620px,100%);min-height:95px;margin-top:10px}.feedback{min-height:40px;color:var(--purple);font-size:clamp(15px,4vw,18px);font-weight:800;line-height:1.35;text-align:center}.answer-area .big-btn{width:min(280px,100%)}.overlay{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:16px;background:rgba(40,14,52,.72)}.dialog-card{width:min(430px,100%);max-height:90vh;overflow-y:auto;border:3px solid var(--amber);border-radius:8px;padding:24px;color:var(--ink);background:var(--paper);box-shadow:0 10px 0 rgba(0,0,0,.18);text-align:center}.dialog-card h2{font-size:29px}.dialog-card p{margin:12px 0 20px;color:var(--muted);font-size:17px;line-height:1.45}.celebration{font-size:52px}.card-buttons{display:grid;gap:13px}.setting-row{display:flex;align-items:center;gap:12px;min-height:54px;margin:10px 0;padding:8px;border-bottom:2px solid var(--line);font-size:18px;font-weight:800;text-align:left}.setting-row input{width:26px;height:26px;accent-color:var(--teal)}@keyframes wobble{25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}@media(max-width:460px){.stage-grid{grid-template-columns:1fr}.stage-card{min-height:80px}.game-header{gap:6px;padding-inline:8px}.game-header .icon-btn{width:44px;height:44px;flex-basis:44px}.play-area{padding-inline:8px}.scene-card{padding:11px}.choices{gap:6px}.choice-btn{padding:6px 3px}.question{margin-block:11px 8px}.answer-area{min-height:84px}}@media(max-height:600px) and (orientation:landscape){.play-area{padding-block:6px}.scene-card{padding:8px}.people{font-size:35px}.scene-before{margin-top:5px}.question{margin:7px 0}.choice-btn{min-height:48px}.answer-area{min-height:62px;margin-top:5px}.continuation{margin-top:5px;padding-top:5px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
