.townRoot{--ink:#1d2340;--ink-2:#4a5275;--cream:#fffaf0;--edge:#1d2340;--blue:#4b7bff;--green:#3fcf5f;--gold:#fc3;--red:#ff5d5d;--orange:#ff9f2e;--bad:#e03131;--pop:0 4px 0 var(--edge);--font:"Inter", system-ui, sans-serif;--display:"Fredoka", "Inter", system-ui, sans-serif}.townRoot .world{position:absolute;inset:0}.townRoot .world canvas{cursor:grab;display:block}.townRoot .world canvas:active{cursor:grabbing}.townRoot .labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.townRoot .label3d .name{border:2.5px solid var(--edge);background:var(--blue);box-shadow:0 3px 0 var(--edge)}.townRoot .label3d.battery{display:none}@keyframes hot{50%{box-shadow:0 0 0 5px #e0313159, var(--pop)}}.townRoot .label3d{text-align:center;pointer-events:auto;cursor:pointer;transform-origin:50% 100%;white-space:nowrap;position:absolute;top:0;left:0}.townRoot .label3d .name{font:700 15px/1.1 var(--display);color:#fff;background:var(--blue);border:2.5px solid var(--edge);box-shadow:0 3px 0 var(--edge);border-radius:99px;padding:3px 10px 4px;display:inline-block}.townRoot .label3d.working .name{background:var(--green)}.townRoot .label3d.over-budget .name{background:var(--orange)}.townRoot .label3d.off .name,.label3d.retired .name{background:#8a8f99}.townRoot .label3d .title{font:600 11px var(--font);color:#fff;text-shadow:0 1px 0 var(--edge), 0 0 4px #00000080;margin-top:4px}.townRoot .label3d .work{margin-top:4px;display:none}.townRoot .label3d .work.show{display:block}.townRoot .label3d .wbar{border:2px solid var(--edge);background:#1d234099;border-radius:6px;width:128px;height:8px;margin:0 auto;overflow:hidden}.townRoot .label3d .wbar i{background:linear-gradient(90deg, var(--green), #b6ffcb);width:0;height:100%;transition:width .5s linear;display:block}.townRoot .label3d .work.late .wbar i{background:linear-gradient(90deg, var(--orange), var(--red))}.townRoot .label3d .work.next .wbar{display:none}.townRoot .label3d .wtxt{max-width:190px;font:700 11px/1.2 var(--display);color:#fff;text-shadow:0 1px 0 var(--edge), 0 0 4px #0009;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;margin:2px auto 0;overflow:hidden}.townRoot .far .label3d .wtxt{display:none}.townRoot .label3d .pills{justify-content:center;gap:4px;margin-top:3px;display:flex}.townRoot .pill{font:700 10.5px/1.7 var(--display);color:var(--ink);border:2px solid var(--edge);background:#fff;border-radius:99px;padding:0 8px;display:inline-block}.townRoot .pill.perf{background:var(--gold)}.townRoot .label3d.retired{opacity:.6}.townRoot .label3d .bubble{opacity:0;pointer-events:none;white-space:normal;text-align:left;max-width:240px;color:var(--ink);border:2.5px solid var(--edge);font:500 12px/1.35 var(--font);box-shadow:0 3px 0 var(--edge);background:#fff;border-radius:14px;width:max-content;padding:6px 10px;transition:all .25s cubic-bezier(.3,1.6,.5,1);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)scale(.5)}.townRoot .label3d .bubble:after{content:"";border:8px solid #0000;border-top-color:var(--edge);position:absolute;top:100%;left:50%;transform:translate(-50%)}.townRoot .label3d .bubble.show{opacity:1;transform:translate(-50%)scale(1)}.townRoot .label3d.hall .name{background:var(--red);font-size:17px}.townRoot .label3d.crew .name{color:var(--gold);background:#1d2340}.townRoot .label3d.crew.working .name{background:#1d2340;box-shadow:0 0 0 2px #ff2d2d}.townRoot .label3d.team{pointer-events:none;z-index:2}.townRoot .label3d.team .name{letter-spacing:.04em;box-shadow:0 4px 0 var(--edge);border-width:3px;padding:5px 16px 6px;font-size:20px}.townRoot .far .label3d.team .name{padding:3px 10px 4px;font-size:15px}.townRoot .label3d.battery{background:var(--cream);border:2.5px solid var(--edge);box-shadow:var(--pop);border-radius:14px;min-width:118px;padding:5px 12px}.townRoot .label3d.battery .name{box-shadow:none;color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;background:0 0;border:0;padding:0;font-size:11px}.townRoot .label3d.battery .big{font:700 26px/1 var(--display);color:var(--ink)}.townRoot .label3d.battery .title{color:var(--ink-2);text-shadow:none;font-weight:500}.townRoot .label3d.battery .warn{color:var(--bad);font-size:11px;font-weight:700}.townRoot .label3d.battery.hot{border-color:var(--bad);animation:1.2s ease-in-out infinite hot}.townRoot .far .label3d.agent .title,.far .label3d.agent .pills,.far .label3d.battery .title{display:none}.townRoot .far .label3d .name{padding:2px 8px 3px;font-size:13px}.townRoot .far .label3d.battery{border-radius:10px;min-width:0;padding:2px 8px}.townRoot .far .label3d.battery .name{font-size:9px}.townRoot .far .label3d.battery .big{font-size:17px}
.cmErUW_demo{isolation:isolate;height:min(72svh,700px);min-height:480px;font-family:var(--font-landing-body), system-ui, sans-serif;touch-action:pan-y pinch-zoom;background:#7fd6ff;border:1px solid #ffffff24;border-radius:28px;position:relative;overflow:hidden;box-shadow:0 40px 120px #0000008c,0 0 0 1px #0006}.cmErUW_mission,.cmErUW_status,.cmErUW_controls button,.cmErUW_feed li,.cmErUW_chat,.cmErUW_hint{-webkit-backdrop-filter:blur(14px)saturate(140%)}.cmErUW_mission{z-index:5;color:#fff;background:#0e101cd1;border:1px solid #ffffff1f;border-radius:18px;width:min(330px,100% - 32px);padding:14px 16px 12px;position:absolute;top:16px;left:16px}.cmErUW_missionTop{align-items:center;gap:10px;font-size:14px;display:flex}.cmErUW_tag{font-family:var(--font-app-display);letter-spacing:.04em;text-transform:uppercase;color:#18130a;background:#f4d27a;border-radius:6px;padding:1px 9px 2px;font-size:12px;font-weight:700;transform:rotate(-4deg)}.cmErUW_mrr{align-items:baseline;gap:6px;margin-top:8px;display:flex}.cmErUW_mrrNum{font-family:var(--font-app-display);letter-spacing:-.04em;font-size:40px;font-weight:800;line-height:1}.cmErUW_mrrUnit{color:#ffffff9e;font-size:13px}.cmErUW_cur{font-family:var(--font-landing-body), system-ui;vertical-align:.75em;color:#f4d27a;margin-right:.06em;font-size:.5em;font-weight:600}.cmErUW_bar{background:#ffffff1f;border-radius:99px;height:8px;margin-top:10px;overflow:hidden}.cmErUW_bar i{background:linear-gradient(90deg,#3fcf5f,#b6ffcb);height:100%;transition:width .8s cubic-bezier(.2,.8,.2,1);display:block}.cmErUW_missionMeta{color:#ffffff9e;justify-content:space-between;margin-top:7px;font-size:12px;display:flex}.cmErUW_passed{font-family:var(--font-app-display);letter-spacing:-.04em;color:#18130a;background:#f4d27af2;border-radius:18px;place-items:center;font-size:36px;font-weight:800;animation:.5s cubic-bezier(.2,1.6,.4,1) cmErUW_pop;display:grid;position:absolute;inset:0}@keyframes cmErUW_pop{0%{opacity:0;transform:scale(.7)}}.cmErUW_status{z-index:5;color:#ffffffd9;background:#0e101cc7;border:1px solid #ffffff1f;border-radius:99px;align-items:center;gap:12px;padding:8px 14px;font-size:13px;display:flex;position:absolute;top:16px;right:16px}.cmErUW_live{color:#fff;align-items:center;gap:6px;font-weight:600;display:inline-flex}.cmErUW_live i{background:#ff4d4d;border-radius:50%;width:8px;height:8px;animation:1.6s infinite cmErUW_pulse;box-shadow:0 0 #ff4d4d99}@keyframes cmErUW_pulse{70%{box-shadow:0 0 0 8px #ff4d4d00}to{box-shadow:0 0 #ff4d4d00}}.cmErUW_controls{z-index:5;gap:8px;display:flex;position:absolute;bottom:16px;right:16px}.cmErUW_controls button{cursor:pointer;color:#fff;min-width:38px;height:38px;font:600 14px var(--font-landing-body), system-ui;background:#0e101cc7;border:1px solid #ffffff24;border-radius:12px;padding:0 12px}.cmErUW_controls button:hover{background:#0e101ceb}.cmErUW_feed{z-index:4;pointer-events:none;flex-direction:column-reverse;gap:6px;width:min(440px,100% - 180px);margin:0;padding:0;list-style:none;display:flex;position:absolute;bottom:16px;left:16px}.cmErUW_feed li{color:#ffffffe6;background:#0e101cb8;border:1px solid #ffffff1a;border-radius:12px;padding:7px 12px;font-size:12.5px;line-height:1.35;animation:.45s cubic-bezier(.2,.8,.2,1) cmErUW_slide}.cmErUW_feed li:nth-child(n+3){opacity:.55}.cmErUW_feed b{color:#fff;font-weight:600}.cmErUW_feed .cmErUW_sale{color:#b6ffcb}@keyframes cmErUW_slide{0%{opacity:0;transform:translateY(10px)}}.cmErUW_hint{z-index:4;color:#1d2340;pointer-events:none;white-space:nowrap;background:#ffffffc7;border:1px solid #1d234026;border-radius:99px;padding:7px 14px;font-size:12.5px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.cmErUW_chat{z-index:6;color:#fff;background:#0e101ce0;border:1px solid #ffffff24;border-radius:20px;flex-direction:column;width:min(360px,100% - 32px);animation:.35s cubic-bezier(.2,.8,.2,1) cmErUW_slide;display:flex;position:absolute;top:76px;bottom:66px;right:16px}.cmErUW_chat header{align-items:center;gap:12px;padding:14px 14px 10px;display:flex}.cmErUW_chat h4{margin:0;font-size:16px;font-weight:700}.cmErUW_chat header p{color:#fff9;margin:2px 0 0;font-size:12.5px}.cmErUW_avatar{width:38px;height:38px;font-family:var(--font-app-display);color:#fff;text-shadow:0 1px 2px #00000080;border:2px solid #ffffff40;border-radius:12px;flex:none;place-items:center;font-size:17px;font-weight:700;display:grid}.cmErUW_close{cursor:pointer;color:#fff;background:#ffffff14;border:0;border-radius:10px;width:32px;height:32px;margin-left:auto;font-size:20px}.cmErUW_doing{color:#b6ffcb;background:#3fcf5f1a;border-radius:10px;margin:0 14px;padding:6px 10px;font-size:12px}.cmErUW_lines{overscroll-behavior:contain;flex-direction:column;flex:1;gap:8px;padding:12px 14px;display:flex;overflow-y:auto}.cmErUW_lines p{border-radius:14px;max-width:88%;margin:0;padding:9px 12px;font-size:13.5px;line-height:1.45}.cmErUW_them{background:#ffffff17;border-bottom-left-radius:4px;align-self:flex-start}.cmErUW_you{color:#18130a;background:#f4d27a;border-bottom-right-radius:4px;align-self:flex-end}.cmErUW_typing{gap:4px;display:inline-flex}.cmErUW_typing i{background:#fff9;border-radius:50%;width:6px;height:6px;animation:1s infinite cmErUW_blink}.cmErUW_typing i:nth-child(2){animation-delay:.15s}.cmErUW_typing i:nth-child(3){animation-delay:.3s}@keyframes cmErUW_blink{50%{opacity:.2}}.cmErUW_composer{border-top:1px solid #ffffff14;gap:8px;padding:10px;display:flex}.cmErUW_composer input{color:#fff;min-width:0;height:40px;font:14px var(--font-landing-body), system-ui;background:#ffffff0f;border:1px solid #ffffff24;border-radius:12px;outline:none;flex:1;padding:0 12px}.cmErUW_composer input:focus{border-color:#f4d27a}.cmErUW_composer button{cursor:pointer;color:#18130a;height:40px;font-weight:700;font-family:var(--font-landing-body), system-ui;background:#f4d27a;border:0;border-radius:12px;padding:0 14px}.cmErUW_composer button:disabled{opacity:.45;cursor:default}.cmErUW_loading{z-index:10;font-family:var(--font-app-display);letter-spacing:-.03em;color:#1d2340;background:#7fd6ff;place-items:center;font-size:26px;font-weight:700;display:grid;position:absolute;inset:0}@media (max-width:700px){.cmErUW_demo{border-radius:20px;height:clamp(420px,64svh,560px);min-height:420px}.cmErUW_mission{width:calc(100% - 32px);padding:10px 12px}.cmErUW_mrrNum{font-size:34px}.cmErUW_status{gap:8px;padding:6px 10px;font-size:12px;inset:auto auto 16px 16px}.cmErUW_feed,.cmErUW_hint,.cmErUW_status>span:last-child{display:none}.cmErUW_status{padding:6px 8px;font-size:11px;bottom:20px;left:10px}.cmErUW_controls{gap:6px;bottom:12px;right:10px}.cmErUW_controls button{min-width:44px;height:44px;padding:0 10px;font-size:13px}.cmErUW_chat{width:auto;height:78%;max-height:420px;inset:auto 8px 8px}.cmErUW_chat header{gap:8px;padding:12px}.cmErUW_chat header>div:nth-child(2){min-width:0}.cmErUW_close{flex-shrink:0;width:44px;height:44px}.cmErUW_lines{min-height:0}.cmErUW_composer input{height:44px;font-size:16px}.cmErUW_composer button{height:44px}}@media (max-width:380px){.cmErUW_status{bottom:66px}}
