@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600;700&family=Inter:wght@400;500;700;900&display=swap";:root{--theme-color:#a855f7;--bg-color:#cbd5e1;--panel-bg:#f8fafc;--border-dark:#1e293b;--text-main:#0f172a;--text-muted:#64748b;--border-width:4px}body{background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;background-image:linear-gradient(45deg,#94a3b8 25%,#0000 25% 75%,#94a3b8 75%,#94a3b8),linear-gradient(45deg,#94a3b8 25%,#0000 25% 75%,#94a3b8 75%,#94a3b8);background-position:0 0,4px 4px;background-size:8px 8px;justify-content:center;align-items:center;height:100vh;margin:0;font-family:Inter,system-ui,sans-serif;display:flex}.app-container{background:var(--panel-bg);border:var(--border-width) solid var(--border-dark);flex-direction:column;width:100%;max-width:900px;height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:10px 10px #1e293b66}.app-container:before{content:"";background:repeating-linear-gradient(45deg, var(--border-dark), var(--border-dark) 10px, var(--theme-color) 10px, var(--theme-color) 20px);border-bottom:var(--border-width) solid var(--border-dark);width:100%;height:16px;display:block}.header{background:var(--panel-bg);border-bottom:2px dashed var(--border-dark);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.header h1{color:var(--border-dark);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:16px;margin:0;font-family:IBM Plex Mono,monospace;font-size:1.25rem;font-weight:700;display:flex}.app-badges{border:2px solid var(--border-dark);background:var(--border-dark);align-items:stretch;gap:4px;padding:2px;display:flex}.app-badge-text{background:var(--theme-color);color:#fff;letter-spacing:-.05em;justify-content:center;align-items:center;width:36px;height:36px;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:900;display:flex}.app-badge-icon{width:36px;height:36px;color:var(--border-dark);background:#fff;justify-content:center;align-items:center;display:flex}.app-badge-icon svg{width:20px;height:20px}.progress-tracker{background:var(--border-dark);color:#fff;letter-spacing:.05em;justify-content:space-between;align-items:center;padding:8px 24px;font-family:IBM Plex Mono,monospace;font-size:.85rem;font-weight:700;display:flex}.progress-tracker .step-info{align-items:center;gap:12px;display:flex}.progress-tracker .step-badge{background:var(--theme-color);color:#fff;border:1px solid #fff;padding:2px 8px}.chat-box{background-color:var(--panel-bg);flex-direction:column;flex:1;gap:32px;padding:32px 24px;display:flex;overflow-y:auto}.message{border:2px solid var(--border-dark);max-width:85%;padding:16px;font-size:.95rem;font-weight:500;line-height:1.6;position:relative}.message.user{background:var(--theme-color);color:#fff;border-left:8px solid var(--border-dark);align-self:flex-end}.message.model{color:var(--border-dark);border-left:8px solid var(--border-dark);background:#e2e8f0;align-self:flex-start}.message.model:before{content:"DATA_IN //";color:var(--text-muted);background:0 0;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:700;position:absolute;top:-18px;left:-2px}.message.user:before{content:"// DATA_OUT";color:var(--text-muted);background:0 0;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:700;position:absolute;top:-18px;right:-2px}.markdown-body{font-size:.95rem}.markdown-body p{margin:0 0 12px}.markdown-body p:last-child{margin-bottom:0}.markdown-body strong{color:var(--border-dark);font-weight:900}.message.user .markdown-body strong{color:#fff}.markdown-body ul,.markdown-body ol{margin:8px 0;padding-left:24px}.markdown-body table{border-collapse:collapse;border:2px solid var(--border-dark);background:#fff;width:100%;margin:16px 0}.markdown-body th,.markdown-body td{border:1px solid var(--border-dark);text-align:left;padding:12px}.markdown-body th{background-color:var(--border-dark);color:#fff;text-transform:uppercase;font-family:IBM Plex Mono,monospace}.attachment-preview,.attachment-badge{border:2px solid var(--border-dark);color:var(--border-dark);text-transform:uppercase;background:#cbd5e1;align-items:center;gap:8px;width:fit-content;margin-top:12px;padding:6px 12px;font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:600;display:flex}.attachment-badge{margin-top:0;margin-bottom:12px}.attachment-badge button{background:var(--border-dark);color:#fff;cursor:pointer;border:none;padding:2px 8px;font-weight:700}.attachment-badge button:hover{background:var(--theme-color);color:#fff}.download-btn{background-color:var(--border-dark);color:#fff;text-transform:uppercase;border:2px solid var(--border-dark);align-items:center;margin-top:16px;padding:12px 20px;font-family:IBM Plex Mono,monospace;font-weight:700;text-decoration:none;transition:all .1s;display:inline-flex;box-shadow:4px 4px #0003}.download-btn:hover{background:var(--theme-color);color:#fff;transform:translate(2px,2px);box-shadow:2px 2px #0003}.input-area{border-top:var(--border-width) solid var(--border-dark);background:#e2e8f0;align-items:flex-end;gap:16px;padding:24px;display:flex}.attachment-btn{border:2px solid var(--border-dark);width:56px;height:56px;color:var(--border-dark);cursor:pointer;box-shadow:2px 2px 0px var(--border-dark);background:#cbd5e1;justify-content:center;align-items:center;transition:all .1s;display:flex}.attachment-btn:hover{background:var(--theme-color);color:#fff;box-shadow:0px 0px 0px var(--border-dark);transform:translate(2px,2px)}.input-wrapper{border:2px solid var(--border-dark);background:#fff;flex-direction:column;flex:1;padding:12px 16px;display:flex;box-shadow:inset 2px 2px 4px #0000001a}.input-wrapper textarea{resize:none;min-height:24px;max-height:200px;color:var(--border-dark);background:0 0;border:none;padding:0;font-family:IBM Plex Mono,monospace;font-size:.95rem;font-weight:500;line-height:1.5}.input-wrapper textarea:focus{outline:none}.input-wrapper textarea::placeholder{color:#94a3b8}.send-btn{background:var(--theme-color);color:#fff;border:2px solid var(--border-dark);text-transform:uppercase;cursor:pointer;height:56px;box-shadow:4px 4px 0px var(--border-dark);padding:0 32px;font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:700;transition:all .1s}.send-btn:hover:not(:disabled){box-shadow:2px 2px 0px var(--border-dark);transform:translate(2px,2px)}.send-btn:disabled{color:#64748b;cursor:not-allowed;box-shadow:none;background:#cbd5e1;transform:none}.loading-indicator{color:var(--border-dark);text-transform:uppercase;border-left:4px solid var(--theme-color);background:#e2e8f0;align-self:flex-start;padding:8px 16px;font-family:IBM Plex Mono,monospace;font-size:.85rem;font-weight:700}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--panel-bg);border-left:1px solid #cbd5e1}::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
