.brand{display:flex;flex-direction:column;align-items:flex-start;gap:0;letter-spacing:0}.brand-logo{width:180px;height:60px;object-fit:contain}.brand-caption{font-size:12px;font-weight:500;letter-spacing:0;margin-top:0}.header{min-height:106px}.header-note{font-family:'Gowun Dodum',sans-serif}.village-heading{padding:28px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.village-heading h1{font-family:'Gowun Dodum',sans-serif;letter-spacing:-1px;font-size:32px;line-height:1.45;margin:6px 0 7px}.village-heading h1>span{margin-left:12px;color:#c76088;font-size:28px}.village-heading p{font-size:14px;color:var(--muted);margin:0}.village-counter{background:#fff0b3;color:#756027;border:1px solid #d6b554;border-radius:12px;padding:9px 13px;font-size:13px;white-space:nowrap;transform:rotate(3deg)}.village-frame{border:2px solid #89afd9;border-radius:22px;background:#fff;overflow:hidden;box-shadow:6px 6px 0 #c7d8ee}.village-topbar{padding:12px 22px;background:#fff;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;border-bottom:1px solid #9ac3e7}.village-topbar>span:first-child>span{color:#db87a0;margin-right:6px}.village-topbar>span:last-child{font-size:13px;color:#547599;background:#edf5ff;border:1px solid #d2e3f6;padding:2px 10px;border-radius:6px}.village-map{position:relative;width:100%;aspect-ratio:16/9;background:#a6dec4;overflow:hidden;isolation:isolate}.village-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.house-layer{position:absolute;inset:0}.village-house{position:absolute;left:var(--house-x);top:var(--house-y);transform:translate(-50%,-50%);width:var(--house-size,17%);min-width:94px;border:0;background:none;padding:0;color:#294062;display:flex;flex-direction:column;align-items:center;z-index:2;transition:filter .15s;filter:drop-shadow(0 6px 2px #406f542a)}.village-house img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;image-rendering:pixelated;transition:transform .18s}.village-house:hover:not(:disabled){transform:translate(-50%,-50%);filter:drop-shadow(0 8px 3px #37613e50)}.village-house:hover img,.village-house:focus-visible img{transform:translateY(-5px)}.village-house:focus-visible{outline:3px solid #2b64b7;outline-offset:2px;border-radius:14px;background:#ffffff25}.house-name{margin-top:-12px;border:1.5px solid #835e3b;background:#fffbdf;box-shadow:0 3px 0 #835e3b40;border-radius:7px;padding:3px 12px;font-size:15px;font-weight:700;white-space:nowrap;max-width:190px;overflow:hidden;text-overflow:ellipsis}.house-hint{font-size:12px;padding:1px 8px;background:#fff9e9e8;color:#6c654e;border-radius:4px;margin-top:4px}.village-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 20px;background:#fbfdff;border-top:1px solid #9ac3e7;font-size:13px;color:#617b97}.village-bottom>span>span{color:#d77295;font-size:19px;margin-right:5px}.map-list-button{border:0;background:none;font-size:13px;text-decoration:underline;text-underline-offset:4px;color:#3568aa;padding:5px;white-space:nowrap}.village-postcard{margin:25px auto 8px;max-width:790px;display:flex;align-items:center;gap:22px;background:#fff7d9;border:1px dashed #bda658;border-radius:15px;padding:10px 24px;position:relative}.village-postcard>img{width:91px;height:91px;object-fit:contain}.village-postcard b{font-family:'Gowun Dodum',sans-serif;font-size:19px}.village-postcard p{font-size:14px;color:#766c4c;line-height:1.8;margin:3px 0 0}.village-postcard>span{margin-left:auto;font-family:monospace;font-size:12px;line-height:1.9;color:#ac8d48;letter-spacing:1.5px;transform:rotate(-6deg);text-align:center}.back-to-village{border:1px solid #a8c4e8;border-radius:10px;background:#fff;padding:7px 13px;font-size:14px;color:#3166ac;margin-top:23px}.back-to-village span{font-size:21px;padding-right:6px}.patch-card+.patch-card{margin-top:22px}.patch-body>p{white-space:pre-line}.patch-meta{flex-wrap:wrap}.art-name{overflow-wrap:anywhere;font-size:clamp(26px,3.5vw,43px)}.download-note{font-size:12px}.download-link{justify-content:center;margin:20px 0 8px}.download-link:hover{background:#2867c8}#release-notes h3,#patch-instructions h3{font-size:16px;margin:18px 0 8px}#changes-list,#instructions-list{font-size:14px;padding-left:22px;color:var(--muted)}.village-map.expanded{aspect-ratio:auto;min-height:var(--map-height)}.village-map.expanded .village-background{object-fit:cover}.village-map.expanded .village-house{width:145px}.village-map.expanded .house-name{font-size:13px;padding:2px 8px}
.patch-art.has-title{background:#152638;background-image:none;padding:0;display:flex;align-items:center;justify-content:center;min-height:0}.game-title-image{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;image-rendering:pixelated;aspect-ratio:3/2}
@media(max-width:950px){.village-heading h1{font-size:28px}.village-counter{font-size:12px;padding:7px 10px}.village-heading p{font-size:14px}.house-name{font-size:14px;padding:2px 10px}.house-hint{font-size:12px}.village-postcard>span{display:none}}
@media(max-width:600px){.header{min-height:unset}.brand-logo{width:170px;height:55px}.brand-caption{font-size:12px}.village-heading{padding:24px 0 20px;display:block}.village-heading h1{font-size:27px;letter-spacing:-1px}.village-heading h1>span{font-size:22px;margin-left:6px}.village-heading p{font-size:14px;max-width:330px;line-height:1.9}.village-counter{display:inline-block;margin-top:14px;transform:rotate(-2deg);font-size:12px}.village-topbar{padding:10px 14px}.village-map{aspect-ratio:4/3;min-height:310px}.village-background{object-fit:cover}.village-house{min-width:112px;width:34%}.house-name{font-size:14px}.village-frame{border-radius:18px;box-shadow:4px 4px 0 #c7d8ee}.village-bottom{padding:11px 12px;align-items:flex-start;gap:6px;flex-wrap:wrap;font-size:12px}.map-list-button{margin-left:auto;font-size:13px}.village-postcard{padding:12px;gap:7px;margin-top:23px}.village-postcard>img{width:70px;height:86px}.village-postcard b{font-size:17px}.village-postcard p{font-size:13px}.patch-meta{gap:8px 20px}.art-name{font-size:42px}.village-map.expanded .village-house{width:108px;min-width:0}.village-map.expanded .house-name{font-size:12px;max-width:108px}.village-map.expanded .house-hint{display:none}}

/* Cozy village entrance: paper keepsakes and small interactive landmarks. */
#village-view .village-heading{padding:36px 8px 30px;align-items:center}
#village-view .village-heading .eyebrow{display:inline-block;padding:5px 12px;border:1px solid #d9bd8f;border-radius:30px;background:#fff9e9;color:#967448;font-size:12px;letter-spacing:1px}
#village-view .village-heading h1{font-size:clamp(30px,3.8vw,48px);line-height:1.35;letter-spacing:-1.8px;margin:13px 0}
#village-view .village-heading h1>span{display:inline-block;font-size:28px;transform:rotate(12deg)}
#village-view .village-heading p{line-height:1.85;color:#927856}
#village-view .village-counter{white-space:normal;width:144px;min-height:114px;display:grid;place-items:center;text-align:center;border:2px dashed #c69860;outline:5px solid #fff0c9;background:#fff0c9;border-radius:50%;padding:20px;font-size:14px;line-height:1.8;transform:rotate(8deg);box-shadow:7px 8px 0 #dec39140}
#village-view .village-frame{border:3px solid #a77c50;box-shadow:0 5px 0 #855f3b,0 12px 0 #ddbd8b55;border-radius:24px}
#village-view .village-topbar{background:repeating-linear-gradient(90deg,#fff5dc 0 26px,#f9e9ca 26px 52px);padding:14px 22px;letter-spacing:1px}
.village-welcome-sign{position:absolute;left:5%;top:7%;z-index:1;display:flex;flex-direction:column;align-items:center;background:#fff1cceF;color:#795334;padding:9px 17px 11px;border:3px solid #967049;border-radius:8px;box-shadow:3px 4px 0 #5a483c26;transform:rotate(-4deg);pointer-events:none}
.village-welcome-sign:after{content:'';position:absolute;top:100%;width:9px;height:25px;background:#99724c;border:2px solid #775437;border-top:0;z-index:-1}
.village-welcome-sign small{font-size:9px;letter-spacing:3px;color:#ad8760}.village-welcome-sign b{font-family:'Gowun Dodum',sans-serif;font-size:17px;line-height:1.8}.village-welcome-sign span{font-size:10px;color:#a47b55}
.village-mailbox{position:absolute;right:10%;bottom:13%;z-index:3;background:none;border:0;display:flex;flex-direction:column;align-items:center;color:#725332;padding:8px;transition:transform .18s}
.village-mailbox:hover{transform:translateY(-4px)}.village-mailbox:focus-visible{outline:3px solid #7e5435;border-radius:12px;outline-offset:3px}
.mailbox-art{display:block;position:relative;width:54px;height:44px;border:3px solid #90503d;border-radius:20px 20px 5px 5px;background:#d58469;box-shadow:inset 4px 0 #f3b895,inset -4px 0 #b96952;margin:0 0 24px}
.mailbox-art:before{content:'';position:absolute;left:8px;right:8px;top:11px;height:4px;background:#784b3a;border-radius:4px}.mailbox-art:after{content:'';position:absolute;top:100%;left:21px;width:8px;height:25px;background:#ad8154;border:2px solid #7e5b3d}.mailbox-art span{position:absolute;top:18px;left:20px;font-size:13px;color:#ffe6bf}
.village-mailbox b{padding:3px 10px;border:1px solid #ae895b;background:#fff4d7;border-radius:6px;font-size:12px;box-shadow:0 2px 0 #7a553633}.village-mailbox small{background:#fff6e2e8;border-radius:4px;padding:2px 7px;font-size:10px;margin-top:3px}
.village-wildflowers{position:absolute;bottom:15%;left:24%;display:flex;align-items:flex-end;gap:18px;pointer-events:none}.village-wildflowers i{position:relative;width:3px;height:22px;background:#68815a;transform:rotate(-12deg)}.village-wildflowers i:before{content:'';position:absolute;top:-5px;left:-3px;width:9px;height:9px;border-radius:50%;background:#e5af5e;box-shadow:0 -6px #fff0cb,6px 0 #fff0cb,-6px 0 #fff0cb,0 6px #fff0cb}.village-wildflowers i:nth-child(2){height:32px;transform:rotate(8deg)}.village-wildflowers i:nth-child(3){height:17px;transform:rotate(18deg)}
.village-map.expanded .village-welcome-sign,.village-map.expanded .village-wildflowers{display:none}.village-map.expanded .village-mailbox{bottom:0;right:0;transform:scale(.8);transform-origin:bottom right}
#village-view .village-postcard{margin:36px auto 24px;max-width:740px;padding:20px 30px;border:1px solid #d4b788;border-radius:5px;background:repeating-linear-gradient(#fff8e7 0 29px,#e5d3ac55 29px 30px);box-shadow:4px 6px 0 #dec39155;transform:rotate(-1deg)}
#village-view .village-postcard>span.postcard-tape{position:absolute;top:-11px;left:calc(50% - 35px);width:70px;height:22px;background:#d9ac7870;transform:rotate(3deg);border-left:2px dashed #fff5d8;border-right:2px dashed #fff5d8;margin:0}
#village-view .village-postcard>img{width:105px;height:105px;filter:drop-shadow(0 4px 0 #d8ba8640)}
#village-view .village-story{border-top:1px dashed #cfb184;padding-top:22px}
@media(max-width:600px){#village-view .village-heading{display:flex;padding:26px 0 24px;gap:8px}#village-view .village-heading h1{font-size:29px;letter-spacing:-1.2px}#village-view .village-heading p{font-size:12px}#village-view .village-heading .eyebrow{font-size:10px;padding:4px 8px}#village-view .village-counter{width:85px;min-width:85px;min-height:85px;padding:12px;font-size:11px;outline-width:3px;line-height:1.7}#village-view .village-heading h1>span{font-size:20px;margin-left:4px}.village-welcome-sign{left:4%;top:5%;padding:5px 8px;border-width:2px}.village-welcome-sign b{font-size:12px}.village-welcome-sign small{font-size:7px;letter-spacing:2px}.village-welcome-sign span{font-size:8px}.village-welcome-sign:after{height:16px}.village-mailbox{right:2%;bottom:3%;transform:scale(.82);transform-origin:bottom right}.village-mailbox:hover{transform:scale(.82) translateY(-3px)}.village-wildflowers{left:10%;bottom:10%;transform:scale(.8)}#village-view .village-postcard{padding:15px 12px;gap:10px}#village-view .village-postcard>img{width:76px;height:86px}#village-view .village-postcard b{font-size:16px}#village-view .village-postcard p{font-size:12px}#village-view .village-postcard>span.postcard-tape{display:block}}
@media(prefers-reduced-motion:reduce){.village-mailbox,.village-house img{transition:none}}

/* Keep the complete village visible on narrow screens. */
@media(max-width:600px){
  #village-view .village-map:not(.expanded){aspect-ratio:1672/941;min-height:0}
  #village-view .village-map:not(.expanded) .village-background{object-fit:contain}
  #village-view .village-map:not(.expanded) .village-house{width:27%;min-width:76px}
  #village-view .village-map:not(.expanded) .house-name{font-size:11px;padding:1px 7px;margin-top:-8px}
  #village-view .village-map:not(.expanded) .house-hint{font-size:9px;padding:0 4px;margin-top:2px}
  #village-view .village-map:not(.expanded) .village-welcome-sign{top:5%;left:4%;padding:3px 5px;border-width:1px;border-radius:4px}
  #village-view .village-map:not(.expanded) .village-welcome-sign b{font-size:9px}
  #village-view .village-map:not(.expanded) .village-welcome-sign small{font-size:6px;letter-spacing:1px}
  #village-view .village-map:not(.expanded) .village-welcome-sign span{display:none}
  #village-view .village-map:not(.expanded) .village-welcome-sign:after{height:10px;width:5px;border-width:1px}
  #village-view .village-map:not(.expanded) .village-mailbox{right:8%;bottom:8%;padding:8px;min-width:48px;min-height:48px;transform:none}
  #village-view .village-map:not(.expanded) .mailbox-art{width:30px;height:26px;border-width:2px;border-radius:12px 12px 4px 4px;margin-bottom:10px}
  #village-view .village-map:not(.expanded) .mailbox-art:before{top:6px;left:5px;right:5px;height:3px}
  #village-view .village-map:not(.expanded) .mailbox-art:after{left:11px;width:5px;height:11px;border-width:1px}
  #village-view .village-map:not(.expanded) .mailbox-art span{top:10px;left:10px;font-size:9px}
  #village-view .village-map:not(.expanded) .village-mailbox b{font-size:9px;padding:1px 4px}
  #village-view .village-map:not(.expanded) .village-mailbox small,#village-view .village-map:not(.expanded) .village-wildflowers{display:none}
}

/* Keep the village center open; houses and the mailbox sit to the sides. */
.village-map:not(.expanded) .village-house{width:14%;min-width:80px}
.village-map:not(.expanded) .village-mailbox{right:11%;bottom:15%;transform:scale(.8);transform-origin:bottom right}
.village-map:not(.expanded) .village-mailbox:hover{transform:scale(.8) translateY(-3px)}
@media(max-width:600px){
  #village-view .village-map:not(.expanded) .village-house{width:22%;min-width:62px}
  #village-view .village-map:not(.expanded) .village-mailbox{right:9%;bottom:13%;transform:none}
  #village-view .village-map:not(.expanded) .village-mailbox:hover{transform:translateY(-2px)}
  #village-view .village-map:not(.expanded) .mailbox-art{width:26px;height:23px}
  #village-view .village-map:not(.expanded) .mailbox-art:after{left:9px}
  #village-view .village-map:not(.expanded) .mailbox-art span{left:8px;top:9px}
}

#patch-dialog .detail-list dd,#patch-dialog li{overflow-wrap:anywhere}

/* A second house must not switch phones back to a tall, cropped map. */
.village-map.expanded .village-welcome-sign{display:flex}
@media(max-width:600px){
  #village-view .village-map,#village-view .village-map.expanded{aspect-ratio:1672/941;min-height:0}
  #village-view .village-map .village-background{object-fit:contain}
  #village-view .village-map.expanded .village-welcome-sign{top:4%;left:3%;padding:2px 4px;border-width:1px;border-radius:4px}
  #village-view .village-map.expanded .village-welcome-sign b{font-size:8px;line-height:1.4}
  #village-view .village-map.expanded .village-welcome-sign>small{display:none}
  #village-view .village-map.expanded .village-welcome-sign>span{display:none}
  #village-view .village-map.expanded .village-welcome-sign:after{height:8px;width:4px;border-width:1px}
  #village-view .village-map.expanded .village-house{width:20%;min-width:0}
  #village-view .village-map.expanded .house-name{font-size:9px;padding:1px 4px;max-width:106px;margin-top:-6px}
  #village-view .village-map.expanded .house-hint{font-size:8px;padding:0 3px;margin-top:2px}
  #village-view .village-map.expanded .village-mailbox{right:1%;bottom:1%;padding:4px;transform:none;min-width:44px;min-height:44px}
  #village-view .village-map.expanded .mailbox-art{width:22px;height:20px;border-width:2px;border-radius:10px 10px 3px 3px;margin-bottom:8px}
  #village-view .village-map.expanded .mailbox-art:before{top:5px;left:4px;right:4px;height:2px}
  #village-view .village-map.expanded .mailbox-art:after{left:8px;width:4px;height:9px;border-width:1px}
  #village-view .village-map.expanded .mailbox-art span{left:7px;top:7px;font-size:8px}
  #village-view .village-map.expanded .village-mailbox b{font-size:8px;padding:0 3px}
  #village-view .village-map.expanded .village-mailbox small{display:none}
}

/* Keep full game names readable beneath each themed building, including on phones. */
.village-map .house-name{white-space:normal;overflow:visible;text-overflow:clip;word-break:keep-all;overflow-wrap:anywhere;text-align:center;line-height:1.4}
@media(max-width:600px){.village-map.expanded .house-name{width:max-content;max-width:128px;padding:3px 6px;font-size:11px}.village-map.expanded .house-hint{display:block;font-size:10px}}

/* A tiny hanging counter under the village nameplate. */
.village-welcome-sign .visitor-counter{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:7px;padding:6px 10px;border-top:1px dashed #c5a177;color:#765135;background:#fff8e6;border-radius:4px;font-size:11px;white-space:nowrap}.visitor-counter em{font-style:normal;color:#c76e56}.visitor-counter strong{font-size:16px;color:#a44f34;font-variant-numeric:tabular-nums}.village-welcome-sign .visitor-counter small{font-size:10px;letter-spacing:0;color:#765135}
@media(max-width:600px){#village-view .village-map .village-welcome-sign .visitor-counter{margin-top:3px;padding:3px 4px;gap:3px;font-size:9px}#village-view .village-map .visitor-counter strong{font-size:12px}#village-view .village-map .visitor-counter small{font-size:9px}}

/* Small console plaques; names always identify the platform as well. */
.house-platform{position:relative;z-index:1;display:inline-flex;align-items:center;gap:4px;margin:-23px 0 11px;padding:2px 6px;border:1px solid #896c51;border-radius:5px;background:#fff6db;color:#664933;font:bold 10px/1.2 monospace;box-shadow:0 2px 0 #76533633}
.house-platform[hidden]{display:none}.house-platform:before{content:'';width:12px;height:8px;border:1.5px solid currentColor;border-radius:2px;background:linear-gradient(90deg,transparent 25%,#896c5140 25% 75%,transparent 75%)}
.house-platform[data-portable="true"]:before{border-radius:5px;width:16px;box-shadow:inset 3px 0 #d9c5a0,inset -3px 0 #d9c5a0}
.village-map.many-houses .village-house{width:125px}.village-map.many-houses .house-name{max-width:clamp(110px,17vw,180px);width:max-content}
@media(max-width:600px){
 #village-view .village-map.many-houses .village-house{width:19%;min-width:0}
 #village-view .village-map.many-houses .village-house img{height:42px;width:56px}
 #village-view .village-map .house-platform{font-size:8px;padding:1px 4px;gap:2px;margin:-9px 0 7px}
 #village-view .village-map .house-platform:before{width:9px;height:6px;border-width:1px}
 #village-view .village-map.many-houses .house-name{font-size:9px;line-height:1.25;max-width:90px;padding:2px 3px;margin-top:-5px}
 #village-view .village-map.many-houses .house-hint{font-size:8px;line-height:1.2;padding:1px 3px;margin-top:2px}
 #village-view .village-map.many-houses .village-mailbox{right:0;bottom:0;transform:scale(.65);transform-origin:bottom right}
}

/* Preserve native title proportions for PS1, PS2 and PSP artwork. */
.patch-art.has-title{position:relative;background:#171c27}.patch-art.has-title .game-title-image{aspect-ratio:auto;object-fit:contain;width:100%;height:auto;max-height:340px}.title-preview-caption{position:absolute;bottom:5px;left:8px;background:#171c27df;color:#fff4d9;padding:3px 7px;border-radius:5px;font-size:10px}
