:root{--fp-bg:#090c10;--fp-surface:#161b22a6;--fp-surface-solid:#161b22;--fp-border:#ffffff14;--fp-border-strong:#ffffff26;--fp-text:#f0f6fc;--fp-text-secondary:#8b949e;--fp-text-tertiary:#6e7681;--fp-accent:#58a6ff;--fp-accent-hover:#79c0ff;--fp-accent-muted:#58a6ff26;--fp-hover:#ffffff0f;--fp-hover-strong:#ffffff1a;--fp-added:#3fb950;--fp-modified:#d29922;--fp-deleted:#f85149;--fp-success-bg:#3fb95026;--fp-danger-bg:#f8514926;--fp-shadow-sm:0 4px 12px #0003;--fp-shadow-lg:0 16px 40px #00000080;--fp-radius-md:10px;--fp-radius-lg:14px}:root[data-theme=light]{--fp-bg:#f6f8fa;--fp-surface:#ffffffd9;--fp-surface-solid:#fff;--fp-border:#00000014;--fp-border-strong:#0000001f;--fp-text:#24292f;--fp-text-secondary:#57606a;--fp-text-tertiary:#8c959f;--fp-accent:#0969da;--fp-accent-hover:#0550ae;--fp-accent-muted:#0969da1a;--fp-hover:#0000000a;--fp-hover-strong:#00000012;--fp-added:#1a7f37;--fp-modified:#9a6700;--fp-deleted:#cf222e;--fp-success-bg:#1a7f371a;--fp-danger-bg:#cf222e1a;--fp-shadow-sm:0 1px 3px #00000014;--fp-shadow-lg:0 8px 24px #00000029}.folder-picker-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200000;background:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fpFadeIn;display:flex;position:fixed;inset:0}@keyframes fpFadeIn{0%{opacity:0}to{opacity:1}}.folder-picker-modal{background:var(--fp-surface-solid);border:1px solid var(--fp-border-strong);border-radius:var(--fp-radius-lg);box-shadow:var(--fp-shadow-lg);flex-direction:column;max-height:80vh;animation:.3s cubic-bezier(.175,.885,.32,1.275) fpSlideUp;display:flex}@keyframes fpSlideUp{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.folder-picker-btn{border-radius:var(--fp-radius-md);cursor:pointer;border:1px solid var(--fp-border);color:var(--fp-text);background:0 0;padding:.6rem 1.2rem;font-size:.85rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.folder-picker-btn:hover{background:var(--fp-hover-strong);transform:translateY(-1px)}.folder-picker-btn.primary{background:linear-gradient(135deg, var(--fp-accent), #3b82f6);color:#fff;border-color:#0000;box-shadow:0 4px 12px #58a6ff4d}.folder-picker-btn.primary:hover{background:linear-gradient(135deg, var(--fp-accent-hover), var(--fp-accent));box-shadow:0 6px 16px #58a6ff66}.spin{animation:1s cubic-bezier(.4,0,.2,1) infinite fpSpin}@keyframes fpSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.folder-picker-header{border-bottom:1px solid var(--fp-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.folder-picker-header-left{align-items:center;gap:.75rem;display:flex}.folder-picker-title{color:var(--fp-text);font-size:1.1rem;font-weight:700}.folder-picker-close{color:var(--fp-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.folder-picker-close:hover{background:var(--fp-hover-strong);color:var(--fp-text)}.folder-picker-body{flex:1;height:480px;min-height:0;display:flex}.folder-picker-sidebar{border-right:1px solid var(--fp-border);background:var(--fp-surface);flex-shrink:0;width:180px;padding:.75rem 0;overflow-y:auto}.folder-picker-sidebar-section{margin-bottom:1rem}.folder-picker-sidebar-title{text-transform:uppercase;letter-spacing:1px;color:var(--fp-text-tertiary);padding:.5rem 1rem .4rem;font-size:.6rem;font-weight:800}.folder-picker-sidebar-item{width:100%;color:var(--fp-text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.45rem 1rem;font-size:.78rem;transition:all .15s;display:flex}.folder-picker-sidebar-item:hover{background:var(--fp-hover);color:var(--fp-text)}.folder-picker-sidebar-item.active{color:var(--fp-accent);border-right:2px solid var(--fp-accent);background:#58a6ff1f}.folder-picker-sidebar-item .folder-picker-disk-bar{background:var(--fp-hover-strong);border-radius:2px;flex:1;max-width:40px;height:3px;margin-left:auto;overflow:hidden}.folder-picker-sidebar-item .folder-picker-disk-fill{background:var(--fp-accent);border-radius:2px;height:100%;transition:width .3s}.folder-picker-sidebar-item .folder-picker-disk-fill.warning{background:var(--fp-modified)}.folder-picker-sidebar-item .folder-picker-disk-fill.danger{background:var(--fp-deleted)}.folder-picker-main{background:var(--fp-bg);flex-direction:column;flex:1;min-width:0;display:flex}.folder-picker-toolbar{border-bottom:1px solid var(--fp-border);flex-shrink:0;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.folder-picker-nav-btns{flex-shrink:0;gap:2px;display:flex}.fp-tb-btn{width:28px;height:28px;color:var(--fp-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.fp-tb-btn:hover:not(:disabled){background:var(--fp-hover);color:var(--fp-text)}.fp-tb-btn:disabled{opacity:.3;cursor:not-allowed}.fp-tb-btn.active{background:var(--fp-hover-strong);color:var(--fp-accent);border-color:var(--fp-border)}.fp-tb-btn.primary{background:var(--fp-accent);color:#fff;border-color:#0000;width:auto;padding:0 .5rem}.fp-tb-btn.primary:hover{background:var(--fp-accent-hover)}.folder-picker-breadcrumb{background:var(--fp-hover);border:1px solid var(--fp-border);cursor:pointer;white-space:nowrap;border-radius:6px;flex:1;align-items:center;min-width:0;padding:.25rem .5rem;transition:all .15s;display:flex;overflow-x:auto}.folder-picker-breadcrumb:hover{background:var(--fp-hover-strong);border-color:var(--fp-border-strong)}.folder-picker-breadcrumb::-webkit-scrollbar{height:0}.fp-bc-item{color:var(--fp-text-secondary);cursor:pointer;border-radius:4px;align-items:center;padding:.15rem .3rem;font-size:.78rem;transition:all .15s;display:inline-flex}.fp-bc-item:hover{background:var(--fp-hover-strong);color:var(--fp-text)}.fp-bc-segment{align-items:center;display:inline-flex}.fp-bc-sep{color:var(--fp-text-tertiary);flex-shrink:0;margin:0 1px}.folder-picker-toolbar-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.fp-filter-input{border:1px solid var(--fp-border);background:var(--fp-hover);width:120px;color:var(--fp-text);border-radius:6px;outline:none;padding:.3rem .6rem .3rem 1.5rem;font-size:.75rem;transition:all .15s}.fp-filter-input:focus{border-color:var(--fp-accent);background:var(--fp-hover-strong);width:160px}.fp-filter-icon{color:var(--fp-text-tertiary);pointer-events:none;position:absolute;top:50%;left:.4rem;transform:translateY(-50%)}.fp-filter-clear{color:var(--fp-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:2px;display:flex;position:absolute;top:50%;right:.2rem;transform:translateY(-50%)}.fp-filter-clear:hover{color:var(--fp-text);background:var(--fp-hover-strong)}.folder-picker-path-editor{border-bottom:1px solid var(--fp-border);flex-shrink:0;align-items:center;gap:.4rem;padding:.4rem .75rem;display:flex}.fp-path-input{border:1px solid var(--fp-accent);background:var(--fp-hover-strong);color:var(--fp-text);border-radius:6px;outline:none;flex:1;padding:.45rem .75rem;font-family:SF Mono,JetBrains Mono,monospace;font-size:.82rem}.folder-picker-content{flex:1;padding:1rem;overflow-y:auto}.folder-picker-content::-webkit-scrollbar{width:6px;height:6px}.folder-picker-content::-webkit-scrollbar-thumb{background:var(--fp-hover-strong);border-radius:3px}.folder-picker-content::-webkit-scrollbar-thumb:hover{background:var(--fp-text-tertiary)}.fp-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;display:grid}.fp-grid-item{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .5rem .75rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.fp-grid-item:hover{background:var(--fp-hover);border-color:var(--fp-border);box-shadow:var(--fp-shadow-sm);transform:translateY(-2px)}.fp-grid-item.selected{border-color:var(--fp-accent);box-shadow:0 0 0 1px var(--fp-accent-muted);background:#58a6ff1a}.fp-grid-item.selected:hover{border-color:var(--fp-accent);background:#58a6ff26}.fp-grid-icon{justify-content:center;align-items:center;height:50px;transition:transform .2s;display:flex}.fp-grid-item:hover .fp-grid-icon{transform:scale(1.05)}.fp-grid-name{color:var(--fp-text);text-align:center;word-break:break-all;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.72rem;line-height:1.3;display:-webkit-box;overflow:hidden}.fp-git-badge{background:var(--fp-success-bg);color:var(--fp-added);border-radius:10px;align-items:center;gap:.25rem;max-width:100%;margin-top:.2rem;padding:.15rem .5rem;font-family:SF Mono,JetBrains Mono,monospace;font-size:.6rem;font-weight:600;animation:.3s ease-out fpBadgeIn;display:flex}@keyframes fpBadgeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.fp-grid-item.is-git-ignored{opacity:.65}.fp-git-ignored-badge{background:var(--pkg-explorer-git-ignored-bg,#8c959f26);border:1px solid var(--pkg-explorer-git-ignored-border,#8c959f4d);color:var(--pkg-explorer-git-ignored-text,#8b949e);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;max-width:100%;margin-top:.2rem;padding:.12rem .45rem;font-family:SF Mono,JetBrains Mono,monospace;font-size:.58rem;font-weight:600;animation:.3s ease-out fpBadgeIn;display:flex}.fp-skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;display:grid}.fp-skeleton-card{flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;display:flex}.fp-skeleton-icon{background:var(--fp-hover-strong);border-radius:10px;width:50px;height:50px;animation:1.5s ease-in-out infinite fpSkeletonPulse}.fp-skeleton-line{background:var(--fp-hover-strong);border-radius:4px;width:70%;height:10px;animation:1.5s ease-in-out infinite fpSkeletonPulse}@keyframes fpSkeletonPulse{0%,to{opacity:.5}50%{opacity:1}}.fp-empty-state{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;height:100%;padding:2rem;display:flex}.fp-empty-text{color:var(--fp-text-tertiary);text-align:center;font-size:.85rem}.fp-error-icon{background:var(--fp-danger-bg);width:48px;height:48px;color:var(--fp-deleted);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.fp-error-text{color:var(--fp-deleted);text-align:center;max-width:300px;font-size:.82rem}.fp-retry-btn{border:1px solid var(--fp-border);background:var(--fp-hover);color:var(--fp-text);cursor:pointer;border-radius:6px;padding:.4rem 1rem;font-size:.78rem;transition:all .15s}.fp-retry-btn:hover{background:var(--fp-hover-strong);border-color:var(--fp-accent)}.folder-picker-bottom{border-top:1px solid var(--fp-border-strong);background:var(--fp-surface);flex-shrink:0;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.fp-bottom-path{background:var(--fp-hover);border:1px solid var(--fp-border);cursor:pointer;border-radius:6px;flex:1;align-items:center;gap:.5rem;min-width:0;padding:.4rem .75rem;transition:all .15s;display:flex;overflow:hidden}.fp-bottom-path:hover{background:var(--fp-hover-strong);border-color:var(--fp-border-strong)}.fp-bottom-path-icon{flex-shrink:0;align-items:center;display:flex}.fp-bottom-path-text{color:var(--fp-text);text-overflow:ellipsis;white-space:nowrap;font-family:SF Mono,JetBrains Mono,monospace;font-size:.78rem;overflow:hidden}.fp-bottom-path-branch{color:var(--fp-added);background:#3fb95026;border-radius:8px;flex-shrink:0;margin-left:auto;padding:.1rem .4rem;font-family:SF Mono,JetBrains Mono,monospace;font-size:.6rem;font-weight:600}.fp-bottom-not-repo{color:var(--fp-deleted);white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:500}.fp-bottom-actions{flex-shrink:0;gap:.5rem;display:flex}.fp-bottom-actions .folder-picker-btn{padding:.45rem 1rem;font-size:.78rem}.fp-bottom-actions .folder-picker-btn.primary{justify-content:center;align-items:center;min-width:130px;display:flex}@media (max-width:768px){.folder-picker-modal{border-radius:18px 18px 0 0;width:min(100vw,100%);max-height:92vh}.folder-picker-body{height:auto;position:relative}.folder-picker-sidebar,.folder-picker-sidebar.closed{z-index:25;border-right:1px solid var(--fp-border);width:240px;padding-left:0;padding-right:0;transition:transform .25s cubic-bezier(.16,1,.3,1);position:absolute;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 32px #00000059}.folder-picker-sidebar.open{transform:translate(0)}.fp-sidebar-toggle{display:none}.fp-sidebar-toggle.open{display:flex}.folder-picker-toolbar{gap:.45rem;padding:.55rem .75rem}.folder-picker-toolbar .fp-tb-btn{border-radius:10px;width:38px;height:38px}.folder-picker-breadcrumb{flex-basis:100%;order:10;max-width:100%;font-size:.78rem}.fp-filter-input{font-size:16px}.fp-grid{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:.45rem}.fp-grid-item{border-radius:14px;padding:.5rem .25rem}.fp-grid-icon{height:42px}.fp-grid-icon svg{width:34px;height:34px}.fp-grid-name{font-size:.68rem;line-height:1.25}.folder-picker-content{padding:.6rem}.folder-picker-bottom{padding:.75rem 1rem}}@media (max-width:480px){.folder-picker-bottom{flex-direction:column;align-items:stretch}.fp-bottom-actions{flex-direction:column-reverse;align-items:stretch;width:100%}.fp-bottom-actions .folder-picker-btn{justify-content:center;width:100%}.fp-bottom-actions .folder-picker-btn.primary{min-width:0}}.app-install-gate{text-align:center;background:var(--bg-primary,#0b0d12);flex-direction:column;justify-content:center;align-items:center;gap:.9rem;height:100%;padding:2rem;display:flex;position:relative;overflow:hidden}.app-install-gate-glow{background:radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--accent,#818cf8) 33%, transparent), transparent 60%);pointer-events:none;opacity:.25;position:absolute;inset:0}.app-install-gate-icon{color:#fff;background:linear-gradient(135deg, var(--accent,#6366f1), #8b5cf6);width:68px;height:68px;box-shadow:0 12px 32px color-mix(in srgb, var(--accent,#6366f1) 55%, transparent);border-radius:18px;justify-content:center;align-items:center;display:flex}.app-install-gate-title{color:var(--text-primary,#e5e7eb);margin:0;font-size:1.15rem;font-weight:700}.app-install-gate-desc{max-width:420px;color:var(--text-secondary,#9ca3af);margin:0;font-size:.82rem;line-height:1.55}.app-install-gate-features{color:var(--text-secondary,#9ca3af);flex-direction:column;gap:.3rem;margin:0;padding:0;font-size:.75rem;list-style:none;display:flex}.app-install-gate-features li:before{content:"• ";color:var(--accent,#818cf8)}.app-install-gate-btn{color:#fff;background:linear-gradient(135deg, var(--accent,#6366f1), #8b5cf6);cursor:pointer;box-shadow:0 6px 18px color-mix(in srgb, var(--accent,#6366f1) 44%, transparent);border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.82rem;font-weight:600;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex}.app-install-gate-btn:hover{box-shadow:0 10px 26px color-mix(in srgb, var(--accent,#6366f1) 55%, transparent);transform:translateY(-1px)}.app-install-gate-btn:active{transform:translateY(0)}.app-install-gate-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.app-install-gate-loading{color:var(--text-secondary,#9ca3af);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.app-install-gate-error{max-width:420px;color:var(--color-error,#ef4444);font-size:.75rem}.app-install-spin{animation:1s linear infinite app-install-spin}@keyframes app-install-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
