.landing{width:100%;min-height:100vh;display:flex}.landing-hero{background:radial-gradient(ellipse 80% 60% at 20% 80%,#b54a320f,transparent),radial-gradient(ellipse 60% 50% at 80% 20%,#2d6a4f0a,transparent),var(--color-bg);flex:1;justify-content:center;align-items:center;padding:3rem;display:flex}.landing-hero-inner{max-width:520px;animation:.6s both fadeInUp}.landing-badge{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);border:1px solid var(--color-accent);opacity:0;border-radius:2px;margin-bottom:1.5rem;padding:.3rem .65rem;font-size:.7rem;font-weight:500;animation:.5s .1s forwards fadeInUp;display:inline-block}.landing-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text);opacity:0;margin-bottom:1.25rem;font-size:3.6rem;font-weight:700;line-height:1.1;animation:.5s .15s forwards fadeInUp}.landing-subtitle{color:var(--color-text-secondary);opacity:0;max-width:420px;margin-bottom:2.5rem;font-size:1.1rem;line-height:1.7;animation:.5s .25s forwards fadeInUp}.landing-features{opacity:0;flex-direction:column;gap:1.1rem;margin-bottom:2.5rem;animation:.5s .35s forwards fadeInUp;display:flex}.landing-feature{align-items:flex-start;gap:.75rem;display:flex}.landing-feature-icon{color:var(--color-accent);flex-shrink:0;margin-top:.55rem;font-size:.5rem}.landing-feature strong{font-family:var(--font-display);color:var(--color-text);margin-bottom:.1rem;font-size:.95rem;font-weight:600;display:block}.landing-feature span{color:var(--color-text-muted);font-size:.88rem;line-height:1.5}.landing-colophon{font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.02em;border-top:1px solid var(--color-border-light);opacity:0;padding-top:1.5rem;font-size:.72rem;animation:.5s .45s forwards fadeInUp}.landing-auth{background:var(--color-surface);border-left:1px solid var(--color-border-light);flex-shrink:0;justify-content:center;align-items:center;width:420px;padding:3rem 2.5rem;display:flex}.landing-auth-inner{opacity:0;width:100%;max-width:340px;animation:.5s .3s forwards fadeInUp}.landing-auth-heading{font-family:var(--font-display);color:var(--color-text);margin-bottom:1.25rem;font-size:1.3rem;font-weight:600}@media (max-width:860px){.landing{flex-direction:column}.landing-hero{padding:2.5rem 1.5rem 2rem}.landing-title{font-size:2.6rem}.landing-auth{border-left:none;border-top:1px solid var(--color-border-light);width:100%;padding:2rem 1.5rem 3rem}.landing-auth-inner{max-width:400px}}.auth-form-container{background:0 0;border:none;border-radius:0;padding:0}.auth-tabs{border-bottom:1px solid var(--color-border-light);gap:0;margin-bottom:1.5rem;display:flex}.auth-tab{cursor:pointer;font-family:var(--font-body);color:var(--color-text-muted);transition:var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.6rem;font-size:.9rem;font-weight:500}.auth-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.auth-form{flex-direction:column;gap:1rem;display:flex}.form-field{flex-direction:column;gap:.35rem;display:flex}.form-field label{color:var(--color-text-secondary);letter-spacing:.02em;font-size:.8rem;font-weight:600}.form-field input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);transition:var(--transition);padding:.65rem .85rem;font-size:.9rem}.form-field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle);outline:none}.auth-error{color:var(--color-low);font-size:.85rem}.auth-submit{background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;border:none;margin-top:.25rem;padding:.7rem;font-size:.9rem;font-weight:600;transition:all .2s}.auth-submit:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 2px 8px #b54a3240}.auth-submit:active{transform:translateY(0)}.auth-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.auth-divider{color:var(--color-text-muted);letter-spacing:.04em;align-items:center;gap:1rem;margin:1.25rem 0;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border-light);flex:1;height:1px}.auth-google{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);color:var(--color-text);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;gap:.6rem;padding:.65rem;font-size:.9rem;font-weight:500;display:flex}.auth-google:hover{background:var(--color-surface-hover);border-color:var(--color-border)}.standalone-page{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem;display:flex}.standalone-page-inner{width:100%;max-width:560px;animation:.5s both fadeInUp}.standalone-header{text-align:center;margin-bottom:2.5rem}.standalone-header h1{font-family:var(--font-display);margin-bottom:.5rem;font-size:2rem;font-weight:700}.standalone-header p{color:var(--color-text-secondary);max-width:440px;margin:0 auto;line-height:1.6}.standalone-back{color:var(--color-text-muted);transition:color var(--transition);align-items:center;gap:.3rem;margin-bottom:1.5rem;font-size:.82rem;font-weight:500;text-decoration:none;display:inline-flex}.standalone-back:hover{color:var(--color-accent);text-decoration:none}.step-card{border-radius:var(--radius);border:1px solid var(--color-border-light);opacity:.45;padding:1.25rem 1.5rem;transition:all .3s}.step-card.active{opacity:1;background:var(--color-surface);border-color:var(--color-border)}.step-card-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.step-card-number{background:var(--color-surface-alt);width:28px;height:28px;color:var(--color-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;transition:all .3s;display:flex}.step-card.active .step-card-number{background:var(--color-accent);color:#fff}.step-card.done .step-card-number{background:var(--color-high);color:#fff}.step-card-title{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.step-card-body{padding-left:2.75rem}.topic-input-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:1.5rem}.topic-input-card textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);resize:vertical;transition:border-color var(--transition),box-shadow var(--transition);padding:.85rem 1rem;font-size:.95rem;line-height:1.6}.topic-input-card textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle);outline:none}.topic-input-card textarea:disabled{opacity:.6}.progress-phases{flex-direction:column;gap:.4rem;display:flex}.phase-row{border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .3s;display:flex}.phase-row.active{background:var(--color-surface);border-color:var(--color-border)}.phase-row.upcoming{opacity:.35}.phase-dot{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:600;transition:all .3s;display:flex}.phase-dot.done{background:var(--color-high);color:#fff}.phase-dot.active{background:var(--color-accent);color:#fff;animation:2s ease-in-out infinite pulse}.phase-dot.upcoming{background:var(--color-surface-alt);color:var(--color-text-muted)}.phase-label{font-family:var(--font-display);font-size:.95rem}.phase-label.done{color:var(--color-text);font-weight:500}.phase-label.active{color:var(--color-text);font-weight:600}.phase-label.upcoming{color:var(--color-text-muted);font-weight:400}.phase-row.clickable{cursor:pointer;text-decoration:none}.phase-row.clickable:hover{background:var(--color-surface);border-color:var(--color-border-light)}.phase-view-link{font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-accent);opacity:0;margin-left:auto;font-size:.7rem;font-weight:500;transition:opacity .2s}.phase-row.clickable:hover .phase-view-link{opacity:1}.dashboard{width:100%;max-width:720px;margin:0 auto;padding:3rem 2rem 5rem;animation:.5s both fadeInUp}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.dashboard-header h1{font-family:var(--font-display);margin-bottom:0;font-size:1.8rem;font-weight:600}.dashboard-header p{color:var(--color-text-secondary);margin-top:.25rem;margin-bottom:0}.dashboard-cta{background:var(--color-accent);color:#fff;border-radius:var(--radius);flex-shrink:0;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.dashboard-cta:hover{background:var(--color-accent-hover);color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 2px 8px #b54a3240}.assembly-list{flex-direction:column;gap:.75rem;display:flex}.assembly-card{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border-light);color:inherit;padding:1.25rem 1.5rem;text-decoration:none;transition:all .2s;display:block}.assembly-card:hover{box-shadow:var(--shadow-sm);color:inherit;border-color:#b54a3233;text-decoration:none;transform:translateY(-1px)}.assembly-card h3{font-family:var(--font-display);color:var(--color-text);margin:0 0 .2rem;font-size:1.05rem;font-weight:600}.assembly-card-meta{color:var(--color-text-muted);margin:0;font-size:.82rem}.assembly-delete-btn{cursor:pointer;color:var(--color-text-muted);opacity:0;border-radius:var(--radius-sm);background:0 0;border:none;padding:.15rem .4rem;font-size:1.2rem;line-height:1;transition:opacity .15s,color .15s,background .15s}.assembly-card:hover .assembly-delete-btn{opacity:1}.assembly-delete-btn:hover{color:var(--color-low);background:var(--color-low-bg)}.empty-dashboard{justify-content:center;align-items:center;width:100vw;min-height:70vh;margin-left:calc(50% - 50vw);display:flex;position:relative;overflow:hidden}.empty-dashboard-center{text-align:center;z-index:2;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#faf8f4eb;padding:2.5rem;position:relative}.empty-dashboard-title{font-family:var(--font-display);color:var(--color-text);margin:0 0 .6rem;font-size:1.8rem;font-weight:700}.empty-dashboard-subtitle{color:var(--color-text-secondary);margin:0 0 1.75rem;font-size:1rem;line-height:1.5}.prompt-cloud{z-index:1;pointer-events:none;position:absolute;inset:0}.prompt-bubble{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius);opacity:0;will-change:transform,opacity;flex-direction:column;gap:.3rem;max-width:260px;padding:.7rem 1rem;animation:linear infinite bubbleFloat,.6s forwards bubbleFadeIn;display:flex;position:absolute;box-shadow:0 2px 12px #0000000f}.prompt-bubble:first-child{top:5%;left:3%}.prompt-bubble:nth-child(2){top:3%;left:30%}.prompt-bubble:nth-child(3){top:7%;right:15%}.prompt-bubble:nth-child(4){top:24%;left:18%}.prompt-bubble:nth-child(5){top:20%;right:3%}.prompt-bubble:nth-child(6){top:38%;left:2%}.prompt-bubble:nth-child(7){top:42%;right:6%}.prompt-bubble:nth-child(8){top:58%;left:8%}.prompt-bubble:nth-child(9){top:55%;right:18%}.prompt-bubble:nth-child(10){top:72%;left:22%}.prompt-bubble:nth-child(11){top:75%;right:4%}.prompt-bubble:nth-child(12){top:85%;left:6%}.prompt-bubble-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);font-size:.62rem;font-weight:600}.prompt-bubble-text{color:var(--color-text);font-size:.8rem;line-height:1.45}@keyframes bubbleFadeIn{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:.85;transform:translateY(0)scale(1)}}@keyframes bubbleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.attachment-wrapper{border-top:1px solid var(--color-border-light);margin-top:.75rem;padding:.5rem 0;transition:background .15s}.attachment-wrapper.drag-over{border-radius:var(--radius);background:#b54a320a}.attachment-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.attachment-chip{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius);color:var(--color-text-secondary);align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.75rem;display:inline-flex}.attachment-chip-thumb{object-fit:cover;border-radius:3px;width:18px;height:18px}.attachment-chip-icon{font-size:.85rem}.attachment-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.attachment-chip-remove{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:.9rem;line-height:1}.attachment-chip-remove:hover{color:var(--color-low)}.attachment-btn{color:var(--color-text-muted);font-size:.8rem;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.25rem 0;transition:color .15s;display:inline-flex}.attachment-btn:hover{color:var(--color-accent)}.attachment-btn:disabled{opacity:.4;cursor:not-allowed}.typewriter-overlay{pointer-events:none;font-family:var(--font-body);color:var(--color-text-muted);padding:.85rem 1rem;font-size:.95rem;line-height:1.6;position:absolute;inset:0}.typewriter-text{opacity:.6}@keyframes typewriterBlink{0%,to{opacity:1}50%{opacity:0}}.typewriter-cursor{background:var(--color-accent);vertical-align:text-bottom;width:2px;height:1.1em;margin-left:1px;animation:.8s step-end infinite typewriterBlink;display:inline-block}@media (max-width:768px){.empty-dashboard{min-height:60vh}.empty-dashboard-title{font-size:1.4rem}.prompt-bubble{max-width:200px;padding:.55rem .8rem}.prompt-bubble-text{font-size:.72rem}.prompt-bubble:nth-child(n+9){display:none}}@media (max-width:480px){.prompt-bubble:nth-child(n+7){display:none}.prompt-bubble{max-width:160px}.empty-dashboard-center{padding:1.75rem}}.empty-state{text-align:center;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);padding:4rem 2rem}.empty-state h2{font-family:var(--font-display);margin:0 0 .75rem;font-size:1.4rem}.empty-state p{color:var(--color-text-secondary);max-width:380px;margin:0 auto 1.5rem}.api-key-warning{background:var(--color-low-bg);border:1px solid var(--color-low-border);border-radius:var(--radius-sm);color:var(--color-low);margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.88rem}.api-key-warning a{color:var(--color-low);font-weight:600;text-decoration:underline}.btn-primary{background:var(--color-accent);color:#fff;border-radius:var(--radius);cursor:pointer;font-family:var(--font-body);border:none;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary:hover{background:var(--color-accent-hover);color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 2px 8px #b54a3240}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled,.btn-primary.disabled{background:var(--color-surface-alt);color:var(--color-text-muted);cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);transition:var(--transition);background:0 0;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.88rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-secondary:hover{background:var(--color-surface-hover);color:var(--color-text);text-decoration:none}@media (max-width:768px){.standalone-page{align-items:flex-start;padding:3rem 1.5rem 1.5rem}.standalone-header h1{font-size:1.6rem}.dashboard{padding:2rem 1.25rem 3rem}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}}@media (max-width:480px){.standalone-page{padding:2rem 1rem 1rem}.standalone-header h1{font-size:1.35rem}.step-card{padding:1rem 1.15rem}.step-card-body{padding-left:0}}.dashboard-github-bar{justify-content:flex-end;margin-bottom:1rem;display:flex}.github-connect{align-items:center;gap:.5rem;font-size:.82rem;font-weight:500;display:inline-flex}.github-connect-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:var(--transition);padding:.4rem .85rem;text-decoration:none}.github-connect-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border);color:var(--color-text);text-decoration:none}.github-connected{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:.35rem .7rem}.github-avatar{border-radius:50%;width:20px;height:20px}.github-username{color:var(--color-text-secondary);font-size:.8rem}.github-disconnect-btn{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:none;padding:.15rem .4rem;font-size:.72rem}.github-disconnect-btn:hover{color:var(--color-low);background:var(--color-low-bg)}.repo-section{border-top:1px solid var(--color-border-light);margin-top:.75rem;padding-top:.75rem}.repo-toggle{width:100%;color:var(--color-text-muted);font-size:.82rem;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:.45rem;padding:.25rem 0;font-weight:500;transition:color .15s;display:flex}.repo-toggle:hover{color:var(--color-text-secondary)}.repo-picker{margin-top:.75rem}.repo-search-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition);padding:.5rem .75rem;font-size:.85rem}.repo-search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle);outline:none}.repo-list{border:1px solid var(--color-border-light);border-radius:var(--radius-sm);max-height:200px;margin-top:.5rem;overflow-y:auto}.repo-list-empty{text-align:center;color:var(--color-text-muted);padding:1rem;font-size:.82rem}.repo-list-item{border:none;border-bottom:1px solid var(--color-border-light);cursor:pointer;text-align:left;width:100%;font-family:var(--font-body);background:0 0;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.55rem .75rem;transition:background .15s;display:flex}.repo-list-item:last-child{border-bottom:none}.repo-list-item:hover{background:var(--color-surface-hover)}.repo-list-name{color:var(--color-text);font-size:.85rem;font-weight:500}.repo-list-badge{font-size:.65rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-surface-alt);border-radius:2px;padding:.1rem .4rem}.repo-list-desc{width:100%;color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.repo-selected{flex-direction:column;gap:.5rem;display:flex}.repo-chip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.82rem;font-weight:500;display:inline-flex}.repo-chip-remove{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:1rem;line-height:1}.repo-chip-remove:hover{color:var(--color-low)}.repo-branch-input{align-items:center;gap:.5rem;display:flex}.repo-branch-input label{color:var(--color-text-muted);font-size:.78rem;font-weight:500}.repo-branch-input input{border:1px solid var(--color-border);border-radius:var(--radius-sm);max-width:180px;font-family:var(--font-mono);background:var(--color-bg);color:var(--color-text);flex:1;padding:.35rem .6rem;font-size:.8rem}.repo-branch-input input:focus{border-color:var(--color-accent);outline:none}.chat-thread{border:1px solid var(--color-border-light);border-radius:var(--radius);background:var(--color-surface);flex-direction:column;gap:.75rem;max-height:60vh;margin-bottom:1.25rem;padding:1rem;display:flex;overflow-y:auto}.chat-message-user{background:var(--color-accent);color:#fff;border-radius:var(--radius)var(--radius)4px var(--radius);white-space:pre-wrap;align-self:flex-end;max-width:80%;padding:.6rem 1rem;font-size:.9rem;line-height:1.5}.chat-message-assistant{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius)var(--radius)var(--radius)4px;align-self:flex-start;max-width:90%;padding:.75rem 1rem;font-size:.9rem;line-height:1.6}.chat-message-assistant .markdown-content{font-size:.9rem}.chat-thread-divider{background:var(--color-border-light);height:1px;margin:.25rem 0}.chat-input-container{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);margin-bottom:1rem;transition:border-color .15s;overflow:hidden}.chat-input-container:focus-within{border-color:var(--color-accent)}.chat-input-character-row{border-bottom:1px solid var(--color-border-light);background:var(--color-bg);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.chat-input-character-label{color:var(--color-text-muted);white-space:nowrap;font-size:.78rem;font-weight:500}.chat-input-character-select{font-family:var(--font-body);color:var(--color-text);cursor:pointer;appearance:none;background:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 100% no-repeat;border:none;outline:none;padding:0 1rem 0 0;font-size:.85rem;font-weight:550}.chat-input-container .attachment-wrapper{padding:.35rem .75rem 0}.chat-input-container .attachment-chips:not(:empty){margin-bottom:0}.chat-input-textarea{width:100%;font-family:var(--font-body);resize:none;color:var(--color-text);background:0 0;border:none;outline:none;padding:.65rem .75rem;font-size:.9rem;line-height:1.5;overflow:hidden}.chat-input-textarea::placeholder{color:var(--color-text-muted)}.chat-input-textarea:disabled{opacity:.6}.chat-input-toolbar{border-top:1px solid var(--color-border-light);background:var(--color-bg);justify-content:space-between;align-items:center;padding:.4rem .5rem;display:flex}.chat-input-toolbar-left{align-items:center;gap:.25rem;display:flex}.chat-input-toolbar-right{align-items:center;gap:.5rem;display:flex}.chat-input-btn{font-family:var(--font-body);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:.35rem 1rem;font-size:.82rem;font-weight:600;transition:background .15s,opacity .15s}.chat-input-btn:disabled{opacity:.45;cursor:not-allowed}.chat-input-btn-submit{background:var(--color-accent);color:#fff}.chat-input-btn-submit:hover:not(:disabled){background:var(--color-accent-hover)}.chat-input-btn-challenge{color:#b54a32;background:0 0;border:1.5px solid #b54a32;padding:.28rem .85rem}.chat-input-btn-challenge:hover:not(:disabled){color:#fff;background:#b54a32}.chat-input-attach-btn{border-radius:var(--radius-sm);cursor:pointer;width:30px;height:30px;color:var(--color-text-muted);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .15s;display:flex}.chat-input-attach-btn:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-border);background:var(--color-accent-subtle)}.chat-input-attach-btn:disabled{opacity:.4;cursor:not-allowed}.chat-input-attach-btn svg{display:block}@media (max-width:480px){.chat-input-toolbar{flex-direction:column;align-items:stretch;gap:.4rem}.chat-input-toolbar-right{justify-content:flex-end}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}
