/* One vocabulary: warm paper, quiet mint, readable text and restrained borders. */
#rpg-app .rpg-game{font-family:"Noto Sans KR",system-ui,sans-serif}
#rpg-app .rpg-game .rpg-modal{--b-ink:#304942!important;--b-ink-soft:#677d70!important;--b-title:#304942!important;--b-cell:#f5f7ef!important;--b-small:none!important;background:#fffcf6!important;color:#304942!important;border:1px solid #d9e4db!important;border-radius:22px!important;box-shadow:0 22px 65px #183c3433!important;line-height:1.7!important}
#rpg-app .rpg-modal::after{display:none}
#rpg-app .rpg-modal h2{font:700 22px/1.4 "Noto Sans KR",sans-serif!important;color:#304942!important;text-shadow:none!important;letter-spacing:-.04em!important}
#rpg-app .rpg-modal h3{color:#385e51!important;text-shadow:none!important}
#rpg-app .rpg-modal .rpg-btn{border:1px solid #d8e4db!important;border-radius:11px!important;box-shadow:none!important;background:#edf3eb!important;color:#355e50!important;font:700 13px/1.5 "Noto Sans KR",sans-serif!important}
#rpg-app .rpg-modal .rpg-btn.gold{background:#396958!important;border-color:#396958!important;color:#fffdf4!important;text-shadow:none!important}
#rpg-app .rpg-modal .rpg-btn::before,#rpg-app .rpg-modal .rpg-btn::after{display:none}
#rpg-app .rpg-modal button:focus-visible,#rpg-app .npc-conversation button:focus-visible{outline:3px solid #87b69f;outline-offset:3px}
#rpg-app .rpg-game.peaceful .rpg-char .bar,#rpg-app .peaceful .rpg-ally .bar,#rpg-app .peaceful .p2-skills,#rpg-app .peaceful .rpg-hotbar,#rpg-app .peaceful .rpg-exp{display:none}
#rpg-app .peaceful .rpg-char.danger .bar.hp{display:block}
#rpg-app .peaceful .rpg-char-info{display:flex;flex-direction:column;align-items:flex-start;max-width:190px}
#rpg-app .peaceful .rpg-char-info b{white-space:normal;line-height:1.5;font-size:11px}
#rpg-app .peaceful .rpg-char-face{width:38px;height:38px}
#rpg-app .peaceful .rpg-char{padding:8px 12px!important;box-shadow:0 4px 18px #27483c12!important;border:1px solid #ffffff90!important;border-radius:17px!important}
#rpg-app .peaceful .rpg-ally{padding:5px 9px;font-size:10px}
#rpg-app .peaceful .rpg-weather-chip{background:#fffdf0b8!important;border:0!important;box-shadow:none!important;font-size:10px!important}
#rpg-app .peaceful .rpg-log{opacity:.45;max-height:68px}
#rpg-app .peaceful .rpg-log:hover{opacity:1}
#rpg-app .peaceful .now-tracker{background:#fffcf1e6!important;border:1px solid #dee9dc!important;box-shadow:0 4px 18px #264f3b0c!important}
#rpg-app .rpg-modal-wrap.talk-mode{background:none!important;backdrop-filter:none!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:0 20px 92px!important}
.npc-conversation{width:min(570px,100%);padding:21px 24px;background:#fffcf3f5;border:1px solid #d8e5d8;border-radius:19px;box-shadow:0 14px 45px #193e3426;color:#304e43;font:14px/1.7 "Noto Sans KR",sans-serif;animation:conversation-enter .2s ease-out}
.npc-conversation header{display:grid;grid-template-columns:1fr auto;gap:3px}.npc-conversation header small{grid-column:1;color:#80978b;font-size:10px;letter-spacing:.06em}.npc-conversation header strong{grid-column:1;font-size:16px}.npc-conversation header>button{grid-column:2;grid-row:1/3;border:0;background:none;color:#61786c;font-size:24px;cursor:pointer}
.npc-conversation p{margin:12px 0 17px}.npc-conversation>div{display:flex;flex-wrap:wrap;gap:8px}.npc-conversation>div button{border:1px solid #d4e2d5;border-radius:9px;background:#edf4e9;color:#375e4c;padding:9px 13px;font:700 12px "Noto Sans KR",sans-serif;cursor:pointer}
.npc-conversation>div button:last-child{background:none;color:#809387;border:0;font-weight:400}
.outing-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.outing-cards button{border:1px solid #dce7db;background:#f6f7ee;border-radius:16px;text-align:left;padding:20px;color:#3f594b;cursor:pointer;font:inherit;display:grid;gap:9px;align-content:start}
.outing-cards button[aria-pressed=true]{border-color:#75a68b;background:#edf4e7;box-shadow:0 5px 18px #85a48712}.outing-cards span{font-size:34px;color:#8aa481}.outing-cards h3{margin:0;font-size:14px}.outing-cards p{margin:0;font-size:12px!important}.outing-cards small{font-size:10px;color:#8a998b;border-top:1px solid #e0e7d9;padding-top:10px}
.errand-wishes{display:flex;flex-wrap:wrap;gap:7px}.errand-wishes button{padding:8px 12px;border:1px solid #dce6d7;border-radius:20px;background:#f0f5e8;color:#5c7357;font:700 11px "Noto Sans KR",sans-serif;cursor:pointer}.errand-wishes button:hover{background:#e2eed9}
#rpg-app .fashion-modal .stylist-grid{gap:12px}.stylist-grid article{background:#f6f7ef!important;border:1px solid #dce7da!important;border-radius:17px!important;box-shadow:none!important}.stylist-grid .fashion-swatch{border-radius:14px}.stylist-grid [data-try]{margin-top:8px}
#rpg-app .fashion-fitting{border-radius:17px;padding:18px;gap:22px}
.film-stamps>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.film-stamps article{display:grid;gap:5px;text-align:center;padding:15px 8px;border:1px dashed #d4ddd2;border-radius:13px;color:#94a08e;background:#f5f5ed}.film-stamps article.earned{color:#4e7055;background:#edf4df;border:1px solid #adc394}.film-stamps span{font-size:28px}.film-stamps b{font-size:12px}.film-stamps small{font-size:10px;line-height:1.5}.cinema-size-choice{font-size:12px;padding:10px 0;color:#60775c}
.skill-evolution{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f0f4e9;border-radius:16px;padding:18px}.evolution-art{position:relative;min-height:110px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse,#c5ddbe66,transparent 70%);border-radius:13px}
.evolution-art span{font-size:12px;font-weight:700;color:#3f735d;z-index:1;text-align:center;padding:8px 14px;background:#ffffffb8;border-radius:8px;box-shadow:0 0 calc(var(--tier)*9px) #9acba466}
.evolution-art i{position:absolute;color:#8eaf72;font-size:calc(7px + var(--tier)*2px);font-style:normal;animation:evolution-glint 2.2s ease-in-out infinite;animation-delay:calc(var(--i)*-.16s)}
.evolution-caption{font-size:11px;color:#789068;text-align:center;margin-top:5px}.skill-evolution .evolution-copy{grid-column:1/-1}.skill-evolution p{font-size:12px!important;margin:5px 0}.skill-evolution small{font-size:11px;color:#7c8b6a}
@keyframes evolution-glint{0%,100%{opacity:.25;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(30deg)}}
@keyframes conversation-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.outing-cards{grid-template-columns:1fr}.outing-cards button{padding:14px;gap:5px}.outing-cards span{display:none}.film-stamps>div{grid-template-columns:repeat(2,1fr)}.npc-conversation{padding:17px}#rpg-app .rpg-modal-wrap.talk-mode{padding-bottom:74px!important}.skill-evolution{padding:12px}.evolution-art{min-height:85px}}
@media(prefers-reduced-motion:reduce){.evolution-art i,.npc-conversation{animation:none!important}}

/* Final dialog rules deliberately supersede the retired bubble theme's forced declarations. */
#rpg-app .rpg-game .rpg-modal{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#rpg-app .rpg-game .rpg-modal header{border-bottom-color:#dfe8dc!important;color:#304942!important}
#rpg-app .rpg-game .rpg-modal header small{color:#728579!important;letter-spacing:.04em}
#rpg-app .rpg-game .rpg-modal .x{background:#edf2e9!important;color:#587364!important;box-shadow:none!important;border-radius:10px!important}
#rpg-app .rpg-game .rpg-modal .npc-line{background:#eff4e9!important;border:1px solid #dce7d9!important;border-radius:13px!important;box-shadow:none!important}
#rpg-app .rpg-game .rpg-modal [aria-pressed="true"],#rpg-app .rpg-game .rpg-modal [aria-selected="true"]{box-shadow:0 0 0 2px #86aa8d!important}
#rpg-app .rpg-game .rpg-modal .stylist-grid article{background:#f6f7ef!important;border:1px solid #dce7da!important;border-radius:17px!important;box-shadow:none!important}
#rpg-app .rpg-game .rpg-modal input:not([type="radio"]):not([type="checkbox"]):not([type="range"]),#rpg-app .rpg-game .rpg-modal select,#rpg-app .rpg-game .rpg-modal textarea{background:#fffdf8!important;border:1px solid #d3dfd2!important;border-radius:10px!important;color:#304942!important;box-shadow:none!important}
#rpg-app .rpg-game .rpg-modal-wrap.talk-mode{background:none!important;backdrop-filter:none!important}

#rpg-app .rpg-game .rpg-modal-wrap:not(.cinema-viewer):not(.talk-mode):not(.village-playing):not(.mem-dock-mode){background:#163b3540!important;backdrop-filter:blur(3px)!important}
/* 밤에도 밝은 아이보리 칩 위 글자는 진하게(밤 테마의 흰 글자가 덮어써 안 보이던 문제) */
#rpg-app .peaceful .now-tracker b,#rpg-app .peaceful .now-tracker p,#rpg-app .peaceful .rpg-weather-chip{color:#3b3640!important}
/* 진한 강조 버튼 안의 작은 글씨(가격 등)도 밝게 */
#rpg-app .rpg-modal .rpg-btn.gold small,#rpg-app .rpg-modal button.gold small{color:#ffffffd9!important}
/* 1인칭: 가운데 조준점, 손에 든 물건 */
.rpg-game .fp-dot{display:none;position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(40,30,60,.35);z-index:4;pointer-events:none}
.rpg-game.first-person .fp-dot{display:block}
.rpg-game .fp-hand{position:absolute;right:16%;bottom:-10px;z-index:4;font-size:calc(120px * var(--ui,1));line-height:1;filter:drop-shadow(0 10px 18px rgba(40,20,60,.35));transform:rotate(-12deg);animation:fp-bob 1.2s ease-in-out infinite;pointer-events:none}
.rpg-game .fp-hand[hidden]{display:none}
@keyframes fp-bob{50%{transform:rotate(-8deg) translateY(-8px)}}

/* ---- 화면 위 HUD도 창과 같은 결: 따뜻한 종이 + 조용한 민트 ----
   상단 이름표·코인·장소·메뉴 버튼·채팅·미니맵·단축 바·기록·손 모양 힌트가 모두 같은 종이로.
   밤에는 종이를 조금 더 따뜻하고 어둡게만 낮춘다(어두운 유리·네온으로 바꾸지 않음). 미니게임 캔버스 속 그림은 각자 무대 그대로. */
#rpg-app .rpg-game,#rpg-app .rpg-game.night-walk{
  --b-ink:#304942;--b-ink-soft:#6f8478;--b-title:#304942;
  --b-glass:linear-gradient(180deg,#fffdf6f2,#fbf8eeea);
  --b-vol:0 0 0 1px #dfe8dc;--b-glow:0 6px 20px #27483c14;
  --b-small:0 0 0 1px #e1e9de;--b-cell:#f5f7ef;--b-hl:transparent;
  --b-pink:linear-gradient(#4f8a73,#396958);--b-pink-sh:0 2px 6px #2a4d4024;
  --b-lav:#edf3eb;--b-lav-sh:0 0 0 1px #d8e4db;
}
#rpg-app .rpg-game.night-walk{--b-glass:linear-gradient(180deg,#f6efdff0,#efe7d3e8);--b-vol:0 0 0 1px #e6d9b8;--b-glow:0 6px 22px #0d1a2a55,0 0 18px #ffd99a22;--b-cell:#f3ecdc}
#rpg-app .rpg-game :is(.rpg-char,.rpg-hotbar,.rpg-chat,.rpg-minimap,.rpg-gold,.shopping-watch)::after{display:none}
#rpg-app .rpg-game :is(.rpg-char,.rpg-ally,.rpg-zone,.rpg-gold,.rpg-tracker,.rpg-weather-chip,.rpg-minimap,.rpg-hotbar,.rpg-chat,.emote-bar,.shopping-watch){backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important}
#rpg-app .rpg-game :is(.rpg-char,.rpg-ally,.rpg-zone,.rpg-gold,.rpg-tracker,.rpg-weather-chip){border-radius:16px!important}
#rpg-app .rpg-game :is(.rpg-hotbar,.rpg-chat,.emote-bar,.shopping-watch,.rpg-minimap){border-radius:18px!important}
#rpg-app .rpg-game .rpg-zone small{color:#7c9184!important}
/* 동그란 메뉴 버튼: 종이 원 + 민트 테두리, 아이콘은 민트·살구 두 색만 */
#rpg-app .rpg-game .rpg-menu button,#rpg-app .rpg-game.night-walk .rpg-menu button{background:#fffcf3!important;box-shadow:0 0 0 1px #d8e4db,0 3px 10px #27483c18!important;color:#3f6b5a!important}
#rpg-app .rpg-game .rpg-menu button:hover{background:#eef5ec!important}
#rpg-app .rpg-game .rpg-menu button[aria-pressed="true"]{box-shadow:0 0 0 2px #6fa58a,0 3px 10px #27483c18!important}
#rpg-app .rpg-game .ic,#rpg-app .rpg-game.night-walk .ic{filter:none}
#rpg-app .rpg-game .ic .f,#rpg-app .rpg-game.night-walk .ic .f{fill:#bfe0cc;stroke:#3f6b5a;stroke-width:2.4;stroke-linejoin:round}
#rpg-app .rpg-game .ic .a,#rpg-app .rpg-game.night-walk .ic .a{fill:#ffc9a0;stroke:#3f6b5a;stroke-width:2.2;stroke-linejoin:round}
#rpg-app .rpg-game .ic .l,#rpg-app .rpg-game.night-walk .ic .l{fill:none;stroke:#fff;stroke-width:2.6;opacity:.9}
#rpg-app .rpg-game .ic .s,#rpg-app .rpg-game.night-walk .ic .s{stroke:#3f6b5a}
#rpg-app .rpg-game .ic-coin :is(.f,.a),#rpg-app .rpg-game.night-walk .ic-coin :is(.f,.a){fill:#ffd36b;stroke:#b07a12}
#rpg-app .rpg-game .ic-coin .s{stroke:#9a6a10}
/* 체력·마나 막대: 산호 / 하늘 */
#rpg-app .rpg-game .bar{background:#e6ece3!important;box-shadow:inset 0 1px 2px #27483c1a!important}
#rpg-app .rpg-game .bar i{background:linear-gradient(90deg,#f0806e,#f7ad93)!important;box-shadow:none!important}
#rpg-app .rpg-game .bar.mp i{background:linear-gradient(90deg,#5ba7d6,#9fd0ee)!important}
#rpg-app .rpg-game :is(.rpg-char-face,.rpg-ally-face){background:#eef5ec!important;box-shadow:0 0 0 2px #fff,0 0 0 3px #cfe0d4!important}
/* 단축 바 · 채팅 */
#rpg-app .rpg-game .rpg-hotbar .slot em,#rpg-app .rpg-game.night-walk .rpg-hotbar .slot em{color:#4f8a73!important}
#rpg-app .rpg-game .rpg-hotbar .slot .qty:not(:empty){background:#396958;box-shadow:none}
#rpg-app .rpg-game .rpg-chat button[type="submit"]{background:#396958!important;box-shadow:none!important;color:#fffdf4!important;text-shadow:none!important;border-radius:11px!important}
#rpg-app .rpg-game .rpg-chat :is(input,select),#rpg-app .rpg-game.night-walk .rpg-chat :is(input,select){background:#fffdf8!important;border:1px solid #d3dfd2!important;border-radius:11px!important;color:#304942!important}
#rpg-app .rpg-game .chat-lines p{color:#304942}
#rpg-app .rpg-game .rpg-log p{border-radius:12px!important;color:#304942!important}
/* 손 모양 힌트: 종이 알약 */
#rpg-app .rpg-game .rpg-npc-hint{background:#fffcf3f2!important;color:#304942!important;border:1px solid #d8e4db!important;box-shadow:0 6px 18px #27483c1c!important;font-weight:700}
#rpg-app .rpg-game.night-walk .rpg-npc-hint{background:#f6efdff2!important;box-shadow:0 6px 18px #0d1a2a55,0 0 14px #ffd99a33!important}


#rpg-app .chat-report{padding:2px 5px;border:1px solid #c8d8cf;background:transparent;color:#587369;border-radius:5px;font-size:10px;cursor:pointer}

/* Destination guide shares the actual collision footprints with the mini-map. */
button.rpg-minimap{cursor:pointer;text-align:left;font-family:inherit;color:inherit}button.rpg-minimap:focus-visible{outline:3px solid #c89a49;outline-offset:4px}.village-map{max-width:740px!important}.village-map header small{font:700 10px/1.5 sans-serif;letter-spacing:.12em;color:#57736a}.village-map header h2{margin:2px 0 0}.village-map-canvas{padding:10px;background:#e2e6df;border:1px solid #bbc9bd;border-radius:16px;overflow:hidden}.village-map-canvas svg{display:block;width:100%;max-height:300px}.map-legend{display:flex;gap:18px;justify-content:center;margin:10px;font-size:11px;color:#416052}.map-legend span:nth-child(2){color:#a15e80}.map-legend span:nth-child(3){color:#9b722f}.map-places{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.map-places>button{display:flex;align-items:center;gap:10px;padding:12px;background:#fffcf6;border:1px solid #dbe0d3;border-radius:12px;text-align:left;cursor:pointer;color:#2d4e45;font:inherit;min-width:0}.map-places>button:hover{border-color:#73958b;background:#f0f6f0}.map-places b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#ad6488;color:white;flex-shrink:0;font-size:12px}.map-places span{flex:1;font-size:12px;font-weight:700}.map-places small{display:block;margin-top:4px;color:#687b71;font-size:10px;font-weight:400}.map-places em{font-style:normal;font-size:10px;white-space:nowrap;color:#687b71}@media(max-width:600px){.map-places{grid-template-columns:1fr}.village-map-canvas svg{max-height:220px}.map-places>button{padding:10px}}


/* Concert notices appear as finished lettering, without the capsule or intro zoom. */
#rpg-app .rpg-game .rpg-banner.live-notice{
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;backdrop-filter:none!important;
  color:#e36f8f!important;text-shadow:none!important;
  transform:translate(-50%,-50%);transition:none;animation:none;
}
#rpg-app .rpg-game .rpg-banner.live-notice small{
  color:#294e43!important;text-shadow:none!important;
}
