@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg: #12131a;--surface: #1b1d27;--surface-2: #22242f;--border: #2e313f;--amber: #e8b339;--amber-soft: rgba(232, 179, 57, .14);--teal: #4fd1a5;--teal-soft: rgba(79, 209, 165, .14);--red: #ff6b6b;--red-soft: rgba(255, 107, 107, .14);--text: #f0f1f5;--text-dim: #9195a8;--text-faint: #5b5f70;--font-display: "Space Grotesk", -apple-system, sans-serif;--font-body: "Inter", -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius-lg: 22px;--radius-md: 14px;--radius-sm: 9px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,textarea,select{font-family:inherit;color:inherit}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app-shell{height:100dvh;display:flex;flex-direction:column;max-width:560px;margin:0 auto;background:radial-gradient(1200px 600px at 50% -10%,rgba(232,179,57,.06),transparent 60%),var(--bg)}.app-topbar{padding:calc(var(--safe-top) + 14px) 20px 12px;display:flex;flex-direction:column;gap:10px;flex-shrink:0}.app-title-row{display:flex;align-items:center;gap:10px}.app-mark{width:30px;height:30px;border-radius:9px;background:var(--surface);border:1px solid var(--border);position:relative;flex-shrink:0}.app-mark:before,.app-mark:after{content:"";position:absolute;border-radius:50%}.app-mark:before{width:6px;height:6px;background:var(--amber);left:6px;bottom:6px}.app-mark:after{width:6px;height:6px;border:1.5px solid var(--teal);right:5px;top:5px}.app-title{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.01em}.app-subtitle{font-size:13px;color:var(--text-dim);margin-top:-6px}.steps{display:flex;gap:6px}.step-dot{flex:1;height:3px;border-radius:3px;background:var(--border)}.step-dot.is-active{background:var(--amber)}.step-dot.is-done{background:var(--teal)}.app-content{flex:1;overflow-y:auto;padding:4px 20px 20px;-webkit-overflow-scrolling:touch}.app-footer{flex-shrink:0;padding:12px 20px calc(var(--safe-bottom) + 14px);border-top:1px solid rgba(46,49,63,.7);color:var(--text-faint);font-size:11px;line-height:1.4;text-align:center}.app-footer-meta,.app-footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 16px}.app-footer-links{margin-top:6px}.app-footer-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:transparent;color:var(--text-dim);font:inherit;text-decoration:none;cursor:pointer}.app-footer-link:hover,.app-footer-link:focus-visible{color:var(--teal)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:#08090db8}.credits-modal,.help-modal{width:min(100%,500px);padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 20px 70px #00000059}.help-modal{max-height:min(720px,calc(100dvh - 40px));overflow-y:auto}.credits-modal{width:min(100%,440px)}.credits-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.credits-modal h2{margin:4px 0 0;font-family:var(--font-display);font-size:24px}.credits-description{color:var(--text-dim);font-size:14px;line-height:1.55;margin:20px 0 0}.credits-list{display:grid;gap:14px;margin-top:22px}.credits-list p{display:grid;gap:3px;margin:0;color:var(--text-dim);font-size:13px;line-height:1.45}.credits-list strong{color:var(--text);font-family:var(--font-display)}.help-content{display:grid;gap:18px;margin-top:20px}.help-section{border-top:1px solid var(--border);padding-top:14px}.help-section h3{font-family:var(--font-display);font-size:15px;margin:0 0 6px}.help-section p{color:var(--text-dim);font-size:13px;line-height:1.55;margin:0}.help-faq{display:grid;gap:8px}.help-faq details{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.help-faq summary{cursor:pointer;font-size:13px;font-weight:600}.help-faq details p{margin-top:8px}.history-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:13px 14px;margin-bottom:8px}.history-entry-main{min-width:0}.history-entry-repo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:13px}.history-entry-branch{color:var(--text-dim);font-size:12px;margin-top:6px}.history-entry-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;color:var(--text-faint);font-size:11.5px;margin-top:8px}.history-entry .btn{flex-shrink:0}.sticky-footer{position:sticky;bottom:0;margin:18px -20px -20px;padding:14px 20px calc(var(--safe-bottom) + 16px);background:linear-gradient(to top,var(--bg) 68%,transparent);display:flex;flex-direction:column;gap:8px}.section-label{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin:18px 0 8px}.section-label:first-child{margin-top:4px}.h1{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.01em;margin:6px 0 4px}.p-dim{color:var(--text-dim);font-size:14px;line-height:1.5}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:var(--radius-md);padding:15px 18px;font-size:15px;font-weight:600;font-family:var(--font-body);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;width:100%;transition:transform .12s ease,opacity .12s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}a.btn{text-decoration:none;box-sizing:border-box}.btn-primary{background:var(--amber);color:#1a1300}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-ghost{background:transparent;color:var(--text-dim)}.btn-danger{background:var(--red-soft);color:var(--red)}.btn-sm{width:auto;padding:9px 14px;font-size:13px;border-radius:var(--radius-sm)}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-size:13px;font-weight:600;color:var(--text-dim)}.field input,.field textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 14px;font-size:15px;font-family:var(--font-mono)}.field textarea{font-family:var(--font-body);resize:vertical;min-height:64px}.field-hint{font-size:12.5px;color:var(--text-faint);line-height:1.4}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.banner{border-radius:var(--radius-md);padding:13px 14px;font-size:13.5px;line-height:1.5;display:flex;gap:10px}.banner-error{background:var(--red-soft);color:#ffb4b4}.banner-info{background:var(--surface);color:var(--text-dim);border:1px solid var(--border)}.ticket{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-sm);padding:11px 12px;margin-bottom:8px}.ticket.is-excluded{opacity:.5}.ticket-icon{width:30px;height:30px;border-radius:8px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.ticket-body{flex:1;min-width:0}.ticket-path{font-family:var(--font-mono);font-size:12.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-meta{font-size:11.5px;color:var(--text-faint);margin-top:2px}.ticket-remove{background:none;border:none;color:var(--text-faint);font-size:18px;line-height:1;padding:6px;cursor:pointer}.ticket-remove:active{color:var(--red)}.folder-row{display:flex;align-items:center;gap:8px;padding:8px 2px;font-family:var(--font-mono);font-size:12.5px;color:var(--text-dim)}.folder-row .count{color:var(--text-faint);font-family:var(--font-body)}.empty-state{border:1px dashed var(--border);border-radius:var(--radius-lg);padding:40px 20px;text-align:center;color:var(--text-dim);margin-top:12px}.empty-state .h1{font-size:18px}.status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--border)}.status-dot.pending{background:var(--text-faint)}.status-dot.uploading{background:var(--amber);animation:pulse 1s ease-in-out infinite}.status-dot.done{background:var(--teal)}.status-dot.error{background:var(--red)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}.progress-bar{height:6px;border-radius:4px;background:var(--surface-2);overflow:hidden}.progress-bar-fill{height:100%;background:var(--amber);border-radius:4px;transition:width .25s ease}.select-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 14px;margin-bottom:8px;cursor:pointer}.select-row.is-selected{border-color:var(--amber);background:var(--amber-soft)}.select-row-title{font-family:var(--font-mono);font-size:13.5px}.select-row-sub{font-size:11.5px;color:var(--text-faint);margin-top:2px}.result-badge{width:64px;height:64px;border-radius:50%;background:var(--teal-soft);border:1px solid var(--teal);display:flex;align-items:center;justify-content:center;font-size:28px;margin:12px auto 4px}.mono-chip{font-family:var(--font-mono);font-size:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 7px;color:var(--text-dim)}.demo-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--amber);background:var(--amber-soft);border-radius:6px;padding:3px 8px;text-transform:uppercase}@media (max-width: 420px){.app-footer-meta{flex-direction:column;gap:2px}.app-footer{padding-inline:16px}.modal-backdrop{align-items:flex-end;padding:10px}.help-modal,.credits-modal{max-height:calc(100dvh - 20px);border-radius:var(--radius-md);padding:16px}.history-entry{align-items:flex-start}}
