:root{--village-ink:#254456;--village-blue:#527d8c;--village-paper:#fff9ed;--village-clay:#bc7555;--village-line:#d4dfdc}
body{color:var(--village-ink);background:#f5f5e9}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid #d6a961;outline-offset:5px}
.green-button{background:#476f75;color:#fff9e9;box-shadow:0 5px 15px #26495913}
.green-button:hover{background:#355862;transform:translateY(-2px)}
.site-header{color:#244252}.site-header .brand-caption{color:#42626d}.site-header .header-tools{gap:12px}
.account-link{font-size:12px;font-weight:600;border:1px solid #ffffff77;border-radius:30px;background:#fff8e9de;color:#294956;padding:10px 16px;white-space:nowrap;text-decoration:none}
.desktop-nav{gap:14px}.header-cta{background:#bc7655}.anime-hero-copy p{color:#fffef8;text-shadow:0 1px 8px #29485c55}
.game-home{background:linear-gradient(#e9f0e8,#f3f3e4);color:#294956}.game-frame{border:1px solid #647f8133;box-shadow:0 22px 65px #26485917;background:#88bbd3;overflow:hidden}
.game-frame .world-canvas{height:660px;min-height:500px;background:#85bfdf;border-radius:0;isolation:isolate}
.world-canvas.village-world:before,.world-canvas.village-world:after{display:none}
.world-canvas canvas{display:block;width:100%;height:100%;touch-action:none}
.world-object-actions{position:absolute;z-index:3;top:18px;right:18px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:270px}
.world-object-actions button{padding:7px 10px;font-size:11px;border:1px solid #ffffff66;border-radius:8px;background:#fff8e9e6;color:#315160;box-shadow:0 2px 10px #1e43511a;backdrop-filter:blur(12px)}
.world-object-actions button:hover{background:#fff}.world-toolbar{z-index:4;bottom:24px!important;background:#fff9eee8!important;box-shadow:0 6px 25px #29485630;border:1px solid #ffffff99;backdrop-filter:blur(14px)}
.world-toolbar button{color:#365965}.world-toolbar [data-world-command=cutaway]{background:#46727b;color:#fff9ed;min-width:88px}
.world-hint{top:22px;left:20px;color:#fff;z-index:2;background:#2749585c;padding:7px 11px;border-radius:8px;font-size:10px;text-shadow:none}
.village-atmosphere{position:absolute;left:20px;bottom:90px;z-index:2;display:flex;flex-direction:column;gap:5px;color:#fff9e9;background:#26485a9e;padding:12px 16px;border-radius:12px;backdrop-filter:blur(8px);pointer-events:none}
.village-atmosphere span{font-size:11px}.village-atmosphere small{font-size:10px;color:#e4e8d7}
.village-floor-controls{position:absolute;left:20px;top:64px;z-index:3;display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:250px}
.village-floor-controls>span{font-size:10px;padding:8px;color:#fff;background:#25485a88;border-radius:6px}
.village-floor-controls button{border:1px solid #e8d5b1;background:#fff8e7;color:#345764;border-radius:8px;padding:9px 11px;font-size:12px;font-weight:700}
.village-floor-controls button.active{background:#bb7954;color:#fff;border-color:#bb7954}
.game-hud{background:#faf7e8ed;backdrop-filter:blur(14px);position:relative!important;inset:auto!important;pointer-events:auto;color:#355665}
.game-location>span{color:#718478}.game-location h3{color:#294959}.game-tools button{background:#e8ece0;color:#3d606c}
.game-bottom{background:#faf7e8;color:#325462}.game-sound-note{display:none}
.compact-world{min-height:380px!important;height:420px!important;isolation:isolate}
.modal-decorate .compact-world{min-height:420px!important;height:500px!important}
.compact-world .world-object-actions{max-width:200px;top:12px;right:10px}.compact-world .world-object-actions button{font-size:9px;padding:6px}.compact-world .world-hint{top:12px;left:10px;font-size:9px}.compact-world .village-atmosphere{font-size:9px;left:10px;bottom:76px;padding:9px;max-width:180px}.compact-world .village-atmosphere span{font-size:9px}
.zone-tabs{display:flex;flex-wrap:wrap;gap:6px}.zone-tabs button{flex:1 1 90px;font-size:10px;white-space:nowrap;padding:9px 6px}.decor-options>.outline-button{width:100%;margin:12px 0}.slot-grid{grid-template-columns:repeat(4,1fr)}
.home-mailbox{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px;background:#e4ece6;padding:100px max(6vw,28px);color:#345563}
.home-mailbox h2{font-family:var(--serif,serif);font-weight:400;font-size:clamp(28px,3vw,46px);line-height:1.35}.home-mailbox p{font-size:13px;color:#678079;line-height:2.1;margin:22px 0 28px}
.mailbox-illustration{position:relative;transform:rotate(3deg);padding:16px 16px 48px;background:#fff8e9;box-shadow:0 12px 40px #35586520;border-radius:5px}.mailbox-illustration img{display:block;width:100%;aspect-ratio:1.1;object-fit:cover}.mailbox-illustration>span{position:absolute;right:0;bottom:-20px;font-size:90px;color:#b86d4b;line-height:1;filter:drop-shadow(0 5px 8px #52675622)}
.membership-card{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center;padding:64px max(5vw,28px);background:#fbf5e7;border-top:1px solid #dfdfce;border-bottom:1px solid #dfdfce;color:#2d4e5e}
.membership-copy h2{font-size:clamp(27px,3vw,40px);font-weight:400;font-family:var(--serif,serif);margin:18px 0}.membership-copy>p{font-size:13px;line-height:2;color:#6e8179}.membership-copy ul{padding:0;list-style:none;display:grid;gap:12px;margin:25px 0;font-size:12px}.membership-copy li:before{content:'✦';color:#b28a4e;margin-right:10px}.membership-copy>small{display:block;font-size:10px;line-height:1.8;color:#7a8a80}
.membership-price{border-left:1px solid #dadaca;text-align:center;padding:20px 10px 20px 50px}.membership-price>span{font-size:11px;letter-spacing:3px;color:#826d57}.membership-price>div{font-family:Georgia,serif;line-height:1.1;margin-top:8px}.membership-price strong{font-weight:400;font-size:96px}.membership-price>div small{font-size:30px;vertical-align:top;line-height:2}.membership-price>p{font-size:12px;color:#7d8371}.membership-price>.green-button{margin:22px auto 13px;display:flex;justify-content:center;min-width:210px}.membership-price>small{display:block;font-size:10px;line-height:1.9;color:#8c8a77}.member-active{display:inline-block;padding:14px 20px;border:1px solid #9bb9a0;border-radius:9px;color:#52795d;font-size:13px;margin-top:20px}
.account-welcome{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:60px 0 36px}.account-welcome h1{font-family:var(--serif,serif);font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1.5;margin:15px 0}.account-welcome p{font-size:13px;line-height:1.9;color:#6c817c}.account-welcome>.green-button,.account-welcome>.outline-button{white-space:nowrap;text-decoration:none}.account-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:32px}.account-stats>div{background:#e8ede1;border:1px solid #dce3d8;border-radius:15px;padding:24px;display:flex;flex-direction:column;gap:10px}.account-stats b{font-family:Georgia,serif;font-size:38px;font-weight:400;color:#446c72}.account-stats span{font-size:11px;color:#75847a}
.account-home{border:1px solid #d7ded2;border-radius:20px;overflow:hidden;background:#edf0e5}.account-section-title{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 28px}.account-section-title h2{font-family:var(--serif,serif);font-size:24px;font-weight:400}.account-section-title>span{font-size:11px;color:#6d8479}.account-home .world-canvas{height:620px;position:relative;background:#91bfda}.account-sync{padding:20px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.account-sync small{font-size:10px;color:#7b8c80}.account-sync .text-link{margin-left:auto;font-size:11px}.sync-pill{font-size:10px;color:#6f856c}.sync-pill:before{content:'●';margin-right:6px}.sync-pill.offline,.sync-pill.conflict{color:#b6794e}.sync-pill.saving{color:#6387aa}
.account-home~.membership-card{margin-top:40px;border-radius:18px;border:1px solid #dedfcc}.cloud-problem{background:#f5e5ce;padding:25px;border-radius:14px;margin-top:25px}.cloud-problem h3{font-size:15px}.cloud-problem p{font-size:12px;line-height:1.9}.cloud-problem button{font-size:11px;margin:10px 10px 0 0}
.letter-archive{padding:80px 0}.letter-archive h2{font-family:var(--serif,serif);font-size:36px;font-weight:400;margin:18px 0}.letter-archive>p{font-size:13px;line-height:2;color:#748579}.letter-shelves{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:35px}.letter-tile{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;padding:20px;border:1px solid #d9decf;background:#e8ecdf;border-radius:10px;min-height:165px;opacity:.55}.letter-tile.unlocked{background:#fff8e9;opacity:1;box-shadow:0 5px 15px #315a6810}.letter-tile>span{font-size:30px;line-height:1;color:#ad7656}.letter-tile small{font-size:9px;letter-spacing:1px}.letter-tile b{font-weight:400;font-size:12px;line-height:1.5}.letter-tile i{font-size:9px;font-style:normal;color:#7e8b7c}.letter-house-stamp{float:right;width:85px;height:100px;object-fit:cover;border:6px solid #d8d9b8;transform:rotate(5deg);margin:0 0 20px 20px}.village-letter>small{font-size:10px;color:#8c8c6c}.village-envelope .envelope-back{background:#d2b991}.village-envelope .wax-seal{background:#b7674c}.village-letter{background:#fff7e3;color:#3a4e50}.milestone-ceremony{background:radial-gradient(ellipse at 50% 30%,#fae9b922,transparent 75%)}.milestone-letter-note{padding:20px;background:#f0e4c9;border:1px solid #e2d3b5;border-radius:12px;margin:22px 0;color:#916a4a;font-size:12px;line-height:2}.milestone-letter-note b{font-family:var(--serif,serif);font-size:18px;font-weight:400}
.shop-display{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0 30px}.shop-display>div{padding:15px;border:1px solid #e0d8c4;background:#f7eedb;border-radius:12px;text-align:center}.shop-display svg{display:block;max-width:100%;height:120px;width:100%}.shop-display span{font-size:11px;color:#7a7f68}
.boot-welcome{height:65vh;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:20px;color:#577985}.boot-welcome>span{font-size:40px;animation:seedFloat 3s ease-in-out infinite}.boot-welcome p{font-size:13px}.modal-wide .membership-card{padding:25px;background:transparent;border:0}.modal-wide .membership-price{padding-left:25px}.modal-wide .membership-copy h2{font-size:29px}
@media(min-width:1100px){.game-frame .world-canvas{height:720px}.main-shell:has(.account-welcome){max-width:1320px;padding-left:40px;padding-right:40px;margin:auto}}
@media(max-width:1100px){.site-header .desktop-nav{gap:8px}.site-header .nav-item{font-size:11px}.site-header .nav-comma{display:none}.site-header .header-cta{display:none}.letter-shelves{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.site-header .header-tools{gap:9px}.account-link{font-size:10px;padding:8px 10px}.site-header .nav-help,.site-header .nav-settings{display:none}.game-frame .world-canvas{height:570px;min-height:500px}.game-hud{padding:20px}.game-location h3{font-size:24px}.game-bottom{padding:18px 15px}.game-bottom .green-button{font-size:11px;padding:13px 16px}.world-object-actions{max-width:185px;right:10px;top:12px;gap:4px}.world-object-actions button{font-size:9px;padding:7px}.world-hint{left:10px;top:12px;max-width:130px;line-height:1.6;font-size:9px}.village-floor-controls{left:10px;top:70px;max-width:190px}.village-atmosphere{left:10px;bottom:90px;max-width:210px;padding:10px}.village-atmosphere span{font-size:9px}.village-atmosphere small{font-size:9px}.world-toolbar{gap:2px;max-width:94%;padding:5px!important;bottom:20px!important}.world-toolbar button{min-width:29px!important;padding:9px 10px!important;font-size:12px}.world-toolbar [data-world-command=cutaway]{min-width:85px!important;font-size:11px}.home-mailbox{grid-template-columns:1fr;padding:60px 24px;gap:45px}.mailbox-illustration{max-width:350px;margin:auto}.membership-card{grid-template-columns:1fr;padding:50px 25px;gap:30px}.membership-price{border-left:0;border-top:1px solid #dedaca;padding:30px 0 0}.membership-price strong{font-size:75px}.account-welcome{padding:40px 0 24px;align-items:flex-start;flex-direction:column}.account-welcome h1{font-size:30px}.account-stats{grid-template-columns:repeat(2,1fr)}.account-stats>div{padding:18px}.account-stats b{font-size:30px}.account-home .world-canvas{height:550px}.account-section-title{padding:20px;align-items:flex-start;flex-direction:column;gap:6px}.account-section-title h2{font-size:23px;margin:0}.account-sync{gap:12px}.account-sync .text-link{margin:0;width:100%;text-align:left}.letter-shelves{grid-template-columns:repeat(2,1fr)}.letter-tile{padding:16px;min-height:155px}.letter-archive{padding:50px 0}.letter-archive h2{font-size:29px}.modal-wide .membership-card{padding:10px}.modal-wide .membership-price{padding:25px 0 0}.compact-world,.modal-decorate .compact-world{height:440px!important;min-height:440px!important}.compact-world .world-object-actions{max-width:160px}.compact-world .world-hint{max-width:110px}.compact-world .village-atmosphere{max-width:190px}.home-mailbox .green-button{font-size:12px}.shop-display{gap:8px}.shop-display>div{padding:8px}.shop-display svg{height:90px}}
@media(prefers-reduced-motion:reduce){.boot-welcome>span{animation:none}.green-button:hover{transform:none}}
.game-frame .game-hud{position:absolute!important;inset:0 0 auto!important;padding:16px;background:linear-gradient(180deg,#fbf7e8c9,transparent);z-index:4;pointer-events:none;min-height:110px}
.game-frame .game-location{background:#fff9e9e3;border-radius:12px;padding:14px 18px;box-shadow:0 3px 18px #23485912;pointer-events:auto}
.game-frame .game-location h3{font-size:25px;margin:8px 0}.game-frame .game-tools{pointer-events:auto}
.game-frame .world-object-actions{top:77px;z-index:5}.game-frame .world-hint{display:none}.game-frame .village-floor-controls{top:145px}
.game-frame .game-hud{background:none;backdrop-filter:none}.game-frame .game-location{backdrop-filter:blur(8px)}
.village-slot-markers{position:absolute;inset:0;z-index:3;pointer-events:none}.village-slot-markers button{position:absolute;transform:translate(-50%,-50%);width:27px;height:27px;border:2px solid #fff5dc;border-radius:50%;background:#496d74da;color:#fff9e6;font:10px Georgia,serif;box-shadow:0 3px 8px #173d5540;pointer-events:auto;padding:0;display:grid;place-items:center}.village-slot-markers button.selected{background:#bc7a47;outline:2px solid #ffe2a1;outline-offset:3px}.village-slot-markers button:disabled{background:#7d817875;opacity:.5;pointer-events:none}
.game-frame .game-bottom{position:relative!important;inset:auto!important;border-radius:0;background:#fbf7e8;padding:18px 24px;flex-shrink:0}
.game-expanded{display:flex!important;flex-direction:column}.game-expanded .world-canvas{height:auto!important;min-height:0!important;flex:1 1 auto}.game-expanded .game-bottom{flex:0 0 auto}
@media(max-width:760px){.game-frame .game-location{padding:12px;max-width:165px}.game-frame .game-location h3{font-size:20px}.game-frame .game-location>span{font-size:8px}.game-frame .game-tools{gap:4px}.game-frame .game-tools button{width:32px;height:32px}.game-frame .world-object-actions{top:61px;max-width:150px}.game-frame .game-bottom{padding:15px}.game-frame .village-floor-controls{top:145px}.game-expanded .world-canvas{min-height:0!important}}
