/* Values inside the shelf are native Swift points; only the whole panel scales. */
.files-stage{position:relative;width:100%;height:100%;overflow:hidden;container-type:inline-size;background:#ebe1fa;color:#fff;--files-scale:1;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif}
.files-stage .wallpaper{pointer-events:none}
.files-stage .mac-menubar{position:relative;z-index:1}
.files-desktop{position:absolute;z-index:2;left:5%;top:22%;width:22%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5cqw 1cqw}
.files-desktop-item{text-align:center;transition:opacity .2s;min-width:0}
.files-desktop-item img{width:4.2cqw;height:4.8cqw;object-fit:contain;filter:drop-shadow(0 2px 2px #0003)}
.files-desktop-item span{display:block;font-size:.85cqw;line-height:1.35;text-shadow:0 1px 3px #0005;color:#34303d;margin-top:.4cqw;white-space:nowrap}
.files-desktop-item.is-selected img{outline:2px solid #6587ff70;background:#6587ff20;border-radius:4px}
.files-notch{position:absolute;z-index:6;left:50%;top:0;width:553px;height:214px;transform:translateX(-50%) scale(var(--files-scale));transform-origin:50% 0;pointer-events:none;color:#fff;--files-reveal:0}
.files-native-chrome{position:absolute;inset:0;background:linear-gradient(#000 0 38px,#000b 70px,#0008 100%);backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35);clip-path:var(--files-shape)}
.files-native-header{position:absolute;top:0;left:37.5px;right:37.5px;height:32px;display:flex;align-items:center;opacity:var(--files-content);transition:opacity .12s;gap:0}
.files-native-tabs{display:flex;align-items:center;gap:10px;width:140px}
.files-native-header button{border:0;padding:0;flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;background:transparent;color:#fff;border-radius:50%;cursor:pointer}
.files-native-header button img{width:13px;height:13px;object-fit:contain}
.files-native-header .files-logo-tab img{width:22px;height:22px;filter:grayscale(1) brightness(1.35)}
.files-native-header .files-selected-tab{background:#ffffff1f}
.files-notch-gap{width:198px;flex-shrink:0}
.files-native-header .files-settings{margin-left:auto;background:#ffffff1a}
.files-native-body{position:absolute;top:42px;left:21.5px;right:21.5px;height:172px;padding:0 16px 12px;box-sizing:border-box;opacity:var(--files-content);transform:translateY(calc((1 - var(--files-content))*-10px)) scaleY(calc(.97 + var(--files-content)*.03));transform-origin:50% 0;transition:opacity .12s}
.files-drop-target{height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed #0785ff;border-radius:14px;background:#0785ff26;box-sizing:border-box}
.files-drop-target>img{width:27px;height:27px;object-fit:contain;margin-bottom:0}
.files-drop-target strong{font-size:13px;font-weight:600}
.files-drop-target span{font-size:11px;color:#ffffff8c}
.files-saved{height:100%;display:flex;flex-direction:column;gap:8px}
.files-shelf{overflow-x:auto;overflow-y:hidden;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#ffffff50 transparent;outline-offset:2px;touch-action:pan-x}
.files-shelf-track{display:flex;gap:12px;padding:0 4px;width:max-content;height:100%;align-items:center}
.files-tile{flex:0 0 100px;width:100px;display:flex;flex-direction:column;gap:8px;text-align:center;cursor:grab;user-select:none}
.files-tile-image{width:100px;height:90px;display:grid;place-items:center;background:#ffffff0f;border-radius:12px}
.files-tile img{width:76px;height:76px;object-fit:contain}
.files-tile span{font-size:11px;font-weight:500;line-height:15px;height:30px;overflow:hidden;overflow-wrap:anywhere}
.files-native-hint{font-size:10px;color:#ffffff8c;text-align:center;line-height:12px;white-space:nowrap}
.files-stage.is-open .files-notch{pointer-events:auto}
.files-stage.is-open .files-collapsed-notch{pointer-events:none}
.files-collapsed-notch{position:absolute;z-index:7;left:50%;top:0;border:0;padding:0;width:12.5%;aspect-ratio:180/32;transform:translateX(-50%);border-radius:0 0 11px 11px;background:#000;display:grid;place-items:center;cursor:pointer;transition:opacity .15s}
.files-collapsed-notch img{width:12.22%;height:auto;filter:grayscale(1) brightness(1.35)}
.files-cursor{position:absolute;z-index:10;pointer-events:none;width:1.6cqw;filter:drop-shadow(0 2px 2px #0003)}
.files-cursor svg{display:block;width:100%;height:auto}
.files-drag-ghost{position:absolute;z-index:9;pointer-events:none;width:5.8cqw;height:7cqw;transform:translate(8px,8px);filter:drop-shadow(0 4px 5px #0004)}
.files-drag-ghost img{position:absolute;width:4.8cqw;height:5.1cqw;object-fit:contain;top:0;left:0}
.files-drag-ghost img:nth-child(2){left:.8cqw;top:.7cqw;transform:rotate(8deg)}
.files-drag-ghost img:nth-child(3){left:1.5cqw;top:1.2cqw;transform:rotate(16deg)}
.files-drag-ghost span{position:absolute;bottom:0;left:0;white-space:nowrap;font-size:.8cqw;line-height:1.5;color:#fff;background:#3b3648b0;padding:0 .4cqw;border-radius:4px}
.files-workspace{position:absolute;z-index:3;top:32%;left:37%;width:46%;border:1px solid #ffffff80;border-radius:1.3cqw;background:#faf9fe;box-shadow:0 1.5cqw 5cqw #49355c25;color:#302e3c;opacity:0;transform:translateY(1cqw);transition:opacity .3s,transform .3s}
.files-stage.has-workspace .files-workspace{opacity:1;transform:none}
.files-window-bar{height:3.5cqw;padding:0 1.5cqw;display:flex;align-items:center;justify-content:space-between;font-size:.8cqw;background:#f3f0f7;border-bottom:1px solid #dfd9e7;border-radius:inherit}
.files-window-bar .dots{display:flex;gap:.45cqw}.files-window-bar .dots i{width:.75cqw;height:.75cqw;border-radius:50%}
.files-window-bar .dots i:nth-child(1){background:#ff6059}.files-window-bar .dots i:nth-child(2){background:#ffbe2f}.files-window-bar .dots i:nth-child(3){background:#28ca42}
.files-workspace-body{padding:2.5cqw;text-align:center}.files-project-icon{display:inline-grid;place-items:center;width:3cqw;height:3cqw;background:#e7def8;color:#78618e;border-radius:.7cqw;font-size:2cqw}
.files-workspace h3{font-size:2cqw;line-height:1.3;margin:1cqw 0 .5cqw;letter-spacing:-.05cqw}.files-workspace p{font-size:1cqw;color:#8b8595;margin:0 0 1.6cqw}
.files-workspace-drop{height:8.5cqw;border:1px dashed #c8bdde;border-radius:.9cqw;display:grid;place-items:center;background:#f0ebf833;font-size:1cqw;color:#91819f;transition:background .2s,border-color .2s}
.files-stage.is-delivering .files-workspace-drop{border-color:#9a76d1;background:#dcd0f855}
.files-delivered{display:none;align-items:center;gap:1cqw;text-align:left;width:100%;padding:1.3cqw;box-sizing:border-box;color:#34303d}.files-delivered img{width:7cqw;height:6cqw;object-fit:contain;border-radius:.5cqw}.files-delivered strong{font-size:1.1cqw}.files-delivered small{margin-left:auto;font-size:.9cqw;color:#458866}
.files-stage.is-delivered .files-workspace-drop>span{display:none}.files-stage.is-delivered .files-delivered{display:flex}
.files-stage .files-caption{color:#51465e;bottom:7%;max-width:40%;font-size:1cqw}.files-stage .files-caption p{font-size:1.15cqw;line-height:1.5;max-width:22em}
html[data-theme=dark] .files-stage{background:#252b39}.files-stage .wallpaper{inset:0}
html[data-theme=dark] .files-desktop-item span,html[data-theme=dark] .files-stage .files-caption{color:#e2d9ee}
@media(max-width:560px){.carousel-controls{gap:5px;flex-wrap:wrap}.carousel-controls button{padding:8px 9px}.carousel-controls button span{margin-left:3px}.files-stage .files-caption{display:block!important;bottom:11%;left:5%;max-width:45%}.files-stage .files-caption p{font-size:1.4cqw}.files-stage .files-caption>span{font-size:1.2cqw}}
@media(prefers-reduced-motion:reduce){.files-native-header,.files-native-body,.files-collapsed-notch,.files-workspace{transition:none}.files-cursor,.files-drag-ghost{display:none}}

.files-stage [hidden]{display:none!important}

.files-shelf-track{position:relative}.files-insertion{position:static;flex:0 0 100px;width:100px;align-self:center;text-align:center;font-size:11px;color:#fff}.files-insertion div{height:90px;border:1px dashed #0785ff;border-radius:12px;background:#0785ff26;display:grid;place-items:center;font-size:24px;color:#0785ff;box-sizing:border-box}.files-insertion span{display:block;margin-top:8px;height:30px;font-weight:500}
@media(prefers-reduced-motion:reduce){.files-tile{transition:none}}

/* One persistent logo and chrome, including the collapsed state. */
.files-native-header .files-logo-tab img,.files-collapsed-notch img{visibility:hidden}
.files-collapsed-notch{width:12.9776%;background:transparent;border-radius:0;transition:none}

/* Match native control sizes and file cells; keep Settings at the trailing edge. */
.files-native-tabs{margin-left:auto;width:auto;gap:10px}
.files-native-header .files-logo-tab{margin-right:auto}
.files-native-header button{background:#ffffff14;box-shadow:inset 0 0 0 .8px #ffffff29}
.files-native-header .files-logo-tab,.files-native-header .files-clear{background:transparent;box-shadow:none}
.files-native-header .files-selected-tab{background:#ffffff2e}
.files-native-header button:hover{background:#ffffff30}
.files-native-header button:disabled{opacity:.35;cursor:default}
.files-native-header button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.files-native-header .files-settings{margin-left:0}
.files-desktop{left:auto;right:5%;width:15%;top:22%;gap:2cqw 1.5cqw}
.files-workspace{left:10%;width:53%}

/* FileShelfTile selection and AppKit's 76-point dragging frame. */
.files-tile-image{transition:background .12s ease-out,box-shadow .12s ease-out}
.files-tile.is-selected .files-tile-image,.files-tile:hover .files-tile-image{background:#0785ff38;box-shadow:inset 0 0 0 1.5px #0785ffd9}
.files-drag-ghost.is-exporting{width:calc(76px * var(--files-scale));height:calc(76px * var(--files-scale));transform:translate(-50%,-50%)}
.files-drag-ghost.is-exporting img{width:100%;height:100%;left:0;top:0}
.files-drag-ghost.is-exporting span{display:none}
.files-drop-target{transition:background .15s ease-in-out,border-color .15s ease-in-out}
@media(prefers-reduced-motion:reduce){.files-tile-image,.files-drop-target{transition:none}}
