:root{color-scheme:light;--page: #f2f5f9;--surface: #ffffff;--surface-alt: #fafcfd;--border: #e8eaee;--border-soft: #edf1f5;--text: #000000;--text-muted: #616264;--accent-soft: #d7e8f8;--accent-weak: #eaf0f8;--folder: #a56b08;--folder-soft: #fff4d8}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}html{scroll-padding-bottom:250px}body{color:var(--text);background:var(--page);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}body.share-preview-open{overflow:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button,[role=button]{touch-action:manipulation}button svg,.message-line svg{flex:0 0 auto;width:18px;height:18px}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,[role=button]:focus-visible,input:focus-visible{outline:2px solid var(--text-muted);outline-offset:3px}button:not(:disabled):active{transform:translateY(1px)}.share-page{min-height:100vh;min-height:100dvh;padding-bottom:250px}.share-panel{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.share-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;height:48px;margin-bottom:16px}.share-header:before{position:absolute;inset:0 calc((100% - 100vw)/2);z-index:-1;border-bottom:1px solid var(--border);background:var(--page);content:""}.brand-lockup,.status-chip,.message-line,.primary-action,.secondary-action,.preview-download,.action-note,.field-label{display:inline-flex;align-items:center;gap:8px}.brand-lockup{min-width:0;color:var(--text-muted);font-size:15px;font-weight:500}.brand-name{overflow-wrap:anywhere}.brand-icon,.file-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.brand-icon{width:22px;height:22px}.brand-icon svg{width:22px;height:22px}.status-chip{flex:0 0 auto;justify-content:center;gap:5px;padding:4px 9px;border-radius:999px;color:var(--text-muted);background:var(--accent-soft);font-size:12px;font-weight:500}.status-chip svg{width:14px;height:14px}.status-error,.status-loading{background:var(--border-soft)}.download-form{display:flex;flex-direction:column;gap:20px}.file-summary{display:flex;align-items:center;gap:16px;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.file-icon{width:48px;height:48px;border-radius:10px;color:var(--text-muted);background:var(--accent-soft)}.file-icon svg{width:28px;height:28px}.file-icon.is-folder,.row-thumb.is-folder{color:var(--folder);background:var(--folder-soft)}.file-copy{flex:1;min-width:0}.file-copy h1{margin:0 0 4px;font-size:18px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}.file-copy p{margin:0;color:var(--text-muted);font-size:13px;overflow-wrap:anywhere}.primary-action{--accent: #165fc7;justify-content:center;flex:0 0 auto;gap:8px;min-height:44px;padding:10px 20px;border:0;border-radius:8px;color:var(--surface);background:var(--accent);font-size:14px;font-weight:500;cursor:pointer}.primary-action:not(:disabled):hover{text-decoration:underline;text-underline-offset:3px}.field{display:grid;gap:12px;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.field-label{font-size:13px;font-weight:500}.field-label svg{width:18px;height:18px;color:var(--text-muted)}.field input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface-alt);font-size:14px}.field input::placeholder{color:var(--text-muted)}.field input:focus{border-color:var(--text-muted)}.field input:disabled{opacity:.6}.directory-browser,.file-browser{min-width:0}.directory-toolbar{display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:12px}.icon-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);background:var(--surface);cursor:pointer}.icon-action:not(:disabled):hover{color:var(--text);background:var(--accent-weak)}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0;color:var(--text-muted);font-size:12px}.breadcrumb>svg{flex:0 0 auto;width:12px;height:12px}.breadcrumb button{min-width:0;max-width:100%;padding:5px 3px;border:0;border-radius:8px;color:var(--text-muted);background:transparent;text-align:left;overflow-wrap:anywhere;cursor:pointer}.breadcrumb button:last-child{color:var(--text)}.breadcrumb button:not(:disabled):hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--text-muted)}.list-heading h2{margin:0;font-size:13px;font-weight:500}.list-heading>span{font-size:12px;text-align:right}.directory-grid{display:grid;grid-template-columns:1fr;gap:8px}.directory-card{position:relative;display:flex;flex-direction:row;align-items:center;gap:12px;min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;color:var(--text-muted);background:var(--surface);cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease;scroll-margin-bottom:250px}.directory-card>.row-thumb{width:32px;height:32px}.directory-card>.row-thumb svg{width:22px;height:22px}.directory-card .row-copy{flex:1 1 auto;min-width:0}.directory-card .row-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.directory-card .row-action{flex:0 0 auto}.directory-card>svg{flex:0 0 auto;width:18px;height:18px}.directory-card .row-copy small{overflow-wrap:anywhere}.directory-list{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.directory-row{display:grid;grid-template-columns:28px minmax(0,1fr) 32px;align-items:center;gap:12px;min-height:76px;padding:12px;color:var(--text-muted)}.root-directory-row{cursor:pointer}.directory-row+.directory-row{border-top:1px solid var(--border-soft)}.directory-row>svg{justify-self:center;width:18px;height:18px}.directory-card.disabled,.directory-row.disabled{cursor:not-allowed;opacity:.6}.directory-card:not(.disabled):active,.root-directory-row:not(.disabled):active{transform:translateY(1px)}.row-thumb{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;border-radius:8px;color:var(--text-muted);background:var(--accent-soft);overflow:hidden}.row-thumb svg{width:18px;height:18px}.row-thumb.has-preview{background:var(--surface-alt)}.row-thumb img{display:block;width:100%;height:100%;object-fit:cover}.row-copy{display:grid;gap:4px;min-width:0}.row-copy strong{color:var(--text);font-size:14px;font-weight:500;overflow-wrap:anywhere}.row-copy small{color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums}.row-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;color:var(--text-muted);background:transparent;cursor:pointer}.row-action:not(:disabled):hover{color:var(--text);background:var(--accent-soft)}.directory-empty{grid-column:1/-1;display:grid;justify-items:center;gap:10px;padding:40px 20px;border:1px solid var(--border);border-radius:10px;color:var(--text-muted);background:var(--surface);font-size:13px}.directory-empty>svg{width:32px;height:32px}.inline-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.preview-prompt{color:var(--text-muted);font-size:13px}.secondary-action,.preview-download{justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface-alt);font-size:13px;font-weight:500;cursor:pointer}.secondary-action:not(:disabled):hover,.preview-download:not(:disabled):hover{background:var(--accent-soft)}.download-footer{position:fixed;z-index:20;inset:auto 0 0;border-top:1px solid var(--border);background:var(--surface);box-shadow:0 -4px 16px #00000008}.footer-inner{display:grid;gap:12px;width:100%;max-width:1180px;margin:0 auto;padding:12px 24px calc(12px + env(safe-area-inset-bottom))}.progress-block{display:grid;gap:8px}.progress-meta{display:flex;justify-content:space-between;gap:12px;color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums}.progress-meta span{overflow-wrap:anywhere}.progress-meta span:last-child{flex:0 0 auto}.progress-track{height:4px;border-radius:999px;background:var(--border-soft);overflow:hidden}.progress-fill{width:100%;height:100%;border-radius:inherit;background:var(--text-muted);transform-origin:left;transition:transform .25s ease}.message-line{align-items:flex-start;margin:0;color:var(--text);font-size:13px;overflow-wrap:anywhere}.message-line svg{margin-top:1px}.actions{display:flex;align-items:center;gap:10px}.action-note{margin-right:auto;color:var(--text-muted);font-size:12px}.action-note svg{width:14px;height:14px}.actions .primary-action{min-width:200px}.preview-modal-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#00000073}.preview-panel{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.preview-modal{width:760px;max-width:88vw;max-height:86vh;max-height:86dvh;box-shadow:0 20px 60px #00000029;overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px;padding:16px;border-bottom:1px solid var(--border)}.preview-title{display:inline-flex;align-items:center;gap:10px;min-width:0;font-size:14px;font-weight:500}.preview-title>svg{flex:0 0 auto;width:22px;height:22px;color:var(--text-muted)}.preview-title span{overflow-wrap:anywhere}.preview-content{min-height:0;padding:16px;overflow:auto}.image-preview{display:block;width:100%;max-height:60dvh;border-radius:8px;background:var(--surface-alt);object-fit:contain}.text-preview{margin:0;padding:12px;border-radius:8px;color:var(--text);background:var(--surface-alt);font:13px/1.8 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.preview-empty{display:grid;place-items:center;gap:16px;min-height:160px;padding:20px;color:var(--text-muted);font-size:13px;text-align:center}.preview-empty svg{width:32px;height:32px}.preview-download{flex-shrink:0;margin:0 16px 16px}.spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (hover: hover){.directory-row:not(.disabled):hover{background:var(--surface-alt)}.directory-card:not(.disabled):hover{border-color:var(--accent-soft);transform:translateY(-1px)}.directory-card:not(.disabled):active{transform:translateY(1px)}}@media (min-width: 600px){.field{grid-template-columns:110px minmax(0,1fr);align-items:center}}@media (max-width: 599px){.brand-lockup{gap:6px;font-size:14px}.file-summary{gap:12px;padding:20px}.summary-action{position:fixed;z-index:21;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));left:16px;width:calc(100% - 32px)}.actions{flex-direction:column;align-items:stretch;min-height:44px}.actions .primary-action{width:100%;min-width:0}.action-note{display:none}.preview-header,.preview-content{padding:12px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}.directory-card:not(.disabled):hover,button:not(:disabled):active,.directory-card:not(.disabled):active,.root-directory-row:not(.disabled):active{transform:none}}
