.todo-row{display:flex;align-items:center;gap:6px;width:100%;height:30px;padding:0 8px;box-sizing:border-box;text-align:left;font:inherit;font-size:12px;color:inherit;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);transition:background-color .1s ease,border-color .1s ease}.todo-row:hover{background-color:var(--bg-hover)}.todo-row:focus-visible{outline:none;border-color:var(--accent-cyan);background-color:var(--bg-hover)}.village-container{position:relative;width:100%;height:100%;background:radial-gradient(circle at 50% 30%,#152232,#0b111a 70%,#06090e);overflow:auto;-webkit-user-select:none;user-select:none;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)}.village-isometric-plane{position:relative;min-width:960px;min-height:640px;width:100%;height:100%;display:flex;flex-direction:column}@keyframes rtsIdleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes rtsAxeChop{0%{transform:rotate(0)}30%{transform:rotate(-35deg)}60%{transform:rotate(45deg)}75%{transform:rotate(38deg)}to{transform:rotate(0)}}@keyframes rtsHammerStrike{0%{transform:rotate(0)}35%{transform:rotate(-40deg)}70%{transform:rotate(35deg)}85%{transform:rotate(20deg)}to{transform:rotate(0)}}@keyframes rtsInspectScan{0%,to{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(15deg) translateY(-2px)}}@keyframes rtsScrollFlutter{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.05) translateY(-2px)}}@keyframes rtsAlertBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.12)}}@keyframes rtsWalkStride{0%{transform:translate(0) translateY(0)}25%{transform:translate(4px) translateY(-2px)}50%{transform:translate(8px) translateY(0)}75%{transform:translate(12px) translateY(-2px)}to{transform:translate(16px) translateY(0)}}@keyframes rtsDustPuff{0%{opacity:.8;transform:scale(.6) translateY(0)}to{opacity:0;transform:scale(1.4) translateY(-10px)}}@keyframes rtsSparkGlow{0%,to{opacity:0}50%{opacity:1}}.anim-idle{animation:rtsIdleBob 2.4s ease-in-out infinite}.anim-axe-arm{transform-origin:32px 30px;animation:rtsAxeChop 1.2s cubic-bezier(.4,0,.2,1) infinite}.anim-hammer-arm{transform-origin:32px 30px;animation:rtsHammerStrike 1s cubic-bezier(.4,0,.2,1) infinite}.anim-inspect-arm{transform-origin:30px 32px;animation:rtsInspectScan 2s ease-in-out infinite}.anim-scroll{transform-origin:34px 34px;animation:rtsScrollFlutter 2.2s ease-in-out infinite}.anim-alert-bubble{animation:rtsAlertBounce 1s ease-in-out infinite}.anim-walks-off{animation:rtsWalkStride 3s ease-in-out infinite alternate}.anim-sparks{animation:rtsSparkGlow 1s ease-in-out infinite}.tree-trunk-felled{transform-origin:40px 92px;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}:root{--bg-primary: #060913;--bg-secondary: #0d1527;--bg-tertiary: #131f38;--bg-hover: #1b2a4a;--bg-glass: rgba(13, 21, 39, .85);--bg-overlay: rgba(6, 9, 19, .75);--bg-card: rgba(19, 31, 56, .6);--border-color: #1e293b;--border-subtle: #172338;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-cyan: #38bdf8;--accent-cyan-glow: rgba(56, 189, 248, .15);--accent-amber: #f59e0b;--accent-amber-glow: rgba(245, 158, 11, .15);--accent-purple: #a855f7;--accent-purple-glow: rgba(168, 85, 247, .15);--accent-red: #f87171;--accent-red-glow: rgba(248, 113, 113, .15);--status-emerald: #34d399;--status-emerald-glow: rgba(52, 211, 153, .15);--status-amber: #fbbf24;--status-rose: #f87171;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .6);--shadow-cyan-glow: 0 0 15px rgba(56, 189, 248, .2);--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--header-height: 48px;--rail-width: 340px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden;height:100vh;width:100vw}#root{height:100%;width:100%;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-color)}.shell{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100vw;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}button,input,select,textarea,a{touch-action:manipulation}.workspace{display:flex;flex:1;min-height:0;overflow:hidden;position:relative}.rail{width:var(--rail-width);flex-shrink:0;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background-color:var(--bg-secondary);transition:width .18s ease,opacity .18s ease}.rail--collapsed{width:0!important;border-right:none!important;overflow:hidden!important;opacity:0;pointer-events:none}.rail-backdrop,.shell--narrow .brand-label,.shell--narrow .tab-label,.shell--narrow .status-label{display:none}.shell--narrow .rail{position:absolute;top:0;left:48px;bottom:0;width:min(var(--rail-width),88vw);transform:translate(-120%);transition:transform .16s ease-out;z-index:20;box-shadow:8px 0 24px #00000073}.shell--narrow .rail--open{transform:none}.shell--narrow .rail-backdrop{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;background:var(--bg-overlay)}.shell--narrow .chat-dock{padding:10px 12px;gap:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.glass-panel{background-color:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.badge-release{font-size:11px;background-color:var(--accent-cyan-glow);color:var(--accent-cyan);border:1px solid rgba(56,189,248,.3);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.35)}}.voice-pulse{animation:voice-pulse 1s ease-in-out infinite}
