:root{--text: #6b6375;--text-h: #08060d;--bg: #fff;--border: #e5e4e7;--code-bg: #f4f3ec;--accent: #aa3bff;--accent-bg: rgba(170, 59, 255, .1);--accent-border: rgba(170, 59, 255, .5);--social-bg: rgba(244, 243, 236, .5);--shadow: rgba(0, 0, 0, .1) 0 10px 15px -3px, rgba(0, 0, 0, .05) 0 4px 6px -2px;--sans: system-ui, "Segoe UI", Roboto, sans-serif;--heading: system-ui, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 1024px){:root{font-size:16px}}@media (prefers-color-scheme: dark){:root{--text: #9ca3af;--text-h: #f3f4f6;--bg: #16171d;--border: #2e303a;--code-bg: #1f2028;--accent: #c084fc;--accent-bg: rgba(192, 132, 252, .15);--accent-border: rgba(192, 132, 252, .5);--social-bg: rgba(47, 48, 58, .5);--shadow: rgba(0, 0, 0, .4) 0 10px 15px -3px, rgba(0, 0, 0, .25) 0 4px 6px -2px}#social .button-icon{filter:invert(1) brightness(2)}}body{margin:0}#root{min-height:100svh}h1,h2{font-family:var(--heading);font-weight:500;color:var(--text-h)}h1{font-size:56px;letter-spacing:-1.68px;margin:32px 0}@media (max-width: 1024px){h1{font-size:36px;margin:20px 0}}h2{font-size:24px;line-height:118%;letter-spacing:-.24px;margin:0 0 8px}@media (max-width: 1024px){h2{font-size:20px}}p{margin:0}code{font-family:var(--mono);display:inline-flex;border-radius:4px;color:var(--text-h)}code{font-size:15px;line-height:135%;padding:4px 8px;background:var(--code-bg)}.app-shell{min-height:100vh;background:#0f0f10;color:#ececf1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.login-view{min-height:100vh;display:grid;place-items:center;padding:24px;box-sizing:border-box}.chat-view{height:100vh;display:grid;grid-template-rows:auto 1fr auto;min-width:0;overflow:hidden}.workspace-view{height:100vh;display:grid;grid-template-columns:300px 1fr;transition:grid-template-columns .25s ease;overflow:hidden}.workspace-view.sidebar-closed{grid-template-columns:0 1fr}.recipes-sidebar{position:sticky;top:0;height:100vh;border-right:1px solid #2b2d31;background:#131417;padding:16px 12px;display:grid;grid-template-rows:auto auto 1fr;gap:12px;min-width:0;overflow:hidden;transition:transform .25s ease,opacity .2s ease}.recipes-sidebar.collapsed{opacity:0;pointer-events:none}.sidebar-backdrop{display:none}.recipes-sidebar-header h3{margin:0;color:#fff;font-size:18px}.recipes-sidebar-header p{margin-top:4px;color:#a6a7b0;font-size:13px}.sidebar-toggle{border:1px solid transparent;background:transparent;color:#ececf1;border-radius:8px;width:36px;height:36px;display:inline-grid;place-items:center;padding:0;font-size:18px;line-height:1;cursor:pointer;flex-shrink:0}.sidebar-toggle:hover{background:#1f2027;border-color:#363841}.recipes-list{overflow-y:auto;display:flex;flex-direction:column;gap:8px}.recipes-search-wrap{margin-bottom:4px}.recipes-search{width:100%;border:1px solid #363841;background:#1a1b1f;color:#ececf1;border-radius:10px;padding:10px 12px;font-size:14px;outline:none;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.recipes-search:focus{border-color:#f5bb29;box-shadow:0 0 0 3px #f5bb2933}.recipes-empty-state{margin:8px 0 0;color:#9ca3af;font-size:13px;text-align:center}.recipe-item{border:1px solid #2f3137;background:#1a1b1f;color:#ececf1;border-radius:12px;padding:10px 12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px}.recipe-item:hover{border-color:#f5bb29;background:#2a2314}.recipe-name{font-size:14px;font-weight:600}.recipe-category{font-size:12px;color:#9ca3af;text-transform:capitalize}.chat-header{position:sticky;top:0;z-index:10;padding:16px 20px;border-bottom:1px solid #2b2d31;background:#0f0f10eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand-row{display:flex;align-items:center;gap:12px}.brand-logo{width:40px;height:40px;border-radius:10px;object-fit:cover;display:block;background:#fff;padding:2px;box-sizing:border-box;box-shadow:0 6px 14px #00000059}.brand-row h1,.brand-row h2{margin:0;color:#fff;font-size:20px;font-weight:600}.subtext{margin:2px 0 0;color:#a6a7b0;font-size:13px}.login-view .brand-row{margin-bottom:18px}.login-view .login-form,.login-view .hint,.login-view .error-text{width:min(420px,100%)}.login-form{display:flex;flex-direction:column;gap:10px}.login-form label{font-size:13px;color:#d5d6dd;font-weight:500}.login-form input{border:1px solid #363841;background:#1a1b1f;color:#ececf1;border-radius:12px;padding:12px 14px;font-size:15px;box-sizing:border-box;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.login-form input:focus{border-color:#f5bb29;box-shadow:0 0 0 3px #f5bb2940}.login-form button,.assistant-form button{border:none;border-radius:12px;padding:12px 18px;background:#f5bb29;color:#1a1b1f;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.login-form button:hover:not(:disabled),.assistant-form button:hover:not(:disabled){background:#e0a51f;box-shadow:0 4px 12px #f5bb2959}.login-form button:active:not(:disabled),.assistant-form button:active:not(:disabled){transform:scale(.97)}.assistant-form button:disabled{background:#2b2d31;color:#6b6d7a;cursor:not-allowed}.error-text{color:#fca5a5;margin:2px 0 0;font-size:13px}.hint{margin-top:24px;font-size:13px;color:#6b6d7a;text-align:center}.hint code{background:#2b2d31;padding:2px 4px;border-radius:4px;color:#ececf1}.messages{padding:18px 20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.message-row{display:flex;width:min(100%,900px);margin:0 auto}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-bubble{max-width:min(85%,760px);border-radius:18px;border:1px solid #2f3137;background:#1a1b1f;padding:12px 16px;box-shadow:0 2px 8px #0003}.message-row.user .message-bubble{background:#2a2314;border-color:#5a4513;color:#f8e4b2}.message-bubble pre{margin:0;white-space:pre-wrap;font-family:inherit;font-size:15px;line-height:1.6}.composer-wrap{position:sticky;bottom:0;padding:12px 20px 24px;background:linear-gradient(to top,#0f0f10 80%,#0f0f1000)}.assistant-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid #363841;border-radius:20px;background:#1a1b1f;padding:8px 12px;transition:border-color .2s,box-shadow .2s}.assistant-form:focus-within{border-color:#f5bb29;box-shadow:0 0 0 1px #f5bb29}.assistant-form textarea{background:transparent;border:none;color:#ececf1;font-size:15px;padding:10px 4px;resize:none;outline:none;font-family:inherit;line-height:1.4}.assistant-form textarea::placeholder{color:#6b6d7a}.recipe-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:50;display:grid;place-items:center;padding:18px}.recipe-modal{width:min(680px,100%);max-height:85vh;overflow-y:auto;background:#14151a;border:1px solid #2f3137;border-radius:16px;padding:18px;box-sizing:border-box}.recipe-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.recipe-modal-header h3{margin:0;color:#fff;font-size:20px}.recipe-modal-header p{margin-top:4px;font-size:13px;color:#a6a7b0;text-transform:capitalize}.recipe-modal-header button{border:1px solid #363841;background:#1f2027;color:#ececf1;border-radius:10px;padding:8px 10px;cursor:pointer}.recipe-modal-section h4{margin:14px 0 8px;color:#fff}.recipe-modal-section ul,.recipe-modal-section ol{margin:0;padding-left:20px}.recipe-modal-section li{margin-bottom:8px;line-height:1.5}.recipe-text{text-align:center;color:#f5bb29f6!important}@media (max-width: 900px){.workspace-view,.workspace-view.sidebar-closed{grid-template-columns:1fr}.recipes-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(82vw,320px);max-width:320px;z-index:40;border-right:1px solid #2b2d31;border-bottom:none;transform:translate(0);opacity:1;box-shadow:8px 0 24px #00000059}.recipes-sidebar.collapsed{transform:translate(-100%);opacity:1;pointer-events:none}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;border:none;background:#00000073}}
