.login-page[data-v-cece397a]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.login-card[data-v-cece397a]{text-align:center;padding:2rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;max-width:400px;width:90%}.logo[data-v-cece397a]{font-size:2.5rem;margin-bottom:.5rem}.title[data-v-cece397a]{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.subtitle[data-v-cece397a]{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.github-btn[data-v-cece397a]{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.75rem 1.5rem;min-height:44px;background:var(--github-bg);color:#fff;border:1px solid var(--github-border);border-radius:8px;font-size:1rem;font-weight:500;transition:background .2s,border-color .2s,transform .15s;cursor:pointer}.github-btn[data-v-cece397a]:hover:not(:disabled){background:var(--github-bg-hover);border-color:var(--github-border-hover);transform:translateY(-1px)}.github-btn[data-v-cece397a]:active:not(:disabled){transform:translateY(0)}.github-btn[data-v-cece397a]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.github-btn[data-v-cece397a]:disabled{opacity:.6;cursor:not-allowed}.github-icon[data-v-cece397a]{flex-shrink:0}.error[data-v-cece397a]{color:var(--error);margin-top:.75rem;font-size:.875rem}.setup-page[data-v-efb03025]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:1rem}.setup-card[data-v-efb03025]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:2rem;max-width:520px;width:100%}.status[data-v-efb03025]{text-align:center;padding:1.5rem;color:var(--text-secondary)}.non-owner-guide[data-v-efb03025]{display:flex;flex-direction:column;gap:1rem}.info-banner[data-v-efb03025]{display:flex;gap:1rem;align-items:flex-start;padding:1rem;background:var(--accent-tint);border:1px solid var(--accent-border);border-radius:8px}.info-banner .icon[data-v-efb03025]{font-size:1.5rem;flex-shrink:0}.info-banner h3[data-v-efb03025]{font-size:1rem;margin-bottom:.5rem;color:var(--text-primary)}.info-banner p[data-v-efb03025]{font-size:.875rem;color:var(--text-secondary);margin:0}.info-banner strong[data-v-efb03025]{color:var(--accent)}.hint-text[data-v-efb03025]{font-size:.85rem;color:var(--text-secondary);text-align:center;margin:0}.btn-secondary[data-v-efb03025]{margin-top:.5rem;padding:.75rem 1.5rem;min-height:44px;background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:8px;font-size:.95rem;font-weight:500;transition:background .2s,border-color .2s,transform .15s;cursor:pointer}.btn-secondary[data-v-efb03025]:hover{background:var(--accent-tint);border-color:var(--accent)}.btn-secondary[data-v-efb03025]:active{transform:translateY(0)}.btn-secondary[data-v-efb03025]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1[data-v-efb03025]{font-size:1.75rem;margin-bottom:.25rem}.greeting[data-v-efb03025]{font-size:1.1rem;color:var(--text-primary);margin-bottom:.5rem}.desc[data-v-efb03025]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.form[data-v-efb03025]{display:flex;flex-direction:column;gap:.5rem}.label[data-v-efb03025]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.hint[data-v-efb03025]{font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem}.input[data-v-efb03025]{padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.95rem;outline:none;transition:border-color .2s}.input[data-v-efb03025]:focus{outline:2px solid var(--accent);outline-offset:-1px}.input[data-v-efb03025]:focus:not(:focus-visible){outline:none}.input[data-v-efb03025]::placeholder{color:var(--placeholder)}.btn-primary[data-v-efb03025]{margin-top:1rem;padding:.75rem 1.5rem;min-height:44px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;transition:opacity .2s,transform .15s;cursor:pointer}.btn-primary[data-v-efb03025]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary[data-v-efb03025]:active:not(:disabled){transform:translateY(0)}.btn-primary[data-v-efb03025]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary[data-v-efb03025]:disabled{opacity:.5;cursor:not-allowed}.error[data-v-efb03025]{color:var(--error);font-size:.85rem}.success-banner[data-v-efb03025]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--success-tint);border:1px solid var(--success-border);border-radius:8px;color:var(--success);font-weight:500;margin-bottom:1rem}.secrets-guide[data-v-efb03025]{display:flex;flex-direction:column;gap:1rem}.guide-box[data-v-efb03025]{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.guide-box h3[data-v-efb03025]{font-size:1rem;margin-bottom:.75rem}.guide-box p[data-v-efb03025]{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.step[data-v-efb03025]{display:flex;gap:.75rem;margin-bottom:1rem;align-items:flex-start}.step-num[data-v-efb03025]{width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0;margin-top:2px}.secret-item[data-v-efb03025]{display:flex;align-items:center;gap:.5rem;background:var(--bg-primary);padding:.5rem .75rem;border-radius:6px;margin-top:.25rem;font-family:SF Mono,Monaco,monospace;font-size:.8rem}.secret-key[data-v-efb03025]{color:var(--accent);font-weight:600}.secret-val[data-v-efb03025]{color:var(--text-secondary);word-break:break-all}.link[data-v-efb03025]{color:var(--accent);font-size:.85rem}.link[data-v-efb03025]:hover{text-decoration:underline}.input-area[data-v-d908975d]{padding:.75rem 1rem 1rem;background:var(--bg-primary)}.input-wrapper[data-v-d908975d]{position:relative;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;padding:.6rem;transition:border-color .2s,box-shadow .2s}.input-wrapper[data-v-d908975d]:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.cursor-glow[data-v-d908975d]{position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--accent);box-shadow:0 0 8px var(--accent),0 0 16px var(--accent-glow);opacity:0;transition:opacity .3s}.input-wrapper:focus-within .cursor-glow[data-v-d908975d]{opacity:1}.input-disabled-message[data-v-d908975d]{margin:0 0 .5rem;padding:.55rem .7rem;border-radius:8px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.78rem;line-height:1.4}.image-preview-bar[data-v-d908975d]{display:flex;gap:.5rem;padding:.5rem .5rem 0;flex-wrap:wrap}.image-preview-item[data-v-d908975d]{position:relative;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--border);flex-shrink:0}.preview-thumb[data-v-d908975d]{width:100%;height:100%;object-fit:cover}.remove-img-btn[data-v-d908975d]{position:absolute;top:2px;right:2px;width:32px;height:32px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:background .15s;touch-action:manipulation}.remove-img-btn[data-v-d908975d]:hover{background:#ff3c3ccc}.image-error[data-v-d908975d]{color:var(--error);font-size:.8rem;padding:.35rem .5rem 0;line-height:1.4}.input-row[data-v-d908975d]{display:flex;align-items:flex-end;gap:.5rem;min-width:0}.chat-input[data-v-d908975d]{flex:1;min-width:0;min-height:44px;background:transparent;border:none;color:var(--text-primary);font-size:.95rem;padding:.5rem;resize:none;outline:none;max-height:120px;line-height:1.5;overflow-y:auto}.chat-input[data-v-d908975d]::placeholder{color:var(--placeholder)}.action-btns[data-v-d908975d]{display:flex;align-items:center;gap:.4rem;flex-shrink:0;padding-bottom:.2rem}.attach-btn[data-v-d908975d]{position:relative;width:44px;height:44px;border-radius:10px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.image-count[data-v-d908975d]{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border:2px solid var(--bg-secondary);border-radius:999px;background:var(--accent);color:#fff;font-size:.65rem;font-weight:700;line-height:1}.attach-btn[data-v-d908975d]:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.attach-btn[data-v-d908975d]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.attach-btn[data-v-d908975d]:disabled{opacity:.4;cursor:not-allowed}.send-btn[data-v-d908975d]{width:44px;height:44px;border-radius:12px;background:var(--accent);border:none;color:#fff;display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .15s,box-shadow .2s;flex-shrink:0;cursor:pointer}.send-btn[data-v-d908975d]:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #58a6ff4d}.send-btn[data-v-d908975d]:active:not(:disabled){transform:translateY(0) scale(.96);box-shadow:0 1px 4px #58a6ff33}.send-btn[data-v-d908975d]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.send-btn[data-v-d908975d]:disabled{opacity:.45;cursor:not-allowed}.hidden-file-input[data-v-d908975d]{display:none}.read-only-banner[data-v-d908975d]{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:.85rem;text-align:center}.spinner[data-v-d908975d]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-d908975d .8s linear infinite}@keyframes spin-d908975d{to{transform:rotate(360deg)}}@media(pointer:coarse){.remove-img-btn[data-v-d908975d]{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){[data-v-d908975d],[data-v-d908975d]:before,[data-v-d908975d]:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.workspace[data-v-b28752c6]{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar[data-v-b28752c6]{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;min-height:0;overflow:hidden}.sidebar-header[data-v-b28752c6]{padding:1rem;border-bottom:1px solid var(--border);flex:0 0 auto}.sidebar-header-left[data-v-b28752c6]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.sidebar-header h2[data-v-b28752c6]{font-size:1.1rem;margin-bottom:0;background:linear-gradient(135deg,#58a6ff,#00e5ff,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:brandShift-b28752c6 8s ease-in-out infinite;background-size:200% 200%}.sidebar-close-mobile[data-v-b28752c6]{display:none;background:none;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:.2rem .4rem;border-radius:4px;line-height:1;min-width:44px;min-height:44px;align-items:center;justify-content:center;transition:color .2s,background .2s}.sidebar-close-mobile[data-v-b28752c6]:hover{color:var(--text-primary);background:var(--bg-tertiary)}@keyframes brandShift-b28752c6{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.user-info[data-v-b28752c6]{display:flex;align-items:center;gap:.5rem}.avatar[data-v-b28752c6]{width:28px;height:28px;border-radius:50%}.username[data-v-b28752c6]{flex:1;font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn[data-v-b28752c6]{background:none;border:none;color:var(--text-secondary);font-size:1.1rem;padding:.4rem;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .2s,background .2s}.logout-btn[data-v-b28752c6]:hover{color:var(--error);background:var(--error-tint)}.nav[data-v-b28752c6]{padding:.75rem;flex:0 0 auto}.new-chat-btn[data-v-b28752c6]{width:100%;padding:.5rem;min-height:44px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.85rem;transition:background .2s,border-color .2s}.new-chat-btn[data-v-b28752c6]:hover{background:var(--bg-tertiary);border-color:var(--accent)}.sessions-list[data-v-b28752c6]{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 .75rem 1rem;margin-top:.25rem;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.sessions-list h3[data-v-b28752c6]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.5rem;padding:0 .25rem}.sidebar-search[data-v-b28752c6]{position:relative;margin-bottom:.75rem}.search-icon[data-v-b28752c6]{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);font-size:.8rem;pointer-events:none;opacity:.5}.search-input[data-v-b28752c6]{width:100%;padding:.5rem .75rem .5rem 1.75rem;min-height:36px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.85rem;outline:none;transition:border-color .2s}.search-input[data-v-b28752c6]:focus{outline:2px solid var(--accent);outline-offset:-1px}.search-input[data-v-b28752c6]:focus:not(:focus-visible){outline:none}.search-input[data-v-b28752c6]::placeholder{color:var(--text-secondary);opacity:.7}.session-item[data-v-b28752c6]{padding:.5rem .6rem;border-radius:6px;border:1px solid transparent;cursor:pointer;font-size:.82rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;margin-bottom:2px;transition:background .15s,border-color .15s;overflow:hidden}.session-item.app-session[data-v-b28752c6]{cursor:default}.session-main-btn[data-v-b28752c6],.app-group-toggle[data-v-b28752c6],.nested-session-item[data-v-b28752c6]{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.session-main-btn[data-v-b28752c6],.app-group-toggle[data-v-b28752c6]{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.45rem;padding:0;text-align:left}.session-main-btn[data-v-b28752c6]:focus-visible,.app-group-toggle[data-v-b28752c6]:focus-visible,.nested-session-item[data-v-b28752c6]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-cluster[data-v-b28752c6]{margin-bottom:.2rem}.app-group-chevron[data-v-b28752c6]{width:.75rem;flex:0 0 auto;color:var(--text-secondary)}.app-session-list[data-v-b28752c6]{margin:.15rem 0 .5rem 1.05rem;padding-left:.55rem;border-left:1px solid var(--border)}.nested-session-item[data-v-b28752c6]{width:100%;min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .5rem;padding:.45rem .5rem;border-radius:6px;text-align:left}.nested-session-item[data-v-b28752c6]:hover,.nested-session-item.active[data-v-b28752c6]{background:var(--bg-tertiary)}.nested-session-item.active[data-v-b28752c6]{color:var(--accent)}.nested-session-item .session-status[data-v-b28752c6]{grid-column:1 / -1;justify-self:start}.session-item.closed[data-v-b28752c6]{opacity:.55}.session-group-label[data-v-b28752c6]{width:100%;min-height:36px;border:0;background:transparent;cursor:pointer;text-align:left;font-size:.7rem;text-transform:uppercase;color:var(--text-secondary);padding:.35rem .5rem .1rem;letter-spacing:.03em;display:inline-flex;align-items:center;gap:.35rem}.session-group-label[data-v-b28752c6]:hover{color:var(--text-primary);background:var(--bg-tertiary)}.group-chevron[data-v-b28752c6]{margin-left:auto;font-size:1rem;line-height:1;color:var(--text-secondary)}.session-group-items[data-v-b28752c6]{display:block}.closed-group-label[data-v-b28752c6]{color:var(--text-secondary);opacity:.7;border-top:1px solid var(--border);margin-top:.3rem;padding-top:.5rem}.session-time[data-v-b28752c6]{font-size:.8rem;color:var(--text-secondary);opacity:.7;flex-shrink:0;white-space:nowrap}.closed-session-item[data-v-b28752c6]{opacity:.6;font-size:.78rem}.quick-access-item[data-v-b28752c6]{background:rgba(var(--accent-rgb, 100, 180, 255),.05);border-radius:6px}.quick-access-item[data-v-b28752c6]:hover{background:rgba(var(--accent-rgb, 100, 180, 255),.12)}.session-count[data-v-b28752c6]{font-size:.7rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;flex-shrink:0}.session-status[data-v-b28752c6]{font-size:.75rem;flex-shrink:0;color:var(--text-secondary);padding:2px 8px;border-radius:3px;background:var(--bg-tertiary)}.status-active[data-v-b28752c6]{color:var(--success);background:var(--success-tint)}.status-review[data-v-b28752c6]{color:var(--warning);background:var(--warning-tint)}.status-error[data-v-b28752c6]{color:var(--error);background:var(--error-tint)}.status-closed[data-v-b28752c6]{color:var(--text-secondary);opacity:.6}.session-open-btn[data-v-b28752c6]{margin-left:auto;font-size:.7rem;padding:.35rem .75rem;border-radius:4px;border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;white-space:nowrap;flex-shrink:0;min-height:44px;line-height:1.4}.session-open-btn[data-v-b28752c6]:hover{background:var(--accent);color:#fff}.session-item[data-v-b28752c6]:hover{background:var(--bg-tertiary)}.session-icon[data-v-b28752c6]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;flex-shrink:0;color:var(--text-secondary)}.session-item.active[data-v-b28752c6]{background:var(--accent-glow);border:1px solid var(--accent);color:var(--accent)}.session-item[data-v-b28752c6]:focus{outline:2px solid var(--accent);outline-offset:-2px}.session-item[data-v-b28752c6]:focus:not(:focus-visible){outline:none}.session-title[data-v-b28752c6]{flex:1 1 0%;min-width:0;overflow:hidden;line-height:1.3}.quick-access-item .session-title[data-v-b28752c6],.session-item:not(.app-group):not(.closed-session-item) .session-title[data-v-b28752c6],.closed-session-item .session-title[data-v-b28752c6]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2}.session-item.app-group .app-name-title[data-v-b28752c6]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;min-width:0;display:block}.session-app-tag[data-v-b28752c6]{font-size:.7rem;color:var(--text-secondary);background:var(--bg-secondary);padding:1px 5px;border-radius:3px;flex-shrink:0}.apps-list[data-v-b28752c6]{flex:1;overflow-y:auto;padding:0 .75rem}.apps-list h3[data-v-b28752c6]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.5rem;padding:0 .25rem}.empty-apps[data-v-b28752c6]{font-size:.8rem;color:var(--text-tertiary);padding:.5rem}.chat-area[data-v-b28752c6]{flex:1;display:flex;flex-direction:column;min-width:0}.app-nav-bar[data-v-b28752c6]{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:var(--accent-subtle);border-bottom:1px solid var(--accent-border);font-size:.85rem;animation:slideDown-b28752c6 .3s ease-out}@keyframes slideDown-b28752c6{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.app-nav-label[data-v-b28752c6]{color:var(--text-primary);font-weight:500;display:inline-flex;align-items:center;gap:.35rem}.app-nav-open-btn[data-v-b28752c6]{padding:.4rem 1rem;min-height:44px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.82rem;font-weight:500;cursor:pointer;transition:opacity .2s,transform .15s,box-shadow .2s;display:inline-flex;align-items:center;gap:.35rem;box-shadow:0 2px 8px #58a6ff33}.app-nav-open-btn[data-v-b28752c6]:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #58a6ff4d}.app-nav-open-btn[data-v-b28752c6]:active{transform:translateY(0) scale(.97)}.back-to-app-btn[data-v-b28752c6]{margin-top:1rem;padding:.5rem 1rem;background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:6px;font-size:.85rem;cursor:pointer;transition:background .2s,color .2s}.back-to-app-btn[data-v-b28752c6]:hover{background:var(--accent);color:#fff}.messages[data-v-b28752c6]{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:radial-gradient(ellipse at 50% 30%,rgba(88,166,255,.04) 0%,transparent 60%),var(--bg-primary);animation:fadeIn-b28752c6 .3s ease-out}@keyframes fadeIn-b28752c6{0%{opacity:0}to{opacity:1}}.welcome[data-v-b28752c6]{text-align:center;margin:auto;padding:3rem 1.5rem;animation:fadeInUp-b28752c6 .6s ease-out}@keyframes fadeInUp-b28752c6{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.welcome-icon[data-v-b28752c6]{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;margin-bottom:1.25rem;background:var(--accent-subtle);border:1px solid var(--accent-border);border-radius:20px;color:var(--accent);box-shadow:0 0 24px var(--accent-glow);animation:iconGlow-b28752c6 3s ease-in-out infinite}@keyframes iconGlow-b28752c6{0%,to{box-shadow:0 0 24px var(--accent-glow)}50%{box-shadow:0 0 40px var(--accent-glow),0 0 60px #58a6ff26}}.welcome-title[data-v-b28752c6]{font-size:1.75rem;margin-bottom:.75rem;background:linear-gradient(135deg,var(--text-primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600;letter-spacing:-.02em}.welcome-subtitle[data-v-b28752c6]{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem;line-height:1.6;max-width:480px;margin-left:auto;margin-right:auto}.welcome.session-welcome[data-v-b28752c6]{margin-top:3rem}.welcome.session-welcome .welcome-icon[data-v-b28752c6]{width:56px;height:56px;margin-bottom:1rem}.welcome.session-welcome .welcome-title[data-v-b28752c6]{font-size:1.25rem;margin-bottom:.5rem}.welcome.session-welcome .welcome-subtitle[data-v-b28752c6]{font-size:.88rem;margin-bottom:1.25rem}.examples[data-v-b28752c6]{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;max-width:600px;margin:0 auto}.example-btn[data-v-b28752c6]{padding:.65rem 1.2rem;min-height:44px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:22px;color:var(--text-primary);font-size:.85rem;font-weight:500;transition:background-color .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;letter-spacing:.01em;position:relative;overflow:hidden}.example-btn[data-v-b28752c6]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--accent-subtle),transparent);opacity:0;transition:opacity .25s}.example-btn[data-v-b28752c6]:hover:before{opacity:1}.example-btn[data-v-b28752c6]:hover{border-color:var(--accent-border);transform:translateY(-2px);box-shadow:0 4px 12px #58a6ff26}.example-btn[data-v-b28752c6]:active{transform:translateY(0) scale(.97)}.example-btn[data-v-b28752c6]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.example-btn.highlight[data-v-b28752c6]{background:var(--accent-subtle);border-color:var(--accent-border);color:var(--accent)}.example-btn.highlight[data-v-b28752c6]:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 16px #58a6ff4d}.message[data-v-b28752c6]{max-width:78%;padding:.85rem 1.1rem;border-radius:14px;font-size:.92rem;line-height:1.65;white-space:pre-wrap;letter-spacing:.01em}.message.user[data-v-b28752c6]{align-self:flex-end;background:var(--user-msg-bg);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #00000026;animation:userSlideIn-b28752c6 .3s ease-out}@keyframes userSlideIn-b28752c6{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.message.user+.message.user[data-v-b28752c6],.message.system+.message.system[data-v-b28752c6]{margin-top:-.3rem}.message.user+.message.user[data-v-b28752c6]{background:var(--user-msg-bg)}.message.system+.message.system[data-v-b28752c6]{background:var(--bg-tertiary);border-color:var(--border-subtle);border-left-color:var(--warning-border)}@media(max-width:640px){.message[data-v-b28752c6],.build-progress[data-v-b28752c6]{max-width:min(85vw,400px)}}.message.system[data-v-b28752c6]{align-self:flex-start;background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid var(--warning);border-bottom-left-radius:4px;font-size:.88rem;line-height:1.6;box-shadow:0 1px 3px #00000014}.message.assistant[data-v-b28752c6]{align-self:flex-start;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-bottom-left-radius:14px;box-shadow:0 1px 4px #0000000f}.message.assistant[data-v-b28752c6]:first-child{animation:assistantFadeIn-b28752c6 .5s ease-out}@keyframes assistantFadeIn-b28752c6{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.system[data-v-b28752c6] .message-content{color:var(--text-primary)}.message.system .message-content[data-v-b28752c6] p{margin-bottom:.5rem}.message.system .message-content[data-v-b28752c6] p:last-child{margin-bottom:0}.message.system .message-content[data-v-b28752c6] strong{color:var(--text-primary);font-weight:600}.recovery-bar[data-v-b28752c6]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--warning-tint);border:1px solid var(--warning-border);border-radius:10px;margin-bottom:.75rem;flex-wrap:wrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.recovery-label[data-v-b28752c6]{font-size:.8rem;color:var(--text-secondary);margin-right:.25rem;font-weight:500;white-space:nowrap}.recovery-btn[data-v-b28752c6]{padding:.4rem .85rem;min-height:40px;font-size:.82rem;font-weight:500;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;letter-spacing:.01em}.recovery-btn[data-v-b28752c6]:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px #58a6ff40}.recovery-btn[data-v-b28752c6]:active{transform:scale(.97)}.recovery-btn[data-v-b28752c6]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.retry-btn[data-v-b28752c6]{border-color:var(--accent-border);color:var(--accent)}.retry-btn[data-v-b28752c6]:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.direct-btn[data-v-b28752c6]{border-color:var(--success-border);color:var(--success)}.direct-btn[data-v-b28752c6]:hover{background:var(--success);color:#fff;border-color:var(--success);box-shadow:0 2px 8px #3fb95040}.confirm-yes[data-v-b28752c6]{border-color:var(--error);background:var(--error-tint);color:var(--error)}.confirm-yes[data-v-b28752c6]:hover{background:var(--error);color:#fff;box-shadow:0 2px 8px #f8514940}.confirm-no[data-v-b28752c6]{border-color:var(--text-secondary);color:var(--text-secondary)}.confirm-no[data-v-b28752c6]:hover{background:var(--text-secondary);color:var(--bg-primary)}.recovery-confirm-text[data-v-b28752c6]{font-size:.82rem;color:var(--warning);font-weight:600}.message-content[data-v-b28752c6]{margin-bottom:.25rem;overflow-wrap:break-word;word-break:break-word}.message-content[data-v-b28752c6] img{max-width:100%;height:auto;border-radius:.5rem;margin:.5rem 0}.message-time[data-v-b28752c6]{font-size:.7rem;opacity:.7;text-align:right;color:var(--text-secondary)}.message.user .message-time[data-v-b28752c6]{color:#ffffffa6}.message.system .message-time[data-v-b28752c6]{color:var(--text-secondary);opacity:.6}.typing-indicator[data-v-b28752c6]{display:flex;gap:4px;padding:.5rem 0}.typing-indicator span[data-v-b28752c6]{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:bounce-b28752c6 1.4s infinite ease-in-out}.typing-indicator span[data-v-b28752c6]:nth-child(1){animation-delay:-.32s}.typing-indicator span[data-v-b28752c6]:nth-child(2){animation-delay:-.16s}@keyframes bounce-b28752c6{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.task-confirmation[data-v-b28752c6]{align-self:flex-start;width:min(100%,560px);padding:1rem;border:1px solid var(--accent-border);border-radius:14px;background:linear-gradient(135deg,var(--accent-subtle),var(--bg-secondary) 70%);box-shadow:0 8px 24px #00000014}.task-confirmation-header[data-v-b28752c6],.task-meta[data-v-b28752c6],.task-actions[data-v-b28752c6]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.task-confirmation-header[data-v-b28752c6]{justify-content:space-between;margin-bottom:.65rem}.task-type-badge[data-v-b28752c6]{padding:.25rem .55rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700}.task-confidence[data-v-b28752c6],.task-meta[data-v-b28752c6]{color:var(--text-secondary);font-size:.75rem}.task-confirmation h3[data-v-b28752c6]{margin:0 0 .45rem;font-size:1rem}.task-summary[data-v-b28752c6],.task-visual-summary[data-v-b28752c6]{margin:0;color:var(--text-primary);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.task-meta[data-v-b28752c6]{margin-top:.65rem}.task-app-field[data-v-b28752c6]{display:grid;gap:.35rem;margin-top:.75rem;color:var(--text-secondary);font-size:.78rem;font-weight:600}.task-app-field input[data-v-b28752c6]{width:min(100%,320px);min-height:42px;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary)}.task-app-field input[data-v-b28752c6]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-app-hint[data-v-b28752c6]{margin:.3rem 0 0;color:var(--text-secondary);font-size:.72rem}.task-app-hint.error[data-v-b28752c6]{color:var(--error)}.task-visual-summary[data-v-b28752c6]{margin-top:.75rem;padding:.65rem .75rem;border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);font-size:.82rem}.task-actions[data-v-b28752c6]{margin-top:.9rem}.task-confirm-btn[data-v-b28752c6],.task-edit-btn[data-v-b28752c6]{min-height:44px;padding:.55rem .9rem;border-radius:9px;font-weight:600;cursor:pointer}.task-confirm-btn[data-v-b28752c6]{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--accent);background:var(--accent);color:#fff}.task-edit-btn[data-v-b28752c6]{border:1px solid var(--border);background:transparent;color:var(--text-secondary)}.task-confirm-btn[data-v-b28752c6]:hover:not(:disabled){box-shadow:0 4px 12px var(--accent-glow);transform:translateY(-1px)}.task-edit-btn[data-v-b28752c6]:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.task-confirm-btn[data-v-b28752c6]:focus-visible,.task-edit-btn[data-v-b28752c6]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-confirm-btn[data-v-b28752c6]:disabled,.task-edit-btn[data-v-b28752c6]:disabled{opacity:.55;cursor:wait}.build-progress[data-v-b28752c6]{align-self:flex-start;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;max-width:420px;width:100%;animation:buildSlideIn-b28752c6 .4s ease-out}.build-progress.failed[data-v-b28752c6]{border-color:var(--error);background:var(--error-tint)}@keyframes buildSlideIn-b28752c6{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.build-progress-steps[data-v-b28752c6]{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:.75rem}.build-step[data-v-b28752c6]{display:flex;flex-direction:column;align-items:center;gap:.25rem;opacity:.35;transition:opacity .3s}.build-step.active[data-v-b28752c6]{opacity:1}.build-step.done[data-v-b28752c6]{opacity:.7}.step-icon[data-v-b28752c6]{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border);transition:background .3s,border-color .3s,box-shadow .3s;color:var(--text-secondary)}.build-step.active .step-icon[data-v-b28752c6]{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:stepPulse-b28752c6 2s infinite}.build-step.done .step-icon[data-v-b28752c6]{border-color:var(--success);background:var(--success-tint)}.build-step-line[data-v-b28752c6]{width:2rem;height:2px;background:var(--border);margin:0 .25rem 1.25rem;transition:background .3s}.build-step-line.active[data-v-b28752c6]{background:var(--accent)}.step-label[data-v-b28752c6]{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.build-step.active .step-label[data-v-b28752c6]{color:var(--accent)}.build-progress-status[data-v-b28752c6]{text-align:center;font-size:.8rem;color:var(--text-secondary);margin:0}.build-progress-status a[data-v-b28752c6]{margin-left:.35rem;color:var(--accent);font-weight:600}.status-refresh-btn[data-v-b28752c6]{min-height:40px;margin:.65rem auto 0;padding:.45rem .8rem;display:flex;align-items:center;gap:.35rem;border:1px solid var(--accent-border);border-radius:8px;background:transparent;color:var(--accent);cursor:pointer}.status-refresh-btn[data-v-b28752c6]:hover{background:var(--accent-subtle)}.status-refresh-btn[data-v-b28752c6]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes stepPulse-b28752c6{0%,to{box-shadow:0 0 4px var(--accent-glow)}50%{box-shadow:0 0 12px var(--accent-glow),0 0 20px var(--accent-glow)}}.status-building-pulse[data-v-b28752c6]{animation:statusPulse-b28752c6 1.5s infinite}@keyframes statusPulse-b28752c6{0%,to{opacity:1}50%{opacity:.5}}.read-only-banner[data-v-b28752c6]{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:.85rem;text-align:center}@media(max-width:640px){.workspace[data-v-b28752c6]{flex-direction:column}.sidebar[data-v-b28752c6]{position:fixed;top:0;left:0;width:280px;max-width:85vw;height:100vh;height:100dvh;z-index:200;transform:translate(-100%);transition:transform .3s ease}.sidebar.open[data-v-b28752c6]{transform:translate(0)}.sidebar-overlay[data-v-b28752c6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:199}.sidebar-toggle-mobile[data-v-b28752c6]{display:flex;position:fixed;top:.75rem;left:.75rem;z-index:201;width:44px;height:44px;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer}.sidebar-close-mobile[data-v-b28752c6]{display:flex}.chat-area[data-v-b28752c6]{width:100%}.messages[data-v-b28752c6]{padding:3.5rem 1rem 1rem}.message[data-v-b28752c6]{max-width:90%}.input-area[data-v-b28752c6]{padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}.examples button[data-v-b28752c6]{padding:.5rem .75rem;font-size:.8rem}.session-open-btn[data-v-b28752c6],.app-nav-open-btn[data-v-b28752c6],.logout-btn[data-v-b28752c6]{min-width:44px;min-height:44px;padding:.5rem 1rem;font-size:.8rem}.back-to-app-btn[data-v-b28752c6]{min-height:44px;padding:.6rem 1.2rem}}@media(min-width:641px){.sidebar-toggle-mobile[data-v-b28752c6],.sidebar-overlay[data-v-b28752c6]{display:none}}@media(pointer:coarse){.session-item[data-v-b28752c6],.new-chat-btn[data-v-b28752c6],.logout-btn[data-v-b28752c6],.session-open-btn[data-v-b28752c6],.sidebar-close-mobile[data-v-b28752c6]{min-height:44px}.sidebar-toggle-mobile[data-v-b28752c6]{min-width:44px;min-height:44px}}.task-confirmation[data-v-b28752c6]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){[data-v-b28752c6],[data-v-b28752c6]:before,[data-v-b28752c6]:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.gallery[data-v-eaba346f]{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-primary)}.gallery-header[data-v-eaba346f]{position:relative;text-align:center;padding:1.5rem 1rem 1rem;border-bottom:1px solid var(--border)}.brand[data-v-eaba346f]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem;padding:0 .5rem}.brand-center[data-v-eaba346f]{display:flex;align-items:center;justify-content:center;gap:.75rem}.logo-icon[data-v-eaba346f]{width:24px;height:24px;color:var(--accent);flex-shrink:0}.brand h1[data-v-eaba346f]{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:var(--leading-tight)}.tagline[data-v-eaba346f]{color:var(--text-secondary);font-size:.9rem;line-height:var(--leading-normal)}.gallery-main[data-v-eaba346f]{flex:1;max-width:800px;width:100%;margin:0 auto;padding:1.5rem 1.25rem}@media(min-width:1024px){.gallery-main[data-v-eaba346f]{max-width:960px;padding:2rem}.brand[data-v-eaba346f]{justify-content:space-between;max-width:960px;margin-left:auto;margin-right:auto;width:100%}.brand-center[data-v-eaba346f]{position:absolute;left:50%;transform:translate(-50%)}}.hero[data-v-eaba346f]{text-align:center;margin-bottom:1.25rem}.hero h2[data-v-eaba346f]{font-size:1.375rem;margin-bottom:.5rem;color:var(--text-primary);line-height:var(--leading-tight)}.hero p[data-v-eaba346f]{color:var(--text-secondary);font-size:.9rem;line-height:var(--leading-normal)}.apps-section[data-v-eaba346f]{margin-bottom:1.25rem}.status[data-v-eaba346f]{text-align:center;padding:1.5rem;color:var(--text-secondary);font-size:.9rem;line-height:var(--leading-normal)}.status.error[data-v-eaba346f]{color:var(--error)}.status.empty[data-v-eaba346f]{color:var(--text-tertiary);display:flex;flex-direction:column;align-items:center;gap:.5rem}.empty-icon[data-v-eaba346f]{color:var(--text-tertiary);opacity:.6;margin-bottom:.25rem}.empty-hint[data-v-eaba346f]{font-size:.85rem;color:var(--text-secondary)}@keyframes skeleton-shimmer-eaba346f{0%{background-position:-200% 0}to{background-position:200% 0}}.apps-grid--skeleton[data-v-eaba346f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.skeleton-card[data-v-eaba346f]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px}.skeleton-icon[data-v-eaba346f]{width:24px;height:24px;border-radius:6px;flex-shrink:0;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--border) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-shimmer-eaba346f 1.5s infinite}.skeleton-lines[data-v-eaba346f]{flex:1;display:flex;flex-direction:column;gap:.5rem}.skeleton-line[data-v-eaba346f]{height:12px;border-radius:4px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--border) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-shimmer-eaba346f 1.5s infinite}.skeleton-line--title[data-v-eaba346f]{width:70%}.skeleton-line--version[data-v-eaba346f]{width:35%;height:10px}.skeleton-retry[data-v-eaba346f]{grid-column:1 / -1;text-align:center;padding:.75rem}.retry-link[data-v-eaba346f]{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;text-decoration:underline;padding:.25rem .5rem}.api-error-banner[data-v-eaba346f]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-bottom:1rem;background:var(--warning-tint);border:1px solid var(--warning-border);border-radius:8px;color:var(--warning);font-size:.9rem}.api-error-icon[data-v-eaba346f]{flex-shrink:0;display:flex;align-items:center}.apps-grid[data-v-eaba346f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.app-item[data-v-eaba346f]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;font:inherit;text-align:left;line-height:inherit;color:inherit}.app-item[data-v-eaba346f]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-item[data-v-eaba346f]:hover{border-color:var(--accent);background:var(--bg-tertiary);transform:translateY(-1px)}.app-item.selected[data-v-eaba346f]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.app-icon[data-v-eaba346f]{flex-shrink:0;display:flex;align-items:center;justify-content:center}.app-icon-svg[data-v-eaba346f]{width:24px;height:24px;color:var(--text-secondary)}.app-details[data-v-eaba346f]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.app-name[data-v-eaba346f]{font-size:.9rem;font-weight:600;color:var(--text-primary);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.3;word-break:break-word}.app-version[data-v-eaba346f]{font-size:.75rem;color:var(--text-secondary);background:var(--bg-primary);padding:.1rem .4rem;border-radius:4px;align-self:flex-start}.app-action[data-v-eaba346f]{font-size:.8rem;color:var(--accent);flex-shrink:0;opacity:0;transition:opacity .2s}.app-item:hover .app-action[data-v-eaba346f]{opacity:1}.cta-section[data-v-eaba346f]{text-align:center;padding:1.5rem 1rem;border-top:1px solid var(--border)}.cta-section p[data-v-eaba346f]{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;line-height:var(--leading-normal)}.cta-buttons[data-v-eaba346f]{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.cta-browse[data-v-eaba346f]{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.cta-browse[data-v-eaba346f]:hover{border-color:var(--accent);background:var(--bg-tertiary)}.cta-login[data-v-eaba346f]{background:var(--accent);color:#fff}.cta-login[data-v-eaba346f]:hover:not(:disabled){opacity:.9}.cta-btn[data-v-eaba346f]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:500;font-size:.9rem;transition:transform .2s,border-color .2s,background .2s;cursor:pointer;border:none;min-height:44px}.cta-btn[data-v-eaba346f]:hover:not(:disabled){transform:translateY(-1px)}.gallery-footer[data-v-eaba346f]{text-align:center;padding:1.25rem 1rem;border-top:1px solid var(--border);color:var(--text-tertiary);font-size:.8rem;line-height:var(--leading-normal)}.gallery-footer a[data-v-eaba346f]{color:var(--accent);text-decoration:none}.gallery-footer a[data-v-eaba346f]:hover{text-decoration:underline}.session-sidebar[data-v-eaba346f]{position:fixed;top:0;left:0;width:280px;height:100vh;height:100dvh;background:var(--bg-secondary);border-right:1px solid var(--border);z-index:100;transform:translate(-100%);transition:transform .3s ease;display:flex;flex-direction:column}.session-sidebar.open[data-v-eaba346f]{transform:translate(0)}.sidebar-overlay[data-v-eaba346f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99;transition:opacity .3s ease}.sidebar-header[data-v-eaba346f]{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border)}.sidebar-header h3[data-v-eaba346f]{margin:0;font-size:.95rem;color:var(--text-primary)}.sidebar-close[data-v-eaba346f]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;display:flex;align-items:center;justify-content:center}.sidebar-close[data-v-eaba346f]:hover{color:var(--text-primary)}.sidebar-sessions[data-v-eaba346f]{flex:1;overflow-y:auto;padding:.5rem}.session-group[data-v-eaba346f]{margin-bottom:.75rem}.group-label[data-v-eaba346f]{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:.5rem .75rem;font-weight:600;display:flex;align-items:center;gap:.4rem}.session-item[data-v-eaba346f]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;border-radius:6px;cursor:pointer;transition:background .15s;gap:.5rem}.session-item[data-v-eaba346f]:hover{background:var(--bg-tertiary)}.session-item.active[data-v-eaba346f]{background:var(--accent-glow);border:1px solid var(--accent)}.session-title[data-v-eaba346f]{flex:1;font-size:.85rem;color:var(--text-primary);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;line-height:1.3}.session-status[data-v-eaba346f]{font-size:.7rem;padding:.1rem .4rem;border-radius:3px;flex-shrink:0}.session-status.open[data-v-eaba346f]{background:#1a7f37;color:#fff}.session-status.closed[data-v-eaba346f]{background:var(--text-tertiary);color:#fff}.sidebar-toggle[data-v-eaba346f]{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;padding:.4rem;margin-right:.5rem;transition:border-color .15s,color .15s;display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.sidebar-toggle[data-v-eaba346f]:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle[data-v-eaba346f]{background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-secondary);cursor:pointer;padding:.4rem;margin-left:.5rem;transition:border-color .15s,color .15s,transform .15s;line-height:1;display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.theme-toggle[data-v-eaba346f]:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.1)}@media(max-width:640px){.gallery-header[data-v-eaba346f]{padding:.75rem 1rem .5rem}.brand[data-v-eaba346f]{gap:.25rem}.brand h1[data-v-eaba346f]{font-size:1.5rem}.logo-icon[data-v-eaba346f]{width:22px;height:22px;color:var(--accent)}.tagline[data-v-eaba346f]{font-size:.85rem}.gallery-main[data-v-eaba346f]{padding:1rem}.hero h2[data-v-eaba346f]{font-size:1.25rem}.apps-grid[data-v-eaba346f],.apps-grid--skeleton[data-v-eaba346f]{grid-template-columns:1fr;gap:.75rem}.app-item[data-v-eaba346f]{padding:.75rem}.cta-buttons[data-v-eaba346f]{flex-direction:column;gap:.75rem}.cta-btn[data-v-eaba346f]{width:100%;padding:.875rem 1.5rem}.session-sidebar[data-v-eaba346f]{width:85vw;max-width:320px}.sidebar-toggle[data-v-eaba346f]{min-height:44px;min-width:44px}}@media(pointer:coarse){.theme-toggle[data-v-eaba346f],.sidebar-toggle[data-v-eaba346f],.sidebar-close[data-v-eaba346f],.app-item[data-v-eaba346f],.cta-btn[data-v-eaba346f]{min-height:44px;min-width:44px}}@media(min-width:1024px){.brand[data-v-eaba346f]{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:960px;margin:0 auto;width:100%;gap:0}.sidebar-toggle[data-v-eaba346f]{grid-column:1;justify-self:start}.brand-center[data-v-eaba346f]{grid-column:2;position:static;transform:none}.theme-toggle[data-v-eaba346f]{grid-column:3;justify-self:end;margin-left:0}.gallery-main[data-v-eaba346f]{max-width:960px;padding:2rem}.session-sidebar[data-v-eaba346f]{grid-column:1;grid-row:1 / -1;transform:translate(0);position:sticky;top:0;height:100vh}.sidebar-toggle[data-v-eaba346f]{display:none}.gallery[data-v-eaba346f]{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}.gallery-header[data-v-eaba346f],.gallery-main[data-v-eaba346f],.gallery-footer[data-v-eaba346f]{grid-column:2}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-tertiary: #1e1e1e;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-tertiary: #666;--accent: #58a6ff;--accent-glow: rgba(88, 166, 255, .3);--border: #2a2a2a;--success: #3fb950;--error: #f85149;--warning: #d29922;--user-msg-bg: linear-gradient(135deg, #58a6ff, #79c0ff);--accent-subtle: rgba(88, 166, 255, .04);--accent-tint: rgba(88, 166, 255, .1);--accent-border: rgba(88, 166, 255, .2);--success-tint: rgba(63, 185, 80, .1);--success-border: rgba(63, 185, 80, .3);--error-tint: rgba(248, 81, 73, .1);--warning-tint: rgba(255, 170, 0, .08);--warning-border: rgba(255, 170, 0, .3);--surface-raised: #1a1f26;--border-subtle: #3a3f46;--placeholder: #555;--github-bg: #24292e;--github-bg-hover: #2f363d;--github-border: #444;--github-border-hover: #666;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--leading-tight: 1.35;--leading-normal: 1.6}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f6f8fa;--bg-tertiary: #eaeef2;--text-primary: #1f2328;--text-secondary: #656d76;--text-tertiary: #666;--accent: #0969da;--accent-glow: rgba(9, 105, 218, .2);--border: #d0d7de;--success: #1a7f37;--error: #cf222e;--warning: #9a6700;--user-msg-bg: linear-gradient(135deg, #0969da, #2188ff);--accent-subtle: rgba(9, 105, 218, .04);--accent-tint: rgba(9, 105, 218, .08);--accent-border: rgba(9, 105, 218, .2);--success-tint: rgba(26, 127, 55, .08);--success-border: rgba(26, 127, 55, .25);--error-tint: rgba(207, 34, 46, .08);--warning-tint: rgba(154, 103, 0, .08);--warning-border: rgba(154, 103, 0, .3);--surface-raised: #f6f8fa;--border-subtle: #d0d7de;--placeholder: #8c959f}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}.skip-link{position:absolute;top:-100%;left:1rem;padding:.75rem 1rem;background:var(--accent);color:#fff;border-radius:0 0 8px 8px;font-weight:500;text-decoration:none;z-index:9999;transition:top .2s}.skip-link:focus{top:0}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
