:root{font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#18202f;background:#eef2f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{border:0}svg{width:18px;height:18px}.login-page,.public-home,.share-page{min-height:100vh;padding:24px;background:linear-gradient(135deg,rgba(13,95,132,.18),transparent 45%),linear-gradient(315deg,rgba(40,126,98,.2),transparent 42%),#edf3f7}.login-page,.share-page{display:grid;place-items:center}.public-home{display:grid;grid-template-rows:auto minmax(0,1fr)}.public-nav{display:flex;align-items:center;justify-content:space-between;gap:16px}.public-brand{padding:0}.public-login-button{min-width:112px}.login-panel,.public-download-card,.share-card{width:min(420px,100%);display:grid;gap:18px;padding:34px;border:1px solid rgba(22,32,47,.1);border-radius:8px;background:rgba(255,255,255,.92);box-shadow:0 24px 70px #19263a24}.public-download-card{place-self:center}.login-panel h1,.public-download-card h1,.share-card h1,.topbar h1{margin:0;letter-spacing:0}.login-panel p,.public-download-card p,.share-card p,.topbar p{margin:6px 0 0;color:#667085}.login-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:8px;color:#0f6b79;background:#d9f2f1}.login-panel label,.share-download-form label,.share-panel-body label,.settings-form label{display:grid;gap:8px;color:#475467;font-size:14px}.login-panel input,.share-download-form input,.share-panel-body input,.share-panel-body select,.settings-form select{width:100%;min-height:42px;border:1px solid #cfd8e3;border-radius:6px;padding:0 12px;color:#18202f;background:#fff}.login-panel button,.public-download-card button,.primary{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;color:#fff;background:#0f6b79;cursor:pointer}.public-code-input{text-align:center;font-size:28px;font-weight:800;letter-spacing:0}.login-modal{width:min(440px,100%)}.login-modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.login-modal header button{width:36px;height:36px;min-height:36px;display:grid;place-items:center;padding:0;color:#18202f;background:#f2f4f7}.share-file-list{display:flex;flex-wrap:wrap;gap:8px}.share-file-list span{max-width:100%;overflow:hidden;padding:6px 8px;border-radius:6px;color:#344054;background:#f2f4f7;text-overflow:ellipsis;white-space:nowrap}.share-download-form{display:grid;gap:14px}.login-panel button:disabled,.toolbar button:disabled{opacity:.45;cursor:not-allowed}.error-text{color:#b42318}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{--surface: #ffffff;--surface-muted: #f5f7fb;--border: #d8dee9;--text: #18202f;--muted: #667085;--accent: #0f6b79;--selected: #d9f2f1;min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr);color:var(--text);background:#eef2f7}.app-shell[data-theme=dark]{--surface: #17202c;--surface-muted: #101722;--border: #2b3646;--text: #ecf2f8;--muted: #a8b3c3;--accent: #62c5b8;--selected: rgba(98, 197, 184, .18);background:#0d131c}.app-shell[data-density=compact] .file-row{min-height:36px}.app-shell[data-density=spacious] .file-row{min-height:54px}.sidebar{min-height:100vh;display:flex;flex-direction:column;gap:8px;padding:18px 14px;color:var(--text);background:var(--surface);border-right:1px solid var(--border)}.brand{height:48px;display:flex;align-items:center;gap:10px;padding:0 10px;font-weight:700}.brand-icon{color:var(--accent)}.sidebar button,.toolbar button,.icon-button{min-height:40px;display:inline-flex;align-items:center;gap:10px;border-radius:6px;padding:0 12px;color:var(--text);background:transparent;cursor:pointer}.sidebar button:hover,.sidebar button.active,.toolbar button:hover,.icon-button:hover{background:var(--surface-muted)}.sidebar button.active{color:var(--accent);font-weight:700}.logout{margin-top:auto}.workspace,.settings-page{min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:22px;background:transparent}.workspace.dragging{outline:3px solid var(--accent);outline-offset:-8px}.workspace.moving{outline:3px solid rgba(15,107,121,.36);outline-offset:-8px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.toolbar button,.icon-button{width:40px;justify-content:center;padding:0;border:1px solid var(--border);background:var(--surface)}.notice{align-self:start;margin:0 0 12px;padding:10px 12px;border-radius:6px;color:var(--accent);background:var(--selected)}.file-area{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px}.finder{min-height:0;display:flex;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.finder-column{width:310px;min-width:310px;border-right:1px solid var(--border);overflow-y:auto}.column-title{position:sticky;top:0;z-index:1;padding:12px 14px;color:var(--muted);background:var(--surface);border-bottom:1px solid var(--border);font-size:13px;font-weight:700}.file-row{width:100%;min-height:44px;display:grid;grid-template-columns:22px minmax(0,1fr) auto 18px;align-items:center;gap:8px;padding:0 10px;color:var(--text);background:transparent;text-align:left;cursor:grab}.file-row:active{cursor:grabbing}.file-row:hover,.file-row.selected,.file-row.open,.file-row.drop-target{background:var(--selected)}.file-row.drop-target{box-shadow:inset 0 0 0 2px var(--accent)}.file-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-meta{color:var(--muted);font-size:12px}.chevron{color:var(--muted)}.empty-column{padding:18px;color:var(--muted)}.preview-aside{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.preview-aside header{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border)}.preview-aside header div{min-width:0;display:grid;gap:2px}.preview-aside header span{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.preview-aside header button{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;color:var(--text);background:var(--surface-muted);cursor:pointer}.preview-aside img,.preview-aside iframe{width:100%;height:100%;border:0;object-fit:contain;background:var(--surface-muted)}.preview-aside pre{margin:0;padding:14px;overflow:auto;color:var(--text);background:var(--surface-muted);white-space:pre-wrap}.preview-state{display:grid;place-items:center;align-content:center;gap:10px;padding:20px;color:var(--muted);text-align:center}.preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:28px;background:rgba(4,12,20,.56)}.preview-panel{width:min(960px,100%);height:min(720px,90vh);display:grid;grid-template-rows:auto minmax(0,1fr);border-radius:8px;overflow:hidden;background:var(--surface)}.share-panel{width:min(520px,100%);max-height:90vh;display:grid;grid-template-rows:auto minmax(0,1fr);border-radius:8px;overflow:hidden;background:var(--surface)}.preview-panel header,.share-panel header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}.preview-panel header button,.share-panel header button{width:36px;height:36px;display:grid;place-items:center;border-radius:6px;color:var(--text);background:transparent}.share-panel-body{display:grid;gap:16px;padding:18px;overflow:auto}.share-summary{min-width:0;display:grid;gap:4px}.share-summary span,.share-result p{color:var(--muted);font-size:13px}.share-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-result{display:grid;justify-items:stretch;gap:14px}.share-result img{width:220px;height:220px;justify-self:center;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff}.share-code{font-size:26px;font-weight:800;text-align:center;letter-spacing:0}.shares-list{display:grid;gap:12px}.share-row{position:relative;display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(220px,1.6fr) 90px 120px 40px 40px;align-items:end;gap:12px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.share-row-main{min-width:0;display:grid;gap:4px}.share-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-row-main span,.share-time{color:var(--muted);font-size:13px}.share-row label{min-width:0;display:grid;gap:6px;color:var(--muted);font-size:12px}.share-row input{min-width:0;width:100%;height:36px;border:1px solid var(--border);border-radius:6px;padding:0 10px;color:var(--text);background:var(--surface-muted)}.share-code-small{text-align:center;font-weight:800}.share-time{min-height:36px;display:inline-flex;align-items:center;gap:6px}.share-hover-trigger{position:relative}.share-hover-card{position:absolute;right:0;bottom:calc(100% + 10px);z-index:5;display:none;width:220px;justify-items:center;gap:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 18px 50px #0f172a2e}.share-hover-card img{width:180px;height:180px;padding:8px;border-radius:6px;background:#fff}.share-hover-card strong{font-size:24px;letter-spacing:0}.share-hover-trigger:hover .share-hover-card,.share-hover-trigger:focus-within .share-hover-card{display:grid}.empty-shares{padding:24px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);background:var(--surface);text-align:center}.preview-panel img,.preview-panel iframe{width:100%;height:100%;border:0;object-fit:contain;background:var(--surface-muted)}.preview-panel pre{margin:0;padding:18px;overflow:auto;color:var(--text);background:var(--surface-muted)}.settings-form{width:min(680px,100%);display:grid;gap:18px;padding:20px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.switch-row{grid-template-columns:1fr auto;align-items:center}.switch-row input{width:18px;height:18px}@media (max-width: 760px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;flex-direction:row;align-items:center;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}.brand{min-width:170px}.logout{margin-top:0;margin-left:auto}.workspace,.settings-page{padding:14px}.topbar{align-items:flex-start;flex-direction:column}.toolbar{justify-content:flex-start}.finder-column{width:82vw;min-width:82vw}.file-area{grid-template-columns:1fr}.preview-aside{min-height:320px}.share-row{grid-template-columns:1fr;align-items:stretch}.share-hover-card{right:auto;left:0}}
