@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#344b3d;background:#e3eddf;font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #b77c39;outline-offset:5px}button:hover{filter:brightness(.96)}button:active{transform:translateY(1px)}::selection{background:#d4bc84;color:#263f32}[hidden]{display:none!important}svg{width:22px;height:22px;flex-shrink:0}#village{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;outline-offset:-4px}.topbar{position:fixed;top:0;left:0;right:0;height:90px;display:flex;align-items:center;padding:0 42px;gap:24px;background:linear-gradient(#eff2e8ed,#eff2e800);z-index:2}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#2f4a39;font-family:Outfit,sans-serif;font-size:22px;letter-spacing:-.7px}.brand>svg{width:31px;height:31px}.brand b{font-weight:400;color:#65775c}.version{font-size:10px;letter-spacing:1.7px;color:#596e58;border-left:1px solid #b7c5aa;padding-left:24px}.topbar button{margin-left:auto;display:flex;align-items:center;gap:9px;background:#faf9eff0;padding:12px 17px;border-radius:9px;box-shadow:0 4px 18px #354c3b0c;font-size:12px;font-weight:600}.topbar button svg{width:16px;height:16px}.village-title{position:fixed;left:46px;top:129px;pointer-events:none}.location{font-size:11px;letter-spacing:.2px;color:#597052;display:flex;align-items:center;gap:8px}.location>span,.world-status>span{width:6px;height:6px;background:#759259;border-radius:50%;display:inline-block}h1{font-family:Outfit,sans-serif;font-weight:500;font-size:52px;letter-spacing:-1.8px;margin:10px 0 3px;line-height:1.1}h1>span{color:#aa8050}.village-title p{font-size:13px;margin:9px 0;color:#63785b}.weather{position:fixed;top:132px;right:44px;display:flex;align-items:center;gap:12px;font-size:12px}.weather>svg{color:#a07839;width:30px;height:30px}.weather small{display:block;color:#63785b;font-size:10px;margin-top:4px}.hall-prompt{position:fixed;bottom:94px;left:44px;display:flex;align-items:center;gap:15px;padding:18px 21px;background:#fbf9edf5;border-radius:12px;box-shadow:0 10px 32px #32483218;text-align:left;transition:background .2s}.hall-prompt>svg:first-child{width:37px;height:37px;color:#6d8061}.hall-prompt span{font-size:10px;color:#66775d;line-height:1.5}.hall-prompt strong{display:block;font-family:Outfit,sans-serif;font-size:16px;font-weight:500;color:#344b3d}.hall-prompt>svg:last-child{margin-left:20px;width:18px}footer{position:fixed;left:44px;right:44px;bottom:27px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#5b6e52;pointer-events:none}.controls{display:flex;gap:15px;align-items:center;background:#f6f6e9b8;padding:13px 17px;border-radius:8px}.controls b{font-weight:600}.controls i{height:10px;width:1px;background:#b8c5a9}.world-status{display:flex;align-items:center;gap:8px}#dashboard{position:fixed;right:28px;top:106px;bottom:83px;width:350px;max-height:660px;overflow:auto;background:#faf8ed;border-radius:18px;box-shadow:0 20px 70px #273e3033;padding:28px;z-index:3;animation:panel-in .5s cubic-bezier(.16,1,.3,1)}.panel-top{display:flex;align-items:center;justify-content:space-between}.panel-top>svg{width:38px;height:38px;color:#71815e}.panel-top button{display:grid;place-items:center;background:#eceee0;border-radius:50%;width:32px;height:32px}.panel-top button svg{width:16px}h2{font-family:Outfit,sans-serif;font-size:32px;letter-spacing:-.8px;font-weight:500;margin:22px 0 5px}.panel-intro{font-size:12px;line-height:1.6;color:#64725a;margin:0 0 28px}.day{display:flex;justify-content:space-between;align-items:center;font-size:10px;padding-bottom:13px;border-bottom:1px solid #dadccb}.mock{background:#e6ebd9;color:#536448;border-radius:4px;padding:5px 7px;font-size:9px}.metrics{margin:0}.metrics>div{padding:17px 0;border-bottom:1px solid #e0e1d2;display:flex;align-items:center;justify-content:space-between;gap:12px}dt{font-size:12px;color:#5e6c54}dd{margin:0;font-family:Outfit,sans-serif;font-weight:500;letter-spacing:-.5px;font-size:23px;font-variant-numeric:tabular-nums}.stock dd{color:#a16b36}.stock dd span{font-family:DM Sans,sans-serif;font-size:11px;letter-spacing:0}.demo-note{font-size:10px;color:#6b775f;line-height:1.8;margin:22px 0}.back{display:flex;align-items:center;justify-content:space-between;background:#3c5c48;color:#fff9e9;padding:14px 16px;width:100%;border-radius:8px;font-size:12px}.back svg{width:17px}.panel-open .weather{opacity:0}#loading,#error{position:fixed;top:0;right:0;bottom:0;left:0;background:#e8eddd;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}#loading h2,#error h2{font-size:30px}#loading p,#error p{color:#617455;font-size:13px;max-width:45ch;line-height:1.7}.loading-mark svg{width:60px;height:60px;animation:breathe 1.8s ease-in-out infinite}#error button{background:#3c5c48;color:#fff9e9;padding:12px 24px;border-radius:8px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#b5c2a2;border-radius:5px}@keyframes panel-in{0%{transform:translate(25px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes breathe{50%{transform:translateY(-7px);opacity:.5}}@media(min-width:1500px){.village-title{top:150px}h1{font-size:64px}}@media(max-width:700px){.topbar{height:74px;padding:0 20px}.brand{font-size:18px;gap:8px}.brand>svg{width:26px}.version{display:none}.topbar button{padding:10px}.topbar button span{display:none}.village-title{left:22px;top:96px}h1{font-size:38px}.location{font-size:9px}.village-title p{font-size:11px}.weather{right:22px;top:107px}.weather div{display:none}.weather svg{width:25px}.hall-prompt{left:20px;bottom:90px;padding:13px 16px}.hall-prompt>svg:first-child{width:30px}footer{left:20px;right:20px;bottom:20px}.controls{gap:9px;font-size:9px;padding:12px}.world-status{display:none}#dashboard{top:auto;bottom:16px;left:16px;right:16px;width:auto;max-height:70dvh;padding:22px}h2{font-size:28px;margin-top:12px}.panel-intro{margin-bottom:18px}.metrics>div{padding:13px 0}.panel-open footer{visibility:hidden}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.directory{position:fixed;right:44px;bottom:94px;width:222px;z-index:2;padding:11px 13px;border-radius:12px;background:#faf8edf5;box-shadow:0 8px 27px #3248321c;color:#344b3d}.directory span{display:block;margin:0 0 4px 3px;font-size:10px;font-weight:700}.directory select{width:100%;padding:8px;border:0;border-radius:6px;font:inherit;font-size:12px;font-weight:600;color:#344b3d;background:#e9eddf}.directory select:focus-visible{outline:2px solid #a16b36;outline-offset:2px}.coming-soon{margin-top:16px;padding:17px;border-radius:8px;background:#e9eddf}.coming-soon strong{font:500 20px Outfit,sans-serif}.coming-soon p{margin:8px 0 0;font-size:12px;line-height:1.6}#dashboard{bottom:auto;max-height:calc(100dvh - 202px)}#dashboard dd{white-space:nowrap}.panel-open .directory{z-index:4}@media(max-width:700px){.directory{width:151px;right:20px;bottom:90px;padding:7px}.directory select{font-size:11px;padding:6px 3px}.hall-prompt{max-width:calc(100vw - 195px);gap:8px;padding:10px 12px}.hall-prompt>svg:last-child{display:none}.hall-prompt strong{font-size:13px}#dashboard{top:auto;bottom:16px;max-height:54dvh}.panel-open .directory{bottom:auto;top:80px}}.village-clock{position:relative;margin-left:auto;z-index:1}.village-clock summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;color:#344b3d;background:#faf9eff5;border-radius:9px;padding:8px 12px;box-shadow:0 4px 18px #263d2d1a}.village-clock summary::-webkit-details-marker{display:none}.village-clock summary svg{width:19px;height:19px;color:#687b5d}.village-clock summary:hover{background:#fffdf3}.village-clock summary:focus-visible,.environment-controls :focus-visible{outline:2px solid #a16b36;outline-offset:3px}.clock-reading{display:grid;gap:1px;white-space:nowrap}.clock-reading time{font:600 17px/1 Outfit,sans-serif;font-variant-numeric:tabular-nums}#village-date{font-size:10px;color:#53644a}.clock-weather{padding-left:10px;border-left:1px solid #d5dac9;font-size:11px;color:#53644a}.topbar{z-index:6;pointer-events:none}.topbar>*{pointer-events:auto}.topbar #reset{margin-left:0;flex-shrink:0}.environment-controls{position:absolute;right:0;top:calc(100% + 10px);width:258px;max-height:min(340px,calc(100dvh - 92px));overflow:auto;color:#344b3d;background:#faf8ed;border-radius:12px;padding:16px;box-shadow:0 14px 42px #172c2840}.environment-controls h2{font:500 22px/1.2 Outfit,sans-serif;margin:0 0 12px;letter-spacing:-.3px}.environment-controls label,.environment-controls output{font-size:11px;font-weight:700}.environment-controls select{display:block;width:100%;margin:5px 0 11px;border:0;border-radius:6px;background:#e9eddf;color:#344b3d;font:inherit;font-size:12px;padding:7px}.time-slider-label{display:flex;align-items:center;justify-content:space-between}.time-slider-label output{font-variant-numeric:tabular-nums;color:#526549}.environment-controls input{width:100%;margin:5px 0 10px;accent-color:#53754e}.environment-controls input:disabled{opacity:.55}.topbar .environment-controls button{display:block;width:100%;margin:0;color:#fff9e9;background:#3c5c48;padding:9px 10px}.night-village .topbar{background:linear-gradient(#15223ce6,#15223c00)}.night-village .brand,.night-village .brand b,.night-village .version{color:#f6ebd8}.night-village .version{border-color:#b7beae69}.night-village .village-title,.night-village .village-title p,.night-village .location,.night-village .world-status{color:#f6ebd8;text-shadow:0 2px 9px #111c36}.night-village h1>span{color:#e7af6b}@media(max-width:700px){.topbar{gap:9px;padding-inline:15px}.clock-weather,.village-clock summary svg{display:none}.village-clock summary{padding:7px 9px}.clock-reading time{font-size:16px}#village-date{font-size:9px}.environment-controls{right:-43px;width:min(258px,calc(100vw - 30px))}}@media(max-width:365px){.brand{font-size:15px;gap:4px}.brand>svg{width:22px}}.activity-dock{position:fixed;left:44px;bottom:178px;z-index:5;color:#344b3d;font-size:12px}.activity-dock summary{display:flex;align-items:center;gap:8px;width:max-content;list-style:none;padding:9px 12px;border-radius:9px;cursor:pointer;font-weight:700;background:#faf8edf5;box-shadow:0 6px 23px #172c2826}.activity-dock summary::-webkit-details-marker{display:none}.activity-dock summary svg{width:18px;height:18px;color:#657e62}.activity-count{min-width:21px;padding:2px 4px;border-radius:4px;text-align:center;background:#e7ecdc;color:#46634a;font-size:10px;font-variant-numeric:tabular-nums}.activity-panel{position:absolute;left:0;bottom:calc(100% + 9px);width:316px;max-height:calc(100dvh - 242px);overflow:auto;padding:15px;background:#faf8ed;border-radius:12px;box-shadow:0 14px 42px #172c2840}.activity-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.activity-title h2{font:500 22px/1.2 Outfit,sans-serif;margin:0;letter-spacing:-.3px}.activity-list{list-style:none;margin:11px 0 0;padding:2px 3px 3px;max-height:163px;overflow:auto;border-block:1px solid #dfe3d4;scrollbar-gutter:stable}.activity-list button{display:flex;align-items:center;gap:11px;text-align:left;padding:6px 8px;width:100%;min-height:41px;border-radius:5px;background:transparent}.activity-list li+li{border-top:1px solid #e7e9db}.activity-list button:hover,.activity-list button[aria-current]{background:#e7eddd}.activity-list time{color:#56694e;font-size:10px;font-variant-numeric:tabular-nums}.activity-list strong{display:block;font-size:12px}.activity-list small{display:block;color:#596c51;font-size:10px}.activity-detail{padding:9px 3px 10px;font-size:11px}.activity-detail strong{font-size:12px}.activity-detail p{margin:4px 0 0;line-height:1.4;color:#51654e}.activity-detail p:empty{display:none}.activity-actions{display:flex;align-items:center;gap:5px}.activity-actions button,.activity-actions select{font:inherit;font-size:11px;font-weight:700;min-height:31px;padding:5px 8px;border:0;border-radius:6px;background:#e7eddd;color:#36523e}.activity-actions button:disabled{opacity:.55;cursor:default}.activity-actions #activity-next{background:#3c5c48;color:#fff9e9}.activity-actions label{margin-left:auto}.activity-panel :focus-visible,.activity-dock summary:focus-visible{outline:2px solid #a16b36;outline-offset:1px}.activity-banner[data-state=playing]{position:fixed;z-index:4;left:50%;bottom:28px;transform:translate(-50%);width:max-content;max-width:calc(100vw - 28px);text-align:center;pointer-events:none;padding:9px 15px;border-radius:8px;background:#e7f0e5;color:#314d3b;box-shadow:0 5px 22px #172c282a;font-size:12px;font-weight:700}.visually-hidden,.activity-banner:not([data-state=playing]){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.activity-dock{left:20px;bottom:153px}.activity-panel{width:min(316px,calc(100vw - 40px));max-height:min(44dvh,calc(100dvh - 210px))}.activity-list{max-height:112px}.activity-banner[data-state=playing]{bottom:21px;font-size:11px}}@media(max-height:515px)and (min-width:701px){.activity-dock{bottom:120px}.activity-panel{max-height:calc(100dvh - 176px)}}.replay-dock{position:fixed;left:44px;bottom:224px;z-index:5;color:#344b3d;font-size:12px}.replay-dock summary{display:flex;align-items:center;gap:8px;width:max-content;list-style:none;padding:9px 12px;border-radius:9px;cursor:pointer;font-weight:700;background:#faf8edf5;box-shadow:0 6px 23px #172c2826}.replay-dock summary::-webkit-details-marker{display:none}.replay-dock summary svg{width:18px;height:18px;color:#657e62}.replay-live{width:7px;height:7px;border-radius:50%;background:#477e5f}.replay-panel{position:absolute;left:0;bottom:calc(100% + 9px);width:344px;max-height:calc(100dvh - 286px);overflow:auto;padding:15px;background:#faf8ed;border-radius:12px;box-shadow:0 14px 42px #172c2840}.replay-date-label{display:block;margin:12px 0 4px;font-size:10px;font-weight:700}.replay-panel select,.replay-panel button:not(.replay-list button){font:inherit;font-size:11px;font-weight:700;min-height:31px;padding:5px 8px;border:0;border-radius:6px;background:#e7eddd;color:#36523e}#replay-date{width:100%}.replay-readout{display:flex;align-items:baseline;justify-content:space-between;margin:12px 0 4px}.replay-readout time{font:600 22px/1 Outfit,sans-serif;font-variant-numeric:tabular-nums}.replay-readout span{font-size:11px;color:#53644a}.replay-track{position:relative;padding:3px 0 0}.replay-markers{position:absolute;inset:0 7px auto;height:5px;pointer-events:none}.replay-markers span{position:absolute;width:2px;height:5px;background:#8b7045}.replay-markers span[data-current]{width:4px;height:7px;background:#366a4b}#replay-timeline{width:100%;margin:0;accent-color:#51764f}.replay-endpoints{display:flex;justify-content:space-between;margin-top:0;font-size:9px;color:#53644a}.replay-transport{display:flex;align-items:center;gap:4px;margin-top:9px}.replay-transport label{margin-left:auto}.replay-panel button:disabled{opacity:.53;cursor:default}.replay-panel #replay-play,.replay-panel #replay-session{background:#3c5c48;color:#fff9e9}.replay-panel #replay-session{width:100%;margin-top:10px}.replay-status,.replay-empty,.control-note{margin:7px 0;color:#53644a;line-height:1.4;font-size:11px}.replay-list{max-height:123px;margin-top:6px}.replay-list time{min-width:48px}.replay-panel :focus-visible,.replay-dock summary:focus-visible{outline:2px solid #a16b36;outline-offset:1px}@media(max-width:700px){.replay-dock{left:auto;right:20px;bottom:153px}.replay-panel{left:auto;right:0;width:min(344px,calc(100vw - 40px));max-height:calc(100dvh - 211px)}.replay-list{max-height:94px}}@media(max-width:350px){.replay-dock summary,.activity-dock summary{padding-inline:8px;gap:5px;font-size:11px}}@media(max-height:515px)and (min-width:701px){.replay-dock{bottom:165px}.replay-panel{max-height:calc(100dvh - 226px)}}:root{--ui-paper:#faf8ed;--ui-ink:#344b3d;--ui-muted:#53644a;--ui-action:#3c5c48;--ui-gap:12px;--ui-gutter:28px;--ui-header-height:90px;--ui-top:calc(var(--ui-header-height) + env(safe-area-inset-top,0px));--ui-tools-height:124px;--ui-tools-bottom: calc(12px + env(safe-area-inset-bottom,0px)) ;--ui-bay-bottom:calc(var(--ui-tools-height) + var(--ui-tools-bottom) + 10px);--ui-bay-height:min(44dvh,calc(100dvh - var(--ui-top) - var(--ui-bay-bottom) - 12px))}.topbar{height:var(--ui-top);padding-top:env(safe-area-inset-top,0px);padding-left:max(28px,env(safe-area-inset-left,0px));padding-right:max(28px,env(safe-area-inset-right,0px))}.village-tools{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.village-tools>*{pointer-events:auto}button,summary,select{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:disabled:active{transform:none}button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #a16b36;outline-offset:2px}.topbar button,.village-clock summary,.activity-dock summary,.replay-dock summary{min-height:44px}.directory select,.activity-actions button,.activity-actions select,.replay-panel button,.replay-panel select,.environment-controls select,.topbar .environment-controls button{min-height:44px;font-size:13px}.activity-list button{min-height:44px}.activity-list strong{font-size:13px;line-height:1.4}.activity-list time,.activity-list small{font-size:11px;line-height:1.4}#dashboard{display:flex;flex-direction:column;gap:12px;top:calc(var(--ui-top) + 16px);max-height:calc(100dvh - var(--ui-top) - 204px);overflow:hidden;padding:24px}.dashboard-body{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 2px}#dashboard .panel-top,#dashboard .back{flex-shrink:0}#dashboard h2{margin-top:4px;font-size:30px;letter-spacing:-.03em}#dashboard .panel-intro{margin-bottom:20px}.panel-top button,.panel-dismiss{min-width:44px;width:44px;height:44px;min-height:44px}#dashboard dt{font-size:13px;line-height:1.45}#dashboard dd{font-size:23px}#dashboard .demo-note{margin-block:16px}.panel-heading{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:4px 8px;align-items:center;position:sticky;top:-16px;background:var(--ui-paper);z-index:1;padding-bottom:8px}.panel-heading h2{grid-column:1;grid-row:1;font:500 22px/1.2 Outfit,sans-serif;letter-spacing:-.03em;margin:0}.panel-heading .mock{grid-column:1;grid-row:2;justify-self:start}.panel-heading .panel-dismiss{grid-column:2;grid-row:1 / span 2}.panel-dismiss,.topbar .environment-controls .panel-dismiss{display:grid;place-items:center;background:#e9eddf;color:var(--ui-ink);border-radius:8px;padding:0;margin:0;box-shadow:none;width:44px}.panel-dismiss svg{width:18px;height:18px}.activity-panel,.replay-panel,.environment-controls{overscroll-behavior:contain;scrollbar-gutter:stable}.activity-panel{max-height:calc(100dvh - var(--ui-top) - 252px)}.replay-panel{width:360px;max-height:calc(100dvh - var(--ui-top) - 298px)}.activity-actions,.replay-transport{flex-wrap:wrap;gap:6px}.activity-actions label,.replay-transport label{margin-left:auto}#replay-timeline,.environment-controls input[type=range]{min-height:44px;touch-action:pan-y;cursor:pointer}.replay-endpoints{font-size:11px}.replay-track{padding-top:5px}.replay-markers{top:16px}.activity-detail,.replay-status,.replay-empty,.control-note{font-size:12px;line-height:1.5}.activity-dock summary,.replay-dock summary{border:1px solid transparent}.activity-dock[open]>summary,.replay-dock[open]>summary{background:#e5eddf;border-color:#718763}.touch-help,#app[data-aux-active=environment] #dashboard,#app[data-aux-active=debug] #dashboard{display:none}@media(max-width:1100px){.version{display:none}}@media(max-width:900px),(max-height:540px){:root{--ui-gutter:12px;--ui-header-height:74px}.topbar{gap:8px;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}.brand{font-size:18px;gap:7px;letter-spacing:-.03em}.brand>svg{width:26px}.version,.clock-weather,.village-clock summary>svg{display:none}.topbar #reset{padding:10px;width:44px;justify-content:center}.topbar #reset span{display:none}.village-clock summary{padding:7px 9px}#village-date{font-size:10px}.clock-reading time{font-size:16px}.village-title{top:calc(var(--ui-top) + 26px);left:20px}.village-title h1{font-size:36px;letter-spacing:-.035em}.village-tools{inset:auto max(var(--ui-gutter),env(safe-area-inset-right,0px)) var(--ui-tools-bottom) max(var(--ui-gutter),env(safe-area-inset-left,0px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:56px 44px;gap:8px;height:var(--ui-tools-height);padding:8px;background:var(--ui-paper);border-radius:14px;box-shadow:0 6px 24px #172c2829;z-index:8}.hall-prompt,.directory,.activity-dock,.replay-dock{position:static;inset:auto;width:auto;max-width:none;margin:0;min-width:0}.hall-prompt{grid-row:1;grid-column:1;padding:6px 8px;gap:7px;box-shadow:none;background:#e9eddf;border-radius:8px}.hall-prompt>svg:first-child{width:25px;height:25px}.hall-prompt>svg:last-child{display:none}.hall-prompt span{font-size:0}.hall-prompt strong{font-size:13px;line-height:1.25}.directory{grid-row:1;grid-column:2;padding:0;background:transparent;box-shadow:none}.directory span{margin:0 0 2px 4px;font-size:10px}.directory select{min-height:40px;height:40px;width:100%;padding:4px 6px;font-size:14px}.panel-open .directory{grid-column:1 / -1}.activity-dock{grid-row:2;grid-column:1}.replay-dock{grid-row:2;grid-column:2}.activity-dock>summary,.replay-dock>summary{width:100%;height:44px;justify-content:center;padding:7px 5px;gap:6px;font-size:12px;box-shadow:none;background:#e9eddf;border-radius:8px}.activity-count{min-width:18px;font-size:10px}#dashboard,.activity-panel,.replay-panel,.environment-controls{position:fixed;top:auto;left:max(var(--ui-gutter),env(safe-area-inset-left,0px));right:max(var(--ui-gutter),env(safe-area-inset-right,0px));bottom:var(--ui-bay-bottom);width:auto;max-height:var(--ui-bay-height);padding:16px;border-radius:14px}#dashboard{gap:8px}#dashboard h2{font-size:26px}#dashboard .panel-intro{margin-bottom:12px;font-size:12px}#dashboard .metrics>div{padding:12px 0}#dashboard .back{min-height:44px}.activity-list{max-height:150px}.replay-list{max-height:120px}.panel-heading{top:-16px}#app[data-aux-active] #dashboard{display:none}.panel-open .village-title,.aux-open .village-title{visibility:hidden}footer{left:12px;right:12px;bottom:calc(var(--ui-bay-bottom) + 2px);justify-content:center}.world-status{display:none}.controls{font-size:10px;line-height:1.4;gap:0;padding:7px 10px;background:var(--ui-paper)}.panel-open footer,.aux-open footer{visibility:hidden}.activity-banner[data-state=playing]{top:calc(var(--ui-top) + 8px);bottom:auto;max-width:calc(100vw - 24px);font-size:11px}.debug-open .activity-banner{visibility:hidden}}@media(pointer:coarse){select,.environment-controls select,.activity-actions select,.replay-panel select,.directory select{font-size:16px}.mouse-help{display:none}.touch-help{display:inline}}@media(max-width:380px){.brand b{display:none}.brand{font-size:16px}.village-clock summary{padding-inline:7px}}@media(max-height:540px)and (min-width:600px){:root{--ui-header-height:64px;--ui-tools-height:60px;--ui-bay-height:calc(100dvh - var(--ui-top) - var(--ui-bay-bottom) - 12px)}.village-tools{grid-template-columns:1fr minmax(145px,1.2fr) 1fr 1fr;grid-template-rows:44px}.hall-prompt{grid-column:1;grid-row:1}.directory,.panel-open .directory{grid-column:2;grid-row:1}.directory span{display:none}.directory select{height:44px}.activity-dock{grid-column:3;grid-row:1}.replay-dock{grid-column:4;grid-row:1}#dashboard,.activity-panel,.replay-panel,.environment-controls{left:auto;width:min(360px,45vw);right:max(12px,env(safe-area-inset-right,0px))}.panel-open .directory{grid-column:1 / span 2}.village-title{top:calc(var(--ui-top) + 8px)}.village-title h1{font-size:30px}}@media(hover:none){button:hover{filter:none}}@media(min-width:901px)and (min-height:541px){.activity-dock{bottom:184px}.replay-dock{bottom:236px}}body:has(.activity-banner[data-state=playing]) footer{visibility:hidden}@media(min-width:901px)and (min-height:541px){.activity-panel{bottom:calc(100% + 61px)}}.graphics-settings{margin-top:14px;border-top:1px solid #d8d4bf;padding-top:4px}.village-clock .graphics-settings>summary{display:flex;justify-content:space-between;min-height:44px;padding:8px 0;background:transparent;border:0;border-radius:0;box-shadow:none;color:#344b3d;font-size:14px}.graphics-settings>summary span{transition:transform .15s}.graphics-settings[open]>summary span{transform:rotate(180deg)}.graphics-settings select{min-height:44px}@media(prefers-reduced-motion:reduce){.graphics-settings>summary span{transition:none}}.graphics-benchmark{margin-top:16px;padding-top:12px;border-top:1px solid #d8d4bf}.graphics-benchmark h3{font:600 16px Outfit,sans-serif;margin:0 0 8px}.graphics-benchmark button{width:100%;min-height:44px;margin-top:8px}.benchmark-table{width:100%;border-collapse:collapse;font-size:11px;line-height:1.5;font-variant-numeric:tabular-nums;margin:12px 0}.benchmark-table caption{text-align:left;color:#5e6c54;margin-bottom:8px}.benchmark-table th,.benchmark-table td{padding:6px 2px;text-align:right;border-bottom:1px solid #d8d4bf}.benchmark-table th:first-child,.benchmark-table td:first-child{text-align:left}#benchmark-progress{font-variant-numeric:tabular-nums}.graphics-benchmark .control-note{overflow-wrap:anywhere}.village-clock .benchmark-renderer>summary{display:block;min-height:44px;padding:10px 0;background:transparent;border:0;border-radius:0;box-shadow:none;color:#3c5c48;font-size:12px;text-decoration:underline;text-underline-offset:3px}#benchmark-keep{background:transparent;color:#3c5c48;border:1px solid #c1cab6}#village-shell[aria-hidden=true],.village-loading #runtime-debug{visibility:hidden}#loading{z-index:1800}#loading progress{width:min(300px,80vw);height:8px;margin:14px 0 0;accent-color:#3c5c48;border:0;border-radius:8px;overflow:hidden}#loading progress::-webkit-progress-bar{background:#ccd6bf;border-radius:8px}#loading progress::-webkit-progress-value{background:#3c5c48;border-radius:8px}#loading progress::-moz-progress-bar{background:#3c5c48;border-radius:8px}#loading-detail{min-height:2em;font-variant-numeric:tabular-nums}.topbar #world-map,.topbar #reset{margin-left:0}#world-travel{position:fixed;z-index:12;top:calc(var(--ui-top) + 16px);right:max(28px,env(safe-area-inset-right,0px));width:350px;max-height:calc(100dvh - var(--ui-top) - 44px);display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--ui-paper,#faf8ed);border-radius:16px;box-shadow:0 12px 36px #172c2833}.world-travel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.world-travel-heading h2{margin:0;font:500 28px Outfit,sans-serif;letter-spacing:-.025em}.world-travel-heading button{background:transparent;display:grid;place-items:center}.world-travel-body{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.world-intro,.world-note{color:#5e6c54;font-size:13px;line-height:1.55;margin:0 0 16px}.world-destinations{list-style:none;margin:0;padding:0}.world-destinations li{border-top:1px solid #d8d4bf;padding:16px 0}.world-town{display:flex;align-items:center;justify-content:space-between;gap:12px}.world-town strong{font:500 21px Outfit,sans-serif;color:#344b3d}.world-town>span{font-size:12px;color:#5e6c54;white-space:nowrap}.world-town .world-current{color:#3c5c48;font-weight:700}.world-destinations button{width:100%;padding:0;background:transparent;text-align:left;min-height:28px}.world-destinations button:disabled{opacity:1;cursor:not-allowed}.world-destinations button:disabled strong{color:#66745d}.world-note{margin:8px 0 0}#world-travel-back{background:#3c5c48;color:#faf8ed;min-height:44px;border-radius:8px;padding:10px 16px;flex-shrink:0}.travel-open .village-title,.travel-open footer{visibility:hidden}@media(max-width:900px),(max-height:540px){.topbar #world-map{width:44px;min-width:44px;padding:10px;justify-content:center}.topbar #world-map span{display:none}#world-travel{top:auto;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:var(--ui-bay-bottom);width:auto;max-height:min(350px,calc(100dvh - var(--ui-top) - var(--ui-bay-bottom) - 20px));padding:16px;gap:12px}.world-travel-heading h2{font-size:26px}}@media(max-width:380px){.brand{gap:5px}.brand>svg{display:none}.topbar{gap:6px}}@media(max-height:540px)and (min-width:600px){#world-travel{left:auto;width:min(360px,45vw)}}@media(max-width:600px){.topbar .brand b{display:none}}@media(max-width:900px),(max-height:540px){.world-destinations li{padding:12px 0}.world-intro{margin-bottom:12px}.world-note{font-size:12px;margin-top:8px}}.village-loading #village{visibility:hidden;pointer-events:none}.world-destinations button[data-travel-world] .world-town>span{color:#3c5c48;font-weight:700}.world-destinations button[data-travel-world]:not(:disabled):hover strong{text-decoration:underline;text-underline-offset:3px}.world-destinations button[data-travel-world]{min-height:44px}
