@charset "UTF-8";
[hidden]{display:none!important}
:root{--paper:#f4f0e8;--ink:#343e35;--muted:#878b7f;--line:#dedfd2;--green:#40654c;--gold:#b7814d;--white:#fffcf6}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #b9a56a;outline-offset:3px}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{opacity:.6}.masthead{max-width:1512px;margin:auto;padding:27px 38px 24px;display:flex;align-items:center;gap:44px}.back{color:#747d70;font-size:13px}.brand{display:flex;gap:13px;align-items:center}.pixel-house{font-size:43px;color:var(--green);background:#e2e9d9;width:56px;height:56px;display:grid;place-items:center;border-radius:16px;line-height:1}.brand h1{font-size:24px;font-weight:750;letter-spacing:.03em;margin:0 0 5px}.brand p{margin:0;font-size:12px;color:var(--muted);letter-spacing:.04em}.live{margin-left:auto;font-size:12px;color:var(--green);white-space:nowrap}.live i,.map-location i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#72a967;margin-right:7px}.live.offline{color:#a26d43}.live.offline i{background:#c7945c}main{max-width:1512px;padding:0 38px;margin:auto}.world-bar{display:flex;border-top:1px solid var(--line);padding:18px 0 22px;gap:30px;align-items:center}.clock{display:flex;gap:13px;align-items:center;min-width:175px}.clock>span{width:42px;height:42px;border:1px solid #ddd7c0;border-radius:50%;display:grid;place-items:center;font-size:25px;color:var(--gold);background:#fbf4df}.clock b{font-size:13px;display:block}.clock small{color:var(--muted);display:block;margin-top:5px;font-size:11px}.inventory{display:grid;grid-template-columns:repeat(8,minmax(66px,1fr));width:100%;gap:6px}.resource-chip{display:flex;align-items:center;gap:8px;justify-content:center;padding:9px 5px;border-left:1px solid var(--line)}.resource-chip canvas{width:26px;height:26px;image-rendering:pixelated}.resource-chip small{display:block;font-size:10px;color:var(--muted);margin-bottom:2px}.resource-chip b{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px}.map-card,.side-card{border:1px solid #d9ddce;background:var(--white);border-radius:20px;overflow:hidden;box-shadow:0 5px 20px #354a3710}.map-top{height:80px;display:flex;align-items:center;justify-content:space-between;padding:18px 24px}.eyebrow{font-size:9px;letter-spacing:.2em;color:#99a087}.map-top h2{font-size:19px;margin:5px 0 0;font-weight:650;letter-spacing:.035em}.quiet{border:0;background:none;color:#78816f;font-size:11px;padding:8px}.viewport{height:560px;position:relative;background:#82ae78;overflow:hidden;isolation:isolate}.viewport canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.viewport canvas:active{cursor:grabbing}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#dce7cc;color:#546b4c;gap:12px;z-index:4}.loading span{font-size:12px;opacity:.6}.loader-house{font-size:62px;animation:breathe 1.8s ease-in-out infinite}@keyframes breathe{50%{transform:translateY(-8px)}}.map-location{position:absolute;top:16px;left:18px;padding:9px 12px;border-radius:8px;background:#faf6e8de;backdrop-filter:blur(8px);color:#61734f;font-size:10px;letter-spacing:.06em;pointer-events:none}.map-controls{position:absolute;right:16px;bottom:17px;display:flex;gap:3px;background:#fffcf2ed;border:1px solid #d9ddc8;border-radius:10px;padding:5px;box-shadow:0 3px 15px #233a2520}.map-controls button{border:0;background:none;min-width:30px;height:30px;font-size:15px;border-radius:6px}.map-controls button:hover{background:#e6eadb}.map-controls #fit{font-size:10px;min-width:39px}.map-controls span{border-left:1px solid var(--line);margin:4px}.map-hint{position:absolute;left:18px;bottom:25px;color:#f4f9ed;font-size:10px;text-shadow:0 1px 4px #294d37;background:#40664d88;padding:6px 9px;border-radius:6px;pointer-events:none}#toast{position:absolute;left:50%;top:65px;transform:translateX(-50%);background:#fffcf3eF;color:#3e5540;box-shadow:0 4px 16px #0002;padding:11px 15px;border-radius:10px;max-width:85%;font-size:12px;display:none}.map-footer{height:51px;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.map-footer b{font-weight:500}.map-footer small{font-size:10px;color:var(--muted)}.leaf-dot{background:#85a26f;width:6px;height:6px;border-radius:50%;margin-right:8px;display:inline-block}.side-card{height:692px;display:flex;flex-direction:column}.tabs{display:flex;border-bottom:1px solid var(--line);height:69px;flex-shrink:0;padding:0 17px;gap:8px}.tabs button{border:0;background:none;flex:1;position:relative;font-size:13px;color:#8a8e80}.tabs button[aria-selected=true]{color:var(--green);font-weight:700}.tabs button[aria-selected=true]:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:3px;border-radius:3px;background:var(--green)}.tabs small{padding:2px 4px;font-size:9px;background:#edf0e3;border-radius:4px;margin-left:2px}.tab-panel{padding:19px 20px 14px;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#c9d1bc transparent}.tab-panel[hidden]{display:none}.panel-heading{display:flex;justify-content:space-between;color:#8d9484;font-size:10px;margin-bottom:15px;gap:8px}.tiny-live{color:#81a06a;font-size:9px}.resident{padding:13px 0;border:0;border-bottom:1px solid #edf0e5;background:none;display:flex;width:100%;text-align:left;gap:11px;align-items:center;transition:background .2s}.resident:hover{background:#f1f4e8}.avatar{width:47px;height:47px;flex-shrink:0;border-radius:13px;background:#efeadd;display:grid;place-items:center}.avatar canvas{width:35px;height:35px;image-rendering:pixelated}.resident-main{flex:1;min-width:0}.resident-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.resident-head b{font-size:13px;font-weight:650}.resident-head small{font-size:9px;color:#9b9f91;white-space:nowrap}.resident-action{margin:6px 0;color:#69745f;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tiny-meter{width:100%;height:3px;background:#e8eddf;border-radius:3px}.tiny-meter i{display:block;height:3px;border-radius:3px;background:#9bb481}.footnote{font-size:10px;color:#929987;line-height:1.8;text-align:center;padding-top:18px}.filter-row{display:flex;gap:8px;margin-bottom:18px}.filter-row select{width:50%;background:#f4f5ed;border:1px solid #e0e5d5;border-radius:8px;padding:8px;font-size:10px;color:#637057}.log-entry{padding:0 0 17px 17px;border-left:1px solid #e0e5d5;position:relative;margin-left:3px}.log-entry:before{content:"";position:absolute;left:-4px;top:3px;width:7px;height:7px;border:2px solid var(--white);background:#a3b58d;border-radius:50%}.log-entry[data-cat=build]:before{background:#d19d69}.log-entry[data-cat=social]:before{background:#ba9ab8}.log-entry small{font-size:9px;color:#969d8d}.log-entry p{font-size:11px;line-height:1.85;margin:4px 0 0;color:#5b6853}.empty{color:#9a9e92;text-align:center;padding:50px 10px;font-size:12px}.supply{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #edf0e5;align-items:center}.supply canvas{width:31px;height:31px;image-rendering:pixelated;background:#f0ede2;border-radius:7px}.supply div{flex:1}.supply b{font-size:12px}.supply p{font-size:10px;color:#949a88;margin:5px 0 0}.supply>strong{font-size:17px;color:#657b54;font-variant-numeric:tabular-nums}.cycle{font-size:10px;line-height:2;background:#f1f3e9;padding:13px;border-radius:10px;margin-top:16px;color:#879278;text-align:center}.story-strip{display:flex;gap:30px;align-items:center;padding:25px 4px;border-bottom:1px solid var(--line)}.story-strip h3{font-size:15px;margin:6px 0 0;font-weight:600}.story-strip p{font-size:12px;color:#8b907e;line-height:1.9;flex:1;margin:0}.story-strip a{font-size:11px;color:#688158;white-space:nowrap}footer{padding:20px 4px 28px;display:flex;justify-content:space-between;font-size:10px;color:#9ca28f}footer a{border-bottom:1px dotted #bac1aa}dialog{border:1px solid #d8dfce;background:var(--white);color:var(--ink);border-radius:22px;max-width:min(560px,calc(100% - 24px));max-height:88vh;padding:32px;box-shadow:0 20px 80px #183e332f}dialog::backdrop{background:#243a3370;backdrop-filter:blur(3px)}dialog h2{margin:8px 0 14px;font-size:23px}dialog p{font-size:12px;color:#7c8771;line-height:1.9}.close{position:absolute;right:14px;top:12px;background:none;border:0;font-size:24px;color:#929d86;padding:4px 8px}.detail-head{display:flex;gap:15px;align-items:center}.detail-head .avatar{width:70px;height:70px}.detail-head canvas{width:55px;height:55px}.detail-head h2{margin:4px 0;font-size:24px}.detail-role{font-size:11px;color:#87927b}.detail-action{padding:13px;background:#f0f4e7;border-radius:12px;font-size:12px;color:#69805b;margin:15px 0}.stats{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;margin:20px 0}.stat-row span{font-size:11px;color:#8a947d}.stat-row b{float:right;font-size:11px;font-weight:500}.stat-row .tiny-meter{margin-top:7px;height:5px}.stat-row .tiny-meter i{height:5px}.detail-title{font-size:12px;font-weight:650;margin:20px 0 10px}.relationship{display:flex;justify-content:space-between;font-size:11px;padding:7px 0;color:#829173}.detail-log{border-left:2px solid #dce5ce;padding-left:12px;font-size:11px;line-height:1.9;color:#7f8c74;margin:9px 0}.detail-log small{font-size:9px;color:#a0a993}.guide-grid{display:grid;gap:10px}.guide-grid b{font-size:12px;color:#56744c}.guide-grid p{margin:5px 0 6px}#inviteForm{display:flex;gap:8px;flex-wrap:wrap}#invite{border:1px solid #cdd8bf;border-radius:9px;padding:12px;flex:1;min-width:150px;text-transform:uppercase}.solid{background:var(--green);color:white;border:0;border-radius:9px;padding:12px 17px}.load-more{display:block;margin:auto}#inviteError{color:#b17e59}
@media(min-width:1600px){.viewport{height:620px}.side-card{height:752px}}
@media(max-width:1200px){.masthead,main{padding-left:22px;padding-right:22px}.layout{grid-template-columns:minmax(0,1fr) 285px;gap:15px}.world-bar{gap:12px}.clock{min-width:150px}.resource-chip{gap:4px}.resource-chip canvas{width:22px;height:22px}.inventory{grid-template-columns:repeat(8,minmax(50px,1fr))}.map-hint{font-size:9px}.map-controls{bottom:46px}.tab-panel{padding-left:15px;padding-right:15px}}
@media(max-width:900px){.layout{grid-template-columns:1fr}.side-card{height:auto;min-height:480px;max-height:690px}.tab-panel{overflow-y:visible}.tab-panel#journal{overflow-y:auto;max-height:550px}.tabs{height:58px}#residents{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.world-bar{flex-wrap:wrap;gap:14px}.clock{width:100%;justify-content:flex-start}.inventory{grid-template-columns:repeat(8,1fr)}.resource-chip:first-child{border-left:0}.viewport{height:550px}.map-controls{bottom:17px}.story-strip{gap:18px}.map-hint{bottom:25px}.masthead{gap:25px}.side-card .footnote{padding:20px 0 10px}}
@media(max-width:600px){.masthead{padding:18px 15px;gap:10px;flex-wrap:wrap}.back{font-size:11px}.masthead>.back{width:100%;margin-bottom:3px}.brand{gap:10px}.brand h1{font-size:22px}.brand p{font-size:10px}.pixel-house{width:44px;height:44px;font-size:35px;border-radius:12px}.live{font-size:9px}.live i{width:5px;height:5px;margin-right:4px}main{padding:0 12px}.world-bar{padding:14px 0 15px;gap:10px}.clock{gap:9px}.clock>span{height:33px;width:33px;font-size:21px}.clock b{font-size:12px}.clock small{font-size:10px}.inventory{grid-template-columns:repeat(4,1fr);gap:3px 0}.resource-chip{padding:5px 3px;justify-content:flex-start;padding-left:10px;border-left:1px solid #dfe1d2}.resource-chip:nth-child(4n+1){border-left:0}.resource-chip canvas{width:25px;height:25px}.resource-chip small{font-size:9px}.resource-chip b{font-size:13px}.map-top{height:69px;padding:13px 15px}.map-top h2{font-size:17px}.eyebrow{font-size:8px}.viewport{height:490px}.map-location{top:12px;left:12px;font-size:9px}.map-controls{bottom:16px;right:12px}.map-hint{left:12px;bottom:64px;font-size:9px}.map-footer{padding:13px;font-size:10px;height:auto;min-height:49px;flex-wrap:wrap}.map-footer small{font-size:9px}.layout{gap:15px}.side-card{border-radius:17px}.tabs{height:54px}.tab-panel{padding:17px}.panel-heading{font-size:10px}#residents{grid-template-columns:1fr}.resident{padding:12px 0}.avatar{width:46px;height:46px}.resident-head b{font-size:14px}.resident-head small{font-size:10px}.resident-action{font-size:12px}.footnote{font-size:10px}.story-strip{flex-wrap:wrap;gap:10px;padding:22px 4px}.story-strip>div{width:100%}.story-strip p{font-size:11px}.story-strip h3{font-size:15px}footer{font-size:9px;gap:12px}dialog{padding:26px 22px}dialog h2{font-size:21px}.stat-row span,.stat-row b{font-size:12px}.supply p{font-size:11px}.log-entry p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.loader-house{animation:none}}
