@font-face{font-family:Fusion Pixel;src:url(./fusion-pixel-latin-CxckvAVc.woff) format("woff");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2500-25FF}@font-face{font-family:Fusion Pixel;src:url(./fusion-pixel-zh-BFDuyWYP.woff) format("woff");font-weight:400;font-display:swap;unicode-range:U+3000-303F,U+4E00-9FFF,U+FF00-FFEF}:root{--font-pixel: "Fusion Pixel", "Microsoft YaHei", monospace;--font-body: Inter, "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--max: 1180px;--ccut-red: #7c2625;--union-blue: #1d4d8f;--lapis: #3f7ad9;--lapis-2: #5b8fe8;--redstone: #c9473d;--grass: #5a9f38;--gold: #f3c33d;--diamond: #5ce1dc;--edge: 3px solid var(--ink);--edge-thin: 2px solid var(--ink);--shadow-up: inset 2px 2px 0 rgb(255 255 255 / .28), inset -3px -3px 0 rgb(0 0 0 / .38);--shadow-down: inset 3px 3px 0 rgb(0 0 0 / .34), inset -2px -2px 0 rgb(255 255 255 / .18);--radius: 0;--drop: 0 6px 0 rgb(0 0 0 / .22);font-family:var(--font-body)}:root,:root[data-theme=dark]{color-scheme:dark;--bg: #12161f;--bg-2: #181e2c;--panel: #242a38;--panel-2: #2f3648;--ink: #0b0d12;--text: #f2f3f0;--text-2: #d5d8d6;--muted: #9ea4ad;--line: rgb(255 255 255 / .09);--accent: var(--lapis-2);--accent-ink: #fff;--link: #a9c6ff;--header-bg: rgb(18 22 31 / .92);--hover: rgb(255 255 255 / .05);--selected: rgb(91 143 232 / .18);--danger-bg: rgb(201 71 61 / .16);--grid: rgb(255 255 255 / .035)}:root[data-theme=light]{color-scheme:light;--bg: #eef1f5;--bg-2: #e2e7ee;--panel: #fbfcfe;--panel-2: #eef2f7;--ink: #0f151f;--text: #171c26;--text-2: #353c49;--muted: #646c7a;--line: rgb(0 0 0 / .1);--accent: var(--union-blue);--accent-ink: #fff;--link: #1d4d8f;--header-bg: rgb(251 252 254 / .92);--hover: rgb(0 0 0 / .04);--selected: rgb(29 77 143 / .12);--danger-bg: rgb(201 71 61 / .1);--grid: rgb(0 0 0 / .045)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-width:320px;color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0 / 48px 48px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0 / 48px 48px,var(--bg)}#app{min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--link)}img{max-width:100%}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.pixel{font-family:var(--font-pixel);font-weight:400;letter-spacing:.02em}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hidden{display:none!important}.c-only{display:none}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:ui-monospace,Consolas,Cascadia Code,monospace}.nowrap{white-space:nowrap}.right{text-align:right}.center{text-align:center}.mt-1{margin-top:.6rem}.mt-2{margin-top:1.2rem}.m-0{margin:0}.card-link{text-decoration:none;color:inherit;display:block}.card-link:hover{filter:brightness(1.05)}.maxw-280{max-width:280px}.row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-header{position:sticky;top:0;z-index:100;background:var(--header-bg);border-bottom:var(--edge);box-shadow:0 4px #0000002e;backdrop-filter:blur(12px)}.nav-wrap{width:min(100% - 2rem,var(--max));min-height:64px;margin:auto;display:flex;align-items:center;gap:.6rem}.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:inherit;margin-right:.4rem}.brand-badge{width:40px;height:40px;flex:none;object-fit:contain;background:#fff;border:var(--edge-thin);box-shadow:var(--shadow-up);padding:2px}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-title{font-family:var(--font-pixel);font-size:1.05rem;letter-spacing:.04em}.brand-sub{color:var(--accent);font-size:.6rem;font-weight:800;letter-spacing:.12em}.nav-spacer{flex:1}.nav-links{display:flex;align-items:center;gap:.15rem}.nav-links a,.nav-links button{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem .75rem;border:2px solid transparent;background:none;color:inherit;text-decoration:none;font-weight:750;cursor:pointer;white-space:nowrap}.nav-links a:hover,.nav-links button:hover,.nav-links a.router-link-active{border-color:var(--ink);background:var(--panel-2)}.icon-button{border-radius:var(--radius);width:40px;height:40px;flex:none;display:inline-grid;place-items:center;background:var(--panel);border:var(--edge-thin);box-shadow:var(--shadow-up);cursor:pointer;padding:0;color:inherit}.icon-button:active{box-shadow:var(--shadow-down)}.icon-button svg{width:18px;height:18px;fill:currentColor}.theme-toggle .icon-moon{display:none}:root[data-theme=light] .theme-toggle .icon-sun{display:none}:root[data-theme=light] .theme-toggle .icon-moon{display:block}.space-switch{position:relative}.space-switch>button{border-radius:var(--radius);font-family:var(--font-pixel);font-size:.95rem;padding:.5rem .8rem;border:var(--edge-thin);background:var(--panel);box-shadow:var(--shadow-up);cursor:pointer;display:inline-flex;gap:.5rem;align-items:center;color:inherit;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.menu{border-radius:var(--radius);position:absolute;top:calc(100% + 6px);left:0;min-width:220px;z-index:50;background:var(--panel);border:var(--edge);box-shadow:0 8px #00000040;padding:.3rem}.menu.right{left:auto;right:0}.menu a,.menu button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem .7rem;border:0;background:none;color:inherit;text-decoration:none;font-weight:650;cursor:pointer;text-align:left}.menu a:hover,.menu button:hover{background:var(--panel-2)}.menu .sep{height:2px;background:var(--line);margin:.3rem 0}.menu .danger{color:var(--redstone)}.menu-empty{padding:.6rem .7rem}.user-chip{border-radius:var(--radius);display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .7rem;border:var(--edge-thin);background:var(--panel);box-shadow:var(--shadow-up);cursor:pointer;color:inherit;font-weight:750;max-width:200px}.user-chip-name{max-width:120px}.avatar{width:26px;height:26px;flex:none;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-weight:900;font-size:.8rem;border:2px solid var(--ink)}.avatar.campus{background:var(--grass)}.menu-caption{display:flex;flex-direction:column;padding:.5rem .7rem .3rem;line-height:1.3}.menu .ficon.inline{width:16px;height:16px;vertical-align:-3px}.menu .ficon.inline svg{width:16px;height:16px}.space-switch>button .ficon{width:16px;height:16px}.space-switch>button .ficon svg{width:16px;height:16px}.nav-burger{display:none}.upload-chip{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.3rem .7rem;border:var(--edge-thin);background:var(--panel);box-shadow:var(--shadow-up);cursor:pointer;color:inherit;font-weight:800;font-size:.82rem}.upload-chip svg{width:16px;height:16px;fill:var(--accent)}.upload-chip-bar{width:64px;height:8px;background:var(--bg-2);border:2px solid var(--ink);overflow:hidden}.upload-chip-bar i{display:block;height:100%;background:var(--accent);transition:width .3s linear}.announcement{margin-bottom:0}.announcement .message .ficon{color:var(--accent)}.announcement .message .icon-button{width:30px;height:30px}.page{width:min(100% - 2rem,var(--max));margin:1.2rem auto 3rem}.page-narrow{width:min(100% - 2rem,560px);margin:2.5rem auto 3rem}.page-narrow.wide{width:min(100% - 2rem,900px)}.actions-center{justify-content:center}.row.end{align-items:end}.kicker{display:inline-block;margin-bottom:.3rem;color:var(--accent);font-family:var(--font-pixel);font-size:.9rem;letter-spacing:.12em}h1.title{font-family:var(--font-pixel);font-weight:400;font-size:clamp(1.4rem,3vw,1.9rem);margin:0 0 .8rem;letter-spacing:.03em}h2.title{font-family:var(--font-pixel);font-weight:400;font-size:1.25rem;margin:1.4rem 0 .6rem}.lede{color:var(--text-2);margin:0 0 1rem}.panel{border-radius:var(--radius);background:var(--panel);border:var(--edge);box-shadow:var(--drop);padding:1rem 1.1rem}.panel+.panel{margin-top:1rem}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.page-head .title{margin-bottom:.2rem}.page-head .lede{margin-bottom:0}.title-icon{width:22px;height:22px;vertical-align:-3px;color:var(--gold)}.card-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.space-card{display:flex;flex-direction:column;transition:transform .08s ease,box-shadow .08s ease}.space-card:hover{transform:translateY(-2px);box-shadow:0 8px #00000038;filter:none}.space-card-name{font-size:1.05rem}.space-card-stats{display:flex;gap:1rem;flex-wrap:wrap;margin-top:auto;padding-top:.6rem;color:var(--muted);font-size:.82rem}.space-card-stats strong{color:var(--text);font-family:var(--font-pixel);font-weight:400;font-size:1rem}.vault-card{background:linear-gradient(135deg,var(--panel),var(--panel-2))}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.stat-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin-bottom:.6rem}.stat{border-radius:var(--radius);background:var(--panel);border:var(--edge-thin);box-shadow:0 4px #0000002e;padding:.7rem .9rem}.stat span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.04em}.stat strong{display:block;font-size:1.5rem;font-family:var(--font-pixel);font-weight:400;line-height:1.2;margin:.15rem 0}.stat strong small{font-size:.9rem}.footer{width:min(100% - 2rem,var(--max));margin:0 auto 1.5rem;color:var(--muted);font-size:.82rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:space-between;border-top:2px solid var(--line);padding-top:.8rem}.footer a{color:inherit}.button{border-radius:var(--radius);min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1rem;color:#fff;background:#4b5163;border:var(--edge);border-radius:0;box-shadow:var(--shadow-up);cursor:pointer;text-decoration:none;font-weight:850;line-height:1.2;transition:transform .08s ease,filter .12s ease;white-space:nowrap}.button:hover{filter:brightness(1.1);transform:translateY(-1px)}.button:active{transform:translateY(2px);box-shadow:var(--shadow-down)}.button:disabled{opacity:.6;cursor:default;transform:none;filter:none}.button svg{width:18px;height:18px;fill:currentColor}.button-primary{color:var(--accent-ink);background:var(--accent)}.button-grass{background:var(--grass)}.button-danger{background:var(--redstone)}.button-quiet{background:var(--panel-2);color:var(--text)}.button-small{min-height:34px;padding:.35rem .65rem;font-size:.85rem}.button-icon{padding:.35rem .5rem}.field{display:flex;flex-direction:column;gap:.3rem}.field label{font-size:.84rem;font-weight:800;color:var(--text-2)}.input,.select,.textarea{border-radius:var(--radius);width:100%;min-height:42px;padding:.5rem .7rem;background:var(--bg-2);border:var(--edge-thin);box-shadow:var(--shadow-down);color:var(--text)}.input:focus,.select:focus,.textarea:focus{outline:3px solid var(--gold);outline-offset:0}.input::placeholder{color:var(--muted);opacity:.8}.input-with-button{display:flex;gap:.4rem}.input-with-button .input{flex:1}.input-with-button .icon-button{width:42px;height:42px}.seg{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:1rem}.seg button{border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.5rem .8rem;border:var(--edge-thin);background:var(--panel-2);box-shadow:var(--shadow-up);font-weight:850;cursor:pointer;color:inherit}.seg button svg{width:16px;height:16px;fill:currentColor}.seg button[aria-selected=true]{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-down)}.strength{display:flex;gap:3px;height:6px;margin-top:.2rem}.strength i{flex:1;background:var(--bg-2);border:1px solid var(--line)}.strength[data-level="1"] i:nth-child(-n+1),.strength[data-level="2"] i:nth-child(-n+2){background:var(--redstone)}.strength[data-level="3"] i:nth-child(-n+3){background:var(--gold)}.strength[data-level="4"] i:nth-child(-n+4),.strength[data-level="5"] i:nth-child(-n+5){background:var(--grass)}.span-all{grid-column:1 / -1}.pager{display:inline-flex;align-items:center;gap:.5rem}.danger-text{color:var(--redstone)}.big-code{font-size:1.3rem}.inline-meter{display:inline-block;width:70px;vertical-align:middle}.row.tight{gap:.3rem}.textarea{min-height:90px;resize:vertical}.check{display:inline-flex;align-items:center;gap:.5rem;font-weight:650;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--accent)}.help{color:var(--muted);font-size:.82rem}.form-grid{display:grid;gap:.9rem}.form-grid.two{grid-template-columns:1fr 1fr}.form-actions{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap;margin-top:1rem}.message{border-radius:var(--radius);padding:.6rem .8rem;border:var(--edge-thin);border-left-width:8px;background:var(--panel-2);font-weight:650}.message.error{border-left-color:var(--redstone)}.message.ok{border-left-color:var(--grass)}.message.warn{border-left-color:var(--gold)}.message.info{border-left-color:var(--accent)}.tag{display:inline-block;padding:.05rem .5rem;border:2px solid var(--line);background:var(--panel-2);font-size:.74rem;font-weight:800;letter-spacing:.04em;vertical-align:middle;white-space:nowrap}.tag-accent{border-color:var(--accent);color:var(--accent)}.tag-grass{border-color:var(--grass);color:var(--grass)}.tag-gold{border-color:var(--gold);color:var(--gold)}.tag-red{border-color:var(--redstone);color:var(--redstone)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .55rem;color:#fff;background:#5b6172;border:var(--edge-thin);font-size:.76rem;font-weight:900}.badge.manager{background:var(--accent)}.badge.member{background:var(--grass)}.badge.viewer{background:#5b6172}.badge.admin{background:var(--ccut-red)}.progress{height:10px;background:var(--bg-2);border:2px solid var(--ink);overflow:hidden}.progress>i{display:block;height:100%;background:var(--accent);transition:width .2s linear}.progress.ok>i{background:var(--grass)}.progress.error>i{background:var(--redstone)}.meter{display:block;height:8px;background:var(--bg-2);border:2px solid var(--ink);overflow:hidden}.meter>i{display:block;height:100%;background:var(--grass)}.meter.warn>i{background:var(--gold)}.meter.full>i{background:var(--redstone)}.meter.quota{width:90px}.w-0{width:0}.w-5{width:5%}.w-10{width:10%}.w-15{width:15%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-35{width:35%}.w-40{width:40%}.w-45{width:45%}.w-50{width:50%}.w-55{width:55%}.w-60{width:60%}.w-65{width:65%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-85{width:85%}.w-90{width:90%}.w-95{width:95%}.w-100{width:100%}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:720px){.table-wrap .table{min-width:640px}.table-wrap .table td,.table-wrap .table th{white-space:nowrap}}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th,.table td{padding:.5rem .65rem;border-bottom:2px solid var(--line);text-align:left;vertical-align:middle}.table th{color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.table tbody tr:hover td{background:var(--hover)}.table .actions{text-align:right;white-space:nowrap}.table .actions .button{margin-left:.3rem;margin-top:.15rem}.table .actions.wrap{white-space:normal;min-width:240px}.table .actions.wrap .button{margin:.15rem 0 .15rem .3rem}.badge{white-space:nowrap}.member-chip{display:inline-flex;align-items:center;gap:.3rem;flex-wrap:nowrap;margin:.1rem .4rem .1rem 0}.member-chip .button-icon{min-height:26px;padding:.1rem .3rem}.member-chip .button-icon svg{width:12px;height:12px}.empty{padding:2.5rem 1rem;text-align:center;color:var(--muted)}.empty .pixel{font-size:1.1rem;color:var(--text-2)}.empty .button{margin-top:.6rem}.empty-icon{width:56px!important;height:56px!important;margin:0 auto .6rem;opacity:.55}.empty-icon svg{width:56px!important;height:56px!important}.browser-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.8rem}.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.1rem;font-weight:750;min-width:0}.crumbs a,.crumbs span{padding:.3rem .45rem;text-decoration:none;color:inherit}.crumbs a:hover{background:var(--panel-2)}.crumbs .sep{color:var(--muted);padding:0}.crumbs .current{color:var(--accent)}.toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.7rem}.toolbar .search{flex:1 1 200px;max-width:360px}.toolbar .search .input{min-height:40px}.select-bar{border-radius:var(--radius);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem .8rem;background:var(--selected);border:var(--edge-thin);margin-bottom:.7rem}.files{border-radius:var(--radius);background:var(--panel);border:var(--edge);box-shadow:var(--drop);min-height:240px;position:relative}.files.dragover:after{content:"松开鼠标上传到当前目录";position:absolute;inset:0;display:grid;place-items:center;background:#5b8fe840;border:3px dashed var(--accent);font-family:var(--font-pixel);font-size:1.2rem;z-index:5;pointer-events:none}.file-row{display:grid;grid-template-columns:34px minmax(0,1fr) 110px 150px 130px 44px;align-items:center;gap:.5rem;padding:.35rem .6rem;border-bottom:2px solid var(--line);cursor:default;user-select:none}.file-row.head{color:var(--muted);font-size:.76rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;background:var(--panel-2);position:sticky;top:64px;z-index:2}.file-row.head .sort{display:inline-flex;align-items:center;gap:.3rem;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;text-align:left}.file-row.head .sort:hover,.file-row.head .sort.on{color:var(--text)}.file-row.head .sort i{width:0;height:0;border:5px solid transparent}.file-row.head .sort i.asc{border-bottom-color:var(--accent);border-top:0}.file-row.head .sort i.desc{border-top-color:var(--accent);border-bottom:0}.file-row:not(.head):hover{background:var(--hover)}.file-row.selected{background:var(--selected)}.file-row:not(.head) .more{opacity:.55}.file-row:not(.head):hover .more,.file-row.selected .more{opacity:1}.ficon.big{width:34px;height:34px}.ficon.big svg{width:34px;height:34px}.ficon.inline{width:14px;height:14px;vertical-align:-2px;display:inline-block}.ficon.inline svg{width:14px;height:14px}.ficon.gold{color:var(--gold)}.vis-badge{display:inline-flex;align-items:center;gap:.25rem;flex:none;padding:0 .4rem;border:2px solid var(--line);font-size:.7rem;font-weight:800;letter-spacing:.03em;line-height:1.5;white-space:nowrap}.vis-badge svg{width:11px;height:11px;fill:currentColor}.vis-badge.public{border-color:var(--grass);color:var(--grass)}.vis-badge.private{border-color:var(--muted);color:var(--muted)}.vis-badge.confidential{border-color:var(--gold);color:var(--gold)}.vis-group{display:inline-flex;align-items:center;gap:.3rem;padding-left:.5rem;border-left:2px solid var(--line)}.vis-group.disabled{opacity:.6}.button-gold{background:#a8781c}.public-banner .ficon{color:var(--grass)}.ctx .ctx-caption{padding:.35rem .7rem .1rem;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em}.ctx button.on{background:var(--selected)}.ctx .ctx-check{margin-left:auto;color:var(--grass)}.ctx .ctx-link{display:flex;width:100%;align-items:center;gap:.6rem;padding:.5rem .7rem;color:inherit;text-decoration:none;font-weight:650}.ctx .ctx-link:hover{background:var(--panel-2)}.ctx .ctx-link svg{width:16px;height:16px;fill:currentColor}.file-row .check{justify-content:center}.file-row .name{display:flex;align-items:center;gap:.55rem;min-width:0}.file-row .name a,.file-row .name button{color:inherit;text-decoration:none;font-weight:700;background:none;border:0;padding:0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row .name a:hover,.file-row .name button:hover{text-decoration:underline}.touch-only{display:none}@media(hover:none){.no-touch{display:none}.touch-only{display:inline}.file-row .name a,.file-row .name button{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;line-height:1.35}}.file-row .sub{color:var(--muted);font-size:.78rem}.file-row .more{justify-self:end}.ficon{width:24px;height:24px;flex:none;image-rendering:pixelated}.ficon svg{width:24px;height:24px}.ficon.folder{color:var(--gold)}.ficon.image{color:var(--grass)}.ficon.video{color:var(--redstone)}.ficon.audio{color:var(--diamond)}.ficon.pdf{color:#e0564a}.ficon.doc{color:var(--lapis-2)}.ficon.sheet{color:var(--grass)}.ficon.slide{color:#e88f3d}.ficon.archive{color:#b58b4d}.ficon.code,.ficon.text{color:var(--muted)}.ficon.mc{color:var(--grass)}.ficon.file{color:var(--muted)}.ctx{border-radius:var(--radius);position:fixed;z-index:200;min-width:180px;background:var(--panel);border:var(--edge);box-shadow:0 8px #00000040;padding:.3rem}.ctx button{display:flex;width:100%;align-items:center;gap:.6rem;padding:.5rem .7rem;border:0;background:none;color:inherit;font-weight:650;cursor:pointer;text-align:left}.ctx button:hover{background:var(--panel-2)}.ctx button:disabled{opacity:.45;cursor:default}.ctx button.danger{color:var(--redstone)}.ctx button svg{width:16px;height:16px;fill:currentColor}.ctx .sep{height:2px;background:var(--line);margin:.25rem 0}.modal-backdrop{position:fixed;inset:0;z-index:300;background:#0000008c;display:grid;place-items:center;padding:1rem}.modal{border-radius:var(--radius);width:min(100%,520px);max-height:min(92vh,900px);overflow:auto;background:var(--panel);border:var(--edge);box-shadow:0 10px #0000004d}.modal.wide{width:min(100%,860px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:var(--edge-thin)}.modal-head h3{margin:0;font-family:var(--font-pixel);font-weight:400;font-size:1.1rem}.modal-body{padding:1rem}.modal-foot{display:flex;justify-content:flex-end;gap:.6rem;padding:.8rem 1rem;border-top:2px solid var(--line);flex-wrap:wrap}.toasts{position:fixed;right:1rem;bottom:1rem;z-index:500;display:flex;flex-direction:column;gap:.5rem;max-width:min(92vw,380px)}.toast{border-radius:var(--radius);padding:.6rem .9rem;background:var(--panel);border:var(--edge);border-left-width:8px;box-shadow:0 6px #00000040;font-weight:650;animation:rise .18s ease-out}.toast.ok{border-left-color:var(--grass)}.toast.error{border-left-color:var(--redstone)}.toast.warn{border-left-color:var(--gold)}.toast.info{border-left-color:var(--accent)}@keyframes rise{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.upload-panel{border-radius:var(--radius);position:fixed;right:1rem;bottom:1rem;z-index:400;width:min(92vw,420px);background:var(--panel);border:var(--edge);box-shadow:0 8px #0000004d}.upload-panel .head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .8rem;border-bottom:var(--edge-thin);font-weight:850}.upload-panel .list{max-height:46vh;overflow:auto}.upload-item{padding:.55rem .8rem;border-bottom:2px solid var(--line);display:grid;gap:.3rem}.upload-item .top{display:flex;align-items:center;gap:.5rem}.upload-item .status{color:var(--muted);font-size:.8rem;display:flex;justify-content:space-between;gap:.5rem}.upload-item .status.error{color:var(--redstone)}.upload-item .status.ok{color:var(--grass)}.upload-panel.collapsed .list{display:none}.preview{width:min(96vw,1100px);max-height:94vh;display:flex;flex-direction:column}.preview .stage{flex:1;min-height:240px;max-height:calc(94vh - 120px);display:grid;place-items:center;background:var(--bg-2);overflow:auto}.preview img,.preview video{max-width:100%;max-height:calc(94vh - 130px)}.preview iframe{width:100%;height:calc(94vh - 130px);border:0;background:#fff}.preview pre{width:100%;max-height:calc(94vh - 130px);margin:0;padding:1rem;overflow:auto;font-size:.85rem;white-space:pre-wrap;word-break:break-all}.share-hero{text-align:center;padding:1.5rem 1rem .5rem}.share-hero .ficon{width:56px;height:56px;margin:0 auto .6rem}.share-hero .ficon svg{width:56px;height:56px}.auth-card{border-radius:var(--radius);background:var(--panel);border:var(--edge);box-shadow:0 8px #00000040;padding:1.4rem 1.4rem 1.6rem}.auth-brand{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.auth-brand img{width:52px;height:52px;background:#fff;border:var(--edge-thin);box-shadow:var(--shadow-up);padding:2px}.auth-page{width:min(100% - 2rem,1040px);margin:3rem auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:2rem;align-items:stretch}.auth-side{background:linear-gradient(160deg,var(--union-blue),var(--lapis) 60%,var(--lapis-2));color:#fff;border:var(--edge);box-shadow:0 8px #00000040;padding:2rem 1.8rem;position:relative;overflow:hidden}.auth-side:after{content:"";position:absolute;inset:auto -40px -40px auto;width:220px;height:220px;background:linear-gradient(rgb(255 255 255 / .12) 2px,transparent 2px) 0 0 / 22px 22px,linear-gradient(90deg,rgb(255 255 255 / .12) 2px,transparent 2px) 0 0 / 22px 22px;transform:rotate(12deg);pointer-events:none}.auth-side .kicker{color:var(--gold)}.auth-side .title{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem)}.auth-side .lede{color:#ffffffd9}.auth-side-inner{position:relative;z-index:1;display:flex;flex-direction:column;height:100%}.auth-side-badge{width:72px;height:72px;background:#fff;border:var(--edge-thin);box-shadow:var(--shadow-up);padding:3px;margin-bottom:1.2rem}.auth-features{list-style:none;margin:auto 0 0;padding:1.2rem 0 0;display:grid;gap:.6rem;font-weight:650;font-size:.92rem}.auth-features li{display:flex;align-items:center;gap:.6rem}.auth-features svg{width:18px;height:18px;flex:none;fill:var(--gold)}.auth-side-cta{align-self:flex-start;margin-top:1.1rem;color:#fff;background:#ffffff24;border-color:#ffffffd9}.auth-side-cta:hover{background:#ffffff3d}.title-icon.grass{color:var(--grass)}.auth-main .auth-card{height:100%;display:flex;flex-direction:column}.auth-main .auth-card form{margin-top:auto}.auth-title{margin:0 0 .4rem}.tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:1rem}.tabs button{border-radius:var(--radius);padding:.5rem .9rem;border:var(--edge-thin);background:var(--panel);box-shadow:var(--shadow-up);font-weight:800;cursor:pointer;color:inherit}.tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:end;margin-bottom:.8rem}.filters .field{min-width:150px}.kv{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem}.kv dt{color:var(--muted);font-weight:800}.kv dd{margin:0}code.code{padding:.1rem .4rem;background:var(--bg-2);border:2px solid var(--line);font-size:.9em}@media(max-width:960px){.auth-page{grid-template-columns:1fr;width:min(100% - 2rem,560px);margin:1.5rem auto;gap:1rem}.auth-side{padding:1.2rem 1.2rem 1rem}.auth-side-badge{width:48px;height:48px;margin-bottom:.6rem}.auth-features{display:none}.auth-side-cta{margin-top:.6rem;min-height:36px;font-size:.85rem}.auth-side .title{font-size:1.4rem;margin-bottom:.3rem}.auth-side .lede{margin-bottom:0;font-size:.9rem}}@media(max-width:860px){.file-row{grid-template-columns:30px minmax(0,1fr) 90px 44px}.file-row .col-owner,.file-row .col-time,.file-row.head .sort.col-time{display:none}.form-grid.two{grid-template-columns:1fr}.upload-chip-text,.user-chip-name{display:none}.vault-usage{align-items:flex-start}}@media(max-width:640px){.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--panel);border-bottom:var(--edge);padding:.5rem}.nav-links.open{display:flex}.nav-burger{display:inline-grid}.brand-text{display:none}.brand{margin-right:0}.space-switch>button{font-size:.85rem;padding:.45rem .6rem;max-width:42vw}.file-row{grid-template-columns:26px minmax(0,1fr) 44px;padding:.45rem .5rem}.file-row .col-size,.file-row.head .sort.col-size{display:none}.file-row.head{top:0;position:static}.page{margin-top:.8rem}.panel{padding:.8rem}.upload-panel{right:.5rem;left:.5rem;width:auto}.toasts{left:.5rem;right:.5rem;max-width:none}.tabs button{padding:.4rem .6rem;font-size:.85rem}.table .actions .button{display:inline-block;margin:.15rem 0 .15rem .2rem}}:root[data-ui=classic]{--font-pixel: var(--font-body);--font-body: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, "Noto Sans CJK SC", system-ui, sans-serif;--max: 1280px;--radius: 8px;--edge: 1px solid var(--line);--edge-thin: 1px solid var(--line);--shadow-up: none;--shadow-down: none;--drop: 0 1px 2px rgb(16 24 40 / .05);--lapis: #2f6fed;--lapis-2: #4f82f0;--grass: #2f9e5f;--gold: #d69e2e;--redstone: #dc4c4c}:root[data-ui=classic],:root[data-ui=classic][data-theme=light]{color-scheme:light;--bg: #f4f6fa;--bg-2: #ffffff;--panel: #ffffff;--panel-2: #f7f9fc;--ink: #d0d5dd;--text: #1d2939;--text-2: #344054;--muted: #667085;--line: #e4e7ec;--accent: #2f6fed;--accent-ink: #fff;--link: #2f6fed;--header-bg: #fff;--hover: #f2f4f7;--selected: #e8f0fe;--danger-bg: #fef3f2;--grid: transparent}:root[data-ui=classic][data-theme=dark]{color-scheme:dark;--bg: #0f172a;--bg-2: #1e293b;--panel: #111c33;--panel-2: #172340;--ink: #2b3a55;--text: #e5e9f0;--text-2: #cbd5e1;--muted: #94a3b8;--line: #263248;--accent: #5b8def;--accent-ink: #fff;--link: #8fb0ff;--header-bg: #111c33;--hover: rgb(255 255 255 / .04);--selected: rgb(91 141 239 / .18);--danger-bg: rgb(220 76 76 / .16);--grid: transparent}[data-ui=classic] body{background:var(--bg);font-size:14.5px}[data-ui=classic] .pixel,[data-ui=classic] h1.title,[data-ui=classic] h2.title,[data-ui=classic] .brand-title,[data-ui=classic] .stat strong,[data-ui=classic] .modal-head h3{font-family:var(--font-body);letter-spacing:0}[data-ui=classic] h1.title{font-weight:650;font-size:1.45rem}[data-ui=classic] h2.title{font-weight:650;font-size:1.1rem;margin-top:1.6rem}[data-ui=classic] .kicker{display:none}[data-ui=classic] .lede{color:var(--muted)}[data-ui=classic] :focus-visible{outline:2px solid var(--accent);outline-offset:1px}[data-ui=classic] .button{font-weight:600;background:#fff;color:var(--text);border-color:var(--line);box-shadow:0 1px 1px #1018280d;transition:background .12s ease,border-color .12s ease}[data-ui=classic] .button:hover{transform:none;filter:none;background:var(--hover)}[data-ui=classic] .button:active{transform:none;box-shadow:none}[data-ui=classic] .button-primary{background:var(--accent);border-color:var(--accent);color:#fff}[data-ui=classic] .button-primary:hover{background:#2559c9;border-color:#2559c9}[data-ui=classic] .button-grass{background:var(--grass);border-color:var(--grass);color:#fff}[data-ui=classic] .button-danger{background:#fff;border-color:#fecdca;color:#b42318}[data-ui=classic] .button-danger:hover{background:#fef3f2}[data-ui=classic] .button-gold{background:#fffaeb;border-color:#fedf89;color:#b54708}[data-ui=classic] .button-quiet{background:#fff;color:var(--text)}[data-ui=classic][data-theme=dark] .button,[data-ui=classic][data-theme=dark] .button-quiet{background:var(--panel-2)}[data-ui=classic] .icon-button{background:#fff}[data-ui=classic][data-theme=dark] .icon-button{background:var(--panel-2)}[data-ui=classic] .input,[data-ui=classic] .select,[data-ui=classic] .textarea{background:var(--bg-2);border:1px solid #d0d5dd;box-shadow:0 1px 1px #1018280a}[data-ui=classic] .input:focus,[data-ui=classic] .select:focus,[data-ui=classic] .textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}[data-ui=classic] .field label{font-weight:600}[data-ui=classic] .tag{border-radius:999px;border-width:1px;background:var(--panel-2);font-weight:600;letter-spacing:0}[data-ui=classic] .badge{border-radius:999px;border:0;font-weight:600;padding:.12rem .6rem}[data-ui=classic] .badge.viewer{background:#667085}[data-ui=classic] .vis-badge{border-radius:999px;border-width:1px}[data-ui=classic] .avatar{border-radius:50%;border:0}[data-ui=classic] .meter,[data-ui=classic] .progress{border-radius:999px;border:0;background:var(--line)}[data-ui=classic] .meter>i,[data-ui=classic] .progress>i{border-radius:999px}[data-ui=classic] .message{border-left-width:4px;font-weight:500}[data-ui=classic] .tabs{gap:0;border-bottom:1px solid var(--line)}[data-ui=classic] .tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;box-shadow:none;color:var(--muted);padding:.6rem .9rem;margin-bottom:-1px}[data-ui=classic] .tabs button[aria-selected=true]{background:none;color:var(--accent);border-bottom-color:var(--accent)}[data-ui=classic] .seg button{background:var(--panel-2);box-shadow:none}[data-ui=classic] .seg button[aria-selected=true]{background:var(--accent);color:#fff}[data-ui=classic] .menu,[data-ui=classic] .ctx{box-shadow:0 8px 24px #1018281f;padding:.35rem}[data-ui=classic] .menu a,[data-ui=classic] .menu button,[data-ui=classic] .ctx button,[data-ui=classic] .ctx .ctx-link{border-radius:6px;font-weight:500}[data-ui=classic] .modal{box-shadow:0 20px 60px #10182833}[data-ui=classic] .toast{box-shadow:0 8px 24px #1018281f;border-left-width:4px}[data-ui=classic] .upload-panel{box-shadow:0 8px 24px #10182824}[data-ui=classic] code.code{border-width:1px;border-radius:4px}[data-ui=classic] .table th{text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:600;background:var(--panel-2)}[data-ui=classic] .table th,[data-ui=classic] .table td{border-bottom:1px solid var(--line);padding:.65rem .75rem}[data-ui=classic] .file-row{border-bottom:1px solid var(--line);padding:.5rem .75rem}[data-ui=classic] .file-row.head{text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:600;background:var(--panel-2);border-radius:var(--radius) var(--radius) 0 0;top:56px}[data-ui=classic] .file-row .name a,[data-ui=classic] .file-row .name button{font-weight:500}[data-ui=classic] .ficon.folder{color:#f2b532}[data-ui=classic] .stat span{text-transform:none;letter-spacing:0;font-weight:600}[data-ui=classic] .stat strong{font-weight:650}[data-ui=classic] .empty .pixel{font-weight:600}[data-ui=classic] .crumbs{font-weight:500}[data-ui=classic] .crumbs a{border-radius:6px}[data-ui=classic] .space-card:hover{transform:none;box-shadow:0 4px 14px #10182814}[data-ui=classic] .space-card-stats strong{font-weight:650}[data-ui=classic] .c-only{display:flex}[data-ui=classic] .auth-page{grid-template-columns:1fr;width:min(100% - 2rem,440px);margin:4rem auto}[data-ui=classic] .auth-side{display:none}[data-ui=classic] .auth-card{box-shadow:0 8px 30px #10182814;padding:1.6rem 1.6rem 1.8rem;height:auto;display:block}[data-ui=classic] .auth-main .auth-card form{margin-top:0}[data-ui=classic] .auth-brand{align-items:center;gap:.7rem;margin-bottom:1.1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}[data-ui=classic] .auth-brand img{width:44px;height:44px;border-radius:8px;border:1px solid var(--line);box-shadow:none}[data-ui=classic] .auth-title{font-size:1.2rem;margin-top:.2rem}[data-ui=classic] .strength i{border-radius:999px}.c-app{min-height:100vh;display:flex;flex-direction:column}.c-topbar{position:sticky;top:0;z-index:100;height:56px;display:flex;align-items:center;gap:.9rem;padding:0 1.1rem;background:var(--header-bg);border-bottom:1px solid var(--line)}.c-brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit}.c-brand img{width:32px;height:32px;border-radius:6px;background:#fff}.c-brand-text{display:flex;flex-direction:column;line-height:1.15}.c-brand-text strong{font-size:.95rem;font-weight:650;white-space:nowrap}.c-brand-text span{font-size:.72rem;color:var(--muted)}.c-brand-short{display:none}.c-topnav{display:flex;align-items:center;gap:.2rem}.c-topnav a{padding:.45rem .8rem;border-radius:6px;color:var(--text);text-decoration:none;font-weight:500;white-space:nowrap}.c-topnav a:hover,.c-topnav a.router-link-active{background:var(--hover)}.c-topnav a.c-login{background:var(--accent);color:#fff}.c-topnav a.c-login:hover{background:#2559c9}.c-upload{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);font-size:.85rem;cursor:pointer}.c-upload svg{width:15px;height:15px;fill:var(--accent)}.c-user{position:relative}.c-user-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .5rem .3rem .3rem;border:1px solid transparent;border-radius:999px;background:none;color:inherit;cursor:pointer;font-weight:500}.c-user-btn:hover{background:var(--hover);border-color:var(--line)}.c-user-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c-burger{display:none}.c-layout{flex:1;display:grid;grid-template-columns:236px minmax(0,1fr)}.c-layout.no-side{grid-template-columns:minmax(0,1fr)}.c-side{background:var(--panel);border-right:1px solid var(--line);padding:.8rem .6rem 1.2rem;display:flex;flex-direction:column;gap:2px;position:sticky;top:56px;height:calc(100vh - 56px);overflow:auto}.c-side a{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border-radius:8px;color:var(--text);text-decoration:none;font-weight:500;font-size:.92rem}.c-side a svg{width:16px;height:16px;flex:none;fill:var(--muted)}.c-side a:hover{background:var(--hover)}.c-side a.router-link-active{background:var(--selected);color:var(--accent);font-weight:600}.c-side a.router-link-active svg{fill:var(--accent)}.c-side .c-role{font-size:.7rem;color:var(--muted);font-weight:500}.c-side .c-group{padding:.9rem .75rem .35rem;font-size:.72rem;color:var(--muted);font-weight:600}.c-side .c-empty{padding:.3rem .75rem;color:var(--muted);font-size:.85rem}.c-side-foot{margin-top:auto;padding:1rem .75rem 0;line-height:1.5}.c-side-mask{display:none}.c-main{min-width:0;padding-bottom:2rem}[data-ui=classic] .page{margin-top:1.4rem}[data-ui=classic] .footer{display:none}[data-ui=classic] .announcement{margin-top:1rem}[data-ui=classic] .public-index .files{min-height:0}.login-modal-brand{align-items:center;gap:.7rem;margin-bottom:1rem}.login-modal-brand img{width:40px;height:40px;border-radius:8px;border:1px solid var(--line)}[data-ui=classic] .login-form .lede{margin-bottom:.8rem}[data-ui=classic] .empty:only-child:not(.panel){color:var(--muted)}[data-ui=classic] .c-main>.page.empty{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:40vh}[data-ui=classic] .c-main>.page.empty:before{content:"";width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:c-spin .8s linear infinite}@keyframes c-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.c-layout{grid-template-columns:minmax(0,1fr)}.c-burger{display:inline-grid}.c-side{position:fixed;left:0;top:56px;width:264px;transform:translate(-100%);transition:transform .18s ease;z-index:120;box-shadow:0 8px 24px #10182829}.c-side.open{transform:none}.c-side a{padding:.7rem .8rem;font-size:1rem}.c-side-mask{display:block;position:fixed;inset:56px 0 0;background:#1018284d;z-index:110}.c-brand-text span,.c-brand-long{display:none}.c-brand-short{display:inline}.c-user-name,.c-upload span{display:none}.c-topnav a{padding:.45rem .6rem}.c-topnav a.c-site{display:none}[data-ui=classic] .file-row.head{top:0;position:static}[data-ui=classic] .file-row{padding:.7rem .6rem}[data-ui=classic] .file-row .name a,[data-ui=classic] .file-row .name button{font-size:1rem}[data-ui=classic] .toolbar .button{min-height:44px}[data-ui=classic] .toolbar .button[title^=上传整个文件夹]{display:none}[data-ui=classic] .page-head{flex-direction:column;align-items:stretch}[data-ui=classic] .page-head .search{width:100%;max-width:none}[data-ui=classic] .page-head>.button{align-self:flex-start}[data-ui=classic] .modal{width:100%;max-height:100dvh;border-radius:12px 12px 0 0;align-self:end}[data-ui=classic] .modal-backdrop{padding:0;align-items:end}[data-ui=classic] .auth-page{margin:1rem auto}[data-ui=classic] .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-ui=classic] .ctx{min-width:220px}[data-ui=classic] .ctx button,[data-ui=classic] .ctx .ctx-link{padding:.7rem .8rem;font-size:1rem}[data-ui=classic] .icon-button.more{width:44px;height:44px}}@media(max-width:480px){[data-ui=classic] body{font-size:15px}.c-topbar{padding:0 .75rem;gap:.6rem}[data-ui=classic] .select-bar{gap:.35rem}[data-ui=classic] .vis-group{border-left:0;padding-left:0;width:100%}[data-ui=classic] .space-card-stats{gap:.6rem}}@media(hover:none){[data-ui=classic] .file-row:not(.head) .more{opacity:1}}
