@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color-scheme:dark;font-family:DM Sans,Noto Sans SC,system-ui,sans-serif;font-synthesis:none;--bg: #111311;--surface: #181b19;--surface-2: #202421;--surface-3: #292e2a;--line: #303631;--line-soft: #272c28;--text: #f2f5f1;--muted: #959d97;--accent: #c7f36b;--accent-ink: #172008;--warm: #ffb86b;--teal: #65d6c3;--danger: #ff7a75;--panel-width: 326px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:disabled{opacity:.38;cursor:not-allowed}.app-shell{width:100%;height:100dvh;display:grid;grid-template-rows:50px minmax(0,1fr);background:var(--bg)}.topbar{z-index:30;display:flex;align-items:center;min-width:0;height:50px;padding:env(safe-area-inset-top) 10px 0;border-bottom:1px solid var(--line);background:#171917}.wordmark{display:flex;align-items:center;gap:8px;width:128px;padding:0 8px;color:var(--accent)}.wordmark span{color:var(--text);font-size:13px;font-weight:700}.file-actions,.history-actions,.zoom-actions{display:flex;align-items:center;gap:2px;border-left:1px solid var(--line-soft);padding-left:7px;margin-left:5px}.document-title{flex:1;min-width:100px;display:flex;justify-content:center;align-items:baseline;gap:8px;overflow:hidden}.document-title span{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-title small{font-size:10px;color:var(--muted);white-space:nowrap}.icon-button{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:4px;background:transparent;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.icon-button:hover:not(:disabled){background:var(--surface-3)}.icon-button:active:not(:disabled){transform:scale(.94)}.icon-button.active{background:#354123;color:var(--accent)}.icon-button svg{width:16px;height:16px;stroke-width:1.8}.zoom-value{width:47px;border:0;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.export-button,.primary-button,.secondary-button,.wide-action,.modal-toolbar button,.button-label{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border-radius:5px;border:1px solid var(--line);padding:0 12px;background:var(--surface-2);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.export-button{margin-left:8px;border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700}.export-button:hover,.primary-button:hover,.wide-action:hover{filter:brightness(1.06)}.export-button:active,.primary-button:active,.wide-action:active{transform:translateY(1px)}.workspace{display:grid;grid-template-columns:60px minmax(0,1fr) auto;min-height:0}.tool-rail{z-index:20;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:8px 6px;border-right:1px solid var(--line);background:#171917}.tool-rail button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:53px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.tool-rail button:hover{background:var(--surface-2);color:var(--text)}.tool-rail button.active{background:#2d3525;color:var(--accent)}.tool-rail svg{width:19px;height:19px;stroke-width:1.8}.tool-rail span{font-size:9px}.artboard{position:relative;min-width:0;min-height:0;overflow:hidden;background-color:#0c0e0d}.canvas-stage{width:100%;height:100%;display:grid;place-items:center;overflow:auto;padding:48px;touch-action:none}.canvas-stage.tool-brush canvas,.canvas-stage.tool-heal canvas{cursor:crosshair;touch-action:none}.canvas-stage.tool-move canvas{cursor:grab;touch-action:none}.canvas-stage.tool-crop canvas{cursor:default;touch-action:none}.canvas-stage.tool-liquify canvas{cursor:cell;touch-action:none}.canvas-mat{position:relative;max-width:92%;max-height:92%;transform-origin:center;transition:transform .15s ease;box-shadow:0 18px 64px #0000008c;line-height:0;will-change:transform}.canvas-stage.tool-move .canvas-mat{transition:none}.canvas-mat canvas{display:block;max-width:min(100%,1600px);max-height:calc(100dvh - 145px);width:auto;height:auto;background:transparent}.crop-frame{position:absolute;z-index:4;border:1px solid var(--accent);box-shadow:0 0 0 9999px #0000008f;cursor:move;pointer-events:auto;touch-action:none}.crop-frame:before,.crop-frame:after{content:"";position:absolute;background:#ffffff57}.crop-frame:before{left:33.333%;top:0;width:1px;height:100%;box-shadow:calc(var(--crop-grid-width, 0px) + 0px) 0 0 #ffffff57}.crop-frame:after{left:0;top:33.333%;width:100%;height:1px}.crop-handle{position:absolute;z-index:2;width:24px;height:24px;padding:0;border:0;background:transparent;touch-action:none}.crop-handle:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border:2px solid var(--accent);background:#171917;transform:translate(-50%,-50%)}.crop-handle-nw{left:0;top:0;cursor:nwse-resize;transform:translate(-50%,-50%)}.crop-handle-n{left:50%;top:0;cursor:ns-resize;transform:translate(-50%,-50%)}.crop-handle-ne{right:0;top:0;cursor:nesw-resize;transform:translate(50%,-50%)}.crop-handle-e{right:0;top:50%;cursor:ew-resize;transform:translate(50%,-50%)}.crop-handle-se{right:0;bottom:0;cursor:nwse-resize;transform:translate(50%,50%)}.crop-handle-s{left:50%;bottom:0;cursor:ns-resize;transform:translate(-50%,50%)}.crop-handle-sw{left:0;bottom:0;cursor:nesw-resize;transform:translate(-50%,50%)}.crop-handle-w{left:0;top:50%;cursor:ew-resize;transform:translate(-50%,-50%)}.tool-options{position:absolute;z-index:18;left:14px;top:14px;display:flex;align-items:center;gap:7px;min-height:38px;max-width:calc(100% - 28px);padding:5px 7px;border:1px solid var(--line);border-radius:5px;background:#181b19f0;box-shadow:0 8px 24px #00000047;backdrop-filter:blur(10px)}.tool-options strong{padding:0 6px;color:var(--accent);font-size:10px}.tool-options>label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px;white-space:nowrap}.tool-options input[type=range]{width:92px;accent-color:var(--accent)}.tool-options output{min-width:28px;color:var(--text);font-size:9px}.tool-options button{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:27px;padding:0 8px;border:1px solid var(--line);border-radius:3px;background:var(--surface-2);color:var(--muted);font-size:9px;cursor:pointer}.tool-options button.active{border-color:var(--accent);color:var(--accent)}.tool-options .tool-done{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.compact-segments{display:flex;gap:2px}.compact-segments button{padding:0 6px}.brush-color{width:28px;height:27px;padding:2px;border:1px solid var(--line);border-radius:3px;background:var(--surface-2)}.compare-badge{position:absolute;top:18px;left:50%;transform:translate(-50%);display:flex;gap:6px;align-items:center;padding:6px 10px;background:#111311e0;border:1px solid var(--line);border-radius:4px;font-size:11px;color:var(--accent)}.reopen-panel{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;border-radius:4px;border:1px solid var(--line);background:var(--surface);cursor:pointer}.empty-workspace{width:100%;height:100%;position:relative;overflow:hidden;display:grid;place-items:center}.empty-photo{position:absolute;inset:0;background:url(https://images.unsplash.com/photo-1529139574466-a303027c1d8b?auto=format&fit=crop&w=2200&q=85) center 30% / cover no-repeat;filter:saturate(.72) contrast(1.08)}.empty-photo:after{content:"";position:absolute;inset:0;background:#090b09ad}.empty-content{position:relative;width:min(540px,calc(100% - 48px));margin-right:min(32vw,420px);padding:28px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:7px;background:var(--accent);color:var(--accent-ink)}.eyebrow{margin:24px 0 10px;color:var(--accent);font-size:11px;font-weight:700}.empty-content h1{margin:0;max-width:440px;font-size:clamp(32px,4.2vw,58px);line-height:1.08;font-weight:600;letter-spacing:0}.empty-content>p:not(.eyebrow){margin:18px 0 24px;max-width:440px;color:#bac1bb;font-size:14px;line-height:1.75}.empty-actions{display:flex;gap:9px}.primary-button{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700}.secondary-button{border-color:#5b625c;background:#161917b8;backdrop-filter:blur(8px)}.format-line{margin-top:22px;color:#7f8881;font-size:9px}.inspector{width:0;min-width:0;overflow:hidden;border-left:0 solid var(--line);background:var(--surface);transition:width .22s ease}.inspector.open{width:var(--panel-width);border-left-width:1px}.panel-tabs{height:46px;display:flex;align-items:stretch;border-bottom:1px solid var(--line);padding-left:4px}.panel-tabs>button:not(.icon-button){min-width:0;flex:1;padding:0 3px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.panel-tabs>button.active{color:var(--text);border-bottom-color:var(--accent)}.panel-tabs .icon-button{flex:0 0 32px;margin:6px 4px}.panel-scroll{height:calc(100dvh - 97px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3d443e transparent}.panel-empty{padding:50px 20px;text-align:center;color:var(--muted);font-size:12px}.panel-section{padding:13px 14px 16px;border-bottom:1px solid var(--line-soft)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-heading span{font-size:11px;font-weight:700}.section-heading button{border:0;background:transparent;color:var(--muted);font-size:9px;cursor:pointer}.section-heading button:hover{color:var(--accent)}.slider-row{display:grid;grid-template-columns:1fr 42px;align-items:center;gap:4px;margin:12px 0}.slider-row span{color:#c1c7c2;font-size:10px}.slider-row output{justify-self:end;min-width:36px;padding:2px 5px;border-radius:3px;background:#111411;color:var(--muted);text-align:right;font-size:9px;font-variant-numeric:tabular-nums}.slider-row input[type=range]{grid-column:1 / -1;width:100%;height:4px;margin:2px 0;accent-color:var(--accent);cursor:pointer}.segmented{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.segmented button{height:29px;padding:0;border:1px solid var(--line);border-radius:3px;background:var(--surface-2);color:var(--muted);font-size:9px;cursor:pointer}.segmented button.active{border-color:var(--accent);color:var(--accent);background:#29321f}.face-status,.ai-header,.metadata-summary{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--line);background:#1c201d}.face-icon,.ai-header>span{display:grid;place-items:center;width:36px;height:36px;border-radius:5px;background:#2d3525;color:var(--accent)}.face-status>div,.ai-header>div,.metadata-summary>div{display:flex;flex:1;flex-direction:column;min-width:0}.face-status strong,.ai-header strong,.metadata-summary strong{font-size:11px}.face-status small,.ai-header small,.metadata-summary small{margin-top:3px;color:var(--muted);font-size:9px}.privacy-dot{padding:3px 5px;border-radius:3px;background:#26362e;color:var(--teal);font-size:8px;font-weight:700}.metadata-summary>svg{color:var(--warm)}.layer-actions{display:grid;grid-template-columns:1fr 34px 34px 34px;gap:4px;padding:10px;border-bottom:1px solid var(--line)}.layer-actions button,.panel-button-row button{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:30px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);font-size:9px;cursor:pointer}.layers-list{padding:7px}.layer-row{display:flex;align-items:center;width:100%;min-height:54px;margin:3px 0;padding:6px;border:1px solid transparent;border-radius:5px;background:transparent;text-align:left;cursor:pointer}.layer-row:hover{background:var(--surface-2)}.layer-row.selected{border-color:#58684a;background:#252c22}.layer-thumb{display:grid;place-items:center;flex:0 0 39px;height:39px;border-radius:4px;background:#111411;color:var(--muted)}.layer-thumb svg{width:17px}.layer-name{display:flex;flex:1;min-width:0;flex-direction:column;padding:0 8px}.layer-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.layer-name small{margin-top:3px;color:var(--muted);font-size:8px}.layer-icons{display:flex}.layer-icons .icon-button{width:27px;height:27px}.field{display:flex;flex-direction:column;gap:5px;margin:11px 0}.field>span{color:#b8beb9;font-size:9px}.field input,.field select,.field textarea{width:100%;min-height:32px;border:1px solid var(--line);border-radius:4px;padding:6px 8px;outline:0;background:#111411;color:var(--text);font-size:10px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#788b64}.field input[type=color]{padding:3px}.metadata-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 9px}.metadata-fields .field:nth-child(n+6){grid-column:1 / -1}.panel-button-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px}.panel-button-row button.danger{color:var(--danger)}.wide-action{width:100%;min-height:38px;margin-top:9px;border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700}.wide-action svg{width:16px}.export-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;border-bottom:1px solid var(--line);background:var(--line)}.export-summary>div{padding:12px 14px;background:#1c201d}.export-summary span,.export-summary strong{display:block}.export-summary span{color:var(--muted);font-size:8px}.export-summary strong{margin-top:3px;font-size:11px}.compression-mode{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:12px 0}.compression-mode button,.size-presets button{height:31px;border:1px solid var(--line);border-radius:3px;background:var(--surface-2);color:var(--muted);font-size:9px;cursor:pointer}.compression-mode button.active{border-color:var(--accent);background:#29321f;color:var(--accent)}.target-size-block{margin:4px 0 12px;padding:9px;border-left:2px solid var(--warm);background:#151815}.size-input-group{display:grid;grid-template-columns:1fr 70px;gap:4px}.size-input-group .field{margin:0}.size-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.size-presets button:hover{border-color:var(--warm);color:var(--warm)}.mobile-nav{display:none}.modal-backdrop{z-index:100;position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#040605bd;backdrop-filter:blur(5px)}.modal{width:min(540px,100%);max-height:min(720px,calc(100dvh - 40px));overflow:auto;border:1px solid #414842;border-radius:7px;background:var(--surface);box-shadow:0 24px 80px #0000008a}.modal.projects-modal{width:min(820px,100%)}.modal>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface)}.modal h2{margin:0;font-size:14px}.modal-toolbar{display:flex;flex-wrap:wrap;gap:7px;padding:12px;border-bottom:1px solid var(--line)}.modal-toolbar button,.button-label{font-size:10px}.button-label{position:relative}.button-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px}.project-card{overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#141614}.project-thumb{aspect-ratio:16/10;background-size:cover;background-position:center}.project-card>div:nth-child(2){padding:9px}.project-card strong,.project-card small{display:block}.project-card strong{font-size:11px}.project-card small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.5}.project-actions{display:flex;gap:5px;padding:0 8px 8px}.project-actions>button:first-child{flex:1;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);font-size:9px;cursor:pointer}.modal-empty{display:grid;place-items:center;gap:8px;padding:60px;color:var(--muted);font-size:11px}.drop-field{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;margin:16px;padding:34px;border:1px dashed #626a63;border-radius:6px;background:#141714;cursor:pointer}.drop-field svg{color:var(--accent)}.drop-field strong{font-size:12px}.drop-field span{color:var(--muted);font-size:9px}.drop-field input{position:absolute;inset:0;opacity:0;cursor:pointer}.batch-settings{padding:0 16px}.modal>.wide-action{width:calc(100% - 32px);margin:10px 16px 16px}.toast{z-index:150;position:fixed;left:50%;bottom:22px;transform:translate(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:10px 13px;border:1px solid #4b5940;border-radius:5px;background:#1f281b;box-shadow:0 10px 34px #00000059;font-size:11px}.toast.error{border-color:#683d3b;background:#2d1e1d}.toast svg{width:16px;color:var(--accent)}.toast.error svg{color:var(--danger)}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1020px){:root{--panel-width: 300px}.wordmark{width:44px}.wordmark span,.history-actions,.document-title small{display:none}.empty-content{margin-right:24vw}}@media (max-width: 760px){.app-shell{grid-template-rows:calc(47px + env(safe-area-inset-top)) minmax(0,1fr) calc(58px + env(safe-area-inset-bottom))}.topbar{height:calc(47px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.wordmark{width:38px;padding:0}.file-actions .icon-button:nth-child(3),.zoom-actions .icon-button,.zoom-actions .zoom-value,.document-title{display:none}.file-actions,.zoom-actions{border:0;margin:0;padding:0}.history-actions{display:flex;margin-left:auto}.export-button{width:34px;padding:0;font-size:0}.workspace{grid-template-columns:1fr;position:relative}.artboard{grid-column:1}.tool-rail{position:absolute;z-index:35;left:8px;right:8px;bottom:8px;display:flex;flex-direction:row;justify-content:space-around;height:48px;padding:3px;border:1px solid var(--line);border-radius:6px;background:#171917eb;backdrop-filter:blur(12px)}.tool-rail button{flex:1;height:40px;flex-direction:row;gap:0}.tool-rail button span{display:none}.tool-options{inset:auto 8px 61px;max-width:none;overflow-x:auto}.tool-options input[type=range]{width:74px}.tool-options strong{position:sticky;left:0;background:var(--surface)}.canvas-stage{padding:24px 12px 68px}.canvas-mat{max-width:100%;max-height:100%}.canvas-mat canvas{max-height:calc(100dvh - 190px)}.empty-photo{background-position:63% center}.empty-photo:after{content:"";position:absolute;inset:0;background:#07090866}.empty-content{margin:0 0 72px;padding:24px;align-self:end}.empty-content h1{font-size:34px}.empty-content>p:not(.eyebrow){font-size:12px}.format-line{display:none}.inspector,.inspector.open{position:absolute;z-index:40;left:0;right:0;bottom:0;width:100%;height:min(58dvh,560px);border:0;border-top:1px solid var(--line);border-radius:7px 7px 0 0;transform:translateY(100%);transition:transform .24s ease;box-shadow:0 -18px 50px #0000006b}.inspector.open{transform:translateY(0)}.panel-tabs{overflow-x:auto}.panel-tabs>button:not(.icon-button){flex:0 0 54px}.panel-scroll{height:calc(min(58dvh,560px) - 46px);padding-bottom:20px}.mobile-nav{z-index:50;display:grid;grid-template-columns:repeat(6,1fr);align-items:center;height:calc(58px + env(safe-area-inset-bottom));padding:4px 4px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#171917}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;height:48px;border:0;border-radius:4px;background:transparent;color:var(--muted)}.mobile-nav button.active{color:var(--accent)}.mobile-nav svg{width:18px;height:18px}.mobile-nav span{font-size:8px}.project-grid{grid-template-columns:1fr 1fr}.modal-backdrop{align-items:end;padding:0}.modal,.modal.projects-modal{width:100%;max-height:84dvh;border-radius:7px 7px 0 0;border-bottom:0}.toast{bottom:calc(66px + env(safe-area-inset-bottom))}}@media (max-width: 420px){.file-actions .icon-button:nth-child(2),.history-actions .icon-button:nth-child(2){display:none}.empty-actions{flex-direction:column;align-items:stretch}.empty-content{width:100%}.project-grid,.metadata-fields{grid-template-columns:1fr}.metadata-fields .field{grid-column:1}}@media (pointer: coarse){.crop-handle{width:36px;height:36px}.crop-handle:after{width:10px;height:10px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
