:root{--color-paper: #e8e9e4;--color-porcelain: #f2f1eb;--color-soft: #deddd5;--color-accent-bg: #bca171;--color-heading: #7f571b;--color-text: #5d592b;--color-ink: #22220c;--color-rust: #a3492c;--color-muted: rgba(93, 89, 43, .78);--color-line: rgba(34, 34, 12, .16);--font-serif: Georgia, "Times New Roman", serif;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-sans);color:var(--color-text);background:var(--color-paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{height:100%;margin:0;min-width:320px;overflow:hidden}#root{height:100%;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.appShell{display:grid;gap:1px;grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden;padding:0;background:var(--color-line)}.topBar{align-items:center;background:#e8e9e4e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;gap:18px;justify-content:space-between;min-height:74px;padding:12px clamp(18px,3vw,34px);width:100%}.projectActions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.projectActions button{background:#fffdfa;border:1px solid #d6cec0;border-radius:7px;color:#5e554c;font-size:.76rem;font-weight:750;min-height:30px;padding:0 9px}.activeProjectSummary{color:var(--color-muted);font-size:.78rem;margin:6px 0 0}.eyebrow{color:var(--color-heading);font-size:.78rem;font-weight:750;letter-spacing:.08em;margin:0 0 4px;text-transform:uppercase}h1,h2{color:var(--color-heading);letter-spacing:0;margin:0}h1{font-family:var(--font-serif);font-size:clamp(1.25rem,2vw,1.8rem);font-weight:400;line-height:1.05}h2{color:var(--color-ink);font-family:var(--font-sans);font-size:.98rem;font-weight:760}.importActions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:760px}.importButton{align-items:center;background:var(--color-ink);border:1px solid var(--color-ink);border-radius:0;color:var(--color-porcelain);display:inline-flex;font-weight:750;justify-content:center;min-height:36px;padding:0 14px;white-space:nowrap}.importButton.secondary{background:transparent;color:var(--color-ink)}.importButton:disabled{cursor:wait;opacity:.58}.importButton.subtle,.exportButton.quiet{opacity:.76}.importButton input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.folderPathInput{display:grid;gap:4px;min-width:min(100%,340px)}.folderPathInput span{color:var(--color-text);font-size:.72rem;font-weight:800}.folderPathInput input{background:var(--color-porcelain);border:1px solid var(--color-line);border-radius:0;color:var(--color-ink);min-height:42px;padding:0 10px;width:100%}.folderPathInput.compact{min-width:0}.workspace{display:grid;gap:1px;grid-template-columns:minmax(230px,300px) minmax(360px,1fr) minmax(240px,300px);height:100%;min-height:0;width:100%}.workspace.photosCollapsed{grid-template-columns:46px minmax(360px,1fr) minmax(240px,300px)}.workspace.controlsCollapsed{grid-template-columns:minmax(230px,300px) minmax(360px,1fr) 46px}.workspace.photosCollapsed.controlsCollapsed{grid-template-columns:46px minmax(360px,1fr) 46px}.panel{background:var(--color-paper);border:0;border-radius:0;height:100%;min-height:0;padding:14px;position:relative}.panelEdgeToggle{background:transparent;border:1px solid var(--color-line);border-radius:0;color:var(--color-heading);font-size:.68rem;font-weight:800;min-height:28px;padding:0 8px;position:absolute;right:10px;text-transform:uppercase;top:12px;z-index:4}.panelEdgeToggle:hover,.panelEdgeToggle:focus-visible{background:#7f571b14;outline:none}.collapsedPanel{display:flex;padding:0}.collapsedPanel>:not(.panelEdgeToggle){display:none!important}.collapsedPanel .panelEdgeToggle{align-items:center;display:inline-flex;height:calc(100% - 20px);justify-content:center;left:8px;right:auto;top:10px;width:30px;writing-mode:vertical-rl}.panelHeader{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;padding-right:48px}.panelHeader span{background:var(--color-soft);border-radius:999px;color:var(--color-text);font-size:.8rem;font-weight:700;padding:4px 9px}.photoPanel,.controlsPanel{max-height:none;overflow:hidden}.photoPanel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto}.controlsPanel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden}.controlsPanel.textEditing{overflow:hidden}.photoGrid{align-content:start;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;overflow-y:auto;padding-right:3px}.photoCard{min-width:0;position:relative}.photoCard.hasDirective .thumbButton{border-color:#b86449}.photoAssignHint{background:var(--color-porcelain);border-radius:0;color:var(--color-muted);font-size:.72rem;line-height:1.4;margin:0 0 10px;padding:7px 8px}.emptyState{align-items:center;border:1px dashed var(--color-line);border-radius:0;color:var(--color-muted);display:flex;grid-column:1 / -1;min-height:180px;padding:16px;text-align:center}.thumbButton{background:var(--color-soft);border:1px solid transparent;border-radius:0;color:var(--color-ink);overflow:hidden;padding:0;text-align:left;width:100%}.thumbButton:focus-visible,.thumbButton:hover{border-color:var(--color-heading);outline:none}.thumbButton img{aspect-ratio:1;display:block;object-fit:cover;width:100%}.photoOrientationTag{background:var(--color-ink);border-radius:999px;color:var(--color-porcelain);font-size:.6rem;font-weight:850;left:5px;line-height:1;padding:5px 7px;pointer-events:none;position:absolute;top:5px;z-index:1}.photoOrientationTag.landscape{background:var(--color-heading)}.photoOrientationTag.square{background:var(--color-rust)}.photoUsageTag{background:var(--color-porcelain);border:1px solid var(--color-ink);border-radius:999px;color:var(--color-ink);font-size:.58rem;font-weight:850;left:5px;line-height:1;padding:4px 6px;pointer-events:none;position:absolute;top:31px;z-index:1}.photoUsageTag.unused{color:var(--color-text)}.photoUsageTag.used{background:var(--color-heading);border-color:var(--color-heading);color:var(--color-porcelain)}.thumbButton span{display:block;font-size:.72rem;overflow:hidden;padding:6px;text-overflow:ellipsis;white-space:nowrap}.thumbButton .photoDirectiveBadges{display:flex;flex-wrap:wrap;gap:3px;padding:0 6px 7px;white-space:normal}.photoDirectiveBadges strong{background:var(--color-accent-bg);border-radius:999px;color:var(--color-ink);font-size:.58rem;padding:2px 5px}.photoCardActions{display:grid;gap:4px;position:absolute;right:5px;top:5px;z-index:2}.photoDirectiveButton,.photoPreviewButton{background:var(--color-ink);border:0;border-radius:0;color:var(--color-porcelain);font-size:.78rem;font-weight:800;height:28px;line-height:1;padding:0;width:28px}.photoPreviewButton{background:var(--color-heading)}.photoDirectiveButton:hover,.photoPreviewButton:hover,.photoDirectiveButton:focus-visible,.photoPreviewButton:focus-visible{background:var(--color-rust)}.loadMoreButton{background:var(--color-porcelain);border:1px solid var(--color-line);border-radius:0;color:var(--color-ink);font-weight:800;margin-top:10px;min-height:38px;width:100%}.stageArea{align-items:center;display:grid;gap:0;grid-template-rows:minmax(0,1fr) auto;height:100%;justify-items:center;min-width:0;overflow:hidden}.canvasWrap{align-items:center;background:#17170d;border-radius:0;display:flex;height:100%;justify-content:center;min-height:0;overflow:hidden;padding:clamp(8px,1.2vw,18px);position:relative;width:100%}.stageQuickActions{align-items:center;background:var(--color-porcelain);border:1px solid var(--color-line);border-radius:0;display:flex;gap:5px;padding:5px}.stageQuickActions button{align-items:center;background:transparent;border:0;border-radius:0;color:var(--color-ink);display:inline-flex;font-size:1rem;font-weight:900;height:34px;justify-content:center;padding:0;width:34px}.stageQuickActions button:hover,.stageQuickActions button:focus-visible,.stageQuickActions button.active{background:var(--color-ink);color:var(--color-porcelain);outline:none}.carouselCanvas{aspect-ratio:4 / 5;background:#111;box-shadow:0 18px 50px #2a241c47;display:grid;height:100%;max-height:100%;max-width:100%;overflow:hidden;position:relative;width:auto;container-type:inline-size}.carouselCanvas.layout-framed-2x3{background:#fff;display:block;position:relative}.carouselCanvas.layout-grid-2x2{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.strip{background:#161412;border:0;color:#d9d0c3;display:block;min-height:0;overflow:hidden;padding:0;position:relative;width:100%}.strip-framed-2x3{background:#f4f0e8}.strip img{display:block;height:100%;object-fit:cover;transform-origin:center;width:100%}.strip span{align-items:center;display:flex;font-size:.92rem;height:100%;justify-content:center;padding:16px;text-align:center}.strip.selected:after{border:3px solid #e07a5f;content:"";inset:0;pointer-events:none;position:absolute}.thirdsGridOverlay{background:linear-gradient(to right,transparent calc(33.333% - .5px),rgba(255,255,255,.68) calc(33.333% - .5px),rgba(255,255,255,.68) calc(33.333% + .5px),transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),rgba(255,255,255,.68) calc(66.666% - .5px),rgba(255,255,255,.68) calc(66.666% + .5px),transparent calc(66.666% + .5px)),linear-gradient(to bottom,transparent calc(33.333% - .5px),rgba(255,255,255,.68) calc(33.333% - .5px),rgba(255,255,255,.68) calc(33.333% + .5px),transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),rgba(255,255,255,.68) calc(66.666% - .5px),rgba(255,255,255,.68) calc(66.666% + .5px),transparent calc(66.666% + .5px));inset:0;mix-blend-mode:screen;pointer-events:none;position:absolute;z-index:6}.slideTextOverlay{line-height:1.12;overflow-wrap:anywhere;pointer-events:none;position:absolute;transform-origin:center;white-space:pre-wrap;z-index:4}.editableTextOverlay{cursor:move;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;z-index:8}.editableTextOverlay:hover,.editableTextOverlay:focus-visible{outline:1px solid rgba(242,241,235,.78);outline-offset:.08em}.layoutOverlay{inset:0;pointer-events:none;position:absolute;z-index:5}.resizeBoundary{pointer-events:auto;position:absolute;touch-action:none}.resizeBoundary:before{background:#ffffffbd;content:"";opacity:0;position:absolute;transition:opacity .12s ease}.resizeBoundary:hover:before{opacity:1}.resizeBoundary.horizontal{cursor:row-resize;height:14px;left:0;right:0;transform:translateY(-50%)}.resizeBoundary.horizontal:before{height:2px;left:0;right:0;top:6px}.resizeBoundary.vertical{bottom:0;cursor:col-resize;top:0;transform:translate(-50%);width:14px}.resizeBoundary.vertical:before{bottom:0;left:6px;top:0;width:2px}.swapButton{background:#1f3d35f0;border:1px solid rgba(255,255,255,.82);border-radius:6px;color:#fff;cursor:pointer;font-size:clamp(.58rem,1.8cqw,.72rem);font-weight:800;left:50%;min-height:24px;padding:2px 7px;position:absolute;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.swapButton:hover,.swapButton:focus-visible{background:#b86449}.resizeBoundary.vertical .swapButton{transform:translate(-50%,-50%) rotate(-90deg)}.gridSwap.top{top:25%}.gridSwap.bottom{top:75%}.gridSwap.left{left:25%}.gridSwap.right{left:75%}.layoutHint{margin:-8px 0 12px}.slideRail{display:flex;gap:10px;justify-content:flex-start;min-height:112px;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 2px 7px;scrollbar-gutter:stable;width:100%}.slideNavigator{background:var(--color-paper);display:grid;gap:8px;min-width:0;padding:10px 14px 12px;width:100%}.slideNavigator.collapsedTimeline{gap:0;padding:7px 14px}.slideTools{align-items:center;display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.slideNavigator.collapsedTimeline .slideTools{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;justify-content:stretch}.slideToolsLabel{color:var(--color-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;margin-right:4px;text-transform:uppercase}.slideNavigator.collapsedTimeline .slideToolsLabel{color:var(--color-ink);font-size:.76rem;margin-right:0;white-space:nowrap}.slideActionGroup{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.compactSlideRail{display:flex;gap:4px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding:1px;scrollbar-width:thin}.slideTools .compactSlideChip{align-items:center;background:var(--color-porcelain);border:1px solid var(--color-line);color:var(--color-ink);display:inline-flex;flex:0 0 30px;font-size:.76rem;font-weight:850;height:30px;justify-content:center;min-height:30px;min-width:30px;padding:0 5px}.slideTools .compactSlideChip.active{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-porcelain)}.compactSlideActions{display:flex;flex:0 0 auto;gap:4px}.slideTools .compactSlideActions button{font-size:.84rem;height:30px;min-height:30px;min-width:30px;padding:0}.slideTools button{background:var(--color-porcelain);border:1px solid var(--color-line);border-radius:0;color:var(--color-ink);font-size:.76rem;font-weight:800;min-height:34px;min-width:42px;padding:0 11px}.slideTools button:disabled{cursor:default;opacity:.38}.slideTools button.active{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-porcelain)}.slideTools .timelineToggleButton{background:transparent;border-color:var(--color-heading);color:var(--color-heading)}.slideNavigator.collapsedTimeline .timelineToggleButton{min-height:30px;white-space:nowrap}.slideTools .deleteSlideButton{color:var(--color-rust)}.slideThumb{background:var(--color-porcelain);border:1px solid var(--color-line);display:grid;flex:0 0 88px;gap:6px;grid-template-rows:78px auto;margin:0;min-width:88px;padding:7px 7px 6px;position:relative}.slideThumb.active{background:#bca17138;border-color:var(--color-heading)}.slideThumbButton{background:transparent;border:0;color:var(--color-porcelain);inset:0;padding:0;position:absolute;text-align:left;z-index:3}.slideThumbButton:focus-visible{outline:2px solid var(--color-heading);outline-offset:2px}.slideThumbNumber{align-items:center;background:var(--color-ink);color:var(--color-porcelain);display:inline-flex;font-size:.66rem;font-weight:850;height:21px;justify-content:center;left:6px;min-width:21px;padding:0 5px;position:absolute;top:6px}.slideThumbCanvas{align-items:center;background:#111;display:flex;justify-content:center;min-height:0;overflow:hidden;pointer-events:none}.slideThumbCanvas .carouselCanvas{box-shadow:none;height:100%;max-height:100%;width:auto}.slideThumbCanvas .strip span{font-size:.42rem;padding:4px}.slideThumb figcaption{color:var(--color-muted);font-size:.62rem;font-weight:750;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slideChip,.addSlide{background:var(--color-porcelain);border:1px solid var(--color-line);border-radius:0;color:var(--color-ink);flex:0 0 38px;font-weight:800;height:38px;min-width:38px}.slideChip.active{background:var(--color-heading);border-color:var(--color-heading);color:var(--color-porcelain)}.addSlide{color:var(--color-ink)}.controlGroup{display:grid;gap:5px;margin-bottom:8px}.inspectorViewSwitch{background:var(--color-soft);display:grid;gap:4px;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 8px;padding:4px}.inspectorViewSwitch button{background:transparent;border:0;color:var(--color-text);font-size:.72rem;font-weight:820;min-height:30px}.inspectorViewSwitch button.active{background:var(--color-porcelain);box-shadow:0 1px 6px #2d261e1f;color:var(--color-ink)}.inspectorTabs{display:grid;gap:5px;grid-row:3;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 12px}.inspectorTabs button{background:var(--color-porcelain);border:1px solid var(--color-line);border-radius:0;color:var(--color-text);font-size:.72rem;font-weight:820;min-height:32px;padding:0 6px}.inspectorTabs button.active{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-porcelain)}.inspectorBody{grid-row:4;min-height:0;overflow-y:auto;padding-right:2px}.inspectorBody.allSections{display:grid;gap:13px}.inspectorSection{display:grid;gap:12px;padding-bottom:12px}.inspectorBody.allSections .inspectorSection{border-bottom:1px solid var(--color-line)}.inspectorBody.allSections .inspectorSection:last-child{border-bottom:0}.inspectorSectionTitle{color:var(--color-heading);font-family:var(--font-sans);font-size:.76rem;font-weight:850;letter-spacing:.08em;margin:0;text-transform:uppercase}.inspectorSection .controlGroup:last-child{margin-bottom:0}.controlsPanel .formatGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.controlsPanel .segmented{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.autoButton{background:var(--color-ink);border:1px solid var(--color-ink);border-radius:0;color:var(--color-porcelain);font-weight:850;margin-bottom:16px;min-height:42px;width:100%}.autoButton.ai{background:var(--color-heading);border-color:var(--color-heading)}.compactButtonGrid{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:8px}.exportActions .compactButtonGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.exportActions .compactButtonGrid .selectedSlideButton{grid-column:auto}.exportActions .compactButtonGrid .openFolderButton{background:var(--color-porcelain);border-color:var(--color-line);color:var(--color-ink)}.compactButtonGrid button{background:var(--color-porcelain);border:1px solid var(--color-line);border-radius:0;color:var(--color-ink);font-size:.78rem;font-weight:800;min-height:32px;padding:0 8px}.compactButtonGrid button:disabled{background:#e5ded5;color:#92877d;cursor:not-allowed}.hintText{color:var(--color-muted);font-size:.78rem;margin:-4px 0 9px}.controlGroup label{align-items:center;color:var(--color-text);display:flex;font-size:.86rem;font-weight:750;justify-content:space-between}.controlGroup strong{color:var(--color-ink)}.textInput{background:var(--color-porcelain);border:1px solid var(--color-line);border-radius:0;color:var(--color-ink);min-height:34px;padding:0 10px;width:100%}.segmented{background:var(--color-soft);border-radius:0;display:grid;gap:4px;grid-auto-columns:1fr;grid-auto-flow:column;padding:4px}.segmented button{background:transparent;border:0;border-radius:0;color:var(--color-text);font-weight:800;min-height:30px}.segmented button.active{background:var(--color-porcelain);box-shadow:0 1px 6px #2d261e1f;color:var(--color-ink)}.textLayerSection{border-bottom:1px solid var(--color-line);border-top:1px solid var(--color-line);margin:3px 0 9px;padding:9px 0}.inspectorSection .textLayerSection,.inspectorSection .exportActions{border-top:0;margin-top:0;padding-top:0}.inspectorSection .textLayerSection{border-bottom:0;margin-bottom:0}.textLayerToggle{align-items:center;cursor:pointer;display:flex;gap:10px;justify-content:space-between}.textLayerToggle span,.textLayerToggle strong,.textLayerToggle small{display:block}.textLayerToggle strong{color:var(--color-ink);font-size:.84rem}.textLayerToggle small{color:var(--color-muted);font-size:.66rem;font-weight:500;margin-top:2px}.textLayerToggle input{accent-color:var(--color-heading);height:18px;width:18px}.textLayerControls{display:grid;gap:7px;margin-top:9px}.textOverlayInput{background:var(--color-porcelain);border:1px solid var(--color-line);border-radius:0;color:var(--color-ink);min-height:58px;padding:8px;resize:vertical;width:100%}.textControlGrid{display:grid;gap:7px;grid-template-columns:minmax(0,1fr) 76px}.textControlGrid label{color:var(--color-text);display:grid;font-size:.72rem;font-weight:750;gap:4px}.textControlGrid select,.textColorInput{background:var(--color-porcelain);border:1px solid var(--color-line);border-radius:0;height:32px;min-width:0;padding:0 7px;width:100%}.textColorInput{padding:3px}.textAlignRow{background:var(--color-soft);border-radius:0;display:grid;gap:3px;grid-template-columns:repeat(3,1fr);padding:3px}.textAlignRow button{background:transparent;border:0;border-radius:0;color:var(--color-text);font-size:.72rem;font-weight:800;min-height:28px}.textAlignRow button.active{background:var(--color-porcelain);color:var(--color-ink)}.textStyleRow{display:flex;gap:12px}.textStyleRow label{align-items:center;color:var(--color-text);display:flex;font-size:.72rem;font-weight:700;gap:5px}.textStyleRow input{accent-color:var(--color-heading)}.textManualPad{display:grid;gap:5px;grid-template-columns:repeat(5,minmax(0,1fr))}.textManualPad button{background:var(--color-porcelain);border:1px solid var(--color-line);color:var(--color-ink);font-size:.78rem;font-weight:850;min-height:30px;padding:0 4px}.textManualPad button:hover,.textManualPad button:focus-visible{border-color:var(--color-heading);outline:none}.textLayerControls .controlGroup{margin-bottom:1px}.formatGrid{display:grid;gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.formatGrid button{background:var(--color-porcelain);border:1px solid var(--color-line);border-radius:0;color:var(--color-text);display:grid;gap:3px;min-height:44px;padding:4px;text-align:left}.formatGrid button.active{background:#7f571b14;border-color:var(--color-heading);color:var(--color-ink)}.formatGrid strong,.formatGrid span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formatGrid strong{font-size:.92rem}.formatGrid span{font-size:.62rem}.exportActions{border-top:1px solid var(--color-line);display:grid;gap:6px;margin-top:4px;padding-top:10px}.exportButton{background:var(--color-rust);border:1px solid var(--color-rust);border-radius:0;color:var(--color-porcelain);font-weight:800;min-height:36px}.compactButtonGrid .exportButton{background:var(--color-rust);border-color:var(--color-rust);color:var(--color-porcelain);font-size:.76rem}.compactButtonGrid .exportButton.secondary{color:var(--color-heading)}.compactButtonGrid .exportButton.allFormatsButton{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-porcelain)}.compactButtonGrid .exportButton.currentFormatButton{background:var(--color-rust);border-color:var(--color-rust);color:var(--color-porcelain)}.exportButton:disabled{background:#e9e2d9;border-color:#c9beb2;color:#4a443d;cursor:not-allowed;opacity:1}.compactButtonGrid .exportButton:disabled{background:#e9e2d9;border-color:#c9beb2;color:#4a443d;opacity:1}.exportButton.secondary{background:var(--color-porcelain);color:var(--color-heading)}.exportButton.neutral{background:var(--color-porcelain);border-color:var(--color-line);color:var(--color-ink)}.cropQuickControls{display:grid;gap:6px;grid-template-columns:44px minmax(0,1fr) 44px;margin:-1px 0 8px}.cropQuickControls button{background:var(--color-porcelain);border:1px solid var(--color-line);border-radius:0;color:var(--color-ink);font-size:.78rem;font-weight:850;min-height:30px}.cropQuickControls button:disabled{background:#e9e2d9;color:#92877d;cursor:not-allowed}.exportActions p{color:var(--color-text);font-size:.74rem;margin:0}.exportActions .exportFormatHint{color:var(--color-heading);font-weight:700}.stripSelectionHint{color:#70675d;font-size:.72rem;line-height:1.35;margin:-2px 0 7px}.controlsPanel .folderPathInput input{min-height:34px}.hiddenInput{display:none}.loadingOverlay{align-items:center;background:#25231f7a;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:50}.previewOverlay{background:#000;color:#fff;display:grid;grid-template-rows:auto minmax(0,1fr);inset:0;overflow:hidden;position:fixed;z-index:80}.previewOverlay:fullscreen{height:100%;width:100%}.previewToolbar{align-items:center;background:#000000d1;display:flex;gap:16px;justify-content:space-between;min-height:54px;padding:8px 12px;position:relative;z-index:3}.previewToolbar>strong{font-size:.78rem;max-width:min(42vw,520px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.previewToolbar>div{align-items:center;display:flex;gap:6px}.previewToolbar button,.previewNavButton{background:#262626e6;border:1px solid rgba(255,255,255,.28);border-radius:7px;color:#fff;font-size:.76rem;font-weight:800;min-height:34px;padding:0 10px}.previewToolbar button:hover,.previewToolbar button:focus-visible,.previewNavButton:hover,.previewNavButton:focus-visible{background:#b86449;border-color:#b86449;outline:none}.previewToolbar button:disabled,.previewNavButton:disabled{cursor:default;opacity:.35}.previewToolbar span{font-size:.72rem;min-width:42px;text-align:center}.previewCloseButton{font-size:1.15rem!important;min-width:36px;padding:0!important}.previewViewport{align-items:center;display:flex;justify-content:center;min-height:0;overflow:auto;padding:18px 70px 42px}.previewViewport.compare{align-items:stretch;justify-content:center;overflow:hidden}.previewViewport.carousel{align-items:center;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory}.previewPhoto{display:block;max-height:calc(100dvh - 118px);max-width:calc(100vw - 150px);object-fit:contain;transform-origin:center;transition:transform .12s ease}.previewSlideFrame{flex:0 0 auto;transform-origin:center;transition:transform .12s ease}.previewSlideFrame .carouselCanvas{box-shadow:none;height:100%;width:100%}.previewSlideFrame .strip{cursor:default}.previewCompareGrid{align-items:stretch;display:grid;flex:0 0 auto;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));height:min(100%,calc(100dvh - 122px));max-width:1180px;min-height:0;transform-origin:center;transition:transform .12s ease;width:100%}.previewCompareItem{align-items:center;display:grid;gap:8px;grid-template-rows:auto minmax(0,1fr);margin:0;min-height:0;min-width:0}.previewCompareItem figcaption{align-items:baseline;display:flex;gap:6px;justify-content:center;min-height:22px}.previewCompareItem figcaption strong{font-size:.78rem}.previewCompareItem figcaption span{color:#aaa;font-size:.64rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.previewCompareCanvas{align-self:center;background:#111;height:100%;justify-self:center;max-height:100%;max-width:100%;min-height:0;min-width:0;width:auto}.previewCompareCanvas .carouselCanvas{box-shadow:none;height:100%;width:100%}.previewCompareCanvas .strip{cursor:default}.previewCarouselGrid{align-items:center;display:grid;flex:0 0 auto;gap:clamp(18px,2.2vw,34px);grid-auto-flow:column;grid-auto-columns:clamp(300px,38vw,560px);grid-template-rows:auto;height:min(100%,calc(100dvh - 118px));min-height:0;min-width:min-content;padding:4px 28vw 10px;transform-origin:left top;transition:transform .12s ease}.previewCarouselCard{align-self:center;background:#111;border:1px solid rgba(255,255,255,.16);border-radius:0;cursor:pointer;display:grid;gap:6px;grid-template-rows:auto auto;margin:0;min-height:0;min-width:0;overflow:hidden;padding:7px;scroll-snap-align:center;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.previewCarouselCard.active{border-color:var(--color-accent-bg);box-shadow:0 0 0 2px #bca1716b;transform:translateY(-6px)}.previewCarouselCard figcaption{align-items:center;display:grid;gap:6px;grid-template-columns:28px minmax(0,1fr);min-height:24px}.previewCarouselCard figcaption strong{align-items:center;background:var(--color-accent-bg);border-radius:999px;color:var(--color-ink);display:inline-flex;font-size:.72rem;height:24px;justify-content:center;width:24px}.previewCarouselCard figcaption span{color:#d8d8d8;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.previewCarouselCanvas{align-self:center;background:#050505;justify-self:center;max-width:100%;min-height:0;min-width:0;overflow:hidden;width:100%}.previewCarouselCanvas .carouselCanvas{box-shadow:none;height:auto;width:100%}.previewCarouselCanvas .strip{cursor:default}.previewNavButton{font-size:1.2rem;height:48px;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:48px;z-index:4}.previewNavButton.previous{left:12px}.previewNavButton.next{right:12px}.previewCounter{background:#000000ad;border-radius:6px;bottom:10px;font-size:.72rem;left:50%;padding:5px 8px;position:absolute;transform:translate(-50%);z-index:3}.loadingCard{align-items:center;background:#fffdfa;border:1px solid #d6cec0;border-radius:10px;box-shadow:0 20px 55px #25231f47;display:grid;gap:8px;justify-items:center;max-width:360px;padding:22px 24px;text-align:center;width:min(100%,360px)}.loadingCard strong{color:#25231f}.loadingCard small{color:#70675d}.loadingSpinner{animation:loading-spin .8s linear infinite;border:4px solid #ddd7cd;border-radius:50%;border-top-color:#1f3d35;height:36px;width:36px}@keyframes loading-spin{to{transform:rotate(360deg)}}.modalBackdrop{align-items:center;background:#25231f9e;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:20}.promptModal{background:#fffdfa;border:1px solid #d6cec0;border-radius:8px;box-shadow:0 24px 70px #25231f57;display:grid;gap:14px;max-height:min(760px,calc(100vh - 36px));max-width:760px;overflow:auto;padding:18px;width:min(100%,760px)}.photoDirectiveModal{max-width:820px;width:min(100%,820px)}.projectLibraryModal{max-width:680px;width:min(100%,680px)}.projectLibraryHint{color:#5e554c;font-size:.86rem;line-height:1.45;margin:0}.projectBackupActions{align-items:center;background:#f4f0e8;border:1px solid #d6cec0;border-radius:8px;display:flex;flex-wrap:wrap;gap:7px;padding:9px}.projectBackupActions button{background:#fffdfa;border:1px solid #cfc6b9;border-radius:7px;color:#1f3d35;font-size:.75rem;font-weight:800;min-height:32px;padding:0 10px}.projectBackupActions button:disabled{color:#92877d;cursor:not-allowed}.projectBackupActions span{color:#70675d;flex-basis:100%;font-size:.72rem}.projectLibraryList{display:grid;gap:9px}.projectLibraryCard{background:#f7f3ec;border:1px solid #d6cec0;border-radius:9px;display:grid;gap:8px;padding:10px}.projectLibraryCard.active{background:#e7efe9;border-color:#1f3d35}.projectLibraryOpen{background:transparent;border:0;color:#25231f;display:grid;gap:3px;padding:0;text-align:left}.projectLibraryOpen strong{font-size:.96rem}.projectLibraryOpen span,.projectLibraryOpen small{color:#70675d}.projectLibraryActions{display:flex;flex-wrap:wrap;gap:6px}.projectLibraryActions button{background:#fffdfa;border:1px solid #d6cec0;border-radius:7px;color:#5e554c;font-size:.75rem;font-weight:750;min-height:30px;padding:0 9px}.projectLibraryActions .dangerTextButton{color:#8b3f32}.photoDirectiveEditor{display:grid;gap:14px;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr)}.photoDirectiveEditor>img{background:#eee9df;border-radius:8px;height:100%;max-height:380px;object-fit:contain;width:100%}.photoDirectiveOptions{display:grid;gap:7px}.photoDirectiveOptions label{align-items:center;background:#f4f0e8;border:1px solid #d6cec0;border-radius:8px;cursor:pointer;display:flex;gap:9px;padding:9px 10px}.photoDirectiveOptions label.selected{background:#e7efe9;border-color:#1f3d35}.photoDirectiveOptions input{accent-color:#1f3d35}.photoDirectiveOptions span,.photoDirectiveOptions strong,.photoDirectiveOptions small{display:block}.photoDirectiveOptions small{color:#70675d;font-size:.72rem;margin-top:2px}.photoNoteField{display:grid;gap:6px}.photoNoteField>span{color:#4a443d;font-size:.82rem;font-weight:800}.photoNoteField textarea{background:#fff;border:1px solid #cfc6b9;border-radius:8px;color:#25231f;font:inherit;min-height:90px;padding:10px;resize:vertical}.modalHeader{align-items:start;display:flex;gap:12px;justify-content:space-between}.iconTextButton{background:#f4f0e8;border:1px solid #d6cec0;border-radius:8px;color:#5e554c;font-size:.8rem;font-weight:800;min-height:34px;padding:0 10px}.instructionList{color:#4a443d;font-size:.9rem;margin:0;padding-left:20px}.promptPathField{display:grid;gap:6px}.promptPathField span{color:#4a443d;font-size:.82rem;font-weight:800}.promptPathField input{background:#fff;border:1px solid #cfc6b9;border-radius:8px;color:#25231f;font-size:.86rem;min-height:38px;padding:0 10px;width:100%}.promptPathHint{color:#70675d;font-size:.82rem;line-height:1.45;margin:-6px 0 0}.promptTextarea{background:#161412;border:0;border-radius:8px;color:#f8f1e8;font-family:Cascadia Mono,Consolas,monospace;font-size:.78rem;line-height:1.5;min-height:300px;padding:12px;resize:vertical;width:100%}.modalActions{display:grid;gap:8px;grid-template-columns:1fr 1fr}input[type=range]{accent-color:var(--color-heading);width:100%}@media(max-width:900px){html,body,#root{height:auto;min-height:100%;overflow:auto}.appShell{height:auto;min-height:100vh;overflow:visible}.workspace{height:auto;grid-template-columns:220px minmax(320px,1fr)}.photoPanel,.controlsPanel{height:auto;grid-column:1 / -1;max-height:none}.stageArea{height:auto;min-height:620px}}@media(max-width:760px){.appShell{padding:14px}.topBar{align-items:stretch;flex-direction:column}.projectActions{justify-content:flex-start}.importActions{justify-content:stretch;max-width:none}.importButton{flex:1}.workspace{grid-template-columns:1fr}.photoPanel,.controlsPanel{max-height:none}.photoGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.canvasWrap{min-height:auto;padding:12px}.carouselCanvas{max-height:none;width:min(100%,420px)}.slideNavigator.collapsedTimeline .slideTools{grid-template-columns:auto minmax(0,1fr) auto}.compactSlideActions{grid-column:1 / -1;justify-content:center}.photoDirectiveEditor{grid-template-columns:1fr}.photoDirectiveEditor>img{max-height:280px}.previewToolbar{gap:8px;justify-content:center}.previewToolbar>strong{display:none}.previewToolbar>div{max-width:100%}.previewToolbar button{min-height:32px;padding:0 7px}.previewViewport{padding:12px 48px 40px}.previewCompareGrid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));height:min(100%,calc(100dvh - 112px))}.previewCarouselGrid{gap:12px;grid-auto-columns:clamp(160px,58vw,260px);height:min(100%,calc(100dvh - 112px));padding:4px 25vw 10px}.previewCarouselCard{padding:5px}.previewCarouselCard figcaption span{font-size:.66rem}.previewPhoto{max-height:calc(100dvh - 104px);max-width:calc(100vw - 76px)}.previewNavButton{height:40px;width:40px}.previewNavButton.previous{left:6px}.previewNavButton.next{right:6px}}@media(max-width:460px){.photoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.slideNavigator.collapsedTimeline .slideTools{grid-template-columns:auto minmax(0,1fr)}.compactSlideRail{grid-column:1 / -1}.slideNavigator.collapsedTimeline .timelineToggleButton{justify-self:end}.previewToolbar>div{gap:4px}.previewToolbar button{font-size:.68rem;padding:0 5px}.previewToolbar span{min-width:36px}}
