:root{--ink:#173b3b;--muted:#7b8d86;--paper:#f6f7f1;--border:#e2e8dd;--gold:#cc9842;--teal:#277969;--font:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:3px solid #efb75d;outline-offset:4px}[hidden]{display:none!important}button{color:inherit}a{color:inherit;text-decoration:none}.rail{position:fixed;inset:0 auto 0 0;width:88px;background:#153f3f;color:#d6e7d8;display:flex;align-items:center;flex-direction:column;z-index:10}.brand-mark{display:flex;flex-direction:column;align-items:center;margin-top:28px;font-family:serif;font-size:31px;color:#f2d99e}.brand-mark span{font-family:var(--font);font-size:8px;letter-spacing:2px;margin-top:7px}.rail nav{display:flex;flex-direction:column;gap:20px;margin-top:60px;width:100%;padding:0 13px}.rail-link{border:0;background:transparent;display:flex;align-items:center;flex-direction:column;gap:7px;color:#8eaaa3;font-size:11px;padding:12px 0;border-radius:13px}.rail-link span{font-size:26px;line-height:1}.rail-link.active{background:#2c5550;color:#f6e5ba}.rail-link:hover{background:#244e49}.rail-bottom{margin-top:auto;display:grid;justify-items:center;gap:15px;margin-bottom:30px;color:#84a69b}.rail-bottom small{font-size:9px;letter-spacing:2px}.compass{font-size:36px;color:#e9d3a0}.shell{margin-left:88px}.topbar{height:82px;border-bottom:1px solid var(--border);padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:#fafbf6}.wordmark{font-size:18px;font-weight:700;letter-spacing:2px}.wordmark>span{font-size:9px;letter-spacing:1.7px;color:#92a094;display:inline-block;margin-left:15px;font-weight:500}.header-actions{display:flex;align-items:center;gap:15px}.live-badge{display:flex;align-items:center;gap:7px;font-size:11px;color:#65816a}.live-badge i,.map-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#73a477}.live-badge.stale{color:#a77b2f}.live-badge.stale i{background:#cc9842}.icon-button{border:1px solid var(--border);background:transparent;border-radius:50%;width:32px;height:32px;font-size:22px;color:#65816a}.icon-button:disabled{opacity:.5}.avatar{background:#dce7d4;border:2px solid #fff;border-radius:50%;width:34px;height:34px;font-family:serif;font-size:18px;color:#587756}main{max-width:1660px;margin:auto;padding:30px 40px 20px}.page-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:#87a08a;margin:0 0 10px}h1{font-size:clamp(21px,2.2vw,31px);font-weight:600;letter-spacing:1px;margin:0 0 10px}h1 span{color:#bfa66d}.intro-copy{margin:0;color:var(--muted);font-size:12px;letter-spacing:1px}.island-date{display:flex;flex-direction:column;gap:8px;text-align:right;font-size:12px}.island-date small{font-size:10px;color:#8f9c8e}.notice{padding:11px 15px;border:1px solid #e4d4a8;background:#f8f0dd;color:#8b6a2e;border-radius:8px;margin-bottom:18px;font-size:12px;line-height:1.7}.resource-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:23px;border:1px solid var(--border);background:#fffefa;border-radius:12px;overflow:hidden}.resource{display:flex;align-items:center;text-align:left;padding:21px 19px;background:transparent;border:0;border-right:1px solid var(--border);gap:15px;min-width:0}.resource:last-child{border-right:0}.resource:hover{background:#f5f5ea}.resource-icon{background:#f7edd1;border:1px solid #f0e1b6;color:#c99b3a;border-radius:14px;font-size:25px;flex:0 0 47px;height:49px;display:grid;place-items:center;box-shadow:inset 0 -3px 0 #e5d4a04d}.crystal .resource-icon{background:#e7f1e9;border-color:#cee2d4;color:#4a937a}.harvest .resource-icon{background:#f2edde;border-color:#eae2c4;color:#b99a4b}.workers .resource-icon{background:#eaf0e8;border-color:#d7e2d3;color:#708b6b}.resource>span:nth-child(2){display:flex;flex-direction:column;gap:6px;min-width:0}.resource small{font-size:10px;color:#6b7c70;white-space:nowrap}.resource small em{font-size:8px;color:#9aa396;font-style:normal;margin-left:6px}.resource strong{font-size:clamp(18px,1.8vw,26px);font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:-.5px;white-space:nowrap}.resource-note{font-size:9px;color:#8d9b8c;white-space:nowrap}.resource-arrow{margin-left:auto;align-self:flex-start;color:#a8b3a3;font-size:14px}.island-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:20px}.map-panel{border-radius:13px;overflow:hidden;background:#8fc9bd;position:relative;min-width:0;border:1px solid #81b9ad;box-shadow:0 3px 0 #dce5d5}.map-heading{position:absolute;z-index:2;left:22px;right:20px;top:18px;display:flex;align-items:center;justify-content:space-between;color:#215c53;font-size:12px;font-weight:600}.map-heading small{margin-left:10px;font-size:8px;letter-spacing:1px;font-weight:400;opacity:.6}.map-dot{background:#39766c;margin-right:7px}.text-button{font-size:9px;border:1px solid #4f8d7f4d;background:#cbe6d173;border-radius:20px;padding:7px 10px;color:#386f60}.map-canvas{aspect-ratio:1.56;display:flex;align-items:center;justify-content:center;min-height:390px}.map-canvas svg{width:100%;height:100%;display:block;overflow:visible}.map-footer{position:absolute;bottom:15px;left:22px;right:20px;display:flex;justify-content:space-between;color:#376e61;font-size:9px}.map-footer i{font-style:normal;margin-left:4px}.detail-panel{border:1px solid var(--border);border-radius:13px;background:#fffefa;padding:25px 23px;display:flex;flex-direction:column;min-width:0}.detail-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.detail-top .eyebrow{font-size:8px;letter-spacing:1px;margin:0}.detail-emblem{font-size:28px;color:#c7a45f}.detail-panel h2{font-size:23px;font-weight:600;margin:18px 0 10px;letter-spacing:2px}.detail-panel>p{font-size:11px;color:#86937e;margin:0;line-height:1.8;min-height:40px}.detail-main{padding:23px 0 20px;border-bottom:1px dashed #dce2d3;display:flex;flex-direction:column;gap:10px}.detail-main small{font-size:10px;color:#8a967f}.detail-main strong{font-size:31px;letter-spacing:-1px;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.detail-main>span{font-size:10px;color:#8e9b84}.detail-metrics{display:grid;gap:14px;padding:20px 0}.metric-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#85937d}.metric-row strong{font-size:12px;color:#3e5a43;font-weight:500;text-align:right}.detail-foot{font-size:8px;display:flex;justify-content:space-between;gap:6px;color:#97a28c;margin-top:auto;padding-top:8px}.ledger-link{border:1px solid #dfe6d5;border-radius:7px;padding:12px 14px;background:#f4f6eb;text-align:left;font-size:11px;margin-top:18px;display:flex;justify-content:space-between;color:#56734d}.ledger-link:hover{background:#eaf0dc}.site-selector{display:flex;gap:8px;margin:15px 0 22px;flex-wrap:wrap}.site-selector button{background:transparent;border:1px solid transparent;font-size:10px;color:#8b9882;border-radius:20px;padding:8px 13px}.site-selector button.selected{background:#e6eddb;border-color:#d8e2c9;color:#486444}.site-selector button:hover{color:#486444;background:#eaf0e1}.lower-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.collection-card,.supply-card{background:#fffefa;border:1px solid var(--border);border-radius:11px;padding:22px}.section-label{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;color:#60775b}.section-label small{font-size:9px;color:#9aa28d}.gold-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#d4b05d;margin-right:7px}.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 14px}.progress-heading h3{font-size:14px;font-weight:500;margin:0}.progress-heading>strong{font-size:25px;color:#a58842;font-weight:500}.progress-track{height:7px;background:#eceee1;border-radius:5px;overflow:hidden}.progress-track>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#a0b883,#e4cb7e);border-radius:5px;transition:width 1s}.progress-foot{display:flex;justify-content:space-between;margin:11px 0 0;font-size:9px;color:#95a088;gap:10px}.progress-foot b{color:#6a7e5b;font-weight:500}.muted{font-size:9px;color:#99a28c;line-height:1.8;margin-bottom:0}.supply-card{display:flex;align-items:center;gap:20px;background:#eff2e5;position:relative;overflow:hidden}.supply-icon{color:#8aa17a;background:#e1e8d5;border:1px solid #d2dec6;display:grid;place-items:center;font-size:40px;width:80px;height:85px;flex-shrink:0;border-radius:20px 20px 35px 35px}.supply-card .eyebrow{font-size:8px}.supply-card h3{font-size:14px;font-weight:500;margin:0 0 14px}.supply-card strong{font-size:25px;display:block;letter-spacing:-.5px;font-weight:550;color:#667c50}.supply-card small{display:block;margin-top:6px;font-size:9px;color:#91a17d}.round-button{align-self:flex-end;margin-left:auto;border:1px solid #ccd9bb;border-radius:50%;background:transparent;flex:0 0 29px;height:29px;color:#819468}.page-footer{display:flex;justify-content:space-between;gap:15px;padding:24px 0 2px;font-size:9px;color:#9ba58e}.footer-divider{margin:0 10px;opacity:.5}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#153f3ff0;color:#fff9df;padding:12px 20px;border-radius:9px;z-index:20;font-size:12px;max-width:90vw;box-shadow:0 6px 20px #123e4025}.ledger-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.summary-card{background:#fffefa;border:1px solid var(--border);border-radius:10px;padding:22px}.summary-card small{font-size:11px;color:#819174}.summary-card strong{display:block;font-size:26px;margin:12px 0;color:#456844;font-weight:550}.summary-card span{font-size:9px;color:#99a18e}.ledger-panel,.guide-panel{background:#fffefa;border:1px solid var(--border);border-radius:12px;padding:27px}.ledger-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.ledger-heading h2,.guide-panel h2{font-size:22px;font-weight:550;letter-spacing:1px;margin:0}.period-tabs{display:flex;background:#f0f3e9;padding:4px;border-radius:8px}.period-tabs button{padding:9px 16px;background:transparent;border:0;border-radius:5px;font-size:11px;color:#8c9b80}.period-tabs button.active{background:#fffefa;color:#456a45;box-shadow:0 1px 4px #1c422c12}.ledger-filters{margin:25px 0 12px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#85967c}.ledger-filters select{border:1px solid #dce5d3;border-radius:6px;background:#fafbf5;padding:8px 12px;margin-left:8px;color:#56724d;font-size:11px}.trend{background:#f6f8ef;border-radius:9px;padding:16px 12px;margin:15px 0 24px}.trend svg{width:100%;height:170px;display:block}.trend text{font:10px var(--font);fill:#8c9d7e}.table-scroll{max-height:460px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}th{text-align:right;font-size:10px;color:#96a18b;font-weight:400;background:#f8f9f2;position:sticky;top:0;padding:12px 15px}td{padding:14px 15px;border-bottom:1px solid #edf0e5;text-align:right;color:#6e8160}th:first-child,td:first-child{text-align:left}td:last-child{color:#3f653b;font-weight:600}.ongoing-tag{font-size:8px;padding:2px 5px;background:#eef1df;color:#8da16b;border-radius:3px;margin-left:8px}.empty{text-align:center;padding:35px;color:#9ba48e}.guide-panel{max-width:1000px;margin:auto;padding:36px}.guide-panel>p:not(.eyebrow){font-size:13px;line-height:2;color:#87957d;margin:18px 0 30px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guide-grid article{border:1px solid var(--border);border-radius:10px;padding:22px}.guide-grid article>span{font-size:30px;color:#afae70}.guide-grid h3{font-size:15px;font-weight:550}.guide-grid p,.architecture-note p{font-size:12px;line-height:1.9;color:#87957d}.architecture-note{background:#eff3e6;padding:22px;border-radius:10px;margin:23px 0}.architecture-note strong{font-size:13px;font-weight:550}.primary-button{border:0;background:#335f48;color:#fff9e6;border-radius:7px;padding:13px 20px;font-size:12px}.site{cursor:pointer;outline:none}.site .site-ring{opacity:0;transition:opacity .25s}.site:hover .site-ring,.site.selected .site-ring,.site:focus-visible .site-ring{opacity:1}.site .building{transition:filter .2s}.site:hover .building{filter:brightness(1.08)}.site-label{font-family:var(--font);font-size:13px;fill:#fff7dc;text-anchor:middle;font-weight:500}.site-value{font-size:11px;fill:#d8e6ce;font-family:var(--font);text-anchor:middle}.site-tag{fill:#234c42;stroke:#9fba80;stroke-width:.7}.boat-motion{animation:boat-bob 4s ease-in-out infinite}.water-wave{animation:wave-shift 6s ease-in-out infinite;transform-origin:center}.flag-motion{animation:flag-wave 3s ease-in-out infinite;transform-box:fill-box;transform-origin:left center}.collector-motion{animation:collector-walk 14s linear infinite}.collector-motion:nth-child(2n){animation-delay:-7s}.no-motion *,.data-paused .collector-motion,.data-paused .boat-motion{animation:none!important;transition:none!important}@keyframes boat-bob{50%{transform:translateY(-4px)}}@keyframes wave-shift{50%{opacity:.4;transform:translateX(4px)}}@keyframes flag-wave{50%{transform:scaleX(.85)}}@keyframes collector-walk{0%{offset-distance:0%}100%{offset-distance:100%}}@media(min-width:1600px){.map-canvas{min-height:495px}.detail-panel{padding:30px}.island-layout{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:1200px){main{padding:25px}.topbar{padding:0 25px}.resource{padding:17px 13px;gap:9px}.resource-icon{flex-basis:36px;height:40px;font-size:21px}.resource small em{display:none}.resource-arrow{display:none}.resource strong{font-size:21px}.island-layout{grid-template-columns:minmax(0,1fr) 260px;gap:15px}.map-canvas{min-height:420px}.detail-panel{padding:20px}.detail-main strong{font-size:27px}.lower-grid{gap:15px}.supply-icon{width:60px;height:70px;font-size:32px}.supply-card{gap:15px;padding:18px}.wordmark>span{display:none}}@media(max-width:930px){.rail{width:68px}.shell{margin-left:68px}.rail nav{padding:0 8px}.island-layout{grid-template-columns:1fr}.map-canvas{min-height:0}.detail-panel{display:grid;grid-template-columns:1fr 1.3fr;column-gap:26px;padding:22px}.detail-top,.detail-panel h2,.detail-panel>p{grid-column:1}.detail-panel h2{margin:8px 0}.detail-main{grid-column:1;border:0;padding:15px 0 0}.detail-metrics{grid-column:2;grid-row:1/5;align-content:center;padding:10px 0}.detail-foot{grid-column:1/3;margin-top:12px}.ledger-link{grid-column:1/3;margin-top:12px}.lower-grid{grid-template-columns:1fr 1fr}.collection-card{padding:18px}.section-label small{max-width:100px;text-align:right}.progress-heading h3{font-size:12px}.progress-heading strong{font-size:21px}.supply-icon{display:none}.resource-note{font-size:8px}.resource strong{font-size:19px}.resource small{font-size:9px}.resource-icon{display:none}.resource{padding:16px 13px}.island-date{font-size:10px}.island-date small{font-size:8px}.ledger-heading{align-items:flex-start;flex-direction:column}.summary-card{padding:15px}.summary-card strong{font-size:20px}}@media(max-width:600px){.rail{inset:auto 0 0;width:100%;height:61px;flex-direction:row;padding-bottom:env(safe-area-inset-bottom);background:#153f3ff7;backdrop-filter:blur(12px)}.brand-mark,.rail-bottom{display:none}.rail nav{margin:0;padding:0 20px;flex-direction:row;justify-content:space-around;gap:20px}.rail-link{flex:1;flex-direction:row;justify-content:center;gap:8px;padding:12px;font-size:12px;border-radius:9px}.rail-link span{font-size:21px}.shell{margin:0 0 61px}.topbar{height:65px;padding:0 18px}.wordmark{font-size:17px}.header-actions{gap:10px}.live-badge{font-size:9px}.avatar{width:29px;height:29px;font-size:16px}.icon-button{width:29px;height:29px;font-size:21px}main{padding:23px 15px 18px}.eyebrow{font-size:7px;letter-spacing:1.4px}.page-intro{margin-bottom:20px}.page-intro h1{font-size:22px;letter-spacing:0;max-width:none;line-height:1.4;margin-bottom:8px}.intro-copy{font-size:10px;letter-spacing:0}.island-date{display:none}.resource-bar{grid-template-columns:1fr 1fr;margin-bottom:16px;border-radius:10px}.resource{padding:15px 13px;gap:10px}.resource:nth-child(-n+2){border-bottom:1px solid var(--border)}.resource:nth-child(2){border-right:0}.resource-icon{display:grid;flex-basis:32px;height:36px;border-radius:9px;font-size:18px}.resource small{font-size:9px}.resource strong{font-size:21px}.resource-note{font-size:8px}.map-heading{left:15px;right:14px;top:14px}.map-heading small{display:none}.map-canvas{height:370px;overflow:hidden;aspect-ratio:auto}.map-canvas svg{width:620px;min-width:620px;height:auto;flex-shrink:0}.map-footer{left:15px;right:14px;bottom:12px;font-size:8px}.map-footer>span:last-child{display:none}.detail-panel{padding:18px;column-gap:15px}.detail-top .eyebrow{font-size:7px;letter-spacing:.5px}.detail-emblem{font-size:20px}.detail-panel h2{font-size:19px}.detail-panel>p{font-size:9px;min-height:0}.detail-main strong{font-size:25px}.detail-main small{font-size:9px}.detail-main>span{font-size:9px}.metric-row{font-size:9px}.metric-row strong{font-size:10px}.detail-metrics{gap:16px}.site-selector{gap:4px;margin:12px 0 18px}.site-selector button{font-size:9px;padding:7px 9px}.lower-grid{grid-template-columns:1fr;gap:13px}.supply-card{padding:20px}.supply-icon{display:grid;width:62px;height:70px}.collection-card{padding:20px}.section-label small{max-width:none}.page-footer{flex-direction:column;gap:10px;font-size:8px;padding-top:20px}.ledger-summary{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.summary-card strong{font-size:24px}.ledger-panel,.guide-panel{padding:19px 15px}.ledger-heading h2,.guide-panel h2{font-size:19px;line-height:1.5}.period-tabs{width:100%}.period-tabs button{flex:1;padding:9px 12px}.ledger-heading{gap:18px}.ledger-filters{font-size:9px;margin-top:18px}.ledger-filters select{padding:7px;font-size:10px}th,td{padding:12px 10px;font-size:10px}.trend{padding:10px 4px}.trend svg{height:145px}.guide-grid{grid-template-columns:1fr;gap:12px}.guide-grid article{padding:18px}.guide-panel>p:not(.eyebrow){font-size:12px}.guide-grid p,.architecture-note p{font-size:11px}.toast{bottom:80px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
