.tool-host{background:var(--bg);min-height:100vh}.tool-load-error{text-align:center;min-height:60vh;color:var(--muted);background:var(--bg);place-items:center;gap:10px;padding:40px 24px;font-size:14px;font-weight:560;display:grid}.app{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);flex-direction:column;animation:.5s cubic-bezier(.2,.78,.18,1) both enter;display:flex}.app [hidden]{display:none!important}.app [disabled]{opacity:.38;cursor:not-allowed}.app button,.app select,.app input{font-family:inherit}.app button{cursor:pointer}.app :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.global-file{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand-logo-vector,.brand-logo-pointer{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:50%}.brand-logo-vector{stroke-width:11px}.brand-logo-pointer{stroke-width:16px}.brand-logo-node{fill:none;stroke:var(--brand-node);stroke-width:7px;opacity:0;transform-box:fill-box;transform-origin:50%}.story-logo .brand-logo-vector{animation:4.8s cubic-bezier(.4,.1,.3,1) infinite logo-shape}.story-logo .brand-logo-pointer{animation:4.8s cubic-bezier(.4,.1,.3,1) infinite logo-pointer}.story-logo .brand-logo-node-left{animation:4.8s ease-in-out infinite logo-node}.story-logo .brand-logo-node-right{animation:4.8s ease-in-out .18s infinite logo-node}.topbar{--panel:#1b1c24;--surface:#15161d;--text:#f3f2ed;--muted:#a0a3af;--subtle:#6f7381;--line:#2d2f3a;--line-strong:#414452;--accent:#ff6fb5;--accent-ink:#17060f;--accent-soft:#3b1429;--success:#67c584;z-index:40;height:68px;color:var(--text);-webkit-backdrop-filter:blur(22px)saturate(140%);border-bottom:1px solid var(--line);background:#15161df5;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:0 18px;display:flex;position:relative}.brand{min-width:0;color:inherit;flex:none;align-items:center;gap:12px;text-decoration:none;display:flex}.topbar-claim{flex:auto;justify-content:center;min-width:0;padding-inline:12px;display:flex;overflow:hidden}.claim-text{max-width:100%;font-family:var(--font-mono);letter-spacing:.005em;color:var(--accent);text-shadow:0 0 22px color-mix(in srgb, var(--accent) 45%, transparent);white-space:nowrap;text-overflow:ellipsis;padding-bottom:4px;font-size:clamp(12px,1.15vw,16px);font-weight:700;line-height:1.2;transition:opacity .38s,transform .38s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.claim-text:after{content:"";background:linear-gradient(90deg, var(--accent), transparent);opacity:.55;border-radius:2px;height:2px;position:absolute;bottom:0;left:0;right:0}.topbar-claim.is-swapping .claim-text{opacity:0;transform:translateY(-6px)}.topbar .brand-logo{width:52px;height:auto;color:var(--text);filter:drop-shadow(0 3px 13px color-mix(in srgb, var(--brand) 55%, transparent));flex:none}.brand:hover .brand-logo-vector,.brand:focus-visible .brand-logo-vector{animation:1.7s cubic-bezier(.4,.1,.3,1) logo-shape}.brand:hover .brand-logo-pointer,.brand:focus-visible .brand-logo-pointer{animation:1.7s cubic-bezier(.4,.1,.3,1) logo-pointer}.brand:hover .brand-logo-node-left,.brand:focus-visible .brand-logo-node-left{animation:1.7s ease-in-out logo-node}.brand:hover .brand-logo-node-right,.brand:focus-visible .brand-logo-node-right{animation:1.7s ease-in-out .18s logo-node}.brand-name{flex-direction:column;gap:2px;min-width:0;display:flex}.brand-name strong{letter-spacing:-.025em;font-size:15px;font-weight:760}.brand-name small{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--subtle);white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;font-weight:500;overflow:hidden}.topbar-actions{align-items:center;gap:12px;display:flex}.privacy-compact{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 70%, transparent);border-radius:999px;align-items:center;gap:7px;height:34px;padding:0 12px;display:inline-flex;position:relative}.privacy-compact strong{white-space:nowrap;color:var(--muted);font-size:11px;font-weight:620}.privacy-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 22%, transparent);border-radius:50%}.privacy-info{border:1px solid var(--line-strong);width:15px;height:15px;font-family:var(--font-mono);color:var(--subtle);cursor:help;border-radius:50%;place-items:center;font-size:9px;line-height:1;display:grid}.privacy-tooltip{border:1px solid var(--line);color:#f3f2ed;text-align:left;opacity:0;visibility:hidden;pointer-events:none;z-index:50;background:#0f1015;border-radius:12px;width:248px;padding:10px 12px;font-size:10.5px;font-weight:500;line-height:1.5;transition:opacity .14s,transform .14s,visibility .14s;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-4px);box-shadow:0 18px 44px #00000073}.privacy-compact:hover .privacy-tooltip,.privacy-info:hover .privacy-tooltip,.privacy-info:focus-visible .privacy-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.icon-button{border-radius:var(--radius-sm);border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 70%, transparent);width:38px;height:38px;color:var(--text);place-items:center;font-size:12px;font-weight:700;transition:transform .18s,border-color .18s,background-color .18s;display:grid}.icon-button:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.editor-shell{grid-template-columns:clamp(350px,27vw,392px) minmax(0,1fr);height:calc(100vh - 68px);min-height:0;animation:.48s cubic-bezier(.2,.78,.18,1) both editor-in;display:grid}.inspector{border-right:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, var(--accent-soft));flex-direction:column;min-height:0;display:flex}.inspector-file{border-bottom:1px solid var(--line);flex:none;align-items:center;height:74px;padding:0 16px;display:flex}.inspector-actions{align-items:center;gap:8px;width:100%;display:flex;position:relative}.auto-button{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);min-width:0;height:38px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:11.5px;font-weight:700;transition:transform .18s,border-color .18s,background-color .18s,color .18s;display:inline-flex;overflow:hidden}.auto-button:hover:not([disabled]){border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.auto-icon{color:var(--accent);transform-origin:50%;font-size:13px;display:inline-block}.auto-button.is-running{background:var(--text);border-color:var(--text);color:var(--bg)}.auto-button.is-running .auto-icon{color:inherit;animation:1.1s linear infinite orbit}#presetSelect{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);width:108px;height:38px;color:var(--text);appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 15px) 17px,calc(100% - 11px) 17px;background-repeat:no-repeat;background-size:4px 4px,4px 4px;flex:none;padding:0 26px 0 10px;font-size:11.5px;font-weight:620}.save-icon-button{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);width:38px;height:38px;color:var(--muted);flex:none;place-items:center;transition:transform .18s,border-color .18s,color .18s;display:grid}.save-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.save-icon-button:hover:not([disabled]){border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.save-icon-button[aria-expanded=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.profile-popover{z-index:45;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);width:236px;box-shadow:var(--shadow);gap:8px;padding:13px;display:grid;position:absolute;top:calc(100% + 9px);right:0}.profile-popover label{letter-spacing:.115em;text-transform:uppercase;color:var(--subtle);font-size:10px;font-weight:790}.profile-popover input{border:1px solid var(--line-strong);background:var(--surface);height:36px;color:var(--text);border-radius:9px;padding:0 10px;font-size:12.5px}.profile-popover button{border:1px solid var(--accent);background:var(--accent);height:36px;color:var(--accent-ink);border-radius:9px;font-size:11.5px;font-weight:720}.inspector-scroll{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;min-height:0;overflow-y:auto}.inspector-scroll::-webkit-scrollbar{width:8px}.inspector-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.settings-group{gap:15px;padding:18px 16px 22px;display:grid}.settings-group>*{animation:.48s cubic-bezier(.2,.78,.18,1) both settings-in}.settings-group>:first-child{animation-delay:20ms}.settings-group>:nth-child(2){animation-delay:60ms}.settings-group>:nth-child(3){animation-delay:.1s}.settings-group>:nth-child(4){animation-delay:.14s}.settings-group>:nth-child(5){animation-delay:.18s}.settings-group>:nth-child(6){animation-delay:.22s}.settings-group>:nth-child(7){animation-delay:.26s}.settings-group>:nth-child(8){animation-delay:.3s}.settings-group>:nth-child(9){animation-delay:.34s}.settings-group h3{letter-spacing:.115em;text-transform:uppercase;color:var(--subtle);font-size:10px;font-weight:790}.control{grid-template-columns:minmax(118px,auto) minmax(84px,1fr) 46px;align-items:center;column-gap:10px;display:grid}.control-head{display:contents}.setting-title{cursor:help;grid-area:1/1;align-items:center;gap:5px;font-size:11.5px;font-weight:680;line-height:1.25;display:inline-flex;position:relative}.setting-info{border:1px solid var(--line-strong);width:15px;height:15px;font-family:var(--font-mono);color:var(--subtle);border-radius:50%;flex:none;place-items:center;font-size:9px;font-weight:500;line-height:1;display:grid}.setting-title:after{content:attr(data-tooltip);z-index:35;color:#f3f2ed;width:226px;font-family:var(--font-sans);letter-spacing:0;text-transform:none;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;background:#15161d;border-radius:10px;padding:9px 11px;font-size:10px;font-weight:500;line-height:1.5;transition:opacity .14s,transform .14s,visibility .14s;position:absolute;bottom:calc(100% + 9px);left:0;transform:translateY(4px);box-shadow:0 16px 40px #00000052}.setting-title:hover:after,.setting-title:focus-visible:after{opacity:1;visibility:visible;transform:translateY(0)}.settings-group>:nth-child(-n+5) .setting-title:after{top:calc(100% + 9px);bottom:auto;transform:translateY(-4px)}.settings-group>:nth-child(-n+5) .setting-title:hover:after,.settings-group>:nth-child(-n+5) .setting-title:focus-visible:after{transform:translateY(0)}.control-value{width:100%;min-width:0;height:22px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;color:var(--muted);appearance:none;cursor:text;background:0 0;border:1px solid #0000;border-radius:7px;grid-area:1/3;padding:0 5px;font-size:10px;transition:border-color .14s,background .14s,color .14s}.control:hover .control-value{border-color:var(--line)}.control .control-value:focus{border-color:var(--accent);background:var(--panel);color:var(--text);outline:none}.control .control-value.is-invalid{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.control input[type=range]{grid-area:1/2}.app input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:19px;margin:0}.app input[type=range]::-webkit-slider-runnable-track{background:color-mix(in srgb, var(--line-strong) 82%, var(--accent));border-radius:999px;height:3px}.app input[type=range]::-webkit-slider-thumb{appearance:none;border:3px solid var(--panel);background:var(--accent);width:16px;height:16px;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent), 0 3px 12px color-mix(in srgb, var(--accent) 55%, transparent);border-radius:50%;margin-top:-6.5px;transition:transform .16s}.app input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}.app input[type=range]::-moz-range-track{background:color-mix(in srgb, var(--line-strong) 82%, var(--accent));border-radius:999px;height:3px}.app input[type=range]::-moz-range-thumb{border:3px solid var(--panel);background:var(--accent);width:16px;height:16px;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent), 0 3px 12px color-mix(in srgb, var(--accent) 55%, transparent);border-radius:50%;transition:transform .16s}.app input[type=range]:hover::-moz-range-thumb{transform:scale(1.12)}.control.toggle-control{display:block}.setting-check{cursor:pointer;align-items:center;gap:10px;display:flex}.setting-check input[type=checkbox]{opacity:0;width:18px;height:18px;margin:0;position:absolute}.check-box{border:1px solid var(--line-strong);background:var(--panel);border-radius:5px;flex:none;width:18px;height:18px;transition:background-color .16s,border-color .16s;position:relative}.check-box:after{content:"";opacity:0;border:2px solid #fff;border-top:0;border-left:0;width:4px;height:8px;transition:transform .16s,opacity .16s;position:absolute;top:2.5px;left:6px;transform:rotate(42deg)scale(.4)}.setting-check input[type=checkbox]:checked+.check-box{background:var(--accent);border-color:var(--accent)}.setting-check input[type=checkbox]:checked+.check-box:after{opacity:1;transform:rotate(42deg)scale(1)}.setting-check input[type=checkbox]:focus-visible+.check-box{outline:2px solid var(--accent);outline-offset:2px}.setting-check .setting-title{grid-area:auto}.settings-divider{align-items:center;gap:10px;margin-top:4px;display:flex}.settings-divider span{letter-spacing:.11em;text-transform:uppercase;color:var(--subtle);white-space:nowrap;font-size:8px;font-weight:800}.settings-divider:after{content:"";background:var(--line);flex:1;height:1px}.vector-mode-control{gap:9px;display:grid}.vector-mode-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.vector-color-choice{align-items:center;gap:7px;display:inline-flex}.vector-color-callout{letter-spacing:.06em;text-transform:uppercase;opacity:.62;white-space:nowrap;font-size:8.5px;font-weight:700}.vector-color-button{border:1px solid var(--line-strong);background:var(--panel);border-radius:9px;place-items:center;width:30px;height:30px;transition:transform .18s,border-color .18s;display:grid}.vector-color-button:hover:not([disabled]){border-color:var(--accent);transform:translateY(-1px)}.vector-color-button[aria-expanded=true]{border-color:var(--accent)}#vectorColorSwatch{border-radius:6px;width:22px;height:22px;display:block;box-shadow:inset 0 0 0 1px #0000002e}.vector-mode-switch{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));height:42px;padding:3px;display:grid;position:relative}.vector-mode-switch:before{content:"";background:var(--accent);width:calc(33.3333% - 2px);box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 38%, transparent);border-radius:10px;transition:transform .34s cubic-bezier(.2,.85,.25,1);position:absolute;top:3px;bottom:3px;left:3px}.vector-mode-switch[data-mode=fine]:before{transform:translate(100%)}.vector-mode-switch[data-mode=subpixel]:before{transform:translate(200%)}.vector-mode-switch button{z-index:1;color:var(--muted);letter-spacing:.02em;border-radius:10px;justify-content:center;align-items:center;gap:6px;font-size:9.5px;font-weight:720;transition:color .24s;display:inline-flex;position:relative}.vector-mode-switch button i{width:15px;height:15px;font-family:var(--font-mono);border:1px solid;border-radius:50%;place-items:center;font-size:8px;font-style:normal;line-height:1;display:grid}.vector-mode-switch button.active{color:var(--accent-ink)}.vector-mode-hint{color:var(--muted);font-size:10px;line-height:1.5}.export-panel{border-top:1px solid var(--line);flex:none;gap:7px;padding:14px 16px 16px;display:grid}.export-main{border:1px solid var(--export);background:var(--export);width:100%;min-height:50px;color:var(--export-ink);letter-spacing:-.01em;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:0 18px;font-size:13.5px;font-weight:720;transition:transform .18s,box-shadow .18s;display:flex}.export-main:hover:not([disabled]){box-shadow:0 14px 30px color-mix(in srgb, var(--export) 32%, transparent);transform:translateY(-2px)}.export-secondary{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.export-secondary button{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);height:40px;color:var(--text);font-family:var(--font-mono);letter-spacing:.04em;font-size:11px;font-weight:700;transition:transform .18s,border-color .18s,background-color .18s}.export-secondary button:hover:not([disabled]){border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.workspace{flex-direction:column;gap:14px;min-width:0;min-height:0;padding:16px 20px 20px;display:flex}.preview-toolbar{flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.preview-left{align-items:center;gap:10px;display:flex}.segment{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(16px)saturate(140%);border-radius:13px;grid-template-columns:repeat(4,minmax(86px,1fr));padding:4px;display:grid;position:relative}.segment:before{content:"";background:var(--accent);width:calc(25% - 2px);box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 36%, transparent);border-radius:10px;transition:transform .34s cubic-bezier(.2,.85,.25,1),background-color .24s,box-shadow .24s;position:absolute;top:4px;bottom:4px;left:4px}.segment[data-view=result]:before{transform:translate(100%)}.segment[data-view=vector]:before{transform:translate(200%)}.segment[data-view=outline]:before,.segment[data-view=outlines]:before{background:var(--outline);box-shadow:0 6px 18px color-mix(in srgb, var(--outline) 36%, transparent);transform:translate(300%)}.segment button{z-index:1;min-width:86px;height:38px;color:var(--muted);border-radius:10px;font-size:12px;font-weight:700;transition:color .24s;position:relative}.segment button.active{color:var(--accent-ink)}.edit-tools{align-items:center;gap:8px;display:flex}#lassoTool{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);height:38px;color:var(--text);align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:680;transition:transform .18s,border-color .18s,background-color .18s,box-shadow .18s,color .18s;display:inline-flex}#lassoTool:hover:not([disabled]){border-color:var(--accent);transform:translateY(-1px)}.lasso-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3 2;flex:none;width:17px;height:17px}#lassoTool kbd{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);border-radius:5px;padding:2px 5px;font-size:8px;font-weight:600}#lassoTool.active,#lassoTool[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}#lassoTool.is-negative{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent)}#lassoTool.is-negative kbd{border-color:color-mix(in srgb, var(--accent-ink) 45%, transparent);color:inherit;background:0 0}.status{text-align:center;min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:560;overflow:hidden}.zoom-tools{align-items:center;gap:6px;display:flex}.zoom-tools button{border:1px solid var(--line);background:var(--panel);min-width:32px;height:32px;color:var(--text);border-radius:9px;place-items:center;padding:0 10px;font-size:11.5px;font-weight:680;transition:transform .18s,border-color .18s;display:grid}.zoom-tools button:hover:not([disabled]){border-color:var(--accent);transform:translateY(-1px)}.zoom-tools input[type=range]{width:min(85px,8.5vw)}.canvas-wrap{border-radius:var(--radius);border:1px solid var(--line);background-color:var(--surface);background-image:linear-gradient(to right, color-mix(in srgb, var(--line) 45%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--line) 45%, transparent) 1px, transparent 1px);cursor:grab;background-size:28px 28px;flex:1;min-height:0;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.canvas-wrap.is-zoomed{scrollbar-width:thin;overflow:auto}.canvas-wrap.is-panning{cursor:grabbing}.canvas-wrap.is-lasso,.app.is-lasso .canvas-wrap{cursor:crosshair}.canvas-wrap.drag,.app.drag .canvas-wrap{border:1px dashed var(--accent);box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--accent) 12%, transparent), inset 0 0 60px color-mix(in srgb, var(--accent) 14%, transparent)}.canvas-wrap.is-processing .canvas-stage{opacity:.42;transform:scale(.995)}.canvas-wrap.is-auto-scanning:before{content:"";z-index:6;opacity:0;background:var(--accent);height:2px;box-shadow:0 0 18px 3px color-mix(in srgb, var(--accent) 55%, transparent);pointer-events:none;animation:1.6s cubic-bezier(.45,0,.55,1) scan;position:absolute;top:0;left:0;right:0}.canvas-action-layer{z-index:8;pointer-events:none;align-items:center;gap:8px;display:none;position:absolute;top:12px;left:12px;right:12px}.app.has-image .canvas-action-layer{display:flex}.canvas-corner-action,.change-image-button{pointer-events:auto;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);min-width:40px;height:40px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:11.5px;font-weight:680;transition:transform .18s,border-color .18s,background-color .18s,color .18s;display:inline-flex;box-shadow:0 8px 22px #0f10151a}.canvas-corner-action:hover:not([disabled]),.change-image-button:hover:not([disabled]){border-color:var(--accent);transform:translateY(-2px)}.canvas-undo-action{width:40px;padding:0;font-size:17px}.canvas-lasso-action{display:none}.canvas-lasso-action[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.change-image-button{margin-left:auto}.empty{z-index:4;border-radius:var(--radius);text-align:center;cursor:pointer;align-content:center;justify-items:center;gap:10px;padding:32px;transition:background-color .2s;display:none;position:absolute;inset:0}.app.is-empty .empty{display:grid}.empty-icon{background:var(--accent);width:58px;height:58px;color:var(--accent-ink);box-shadow:0 14px 32px color-mix(in srgb, var(--accent) 34%, transparent);border-radius:50%;place-items:center;margin-bottom:6px;font-size:22px;display:grid}.empty strong{letter-spacing:-.03em;font-size:19px;font-weight:700}.empty span:not(.empty-icon){max-width:380px;color:var(--muted);font-size:12.5px;line-height:1.6}.empty small{color:var(--subtle);font-size:10px}.empty:hover,.canvas-wrap.drag .empty,.app.drag .empty{background:color-mix(in srgb, var(--accent-soft) 62%, transparent)}.canvas-center{place-items:center;width:max-content;min-width:100%;min-height:100%;padding:20px;display:grid}.canvas-stage{filter:drop-shadow(0 18px 44px #14162029);transition:opacity .24s,transform .24s;animation:.5s cubic-bezier(.2,.78,.18,1) both stage-in;display:table;position:relative}#canvas{display:block}.vector-preview,.lasso-overlay{width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.vector-preview-shape{fill:var(--vector-fill,#000);fill-rule:nonzero}.vector-preview.is-outline .vector-preview-shape{fill:none;stroke:var(--outline);stroke-width:1.8px;vector-effect:non-scaling-stroke}.lasso-overlay{pointer-events:none}.app.is-lasso .lasso-overlay,.canvas-wrap.is-lasso .lasso-overlay{pointer-events:auto}#lassoPath{fill:color-mix(in srgb, var(--accent) 12%, transparent);stroke:var(--accent);stroke-width:2px;stroke-dasharray:7 5;stroke-linejoin:round;vector-effect:non-scaling-stroke}#lassoPath.is-keep,.lasso-overlay.is-keep #lassoPath,.canvas-wrap.is-lasso-keep #lassoPath{fill:color-mix(in srgb, var(--accent) 18%, transparent);stroke-dasharray:2 4}.processing-loader{z-index:9;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(18px)saturate(140%);max-width:calc(100% - 32px);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:10px 16px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.processing-loader strong{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:620;overflow:hidden}.spinner{border:2px solid var(--line-strong);border-top-color:var(--text);border-radius:50%;flex:none;width:14px;height:14px;animation:.65s linear infinite spin}.vector-color-popover{z-index:90;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(20px)saturate(140%);width:264px;box-shadow:var(--shadow);border-radius:14px;gap:12px;padding:12px;animation:.18s cubic-bezier(.2,.85,.25,1) both color-popover-in;display:grid;position:fixed}.vector-color-field{border-radius:10px;width:240px;height:150px;position:relative;overflow:hidden}#vectorColorField{cursor:crosshair;width:240px;height:150px;display:block}#vectorColorCursor{pointer-events:none;border:2px solid #fff;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #00000073,0 2px 6px #0006}.vector-hue-control,.vector-hex-control{gap:6px;display:grid}.vector-hue-control>span,.vector-hex-control>span{letter-spacing:.11em;text-transform:uppercase;color:var(--subtle);font-size:8.5px;font-weight:800}#vectorHue{height:18px}#vectorHue::-webkit-slider-runnable-track{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:999px;height:18px}#vectorHue::-webkit-slider-thumb{background:#fff;border-color:#fff;margin-top:1px;box-shadow:0 0 0 1px #00000059,0 2px 8px #00000059}#vectorHue::-moz-range-track{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:999px;height:18px}#vectorHue::-moz-range-thumb{background:#fff;border-color:#fff;box-shadow:0 0 0 1px #00000059,0 2px 8px #00000059}#vectorColorHex{border:1px solid var(--line-strong);background:var(--surface);height:34px;color:var(--text);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:9px;padding:0 10px;font-size:12px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes orbit{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.08)}to{transform:rotate(360deg)scale(1)}}@keyframes scan{0%{opacity:0;top:0}12%{opacity:1}50%{opacity:1;top:calc(100% - 2px)}88%{opacity:1}to{opacity:0;top:0}}@keyframes enter{0%{transform:translateY(8px)}to{transform:none}}@keyframes editor-in{0%{opacity:0;transform:translateY(14px)scale(.995)}to{opacity:1;transform:none}}@keyframes stage-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes settings-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes color-popover-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:none}}@keyframes logo-shape{0%,to{transform:scaleY(1)translateY(0)}42%{transform:scaleY(.9)translateY(3px)}72%{transform:scaleY(1.04)translateY(-1px)}}@keyframes logo-pointer{0%,to{transform:translate(0)rotate(0)}38%{transform:translate(4px,-3px)rotate(-3.5deg)}70%{transform:translate(-2px,1px)rotate(1.5deg)}}@keyframes logo-node{0%,to{opacity:0;transform:scale(.7)}16%{opacity:1;transform:scale(1.1)}38%{opacity:0;transform:scale(.7)}}@media (max-width:900px){.topbar{height:58px;padding:0 14px}.privacy-compact,.topbar-claim{display:none}.editor-shell{flex-direction:column-reverse;height:auto;display:flex}.inspector{border-right:0;border-top:1px solid var(--line)}.inspector-file{display:none}.inspector-scroll{overflow-y:visible}.workspace{height:calc(80svh - 58px);min-height:340px;padding:12px 12px 14px}.preview-toolbar{grid-template-columns:minmax(0,1fr);gap:8px}.preview-left{min-width:0}.segment{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.segment button{min-width:0}.edit-tools,.zoom-tools{display:none}.canvas-lasso-action{display:inline-flex}.control{grid-template-rows:42px}.control-value{border-color:var(--line);height:30px;font-size:11px}.app input[type=range]{height:42px}.app input[type=range]::-webkit-slider-runnable-track{height:5px}.app input[type=range]::-webkit-slider-thumb{border-width:4px;width:28px;height:28px;margin-top:-11.5px}.app input[type=range]::-moz-range-track{height:5px}.app input[type=range]::-moz-range-thumb{border-width:4px;width:28px;height:28px}#vectorHue{height:24px}#vectorHue::-webkit-slider-runnable-track{height:18px}#vectorHue::-moz-range-track{height:18px}#vectorHue::-webkit-slider-thumb{border-width:3px;width:20px;height:20px;margin-top:-1px}#vectorHue::-moz-range-thumb{border-width:3px;width:20px;height:20px}.export-panel{border:1px solid color-mix(in srgb, var(--accent) 70%, #000);background:var(--accent);box-shadow:0 18px 44px color-mix(in srgb, var(--accent) 34%, transparent);border-radius:16px;margin:12px;padding:12px;position:sticky;bottom:12px}.export-main{border-color:var(--accent-ink);background:var(--accent-ink);color:var(--accent)}.export-secondary button{border-color:color-mix(in srgb, var(--accent-ink) 45%, transparent);color:var(--accent-ink);background:0 0}.export-secondary button:hover:not([disabled]){border-color:var(--accent-ink);background:color-mix(in srgb, var(--accent-ink) 16%, transparent)}.canvas-wrap{touch-action:pan-y}.canvas-wrap.is-zoomed,.canvas-wrap.is-lasso,.app.is-lasso .canvas-wrap{touch-action:none}.processing-loader{position:fixed;bottom:22px}}@media (max-width:560px){.topbar{padding:0 10px}.topbar .brand-logo{width:42px}.workspace{padding:12px 8px 8px}.segment button{font-size:11px}}
