.pt-root{--pt-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--pt-mono: "SF Mono", "JetBrains Mono", ui-monospace, Consolas, monospace;--pt-shell: 1180px;--pt-gutter: clamp(16px, 3vw, 28px);--pt-nav-h: 52px;--pt-r-xs: 4px;--pt-r-sm: 6px;--pt-r-md: 10px;--pt-r-lg: 14px;--pt-r-full: 999px;--pt-blue-50: #eff5ff;--pt-blue-100: #dbe8ff;--pt-blue-400: #60a5fa;--pt-blue-500: #3b82f6;--pt-blue-600: #2563eb;--pt-blue-700: #1d4ed8;--pt-ease: cubic-bezier(.22, 1, .36, 1);--pt-ease-io: cubic-bezier(.4, 0, .2, 1);--pt-fast: .14s;--pt-mid: .24s;--pt-c: var(--pt-blue-600);--pt-c-rgb: 37, 99, 235;min-height:100vh;font-family:var(--pt-font);background:var(--pt-bg);color:var(--pt-fg);-webkit-font-smoothing:antialiased}.pt-root[data-theme=light]{--pt-bg: #f4f7fd;--pt-panel: #ffffff;--pt-chip: #f4f6fa;--pt-chip-hover: #eaf1ff;--pt-border: #e6ebf4;--pt-border-2: #d4dcea;--pt-fg: #0f172a;--pt-fg-2: #4a5568;--pt-fg-3: #8a94a6;--pt-sh-1: 0 1px 2px rgba(15, 23, 42, .04);--pt-sh-2: 0 4px 16px rgba(15, 23, 42, .07);--pt-sh-3: 0 10px 30px rgba(29, 78, 216, .12);--pt-tint: .1;--pt-ring: .22;color-scheme:light}.pt-root[data-theme=dark]{--pt-bg: #0a0e18;--pt-panel: #121826;--pt-chip: #1a2234;--pt-chip-hover: #222d45;--pt-border: #232c40;--pt-border-2: #33405c;--pt-fg: #eef2f9;--pt-fg-2: #a3aec2;--pt-fg-3: #6f7b91;--pt-sh-1: 0 1px 2px rgba(0, 0, 0, .4);--pt-sh-2: 0 4px 16px rgba(0, 0, 0, .44);--pt-sh-3: 0 10px 30px rgba(0, 0, 0, .5);--pt-tint: .18;--pt-ring: .34;color-scheme:dark}.pt-shell{width:100%;max-width:var(--pt-shell);margin-inline:auto;padding-inline:var(--pt-gutter);box-sizing:border-box}.pt-topbar{position:sticky;top:0;z-index:60;height:var(--pt-nav-h);background:var(--pt-panel);border-bottom:1px solid var(--pt-border)}.pt-topbar-in{display:flex;align-items:center;gap:10px;height:100%}.pt-logo{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;height:26px;padding-right:14px;border-right:1px solid var(--pt-border);text-decoration:none;color:var(--pt-fg)}.pt-logo-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--pt-r-sm);background:linear-gradient(140deg,var(--pt-blue-500),var(--pt-blue-700));color:#fff;font-size:12px;font-weight:800}.pt-logo-name{font-size:15px;font-weight:700;white-space:nowrap}.pt-crumb{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px;color:var(--pt-fg-3)}.pt-crumb a{color:var(--pt-fg-3);text-decoration:none;white-space:nowrap}.pt-crumb a:hover{color:var(--pt-blue-600)}.pt-crumb-sep{opacity:.5}.pt-crumb-cur{color:var(--pt-fg);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-top-right{display:flex;align-items:center;gap:4px;margin-left:auto}.pt-icon-btn{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:var(--pt-r-sm);background:transparent;color:var(--pt-fg-2);cursor:pointer;transition:background var(--pt-fast) var(--pt-ease-io),color var(--pt-fast) var(--pt-ease-io)}.pt-icon-btn:hover{background:var(--pt-chip);color:var(--pt-fg)}.pt-icon-btn svg{width:16px;height:16px}.pt-hero{padding:clamp(30px,5vw,56px) 0 clamp(20px,3vw,30px);text-align:center;background:radial-gradient(700px 300px at 50% 0%,rgba(59,130,246,.13),transparent 70%)}.pt-hero-t{margin:0;font-size:clamp(1.6rem,3.6vw,2.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.2}.pt-hero-t span{background:linear-gradient(96deg,var(--pt-blue-600),var(--pt-blue-400));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.pt-hero-d{max-width:560px;margin:14px auto 0;font-size:clamp(.875rem,1.2vw,1rem);line-height:1.7;color:var(--pt-fg-2)}.pt-hero-badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:18px}.pt-hero-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:1px solid var(--pt-border);border-radius:var(--pt-r-full);background:var(--pt-panel);font-size:12.5px;color:var(--pt-fg-2)}.pt-hero-badge svg{width:13px;height:13px;color:#059669}.pt-searchwrap{max-width:480px;margin:22px auto 0}.pt-search{display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;border:1px solid var(--pt-border-2);border-radius:var(--pt-r-full);background:var(--pt-panel);box-shadow:var(--pt-sh-2);transition:border-color var(--pt-fast) var(--pt-ease-io)}.pt-search:focus-within{border-color:var(--pt-blue-500)}.pt-search svg{width:16px;height:16px;flex-shrink:0;color:var(--pt-fg-3)}.pt-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--pt-fg);font-family:inherit;font-size:14px}.pt-search input::placeholder{color:var(--pt-fg-3)}.pt-cat{padding-top:clamp(28px,4vw,44px)}.pt-cat-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.pt-cat-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--pt-r-md);font-size:16px;background:rgba(var(--pt-c-rgb),var(--pt-tint));box-shadow:inset 0 0 0 1px rgba(var(--pt-c-rgb),var(--pt-ring))}.pt-cat-t{margin:0;font-size:15.5px;font-weight:700;letter-spacing:-.01em}.pt-cat-n{font-size:12px;color:var(--pt-fg-3);font-variant-numeric:tabular-nums}.pt-cat-rule{flex:1;height:1px;background:linear-gradient(90deg,rgba(var(--pt-c-rgb),.35),var(--pt-border) 40%,transparent)}.pt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px}.pt-card{position:relative;display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--pt-border);border-radius:var(--pt-r-lg);background:var(--pt-panel);box-shadow:var(--pt-sh-1);text-decoration:none;color:inherit;overflow:hidden;transition:transform var(--pt-mid) var(--pt-ease),border-color var(--pt-mid) var(--pt-ease-io),box-shadow var(--pt-mid) var(--pt-ease-io)}.pt-card:hover{transform:translateY(-3px);border-color:rgba(var(--pt-c-rgb),.45);box-shadow:0 12px 28px rgba(var(--pt-c-rgb),.14),var(--pt-sh-2)}.pt-card-ico{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:var(--pt-r-md);font-size:18px;background:rgba(var(--pt-c-rgb),var(--pt-tint));box-shadow:inset 0 0 0 1px rgba(var(--pt-c-rgb),var(--pt-ring));transition:transform var(--pt-mid) var(--pt-ease)}.pt-card:hover .pt-card-ico{transform:scale(1.08) rotate(-4deg)}.pt-card-body{min-width:0;flex:1}.pt-card-name{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:650;color:var(--pt-fg);margin-bottom:4px}.pt-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.55;color:var(--pt-fg-3)}.pt-badge{flex-shrink:0;padding:2px 6px;border-radius:var(--pt-r-xs);font-size:10px;font-weight:700;letter-spacing:.02em}.pt-badge-local{background:#0596691f;color:#059669}.pt-badge-server{background:#2563eb1f;color:var(--pt-blue-600)}.pt-work{padding:clamp(20px,3vw,32px) 0 clamp(40px,6vw,72px)}.pt-work-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.pt-work-ico{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:var(--pt-r-lg);font-size:22px;background:rgba(var(--pt-c-rgb),var(--pt-tint));box-shadow:inset 0 0 0 1px rgba(var(--pt-c-rgb),var(--pt-ring))}.pt-work-t{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:750;letter-spacing:-.02em}.pt-work-d{margin:0;font-size:13px;line-height:1.6;color:var(--pt-fg-3)}.pt-panes{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.pt-pane{padding:18px;border:1px solid var(--pt-border);border-radius:var(--pt-r-lg);background:var(--pt-panel);box-shadow:var(--pt-sh-1)}.pt-side{position:sticky;top:calc(var(--pt-nav-h) + 16px)}.pt-pane-t{display:flex;align-items:center;gap:7px;margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.01em;color:var(--pt-fg-2)}.pt-pane-t svg{width:14px;height:14px;color:var(--pt-fg-3)}.pt-drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:clamp(28px,5vw,48px) 20px;border:2px dashed var(--pt-border-2);border-radius:var(--pt-r-lg);background:var(--pt-chip);text-align:center;cursor:pointer;transition:border-color var(--pt-mid) var(--pt-ease-io),background var(--pt-mid) var(--pt-ease-io),transform var(--pt-mid) var(--pt-ease)}.pt-drop:hover{border-color:var(--pt-blue-400);background:var(--pt-blue-50)}.pt-root[data-theme=dark] .pt-drop:hover{background:var(--pt-chip-hover)}.pt-drop[data-over=true]{border-color:var(--pt-blue-500);background:var(--pt-blue-50);transform:scale(1.01)}.pt-root[data-theme=dark] .pt-drop[data-over=true]{background:var(--pt-chip-hover)}.pt-drop-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--pt-panel);color:var(--pt-blue-600);box-shadow:var(--pt-sh-1)}.pt-drop-ico svg{width:22px;height:22px}.pt-drop-t{font-size:14.5px;font-weight:650;color:var(--pt-fg)}.pt-drop-t b{color:var(--pt-blue-600)}.pt-drop-d{font-size:12.5px;color:var(--pt-fg-3)}.pt-files{display:flex;flex-direction:column;gap:8px}.pt-file{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--pt-border);border-radius:var(--pt-r-md);background:var(--pt-chip);transition:border-color var(--pt-fast) var(--pt-ease-io),background var(--pt-fast) var(--pt-ease-io)}.pt-file:hover{border-color:var(--pt-border-2)}.pt-file[data-dragging=true]{opacity:.4}.pt-file[data-dragover=true]{border-color:var(--pt-blue-500);border-style:dashed}.pt-file-handle{flex-shrink:0;display:grid;place-items:center;width:18px;color:var(--pt-fg-3);cursor:grab}.pt-file-handle:active{cursor:grabbing}.pt-file-handle svg{width:14px;height:14px}.pt-file-ico{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:var(--pt-r-sm);background:#dc26261a;color:#dc2626;font-size:9px;font-weight:800;letter-spacing:-.02em}.pt-file-info{flex:1;min-width:0}.pt-file-name{font-size:13px;font-weight:550;color:var(--pt-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-file-meta{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:11.5px;color:var(--pt-fg-3);font-variant-numeric:tabular-nums}.pt-file-x{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border:0;border-radius:var(--pt-r-sm);background:transparent;color:var(--pt-fg-3);cursor:pointer;transition:background var(--pt-fast) var(--pt-ease-io),color var(--pt-fast) var(--pt-ease-io)}.pt-file-x:hover{background:#dc26261a;color:#dc2626}.pt-file-x svg{width:14px;height:14px}.pt-files-foot{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--pt-border);font-size:12.5px;color:var(--pt-fg-3)}.pt-link-btn{border:0;padding:0;background:transparent;color:var(--pt-blue-600);font-family:inherit;font-size:12.5px;cursor:pointer;text-decoration:none}.pt-link-btn:hover{text-decoration:underline}.pt-field{margin-bottom:15px}.pt-label{display:flex;align-items:center;gap:5px;margin-bottom:7px;font-size:12.5px;font-weight:600;color:var(--pt-fg-2)}.pt-label-hint{font-size:11px;font-weight:400;color:var(--pt-fg-3)}.pt-input,.pt-select{width:100%;height:36px;padding:0 11px;border:1px solid var(--pt-border);border-radius:var(--pt-r-sm);background:var(--pt-chip);color:var(--pt-fg);font-family:inherit;font-size:13px;box-sizing:border-box;transition:border-color var(--pt-fast) var(--pt-ease-io),background var(--pt-fast) var(--pt-ease-io)}.pt-input:focus,.pt-select:focus{outline:none;border-color:var(--pt-blue-500);background:var(--pt-panel)}.pt-input-mono{font-family:var(--pt-mono);font-size:12.5px}.pt-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a94a6' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:13px}.pt-opts{display:grid;gap:6px}.pt-opts[data-cols="2"]{grid-template-columns:1fr 1fr}.pt-opts[data-cols="3"]{grid-template-columns:repeat(3,1fr)}.pt-opts[data-cols="4"]{grid-template-columns:repeat(4,1fr)}.pt-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 11px;border:1px solid var(--pt-border);border-radius:var(--pt-r-sm);background:var(--pt-chip);color:var(--pt-fg-2);font-family:inherit;font-size:12.5px;text-align:left;cursor:pointer;transition:all var(--pt-fast) var(--pt-ease-io)}.pt-opt:hover{border-color:var(--pt-border-2);color:var(--pt-fg)}.pt-opt[data-on=true]{border-color:var(--pt-c);background:rgba(var(--pt-c-rgb),.1);color:var(--pt-fg);font-weight:600}.pt-opt-sub{font-size:11px;font-weight:400;color:var(--pt-fg-3)}.pt-range{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--pt-r-full);background:var(--pt-border);outline:none;cursor:pointer}.pt-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--pt-c);border:2px solid var(--pt-panel);box-shadow:0 1px 4px #0003;cursor:pointer}.pt-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--pt-c);border:2px solid var(--pt-panel);cursor:pointer}.pt-range-row{display:flex;align-items:center;gap:10px}.pt-range-val{flex-shrink:0;min-width:46px;text-align:right;font-family:var(--pt-mono);font-size:12px;color:var(--pt-fg-2);font-variant-numeric:tabular-nums}.pt-check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--pt-fg-2);cursor:pointer;-webkit-user-select:none;user-select:none}.pt-check input{width:15px;height:15px;accent-color:var(--pt-c);cursor:pointer}.pt-color-row{display:flex;align-items:center;gap:8px}.pt-color{width:34px;height:34px;padding:2px;border:1px solid var(--pt-border);border-radius:var(--pt-r-sm);background:var(--pt-chip);cursor:pointer}.pt-pos{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px;border:1px solid var(--pt-border);border-radius:var(--pt-r-sm);background:var(--pt-chip)}.pt-pos-cell{aspect-ratio:1.5;border:1px solid transparent;border-radius:var(--pt-r-xs);background:var(--pt-panel);cursor:pointer;transition:all var(--pt-fast) var(--pt-ease-io)}.pt-pos-cell:hover{border-color:var(--pt-border-2)}.pt-pos-cell[data-on=true]{background:var(--pt-c);border-color:var(--pt-c)}.pt-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;height:42px;border:0;border-radius:var(--pt-r-md);background:var(--pt-c);color:#fff;font-family:inherit;font-size:14px;font-weight:650;cursor:pointer;transition:filter var(--pt-fast) var(--pt-ease-io),transform var(--pt-fast) var(--pt-ease),box-shadow var(--pt-fast) var(--pt-ease-io)}.pt-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 18px rgba(var(--pt-c-rgb),.3)}.pt-btn:active:not(:disabled){transform:translateY(0)}.pt-btn:disabled{opacity:.5;cursor:not-allowed;filter:none;transform:none;box-shadow:none}.pt-btn svg{width:16px;height:16px}.pt-btn-ghost{background:transparent;border:1px solid var(--pt-border);color:var(--pt-fg-2);height:38px;font-size:13px;font-weight:550}.pt-btn-ghost:hover:not(:disabled){border-color:var(--pt-border-2);background:var(--pt-chip);color:var(--pt-fg);filter:none;box-shadow:none}.pt-btn-row{display:flex;gap:8px}.pt-btn-row .pt-btn{width:auto;flex:1}@keyframes ptSpin{to{transform:rotate(360deg)}}.pt-spin{width:15px;height:15px;border:2px solid rgba(255,255,255,.32);border-top-color:#fff;border-radius:50%;animation:ptSpin .65s linear infinite}.pt-prog{margin-top:12px}.pt-prog-bar{height:5px;border-radius:var(--pt-r-full);background:var(--pt-border);overflow:hidden}.pt-prog-fill{height:100%;border-radius:var(--pt-r-full);background:linear-gradient(90deg,var(--pt-c),var(--pt-blue-400));transition:width .2s var(--pt-ease-io)}.pt-prog-txt{margin-top:6px;font-size:11.5px;color:var(--pt-fg-3);text-align:center;font-variant-numeric:tabular-nums}.pt-note{display:flex;align-items:flex-start;gap:8px;padding:11px 13px;border-radius:var(--pt-r-md);font-size:12.5px;line-height:1.6}.pt-note svg{width:14px;height:14px;flex-shrink:0;margin-top:2px}.pt-note-info{background:#2563eb14;color:var(--pt-blue-700);border:1px solid rgba(37,99,235,.16)}.pt-root[data-theme=dark] .pt-note-info{color:var(--pt-blue-400)}.pt-note-warn{background:#f59e0b1a;color:#b45309;border:1px solid rgba(245,158,11,.22)}.pt-root[data-theme=dark] .pt-note-warn{color:#fbbf24}.pt-note-err{background:#dc262617;color:#b91c1c;border:1px solid rgba(220,38,38,.2)}.pt-root[data-theme=dark] .pt-note-err{color:#f87171}.pt-note-ok{background:#0596691a;color:#047857;border:1px solid rgba(5,150,105,.2)}.pt-root[data-theme=dark] .pt-note-ok{color:#34d399}.pt-result{padding:18px;border:1px solid rgba(5,150,105,.25);border-radius:var(--pt-r-lg);background:#0596690d}.pt-result-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.pt-result-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#059669;color:#fff;flex-shrink:0}.pt-result-ico svg{width:17px;height:17px}.pt-result-t{margin:0;font-size:14px;font-weight:700;color:var(--pt-fg)}.pt-result-d{font-size:12px;color:var(--pt-fg-3);margin-top:2px}.pt-compare{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:14px;padding:14px;border-radius:var(--pt-r-md);background:var(--pt-panel)}.pt-compare-cell{text-align:center}.pt-compare-v{font-size:17px;font-weight:750;color:var(--pt-fg);font-variant-numeric:tabular-nums}.pt-compare-l{font-size:11px;color:var(--pt-fg-3);margin-top:2px}.pt-compare-arrow{color:var(--pt-fg-3)}.pt-compare-save{color:#059669}.pt-outs{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.pt-out{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:var(--pt-r-sm);background:var(--pt-panel);font-size:12.5px}.pt-out-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pt-fg-2)}.pt-out-size{flex-shrink:0;font-size:11.5px;color:var(--pt-fg-3);font-variant-numeric:tabular-nums}.pt-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;max-height:520px;overflow-y:auto;padding:4px}.pt-page{position:relative;border:2px solid var(--pt-border);border-radius:var(--pt-r-md);background:var(--pt-chip);overflow:hidden;cursor:pointer;transition:border-color var(--pt-fast) var(--pt-ease-io),transform var(--pt-fast) var(--pt-ease)}.pt-page:hover{border-color:var(--pt-blue-400);transform:translateY(-2px)}.pt-page[data-sel=true]{border-color:var(--pt-c)}.pt-page[data-del=true]{opacity:.32}.pt-page[data-dragging=true]{opacity:.35}.pt-page img{display:block;width:100%;height:auto;transition:transform var(--pt-mid) var(--pt-ease)}.pt-page-no{position:absolute;left:5px;bottom:5px;padding:1px 6px;border-radius:var(--pt-r-xs);background:#0f172ab8;color:#fff;font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}.pt-page-acts{position:absolute;top:4px;right:4px;display:flex;gap:3px;opacity:0;transition:opacity var(--pt-fast) var(--pt-ease-io)}.pt-page:hover .pt-page-acts{opacity:1}.pt-page-act{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:var(--pt-r-xs);background:#0f172abf;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pt-page-act:hover{background:var(--pt-blue-600)}.pt-page-act-del:hover{background:#dc2626}.pt-page-act svg{width:12px;height:12px}@keyframes ptShimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.pt-sk{border-radius:var(--pt-r-md);background:linear-gradient(90deg,var(--pt-chip),var(--pt-border),var(--pt-chip));background-size:400px 100%;animation:ptShimmer 1.3s linear infinite;aspect-ratio:.72}.pt-related{margin-top:clamp(30px,4vw,48px)}.pt-related-t{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--pt-fg-2)}.pt-related-list{display:flex;flex-wrap:wrap;gap:8px}.pt-related-item{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--pt-border);border-radius:var(--pt-r-full);background:var(--pt-panel);color:var(--pt-fg-2);font-size:12.5px;font-weight:550;text-decoration:none;transition:all var(--pt-fast) var(--pt-ease-io)}.pt-related-item:hover{border-color:var(--pt-blue-400);color:var(--pt-blue-600);transform:translateY(-2px);box-shadow:var(--pt-sh-1)}.pt-toast{position:fixed;left:50%;bottom:30px;z-index:90;display:flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--pt-r-full);background:var(--pt-fg);color:var(--pt-panel);font-size:13px;font-weight:550;box-shadow:var(--pt-sh-3);transform:translate(-50%,10px);opacity:0;visibility:hidden;transition:opacity var(--pt-mid) var(--pt-ease-io),transform var(--pt-mid) var(--pt-ease),visibility var(--pt-mid) linear}.pt-toast[data-on=true]{opacity:1;visibility:visible;transform:translate(-50%)}.pt-toast[data-bad=true]{background:#dc2626;color:#fff}.pt-toast svg{width:15px;height:15px}.pt-root :is(a,button,input,select):focus-visible{outline:2px solid var(--pt-blue-500);outline-offset:2px}.pt-root a:hover{color:inherit}.pt-root .pt-logo:hover{color:var(--pt-fg)}.pt-root .pt-crumb a:hover,.pt-root .pt-related-item:hover{color:var(--pt-blue-600)}@media (max-width: 900px){.pt-panes{grid-template-columns:minmax(0,1fr)}.pt-side{position:static}}@media (max-width: 640px){.pt-root{--pt-nav-h: 50px}.pt-crumb{display:none}.pt-grid{grid-template-columns:1fr}.pt-pane{padding:14px}.pt-work-head{gap:10px}.pt-work-ico{width:40px;height:40px;font-size:19px}.pt-pages{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.pt-opts[data-cols="3"],.pt-opts[data-cols="4"]{grid-template-columns:1fr 1fr}.pt-compare{grid-template-columns:1fr;gap:8px}.pt-compare-arrow{transform:rotate(90deg)}}@media (hover: none){.pt-card:hover,.pt-page:hover{transform:none}.pt-page-acts{opacity:1}}@media (prefers-reduced-motion: reduce){.pt-card:hover,.pt-page:hover,.pt-btn:hover,.pt-related-item:hover{transform:none}.pt-sk{animation:none}.pt-spin{animation-duration:1.4s}}.pt-filebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;padding:9px 12px;border:1px solid var(--pt-border);border-radius:var(--pt-r-sm, 8px);background:var(--pt-panel-2, #f8fafc)}.pt-filename{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--pt-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-filemeta{font-size:11.5px;color:var(--pt-fg-3, #94a3b8)}.pt-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px}.pt-pagebtn{padding:5px 14px;border:1px solid var(--pt-border);border-radius:var(--pt-r-sm, 8px);background:var(--pt-panel, #fff);color:var(--pt-fg-2);font-family:inherit;font-size:12.5px;cursor:pointer;transition:all .16s ease}.pt-pagebtn:hover:not(:disabled){border-color:var(--pt-blue-500, #3b82f6);color:var(--pt-blue-600, #2563eb)}.pt-pagebtn:disabled{opacity:.4;cursor:not-allowed}.pt-pagetxt{font-size:12.5px;color:var(--pt-fg-3, #94a3b8);font-variant-numeric:tabular-nums}.pt-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:240px;margin-bottom:12px;padding:10px;border:1px solid var(--pt-border);border-radius:var(--pt-r-md, 12px);background:repeating-conic-gradient(#f1f5f9,#f1f5f9 25%,#fff 0%,#fff 50%) 50% / 18px 18px;overflow:auto;touch-action:none}.pt-stage img{display:block;max-width:100%;height:auto;border-radius:4px;box-shadow:0 2px 14px #0f172a24;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.pt-stage[data-tool=text]{cursor:text}.pt-stage[data-tool=image]{cursor:copy}.pt-stage[data-tool=select]{cursor:default}.pt-stage[data-tool=draw],.pt-stage[data-tool=rect],.pt-stage[data-tool=ellipse],.pt-stage[data-tool=line],.pt-stage[data-tool=arrow]{cursor:crosshair}.pt-stage-loading{padding:60px 0;font-size:13px;color:var(--pt-fg-3, #94a3b8)}.pt-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.pt-toolgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.pt-toolbtn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border:1px solid var(--pt-border);border-radius:var(--pt-r-sm, 8px);background:var(--pt-panel, #fff);color:var(--pt-fg-2);font-family:inherit;font-size:11px;cursor:pointer;transition:all .16s ease}.pt-toolbtn:hover{border-color:var(--pt-blue-400, #60a5fa)}.pt-toolbtn[data-on=true]{border-color:var(--pt-blue-500, #3b82f6);background:var(--pt-blue-50, #eff6ff);color:var(--pt-blue-600, #2563eb);font-weight:600}.pt-toolbtn-ico{font-size:15px;line-height:1}.pt-swatches{display:flex;gap:6px;flex-wrap:wrap}.pt-swatch{width:26px;height:26px;border:2px solid var(--pt-border);border-radius:50%;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.pt-swatch:hover{transform:scale(1.12)}.pt-swatch[data-on=true]{border-color:var(--pt-blue-600, #2563eb);box-shadow:0 0 0 2px var(--pt-blue-100, #dbeafe)}.pt-row{display:flex;gap:8px;flex-wrap:wrap}.pt-row>*{flex:1;min-width:92px}@media (max-width: 640px){.pt-toolgrid{grid-template-columns:repeat(3,1fr)}.pt-stage{padding:6px}}.pt-text-panel{position:absolute;z-index:30;display:flex;flex-direction:column;gap:6px;min-width:200px;max-width:320px;padding:10px 12px;border:1.5px solid var(--pt-blue-500, #3b82f6);border-radius:var(--pt-r-md, 12px);background:var(--pt-panel, #fff);box-shadow:0 8px 28px #0f172a2e,0 2px 8px #0f172a14;transform:translate(-50%,-100%);margin-top:-10px;animation:pt-fade-in .16s ease-out}@keyframes pt-fade-in{0%{opacity:0;transform:translate(-50%,-90%) scale(.96)}to{opacity:1;transform:translate(-100%,-100%) scale(1)}}.pt-text-panel-input{width:100%;padding:7px 10px;border:1px solid var(--pt-border, #e2e8f0);border-radius:var(--pt-r-sm, 8px);font-family:inherit;font-size:inherit;color:var(--pt-fg, #0f172a);background:var(--pt-panel-2, #f8fafc);outline:none;transition:border-color .16s ease,box-shadow .16s ease}.pt-text-panel-input:focus{border-color:var(--pt-blue-500, #3b82f6);box-shadow:0 0 0 3px var(--pt-blue-100, #dbeafe)}.pt-text-panel-actions{display:flex;justify-content:flex-end;gap:6px}.pt-btn-sm{padding:4px 14px;font-size:12px}
