:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eef2f5;background:#0d1118;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.app{display:flex;height:100dvh;min-height:500px}.sidebar{width:292px;flex:none;background:#111923;border-right:1px solid #283441;display:flex;flex-direction:column;padding:22px 15px 15px}.brand{display:flex;align-items:center;gap:11px;font-weight:760;font-size:20px;letter-spacing:-.03em;padding:0 9px 32px}.brand small{display:block;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#8a9aac;margin-top:3px}.brand-mark{display:grid;place-items:center;background:#cce975;color:#172511;width:35px;height:35px;border-radius:10px;font-weight:900;font-size:20px;box-shadow:0 0 28px #cce97522}.brand-mark.large{width:48px;height:48px;font-size:29px;margin-bottom:34px}.new-chat-label,.history-head{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#8191a2;padding:0 11px 12px;font-weight:750}.agent-button{border:1px solid #30404e;background:#192531;color:#f0f3f6;border-radius:12px;padding:12px;display:flex;align-items:center;gap:11px;text-align:left;margin-bottom:9px;width:100%;font-size:13px;font-weight:700}.agent-button:hover{background:#233445;border-color:#799389}.agent-button small{display:block;font-size:11px;color:#94a4b3;font-weight:500;margin-top:3px}.agent-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;background:#2d4739;color:#cce975;border-radius:9px;font-size:18px}.plus{margin-left:auto;color:#99b4a8;font-size:19px;font-weight:400}.history-head{border-top:1px solid #283441;padding-top:21px;margin-top:18px}.no-chats{color:#738596;font-size:12px;padding:0 11px}.history-item{background:transparent;border:0;color:#cbd6de;text-align:left;border-radius:10px;padding:11px 12px;width:100%;margin-bottom:3px;display:block}.history-item:hover,.history-item.selected{background:#213140}.history-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.history-item small{display:block;color:#8295a4;font-size:11px;margin-top:4px}.sidebar-foot{margin-top:auto;border-top:1px solid #283441;padding:17px 8px 0;color:#8ea0af;font-size:11px;display:flex;align-items:center;gap:7px}.sidebar-foot button{border:0;background:none;color:#b0c5cf;font-size:11px;margin-left:auto}.online-dot{width:7px;height:7px;background:#a5d889;border-radius:50%;box-shadow:0 0 9px #a5d88980}
.main{min-width:0;flex:1;display:flex;flex-direction:column;background:radial-gradient(circle at 60% 0%,#182633 0,#101720 39%,#0d131b 75%)}.chat-header{height:73px;min-height:73px;border-bottom:1px solid #283441;display:flex;align-items:center;padding:0 28px;gap:12px}.chat-header strong{display:block;font-size:15px}.chat-header small{display:block;color:#92a4b4;font-size:11px;margin-top:4px}.state{margin-left:auto;color:#a8bcaa;font-size:12px}.state.working{color:#d8dc9a}.empty-state{margin:auto;max-width:450px;text-align:center;padding:30px}.empty-symbol{font-size:47px;color:#cce975}.empty-state h1{font-size:28px;letter-spacing:-.04em;margin:12px 0}.empty-state p{font-size:14px;line-height:1.6;color:#9eafbd}.conversation{flex:1;overflow:auto;padding:32px max(24px,calc((100% - 790px)/2)) 40px;scroll-behavior:smooth}.intro{max-width:540px;margin:8vh auto;text-align:center}.intro-symbol{color:#cce975;font-size:44px}.intro h2{font-size:24px;letter-spacing:-.03em}.intro p{color:#9eafbd;line-height:1.6;font-size:14px}.message-row{display:flex;gap:14px;margin:0 0 28px;align-items:flex-start}.message-row.user{flex-direction:row-reverse}.avatar{width:29px;height:29px;flex:none;border-radius:9px;background:#cce975;color:#172511;display:grid;place-items:center;font-size:12px;font-weight:800}.message-row.user .avatar{background:#2d4353;color:#d5e1e9;font-size:10px}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:14px;color:#e0e8ec;max-width:100%}.message-row.user .bubble{background:#213140;padding:12px 16px;border-radius:14px 3px 14px 14px;max-width:min(90%,650px)}.error{color:#ffbaba;background:#45272a;border:1px solid #9c4d52;margin:0 max(24px,calc((100% - 790px)/2)) 10px;padding:10px 14px;border-radius:8px;font-size:12px}.files{display:flex;gap:6px;overflow:auto;padding:8px max(24px,calc((100% - 790px)/2));border-top:1px solid #283441}.file-button{background:#1d2d36;border:1px solid #385047;color:#cce975;padding:6px 9px;border-radius:7px;white-space:nowrap;font-size:11px}.composer-wrap{padding:14px max(24px,calc((100% - 790px)/2)) 18px;border-top:1px solid #283441}.composer-wrap form{background:#1b2935;border:1px solid #3c5360;border-radius:15px;padding:12px 13px 10px;box-shadow:0 12px 40px #0002}.composer-wrap textarea{display:block;width:100%;min-height:54px;max-height:180px;resize:vertical;background:transparent;border:0;outline:0;color:#edf3f4;line-height:1.5;font-size:14px}.composer-wrap textarea::placeholder{color:#879ba8}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.composer-actions span{font-size:10px;color:#8397a5}.composer-actions button{border:0;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:750;background:#cce975;color:#172511}.composer-actions button:disabled{opacity:.5}.composer-actions button.stop{background:#553039;color:#ffd8dc;margin-right:7px}.composer-note{font-size:10px;color:#718695;text-align:center;margin:9px 0 0}#mobile-menu{display:none;background:none;border:0;color:#e8f1f3;font-size:20px}
.auth-screen{min-height:100dvh;background:radial-gradient(circle at 70% 20%,#264035 0,#101b24 33%,#0d1118 75%);display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,425px);padding:37px;background:#17242e;border:1px solid #3b504b;border-radius:20px;box-shadow:0 30px 100px #0005}.eyebrow{font-size:11px;color:#cce975;letter-spacing:.16em;font-weight:800}.auth-card h1{font-size:28px;letter-spacing:-.04em;margin:11px 0}.auth-card p{color:#a4b5bf;font-size:14px;line-height:1.55}.auth-card label{display:block;font-size:12px;font-weight:700;margin:26px 0 8px}.auth-card input{display:block;width:100%;padding:12px;border-radius:9px;border:1px solid #536c70;background:#101921;color:white;outline:none}.auth-card input:focus{border-color:#cce975}.auth-card form button{width:100%;margin-top:15px;background:#cce975;color:#172511;border:0;border-radius:9px;padding:12px;font-weight:800}.auth-card small{display:block;color:#6f8792;font-size:10px;overflow-wrap:anywhere;margin-top:17px}.auth-error{color:#ffbaba!important;min-height:10px}
.build-actions{display:flex;gap:8px;overflow:auto;padding:9px max(24px,calc((100% - 790px)/2));border-top:1px solid #283441}.build-actions button{background:#cce975;color:#172511;border:0;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:750;white-space:nowrap}.build-actions button:disabled{opacity:.5}
@media(max-width:730px){.sidebar{position:absolute;z-index:5;height:100dvh;transform:translateX(-100%);transition:transform .2s;box-shadow:10px 0 35px #0005}.menu-open .sidebar{transform:translateX(0)}#mobile-menu{display:block}.chat-header{padding:0 15px}.conversation{padding:22px 16px}.composer-wrap{padding:12px 13px 16px}.composer-actions span{display:none}.error{margin:0 13px 10px}.files{padding:8px 13px}}

/* Presentation workflow */
.progress{display:flex;gap:6px;padding:10px max(24px,calc((100% - 790px)/2));border-bottom:1px solid #283441;overflow:auto}.progress-step{font-size:11px;color:#8596a4;white-space:nowrap;padding:6px 10px;border-radius:7px;background:#17232d}.progress-step.done{color:#b8ceaa}.progress-step.current{color:#172511;background:#cce975;font-weight:750}
.intake{max-width:690px;margin:20px auto 30px}.intake h2{font-size:25px;letter-spacing:-.025em;margin:0 0 8px}.intake>p{color:#a8bac5;font-size:14px;line-height:1.55;margin:0 0 22px}.intake-form,.slide-editor{display:grid;gap:15px}.field{display:grid;gap:7px;font-size:12px;font-weight:700;color:#d7e3e9}.field input,.field textarea{width:100%;background:#17232d;color:#f0f4f5;border:1px solid #4b6170;border-radius:9px;padding:11px 12px;font-size:14px;line-height:1.5;font-weight:400}.field textarea{resize:vertical;min-height:82px}.field input[type=file]{font-size:12px}.field input::placeholder,.field textarea::placeholder{color:#9baeb8}.field-hint{color:#a8bac5;font-size:11px}.primary-action{background:#cce975;color:#172511;border:0;border-radius:9px;min-height:44px;padding:10px 16px;font-size:13px;font-weight:800}.primary-action:hover{background:#def493}.primary-action:disabled{opacity:.55;cursor:default}.subtle-action{background:#263744;color:#dce9ef;border:1px solid #526671;border-radius:8px;padding:7px 11px;min-height:38px;font-size:12px;font-weight:700}.subtle-action:hover{background:#344957}.subtle-action:disabled{opacity:.5;cursor:default}
.review-panel{max-height:44vh;overflow:auto;border-top:1px solid #283441;padding:18px max(24px,calc((100% - 790px)/2))}.outline-section{max-width:790px;margin:auto}.outline-header{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:16px}.outline-header h2{font-size:17px;margin:0 0 5px}.outline-header p{font-size:12px;color:#aabcc6;margin:0}.slide-count{font-size:11px;color:#cce975;white-space:nowrap}.slide-list{display:grid;gap:9px}.slide-card{background:#17232d;border:1px solid #354754;border-radius:12px;padding:14px 16px}.slide-top{display:flex;align-items:center;gap:10px}.slide-number{font-size:11px;font-weight:800;color:#cce975}.slide-type{text-transform:capitalize;color:#98acb9;font-size:11px}.slide-card h3{font-size:14px;line-height:1.35;margin:8px 0}.slide-card p{font-size:12px;line-height:1.5;color:#b9c9d1;margin:5px 0;overflow-wrap:anywhere}.slide-content{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.slide-notes{color:#91a7b2!important}.slide-card .subtle-action{margin-top:10px}.slide-editor{border-top:1px solid #354754;margin-top:15px;padding-top:15px}.slide-editor .primary-action{justify-self:start}.outline-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0 4px}.outline-actions p{font-size:12px;color:#b2c2ca;line-height:1.5;margin:0;max-width:420px}
.outline-details{margin-top:-5px}.outline-details summary{cursor:pointer;color:#cce975;font-size:12px;font-weight:700;padding:10px 0;min-height:44px}.outline-details .slide-list{margin-top:8px}
.result{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px max(24px,calc((100% - 790px)/2));background:#1d302b;border-top:1px solid #54735c}.result div{display:grid;gap:3px;min-width:0}.result strong{color:#dff4c1;font-size:14px}.result span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result small{font-size:11px;color:#b5ceb6}.result button{flex:none}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #e5f89a!important;outline-offset:3px!important}
.composer-actions button{min-height:44px;min-width:44px}#mobile-menu{min-height:44px;min-width:44px}summary:focus-visible{outline:3px solid #e5f89a;outline-offset:3px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.composer-start{display:flex;align-items:center;gap:11px}.composer-actions .attach-button{background:#2b3d48;color:#dce9ef;border:1px solid #55717a;font-weight:700}.composer-actions .attach-button:hover{background:#37505d}.attachment-list,.message-attachments{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.attachment-chip,.message-attachment{display:inline-flex;align-items:center;gap:6px;max-width:100%;background:#304454;color:#dfecf0;border:1px solid #55717a;border-radius:8px;padding:5px 8px;font-size:11px;overflow-wrap:anywhere}.attachment-chip button{background:none;border:0;color:#e6f0f3;font-size:17px;line-height:1;min-width:24px;min-height:24px;padding:0}.message-attachments{margin-top:10px}.message-attachment{background:#2a423d;border-color:#557762}
@media(max-width:730px){.progress{padding:8px 12px}.review-panel{max-height:40vh;padding:14px 13px}.outline-actions,.result{display:grid}.result{padding:13px}.result button{width:100%}.intake{margin:3px 0 18px}.intake h2{font-size:21px}.field input,.field textarea{font-size:16px}}
