@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#09090b;--bg-subtle:#0c0c0f;--surface:#131316;--surface-2:#1a1a1f;--surface-3:#222228;--border:#27272a;--border-hover:#3f3f46;--border-subtle:#1e1e22;--text:#fafafa;--text-secondary:#a1a1aa;--text-dim:#71717a;--accent:#22c55e;--accent-hover:#16a34a;--accent-dim:#22c55e14;--accent-glow:#22c55e26;--accent-border:#22c55e40;--danger:#ef4444;--danger-dim:#ef44441a;--danger-border:#ef444440;--warning:#f59e0b;--warning-dim:#f59e0b14;--radius:12px;--radius-sm:8px;--radius-xs:6px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--transition:.15s cubic-bezier(.4,0,.2,1);--scroll-thumb:#a0a0aa59;--scroll-thumb-hover:#a0a0aa8c}html.light{--bg:#f5f5f7;--bg-subtle:#ededf0;--surface:#fff;--surface-2:#f0f0f3;--surface-3:#e4e4e8;--border:#d4d4d8;--border-hover:#a1a1aa;--border-subtle:#e4e4e8;--text:#18181b;--text-secondary:#52525b;--text-dim:#71717a;--accent:#16a34a;--accent-hover:#15803d;--accent-dim:#16a34a14;--accent-glow:#16a34a1f;--accent-border:#16a34a4d;--danger:#dc2626;--danger-dim:#dc262614;--danger-border:#dc262640;--warning:#d97706;--warning-dim:#d9770614;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 32px #0000001a;--scroll-thumb:#3c3c4666;--scroll-thumb-hover:#3c3c4699}html{font-size:15px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}.app{flex-direction:column;max-width:1920px;height:100vh;margin:0 auto;display:flex}.app-body{flex:1;min-height:0;display:flex;overflow:hidden}.top-bar{background:var(--surface);border-bottom:1px solid var(--border);z-index:5;flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 1.25rem;display:flex;position:relative}.top-bar:after{content:"";background:linear-gradient(90deg, transparent, var(--accent-border), transparent);opacity:.5;height:1px;position:absolute;bottom:-1px;left:0;right:0}.top-bar-left{align-items:center;gap:.65rem;display:flex}.top-bar .logo{background:linear-gradient(135deg, var(--accent), #15803d);border-radius:var(--radius-xs);color:#fff;width:32px;height:32px;box-shadow:0 0 16px var(--accent-glow);flex-shrink:0;place-items:center;display:grid}.top-bar h1{letter-spacing:-.03em;color:var(--text);font-size:1.05rem;font-weight:700}.lang-switcher{border-radius:var(--radius-xs);border:1px solid var(--border);gap:0;display:flex;overflow:hidden}.lang-btn{color:var(--text-dim);cursor:pointer;transition:all var(--transition);letter-spacing:.03em;text-transform:uppercase;background:0 0;border:none;padding:4px 10px;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.lang-btn:not(:last-child){border-right:1px solid var(--border)}.lang-btn:first-child,.lang-btn:last-child{border-radius:0}.lang-btn.active{background:var(--accent-dim);color:var(--accent)}.lang-btn:hover:not(.active){background:var(--surface-2);color:var(--text-secondary)}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;order:1;width:260px;padding:0;display:flex;overflow:hidden}.sidebar-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.7rem;font-weight:700;display:flex}.sidebar-header-actions{align-items:center;gap:4px;display:flex}.sidebar-icon-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-xs);width:24px;height:24px;transition:all var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-icon-btn:hover{color:var(--text);background:var(--surface-2)}.sidebar-header .add-btn{background:var(--accent);color:#fff;cursor:pointer;border-radius:var(--radius-xs);width:24px;height:24px;transition:all var(--transition);border:none;justify-content:center;align-items:center;display:flex}.sidebar-header .add-btn:hover{background:var(--accent-hover);box-shadow:0 0 12px var(--accent-glow)}.project-list{flex-direction:column;flex:1;gap:1px;padding:.5rem;display:flex;overflow-y:auto}.project-item{border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition);color:var(--text-dim);-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.82rem;font-weight:500;display:flex}.project-item:hover{background:var(--surface-2);color:var(--text-secondary)}.project-item.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.project-item .project-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.project-item .project-actions{flex-shrink:0;gap:.25rem;display:none}.project-item:hover .project-actions,.project-item.active .project-actions{display:flex}.project-item .project-action-btn{color:var(--text-dim);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:4px;padding:2px 5px;font-size:.72rem;line-height:1}.project-item .project-action-btn:hover{color:var(--text);background:var(--surface-3)}.project-item .project-action-btn.danger:hover{color:var(--danger);background:var(--danger-dim)}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;padding:.5rem}.sidebar-help-btn{border-radius:var(--radius-xs);width:100%;color:var(--text-dim);cursor:pointer;transition:all var(--transition);-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;padding:.55rem .75rem;font-family:Inter,sans-serif;font-size:.82rem;font-weight:500;display:flex}.sidebar-help-btn:hover{background:var(--surface-2);color:var(--text-secondary)}.sidebar-help-btn svg{opacity:.6;flex-shrink:0}.sidebar-help-btn:hover svg{opacity:1}.export-select-all{cursor:pointer;color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem 0;font-size:.85rem;display:flex}.export-select-all input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.export-project-list{flex-direction:column;gap:2px;max-height:240px;margin-bottom:1rem;display:flex;overflow-y:auto}.export-project-item{border-radius:var(--radius-xs);cursor:pointer;color:var(--text-secondary);transition:background var(--transition);align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.82rem;display:flex}.export-project-item:hover{background:var(--surface-2)}.export-project-item input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.export-project-meta{color:var(--text-dim);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:.72rem}.modal-field-group{flex-direction:column;gap:.35rem;display:flex}.modal-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.modal-intro{color:var(--text-secondary);margin-bottom:.75rem;font-size:.85rem}.duplicate-list{flex-direction:column;gap:.35rem;max-height:280px;display:flex;overflow-y:auto}.duplicate-row{border-radius:var(--radius-xs);background:var(--surface-2);border:1px solid var(--border);flex-direction:column;gap:.4rem;padding:.5rem .6rem;display:flex}.duplicate-row-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.duplicate-rename-input{padding-top:.15rem}.duplicate-rename-input .modal-input{padding:.35rem .5rem;font-size:.8rem}.duplicate-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;font-weight:500;overflow:hidden}.duplicate-action{background:var(--surface-3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;flex-shrink:0;padding:.35rem .5rem;font-family:Inter,sans-serif;font-size:.78rem}.duplicate-action:focus{border-color:var(--accent);outline:none}.help-page{background:var(--bg);flex:1;order:2;min-width:0;display:none;overflow:hidden}.help-page.visible{display:flex}.help-page.visible+.main-content{display:none}.help-container{flex:1;width:100%;max-width:1200px;min-height:0;margin:0 auto;display:flex}.help-nav{border-right:1px solid var(--border);flex-shrink:0;width:220px;padding:2rem 0 2rem 2rem;overflow-y:auto}.help-nav-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;padding:0 .5rem;font-size:.7rem;font-weight:700}.help-nav-list{flex-direction:column;gap:1px;list-style:none;display:flex}.help-nav-link{border-radius:var(--radius-xs);color:var(--text-dim);transition:all var(--transition);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:.4rem .75rem;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;text-decoration:none;display:block}.help-nav-link:hover{background:var(--surface-2);color:var(--text-secondary)}.help-nav-link.active{background:var(--accent-dim);color:var(--accent)}.help-content-scroll{flex:1;min-width:0;overflow-y:auto}.help-content{max-width:780px;padding:2rem 2.5rem 4rem}.help-back-btn{border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);align-items:center;gap:.4rem;margin-bottom:1.5rem;padding:.4rem .75rem;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;display:inline-flex}.help-back-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-hover)}.help-content h1{color:var(--text);letter-spacing:-.02em;margin-bottom:.25rem;font-size:1.6rem;font-weight:700}.help-content .help-subtitle{color:var(--text-dim);margin-bottom:2rem;font-size:.9rem}.help-content h2{color:var(--text);border-bottom:1px solid var(--border);letter-spacing:-.01em;margin-top:2.5rem;margin-bottom:.75rem;padding-bottom:.5rem;font-size:1.15rem;font-weight:700}.help-content h2:first-of-type{margin-top:0}.help-content h3{color:var(--text);margin-top:1.5rem;margin-bottom:.5rem;font-size:.95rem;font-weight:600}.help-content p{color:var(--text-secondary);margin-bottom:.75rem;font-size:.87rem;line-height:1.7}.help-content ul{margin-bottom:1rem;padding-left:0;list-style:none}.help-content ul li{color:var(--text-secondary);margin-bottom:.25rem;padding-left:1.25rem;font-size:.87rem;line-height:1.7;position:relative}.help-content ul li:before{content:"";background:var(--accent);opacity:.6;border-radius:50%;width:5px;height:5px;position:absolute;top:.65em;left:0}.help-content code{background:var(--surface-2);border:1px solid var(--border);color:var(--accent);border-radius:4px;padding:.1em .35em;font-family:JetBrains Mono,monospace;font-size:.8em}.help-content kbd{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);border-bottom-width:2px;border-radius:4px;padding:.1em .4em;font-family:JetBrains Mono,monospace;font-size:.78em;font-weight:500;display:inline-block}.help-content strong{color:var(--text);font-weight:600}.help-section{scroll-margin-top:1rem}.main-content{background:var(--bg);flex-direction:column;flex:1;order:2;min-width:0;padding:2rem 2.5rem 4rem;display:flex;overflow-y:auto}.no-project{flex:1;justify-content:center;align-items:center;display:flex}.no-project-inner{color:var(--text-dim);flex-direction:column;align-items:center;gap:1.25rem;display:flex}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;background:var(--surface);flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:280px;padding:3.5rem 1.5rem;transition:all .3s;display:flex;position:relative}.dropzone.hidden{display:none}.dropzone-visual{pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;display:flex}.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:var(--accent-dim);box-shadow:inset 0 0 60px var(--accent-glow), 0 0 40px #22c55e0d}.dropzone.dragover .dropzone-icon{transform:scale(1.1)translateY(-4px)}.dropzone-icon{color:var(--text-dim);margin-bottom:.25rem;transition:all .3s;display:block}.dropzone:hover .dropzone-icon,.dropzone.dragover .dropzone-icon{color:var(--accent)}.dropzone-title{color:var(--text-secondary);font-size:1.1rem;font-weight:600}.dropzone:hover .dropzone-title,.dropzone.dragover .dropzone-title{color:var(--text)}.dropzone-sub{color:var(--text-dim);font-size:.82rem}.path-capture{opacity:0;resize:none;z-index:1;position:absolute;inset:0}.main-content-drop-overlay{border:2px dashed var(--accent);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 80px var(--accent-glow);z-index:10;pointer-events:none;background:#22c55e0f;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:none;position:fixed}.main-content-drop-overlay.active{display:flex}.main-content-drop-overlay .dropzone-icon{color:var(--accent)}.main-content-drop-overlay .dropzone-title{color:var(--accent);font-size:.95rem}.file-list-toolbar{align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.view-toggle{border-radius:var(--radius-xs);border:1px solid var(--border);gap:0;display:flex;overflow:hidden}.view-toggle-btn{color:var(--text-dim);cursor:pointer;transition:all var(--transition);background:0 0;border:none;align-items:center;gap:.35rem;padding:5px 12px;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;display:inline-flex}.view-toggle-btn:not(:last-child){border-right:1px solid var(--border)}.view-toggle-btn.active{background:var(--accent-dim);color:var(--accent)}.view-toggle-btn:hover:not(.active){background:var(--surface-2);color:var(--text-secondary)}.file-list{flex-direction:column;gap:.35rem;margin-top:0;display:flex}.file-list--tiles{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.4rem;display:grid}.file-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:grab;transition:all var(--transition);-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.84rem;display:flex;position:relative;overflow:visible}.file-item:hover{border-color:var(--border-hover);background:var(--surface-2)}.file-item.dragging{opacity:.35;transform:scale(.98)}.file-item.drag-over-item{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 16px var(--accent-glow)}.file-item.grow-in{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow);animation:.45s cubic-bezier(.34,1.56,.64,1) forwards file-grow-in}.file-item.grow-in.settled{border-color:var(--border);box-shadow:none;transition:border-color .5s,box-shadow .5s}@keyframes file-grow-in{0%{opacity:0;transform:scale(.3)}60%{opacity:1}80%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.burst-particle{pointer-events:none;z-index:1000;will-change:transform, opacity;border-radius:3px;position:fixed}.file-item .grip{color:var(--text-dim);letter-spacing:2px;opacity:.5;transition:opacity var(--transition);flex-shrink:0;font-size:.65rem}.file-item:hover .grip{opacity:1}.file-item .file-icon{background:var(--accent-dim);border-radius:var(--radius-xs);width:28px;height:28px;color:var(--accent);letter-spacing:-.02em;flex-shrink:0;place-items:center;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:700;display:grid}.file-item .file-info{flex:1;min-width:0}.file-item .file-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-weight:500;overflow:hidden}.file-item .file-path{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono,monospace;font-size:.72rem;overflow:hidden}.file-item .file-meta{color:var(--text-dim);text-align:right;white-space:nowrap;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:.72rem;line-height:1.4}.file-item .remove-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-xs);transition:all var(--transition);opacity:0;background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:.85rem;line-height:1}.file-item:hover .remove-btn{opacity:1}.file-item .remove-btn:hover{color:var(--danger);background:var(--danger-dim)}.item-order{color:var(--text-dim);text-align:center;opacity:.5;flex-shrink:0;min-width:1.2rem;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:700}.file-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:grab;transition:all var(--transition);-webkit-user-select:none;user-select:none;text-align:center;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .5rem .45rem;font-size:.78rem;display:flex;position:relative;overflow:hidden}.file-tile:hover{border-color:var(--border-hover);background:var(--surface-2)}.file-tile.dragging{opacity:.35;transform:scale(.95)}.file-tile.drag-over-item{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 16px var(--accent-glow)}.file-tile .tile-order{color:var(--text-dim);opacity:.5;font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:700;position:absolute;top:4px;left:6px}.file-tile .file-icon{border-radius:var(--radius-xs);letter-spacing:-.02em;flex-shrink:0;place-items:center;width:28px;height:28px;font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:700;display:grid}.file-tile .tile-text-zone{border-radius:4px;width:calc(100% + 12px);min-width:0;margin:0 -6px;padding:2px 6px}.file-tile .tile-name{white-space:nowrap;text-overflow:ellipsis;width:100%;color:var(--text);font-size:.75rem;font-weight:500;line-height:1.3;overflow:hidden}.file-tile .tile-path{width:100%;color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;text-align:left;direction:rtl;font-family:JetBrains Mono,monospace;font-size:.6rem;line-height:1.2;overflow:hidden}.file-tile .tile-meta{width:100%;color:var(--text-dim);white-space:nowrap;justify-content:space-between;font-family:JetBrains Mono,monospace;font-size:.6rem;display:flex}.file-tile .tile-remove{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-xs);opacity:0;transition:all var(--transition);background:0 0;border:none;padding:2px 4px;font-size:.7rem;line-height:1;position:absolute;top:2px;right:2px}.file-tile:hover .tile-remove{opacity:1}.file-tile .tile-remove:hover{color:var(--danger);background:var(--danger-dim)}.file-tile.grow-in{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow);animation:.45s cubic-bezier(.34,1.56,.64,1) forwards file-grow-in}.file-tile.grow-in.settled{border-color:var(--border);box-shadow:none;transition:border-color .5s,box-shadow .5s}.file-list--tree{flex-direction:column;gap:0;display:flex}.tree-dir-header{cursor:pointer;border-radius:var(--radius-xs);transition:background var(--transition);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.35rem .75rem;display:flex}.tree-dir-header:hover{background:var(--surface-2)}.tree-dir-arrow{width:14px;height:14px;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s;display:inline-flex;transform:rotate(0)}.tree-dir-arrow.open{transform:rotate(90deg)}.tree-dir-icon{color:var(--text-dim);flex-shrink:0;align-items:center;display:inline-flex}.tree-dir-name{color:var(--text-secondary);font-size:.8rem;font-weight:600}.tree-file{border-radius:var(--radius-xs);cursor:grab;transition:background var(--transition);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.3rem .75rem;font-size:.82rem;display:flex}.tree-file:hover{background:var(--surface-2)}.tree-file.dragging{opacity:.35}.tree-file.drag-over-item{background:var(--accent-dim);box-shadow:0 0 8px var(--accent-glow)}.tree-file .file-icon{letter-spacing:-.02em;border-radius:3px;flex-shrink:0;place-items:center;width:22px;height:22px;font-family:JetBrains Mono,monospace;font-size:.55rem;font-weight:700;display:grid}.tree-file-order{color:var(--text-dim);text-align:center;opacity:.5;flex-shrink:0;min-width:1.4rem;font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:700}.tree-file-order--clickable{cursor:pointer;transition:all var(--transition);opacity:.5;border-radius:3px;padding:1px 3px}.tree-file:hover .tree-file-order--clickable{opacity:1;background:var(--surface-2);color:var(--accent)}.tree-order-input{text-align:center;background:var(--surface-3);border:1px solid var(--accent);width:3ch;color:var(--accent);-moz-appearance:textfield;border-radius:3px;outline:none;flex-shrink:0;padding:1px 2px;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:700}.tree-order-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tree-order-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tree-file-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.tree-file-meta{color:var(--text-dim);white-space:nowrap;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:.65rem}.tree-file .tree-remove{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-xs);opacity:0;transition:all var(--transition);background:0 0;border:none;flex-shrink:0;padding:2px 5px;font-size:.75rem;line-height:1}.tree-file:hover .tree-remove{opacity:1}.tree-file .tree-remove:hover{color:var(--danger);background:var(--danger-dim)}.tile-tooltip{z-index:1000;background:var(--surface-3);color:var(--text);border-radius:var(--radius-xs);border:1px solid var(--border);box-shadow:var(--shadow-md);white-space:nowrap;pointer-events:none;opacity:0;text-overflow:ellipsis;max-width:90vw;padding:.35rem .65rem;font-family:JetBrains Mono,monospace;font-size:.7rem;transition:opacity .15s;position:fixed;overflow:hidden}.tile-tooltip.visible{opacity:1}.actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.75rem;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:none;align-items:center;gap:.45rem;padding:.6rem 1.25rem;font-family:Inter,sans-serif;font-size:.84rem;font-weight:600;display:inline-flex}.btn svg{flex-shrink:0}.btn-primary{background:var(--accent);color:#fff;font-weight:600}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 0 24px var(--accent-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--border-hover);background:var(--surface-3);color:var(--text)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-danger{color:var(--text-dim);border:1px solid var(--border);background:0 0}.btn-danger:hover{color:var(--danger);border-color:var(--danger-border);background:var(--danger-dim)}.btn-sm{padding:.4rem .9rem;font-size:.78rem}.actions-right{gap:.5rem;margin-left:auto;display:flex}.merge-options{flex-wrap:wrap;gap:1.75rem;margin-top:1.25rem;display:flex}.toggle-option{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition);align-items:center;gap:.6rem;font-size:.8rem;display:flex}.toggle-option:hover{color:var(--text-secondary)}.toggle-switch{flex-shrink:0;width:36px;height:20px;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{background:var(--surface-3);border:1px solid var(--border);cursor:pointer;border-radius:10px;transition:all .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--text-dim);border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;top:2px;left:2px}.toggle-switch input:checked+.toggle-slider{background:var(--accent-dim);border-color:var(--accent-border)}.toggle-switch input:checked+.toggle-slider:before{background:var(--accent);box-shadow:0 0 6px var(--accent-glow);transform:translate(16px)}.output-section{margin-top:2.5rem}.output-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.output-header h2{color:var(--text);font-size:1rem;font-weight:600}.output-meta{color:var(--text-dim);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.75rem}.output-actions{gap:.5rem;margin-bottom:.75rem;display:flex}.output-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:300px;max-height:70vh;color:var(--text);resize:vertical;tab-size:4;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.7;display:flex;overflow:auto}.output-box:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 1px var(--accent-border)}.line-numbers{text-align:right;color:var(--text-dim);opacity:.4;-webkit-user-select:none;user-select:none;white-space:pre;border-right:1px solid var(--border);flex-shrink:0;min-width:3.5rem;padding:1rem .75rem}.output-content{white-space:pre;flex:1;min-width:0;padding:1rem 1.25rem}.toast-container{z-index:999;pointer-events:none;flex-direction:column-reverse;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.toast{background:var(--surface-3);color:var(--text);border:1px solid var(--border);pointer-events:none;opacity:0;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;border-radius:100px;padding:.65rem 1.5rem;font-family:Inter,sans-serif;font-size:.82rem;font-weight:600;transition:all .35s cubic-bezier(.175,.885,.32,1.275);transform:translateY(120%)}.toast.show{opacity:1;transform:translateY(0)}.toast.success{border-color:var(--accent-border);color:var(--accent);background:#22c55e26}.toast.error{border-color:var(--danger-border);color:var(--danger);background:#ef444426}.truncation-warning{background:var(--warning-dim);border-radius:var(--radius-sm);color:var(--warning);border:1px solid #f59e0b33;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.6rem 1rem;font-size:.8rem;display:none}.truncation-warning.visible{display:flex}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;opacity:0;background:#000000b3;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-overlay.visible{opacity:1}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:420px;box-shadow:var(--shadow-lg);padding:1.75rem;transition:transform .2s;transform:scale(.96)translateY(8px)}.modal-overlay.visible .modal{transform:scale(1)translateY(0)}.modal-title{color:var(--text);margin-bottom:1rem;font-size:1.05rem;font-weight:600}.modal-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.6rem .85rem;font-family:Inter,sans-serif;font-size:.88rem}.modal-input:focus{border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-dim)}.modal-body{color:var(--text-secondary);margin-bottom:1rem;font-size:.88rem;line-height:1.6}.modal-buttons{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.modal-form-group{flex-direction:column;gap:.4rem;margin-bottom:.85rem;display:flex}.modal-form-group>label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:500}.modal-form-row{align-items:stretch;gap:.5rem;display:flex}.modal-form-row .modal-input{flex:1;margin-bottom:0}.modal-form-row-inline{align-items:flex-start;gap:.75rem;display:flex}.modal-select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);transition:border-color var(--transition);cursor:pointer;outline:none;padding:.6rem .85rem;font-family:Inter,sans-serif;font-size:.88rem}.modal-select:focus{border-color:var(--accent-border)}.empty-state{text-align:center;color:var(--text-dim);padding:2rem;font-size:.9rem}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}::-webkit-scrollbar-corner{background:0 0}.top-bar-right{align-items:center;gap:.75rem;display:flex}.theme-toggle{border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;width:32px;height:28px;color:var(--text-dim);transition:all var(--transition);background:0 0;place-items:center;display:grid}.theme-toggle:hover{border-color:var(--border-hover);color:var(--text-secondary);background:var(--surface-2)}.theme-toggle svg{transition:transform .3s}.theme-toggle:hover svg{transform:rotate(15deg)}.theme-icon-light,html.light .theme-icon-dark{display:none}html.light .theme-icon-light{display:block}html.light .modal-overlay{background:#0000004d}html.light .toast{background:var(--surface);border-color:var(--border)}html.light .toast.success{border-color:var(--accent-border);color:var(--accent);background:#16a34a1a}html.light .toast.error{border-color:var(--danger-border);color:var(--danger);background:#dc26261a}html.light .top-bar .logo{box-shadow:0 0 12px #16a34a26}html.light .output-box{background-color:var(--surface-2)}html.light .line-numbers{color:var(--text)}html.light .burst-particle{filter:brightness(.8)}html.light .custom-text-entry{--ct-color:#7c3aed;--ct-dim:#7c3aed14;--ct-border:#7c3aed4d;--ct-glow:#7c3aed26}html.light .custom-text-entry:hover{background:#7c3aed1f}html.light .custom-text-icon:hover{box-shadow:0 0 8px #7c3aed33;color:#6d28d9!important;background:#7c3aed33!important;border-color:#7c3aed80!important}html.light .btn-add-text{color:#7c3aed;background:#7c3aed14;border-color:#7c3aed4d}html.light .btn-add-text:hover{color:#6d28d9;background:#7c3aed26;border-color:#7c3aed73;box-shadow:0 0 12px #7c3aed26}.btn-add-text{background:var(--ct-dim,#a78bfa14);border:1px solid var(--ct-border,#a78bfa40);color:var(--ct-color,#a78bfa);cursor:pointer;transition:all var(--transition);border-radius:var(--radius-xs);align-items:center;gap:.35rem;margin-left:auto;padding:5px 12px;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;display:inline-flex}.btn-add-text:hover{color:#c4b5fd;background:#a78bfa26;border-color:#a78bfa66;box-shadow:0 0 12px #a78bfa26}.custom-text-entry{--ct-color:#a78bfa;--ct-dim:#a78bfa14;--ct-border:#a78bfa40;--ct-glow:#a78bfa26;border-color:var(--ct-border);background:var(--ct-dim)}.custom-text-entry:hover{border-color:var(--ct-color);background:#a78bfa1f}.custom-text-entry.drag-over-item{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 16px var(--accent-glow)}.custom-text-icon{border-radius:var(--radius-xs);cursor:pointer;width:28px;height:28px;transition:all var(--transition);flex-shrink:0;place-items:center;display:grid;background:var(--ct-dim)!important;color:var(--ct-color)!important;border:1px solid var(--ct-border)!important}.custom-text-icon:hover{transform:scale(1.1);box-shadow:0 0 8px #a78bfa33;color:#c4b5fd!important;background:#a78bfa33!important;border-color:#a78bfa80!important}.custom-text-preview{font-style:italic;color:var(--text-dim)!important}.file-tile.custom-text-entry .tile-name,.file-item.custom-text-entry .file-name{color:var(--ct-color)}.modal--large{max-width:620px;max-height:90vh;overflow-y:auto}.modal-error{color:var(--danger);background:var(--danger-dim);border:1px solid var(--danger-border);border-radius:var(--radius-xs);margin-bottom:.5rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500}.modal-textarea{resize:vertical;min-height:180px;font-family:JetBrains Mono,monospace;font-size:.82rem;line-height:1.6}.modal-toggle-option{margin-top:.25rem}.btn-github{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:all var(--transition);border-radius:var(--radius-xs);align-items:center;gap:.35rem;margin-left:.25rem;padding:5px 12px;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;display:inline-flex}.btn-github:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-hover)}.gh-status-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;padding:.4rem .65rem;font-size:.75rem;display:flex}.gh-status-info{color:var(--text-dim);align-items:center;gap:.5rem;min-width:0;display:flex}.gh-status-info svg{opacity:.6;flex-shrink:0}.gh-status-repo{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;overflow:hidden}.gh-status-branch{color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-border);white-space:nowrap;border-radius:100px;padding:1px 8px;font-family:JetBrains Mono,monospace;font-size:.68rem}.gh-status-actions{flex-shrink:0;gap:.3rem;display:flex}.gh-sync-btn{gap:.3rem}.gh-sync-btn svg{transition:transform .3s}.gh-sync-btn:hover svg{transform:rotate(90deg)}.gh-settings-btn,.gh-disconnect-btn{padding:.35rem .5rem!important}.gh-disconnect-btn:hover{color:var(--danger)!important;border-color:var(--danger-border)!important;background:var(--danger-dim)!important}.gh-branch-row{align-items:stretch;gap:.4rem;display:flex}.gh-branch-row .modal-input{flex:1}.gh-load-branches{white-space:nowrap;flex-shrink:0}.gh-branch-list{flex-wrap:wrap;gap:.3rem;max-height:120px;margin-bottom:.85rem;padding:.3rem 0;display:flex;overflow-y:auto}.gh-branch-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:100px;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:.72rem}.gh-branch-chip:hover{background:var(--surface-3);border-color:var(--border-hover);color:var(--text)}.gh-branch-chip.active{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent)}.gh-progress-modal{text-align:center;max-width:380px}.gh-progress-text{color:var(--text-secondary);margin-bottom:1rem;font-family:JetBrains Mono,monospace;font-size:.84rem}.gh-progress-bar{background:var(--surface-3);border-radius:2px;height:3px;overflow:hidden}.gh-progress-fill{background:var(--accent);border-radius:2px;height:100%;animation:1.5s ease-in-out infinite gh-progress-indeterminate}@keyframes gh-progress-indeterminate{0%{width:0;margin-left:0}50%{width:60%;margin-left:20%}to{width:0;margin-left:100%}}.gh-folder-tree{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);max-height:300px;margin-top:.4rem;padding:.35rem 0;overflow-y:auto}.gh-tree-item{-webkit-user-select:none;user-select:none}.gh-tree-item.collapsed>.gh-tree-children{display:none}.gh-tree-item.collapsed>label .gh-tree-toggle svg{transform:rotate(0)}.gh-tree-item:not(.collapsed)>label .gh-tree-toggle svg{transform:rotate(90deg)}.gh-tree-label{border-radius:var(--radius-xs);cursor:pointer;color:var(--text-secondary);transition:background var(--transition);text-transform:none;letter-spacing:normal;align-items:center;gap:.35rem;margin:0 2px;padding:3px 8px 3px 4px;font-size:.78rem;font-weight:400;display:flex}.gh-tree-label:hover{background:var(--surface-2)}.gh-tree-label--file{color:var(--text-dim)}.gh-tree-toggle{width:16px;height:16px;color:var(--text-dim);cursor:pointer;transition:color var(--transition);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gh-tree-toggle svg{transition:transform .15s}.gh-tree-toggle:hover{color:var(--text);background:var(--surface-3)}.gh-tree-spacer{flex-shrink:0;width:16px}.gh-tree-label input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;width:13px;height:13px;margin:0}.gh-tree-folder-icon{color:#e8a838;flex-shrink:0;display:inline-flex}.gh-tree-label:has(input:checked) .gh-tree-folder-icon{color:var(--accent)}.gh-tree-file-icon{letter-spacing:-.02em;border:1px solid;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:16px;font-family:JetBrains Mono,monospace;font-size:.5rem;font-weight:700;line-height:1;display:inline-flex}.gh-tree-name{white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono,monospace;font-size:.72rem;overflow:hidden}.gh-tree-label:has(input:checked) .gh-tree-name{color:var(--accent);text-decoration:line-through;-webkit-text-decoration-color:var(--accent-border);text-decoration-color:var(--accent-border)}.gh-tree-children{border-left:1px solid var(--border);margin-left:12px}.gh-load-folders{align-self:flex-start;margin-top:.25rem}.modal-hint{color:var(--text-dim);margin-top:.15rem;font-size:.72rem}.modal-textarea--sm{min-height:80px}.security-warning-body{font-size:.82rem}.security-warning-intro{color:var(--text-secondary);margin-bottom:.5rem;line-height:1.5}.security-warning-count{color:var(--warning);margin-bottom:.75rem;font-weight:600}.security-table-wrap{border:1px solid var(--border);border-radius:var(--radius-xs);max-height:340px;overflow:auto}.security-table{border-collapse:collapse;width:100%;font-family:JetBrains Mono,monospace;font-size:.78rem}.security-table th{background:var(--surface-2);color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.45rem .6rem;font-weight:600;position:sticky;top:0}.security-table td{border-bottom:1px solid var(--border-subtle);color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:160px;padding:.4rem .6rem;overflow:hidden}.security-table tr:last-child td{border-bottom:none}.security-table tr:hover td{background:var(--surface-2)}.security-table td.security-match{color:var(--danger);font-weight:500}.security-replace-cell{width:32px;text-align:center!important;padding-left:.3rem!important;padding-right:.3rem!important}.security-replace-cell input[type=checkbox]{cursor:pointer;accent-color:var(--accent)}.security-replace-hint{color:var(--text-dim);margin-top:.75rem;font-size:.78rem;font-style:italic;line-height:1.4}@media (width<=768px){.app-body{flex-direction:column}.sidebar{border-left:none;border-bottom:1px solid var(--border);order:-1;width:100%;max-height:180px;overflow-y:auto}.sidebar-footer{display:none}.main-content{padding:1.5rem 1rem 3rem}.help-page{order:2;overflow-y:auto}.help-container{flex-direction:column}.help-nav{border-right:none;border-bottom:1px solid var(--border);width:100%;padding:1rem;overflow-y:visible}.help-content-scroll{overflow-y:visible}.help-content{padding:1rem 1rem 3rem}.actions{flex-direction:column}.actions-right{margin-left:0}.output-actions{flex-wrap:wrap}.merge-options{gap:1rem}.output-header{flex-direction:column;align-items:flex-start;gap:.25rem}}.file-item.entry-inherited,.file-tile.entry-inherited,.tree-file.entry-inherited{border-left:2px solid #38bdf8}.file-item.entry-override,.file-tile.entry-override,.tree-file.entry-override{border-left:2px solid #f59e0b}.file-name-row{align-items:center;gap:6px;min-width:0;display:flex}.file-name-row .file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tile-name-row{justify-content:center;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.tile-name-row .tile-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.entry-badge{text-transform:lowercase;border-radius:8px;flex-shrink:0;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.5}.entry-badge--main{color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf84d}.entry-badge--override{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b4d}.entry-hidden{opacity:.45}.entry-hidden:hover{opacity:.7}.eye-btn{color:var(--text-dim,#888);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px 4px;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.file-item:hover .eye-btn,.file-tile:hover .eye-btn,.tree-file:hover .eye-btn,.eye-btn--off{opacity:1}.eye-btn:hover{color:var(--accent,#22c55e);background:#ffffff0f}.eye-btn--off{color:#f59e0b}.project-item--sub{margin-left:18px}.project-collapse{color:var(--text-dim,#888);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0 2px;display:inline-flex}.project-collapse svg{transition:transform .15s cubic-bezier(.4,0,.2,1)}.project-collapse.open svg{transform:rotate(90deg)}.project-sub-count{color:var(--text-dim,#888);font-size:11px}.modal-radio{cursor:pointer;align-items:center;gap:8px;margin-top:8px;display:flex}.export-project-item--sub{margin-left:18px}.export-sub-note{color:var(--text-dim);margin:4px 0 8px;font-size:11px}
