html,body,#root{min-height:100vh}:root{--bg: #f5f3ef;--panel-bg: #fff;--text: #0f172a;--muted: #475569;--accent: #0ea5e9;--header-bg: #fff;--border: #ddd;--toggle-bg: #cbd5e1}.dark{--bg: #0b1220;--panel-bg: #071029;--text: #e6eef7;--muted: #94a3b8;--accent: #38bdf8;--header-bg: #071029;--border: #122033;--toggle-bg: #334155}body{margin:0;padding:0;background:var(--bg);font-family:Inter,system-ui,sans-serif;color:var(--text)}*{box-sizing:border-box}.app-container{display:flex;min-height:100vh;background:var(--bg)}.sidebar-container{width:250px;background:var(--panel-bg);padding:20px;border-right:1px solid var(--border)}.sidebar-container h2{margin-top:0;font-size:1.2em}.mission-list{list-style:none;padding:0;margin:0}.mission-item{padding:10px;cursor:pointer;border-radius:5px;margin-bottom:5px}.mission-item.active{background:#0000000f}.mission-item.status-action-required{border-left:3px solid #e53935}.mission-item.status-done{border-left:3px solid #43a047}.mission-item.status-normal{border-left:3px solid #ccc}.main-content{flex-grow:1;display:flex;flex-direction:column}.header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border);background:var(--panel-bg)}.header h1{margin:0;font-size:1.5em}.status-container button{margin-left:10px;padding:5px 10px;border:1px solid #ccc;background:#f0f0f0;cursor:pointer}.status-container button.active{background:#ccc;font-weight:700}.content-area{display:flex;flex-grow:1}.chat-container{flex:2;display:flex;flex-direction:column;padding:20px}.chat-messages{flex-grow:1;overflow-y:auto;margin-bottom:20px;border:1px solid var(--border);padding:10px;background:var(--panel-bg)}.message{padding:8px 12px;border-radius:15px;margin-bottom:10px;max-width:80%}.message.user{background:#dcf8c6;align-self:flex-end;margin-left:auto}.message.ai{background:#f1f0f0;align-self:flex-start}.chat-input{display:flex}.chat-input input{flex-grow:1;padding:10px;border:1px solid #ccc;border-radius:5px 0 0 5px}.chat-input button{padding:10px 15px;border:1px solid #ccc;border-left:none;background:#f0f0f0;cursor:pointer;border-radius:0 5px 5px 0}.summary-container{flex:1;padding:20px;border-left:1px solid var(--border);background:var(--panel-bg)}.summary-container h2{margin-top:0}.summary-content{white-space:pre-wrap}.landing-root{min-height:100vh;background:var(--panel-bg);color:var(--text)}.site-header{display:flex;justify-content:space-between;align-items:center;padding:18px 48px;background:var(--header-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.welcome-text{font-weight:600;color:var(--muted);margin-right:8px}.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.logo .icon{width:44px;height:44px;background:var(--accent);border-radius:9px;display:inline-flex;align-items:center;justify-content:center}.logo .brand{font-weight:700;font-size:18px}.btn-login{display:inline-block;padding:8px 14px;background:var(--accent);color:#fff;border-radius:10px;text-decoration:none;font-weight:600}.site-header nav{display:flex;align-items:center;gap:12px}.header-actions{display:flex;align-items:center;gap:12px}.dark-toggle{display:inline-block;width:46px;height:26px;position:relative}.dark-toggle input{opacity:0;width:0;height:0;position:absolute;left:-9999px}.dark-toggle .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--toggle-bg);transition:.25s;border-radius:999px}.dark-toggle .slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.25s;box-shadow:0 2px 4px #00000026}.dark-toggle input:checked+.slider{background:var(--accent)}.dark-toggle input:checked+.slider:before{transform:translate(20px)}.hero{padding:64px 8%}.hero-inner{max-width:980px}.hero-badge{display:inline-block;background:#0ea5e91f;color:#0369a1;padding:8px 14px;border-radius:999px;font-weight:600;margin-bottom:18px}.hero-title{font-size:64px;line-height:1.02;margin:8px 0 18px;font-weight:800}.hero-title .highlight{color:var(--accent)}.hero-subtext{font-size:18px;color:var(--muted);margin-bottom:28px;max-width:720px}.hero-cta .btn-cta{background:var(--accent);color:#fff;padding:14px 22px;border-radius:12px;text-decoration:none;font-weight:700}@media (max-width: 800px){.hero-title{font-size:36px}.site-header{padding:12px 18px}.hero{padding:32px 6%}}
