.nd-village{--ndv-ink:#526553;--ndv-line:#c5d2b8;--ndv-soft:#f7f9ef;position:relative;width:100%;margin:4px 0 16px;box-sizing:border-box;font:12px/1.5 Gulim,"굴림",Dotum,"돋움",sans-serif;color:#4b5b4a}
.nd-village *{box-sizing:border-box}
.nd-village [hidden]{display:none!important}
.nd-village button,.nd-village input,.nd-village a{font:inherit}
.nd-village button{cursor:pointer;color:inherit}
.nd-village button:focus-visible,.nd-village a:focus-visible,.nd-village input:focus-visible,.ndv-map:focus-visible{outline:2px solid #69988c;outline-offset:2px}
.nd-village button:disabled{cursor:wait;opacity:.6}
.ndv-panel{border:1px solid var(--ndv-line);background:#fff;overflow:hidden;text-align:left}
.ndv-header{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 9px;background:linear-gradient(#fdfef7,#eef4e7);border-bottom:1px solid var(--ndv-line)}
.ndv-brand{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.ndv-brand strong{font-size:12px;color:#5a784f;letter-spacing:-.4px}
.ndv-flower{font-size:18px;line-height:17px;color:#c9aa73}
.ndv-tagline{font-size:11px;color:#8a9580;letter-spacing:-.5px}
.ndv-header-actions{display:flex;gap:8px;white-space:nowrap}
.ndv-header-actions a{color:#7b8a70!important;font-size:11px!important;text-decoration:none!important}
.ndv-header-actions a:hover{text-decoration:underline!important}
.ndv-header-actions button{border:0;padding:0;background:transparent;color:#7b8a70;font-size:11px}
.ndv-header-actions button:hover{text-decoration:underline}
.ndv-room-bar{height:29px;padding:3px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fffef9;border-bottom:1px solid #dfe6d2}
.ndv-rooms{display:flex;gap:4px}
.ndv-rooms button{border:1px solid transparent;background:transparent;padding:1px 8px;line-height:18px;font-size:11px;color:#87917e;border-radius:3px}
.ndv-rooms button[aria-pressed=true]{border-color:#c7d4b7;background:#eef5df;color:#63824d}
.ndv-rooms button:hover{background:#f1f5e8}
.ndv-population{font-size:11px;color:#929c8a;white-space:nowrap;display:flex;align-items:center;gap:4px}
.ndv-population:before{content:"";width:5px;height:5px;border-radius:50%;background:#c4c7bc}
.ndv-population.ndv-is-online:before{background:#89ad73;box-shadow:0 0 0 2px #edf4e6}
.ndv-activity-guide{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;background:#fff6dd;border-bottom:1px solid #ddcfab;font-size:11px;line-height:1.6;color:#94734b}
.ndv-activity-guide b{color:#83613c;font-weight:normal}
.ndv-activity-guide button{flex-shrink:0;border:1px solid #c9ae7e;background:#fffbee;border-radius:3px;padding:4px 8px;white-space:nowrap;color:#8d7047}
.ndv-map{position:relative;width:100%;height:clamp(205px,34vw,280px);aspect-ratio:auto;min-height:205px;overflow:hidden;isolation:isolate;background:#c7dfa7;cursor:crosshair;touch-action:pan-y;outline-offset:-3px!important}
.ndv-stage{position:relative;width:100%;max-width:960px;height:100%;margin:0 auto}
.ndv-background,.ndv-scenery,.ndv-places,.ndv-players{position:absolute;inset:0;width:100%;height:100%}
.ndv-background{pointer-events:none;z-index:0}
.ndv-scenery{display:block}
.ndv-places,.ndv-players{pointer-events:none}
.ndv-places{z-index:1}
.ndv-players{z-index:2}
.ndv-place{position:absolute;transform:translate(-50%,-100%);border:1px solid #b6bca6!important;border-radius:2px;background:#fffff2!important;padding:2px 7px!important;line-height:16px!important;font-size:11px!important;font-weight:normal!important;letter-spacing:-.5px;box-shadow:1px 2px 0 #71836020;pointer-events:auto;white-space:nowrap}
.ndv-place:after{position:absolute;content:"";left:calc(50% - 3px);bottom:-4px;width:5px;height:5px;background:#fffff2;border-right:1px solid #b6bca6;border-bottom:1px solid #b6bca6;transform:rotate(45deg)}
.ndv-place:hover{color:#4e774c;background:#fffef0!important;border-color:#93a584!important}
.ndv-place:hover:after{border-color:#93a584}
.ndv-place.ndv-tree-place{display:flex;flex-direction:column;align-items:center;width:96px;border:0!important;padding:0!important;background:transparent!important;box-shadow:none;line-height:0!important;touch-action:manipulation}
.ndv-tree-place:after{display:none}
.ndv-tree-place svg{display:block;width:86px;height:94px;overflow:visible;filter:drop-shadow(0 2px 1px #74864d26)}
.ndv-tree-place>span{font-size:11px;line-height:18px;letter-spacing:-.5px;padding:1px 6px;border:1px solid #c8ab7d;border-radius:2px;background:#fff5d8;color:#88663b;box-shadow:1px 2px 0 #71836020}
.ndv-tree-place:hover svg{filter:drop-shadow(0 0 4px #fff1bc)}
.ndv-player{position:absolute;transform:translate(-50%,-100%);display:flex!important;align-items:center;flex-direction:column;justify-content:flex-end;pointer-events:auto;border:0!important;background:transparent!important;padding:0!important;width:34px;height:44px;color:#53604e!important;cursor:pointer;transition:left .23s linear,top .23s linear;outline-offset:5px!important}
.ndv-player.ndv-self{transition:none}
.ndv-character{width:26px;height:36px;display:block;line-height:0;filter:drop-shadow(0 1px 0 #ffffff55);transform-origin:50% 100%;pointer-events:none}
.ndv-character svg{display:block;width:26px;height:36px;image-rendering:pixelated}
.ndv-name{position:absolute;left:50%;top:calc(100% + 1px);transform:translateX(-50%);padding:0 4px;background:#ffffeff0;border:1px solid #aeb59d66;border-radius:2px;max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10px/14px Dotum,"돋움",sans-serif!important;color:#586451;letter-spacing:-.3px;box-shadow:0 1px 1px #53674a0d}
.ndv-self .ndv-name{color:#547e60;background:#f8fff1;border-color:#9ebc8b}
.ndv-player:hover .ndv-name{border-color:#87a879;color:#345c38}
.ndv-preview .ndv-name{border-style:dashed}
.ndv-speech{position:absolute;bottom:47px;left:50%;transform:translateX(-50%);padding:5px 8px;border:1px solid #becab1;border-radius:7px;background:#fffff8;color:#52634c;box-shadow:1px 2px 0 #6d805718;max-width:170px;width:max-content;font-size:11px;line-height:1.5;overflow-wrap:anywhere;white-space:normal;text-align:center;pointer-events:none}
.ndv-speech:after{content:"";position:absolute;left:calc(50% - 4px);bottom:-5px;width:7px;height:7px;background:#fffff8;border-bottom:1px solid #becab1;border-right:1px solid #becab1;transform:rotate(45deg)}
.ndv-walking .ndv-character{animation:ndv-step .34s steps(2,end) infinite}
@keyframes ndv-step{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-2px) rotate(3deg)}}
.ndv-destination{position:absolute;width:15px;height:8px;border:1px dashed #8eaa75;border-radius:50%;transform:translate(-50%,-50%);background:#fbffdc70;z-index:1;pointer-events:none}
.ndv-room-sign{position:absolute;left:10px;top:9px;z-index:3;border:1px solid #a6bc9080;background:#faffedc9;padding:1px 6px;color:#7b8c68;font-size:10px;pointer-events:none}
.ndv-map-note{position:absolute;bottom:7px;right:9px;font-size:10px;color:#789367;pointer-events:none;background:#f8ffe65c;padding:1px 4px;border-radius:2px}
.ndv-is-paused .ndv-background,.ndv-is-paused .ndv-players,.ndv-is-paused .ndv-places{filter:saturate(.45);opacity:.65}
.ndv-is-paused:after{content:"잠깐 쉬는 중";position:absolute;left:50%;top:63%;transform:translate(-50%,-50%);padding:7px 13px;border:1px solid #c7cdb8;background:#fffef4e8;color:#8c947c;border-radius:3px;z-index:4;pointer-events:none}
.ndv-below{padding:6px 9px 5px;background:#fffef9;border-top:1px solid #c5d2b8}
.ndv-identity{display:flex;align-items:center;gap:6px;min-height:29px}
.ndv-avatar-label{color:#87917b;font-size:10px;margin-right:1px;white-space:nowrap}
.ndv-avatar-picker{display:flex;gap:4px;align-items:center}
.ndv-avatar-option{display:flex!important;align-items:center;justify-content:center;width:29px;height:28px;padding:0!important;border:1px solid #d8ddc9!important;border-radius:3px;background:#fffef6!important}
.ndv-avatar-option svg{display:block;width:18px;height:25px;image-rendering:pixelated}
.ndv-avatar-option[aria-pressed=true]{border-color:#9ab980!important;background:#e9f4dc!important;box-shadow:0 0 0 1px #e8f0d9}
.ndv-avatar-option:hover{background:#f1f6e6!important}
.ndv-pause{margin-left:auto;white-space:nowrap;border:0!important;background:transparent!important;color:#8e987f!important;font-size:10px!important;padding:2px 0!important;text-decoration:underline;text-underline-offset:2px}
.ndv-status{padding:0!important;margin:4px 0 6px!important;font-size:10px!important;line-height:1.5!important;color:#8a957e!important;min-height:15px;overflow-wrap:anywhere}
.ndv-status.ndv-is-error{color:#a27260!important}
.ndv-chat{display:flex;align-items:center;gap:5px;margin:0;min-width:0}
.ndv-chat input{min-width:0;width:100%;height:25px;flex:1;padding:3px 6px;border:1px solid #cbd5bc;background:#fff;box-shadow:inset 1px 1px 0 #f3f5e9;font-size:11px;color:#637258;border-radius:2px}
.ndv-chat input::placeholder{color:#abb39d}
.ndv-chat button{height:25px;border:1px solid #b9c9a5;border-radius:2px;background:linear-gradient(#fffff8,#edf3e1);padding:2px 9px;color:#748566;font-size:11px;white-space:nowrap}
.ndv-chat button:hover{background:#edf4df}
.ndv-chat a{color:#8c967f!important;text-decoration:none!important;white-space:nowrap;font-size:10px!important;margin-left:3px}
.ndv-chat a:hover{text-decoration:underline!important}
.ndv-help{padding:0!important;margin:5px 0 0!important;font-size:10px!important;line-height:1.5!important;color:#a0a893!important;letter-spacing:-.4px}
.ndv-visitor{display:flex;align-items:center;flex-wrap:wrap;gap:6px;border:1px solid #d4dcca;background:#f8faef;padding:7px;margin-top:6px;font-size:11px}
.ndv-visitor a{color:#6b8b61!important;text-decoration:underline!important}
.ndv-visitor button{margin-left:auto;padding:0;border:0;background:transparent;font-size:10px;color:#959d88}
.ndv-story-place{color:#7d815c!important;background:#fffbed!important;font-size:10px!important}
.ndv-story-hint{display:flex;align-items:center;gap:6px;margin:0 0 6px;padding:5px 7px;border:1px dashed #d3d9bb;background:#fcfced;color:#94967a;font-size:10px;line-height:1.6}
.ndv-story-hint button{margin-left:auto;flex-shrink:0;border:0;background:transparent;padding:0 2px;color:#989e83;font-size:15px;line-height:16px}
.ndv-feature-card{display:block!important;background:#fcfdf4;padding:9px!important}
.ndv-feature-card[hidden]{display:none!important}
.ndv-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px dashed #d7ddc9;padding-bottom:5px;margin-bottom:6px}
.ndv-card-head strong{color:#748a64;font-size:11px}
.ndv-feature-card p{margin:5px 0!important;padding:0!important;font-size:11px!important;line-height:1.7!important;color:#7e886e}
.ndv-feature-card p.ndv-discovery-title{font-size:13px!important;color:#637359;overflow-wrap:anywhere}
.ndv-feature-card p.ndv-discovery-author{color:#99a18a;font-size:10px!important}
.ndv-feature-card .ndv-card-error{color:#a27260!important}
.ndv-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:8px}
.ndv-card-actions a{font-size:11px!important}
.ndv-card-actions button{margin-left:0!important;color:#8a967d!important;text-decoration:underline;text-underline-offset:2px;font-size:10px!important}
.ndv-garden-days{display:flex;gap:5px;margin:8px 0}
.ndv-garden-days>span{display:flex;flex-direction:column;align-items:center;min-width:30px;border:1px solid #dce2ce;background:#f3f7e8;color:#b6bda4;border-radius:3px;padding:3px}
.ndv-garden-days>span>span{font-size:21px;line-height:25px}
.ndv-garden-days>span.ndv-bloomed>span{color:#caaa9b}
.ndv-garden-days small{font-size:9px;color:#99a185}
.ndv-garden-rule{display:block;font-size:10px;line-height:1.6;color:#a3aa93}
.ndv-harvest-slot{width:100%;min-width:0;margin-top:7px}
.ndv-mobile-controls{display:none}
.ndv-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ndv-expanded{position:fixed!important;inset:0!important;margin:0!important;width:100%!important;z-index:2147481000;display:flex;align-items:center;justify-content:center;padding:28px;background:#3b483d99;backdrop-filter:blur(2px)}
.ndv-expanded .ndv-panel{width:min(100%,1100px);max-height:calc(100dvh - 56px);overflow:auto;box-shadow:0 8px 50px #1f2f2d4d;border-color:#b9c8ab}
.ndv-expanded .ndv-header{padding:10px 14px}
.ndv-expanded .ndv-header strong{font-size:14px}
.ndv-expanded .ndv-map{min-height:0;height:min(52dvh,480px);aspect-ratio:960/420}
.ndv-expanded .ndv-stage{max-width:none}
.ndv-expanded .ndv-character,.ndv-expanded .ndv-character svg{width:34px;height:47px}
.ndv-expanded .ndv-player{height:55px;width:42px}
.ndv-expanded .ndv-speech{bottom:58px;font-size:12px}
.ndv-expanded .ndv-name{font-size:11px!important;line-height:17px!important}
.ndv-expanded .ndv-below{padding:10px 14px}
.ndv-expanded .ndv-place{font-size:12px!important;padding:3px 10px!important}
body.ndv-dialog-open{overflow:hidden!important}
@media(max-width:760px){
 .nd-village{margin:4px 0 14px}
 .ndv-map{min-height:205px;aspect-ratio:auto}
 .ndv-map-note{display:none}
 .ndv-activity-guide{font-size:10px;padding:6px 7px;gap:6px}
 .ndv-activity-guide button{min-height:36px;padding:4px 7px}
 .ndv-tree-place svg{width:70px;height:76px}
 .ndv-tree-place>span{font-size:10px;line-height:18px}
 .ndv-below{padding:6px 7px}
 .ndv-header{padding:6px 7px}
 .ndv-tagline{font-size:10px}
 .ndv-place{padding:1px 5px!important;font-size:10px!important;line-height:17px!important}
 .ndv-mobile-controls{display:flex;flex-direction:column;align-items:stretch;gap:3px;justify-content:flex-end;margin:-55px 0 5px auto;min-height:30px;width:91px}
 .ndv-dpad{display:grid;grid-template-columns:29px 29px 29px;grid-template-rows:26px 26px;gap:2px;touch-action:none}
 .ndv-dpad button{width:29px;height:26px;border:1px solid #c8d4ba;border-radius:3px;background:#f1f6e7;color:#829575;line-height:22px;font-size:15px;padding:0;touch-action:none;user-select:none;-webkit-user-select:none}
 .ndv-dpad button:active{background:#dcebc9;border-color:#9bb685}
 .ndv-dpad button[data-ndv-direction=up]{grid-column:2;grid-row:1}
 .ndv-dpad button[data-ndv-direction=left]{grid-column:1;grid-row:2}
 .ndv-dpad button[data-ndv-direction=down]{grid-column:2;grid-row:2}
 .ndv-dpad button[data-ndv-direction=right]{grid-column:3;grid-row:2}
 .ndv-action{border:1px solid #c8d4ba;border-radius:3px;background:#f1f6e7;color:#829575;height:25px;padding:0 4px;font-size:9px!important;white-space:nowrap}
 .ndv-identity{padding-right:94px}
 .ndv-pause{margin-left:5px;font-size:9px!important}
 .ndv-status{max-width:calc(100% - 93px);margin-bottom:7px!important;min-height:30px;display:flex;align-items:center}
 .ndv-chat{gap:4px}
 .ndv-chat a{font-size:9px!important;margin-left:1px}
 .ndv-chat input{height:30px;font-size:12px}
 .ndv-chat button{height:30px;padding:2px 7px}
 .ndv-help #ndv-chat-note{display:none}
 .ndv-expanded{padding:10px}
 .ndv-expanded .ndv-panel{max-height:calc(100dvh - 20px)}
 .ndv-expanded .ndv-map{height:min(49dvh,440px);min-height:240px}
 .ndv-expanded .ndv-place{font-size:10px!important;padding:2px 5px!important}
 .ndv-expanded .ndv-character,.ndv-expanded .ndv-character svg{width:29px;height:40px}
 .ndv-expanded .ndv-player{height:48px;width:36px}
 .ndv-expanded .ndv-speech{bottom:51px;font-size:11px}
}
@media(max-width:410px){
 .ndv-tagline{display:none}
 .ndv-chat a{display:none}
 .ndv-help{font-size:9px!important}
 .ndv-status{font-size:9px!important}
 .ndv-avatar-label{font-size:9px}
 .ndv-avatar-label{display:none}
 .ndv-identity{gap:4px}
 .ndv-avatar-picker{gap:3px}
 .ndv-avatar-option{width:25px;height:27px}
 .ndv-place{padding:1px 4px!important;letter-spacing:-.8px;font-size:9px!important}
}
@media(prefers-reduced-motion:reduce){
 .ndv-player{transition:none}
 .ndv-walking .ndv-character{animation:none}
 .ndv-expanded{backdrop-filter:none}
}
