.px-root{--px-bg: #f6f6f7;--px-surface: #ffffff;--px-border: #e4e4e7;--px-border-strong: #d4d4d8;--px-text: #18181b;--px-muted: #71717a;--px-faint: #a1a1aa;--px-accent: #4f46e5;--px-accent-hover: #4338ca;--px-accent-soft: #eef2ff;--px-danger: #dc2626;--px-radius: 10px;--px-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .06);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--px-text);background:var(--px-bg);font-size:14px;line-height:1.45;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;-webkit-font-smoothing:antialiased}.px-root *,.px-root *:before,.px-root *:after{box-sizing:border-box}.px-root button{font:inherit;color:inherit;cursor:pointer}.px-root button:disabled{cursor:default;opacity:.4}.px-root :focus-visible{outline:2px solid var(--px-accent);outline-offset:2px}.px-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 12px;border-radius:8px;border:1px solid transparent;background:transparent;font-weight:500;white-space:nowrap}.px-btn:hover:not(:disabled){background:#f0f0f2}.px-btn-primary{background:var(--px-accent);color:#fff!important}.px-btn-primary:hover:not(:disabled){background:var(--px-accent-hover)}.px-btn-outline{border-color:var(--px-border);background:var(--px-surface)}.px-btn-icon{width:34px;padding:0}.px-btn.is-active{background:var(--px-accent-soft);color:var(--px-accent)}.px-btn svg{width:18px;height:18px;flex:none}.px-upload{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;overflow:auto}.px-brand{display:flex;align-items:center;gap:8px;font-weight:650;font-size:15px;letter-spacing:-.01em}.px-brand-mark{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,#6366f1,#4338ca);display:grid;place-items:center;color:#fff;font-size:13px;font-weight:700}.px-upload h1{font-size:clamp(26px,4vw,36px);letter-spacing:-.025em;margin:28px 0 8px;text-align:center;font-weight:700}.px-upload p.px-lede{color:var(--px-muted);margin:0 0 28px;text-align:center;max-width:440px}.px-drop{width:min(560px,100%);border:1.5px dashed var(--px-border-strong);border-radius:16px;background:var(--px-surface);padding:44px 24px;display:flex;flex-direction:column;align-items:center;gap:14px;transition:border-color .15s,background .15s}.px-drop.is-over{border-color:var(--px-accent);background:var(--px-accent-soft)}.px-drop-icon{width:44px;height:44px;border-radius:12px;background:var(--px-accent-soft);color:var(--px-accent);display:grid;place-items:center}.px-drop-icon svg{width:22px;height:22px}.px-drop .px-btn-primary{height:40px;padding:0 18px;font-size:14px}.px-drop small{color:var(--px-faint)}.px-privacy{margin-top:18px;color:var(--px-muted);font-size:12.5px;display:flex;align-items:center;gap:6px}.px-privacy svg{width:14px;height:14px}.px-error{margin-top:16px;color:var(--px-danger);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;font-size:13px;max-width:560px}.px-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px}.px-progress{width:min(320px,80vw);height:4px;border-radius:4px;background:#e4e4e7;overflow:hidden}.px-progress>div{height:100%;background:var(--px-accent);transition:width .2s}.px-loading span{color:var(--px-muted);font-size:13px}.px-topbar{height:52px;flex:none;display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--px-surface);border-bottom:1px solid var(--px-border)}.px-topbar .px-file{color:var(--px-muted);font-size:13px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.px-topbar .px-sep{width:1px;height:20px;background:var(--px-border);margin:0 4px}.px-topbar .px-spacer{flex:1}.px-zoom-label{min-width:46px;text-align:center;font-variant-numeric:tabular-nums;color:var(--px-muted);font-size:12.5px}.px-body{flex:1;display:flex;min-height:0;position:relative}.px-stage{flex:1;min-width:0;position:relative;overflow:auto;display:flex;padding:32px;background-color:var(--px-bg);background-image:radial-gradient(#e4e4e7 1px,transparent 1px);background-size:18px 18px}.px-stage-inner{position:relative;margin:auto;flex:none;box-shadow:var(--px-shadow);line-height:0}.px-stage canvas{display:block;image-rendering:auto}.px-overlay{position:absolute;inset:0;cursor:default}.px-overlay.is-text-hover{cursor:text}.px-overlay svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.px-hint{position:absolute;left:50%;bottom:20px;transform:translate(-50%);background:#18181b;color:#fff;font-size:12.5px;padding:7px 12px;border-radius:999px;pointer-events:none;white-space:nowrap;box-shadow:var(--px-shadow)}.px-busy{position:absolute;top:14px;left:50%;transform:translate(-50%);background:var(--px-surface);border:1px solid var(--px-border);border-radius:999px;padding:5px 12px;font-size:12.5px;color:var(--px-muted);box-shadow:var(--px-shadow);display:flex;gap:8px;align-items:center}.px-spinner{width:12px;height:12px;border-radius:50%;border:2px solid #d4d4d8;border-top-color:var(--px-accent);animation:px-spin .8s linear infinite}@keyframes px-spin{to{transform:rotate(360deg)}}.px-panel{width:320px;flex:none;background:var(--px-surface);border-left:1px solid var(--px-border);display:flex;flex-direction:column;min-height:0}.px-panel.px-left{border-left:0;border-right:1px solid var(--px-border);width:280px}.px-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px 16px}.px-panel-head h2{font-size:13.5px;font-weight:600;margin:0}.px-panel-body{padding:4px 16px 16px;overflow:auto;flex:1}.px-panel-foot{padding:12px 16px;border-top:1px solid var(--px-border);display:flex;gap:8px}.px-panel-foot .px-btn{flex:1}.px-field{margin-top:14px}.px-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--px-muted);margin-bottom:6px;font-weight:500}.px-input,.px-select,.px-textarea{width:100%;border:1px solid var(--px-border);border-radius:8px;background:var(--px-surface);padding:7px 10px;font:inherit;color:inherit}.px-textarea{resize:vertical;min-height:64px;font-size:15px;line-height:1.4}.px-input:focus,.px-select:focus,.px-textarea:focus{outline:none;border-color:var(--px-accent);box-shadow:0 0 0 3px #4f46e51f}.px-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.px-color{display:flex;gap:8px;align-items:center}.px-color input[type=color]{width:34px;height:34px;border:1px solid var(--px-border);border-radius:8px;padding:2px;background:#fff;flex:none}.px-seg{display:flex;border:1px solid var(--px-border);border-radius:8px;padding:2px;gap:2px}.px-seg button{flex:1;height:28px;border:0;background:transparent;border-radius:6px;display:grid;place-items:center}.px-seg button.is-on{background:var(--px-accent-soft);color:var(--px-accent)}.px-seg svg{width:16px;height:16px}.px-match{font-size:12px;color:var(--px-muted);margin-top:6px;display:flex;gap:6px;align-items:center}.px-dot{width:7px;height:7px;border-radius:50%;flex:none}.px-details{margin-top:18px;border-top:1px solid var(--px-border);padding-top:10px}.px-details summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--px-muted);list-style:none;display:flex;align-items:center;gap:6px}.px-details summary::-webkit-details-marker{display:none}.px-details summary svg{width:14px;height:14px;transition:transform .15s}.px-details[open] summary svg{transform:rotate(90deg)}.px-check{display:flex;gap:8px;align-items:flex-start;font-size:13px;margin-top:12px}.px-check input{margin-top:3px}.px-note{font-size:12px;color:var(--px-muted);margin-top:6px}.px-list{list-style:none;margin:8px 0 0;padding:0}.px-list li button{width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:8px;display:flex;gap:8px;align-items:center}.px-list li button:hover{background:#f4f4f5}.px-list li button.is-selected{background:var(--px-accent-soft);color:var(--px-accent)}.px-list .px-list-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.px-list .px-edited{font-size:11px;color:var(--px-accent);font-weight:600}.px-legend{display:flex;gap:12px;font-size:11.5px;color:var(--px-muted);margin-top:10px;align-items:center}.px-dialog-backdrop{position:fixed;inset:0;background:#18181b59;display:grid;place-items:center;z-index:50;padding:16px}.px-dialog{width:min(380px,100%);background:var(--px-surface);border-radius:14px;box-shadow:0 20px 60px #0003;padding:20px}.px-dialog h2{margin:0 0 4px;font-size:16px}.px-dialog .px-note{margin-bottom:10px}.px-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}@media(max-width:820px){.px-topbar{padding:0 8px;gap:4px}.px-topbar .px-file,.px-topbar .px-hide-sm{display:none}.px-panel{position:absolute;left:0;right:0;bottom:0;width:auto;max-height:62%;border-left:0;border-top:1px solid var(--px-border);border-radius:16px 16px 0 0;box-shadow:0 -10px 30px #0000001f;z-index:20}.px-panel.px-left{width:auto;border-right:0}.px-stage{padding:16px}}
