:root{font-family:"Segoe UI","Microsoft JhengHei",sans-serif;color:#263e34;background:#f5f4eb;font-synthesis:none;--forest:#254d3e;--muted:#7e8c7c;--line:#dfe5d7;--green:#779c6e}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #bda563;outline-offset:3px}a{color:inherit;text-decoration:none}.top{height:87px;max-width:1600px;margin:auto;display:flex;align-items:center;padding:0 5%;border-bottom:1px solid #dce2d4;gap:70px}.brand{display:flex;gap:12px;align-items:center;font:600 27px Georgia,serif;letter-spacing:3px}.mark{border:1px solid #a5b294;border-radius:50%;display:grid;place-items:center;width:40px;height:40px;font-size:26px;color:#718c59}.brand-sub{display:block;font:8px "Segoe UI",sans-serif;letter-spacing:1.5px;margin-top:3px;color:#85917f}.top nav{display:flex;gap:32px;font-size:12px;height:100%;align-items:center;color:#89927e}.nav-current{height:100%;display:flex;align-items:center;border-bottom:2px solid #60845b;color:#335943}.edition{margin-left:auto;font:9px Consolas,monospace;letter-spacing:1.2px;color:#8c977f}.edition i{color:#b7beaa;font-style:normal;margin:0 10px}main{max-width:1600px;padding:0 5%;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;padding:38px 0 32px}.eyebrow,.overline{font:9px "Segoe UI",sans-serif;font-weight:600;letter-spacing:2px;color:#8b9a7b}.eyebrow{margin:0 0 10px}h1{font:400 29px Georgia,"Microsoft JhengHei",serif;margin:0;letter-spacing:1.5px;color:#254735}h1 span{color:#9baa7b}.lede{font-size:12px;color:#8b9682;margin:12px 0 0;letter-spacing:.5px}.intro-right{text-align:right;font-size:11px;color:#65805b;line-height:1.8}.intro-right small{display:block;color:#929e88;font-size:10px;margin-top:3px}.live-dot{display:inline-block;width:6px;height:6px;background:#719b62;border-radius:50%;margin-right:7px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 298px;gap:23px;align-items:start}.world-card,.life-card,.energy-card{background:#fcfcf6;border:1px solid #dfe6d7;border-radius:14px;overflow:hidden;box-shadow:0 5px 20px #314b2d05}.world-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px 19px;gap:12px}.world-head h2{font:400 20px Georgia,"Microsoft JhengHei",serif;letter-spacing:1px;margin:7px 0 0}.overline{font-size:8px;letter-spacing:1.5px;color:#99a48e}.tools{display:flex;border:1px solid #dfe6d6;border-radius:7px;overflow:hidden;padding:3px;gap:2px}.tools button{background:transparent;border:0;border-radius:4px;padding:7px 10px;color:#829077;font-size:10px;white-space:nowrap}.tools button.selected{background:#e9efdf;color:#42673e}.viewport{height:555px;position:relative;background:#304e3c;overflow:hidden;margin:0 12px;border-radius:9px}.viewport>canvas#world{display:block;width:100%;height:100%;cursor:crosshair}.world-badge{position:absolute;top:17px;left:18px;display:flex;gap:9px;align-items:center;color:#e7eddb;pointer-events:none}.world-badge span:first-child{font-size:10px;border:1px solid #bed1a24d;background:#203c2dc2;padding:6px 10px;border-radius:20px}.world-badge span:last-child{font:9px Consolas,monospace;color:#d0ddbb}.compass{position:absolute;right:20px;top:14px;text-align:center;color:#dfebce;pointer-events:none}.compass span{display:block;font:10px Georgia,serif}.compass b{display:block;font:36px Georgia;line-height:35px;color:#c3d5aa}.compass small{font-size:8px;opacity:.65}.position{position:absolute;bottom:18px;left:20px;display:flex;flex-direction:column;gap:6px;pointer-events:none}.position span{font:10px Consolas,"Microsoft JhengHei",monospace;color:#e1eccc}.position small{font-size:9px;color:#abbf98}#minimap{position:absolute;width:112px;height:112px;bottom:17px;right:17px;background:#1f372ee8;border:1px solid #a8bf7e66;border-radius:8px;padding:7px;pointer-events:none;box-shadow:0 5px 20px #13251a44}.world-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#1d342de8;padding:16px 22px;border:1px solid #a2ba7d55;color:#deebcb;font-size:12px;line-height:1.7;border-radius:8px;max-width:90%;text-align:center}.world-message:empty{display:none}.world-footer{padding:17px 23px;display:flex;gap:10px;justify-content:space-between;align-items:center}.legend{display:flex;gap:16px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:5px;font-size:9px;color:#8a9880}.legend i{width:7px;height:7px;border-radius:50%;background:#86ac68;display:inline-block}.legend .danger{background:#b17986;transform:rotate(45deg);border-radius:1px}.legend .rock{background:#8c9c8b;border-radius:2px}.legend .trail{background:#d3b87b;width:12px;height:2px}.world-footer>span{font:9px Consolas,monospace;color:#9ba58f;white-space:nowrap}.replay{border-top:1px solid #e8ecdf;margin:0 23px;display:flex;align-items:center;gap:12px;padding-top:14px;font-size:10px;color:#8a987e}.replay input{min-width:50px;flex:1;accent-color:#839b6b}.replay output{font:10px Consolas,monospace;white-space:nowrap}.replay button{background:#f1f4e9;border:1px solid #dce4d1;border-radius:5px;padding:6px 9px;font-size:9px;color:#627b52;white-space:nowrap}.caption{font-size:9px;line-height:1.7;color:#9aa68f;margin:12px 23px 17px}.life-card{padding:23px 22px}.life-heading{display:flex;align-items:center;justify-content:space-between;gap:5px}.life-heading .overline{font-size:7px;letter-spacing:1px}.status-tag{font-size:9px;color:#6d8c53;background:#edf3e3;border:1px solid #dce8cc;padding:4px 7px;border-radius:20px;white-space:nowrap}.status-tag.dead{background:#f4e9dd;color:#a77b57;border-color:#eadac5}.portrait{height:145px;position:relative;display:grid;place-items:center}.portrait-ring{position:absolute;width:118px;height:118px;border:1px solid #e2e9d5;border-radius:50%;background:radial-gradient(circle,#e4edd4 0%,#f1f4e7 65%,#f9faf1 65%);box-shadow:0 0 0 8px #f7f8ee}.portrait canvas{position:relative;width:145px;height:145px;image-rendering:pixelated}.portrait-spark{position:absolute;right:36px;top:30px;color:#baac7e;font-size:27px}.identity{text-align:center}.identity h2{font:400 28px Georgia,serif;letter-spacing:1px;margin:1px 0 6px}.identity>span{display:block;font-size:9px;color:#879678}.identity small{display:block;font:8px Consolas,monospace;color:#a6b09a;margin:7px 0 18px}.action-line{display:flex;gap:12px;align-items:center;background:#f1f5e9;border-radius:8px;padding:11px 14px;margin:18px 0}.action-line>span{color:#8ca36e;font-size:23px}.action-line small{display:block;font-size:8px;color:#9ca88d;margin-bottom:5px}.action-line strong{font-weight:500;font-size:12px;color:#627a4e}.gauge{margin:17px 0}.gauge label{display:flex;justify-content:space-between;font-size:10px;color:#839076;margin-bottom:7px}.gauge label span{font:11px Consolas,monospace;color:#526c48}.gauge>div{height:5px;background:#e7eddd;border-radius:4px;overflow:hidden}.gauge i{display:block;height:100%;width:0;background:#91ac70}.integrity i{background:#8faea4}.fatigue i{background:#c8b07e}.life-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e4eadc;padding-top:17px;gap:17px;margin-top:23px}.life-stats small{font-size:8px;color:#9aa68d;display:block;margin-bottom:6px}.life-stats strong{font:14px Consolas,monospace;color:#4c6743}.reason{font-size:9px;line-height:1.8;color:#9ba68e;margin:18px 0 0;border-top:1px solid #e9eddf;padding-top:12px}.energy-card{margin-top:18px;padding:18px 20px}.small-head{display:flex;align-items:center;justify-content:space-between}.small-head h3{font-size:11px;letter-spacing:.5px;font-weight:500;margin:0}.small-head span{font-size:8px;color:#a3ad98}#energy-chart{display:block;width:100%;height:85px;margin-top:10px}.chart-labels{display:flex;justify-content:space-between;font:8px Consolas,monospace;color:#a2ad95}.journal{display:grid;grid-template-columns:230px 1fr;gap:35px;margin:34px 0 35px;padding:25px 0;border-top:1px solid #dfe5d7;border-bottom:1px solid #dfe5d7}.journal h2{font:400 21px Georgia,"Microsoft JhengHei",serif;margin:9px 0}.journal-title p{font-size:10px;color:#98a38c;line-height:1.8}.events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.event{padding:13px 16px;border-left:1px solid #dce4cf;font-size:10px;color:#7f9270}.event small{font:9px Consolas,monospace;color:#a8b398;display:block;margin-bottom:8px}.event strong{font-size:11px;font-weight:500;color:#5e794e}.event p{font-size:9px;color:#a0ac93;line-height:1.7;margin:6px 0 0}.empty{font-size:10px;color:#9da88e}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 30px;color:#9ba78f}footer>div{display:flex;gap:15px;align-items:center}footer strong{font:25px Georgia,serif;letter-spacing:3px;color:#7a9266}footer span{font-size:9px}footer p{text-align:right;font-size:8px;line-height:1.8}.offline #connection{color:#a2835b}.offline .live-dot{background:#bd9d71}
@media(min-width:1450px){.viewport{height:640px}.layout{grid-template-columns:minmax(0,1fr) 315px}.life-card{padding:25px}.portrait{height:176px}.portrait canvas{width:165px;height:165px}.portrait-ring{width:132px;height:132px}.life-stats{gap:23px}.gauge{margin:21px 0}.action-line{margin:22px 0}}
@media(max-width:1050px){.top{gap:38px}.edition{display:none}.layout{grid-template-columns:minmax(0,1fr) 260px;gap:15px}.world-head{padding:18px;align-items:flex-start}.world-head h2{font-size:17px}.tools button{padding:6px 7px;font-size:9px}.viewport{height:510px}.life-card{padding:19px 17px}.world-footer{display:block}.world-footer>span{display:block;margin-top:10px}.legend{gap:12px}.replay{margin:0 17px;gap:8px}.journal{grid-template-columns:190px 1fr;gap:20px}.events{grid-template-columns:repeat(2,minmax(0,1fr))}.event:nth-child(3){display:none}}
@media(max-width:760px){.top{height:71px;padding:0 5%;gap:20px}.top nav{margin-left:auto;gap:18px;font-size:10px}.brand{font-size:23px;gap:8px}.mark{width:32px;height:32px;font-size:22px}.brand-sub{font-size:6px}.intro{padding:28px 0 23px;display:block}h1{font-size:24px;line-height:1.5;letter-spacing:.5px}.eyebrow{font-size:8px}.lede{font-size:10px}.intro-right{text-align:left;font-size:10px;margin-top:15px}.intro-right small{display:inline;margin-left:8px;font-size:8px}.layout{display:block}.world-head{padding:18px 15px}.world-head .overline{font-size:7px}.world-head h2{font-size:17px}.tools button{padding:6px;font-size:9px}.viewport{height:420px;margin:0 8px}.compass{right:13px;top:12px}.compass small{font-size:7px}#minimap{width:80px;height:80px;padding:4px;bottom:13px;right:12px}.position{left:13px;bottom:14px}.position small{font-size:8px}.world-badge{left:12px;top:12px}.world-badge span:first-child{font-size:8px}.world-badge span:last-child{font-size:8px}.world-footer{padding:14px 16px}.legend{gap:10px}.legend span{font-size:8px}.world-footer>span{font-size:8px}.replay{font-size:8px;gap:6px;margin:0 15px}.replay button{font-size:8px;padding:5px}.replay output{font-size:8px}.caption{margin:12px 15px;font-size:8px}aside{margin-top:18px;display:grid;grid-template-columns:1fr;gap:16px}.life-card{position:relative;padding:21px}.life-heading .overline{font-size:8px}.portrait{height:150px}.identity h2{font-size:25px}.action-line{margin:18px 0}.gauges{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.gauge{margin:10px 0}.gauge label{font-size:9px}.gauge label span{font-size:10px}.life-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px;padding-top:15px}.life-stats strong{font-size:12px}.life-stats small{font-size:7px}.energy-card{margin:0}.journal{display:block;margin:28px 0 22px;padding:20px 0}.journal-title p{font-size:9px}.events{margin-top:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.event{padding:10px 12px}footer{display:block}footer span{font-size:8px}footer p{text-align:left;margin-top:15px;font-size:8px}}

.lineage-strip{display:grid;grid-template-columns:.8fr .8fr 1.4fr;gap:7px;border-top:1px solid #e6ebdd;border-bottom:1px solid #e6ebdd;padding:12px 0;margin-top:8px}.lineage-strip small{display:block;font-size:8px;color:#9aa68c;margin-bottom:6px}.lineage-strip strong{display:block;font-size:10px;font-weight:500;line-height:1.5;color:#637c50}.mood-line{display:flex;justify-content:space-between;font-size:9px;color:#9ba58e;margin:-4px 1px 10px}.mood-line strong{font-weight:500;color:#71875e}.learning-note{font-size:8px;color:#a0aa93;line-height:1.8;margin:0 0 12px}.tools button:disabled{opacity:.45;cursor:default}.embedded .top,.embedded .intro,.embedded footer,.embedded .journal{display:none}.embedded main{padding:0;max-width:none}.embedded{background:transparent}.embedded .layout{margin:0}.replay[hidden]{display:none}.position small{max-width:75%;line-height:1.5}

/* A dedicated viewport, with no document or nested panel scrolling. */
html:has(.world-fullscreen){height:100%;overflow:hidden}
.world-fullscreen{height:100dvh;overflow:hidden;display:flex;flex-direction:column}
.world-fullscreen .top{height:66px;min-height:66px;width:100%;max-width:none;padding:0 24px;gap:32px}
.world-fullscreen .brand{font-size:23px;letter-spacing:1px}
.world-fullscreen .top nav{font-size:11px}
.sync-info{margin-left:auto;text-align:right;line-height:1.7;font-size:12px;flex-shrink:0}
.sync-info strong{font-weight:500;color:#456b43}.sync-info small{display:block;font-size:9px;color:#85927c}.sync-info .stale{color:#a35d30}
.world-fullscreen main{flex:1;min-height:0;width:100%;max-width:none;padding:14px}
.world-fullscreen .intro,.world-fullscreen .journal,.world-fullscreen footer,.world-fullscreen .energy-card{display:none}
.world-fullscreen .layout{height:100%;margin:0;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;min-height:0}
.world-fullscreen .world-card{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.world-fullscreen .world-head{padding:13px 18px;flex-shrink:0;align-items:center}
.world-fullscreen .world-head h2{font-size:18px;margin:4px 0 0}
.world-fullscreen .viewport{flex:1;min-height:0;height:auto;margin:0 10px}
.world-fullscreen .world-footer{padding:11px 18px;font-size:8px}
.world-fullscreen .replay,.world-fullscreen .caption{display:none}
.world-fullscreen aside{min-height:0;margin:0;display:block;overflow:hidden}
.world-fullscreen .life-card{height:100%;padding:16px;overflow:hidden}
.world-fullscreen .portrait{height:112px}.world-fullscreen .portrait canvas{width:120px;height:120px}
.world-fullscreen .portrait-ring{width:96px;height:96px}.world-fullscreen .identity h2{font-size:24px}
.world-fullscreen .identity small{margin-bottom:8px}.world-fullscreen .lineage-strip{padding:9px 0}
.world-fullscreen .action-line{padding:8px 10px;margin:12px 0}.world-fullscreen .gauge{margin:12px 0}
.world-fullscreen .life-stats{margin-top:14px;padding-top:12px;gap:12px}.world-fullscreen .reason{margin-top:10px;padding-top:8px}
@media(max-height:760px) and (min-width:761px){.world-fullscreen .portrait{height:72px}.world-fullscreen .portrait canvas{width:85px;height:85px}.world-fullscreen .portrait-ring{width:65px;height:65px}.world-fullscreen .reason,.world-fullscreen .learning-note,.world-fullscreen .identity small{display:none}.world-fullscreen .life-stats{gap:8px}.world-fullscreen .gauge{margin:9px 0}}
@media(max-width:760px){
 .world-fullscreen .top{height:64px;min-height:64px;padding:0 12px;gap:10px}.world-fullscreen .brand{font-size:17px;gap:7px}.world-fullscreen .brand-sub,.world-fullscreen .mark,.world-fullscreen .top nav{display:none}
 .sync-info{font-size:10px}.sync-info small{font-size:8px}
 .world-fullscreen main{padding:8px}.world-fullscreen .layout{display:flex;flex-direction:column;gap:8px}
 .world-fullscreen .world-card{flex:1;min-height:0}.world-fullscreen .world-head{padding:9px 10px}.world-fullscreen .world-head .overline{display:none}.world-fullscreen .world-head h2{font-size:15px;margin:0}.world-fullscreen .tools button{font-size:9px;padding:5px}
 .world-fullscreen .world-footer{display:none}.world-fullscreen .viewport{margin:0 5px 5px}.world-fullscreen .compass{display:none}
 .world-fullscreen aside{height:180px;flex-shrink:0}.world-fullscreen .life-card{padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}
 .world-fullscreen .life-heading{grid-column:1/3}.world-fullscreen .identity{text-align:left}.world-fullscreen .identity h2{font-size:19px;margin:0}.world-fullscreen .identity>span{font-size:8px}
 .world-fullscreen .portrait,.world-fullscreen .identity small,.world-fullscreen .lineage-strip,.world-fullscreen .mood-line,.world-fullscreen .learning-note,.world-fullscreen .reason{display:none}
 .world-fullscreen .action-line{margin:0;padding:5px 8px}.world-fullscreen .action-line strong{font-size:10px}.world-fullscreen .action-line small{font-size:7px}
 .world-fullscreen .gauges{grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.world-fullscreen .gauge{margin:2px 0}.world-fullscreen .gauge label{font-size:8px;margin-bottom:4px}
 .world-fullscreen .life-stats{grid-column:1/3;grid-template-columns:repeat(4,1fr);gap:5px;padding-top:7px;margin-top:0}.world-fullscreen .life-stats small{font-size:7px;margin-bottom:3px}.world-fullscreen .life-stats strong{font-size:10px}
}
@media(max-height:470px){.world-fullscreen .layout{display:grid;grid-template-columns:minmax(0,1fr) 200px}.world-fullscreen aside{height:auto}.world-fullscreen .portrait,.world-fullscreen .lineage-strip,.world-fullscreen .reason,.world-fullscreen .learning-note,.world-fullscreen .life-stats{display:none}.world-fullscreen .life-card{display:block;padding:10px}.world-fullscreen .identity h2{font-size:18px}.world-fullscreen .gauge{margin:8px 0}.world-fullscreen .top{height:48px;min-height:48px}}

.world-fullscreen .layout{align-items:stretch;grid-template-rows:minmax(0,1fr)}
