:root{color-scheme:light;--canvas: #f5f3ee;--surface: #fffefa;--surface-strong: #ffffff;--ink: #17211d;--muted: #6f7772;--line: rgba(23, 33, 29, .12);--green: #17352c;--green-bright: #86cda5;--danger: #bd4a36;--danger-soft: #f8e4df;--shadow: 0 18px 60px rgba(25, 38, 32, .09);--radius: 22px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:radial-gradient(circle at 100% 0%,rgba(142,208,169,.17),transparent 34rem),var(--canvas);color:var(--ink)}button,input{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid rgba(70,127,218,.7);outline-offset:3px}.app-shell{width:min(1540px,100%);margin:0 auto;padding:0 34px 120px}.topbar{min-height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-family:inherit;font-weight:700;font-size:20px;letter-spacing:-.03em}.brand-mark{width:30px;height:30px;display:grid;grid-template-columns:1.4fr .8fr;grid-template-rows:1fr 1fr;gap:3px}.brand-mark i{display:block;background:var(--green);border-radius:5px}.brand-mark i:first-child{grid-row:1 / 3;background:var(--green-bright)}.brand-mark i:nth-child(2){background:#efbe5e}.brand-mark i:nth-child(3){background:#e4775f}.topbar-actions,.toolbar-actions,.selection-actions,.dialog-buttons{display:flex;align-items:center;gap:10px}.button,.icon-button,.text-button,.sort-button,.segment{border:0;cursor:pointer;min-height:44px}.button{border-radius:13px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover{transform:translateY(-1px)}.button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.button-primary{background:var(--green);color:#fff;box-shadow:0 10px 24px #17352c29}.button-primary:hover{background:#21483c;box-shadow:0 12px 28px #17352c38}.button-quiet{background:#edeae3;color:var(--ink)}.button-danger{background:var(--danger);color:#fff}.button-danger:hover{background:#a83d2a}.icon-button{width:44px;border-radius:50%;background:transparent;display:grid;place-items:center}.icon-button:hover{background:#17352c12}.icon-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.summary{display:grid;grid-template-columns:1fr minmax(320px,430px);gap:60px;align-items:end;padding:50px 2px 38px}.eyebrow{margin:0 0 12px;color:#65716b;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.status-dot{width:8px;height:8px;margin-right:7px;display:inline-block;border-radius:50%;background:#e3a83f;box-shadow:0 0 0 4px #e3a83f26}.status-dot.live{background:#54a979;box-shadow:0 0 0 4px #54a97926}.summary h1{margin:0;font-family:inherit;font-size:clamp(38px,5vw,72px);line-height:.98;letter-spacing:-.055em;max-width:760px}.summary-copy>p:last-child{margin:22px 0 0;color:var(--muted);font-size:16px;line-height:1.55;max-width:650px}.storage-readout{padding-bottom:5px}.storage-number{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.storage-number strong{font-family:inherit;font-size:30px;letter-spacing:-.04em}.storage-number span,.storage-meta{color:var(--muted);font-size:13px}.storage-bar{height:10px;background:#17352c17;border-radius:99px;overflow:hidden}.storage-bar span{display:block;height:100%;width:72%;border-radius:inherit;background:linear-gradient(90deg,#7ac79c,var(--green));transition:width .45s ease}.storage-meta{display:flex;justify-content:space-between;margin-top:10px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.segmented{display:flex;align-items:center;gap:4px;padding:4px;border-radius:15px;background:#17352c0f}.segment{padding:0 15px;border-radius:11px;background:transparent;color:var(--muted);font-weight:600;white-space:nowrap}.segment.active{background:var(--surface-strong);color:var(--ink);box-shadow:0 3px 12px #17211d14}.count-badge{min-width:21px;height:21px;display:inline-grid;place-items:center;padding:0 6px;margin-left:5px;border-radius:10px;background:#eee2c7;color:#836419;font-size:11px}.text-button,.sort-button{background:transparent;font-weight:700;padding:0 10px}.text-button{color:#517460}.sort-button{color:var(--muted);border:1px solid var(--line);border-radius:11px;min-width:75px}.map-panel{position:relative;background:#ffffff9e;border:1px solid rgba(23,33,29,.08);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.treemap{position:relative;height:clamp(440px,56vw,690px);margin:8px;min-height:420px}.tile{position:absolute;border:3px solid rgba(255,254,250,.78);border-radius:13px;overflow:hidden;cursor:pointer;padding:0;text-align:left;color:#10221b;transition:transform .18s ease,filter .18s ease,opacity .2s ease;isolation:isolate}.tile:hover{transform:scale(.985);filter:saturate(1.08) brightness(.98);z-index:2}.tile.selected{box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 7px var(--green);z-index:3}.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(255,255,255,.18),transparent 48%,rgba(16,34,27,.06));pointer-events:none}.tile.video{background:#9fcbdf}.tile.photo{background:#c8b9df}.tile.app{background:#8ed0a9}.tile.archive{background:#f0c66f}.tile.document{background:#d4d7a2}.tile.other{background:#d6d4cd}.tile.junk{background:#e8a18f}.tile-content{position:absolute;inset:0;padding:clamp(10px,1.25vw,20px);display:flex;flex-direction:column;justify-content:flex-end;min-width:0;z-index:1}.tile-file{font-family:inherit;font-size:clamp(12px,1.35vw,20px);font-weight:700;letter-spacing:-.025em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-size{margin-top:3px;font-size:clamp(10px,.85vw,13px);font-weight:600;opacity:.65}.tile-badge{position:absolute;top:12px;left:12px;max-width:calc(100% - 24px);border-radius:99px;background:#ffffff9e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:5px 8px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-check{position:absolute;top:12px;right:12px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--green);font-weight:900;opacity:0;transform:scale(.8);transition:.18s ease;z-index:2}.tile.selected .tile-check{opacity:1;transform:scale(1)}.empty-state{min-height:420px;display:grid;place-content:center;text-align:center;padding:50px}.empty-state[hidden]{display:none}.empty-state h2{margin:12px 0 5px}.empty-state p{margin:0;color:var(--muted)}.empty-icon{width:50px;height:50px;display:grid;place-items:center;margin:auto;border-radius:50%;background:#dcefe4;color:#2f7651;font-size:24px}.legend{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;padding:18px;color:var(--muted);font-size:12px}.legend span{display:inline-flex;align-items:center;gap:7px}.legend-dot{width:9px;height:9px;border-radius:3px;background:#d6d4cd}.legend-dot.video{background:#9fcbdf}.legend-dot.photo{background:#c8b9df}.legend-dot.app{background:#8ed0a9}.legend-dot.archive{background:#f0c66f}.legend-dot.document{background:#d4d7a2}.selection-bar{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:20;width:min(640px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 13px 12px 20px;color:#fff;background:#17211df0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 22px 55px #0e191445}.selection-bar[hidden]{display:none}.selection-bar>div:first-child{display:grid}.selection-bar span{color:#ffffffa6;font-size:12px;margin-top:2px}.selection-bar .button-quiet{background:#ffffff1a;color:#fff}.dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:24px;padding:30px;color:var(--ink);background:var(--surface);box-shadow:0 30px 100px #111b164d}.dialog::backdrop{background:#0c16126b;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialog-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border:0;border-radius:50%;background:#17211d0f;font-size:26px;line-height:1;cursor:pointer}.dialog h2{margin:8px 40px 8px 0;font-family:inherit;font-size:27px;letter-spacing:-.04em;overflow-wrap:anywhere}.dialog>p{color:var(--muted);line-height:1.5}.dialog-action{width:100%;margin-top:20px}.dialog-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#dfece5;color:var(--green);font-size:24px}.dialog-icon.danger{background:var(--danger-soft);color:var(--danger)}.dialog-icon svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.file-preview{height:8px;width:86px;border-radius:99px;background:#9fcbdf;margin:2px 0 24px}.path{overflow-wrap:anywhere;font-size:13px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.detail-grid div{padding:13px;border-radius:13px;background:#efede7;min-width:0}.detail-grid dt{color:var(--muted);font-size:11px}.detail-grid dd{margin:5px 0 0;font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommendation{padding:13px 15px;border-left:3px solid #dea842;background:#f8f1df;border-radius:0 11px 11px 0;font-size:13px}.delete-list{max-height:220px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0}.delete-item{display:flex;justify-content:space-between;gap:15px;padding:11px 2px;border-bottom:1px solid var(--line);font-size:13px}.delete-item:last-child{border-bottom:0}.delete-item span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-item span:last-child{color:var(--muted);white-space:nowrap}.notice{padding:13px 15px;background:#efede7;border-radius:12px;color:var(--muted);font-size:12px;line-height:1.45}.dialog-buttons{justify-content:flex-end;margin-top:20px}.help-dialog ol{margin:24px 0;padding:0;list-style:none;display:grid;gap:16px;counter-reset:steps}.help-dialog li{counter-increment:steps;display:grid;grid-template-columns:36px 1fr;column-gap:12px;align-items:center}.help-dialog li:before{content:counter(steps);grid-row:1 / 3;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#e8e7e1;font-weight:800}.help-dialog li span{color:var(--muted);font-size:13px;margin-top:2px}.platform-note{padding-top:15px;border-top:1px solid var(--line);font-size:13px}.toast{position:fixed;z-index:50;top:20px;left:50%;transform:translate(-50%,-20px);max-width:min(440px,calc(100% - 30px));padding:12px 17px;color:#fff;background:#17211d;border-radius:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s ease;font-size:13px}.toast.show{opacity:1;transform:translate(-50%)}@media(max-width:760px){.app-shell{padding:0 14px 110px}.topbar{min-height:72px}.topbar .button{width:44px;padding:0}.topbar .button svg{margin:0}.topbar .button{font-size:0}.summary{grid-template-columns:1fr;gap:28px;padding:34px 2px 30px}.summary h1{font-size:clamp(40px,13vw,56px);max-width:360px}.summary-copy>p:last-child{margin-top:16px;font-size:14px}.storage-number strong{font-size:24px}.toolbar{align-items:flex-end}.segmented{max-width:calc(100vw - 105px);overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segment{padding:0 8px;font-size:13px}.toolbar-actions .text-button{display:none}.treemap{height:62vh;min-height:440px;margin:5px}.tile{border-width:2px;border-radius:10px}.tile-content{padding:10px}.tile-badge{top:9px;left:9px;padding:4px 6px}.legend{gap:13px;padding-inline:4px}.selection-bar{padding-left:16px}.selection-bar .button-quiet{display:none}.selection-bar .button-danger{padding:0 14px}.dialog{padding:24px 20px;border-radius:21px}.detail-grid{grid-template-columns:1fr 1fr}.detail-grid div:last-child{grid-column:1 / 3}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
