html.village-page,.village-page body{overscroll-behavior:none;height:100%;overflow:hidden}.village-page body{min-height:0}.village{background:var(--bg);touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-height:0;position:relative;overflow:hidden}.village canvas{display:block;position:absolute;top:0;left:0}.village-note{inset:auto var(--space-8) var(--space-8);background:var(--panel);border:2px solid var(--line);padding:var(--space-6) var(--space-8);border-radius:6px;margin:0;position:absolute}.village-help{left:50%;bottom:var(--space-6);padding:var(--space-2) var(--space-6);background:var(--panel);border:2px solid var(--line);font-size:var(--text-xs);color:var(--muted);white-space:nowrap;border-radius:6px;margin:0;position:absolute;transform:translate(-50%)}.pad{display:none}@media (pointer:coarse),(width<=760px){.village-help{display:none}.pad{padding:var(--space-8) var(--space-11) max(var(--space-11), env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0}}.pad-dir,.pad-a,.pad-b{pointer-events:auto;touch-action:none}.pad-ab{align-items:flex-start;gap:14px;margin-bottom:8px;display:flex}.pad-b{border:2px solid var(--line);background:var(--panel);width:60px;height:60px;color:var(--ink);font-size:22px;font-weight:var(--weight-bold);opacity:.92;border-radius:50%;justify-content:center;margin-top:34px}.pad-b:active{background:var(--accent-soft);transform:translateY(2px)}.pad-dir{width:132px;height:132px;position:relative}.pad-dir span{background:var(--panel);border:2px solid var(--line);opacity:.92;width:44px;height:44px;position:absolute}.pad-dir:after{content:"";background:var(--panel);opacity:.92;width:44px;height:44px;position:absolute;top:44px;left:44px}.pad-dir .up{border-bottom:0;border-radius:6px 6px 0 0;top:0;left:44px}.pad-dir .down{border-top:0;border-radius:0 0 6px 6px;bottom:0;left:44px}.pad-dir .left{border-right:0;border-radius:6px 0 0 6px;top:44px;left:0}.pad-dir .right{border-left:0;border-radius:0 6px 6px 0;top:44px;right:0}.pad-dir span:before{content:"";border:7px solid #0000;width:0;height:0;margin:auto;position:absolute;inset:0}.pad-dir .up:before{border-bottom-color:var(--muted);border-top-width:0}.pad-dir .down:before{border-top-color:var(--muted);border-bottom-width:0}.pad-dir .left:before{border-right-color:var(--muted);border-left-width:0}.pad-dir .right:before{border-left-color:var(--muted);border-right-width:0}.pad-dir[data-dir=up] .up,.pad-dir[data-dir=down] .down,.pad-dir[data-dir=left] .left,.pad-dir[data-dir=right] .right{background:var(--accent-soft)}.pad-a{border:2px solid var(--line);background:var(--panel);width:64px;height:64px;color:var(--ink);font-size:24px;font-weight:var(--weight-bold);opacity:.92;border-radius:50%;justify-content:center}.pad-a.ready{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.pad-a:active{transform:translateY(2px)}.talking .pad-dir{opacity:.6}.rpg-dialog{padding:var(--space-8);background:#00000040;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.rpg-dialog[hidden]{display:none}@media (pointer:coarse),(width<=760px){.rpg-dialog{padding-top:var(--space-11);align-items:flex-start}}.rpg-window{background:var(--panel);border:2px solid var(--line);width:min(100%,560px);max-height:min(70%,520px);color:var(--ink);padding:var(--space-8) var(--space-8) var(--space-6);border-radius:6px;flex-direction:column;display:flex;box-shadow:0 8px 24px #00000073}@media (pointer:coarse),(width<=760px){.rpg-window{max-height:calc(100% - 220px)}}.rpg-window h2{font-size:var(--text-3xl);margin:0 0 var(--space-4);letter-spacing:.06em;text-shadow:2px 2px 0 var(--line)}.rpg-dialog-body{min-height:0;font-size:var(--text-base);overflow-y:auto}.rpg-dialog-body h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--accent);margin:var(--space-6) 0 var(--space-3)}.rpg-dialog-body ul{margin:0;padding:0;list-style:none}.rpg-dialog-body li{gap:var(--space-2) var(--space-4);padding:var(--space-4) 0;border-top:1px dashed var(--line);grid-template-columns:auto 1fr;align-items:baseline;display:grid}.rpg-dialog-body li time{font-family:var(--mono);font-size:var(--text-xs);color:var(--muted)}.rpg-dialog-body li strong,.rpg-dialog-body li>span:last-child{grid-column:1/-1}.rpg-dialog-body li>span:last-child{color:var(--muted)}.rpg-dialog-foot{margin:var(--space-4) 0 0;font-size:var(--text-xs);color:var(--muted);justify-content:space-between;align-items:center;display:flex}.rpg-dialog-foot .rpg-cursor-more{vertical-align:middle}.village canvas{transition:opacity .25s}.village.fading canvas{opacity:0}@media (prefers-reduced-motion:reduce){.village canvas{transition:none}}.village{--cursor-more:url(/sprites/village/day/cursor_more_sheet.png);--cursor-choice:url(/sprites/village/day/cursor_choice_sheet.png)}@media (prefers-color-scheme:dark){:root:not([data-theme=day]) .village{--cursor-more:url(/sprites/village/night/cursor_more_sheet.png);--cursor-choice:url(/sprites/village/night/cursor_choice_sheet.png)}}:root[data-theme=night] .village{--cursor-more:url(/sprites/village/night/cursor_more_sheet.png);--cursor-choice:url(/sprites/village/night/cursor_choice_sheet.png)}.rpg-cursor-more,.rpg-cursor-choice{width:16px;height:16px;image-rendering:pixelated;background-size:32px 16px;animation:1s steps(2,end) infinite rpg-cursor;display:inline-block}.rpg-cursor-more{background-image:var(--cursor-more)}.rpg-cursor-choice{background-image:var(--cursor-choice)}@keyframes rpg-cursor{to{background-position-x:-32px}}@media (prefers-reduced-motion:reduce){.rpg-cursor-more,.rpg-cursor-choice{animation:none}}.rpg-talk{padding:var(--space-8);pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.rpg-talk[hidden]{display:none}.rpg-talk .rpg-window{pointer-events:auto;cursor:pointer;width:min(100%,560px);min-height:112px;padding:var(--space-6) var(--space-8) var(--space-8);position:relative}.rpg-talk-name{top:-14px;left:var(--space-8);padding:0 var(--space-5);background:var(--panel);border:2px solid var(--line);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--accent);border-radius:6px;margin:0;position:absolute}.rpg-talk-text{margin:var(--space-4) 0 0;font-size:var(--text-xl);line-height:var(--leading-normal);min-height:3em}.rpg-talk-choices{margin:var(--space-4) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.rpg-talk-choices[hidden]{display:none}.rpg-talk-choices li{align-items:center;gap:var(--space-4);min-height:40px;padding:0 var(--space-4);font-size:var(--text-xl);border-radius:6px;display:flex}.rpg-talk-choices li .rpg-cursor-choice{visibility:hidden}.rpg-talk-choices li.current{background:var(--accent-soft);color:var(--on-accent-soft)}.rpg-talk-choices li.current .rpg-cursor-choice{visibility:visible}.rpg-talk .rpg-cursor-more{right:var(--space-8);bottom:var(--space-4);visibility:hidden;position:absolute}.rpg-talk.more .rpg-cursor-more{visibility:visible}@media (pointer:coarse),(width<=760px){.rpg-talk{padding:var(--space-4) var(--space-6);bottom:196px}}.rpg-sim{z-index:6;padding:var(--space-8);touch-action:auto;-webkit-user-select:text;user-select:text;background:#00000059;display:flex;position:absolute;inset:0}.rpg-sim[hidden]{display:none}.rpg-sim-window{background:var(--panel);border:2px solid var(--line);border-radius:6px;flex-direction:column;flex:1;min-width:0;max-width:1080px;margin:0 auto;display:flex;overflow:hidden;box-shadow:0 8px 24px #00000073}.rpg-sim-head{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-8);background:var(--beam);border-bottom:2px solid var(--beam-line);font-size:var(--text-sm);color:var(--muted);margin:0;display:flex}.rpg-sim-head span{flex:1;min-width:0}.rpg-sim-root{flex:1;min-height:0}.rpg-sim-wait{padding:var(--space-16);text-align:center;color:var(--muted);margin:auto}@media (width<=760px){.rpg-sim{padding:0}.rpg-sim-window{border:0;border-radius:0}}.village{--message-window:url(/sprites/village/day/message_window.png)}@media (prefers-color-scheme:dark){:root:not([data-theme=day]) .village{--message-window:url(/sprites/village/night/message_window.png)}}:root[data-theme=night] .village{--message-window:url(/sprites/village/night/message_window.png)}.village .rpg-window,.village .rpg-sim-window{border:16px solid #0000;border-image:var(--message-window) 8 fill / 16px / 0 stretch;image-rendering:pixelated;background:0 0;border-radius:0}.village .rpg-sim-window{background:var(--panel);background-clip:padding-box}.village .rpg-window>*,.village .rpg-sim-window>*{image-rendering:auto}.village .rpg-window{padding:var(--space-2) var(--space-4) var(--space-4)}.rpg-talk .rpg-window{padding:var(--space-4) var(--space-4) var(--space-6)}.rpg-talk-name{top:-28px;left:0}.village .rpg-sim-head{border-radius:0}.rpg-talk-ask{gap:var(--space-4);margin-top:var(--space-4);align-items:flex-end;display:flex}.rpg-talk-ask[hidden]{display:none}.rpg-talk-field{flex:1;min-width:0}.rpg-talk-field input,.rpg-talk-field textarea{border:2px solid var(--line);background:var(--panel);width:100%;color:var(--ink);padding:var(--space-4) var(--space-5);font-size:var(--text-xl);-webkit-user-select:text;user-select:text;border-radius:6px}.rpg-talk-field textarea{resize:vertical;min-height:96px}.rpg-talk.asking{pointer-events:auto}.rpg-talk.asking .rpg-window{cursor:default}.rpg-form{max-width:560px;padding:var(--space-11) var(--space-8);height:100%;margin:0 auto;overflow-y:auto}.rpg-sim-root:has(.rpg-form){overflow-y:auto}.rpg-dialog-body li strong a{color:inherit}.rpg-note{margin:var(--space-6) 0 0;font-size:var(--text-sm)}.village:has(.rpg-talk:not([hidden]),.rpg-dialog:not([hidden]),.rpg-sim:not([hidden])) .village-help{visibility:hidden}
