.popup-overlay[data-v-0e112e93]{z-index:1500;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.popup-card[data-v-0e112e93]{text-align:center;background:#fff;border-radius:12px;width:min(280px,100%);padding:20px;box-shadow:0 8px 24px #00000026}.popup-title[data-v-0e112e93]{color:var(--brand-primary,#c41e3a);margin:0 0 10px;font-size:16px}.popup-message[data-v-0e112e93]{color:#555;white-space:pre-wrap;margin:0 0 16px;font-size:14px;line-height:1.6}.popup-btn[data-v-0e112e93]{background:var(--brand-primary,#c41e3a);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:10px;font-size:15px}.app-viewport[data-v-9235d47b]{background:var(--brand-background,#fff8f0);justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.device-frame[data-v-9235d47b]{aspect-ratio:271/483;background:#fff;width:min(100vw,56.1077dvh);max-width:100vw;height:min(100dvh,178.229vw);max-height:100dvh;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0000000f,0 8px 32px #0000001f}.score-bar[data-v-5df2c6eb]{background:var(--brand-primary,#c41e3a);color:#fff;align-items:center;gap:8px;padding:8px 16px;font-size:14px;display:flex}.value[data-v-5df2c6eb]{font-size:18px;font-weight:700}.tab-btn[data-v-c1d82eae]{color:#666;cursor:pointer;background:0 0;border:none;flex:1;padding:10px;font-size:13px}.tab-btn.active[data-v-c1d82eae]{color:var(--brand-primary,#c41e3a);font-weight:600}.tab-btn.disabled[data-v-c1d82eae]{opacity:.4;cursor:not-allowed}.panel[data-v-c1d82eae]{background:#fff;border-radius:8px;max-height:200px;padding:8px;position:absolute;bottom:56px;left:8px;right:8px;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.row[data-v-c1d82eae]{border-bottom:1px solid #eee;gap:8px;padding:6px 4px;font-size:13px;display:flex}.rank[data-v-c1d82eae]{width:32px;color:var(--brand-accent,gold);font-weight:700}.name[data-v-c1d82eae]{flex:1}.score[data-v-c1d82eae]{font-weight:600}.empty[data-v-c1d82eae]{text-align:center;color:#999;padding:12px}.tab-btn[data-v-2cb53bd5]{color:#666;cursor:pointer;background:0 0;border:none;flex:1;padding:10px;font-size:13px}.tab-btn.active[data-v-2cb53bd5]{color:var(--brand-primary,#c41e3a);font-weight:600}.tab-btn.disabled[data-v-2cb53bd5]{opacity:.4;cursor:not-allowed}.panel[data-v-2cb53bd5]{background:#fff;border-radius:8px;padding:12px;position:absolute;bottom:56px;left:8px;right:8px;box-shadow:0 4px 16px #0000001f}.reward[data-v-2cb53bd5]{border-bottom:1px solid #eee;align-items:center;gap:8px;padding:8px 0;display:flex}.info[data-v-2cb53bd5]{flex:1;font-size:13px}.info p[data-v-2cb53bd5]{color:#888;margin:4px 0 0;font-size:12px}.claim-btn[data-v-2cb53bd5]{background:var(--brand-primary,#c41e3a);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 12px}.claimed[data-v-2cb53bd5]{color:#2e7d32;font-size:12px}.locked[data-v-2cb53bd5]{color:#999;font-size:12px}.tab-btn[data-v-3274e3a1]{color:#666;cursor:pointer;background:0 0;border:none;flex:1;padding:10px;font-size:13px}.tab-btn.active[data-v-3274e3a1]{color:var(--brand-primary,#c41e3a)}.tab-btn.disabled[data-v-3274e3a1]{opacity:.4;cursor:not-allowed}.tab-btn[data-v-4330f7db]{color:#666;cursor:pointer;background:0 0;border:none;flex:1;padding:10px;font-size:13px}.tab-btn.active[data-v-4330f7db]{color:var(--brand-primary,#c41e3a);font-weight:600}.panel[data-v-4330f7db]{background:#fff;border-radius:8px;max-height:220px;padding:12px;position:absolute;bottom:56px;left:8px;right:8px;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.rules[data-v-4330f7db]{white-space:pre-wrap;color:#444;margin:0;font-family:inherit;font-size:13px;line-height:1.6}.map-panel[data-v-7905d227]{z-index:2;touch-action:none;position:absolute;inset:0}.building[data-v-7905d227]{cursor:pointer;z-index:1;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:0;padding:0;transition:transform .22s,filter .22s,z-index;position:absolute;transform:translate(-50%,-50%)}.building img[data-v-7905d227]{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.building.is-highlight[data-v-7905d227]{filter:drop-shadow(0 10px 18px #00000047);z-index:10;transform:translate(-50%,-50%)scale(1.1)}@media (hover:hover) and (pointer:fine){.building[data-v-7905d227]:hover{filter:drop-shadow(0 10px 18px #00000047);z-index:10;transform:translate(-50%,-50%)scale(1.1)}}.is-edit .building[data-v-7905d227]{cursor:grab;outline-offset:4px;outline:2px dashed #c41e3aa6}.is-edit .building.is-dragging[data-v-7905d227]{cursor:grabbing;z-index:20}.badge[data-v-7905d227]{pointer-events:none;font-size:clamp(14px,3vw,20px);line-height:1;position:absolute;top:4%;right:8%}.badge.pass[data-v-7905d227]{color:#2e7d32;text-shadow:0 0 4px #fff}.stars[data-v-7905d227]{color:var(--brand-accent,gold);white-space:nowrap;pointer-events:none;text-shadow:0 1px 2px #00000059;font-size:clamp(12px,2.5vw,16px);position:absolute;top:-8%;left:50%;transform:translate(-50%)}.edit-tag[data-v-7905d227]{color:#fff;white-space:nowrap;pointer-events:none;background:#000000b8;border-radius:4px;padding:2px 6px;font-size:11px;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.edit-toolbar[data-v-7905d227]{z-index:30;color:#fff;pointer-events:auto;background:#000000c7;border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;font-size:12px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.edit-copy[data-v-7905d227]{background:var(--brand-primary,#c41e3a);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 10px;font-size:13px}.edit-hint[data-v-7905d227]{opacity:.92;line-height:1.4}.home[data-v-80d7ce52]{flex-direction:column;height:100%;display:flex}.home-main[data-v-80d7ce52]{background:var(--brand-background,#fff8f0);flex:1;min-height:0;position:relative;overflow:hidden}.home-bg[data-v-80d7ce52]{object-fit:cover;object-position:center;pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.home-overlay[data-v-80d7ce52]{z-index:3;pointer-events:none;flex-direction:column;display:flex;position:relative}.header[data-v-80d7ce52]{text-align:center;padding:8px 16px}.header h1[data-v-80d7ce52]{color:var(--brand-primary,#c41e3a);text-shadow:0 1px 3px #ffffffe6;margin:0;font-size:18px}.bottom-tabs[data-v-80d7ce52]{z-index:4;background:#fff;border-top:1px solid #eee;flex-shrink:0;display:flex;position:relative}.overlay[data-v-e45a61ab]{z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.card[data-v-e45a61ab]{text-align:center;background:#fff;border-radius:16px;width:min(320px,100%);padding:24px}h2[data-v-e45a61ab]{color:var(--brand-primary,#c41e3a);margin:0 0 12px}.score[data-v-e45a61ab]{margin:8px 0;font-size:36px;font-weight:700}.stars[data-v-e45a61ab]{color:var(--brand-accent,gold);font-size:24px}.pass[data-v-e45a61ab]{color:#2e7d32}.fail[data-v-e45a61ab]{color:#c62828}.hint[data-v-e45a61ab]{color:#888;font-size:12px}.primary[data-v-e45a61ab]{background:var(--brand-primary,#c41e3a);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:16px;padding:12px;font-size:16px}.game-page[data-v-ce0d1552]{background:var(--brand-background,#fff8f0);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.game-header[data-v-ce0d1552]{z-index:10;background:#fff;border-bottom:1px solid #eee;flex-shrink:0;align-items:center;height:44px;padding:0 12px;display:flex}.game-canvas[data-v-ce0d1552]{flex:1;min-height:0;position:relative;overflow:hidden}.phaser-root[data-v-ce0d1552]{z-index:0;touch-action:none;position:absolute;inset:0}.phaser-root[data-v-ce0d1552] canvas{touch-action:none}.back-btn[data-v-ce0d1552]{cursor:pointer;background:#ffffffe6;border:1px solid #ddd;border-radius:8px;padding:6px 12px;font-size:14px}:root{color:#333;background-color:var(--brand-background,#fff8f0);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;padding:0;overflow:hidden}button{font-family:inherit}
