:root{color-scheme:dark;--bg: rgba(8, 4, 30, .35);--card: rgba(255, 255, 255, .08);--text: #ffffff;--muted: rgba(255, 255, 255, .68);--line: rgba(255, 255, 255, .15);--accent: #6f6bff;--link: #9ec9ff;--safe: #62d884;--safe-bg: rgba(98, 216, 132, .18);--ask: #ffc457;--ask-bg: rgba(255, 196, 87, .16);--err: #ff8f86;--purple-a: #3a24a8;--purple-b: #1d1058;--purple-c: #12093a;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--text);min-height:100vh;background:radial-gradient(900px 500px at 85% -10%,rgba(120,90,255,.45),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(80,40,200,.35),transparent 60%),linear-gradient(165deg,var(--purple-a),var(--purple-b) 55%,var(--purple-c));background-attachment:fixed}.app{display:flex;flex-direction:column;height:100vh}.top{display:flex;justify-content:space-between;align-items:center;padding:36px 24px 14px;-webkit-app-region:drag}.top button{-webkit-app-region:no-drag}h1{margin:0;font-size:22px}.sub{margin:4px 0 0;color:var(--muted);font-size:13px}button{font:inherit;padding:7px 14px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer}button.primary{background:linear-gradient(180deg,#7f7bff,#5a54f0);color:#fff;border-color:#ffffff40;font-weight:600}button:disabled{opacity:.5;cursor:default}button.link{border:none;background:none;color:var(--link);padding:4px 6px;font-weight:600}.empty{padding:60px 40px;text-align:center;color:var(--muted)}.spinner{width:28px;height:28px;margin:0 auto 14px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.banner{margin:0 24px 10px;padding:10px 14px;border-radius:8px;font-size:14px}.banner.ok{background:var(--safe-bg);color:var(--safe)}.banner.error{background:var(--ask-bg);color:var(--err)}.fails{margin:6px 0 0;padding-left:18px;font-size:13px}.summary{padding:4px 24px 10px;font-size:14px}.list{flex:1;overflow-y:auto;padding:0 24px 16px}h2{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 8px}.muted{color:var(--muted);font-weight:400}.row{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:8px;border-left-width:4px}.row.safe{border-left-color:var(--safe)}.row.ask{border-left-color:var(--ask)}.rowtop{display:flex;align-items:center;gap:12px;padding:10px 12px}.rowmain{flex:1;min-width:0;cursor:pointer}.title{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.path{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.size{font-variant-numeric:tabular-nums;font-size:14px;min-width:70px;text-align:right}.badge{font-size:11px;padding:3px 8px;border-radius:999px;white-space:nowrap}.badge.safe{background:var(--safe-bg);color:var(--safe)}.badge.ask{background:var(--ask-bg);color:var(--ask)}.detail{padding:0 14px 12px 40px;font-size:13px;line-height:1.45}.detail p{margin:6px 0}.actions{display:flex;gap:8px;margin-top:8px}.bar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;border-top:1px solid var(--line);background:var(--card)}.brand{display:flex;align-items:center;gap:14px}.brand svg{flex:none;filter:drop-shadow(0 2px 6px rgba(10,108,255,.25))}.topbtns{display:flex;gap:8px}.tabs{display:flex;gap:8px;padding:4px 24px 0;border-bottom:1px solid var(--line)}.tab{display:flex;align-items:center;gap:8px;border:none;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;background:none;padding:9px 14px;color:var(--muted);font-weight:600}.tab.on.safe{color:var(--safe);border-bottom-color:var(--safe);background:var(--safe-bg)}.tab.on.ask{color:var(--ask);border-bottom-color:var(--ask);background:var(--ask-bg)}.tab .count{font-size:12px;padding:1px 7px;border-radius:999px;background:var(--line);color:var(--text)}.tab .tabsize{font-size:12px;font-weight:400;color:var(--muted)}.tabintro{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 24px 4px;font-size:13px;color:var(--muted)}.banner.warn{background:var(--ask-bg);color:var(--ask)}.row.busy{opacity:.8}.badge.busy{background:var(--ask-bg);color:var(--err);font-size:11px;padding:3px 8px;border-radius:999px;white-space:nowrap}.inuse{color:var(--err);font-weight:600}.preview{margin:10px 0 4px}.pimg{max-width:100%;max-height:300px;border-radius:8px;border:1px solid var(--line);display:block;background:var(--bg)}.ptext{margin:0;padding:10px;max-height:200px;overflow:auto;font-size:12px;line-height:1.4;background:var(--bg);border:1px solid var(--line);border-radius:8px;white-space:pre-wrap;word-break:break-all}.plist{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12px}.prow{display:flex;justify-content:space-between;gap:12px;padding:2px 0}.pname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trashbar{margin:0 24px 10px;padding:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:10px}.trashrow{display:flex;align-items:center;gap:10px;font-size:13px}.trashtext{flex:1}.trashmsg{margin-top:4px;font-size:12px}button.danger{background:#d6455d;border-color:#ffffff40;color:#fff;font-weight:600}.modes{display:flex;gap:6px;padding:0 24px 10px}.mode{border-radius:999px;padding:6px 16px;font-weight:600;color:var(--muted)}.mode.on{background:#fff3;border-color:#ffffff59;color:#fff}.tidy{flex:1;display:flex;flex-direction:column;min-height:0}.tidyintro{padding:0 24px 10px;font-size:14px;color:var(--muted)}.tidybtns{display:flex;gap:8px;padding:0 24px 10px}.group{background:var(--card);border:1px solid var(--line);border-left:4px solid #8a86ff;border-radius:10px;margin-bottom:8px}.gtitle{font-size:14px;font-weight:600}.gfiles{margin:6px 0 0;list-style:none;font-size:12px;max-height:160px;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 10px}.gfiles li{display:flex;justify-content:space-between;gap:12px;padding:1px 0}.beforeafter{display:flex;align-items:stretch;gap:10px;margin:8px 0}.ba{flex:1;min-width:0}.ba.arrow{flex:none;align-self:center;font-size:22px;color:var(--muted)}.batitle{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.tree{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.6;overflow:hidden}.tree div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t1{padding-left:16px}.t2{padding-left:32px}.dash{flex:1;overflow-y:auto;padding:0 24px 24px;display:flex;flex-direction:column;gap:12px}.glass{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 6px 24px #0a003240;backdrop-filter:blur(8px)}button.tile,.tile{text-align:left;display:flex;flex-direction:column;gap:6px;color:var(--text)}button.tile:hover{border-color:#fff6}.tilehead{display:flex;align-items:center;gap:8px;font-size:16px}.tr{margin-left:auto;font-size:14px}.tilefoot{margin-top:auto;display:flex;justify-content:flex-end;align-items:center;gap:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hero{display:flex;justify-content:space-between;align-items:center}.herotitle{margin:0;font-size:26px;text-transform:none;letter-spacing:0;color:var(--text)}.level.good{color:#8ff0e0}.level.okay{color:var(--ask)}.level.care{color:var(--err)}.reason{font-size:13px;color:var(--muted);margin-top:4px}.heroicon{width:64px;height:64px;filter:drop-shadow(0 6px 14px rgba(150,140,255,.5))}.cardrow{display:flex;justify-content:space-between;align-items:center;gap:12px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}.chip{font-size:13px;padding:4px 10px;border-radius:999px;background:#ffffff1a}.chip.yes{background:var(--safe-bg);color:var(--safe)}.chip.no{background:#ff8f862e;color:var(--err)}.tiny{font-size:12px}.okText{color:var(--ask)}.warnText{color:var(--err)}.bar2{height:8px;border-radius:999px;background:#ffffff24;overflow:hidden}.bar2 i{display:block;height:100%;background:linear-gradient(90deg,#8f8bff,#62d8f0);border-radius:999px}.bar2 i.hot{background:linear-gradient(90deg,#ffc457,#ff6f6f)}.devrow{display:flex;align-items:center;gap:10px}.devrow span:first-child{flex:1}.recohead{margin:8px 0 0;font-size:20px;color:var(--muted)}.reco{display:flex;align-items:center;gap:14px}.recoicon{font-size:34px}.recotext{flex:1}.crumbs{display:flex;align-items:center;gap:8px;padding-top:4px}.diskhero{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.donut{width:260px;height:260px;flex:none;filter:drop-shadow(0 0 18px rgba(130,120,255,.35))}.donutnum{font-size:36px;font-weight:700;fill:#ffd25e}.donutunit{font-size:16px;font-weight:600}.donutsub{font-size:14px;fill:#fffc}.legend{flex:1;min-width:220px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.lg{display:flex;align-items:center;gap:12px}.lg i{width:16px;height:16px;border-radius:50%;flex:none}.dlist{display:flex;flex-direction:column;margin:8px 0}.drow{display:flex;align-items:center;gap:12px;padding:7px 4px;border-bottom:1px solid var(--line)}.drow.dir{cursor:pointer}.drow.dir:hover{background:#ffffff0f}.dname{flex:0 0 38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbar{flex:1;height:8px;border-radius:999px;background:#ffffff1a;overflow:hidden}.dbar i{display:block;height:100%;background:#ededf7;border-radius:999px}.dsize{min-width:70px;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:760px){.grid2{grid-template-columns:1fr}}.tile .link{color:var(--link);font-weight:600}.libsec{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.libtools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.libtools select{padding:4px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#ffffff1f;color:inherit}.liblist{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:2px}.librow{display:flex;align-items:center;gap:10px;padding:5px 4px;border-radius:8px;cursor:pointer}.librow:hover{background:#ffffff14}.libname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.updres{display:flex;flex-direction:column;gap:6px}
