[hidden]{display:none!important}:root{--bg: #f0f2f5;--surface: #ffffff;--primary: #0969da;--primary-hover: #0860ca;--success: #1a7f37;--text: #1f2328;--muted: #57606a;--radius: 14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px}@media (prefers-color-scheme: dark){:root{--bg: #0d1117;--surface: #161b22;--primary: #58a6ff;--primary-hover: #79b8ff;--success: #3fb950;--text: #e6edf3;--muted: #8b949e}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem 1.25rem 2.5rem}.card{background:var(--surface);border-radius:var(--radius);padding:2rem 1.75rem;max-width:480px;width:100%;display:flex;flex-direction:column;align-items:center;gap:1.1rem;box-shadow:0 1px 3px #0000001a,0 6px 24px #00000012}.site-logo{width:56px;height:56px;filter:var(--logo-filter, none)}@media (prefers-color-scheme: dark){:root{--logo-filter: invert(1)}}h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.status{color:var(--muted);text-align:center;font-size:.9rem;line-height:1.45}#file-name{color:var(--muted);font-size:.82rem;word-break:break-all;text-align:center}#qr{border-radius:8px;outline:10px solid #fff}.file-label{display:inline-block;background:var(--primary);color:#fff;padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;border:none;transition:background .15s}.file-label:hover{background:var(--primary-hover)}.drive-back-btn{width:100%;text-align:center}.drop-zone{width:100%;border:2px dashed color-mix(in srgb,var(--text) 25%,transparent);border-radius:8px;padding:1.1rem;text-align:center;font-size:.85rem;color:var(--muted);cursor:default;transition:border-color .15s,background .15s;user-select:none}.drop-zone.drag-over{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary)}.file-queue{list-style:none;margin:.5rem 0 0;padding:0;width:100%;border:1px solid color-mix(in srgb,var(--text) 15%,transparent);border-radius:8px;overflow:hidden}.file-queue li{display:flex;justify-content:space-between;align-items:center;padding:.45rem .75rem;font-size:.85rem;border-bottom:1px solid color-mix(in srgb,var(--text) 10%,transparent)}.file-queue li:last-child{border-bottom:none}.file-queue li.sending{background:color-mix(in srgb,var(--primary) 8%,transparent)}.file-queue li.sent{background:color-mix(in srgb,#1a7f37 8%,transparent);color:#1a7f37}.file-queue li.failed{background:color-mix(in srgb,#cf222e 8%,transparent);color:#cf222e}.file-size{font-size:.78rem;color:var(--muted);margin-left:.5rem;white-space:nowrap}.transfer-section{width:100%;display:flex;flex-direction:column;align-items:center;gap:.6rem;padding-top:.75rem;border-top:1px solid color-mix(in srgb,var(--text) 10%,transparent)}.section-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-self:flex-start}.send-btn{background:var(--success);color:#fff;border:none;padding:.65rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;width:100%;transition:opacity .15s}.send-btn:disabled{opacity:.55;cursor:not-allowed}.dl-btn{display:block;background:var(--primary);color:#fff;padding:.65rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9rem;text-align:center;width:100%;transition:background .15s}.dl-btn:hover{background:var(--primary-hover)}.site-footer{font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:.4rem;margin-top:auto;padding-top:.25rem}.site-footer a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}.site-footer a:hover{color:var(--primary)}.footer-sep{opacity:.4;user-select:none}.git-commit{font-family:inherit;font-size:inherit;opacity:1}.home-link{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-decoration:none;color:inherit}.home-link:hover .site-logo{opacity:.8}.home-link:hover h1{color:var(--primary)}.tagline{font-size:.95rem;color:var(--muted);text-align:center;line-height:1.5}.mode-picker{width:100%;display:flex;flex-direction:column;gap:.75rem}.resume-drive-btn{width:100%;border:1px solid color-mix(in srgb,var(--primary) 28%,transparent);border-radius:10px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--text);padding:.8rem 1rem;text-align:left;font-family:inherit;font-size:.86rem;font-weight:600;cursor:pointer;margin-bottom:.8rem}.resume-drive-btn:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.mode-btn{width:100%;background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:10px;padding:.9rem 1.1rem;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:.25rem;transition:border-color .15s,background .15s}.mode-btn:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.mode-btn strong{font-size:.95rem;color:var(--text)}.mode-btn-header{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.mode-status-badge{display:inline-flex;align-items:center;padding:.14rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb,#d29922 92%,var(--text));background:color-mix(in srgb,#d29922 18%,transparent);border:1px solid color-mix(in srgb,#d29922 45%,transparent)}.mode-icon{width:28px;height:28px;object-fit:contain;flex-shrink:0;filter:var(--logo-filter, none)}.mode-btn span{font-size:.82rem;color:var(--muted);line-height:1.45}.mode-examples{margin-top:.4rem;padding-left:1.1rem;display:flex;flex-direction:column;gap:.2rem;list-style:disc}.mode-examples li{font-size:.78rem;color:var(--muted);line-height:1.4}.counter-label{font-size:.85rem;font-weight:600;color:var(--success)}.serve-notice{font-size:1rem;font-weight:700;color:var(--text);text-align:center;line-height:1.45;padding:.75rem 1rem;border-radius:8px;background:color-mix(in srgb,var(--success) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--success) 40%,transparent);width:100%}.collect-log{width:100%;display:flex;flex-direction:column}.collect-entry{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.45rem 0;border-bottom:1px solid color-mix(in srgb,var(--text) 8%,transparent);width:100%}.collect-entry:last-child{border-bottom:none}.collect-entry-name{font-size:.85rem;font-weight:500;word-break:break-all;flex:1}.collect-entry-meta{font-size:.78rem;color:var(--muted);white-space:nowrap}.debug-log{width:100%;border:1px solid color-mix(in srgb,var(--text) 15%,transparent);border-radius:8px;overflow:hidden}.debug-log summary{cursor:pointer;padding:.5rem .75rem;font-size:.78rem;font-weight:600;color:var(--muted);user-select:none;list-style:none}.debug-log summary:before{content:"▶";font-size:.6rem;margin-right:.4rem;transition:transform .15s}.debug-log[open] summary:before{transform:rotate(90deg)}.debug-log pre{margin:0;padding:.5rem .75rem .75rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.72rem;line-height:1.6;color:var(--muted);white-space:pre-wrap;word-break:break-all}.steps{padding-left:1.3rem;display:flex;flex-direction:column;gap:.45rem;font-size:.9rem;line-height:1.5;color:var(--text)}.security summary{cursor:pointer;padding:.65rem 1rem;font-size:.88rem;font-weight:600;user-select:none;list-style:none;display:flex;align-items:center;gap:.45rem}.security summary:before{content:"▶";font-size:.65rem;transition:transform .15s;color:var(--muted)}.security[open] summary:before{transform:rotate(90deg)}.security-list{list-style:none;padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.85rem}.security-list li{font-size:.85rem;line-height:1.55;color:var(--text)}.badge{display:block;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--primary);margin-bottom:.1rem}.security-list code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82em;background:color-mix(in srgb,var(--text) 8%,transparent);padding:.1em .3em;border-radius:4px}.muted{color:var(--muted)}.text-input{width:100%;padding:.5rem .75rem;border:1px solid color-mix(in srgb,var(--text) 25%,transparent);border-radius:8px;background:var(--surface);color:var(--text);font-size:.9rem;font-family:inherit}.text-input:focus{outline:2px solid var(--primary);outline-offset:0;border-color:transparent}.icon-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:.2rem .35rem;border-radius:4px;transition:background .12s;line-height:1}.icon-btn:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}.connection-banner{width:100%;padding:.45rem .75rem;border-radius:8px;font-size:.85rem;font-weight:600;text-align:center}.connection-banner--connected{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 35%,transparent)}.connection-banner--connecting{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 35%,transparent)}.connection-banner--disconnected{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted);border:1px solid color-mix(in srgb,var(--muted) 25%,transparent)}.warning-banner{width:100%;padding:.45rem .75rem;border-radius:8px;font-size:.82rem;line-height:1.45;background:color-mix(in srgb,#d29922 14%,transparent);color:color-mix(in srgb,#d29922 90%,var(--text));border:1px solid color-mix(in srgb,#d29922 40%,transparent)}.connection-route,.drive-panel-route{width:100%;font-size:.76rem;line-height:1.45}.connection-route{margin-top:-.45rem}.info-banner{width:100%;padding:.45rem .75rem;border-radius:8px;font-size:.82rem;line-height:1.45;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 35%,transparent)}.pwa-panel{width:100%;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:12px;padding:.95rem 1rem;display:flex;flex-direction:column;gap:.7rem;background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.pwa-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.pwa-panel-title{font-size:.95rem;font-weight:700;color:var(--text)}.pwa-panel-copy,.pwa-panel-note,.pwa-capability-list li{font-size:.82rem;line-height:1.5;color:var(--muted)}.pwa-capability-title{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.pwa-status-pill{flex-shrink:0;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.pwa-panel-actions{display:flex;flex-wrap:wrap;gap:.6rem}.pwa-install-btn,.pwa-secondary-btn{border:none;border-radius:8px;padding:.65rem .95rem;font-family:inherit;font-size:.84rem;font-weight:600;cursor:pointer}.pwa-install-btn{background:var(--primary);color:#fff}.pwa-install-btn:hover{background:var(--primary-hover)}.pwa-secondary-btn{background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--text)}.pwa-secondary-btn:hover{background:color-mix(in srgb,var(--text) 12%,transparent)}.pwa-capability-list{list-style:none;padding-left:0;display:flex;flex-direction:column;gap:.35rem}.pwa-capability-list li{display:flex;align-items:flex-start;gap:.45rem}.pwa-capability-status{flex-shrink:0;display:inline-flex;align-items:center;padding:.1rem .42rem;border-radius:999px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1.3}.pwa-capability-status--ok{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.pwa-capability-status--warn{background:color-mix(in srgb,#d29922 18%,transparent);color:color-mix(in srgb,#d29922 92%,var(--text))}.pwa-capability-status--info{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.pwa-capability-text{min-width:0}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.modal{background:var(--surface);border-radius:var(--radius);padding:1.5rem;max-width:360px;width:100%;display:flex;flex-direction:column;gap:1rem;box-shadow:0 8px 32px #0000002e}.modal p{font-size:.95rem;line-height:1.5}.modal-actions{display:flex;gap:.75rem}.modal-actions .send-btn,.modal-actions .file-label{flex:1;text-align:center}.copy-target-list{display:flex;flex-direction:column;gap:.5rem}.copy-target-btn{width:100%;text-align:left;border:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:8px;background:var(--surface);color:var(--text);padding:.55rem .7rem;font-size:.88rem;cursor:pointer}.copy-target-btn:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--surface))}#setup-section,#drive-section,#nickname-prompt{width:100%;display:flex;flex-direction:column;gap:.75rem}.drive-header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;width:100%}.drive-name{font-size:1.1rem;font-weight:700;flex:1;word-break:break-word}.connect-drive-btn{width:auto;padding:.5rem .8rem;font-size:.8rem}.connect-modal{max-width:420px}.connect-modal-title{font-size:1rem;font-weight:700}.connect-video{width:100%;border-radius:10px;background:#000;aspect-ratio:3 / 4;object-fit:cover}.connect-scan-status{font-size:.8rem;line-height:1.45}.perm-select{width:100%;padding:.5rem .75rem;border:1px solid color-mix(in srgb,var(--text) 25%,transparent);border-radius:8px;background:var(--surface);color:var(--text);font-size:.85rem;font-family:inherit;cursor:pointer}.storage-info{width:100%;font-size:.78rem;line-height:1.4}.storage-meter{width:100%;height:6px;border-radius:3px;background:color-mix(in srgb,var(--text) 12%,transparent);overflow:hidden}.storage-meter-fill{height:100%;width:0%;background:var(--primary);transition:width .2s ease}.storage-meter-fill--warn{background:#d29922}.storage-help{width:100%;border:1px solid color-mix(in srgb,var(--text) 15%,transparent);border-radius:8px;padding:.45rem .6rem;font-size:.78rem}.storage-help summary{cursor:pointer;color:var(--muted);font-weight:600}.storage-help p{margin-top:.45rem;line-height:1.4}.storage-help a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.import-summary{width:100%;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:8px;padding:.45rem .6rem;font-size:.78rem}.import-summary summary{cursor:pointer;color:var(--muted);font-weight:600}.import-summary-list{margin-top:.55rem;display:flex;flex-direction:column;gap:.45rem}.import-summary-row{display:flex;align-items:flex-start;gap:.45rem}.import-summary-status{flex-shrink:0;display:inline-flex;align-items:center;padding:.12rem .38rem;border-radius:999px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1.2}.import-summary-status--imported,.import-summary-status--renamed{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.import-summary-status--failed,.import-summary-status--dropped{background:color-mix(in srgb,#d29922 18%,transparent);color:color-mix(in srgb,#d29922 92%,var(--text))}.import-summary-body{min-width:0}.import-summary-title{font-size:.8rem;color:var(--text);overflow-wrap:anywhere}.import-summary-meta{font-size:.74rem;color:var(--muted);line-height:1.45}.file-table{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:fixed}.file-table th{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left;padding:.3rem .5rem;border-bottom:1px solid color-mix(in srgb,var(--text) 10%,transparent)}.file-table td{padding:.45rem .5rem;border-bottom:1px solid color-mix(in srgb,var(--text) 7%,transparent);vertical-align:middle}.file-row:last-child td{border-bottom:none}.file-table th.col-name,.file-table td.col-name{width:auto;word-break:normal;overflow-wrap:anywhere}.col-size,.col-date{white-space:nowrap;color:var(--muted);font-size:.8rem}.file-table th.col-size,.file-table td.col-size{width:5.4rem}.file-table th.col-date,.file-table td.col-date{width:7rem}.col-actions{text-align:right;white-space:nowrap}.file-table th.col-actions,.file-table td.col-actions{width:8rem}.file-table td.col-actions .icon-btn{padding:.15rem .2rem}.card:has(.qr-drive-layout){max-width:860px;align-items:flex-start}.qr-drive-layout{display:flex;gap:1.5rem;width:100%;align-items:flex-start}.qr-panel{display:flex;flex-direction:column;align-items:center;gap:.75rem;flex-shrink:0;width:280px}.qr-panel .status{text-align:center}.dev-url{font-size:.78rem;color:var(--primary);text-decoration:underline;text-underline-offset:2px;word-break:break-all;text-align:center}.perm-label{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted);cursor:pointer;user-select:none}.drive-panels{flex:1;min-width:0;display:flex;flex-direction:column;gap:1rem}.forget-drives-btn{align-self:flex-start;width:auto;padding:.45rem .8rem;font-size:.8rem}.waiting-msg{font-size:.9rem;padding:2.5rem 1rem;text-align:center;width:100%}.drive-panel{border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:10px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.75rem}.drive-panel-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.drive-panel-name{font-weight:700;font-size:.95rem}.drive-panel-badge{font-size:.75rem;font-weight:600}.badge-connected{color:var(--success)}.badge-disconnected{color:var(--muted)}.drive-panel-vtid{font-size:.72rem;margin-left:auto}.panel-refresh-btn{font-size:.95rem}.panel-refresh-btn:disabled{opacity:.4;cursor:not-allowed}.panel-status{font-size:.82rem}.drive-panel .empty-msg{font-size:.85rem;text-align:center;padding:.75rem 0}.transfer-progress{width:100%;display:flex;flex-direction:column;gap:.3rem}.transfer-progress-bar{height:4px;background:var(--primary);border-radius:2px;width:0%;transition:width .15s ease}.transfer-progress-label{font-size:.75rem;color:var(--muted)}.panel-drop-zone{width:100%;border:2px dashed color-mix(in srgb,var(--text) 20%,transparent);border-radius:8px;padding:.75rem 1rem;text-align:center;font-size:.82rem;color:var(--muted);cursor:default;transition:border-color .15s,background .15s;user-select:none}.panel-drop-zone.drag-over{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary)}.preview-modal{background:var(--surface);border-radius:var(--radius);padding:1rem 1.25rem 1.25rem;max-width:min(90vw,860px);width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 8px 32px #0000002e}.preview-close-btn{align-self:flex-end;font-size:1.1rem}@media (max-width: 680px){.qr-drive-layout{flex-direction:column;align-items:stretch}.qr-panel{width:100%}.card:has(.qr-drive-layout){align-items:center}}@media (max-width: 560px){.card{padding:1.25rem 1rem}.file-table{font-size:.8rem}.file-table th,.file-table td{padding:.35rem}.file-table th.col-date,.file-table td.col-date{display:none}.file-table th.col-size,.file-table td.col-size{width:4.6rem}.file-table th.col-actions,.file-table td.col-actions{width:6.4rem}.file-table td.col-actions .icon-btn{font-size:.9rem;padding:.1rem .12rem}}
