:root{--sidebar-width: 340px;--dock-height: 220px;--dock-footer-height: 4px;--layout-gap: 0;--bg: #1a1a1a;--dot: #262626;--surface: #242424;--surface-muted: #2e2e2e;--panel: #1f1f1f;--panel-2: #2e2e2e;--text: #e8e8e8;--muted: #a8a8a8;--border: #404040;--border-strong: #5c5c5c;--focus: #8a8a8a;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}html.pwa-installed{min-height:calc(100% + var(--safe-top));min-height:calc(100dvh + var(--safe-top))}html.pwa-installed body{min-height:inherit;margin:0}body{margin:0;height:100vh;overflow:hidden;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at 1px 1px,var(--dot) 1.2px,transparent 0) 0 0 / 16px 16px,var(--bg)}.shell{display:grid;grid-template-columns:minmax(0,1fr) var(--sidebar-width);width:100vw;max-width:100vw;min-width:0;height:100vh;overflow:hidden}.main-column{position:relative;min-width:0;min-height:0;overflow:hidden}@media(max-width:1080px){body{height:auto;min-height:100vh;overflow:auto}.shell{display:flex;flex-direction:column;width:min(1500px,96vw);max-width:100vw;min-width:0;height:auto;margin:0 auto;gap:12px;overflow-x:hidden}.main-column{display:flex;flex-direction:column;gap:12px;overflow:visible}}.workspace{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;padding-bottom:var(--dock-footer-height)}.status-strip{position:absolute;top:8px;left:8px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px;max-width:calc(100% - 16px);padding:4px 8px;font-size:13px;color:var(--muted);background:#181818b8;pointer-events:none}.status-strip #status-label{color:var(--text)}#load-progress{width:140px;max-width:min(220px,40vw);height:6px;accent-color:var(--focus)}#load-progress[hidden]{display:none!important}.error-banner{border:1px solid #c2484a;background:#3f1f23;color:#ffd9dc;border-radius:8px;padding:8px 10px;display:none}.error-banner.visible{display:block;position:fixed;top:8px;left:8px;right:8px;z-index:100}.requirements-warning{border:1px solid #9a7b3a;background:#3a3020;color:#ffe9c0;border-radius:8px;padding:8px 10px;display:none;font-size:14px;line-height:1.45}.requirements-warning.visible{display:block;position:fixed;top:8px;left:8px;right:8px;z-index:100}.onboarding-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#000000b8}.onboarding-panel{width:min(520px,100%);max-height:min(90vh,720px);overflow:auto;border:1px solid var(--border-strong);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 18px 48px #00000073}.onboarding-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 0}.onboarding-panel-header h2{margin:0;font-size:20px;font-weight:600}.onboarding-panel-body{padding:12px 18px 18px;font-size:15px;line-height:1.55;color:var(--muted)}.onboarding-panel-body p{margin:0 0 12px}.onboarding-panel-body h3{margin:18px 0 8px;font-size:14px;font-weight:600;color:var(--text)}.onboarding-panel-body ul{margin:0 0 12px;padding-left:20px}.onboarding-panel-body li{margin-bottom:6px}.onboarding-panel-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;color:var(--text)}.onboarding-panel-footer{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 18px}.onboarding-panel-footer .folder-btn.primary{border-color:#7a9ec8;background:#355272}.onboarding-help-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;margin:0;padding:0;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:16px;font-weight:600;cursor:pointer}.sidebar-header-row{display:flex;align-items:center;gap:8px;min-width:0}.sidebar-header-row .capture-settings{flex:1;min-width:0;margin:0}body.is-mobile .onboarding-help-btn{display:none}body.onboarding-modal-open{overflow:hidden}.driver-popover.embr-driver-popover{background:var(--panel);color:var(--text);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 12px 32px #00000073}.driver-popover.embr-driver-popover .driver-popover-title{font:inherit;font-size:16px;font-weight:600;color:var(--text)}.driver-popover.embr-driver-popover .driver-popover-description{font:inherit;font-size:14px;line-height:1.5;color:var(--muted)}.driver-popover.embr-driver-popover .driver-popover-progress-text{color:var(--muted)}.driver-popover.embr-driver-popover button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;text-shadow:none}.driver-popover.embr-driver-popover button:hover{background:var(--surface-muted)}.driver-popover.embr-driver-popover .driver-popover-navigation-btns{justify-content:flex-end}.dropzone *{pointer-events:none}.preview-shell{position:relative;border:1px solid var(--border);background:#454545;border-radius:0;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.preview-shell.has-preview{cursor:grab;touch-action:none}.preview-shell.has-preview.is-panning{cursor:grabbing}.preview-shell canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;transform-origin:0 0}.preview-placeholder{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#d0d0d0;padding:20px;z-index:1}.preview-empty-msg{margin:0;font-size:17px;font-weight:600;color:#d0d0d0}.preview-placeholder .preview-open-folder-btn{pointer-events:auto;cursor:pointer}.sidebar-save-wrap{flex-shrink:0;padding-top:12px}.sidebar-save-btn{width:100%;border:1px solid var(--border-strong);background:var(--surface);font:inherit;font-size:14px;padding:10px 12px;cursor:pointer;color:var(--text);white-space:nowrap}.sidebar-save-btn:disabled{opacity:.45;cursor:not-allowed}.undo-redo-toolbar{display:flex;gap:8px;align-items:stretch;flex-shrink:0;margin-top:auto;padding-top:8px}.undo-redo-btn{flex:1 1 0;min-height:40px;padding:0 12px;border:1px solid #828282;background:#333;color:#ebebeb;font:inherit;font-size:14px;cursor:pointer}.undo-redo-btn:disabled{opacity:.45;cursor:not-allowed}.thumbnail-dock{position:absolute;left:0;right:0;bottom:0;z-index:10;width:100%;max-width:100%;min-width:0;height:var(--dock-footer-height);display:flex;flex-direction:column;justify-content:flex-end;gap:0;border:1px solid transparent;border-top-color:var(--border);background:#1c1c1ce0;padding:0;overflow:hidden;transition:height .18s ease,border-color .18s ease}.thumbnail-dock:hover,.thumbnail-dock:focus-within,.thumbnail-dock.onboarding-dock-expanded{height:var(--dock-height);border-color:var(--border);overflow:hidden}.thumbnail-dock-panel{flex:1 1 0;min-height:0;min-width:0;width:100%;max-width:100%;display:flex;flex-direction:column;gap:8px;overflow:hidden;opacity:0;pointer-events:none}.thumbnail-dock:hover .thumbnail-dock-panel,.thumbnail-dock:focus-within .thumbnail-dock-panel,.thumbnail-dock.onboarding-dock-expanded .thumbnail-dock-panel{opacity:1;pointer-events:auto;padding:8px 8px 0}.thumbnail-dock-footer{flex:0 0 var(--dock-footer-height);width:100%;max-width:100%;min-width:0}.folder-header{display:flex;align-items:center;gap:12px;width:100%;min-width:0;flex-shrink:0}.folder-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex-shrink:0;margin-left:auto}.folder-btn{border:1px solid var(--border-strong);background:var(--surface);font:inherit;font-size:14px;padding:7px 12px;cursor:pointer;color:var(--text)}.folder-btn[aria-pressed=true]{border-color:var(--focus);background:#4a4a4a}.hidden{display:none!important}.folder-btn.hidden,.folder-browser.hidden{display:none}.star-rating-filter{display:flex;align-items:center;gap:0;flex-shrink:0}.star-rating-filter.hidden{display:none}.star-rating-filter-btn{border:none;background:transparent;padding:4px 1px;font:inherit;font-size:16px;line-height:1;cursor:pointer;color:#6a6a6a}.star-rating-filter-btn:hover,.star-rating-filter-btn.is-on{color:#f5c518}.folder-browser{display:flex;flex-direction:column;gap:8px;min-height:0;min-width:0;flex:1 1 0;width:100%;max-width:100%;overflow:hidden}.folder-breadcrumb{flex:1;min-width:0;font-size:12px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-breadcrumb button{border:none;background:none;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;padding:0}.folder-grid-scroll{flex:1 1 0;min-width:0;min-height:0;width:100%;max-width:100%;overflow-x:scroll;overflow-y:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--border-strong) var(--surface-muted)}.folder-grid-scroll::-webkit-scrollbar{height:10px}.folder-grid-scroll::-webkit-scrollbar-track{background:var(--surface-muted)}.folder-grid-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px}.folder-grid-scroll::-webkit-scrollbar-thumb:hover{background:var(--focus)}.folder-grid{position:relative;min-height:100%}.folder-grid .folder-tile{position:absolute;top:0}.folder-grid>.thumb-placeholder{position:relative;width:100%;min-width:100%}.folder-tile{border:1px solid var(--border);background:#505050;min-width:132px;max-width:132px;min-height:0;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;flex-shrink:0}.folder-tile:not(.folder-entry){padding:0;overflow:hidden}.folder-tile:not(.folder-entry).active{border-color:var(--focus);box-shadow:0 0 0 2px var(--focus)}.folder-tile:not(.folder-entry).multi-selected:not(.active){border-color:#b0b0b0;box-shadow:0 0 0 2px #b0b0b0d9}.folder-tile:not(.folder-entry).multi-selected.active{border-color:#e0e0e0;box-shadow:0 0 0 2px #e0e0e0,inset 0 0 0 2px #b0b0b08c}.folder-tile .thumb-wrap{width:100%;height:132px;background:#5c5c5c;position:relative}.folder-tile:not(.folder-entry) .thumb-wrap{height:132px;min-height:132px}.folder-tile .thumb-wrap img{width:100%;height:100%;object-fit:contain}.folder-tile .thumb-wrap .thumb-refresh-spinner{position:absolute;top:6px;right:6px;width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:thumb-refresh-spin .7s linear infinite;z-index:2;pointer-events:none;box-shadow:0 1px 4px #00000073}@keyframes thumb-refresh-spin{to{transform:rotate(360deg)}}.folder-tile .tile-label{font-size:11px;padding:6px;text-align:center;color:var(--text);background:#242424db}.folder-tile:not(.folder-entry) .tile-label{position:absolute;left:0;bottom:0;max-width:100%;padding:4px 6px;text-align:left;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;z-index:1;background:linear-gradient(to top,rgba(12,12,12,.92) 0%,rgba(12,12,12,.72) 70%,transparent 100%)}.folder-entry{align-items:center;justify-content:center}.folder-icon{font-size:30px}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width);height:100%;min-height:0;background:var(--panel);color:var(--text);padding:16px 12px;display:flex;flex-direction:column;gap:0;border-left:1px solid var(--border);overflow:hidden}.sidebar-scroll{flex:1 1 0;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.sidebar h2{display:none}.control{display:flex;flex-direction:column;gap:5px}.control label{display:flex;justify-content:space-between;font-size:24px;letter-spacing:.01em}.slider{width:100%;margin:0}.wb-control-row{display:flex;gap:8px;align-items:stretch}.wb-control-row .slider{flex:1;min-width:0}.gradients-toolbar,.crop-toolbar{display:flex;gap:8px;align-items:stretch}.crop-btn,.crop-reset-btn{flex:1 1 auto;min-height:40px;padding:0 12px;border:1px solid #828282;background:#333;color:#ebebeb;font:inherit;cursor:pointer}.crop-btn[aria-pressed=true]{border-color:var(--focus);background:#4d4d4d}.crop-btn:disabled,.crop-reset-btn:disabled{opacity:.45;cursor:not-allowed}.tone-correction-toolbar{display:flex;gap:8px;align-items:stretch;justify-content:space-between}.tone-correction-channel-tabs{display:flex;gap:6px}.tone-correction-channel-btn,.tone-correction-reset-btn{min-width:40px;min-height:36px;border:1px solid #737373;background:#303030;color:var(--text);font:inherit;cursor:pointer}.tone-correction-channel-btn.is-active{border-color:var(--focus);background:#4a4a4a}.tone-correction-channel-btn[data-channel=l].is-active{border-color:#d4d8e0}.tone-correction-channel-btn[data-channel=r].is-active{border-color:#ef6b6b}.tone-correction-channel-btn[data-channel=g].is-active{border-color:#6bcf7f}.tone-correction-channel-btn[data-channel=b].is-active{border-color:#6b9cef}.tone-correction-curve{width:100%;height:140px;display:block;border:1px solid #737373;background:#1a1a1a;touch-action:none;cursor:crosshair}.tone-correction-hint{margin:0;font-size:14px;color:var(--muted);line-height:1.3}.oklab-ab-plane{width:100%;aspect-ratio:1 / 1;height:auto;display:block;border:1px solid #737373;background:#1a1a1a;touch-action:none}.oklab-ab-hint{margin:0;font-size:14px;color:var(--muted);line-height:1.3}.oklab-toolbar{display:flex;gap:6px;margin-bottom:6px}.oklab-add-btn,.oklab-remove-btn,.oklab-visibility-btn{flex:0 0 auto;min-width:40px;min-height:40px;border:1px solid #828282;background:#333;color:#ebebeb;font:inherit;cursor:pointer}.oklab-visibility-btn,.gradient-visibility-btn{display:inline-flex;align-items:center;justify-content:center;padding:0}.oklab-visibility-btn.is-effect-off,.gradient-visibility-btn.is-effect-off,.oklab-list-item.is-effect-off .oklab-list-select,.gradient-list-item.is-effect-off .gradient-list-select{color:#9a9a9a}.oklab-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.oklab-list-item{display:flex;gap:6px;align-items:stretch}.oklab-list-select{flex:1;min-height:36px;border:1px solid #828282;background:#333;color:#ebebeb;font:inherit;text-align:left;padding:0 10px;cursor:pointer}.oklab-list-item.is-selected .oklab-list-select{border-color:var(--focus);background:#4d4d4d}.oklab-add-btn:disabled,.oklab-remove-btn:disabled,.oklab-visibility-btn:disabled{opacity:.45;cursor:not-allowed}.gradient-type-select{flex:1;min-height:40px;border:1px solid #828282;background:#333;color:#ebebeb;font:inherit}.gradient-add-btn,.gradient-remove-btn,.gradient-visibility-btn{flex:0 0 auto;min-width:40px;min-height:40px;border:1px solid #828282;background:#333;color:#ebebeb;font:inherit;cursor:pointer}.gradient-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.gradient-list-item{display:flex;gap:6px;align-items:stretch}.gradient-list-select{flex:1;min-height:36px;border:1px solid #828282;background:#333;color:#ebebeb;font:inherit;text-align:left;padding:0 10px;cursor:pointer}.gradient-list-item.is-selected .gradient-list-select{border-color:var(--focus);background:#4d4d4d}.gradient-remove-btn:disabled,.gradient-visibility-btn:disabled,.gradient-add-btn:disabled,.gradient-type-select:disabled{opacity:.45;cursor:not-allowed}.wb-pick-btn{flex:0 0 auto;min-width:48px;min-height:40px;padding:0 12px;border:1px solid #828282;background:#333;color:#ebebeb;font:inherit;cursor:pointer}.photo-tags-section.is-disabled .photo-tags-add-row,.photo-tags-section.is-disabled .photo-tags-list{opacity:.45}.photo-tags-list{display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.photo-tags-empty{margin:0;font-size:13px;color:var(--muted)}.photo-tag-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid #737373;background:#303030;color:var(--text);font:inherit;font-size:12px;line-height:1.2;padding:4px 8px;cursor:pointer}.photo-tag-chip-remove{font-size:14px;line-height:1;opacity:.75}.photo-tags-add-row{display:flex;gap:8px;align-items:stretch}.photo-tag-input{flex:1;min-width:0;min-height:36px;border:1px solid #737373;background:#303030;color:var(--text);font:inherit;padding:0 10px}.photo-tag-add-btn{flex:0 0 auto;min-width:56px;min-height:36px;border:1px solid #737373;background:#303030;color:var(--text);font:inherit;cursor:pointer}.photo-tag-input:disabled,.photo-tag-add-btn:disabled{opacity:.45;cursor:not-allowed}.photo-tile-tags{position:absolute;top:4px;left:4px;right:4px;display:flex;flex-wrap:wrap;gap:3px;pointer-events:none;z-index:2}.photo-tile-tag{max-width:100%;padding:2px 5px;border-radius:3px;background:#0c0c0cd1;color:var(--text);font-size:9px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-tile-stars{position:absolute;top:4px;left:4px;display:flex;gap:1px;pointer-events:none;z-index:3;color:#f5c518;font-size:12px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.85)}.photo-tile-star{display:block}.wb-pick-btn[aria-pressed=true]{border-color:var(--focus);background:#4d4d4d}.wb-pick-btn:disabled{opacity:.45;cursor:not-allowed}.preview-shell.wb-pick-active,.preview-shell.gradient-tool-active{cursor:crosshair}.preview-shell.crop-tool-active{cursor:default}.preview-shell.wb-pick-active canvas{pointer-events:auto;z-index:4;cursor:crosshair}.preview-shell.gradient-tool-active canvas{pointer-events:auto;cursor:crosshair}.preview-shell.crop-tool-active canvas{pointer-events:auto;z-index:4;cursor:inherit}#gradient-overlay,#crop-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4;overflow:hidden;transform-origin:0 0}.toggle-row{display:flex;align-items:center;gap:10px;font-size:18px;cursor:pointer;user-select:none}.toggle-row input{width:18px;height:18px;accent-color:var(--focus);cursor:pointer}.capture-settings{font-size:15px;line-height:1.4;letter-spacing:.01em;color:var(--text);padding:2px 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.capture-settings.empty{color:var(--muted)}.meta-wrap{margin-top:auto}.meta-toggle-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border:none;background:none;color:var(--text);font:inherit;font-size:13px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;text-align:left}.meta-toggle-btn:hover{color:#fff}.meta-toggle-chevron{font-size:11px;color:var(--muted);transition:transform .15s ease}.meta-wrap.is-open .meta-toggle-chevron{transform:rotate(90deg)}.meta-panel{padding-bottom:8px}.meta-list{width:100%;border-collapse:collapse;font-size:11px;color:#d8d8d8;background:var(--panel-2)}.meta-list td{border-top:1px solid rgba(255,255,255,.16);padding:4px 0;vertical-align:top}.meta-list td:first-child{width:36%;font-weight:600;color:#fff}.meta-list td:last-child{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px}@media(max-width:1080px){.preview-shell{min-height:420px}.workspace{padding-bottom:0}.thumbnail-dock{position:static;width:100%;max-width:100%;min-width:0;height:auto;border:1px solid var(--border);background:#1c1c1ce6;padding:8px;overflow:hidden}.thumbnail-dock-footer{display:none}.thumbnail-dock-panel{opacity:1;pointer-events:auto;padding:0}.folder-grid-scroll{min-height:172px}.sidebar{width:auto;min-width:0;max-width:none;height:auto}.sidebar-scroll{flex:0 0 auto;overflow:visible}}@media(max-width:768px){body.is-mobile{height:100dvh;min-height:calc(100vh + var(--safe-top));min-height:calc(100dvh + var(--safe-top));overflow:hidden}html.pwa-installed body.is-mobile{height:calc(100dvh + var(--safe-top))}body.is-mobile .shell{display:block;width:100vw;height:100dvh;min-height:calc(100dvh + var(--safe-top));margin:0;padding:0}body.is-mobile .main-column{height:100%}body.is-mobile .status-strip,body.is-mobile .sidebar,body.is-mobile .folder-header,body.is-mobile .folder-breadcrumb{display:none!important}body.is-mobile.mobile-view-welcome .workspace,body.is-mobile.mobile-view-welcome .thumbnail-dock,body.is-mobile.mobile-view-folder .workspace,body.is-mobile.mobile-view-folder .thumbnail-dock{display:none}body.is-mobile.mobile-view-folder #error-banner.visible{display:block;position:fixed;top:calc(8px + env(safe-area-inset-top));left:10px;right:10px;z-index:40}body.is-mobile #error-banner.visible{display:block}body.is-mobile.mobile-view-editor .thumbnail-dock{display:none}body.is-mobile.mobile-view-editor .workspace{position:fixed;left:0;right:0;top:calc(0px - var(--safe-top));bottom:0;height:calc(100dvh + var(--safe-top));min-height:calc(100vh + var(--safe-top));gap:0;padding-bottom:0}body.is-mobile.mobile-view-editor .preview-shell{position:fixed;left:0;right:0;top:calc(0px - var(--safe-top));bottom:0;height:calc(100dvh + var(--safe-top));min-height:calc(100vh + var(--safe-top));border:none;border-radius:0;flex:none;touch-action:none}body.is-mobile.mobile-view-editor .preview-shell.has-preview{cursor:default}body.is-mobile #crop-section,body.is-mobile #gradients-section,body.is-mobile #gradient-settings-panel,body.is-mobile #tone-correction-section,body.is-mobile #oklab-colour-section,body.is-mobile .control:has(#sensor-response-curve-enabled),body.is-mobile .control:has(#bypass-sharpen-pass),body.is-mobile .control:has(#bypass-display-pass),body.is-mobile .control:has(#show-denoise-xyY){display:none!important}}.mobile-screen{position:fixed;left:0;right:0;top:calc(0px - var(--safe-top));bottom:0;height:calc(100dvh + var(--safe-top));min-height:calc(100vh + var(--safe-top));z-index:20;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:0 20px var(--safe-bottom)}html.pwa-installed .mobile-screen,body.is-mobile.mobile-immersive .mobile-screen{padding:0 max(20px,var(--safe-right)) var(--safe-bottom) max(20px,var(--safe-left))}html.pwa-installed #mobile-welcome .mobile-welcome-panel{padding-top:var(--safe-top)}.mobile-folder-browser{position:relative;flex-direction:column;align-items:stretch;justify-content:stretch;padding:0;overflow:hidden}.mobile-pill-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.22);background:#1616168c;color:#ffffffeb;border-radius:999px;box-shadow:0 2px 12px #00000059;backdrop-filter:blur(8px);font:inherit;font-size:15px;line-height:1;cursor:pointer}.mobile-pill-btn:active{background:#161616bf}.mobile-pill-btn:disabled{opacity:.45;cursor:not-allowed}.mobile-folder-header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;gap:8px;height:calc(44px + var(--safe-top));padding:var(--safe-top) max(10px,var(--safe-right)) 0 max(10px,var(--safe-left));background:transparent;border:none;pointer-events:none}.mobile-folder-header .mobile-pill-btn{pointer-events:auto}.mobile-folder-path{flex:1;min-width:0;text-align:center;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffffffeb;text-shadow:0 1px 6px rgba(0,0,0,.85);pointer-events:none}.mobile-folder-grid{--mobile-grid-cols: 4;--mobile-grid-gap: 6px;--mobile-grid-pad-x: 0px;--mobile-cell-size: calc( (100vw - 20px - var(--mobile-grid-gap) * (var(--mobile-grid-cols) - 1)) / var(--mobile-grid-cols) );display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:var(--mobile-cell-size);gap:var(--mobile-grid-gap);width:100%;max-width:100%;overflow-x:hidden;overflow-y:auto;align-content:start;min-height:0;flex:1 1 0;padding:0 10px calc(8px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.mobile-folder-grid>.mobile-folder-tile{box-sizing:border-box;display:block;position:relative;width:100%;height:100%;min-width:0;max-width:none;min-height:0;margin:0;padding:0;overflow:hidden;cursor:pointer;border:1px solid var(--border);background:#505050}.mobile-folder-grid>.mobile-folder-tile:not(.folder-entry) .thumb-wrap{position:absolute;inset:0;width:100%;height:100%;min-height:0;background:#5c5c5c}.mobile-folder-grid>.mobile-folder-tile:not(.folder-entry) .thumb-wrap img{width:100%;height:100%;object-fit:cover;display:block}.mobile-folder-grid>.mobile-folder-tile:not(.folder-entry) .tile-label{position:absolute;left:0;right:0;bottom:0;max-width:none;padding:3px 4px;font-size:9px;line-height:1.2;pointer-events:none;z-index:1;background:linear-gradient(to top,rgba(12,12,12,.92) 0%,rgba(12,12,12,.72) 70%,transparent 100%)}.mobile-folder-grid>.mobile-folder-tile.folder-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;height:100%}.mobile-folder-grid>.mobile-folder-tile.folder-entry .folder-icon{font-size:22px;line-height:1}.mobile-folder-grid>.mobile-folder-tile.folder-entry .tile-label{position:static;width:100%;padding:0;font-size:9px;line-height:1.2;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent}.mobile-folder-grid>.mobile-folder-tile:not(.folder-entry).active{border-color:var(--focus);box-shadow:0 0 0 2px var(--focus)}.mobile-folder-grid>.thumb-placeholder{grid-column:1 / -1;text-align:center;padding:16px 8px;line-height:1.4}.mobile-folder-grid>.thumb-placeholder .folder-grid-empty-msg{margin:0 0 12px}.mobile-folder-grid>.mobile-folder-grid-load-more{grid-column:1 / -1;justify-self:center;margin:4px 0 8px}.mobile-welcome-actions{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(360px,100%)}.mobile-welcome-panel{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(520px,100%)}.mobile-welcome-onboarding{width:100%}.mobile-welcome-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.mobile-welcome-title{margin:0;font-size:24px;font-weight:600;line-height:1.2}.mobile-welcome-body{margin:0 0 16px;font-size:15px;line-height:1.55;color:var(--muted)}.mobile-welcome-nav{display:flex;flex-wrap:wrap;gap:8px}.mobile-welcome-skip{flex-shrink:0}.mobile-onboarding-help-btn{pointer-events:auto;flex:0 0 auto;min-width:40px;padding:0 12px;font-size:16px;font-weight:600}.onboarding-help-desktop-only{display:block}.onboarding-help-mobile-only,body.is-mobile .onboarding-help-desktop-only{display:none}body.is-mobile .onboarding-help-mobile-only{display:block}body.no-folder-access #open-folder-btn,body.no-folder-access #preview-open-folder-btn,body.no-folder-access #onboarding-welcome-open-folder,body.no-folder-access #mobile-open-folder-btn{display:none!important}.mobile-welcome-btn{font-size:18px;padding:14px 24px}.mobile-loading-panel{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(320px,88vw);text-align:center}.mobile-loading-file{margin:0;font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.mobile-loading-status{margin:0;font-size:13px;color:var(--muted)}#mobile-loading-progress{width:100%;height:8px;accent-color:var(--focus)}#mobile-loading-progress[hidden]{display:none!important}body.is-mobile.mobile-view-loading .thumbnail-dock,body.is-mobile.mobile-view-loading .workspace{display:none}body.is-mobile.mobile-view-loading #error-banner.visible{display:block;position:fixed;top:calc(8px + env(safe-area-inset-top));left:10px;right:10px;z-index:40}.mobile-editor-header{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:8px;height:calc(44px + var(--safe-top));padding:var(--safe-top) max(10px,var(--safe-right)) 0 max(10px,var(--safe-left));background:transparent;border:none;pointer-events:none}.mobile-editor-header .mobile-pill-btn{pointer-events:auto}.mobile-editor-title{flex:1;min-width:0;text-align:center;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffffffeb;text-shadow:0 1px 6px rgba(0,0,0,.85);pointer-events:none}.mobile-setting-hud{position:fixed;left:0;right:0;bottom:0;z-index:30;--mobile-setting-row-height: 44px;height:calc(var(--mobile-setting-row-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:transparent;border:none;pointer-events:none}.mobile-setting-rail{position:relative;width:100%;height:var(--mobile-setting-row-height);overflow:hidden}.mobile-setting-stack{will-change:transform}.mobile-setting-stack.is-snapping{transition:transform .2s ease-out}.mobile-setting-row{display:flex;align-items:center;gap:12px;height:var(--mobile-setting-row-height);padding:0 16px;opacity:0}.mobile-setting-row.is-active{opacity:1}.mobile-setting-hud.is-scrolling .mobile-setting-row:not(.is-active){opacity:.5}.mobile-setting-row-text{display:flex;align-items:baseline;gap:6px;min-width:0;flex:0 1 auto;font-size:13px;line-height:1.2;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.75)}.mobile-setting-row-track{position:relative;flex:1 1 0;min-width:0;height:18px}.mobile-setting-row-thumb{position:absolute;top:0;width:2px;height:18px;transform:translate(-50%);background:#ffffffeb;border-radius:1px;box-shadow:0 0 4px #000000d9,0 1px 3px #000000e6}.mobile-setting-label{font-weight:600;color:#fff}.mobile-setting-value{color:#ffffffd1;font-variant-numeric:tabular-nums}body.is-mobile.mobile-view-editor #error-banner{position:fixed;top:calc(8px + env(safe-area-inset-top));left:10px;right:10px;z-index:35}.mobile-fab-btn{position:fixed;right:calc(10px + env(safe-area-inset-right));z-index:50;display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid rgba(255,255,255,.22);background:#1616168c;color:#ffffffeb;border-radius:999px;box-shadow:0 2px 12px #00000059;cursor:pointer;backdrop-filter:blur(8px)}.mobile-fab-btn:active{background:#161616bf}.mobile-fab-btn svg{width:20px;height:20px;display:block}.mobile-fullscreen-btn{bottom:calc(100px + env(safe-area-inset-bottom))}.mobile-fullscreen-btn [data-icon=exit],.mobile-fullscreen-btn[data-state=exit] [data-icon=enter]{display:none}.mobile-fullscreen-btn[data-state=exit] [data-icon=exit]{display:block}.mobile-settings-btn{bottom:calc(50px + env(safe-area-inset-bottom))}body.is-mobile.mobile-immersive .mobile-folder-grid{padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right));padding-bottom:max(8px,env(safe-area-inset-bottom));--mobile-cell-size: calc( ( 100vw - max(6px, env(safe-area-inset-left)) - max(6px, env(safe-area-inset-right)) - var(--mobile-grid-gap) * (var(--mobile-grid-cols) - 1) ) / var(--mobile-grid-cols) )}.mobile-settings-overlay{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.mobile-settings-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;min-height:48px;padding:0 12px 0 16px;border-bottom:1px solid var(--border)}.mobile-settings-title{margin:0;font-size:17px;font-weight:600}.mobile-settings-close{border:none;background:transparent;color:var(--text);font:inherit;font-size:28px;line-height:1;width:40px;height:40px;padding:0;cursor:pointer}.mobile-settings-scroll{flex:1 1 0;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:12px 16px}.mobile-meta-list{font-size:13px}.mobile-meta-list td{padding:8px 0}.mobile-settings-footer{flex:0 0 auto;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.mobile-settings-copy-log-btn{width:100%;font-size:15px;padding:12px 16px}.mobile-settings-copy-log-btn:disabled{opacity:.65;cursor:wait}body.mobile-settings-open{overflow:hidden}
