:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0}#root{width:100%;height:100%}:root{--color-bg:#f5f2ea;--color-bg-alt:#f5f5f5;--color-text:#1a1a1a;--color-text-muted:#666;--color-border:#e0e0e0;--color-accent:#1b4332;--color-accent-light:#e6f0ff;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-user-msg:#e6f0ff;--color-assistant-msg:#f3f4f6;--shadow-sm:0 1px 2px #0000000a;--shadow:0 4px 6px #0000001a;--sidebar-bg:#1b4332;--sidebar-text:#f5f2ea;--sidebar-active:#2d6a4f}@media (prefers-color-scheme:dark){:root{--color-bg:#0a0a0a;--color-bg-alt:#1a1a1a;--color-text:#f0f0f0;--color-text-muted:#999;--color-border:#333;--color-accent:#3b82f6;--color-accent-light:#1e3a8a;--color-user-msg:#1e3a8a;--color-assistant-msg:#1f2937;--shadow-sm:0 1px 2px #0003;--shadow:0 4px 6px #0000004d}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:Georgia,Times New Roman,serif}.app-container{height:100vh;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.sidebar{background-color:var(--sidebar-bg);border-right:1px solid var(--color-border);flex-direction:column;align-items:center;gap:20px;width:60px;padding:20px 0;display:flex}.sidebar-header{letter-spacing:-.5px;color:var(--sidebar-text);text-align:center;font-size:18px;font-weight:700}.sidebar-header h2{font-size:16px}.sidebar-nav{flex-direction:column;gap:12px;display:flex}.persona-btn{width:44px;height:44px;color:var(--sidebar-text);cursor:pointer;background-color:#0000;border:2px solid #0000;border-radius:8px;font-size:16px;font-weight:600;transition:all .2s}.persona-btn:hover{color:var(--sidebar-text);background-color:#ffffff1a}.persona-btn.active{background-color:var(--sidebar-active);color:var(--sidebar-text);border-color:var(--sidebar-text)}.passcode-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.passcode-modal{background:var(--color-bg);box-shadow:var(--shadow);border-radius:12px;width:90%;max-width:400px;padding:40px}.passcode-modal h1{color:var(--color-text);margin-bottom:12px;font-size:28px}.passcode-modal p{color:var(--color-text-muted);margin-bottom:24px;font-size:14px}.passcode-modal form{flex-direction:column;gap:12px;display:flex}.passcode-modal input{border:1px solid var(--color-border);background:var(--color-bg-alt);color:var(--color-text);border-radius:6px;padding:10px 12px;font-size:14px;transition:border-color .2s}.passcode-modal input:focus{border-color:var(--color-accent);outline:none}.passcode-modal button{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 16px;font-weight:600;transition:opacity .2s}.passcode-modal button:hover{opacity:.9}.view{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex;overflow-y:auto}.view-header{border-bottom:1px solid var(--color-border);padding-bottom:16px}.view-header h1{margin-bottom:4px;font-size:24px}.view-header p{color:var(--color-text-muted);font-size:14px}.governor-view{gap:20px}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;display:grid}.metric-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:8px;padding:16px;display:flex}.metric-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.metric-value{color:var(--color-text);font-size:20px;font-weight:700}.metric-trend{color:var(--color-accent);font-size:14px}.nudge-card{background:linear-gradient(135deg, var(--color-accent-light), var(--color-bg-alt));border:1px solid var(--color-accent);border-radius:8px;padding:16px}.nudge-card h3{color:var(--color-text);margin-bottom:8px;font-size:14px}.nudge-card p{color:var(--color-text-muted);font-size:13px;line-height:1.6}.projects-section{flex:none;max-height:200px;overflow-y:auto}.projects-section h3{margin-bottom:12px;font-size:14px;font-weight:600}.project-list{flex-direction:column;gap:8px;list-style:none;display:flex}.project-item{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:4px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.project-name{color:var(--color-text);font-weight:500}.project-status{background:var(--color-success);color:#fff;border-radius:2px;padding:2px 6px;font-size:11px}.loading{color:var(--color-text-muted);font-size:13px}.rylee-view{gap:16px}.cosmo-view{gap:24px}.coming-soon{text-align:center;padding:40px}.coming-soon h2{color:var(--color-text);margin-bottom:12px;font-size:28px}.coming-soon p{color:var(--color-text-muted);margin-bottom:12px;font-size:14px;line-height:1.6}.chat-interface{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-empty{height:100%;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:14px;display:flex}.message{flex-direction:column;gap:4px;animation:.2s ease-out slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-role{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-size:11px;font-weight:600}.message-content{word-wrap:break-word;border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.5}.message-user .message-content{background:var(--color-user-msg);color:var(--color-text);max-width:80%;margin-left:auto}.message-governor .message-content,.message-assistant .message-content{background:var(--color-assistant-msg);color:var(--color-text);max-width:80%;margin-right:auto}.message-loading{color:var(--color-text-muted);font-size:12px;font-style:italic}.chat-input-area{border-top:1px solid var(--color-border);flex-direction:column;gap:12px;padding:16px;display:flex}.image-preview{background:var(--color-accent-light);color:var(--color-accent);border-radius:4px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;display:flex}.image-preview button{color:var(--color-accent);cursor:pointer;background:0 0;border:none;font-size:14px;font-weight:700}.chat-input-row{align-items:flex-end;gap:8px;display:flex}.image-upload{cursor:pointer;justify-content:center;align-items:center;padding:6px;font-size:18px;transition:opacity .2s;display:flex}.image-upload:hover{opacity:.7}.image-upload input{display:none}.chat-input-row textarea{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);resize:none;border-radius:6px;flex:1;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .2s}.chat-input-row textarea:focus{border-color:var(--color-accent);outline:none}.chat-input-row textarea:disabled{opacity:.6;cursor:not-allowed}.send-btn{background:var(--color-accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .2s}.send-btn:hover:not(:disabled){opacity:.9}.send-btn:disabled{opacity:.5;cursor:not-allowed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-alt)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@media (width<=768px){.sidebar{gap:8px;width:50px;padding:12px 0}.persona-btn{width:40px;height:40px;font-size:14px}.view{gap:16px;padding:16px}.metrics-grid{grid-template-columns:1fr}.message-user .message-content,.message-governor .message-content,.message-assistant .message-content{max-width:95%}.passcode-modal{padding:32px 20px}.coming-soon{padding:24px}}
