/* Dialogs share a calm editorial style, independent of the world lighting. */
.rpg-game .rpg-modal-wrap:not(.cinema-viewer):not(.village-playing){padding:24px}
.rpg-game[class*="look-"] .rpg-modal,.rpg-game .rpg-modal{--paper:#fffdf9;--paper-2:rgba(255,255,255,0.6);--paper-edge:#e0e7e6;--ink:#263d43;--ink-soft:#6a7c81;--ticket:#376d72;--ticket-ink:#fff;--blue:#376d72;--gold:#a27648; background:rgba(255, 255, 255, 0.55); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border:4px solid rgba(255, 255, 255, 0.9); border-radius:32px; padding:26px; gap:18px; box-shadow:0 20px 50px rgba(0,0,0,0.1), inset 0 2px 10px rgba(255, 255, 255, 0.6); color:#263d43; font-family:"Jua", "Noto Sans KR",system-ui,sans-serif; line-height:1.65}
.rpg-game .rpg-modal::before{display:none}
.rpg-game[class*="look-"] .rpg-modal h2,.rpg-game .rpg-modal h2{font:700 22px/1.4 "Noto Sans KR",system-ui,sans-serif;color:#263d43;letter-spacing:-.04em;margin:0}
.rpg-game .rpg-modal h3{font:700 16px/1.5 "Noto Sans KR",system-ui,sans-serif;color:#263d43;margin:0}
.rpg-game .rpg-modal header{align-items:flex-start;gap:18px;padding-bottom:18px;margin-bottom:0}
.rpg-game .rpg-modal header small{font-size:10px;font-weight:700;display:block;margin-bottom:6px}
.rpg-game .rpg-modal .x{width:36px;height:36px;font:24px/1 sans-serif;flex:none;cursor:pointer; transition: background 0.1s;}
.rpg-game .rpg-modal p{font-size:14px;line-height:1.75}
.rpg-game .rpg-modal .rpg-fine,.rpg-game .rpg-modal .source{color:#6a7c81;font-size:12px}
.rpg-game .rpg-modal .rpg-btn{font:700 14px/1.5 "Noto Sans KR",system-ui,sans-serif;padding:11px 18px;border:1px solid #dce5e2;border-radius:11px;background:#f5f8f6;color:#2e5459;box-shadow:none}
.rpg-game .rpg-modal .rpg-btn.gold{background:#376d72;color:white;border-color:#376d72;box-shadow:0 5px 12px #376d7220}
.rpg-game .rpg-modal .rpg-btn.gold::before,.rpg-game .rpg-modal .rpg-btn.gold::after{display:none}
.rpg-game .rpg-modal .rpg-btn:hover{background:#eaf1ee}.rpg-game .rpg-modal .rpg-btn.gold:hover{background:#2c5b60}
.rpg-game .rpg-modal button:focus-visible,.rpg-game .rpg-modal select:focus-visible,.rpg-game .rpg-modal input:focus-visible{outline:3px solid #82aaa6;outline-offset:3px}
.rpg-game .rpg-modal .npc-line{padding:15px 18px;border-left:3px solid #abc9be;font-size:14px}
.rpg-game .rpg-modal .ticket{background:#f5f7fa;border:1px solid #dce4ec;color:#3c5468;border-radius:14px;padding:20px;box-shadow:none}
.rpg-game .rpg-modal .ticket>b{font:700 18px/1.5 "Noto Sans KR",sans-serif;color:#2b4d63}
.rpg-game .rpg-modal .ticket p{color:#50697b;font-size:14px}.rpg-game .rpg-modal .ticket p b,.rpg-game .rpg-modal .ticket p strong{font:700 14px/1.75 "Noto Sans KR",sans-serif}
.rpg-game .rpg-modal .ticket small{display:block;padding-top:12px;margin-top:12px;border-top:1px solid #dce4ec;color:#69808f;font-size:12px}
.rpg-game .rpg-modal #place-body{display:grid;gap:16px}
.rpg-game .rpg-modal .companion-choice{border:1px solid #dce5e2;background:#f9faf7;border-radius:12px;padding:12px 16px}
.rpg-game .rpg-modal .companion-choice label{font-size:13px}.rpg-game .rpg-modal input[type=radio]{accent-color:#376d72}
.rpg-game .rpg-modal .set-looks input{display:block;position:absolute;width:1px;height:1px;opacity:0}
.rpg-game .rpg-modal .set-looks label:focus-within{outline:3px solid #82aaa6}

/* Choose the viewing size before entering a player. */
.rpg-game .viewing-choice{width:min(720px,100%)}
.viewing-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.viewing-options>button{display:grid;justify-items:start;gap:8px;padding:20px;border:1px solid #dce5e2;border-radius:16px;background:#f7f9f7;color:#294c53;text-align:left;font:inherit;cursor:pointer;transition:transform .16s,border-color .16s}
.viewing-options>button:hover{transform:translateY(-3px);border-color:#76a3a0;background:#eef5f2}
.viewing-options strong{font-size:18px}.viewing-options small,.viewing-options em{font-size:12px;color:#6b7e82;font-style:normal}
.screen-preview{width:100%;height:105px;display:grid;place-items:center;border-radius:10px;font-size:22px;background:linear-gradient(135deg,#2d4858,#547a7d);color:#f6eee2;margin-bottom:7px;position:relative;overflow:hidden}
.mini-preview{background:linear-gradient(150deg,#c4d6cc,#e5e6d6);color:white}.mini-preview::before{content:'';position:absolute;right:12px;bottom:12px;width:52%;height:60%;background:#355b67;border:4px solid #fbfbf2;border-radius:9px}.mini-preview{justify-items:end;padding-right:calc(26% + 12px);box-sizing:border-box}.mini-preview::after{content:'▶';position:absolute;right:35%;bottom:35%;font-size:16px}
.viewing-note{color:#7a898b;font-size:12px!important;margin:0}
.viewing-choice kbd{padding:2px 5px;background:#e3ebe8;border-radius:4px;color:#476a70;font-size:11px}

/* The mini player sits beside the village; recovery controls never cover a video. */
.rpg-modal-wrap.cinema-viewer{display:grid;grid-template-rows:minmax(0,1fr)}
.rpg-modal-wrap.cinema-viewer.cinema-has-error{grid-template-rows:minmax(0,1fr)}
.rpg-modal-wrap.cinema-window{inset:auto 22px 100px auto;width:min(600px,calc(100vw - 32px));height:auto;max-height:calc(100dvh - 140px);padding:0;border:1px solid #e2e9e5;border-radius:16px;overflow:hidden;background:#102f3c;box-shadow:0 20px 65px #10233266;grid-template-rows:auto minmax(0,1fr);z-index:50}
.cinema-window iframe{aspect-ratio:16/9;width:100%;height:auto;min-height:0}
.cinema-window.cinema-has-error{grid-template-rows:auto minmax(0,1fr)!important}
.cinema-viewer.cinema-has-error iframe{display:none!important}
.cinema-controls{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;color:#d9ebe7;font:700 11px/1.4 "Noto Sans KR",sans-serif;letter-spacing:.08em}
.cinema-controls button{border:0;background:#ffffff16;border-radius:7px;color:#e9f2ee;padding:6px 10px;font:inherit;cursor:pointer}
.cinema-recovery{background:#f9fcf9;padding:24px 16px;color:#294b55;font:13px/1.6 "Noto Sans KR",sans-serif;display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center;text-align:center}.cinema-recovery p{width:100%;margin:0 0 12px}.cinema-recovery button,.cinema-recovery a{font:inherit;padding:8px 14px;border:1px solid #d9e4e0;border-radius:7px;background:white;color:#355f68;cursor:pointer;text-decoration:none}

/* Pinball's request desk: four personalities, tactile cards, one free dispatch. */
.rpg-game .rpg-modal.errand-studio{width:min(930px,100%);gap:16px}
.studio-intro{margin:0;color:#708285}.errand-workspace{display:grid;grid-template-columns:235px 1fr;gap:24px}
.helper-tabs{display:flex;flex-direction:column;gap:9px}
.helper-tabs button{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #e2e9e5;border-radius:14px;background:#f9faf7;text-align:left;font:inherit;color:#3f5b60;cursor:pointer;min-width:0}
.helper-tabs button[aria-pressed=true]{background:#edf5f0;border-color:#7fa79c;box-shadow:0 4px 12px #8db0a019}
.helper-avatar{width:49px;flex:none;display:block}.helper-avatar svg{width:100%;height:auto;display:block}
.helper-tabs button>span:nth-child(2){min-width:0;display:grid;gap:4px}.helper-tabs b{font-size:13px}.helper-tabs small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.helper-tabs em{font:10px sans-serif;color:#70948a;margin-left:auto;white-space:nowrap}
.errand-editor{min-width:0;display:grid;align-content:start;gap:18px}
.helper-greeting{display:flex;align-items:center;gap:14px}.helper-greeting .helper-avatar{width:62px}.helper-greeting small{font-size:10px;letter-spacing:.08em;color:#80a197}.helper-greeting p{margin:4px 0 0;color:#6e8587;font-size:12px!important}
.errand-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.errand-categories button{display:grid;justify-items:center;gap:5px;border:1px solid #e1e8e5;border-radius:10px;padding:10px 4px;background:#f7f9f7;color:#657e81;font:700 11px "Noto Sans KR",sans-serif;cursor:pointer}.errand-categories span{font-size:20px}.errand-categories button[aria-pressed=true]{border-color:#55868a;background:#eaf3f1;color:#305c61}
.errand-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:240px;overflow:auto;padding:3px}
.errand-products button{position:relative;border:1px solid #e4e9e5;border-radius:13px;padding:15px;background:#fffdf8;display:grid;justify-items:start;gap:7px;font:inherit;color:#405d61;text-align:left;cursor:pointer}.errand-products button[aria-pressed=true]{border-color:#76a196;background:#f1f7f0}.errand-products span{font-size:28px}.errand-products b{font-size:12px}.errand-products small{font-size:11px;color:#799086}.errand-products em{font-size:11px;color:#809391;font-style:normal}.errand-products i{position:absolute;right:12px;top:12px;width:21px;height:21px;border-radius:50%;background:#e7efea;color:#527e71;font:13px/21px sans-serif;text-align:center}
.studio-next{justify-self:end;border:0;background:none;color:#5d8b85;font:700 12px "Noto Sans KR",sans-serif;cursor:pointer;padding:4px}
.errand-dispatch{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #e3ebe6;padding-top:18px}.errand-dispatch b{font-size:13px}.errand-dispatch small{display:block;font-size:11px;color:#718883;margin-top:4px}.errand-dispatch p{margin:4px 0 0;font-size:11px!important;color:#8b9b94}.errand-dispatch .rpg-btn{flex:none}
.studio-tools{display:flex;justify-content:space-between;border-top:1px solid #edf1ee;padding-top:10px}.studio-tools button{border:0;background:none;color:#78928a;font:12px "Noto Sans KR",sans-serif;padding:4px;cursor:pointer}.studio-status:empty{display:none}.studio-status{color:#a55358;font-size:12px!important;margin:0}
@media(max-width:640px){.rpg-game .rpg-modal-wrap:not(.cinema-viewer):not(.village-playing){padding:12px}.rpg-game[class*="look-"] .rpg-modal,.rpg-game .rpg-modal{padding:20px;max-height:calc(100dvh - 24px)}.viewing-options{gap:10px}.viewing-options>button{padding:12px}.screen-preview{height:80px}.viewing-options strong{font-size:15px}.errand-workspace{grid-template-columns:1fr;gap:14px}.helper-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.helper-tabs button{display:grid;justify-items:center;text-align:center;padding:6px;gap:3px}.helper-tabs small,.helper-tabs em{display:none}.helper-avatar{width:39px}.helper-tabs b{font-size:11px}.errand-categories button{font-size:10px}.errand-dispatch{align-items:start;flex-direction:column;gap:12px}.errand-dispatch .rpg-btn{width:100%}.errand-products{max-height:180px}.cinema-window{bottom:92px!important;right:16px!important}.studio-tools button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.viewing-options>button{transition:none}}

.official-programs{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:240px;overflow:auto}.official-programs button{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e0e7e5;border-radius:11px;background:#f5f8f5;color:#385d63;font:12px "Noto Sans KR",sans-serif;text-align:left;cursor:pointer}.official-programs span{color:#7ba394}.official-programs button:hover{background:#eaf3ef}.cinema-lobby details{border-top:1px solid #e5ece7;padding-top:12px}.cinema-lobby summary{font-size:12px;color:#6f8788;cursor:pointer}.cinema-lobby form{margin-top:12px}
