:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, "Microsoft YaHei UI", monospace;--color-page:#f6f8fb;--color-surface:#fff;--color-surface-subtle:#f9fbfc;--color-text:#1a2433;--color-heading:#111827;--color-muted:#526173;--color-border:#d9e2ec;--color-accent:#0f766e;--color-accent-strong:#0b5f59;--color-accent-soft:#d9f2ef;--color-focus:#d9464d;--color-warn:#d9464d;--color-warn-bg:#fff1f2;--color-grid-border:#b7c7d8;--color-grid-cell:#eef6f4;--color-grid-text:#183b56;--color-code-bg:#edf2f7;--color-code-border:#cfd9e3;--color-code-text:#9f1239;--color-selection:#164e63;--color-selection-text:#fff;--color-success:#0f766e;--color-info:#2563eb;--color-overlay:#d9464d;--color-overlay-soft:#d9464d33;--content-max:1120px;--radius-small:4px;--radius-medium:8px;--radius-large:8px;--shadow-panel:0 20px 60px #0f172a24;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:5rem}*,:before,:after{box-sizing:border-box}html{background:var(--color-page);min-width:320px;height:100%}body{min-height:100%;color:var(--color-text);background:var(--color-page);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.6;overflow:hidden}body::selection{color:var(--color-selection-text);background:var(--color-selection)}a{color:inherit;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.25em;text-decoration-thickness:.08em}a:hover{color:var(--color-accent-strong)}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}button,input{font:inherit}button{border:0}h1,h2,h3,p{margin:0}code{border:1px solid var(--color-code-border);border-radius:var(--radius-small);color:var(--color-code-text);background:var(--color-code-bg);font-family:var(--font-mono);padding:.08em .32em;font-size:.94em}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.skip-link{top:var(--space-3);left:var(--space-3);z-index:100;border-radius:var(--radius-small);padding:var(--space-2) var(--space-3);color:#fff;background:var(--color-heading);font-weight:750;text-decoration:none;position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{background:var(--color-page);grid-template-rows:auto minmax(0,1fr);width:100%;height:100dvh;display:grid;overflow:hidden}.workspace-toolbar{z-index:20;border-bottom:1px solid var(--color-border);min-height:4rem;padding:var(--space-2) clamp(var(--space-3), 3vw, var(--space-6));justify-content:space-between;align-items:center;gap:var(--space-4);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;display:flex;position:sticky;top:0;box-shadow:0 1px 16px #0f172a0f}.toolbar-brand{align-items:center;gap:var(--space-3);color:var(--color-heading);letter-spacing:-.01em;flex:none;font-size:.95rem;font-weight:800;display:flex}.brand-mark{color:#fff;background:var(--color-accent);letter-spacing:.04em;border-radius:7px;place-items:center;width:2rem;height:2rem;font-size:.7rem;display:grid}.toolbar-actions,.zoom-controls,.view-tabs{align-items:center;gap:var(--space-2);display:flex}.toolbar-actions{justify-content:flex-end}.button,.view-tab{border-radius:var(--radius-medium);white-space:nowrap;cursor:pointer;border:1px solid #0000;min-height:2.5rem;padding:.55rem .9rem;font-size:.86rem;font-weight:720;line-height:1;transition:border-color .14s,background-color .14s,color .14s,transform .14s}.button:hover:not(:disabled),.view-tab:hover:not(:disabled){transform:translateY(-1px)}.button:disabled,.view-tab:disabled{cursor:not-allowed;opacity:.42}.button-primary{color:#fff;background:var(--color-accent)}.button-primary:hover:not(:disabled){background:var(--color-accent-strong)}.button-secondary,.button-compact{border-color:var(--color-border);color:var(--color-text);background:var(--color-surface)}.button-secondary:hover:not(:disabled),.button-compact:hover:not(:disabled){background:var(--color-surface-subtle);border-color:#a8b7c7}.button-compact{min-width:2.5rem;min-height:2.25rem;padding:.45rem .65rem}.workspace-main{min-height:0;overflow:hidden}.upload-view{place-content:center;gap:var(--space-4);width:min(100% - 2rem,50rem);height:100%;padding:var(--space-5) 0;margin:0 auto;display:grid}.drop-zone{align-content:center;place-items:center;gap:var(--space-3);width:min(86vw,40rem);min-height:min(54vh,25rem);padding:var(--space-7);color:var(--color-text);background:linear-gradient(145deg, #ffffffeb, #f0f9f8eb), var(--color-surface);text-align:center;cursor:pointer;border:2px dashed #afc0cf;border-radius:18px;transition:border-color .16s,background-color .16s,transform .16s;display:grid;box-shadow:0 20px 60px #0f172a14}.drop-zone:hover,.drop-zone.is-dragging{border-color:var(--color-accent);background:var(--color-accent-soft);transform:translateY(-2px)}.drop-zone:focus-within{outline:3px solid var(--color-focus);outline-offset:4px}.upload-mark{min-width:6.5rem;min-height:4rem;color:var(--color-accent-strong);font-family:var(--font-mono);background:#fff;border:1px solid #9fccc6;border-radius:12px;place-items:center;font-size:.9rem;font-weight:800;display:grid;box-shadow:0 8px 20px #0f766e1a}.drop-zone-title{color:var(--color-heading);letter-spacing:-.025em;font-size:clamp(1.35rem,3vw,1.8rem);font-weight:800}.drop-zone-copy,.file-status{color:var(--color-muted);font-size:.92rem}.file-status{text-align:center;min-height:1.5rem}.file-status[data-state=error]{color:var(--color-warn)}.editor-workspace{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;display:grid;position:relative}.editor-chrome{border-bottom:1px solid var(--color-border);padding:var(--space-2) clamp(var(--space-3), 3vw, var(--space-5));align-items:center;gap:var(--space-3);background:var(--color-surface);grid-template-columns:auto minmax(12rem,1fr) auto;display:grid}.view-tabs{border-radius:var(--radius-medium);background:#eef2f6;padding:3px}.view-tab{min-height:2.15rem;color:var(--color-muted);background:0 0;border:0;padding:.48rem .8rem}.view-tab[aria-selected=true]{color:var(--color-heading);background:#fff;box-shadow:0 1px 4px #0f172a1f}.editor-hint{color:var(--color-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.zoom-controls{justify-content:flex-end}.zoom-status{min-width:5.8rem;color:var(--color-muted);font-family:var(--font-mono);text-align:right;font-size:.78rem}.editor-frame{overscroll-behavior:contain;min-width:0;min-height:0;padding:var(--space-4);background-color:#dfe6ec;background-image:linear-gradient(45deg,#ffffff38 25%,#0000 25%),linear-gradient(-45deg,#ffffff38 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff38 75%),linear-gradient(-45deg,#0000 75%,#ffffff38 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;position:relative;overflow:auto}.editor-stage{background:#fff;flex:none;margin:auto;position:relative;box-shadow:0 14px 36px #0f172a2e}.editor-image,.grid-overlay,.result-image{width:100%;height:100%;display:block;position:absolute;inset:0}.editor-image,.result-image{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.grid-overlay{touch-action:none;overflow:visible}.grid-move-area{fill:#0f766e14;cursor:move}.grid-search-area{fill:#d9464d12}.grid-search-outline{fill:none;stroke:#f43f5e;stroke-width:2px;stroke-dasharray:8 5}.grid-boundary{stroke:#0f766eb8;stroke-width:1px;pointer-events:none}.grid-boundary-outer{stroke:#f43f5e;stroke-width:2px}.grid-edge-handle,.grid-corner-target{fill:#0000;stroke:#0000}.grid-edge-handle[data-grid-handle=n],.grid-edge-handle[data-grid-handle=s]{cursor:ns-resize}.grid-edge-handle[data-grid-handle=e],.grid-edge-handle[data-grid-handle=w]{cursor:ew-resize}.grid-corner-target[data-grid-handle=nw],.grid-corner-target[data-grid-handle=se]{cursor:nwse-resize}.grid-corner-target[data-grid-handle=ne],.grid-corner-target[data-grid-handle=sw]{cursor:nesw-resize}.grid-corner-visual,.grid-edge-visual{fill:#fff;stroke:#f43f5e;stroke-width:2px;vector-effect:non-scaling-stroke}[data-grid-handle]:focus-visible{stroke:var(--color-focus);stroke-width:4px;vector-effect:non-scaling-stroke;outline:none}.grid-edge-handle:focus-visible+.grid-edge-visual,.grid-corner-target:focus-visible+.grid-corner-visual{fill:var(--color-focus)}.result-return{right:clamp(var(--space-3), 3vw, var(--space-5));z-index:5;position:absolute;bottom:3.5rem}.image-details{border-top:1px solid var(--color-border);padding:var(--space-2) clamp(var(--space-3), 3vw, var(--space-5));color:var(--color-muted);background:var(--color-surface);font-size:.8rem}.image-details summary{cursor:pointer;width:fit-content;font-weight:700}.details-content{gap:var(--space-2) var(--space-5);padding-top:var(--space-2);flex-wrap:wrap;display:flex}.mobile-action-bar{display:none}@media (width<=760px){.app-shell{grid-template-rows:auto minmax(0,1fr) auto}.workspace-toolbar{min-height:3.75rem;padding:var(--space-2) var(--space-3);align-items:flex-start;overflow-x:auto}.toolbar-brand{min-height:2.5rem}.toolbar-brand>span:last-child{display:none}.toolbar-actions{flex:none}.desktop-generate,.desktop-download{display:none}.editor-chrome{padding:var(--space-2) var(--space-3);grid-template-columns:auto 1fr}.editor-hint{text-align:left;grid-area:2/1/auto/-1}.zoom-controls{min-width:0;overflow-x:auto}.zoom-status{display:none}.editor-frame{padding:var(--space-3)}.image-details{padding-inline:var(--space-3)}.mobile-action-bar{z-index:30;gap:var(--space-2);border-top:1px solid var(--color-border);padding:var(--space-3);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;display:grid;box-shadow:0 -8px 24px #0f172a14}.mobile-action-bar .button{width:100%;min-height:3rem}.app-shell[data-state=empty] .mobile-action-bar,.app-shell[data-state=loading] .mobile-action-bar{display:none}.drop-zone{min-height:min(48vh,22rem);padding:var(--space-5)}}@media (width<=480px){.button,.view-tab{font-size:.8rem}.toolbar-actions{gap:.35rem}.toolbar-actions .button{padding-inline:.65rem}.zoom-controls .button-compact:first-child{display:none}}
