@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(./Inter-Regular-BT1H-PT_.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(./Inter-Medium-kWhwEdDH.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(./Inter-Bold-C2zfFY7I.woff2)format("woff2")}:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#eef0f3;--border:#0f172a1a;--text:#1f2330;--text-dim:#6b7280;--accent:#2563eb;--accent-soft:#2563eb1f;--danger:#dc2626;--shadow:0 8px 30px #0f172a24;--radius:10px}html[data-theme=dark]{--bg:#12141c;--surface:#1a1d27;--surface-2:#222634;--border:#ffffff17;--text:#e6e9f2;--text-dim:#98a1b3;--accent:#4f83f7;--accent-soft:#4f83f72e;--danger:#f87171;--shadow:0 8px 30px #00000073}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{position:fixed;inset:0}.canvas-stage{touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}canvas.main-canvas{display:block;position:absolute;inset:0}.canvas-text-editor{resize:none;white-space:pre-wrap;word-break:break-word;caret-color:var(--accent);transform-origin:0 0;z-index:5;background:0 0;border:none;outline:none;margin:0;padding:3px 2px;display:none;position:absolute;overflow:hidden}.topbar{z-index:20;pointer-events:auto;align-items:center;gap:10px;display:flex;position:fixed;top:10px;left:50%;transform:translate(-50%)}.brand{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:7px;padding:5px 13px 5px 7px;display:flex}.brand-mark{place-items:center;display:grid}.brand-name{letter-spacing:-.01em;font-size:13px;font-weight:650}.top-actions{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:3px;padding:4px 6px;display:flex}.h-sep{background:var(--border);width:1px;height:18px;margin:0 4px}.chip-btn{min-width:30px;height:30px;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 8px;transition:background .12s,color .12s,transform 60ms;display:inline-flex}.chip-btn:hover:not(:disabled){background:var(--surface-2)}.chip-btn:active:not(:disabled){transform:scale(.94)}.chip-btn:disabled{opacity:.35;cursor:default}.icon-btn{width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:7px;place-items:center;padding:0;transition:background .1s,color .1s;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn.small{width:22px;height:22px}.icon-btn.danger:hover{color:var(--danger);background:#dc26261f}.toolbar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:20;border-radius:14px;flex-direction:column;gap:2px;padding:6px;display:flex;position:fixed;top:50%;left:12px;transform:translateY(-50%)}.tool-btn{width:36px;height:36px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:10px;place-items:center;transition:background .12s,color .12s;display:grid;position:relative}.tool-btn:hover{background:var(--surface-2);color:var(--text)}.tool-btn.active{background:var(--accent-soft);color:var(--accent)}.tool-btn.active:before{content:"";background:var(--accent);border-radius:2px;width:3px;height:16px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)}.zoom-cluster{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:20;border-radius:999px;align-items:center;gap:2px;padding:4px 6px;display:flex;position:fixed;bottom:12px;right:12px}.v-sep{background:var(--border);width:1px;height:16px;margin:0 3px}.zoom-pct{font-variant-numeric:tabular-nums;min-width:52px;font-size:12px;font-weight:550}.zoom-label{pointer-events:none}.side-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:232px;box-shadow:var(--shadow);z-index:19;scrollbar-width:thin;flex-direction:column;gap:4px;padding:10px 8px;display:flex;position:fixed;top:64px;bottom:64px;right:12px;overflow-y:auto}.panel-head{justify-content:space-between;align-items:center;padding:4px 6px 2px;display:flex}.panel-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:11px;font-weight:650}.layer-count{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11px}.pages-list{flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.page-row{cursor:pointer;border:1px dashed #0000;border-radius:8px;align-items:center;gap:6px;padding:6px;font-size:13px;transition:background .11s;display:flex}.page-row:hover{background:var(--surface-2)}.page-row.active{background:var(--accent-soft);color:var(--accent);font-weight:550}.page-row.drop-target{border-color:var(--accent)}.page-row.dragging{opacity:.4}.page-grip{color:var(--text-dim);opacity:.55;cursor:grab;place-items:center;display:grid}.page-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.page-actions{align-items:center;gap:1px;display:none}.page-row:hover .page-actions{display:inline-flex}.inline-rename{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--accent);border-radius:5px;outline:none;width:100%;padding:1px 5px}.layers-list{scrollbar-width:thin;flex-direction:column;flex:1;gap:1px;display:flex;overflow-y:auto}.layer-row{cursor:pointer;color:var(--text);border-radius:7px;align-items:center;gap:6px;padding:4px 6px;font-size:12.5px;transition:background 90ms;display:flex}.layer-row:hover{background:var(--surface-2)}.layer-row.selected{background:var(--accent-soft);color:var(--accent)}.layer-row.hidden-shape{opacity:.45}.layer-icon{color:inherit;opacity:.75;place-items:center;display:grid}.layer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.layer-actions{gap:1px;display:none}.layer-row:hover .layer-actions{display:inline-flex}.layer-actions .icon-btn.toggled{color:var(--accent);background:var(--accent-soft)}.style-panel-wrap{z-index:19;position:fixed;top:50%;left:66px;transform:translateY(-50%)}.style-panel{scrollbar-width:thin;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:216px;max-height:min(72vh,620px);box-shadow:var(--shadow);flex-direction:column;gap:7px;padding:12px;display:flex;overflow-y:auto}.panel-section-title{letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);margin-top:5px;font-size:10.5px;font-weight:700}.panel-footnote{border-top:1px solid var(--border);color:var(--text-dim);margin-top:8px;padding-top:8px;font-size:11px;line-height:1.35}.color-grid{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.swatch{aspect-ratio:1;border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:0;transition:transform 80ms,box-shadow 80ms;position:relative}.swatch:hover{z-index:1;transform:scale(1.12)}.swatch.active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.none-swatch{color:var(--danger);place-items:center;display:grid;background:var(--surface)!important}.custom-swatch{background:conic-gradient(#ef4444,#eab308,#22c55e,#3b82f6,#8b5cf6,#ec4899,#ef4444);place-items:center;display:grid;overflow:hidden}.custom-swatch input[type=color]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.token-row{gap:3px;display:flex}.token-row.wide{flex:1}.token-btn{border:1px solid var(--border);height:28px;color:var(--text-dim);cursor:pointer;font:inherit;background:0 0;border-radius:7px;flex:1;justify-content:center;align-items:center;font-size:11px;font-weight:600;transition:all .1s;display:inline-flex}.token-btn:hover{color:var(--text);border-color:var(--text-dim)}.token-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.opacity-row,.radius-row{align-items:center;gap:8px;display:flex}input[type=range]{accent-color:var(--accent);flex:1;height:22px}.range-val{color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums;min-width:34px;font-size:11.5px}.two-rows{flex-direction:column;gap:5px;display:flex}.minimap{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);z-index:18;cursor:crosshair;position:fixed;bottom:12px;right:256px;overflow:hidden}.minimap-canvas{width:200px;height:140px;display:block}.ctx-menu{z-index:100;background:var(--surface);border:1px solid var(--border);min-width:210px;box-shadow:var(--shadow);border-radius:10px;padding:5px;animation:90ms ctxIn;position:fixed}@keyframes ctxIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.ctx-item{width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:18px;padding:6px 10px;font-size:13px;display:flex}.ctx-item:hover:not([data-disabled=true]){background:var(--accent-soft);color:var(--accent)}.ctx-item[data-disabled=true]{opacity:.38;cursor:default}.ctx-item.danger{color:var(--danger)}.ctx-item.danger:hover:not([data-disabled=true]){color:var(--danger);background:#dc26261a}.ctx-shortcut{color:var(--text-dim);font-size:11px}.ctx-sep{background:var(--border);height:1px;margin:5px 8px}.toast-container{z-index:200;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow);opacity:0;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:500;transition:opacity .2s,transform .2s;transform:translateY(8px)}.toast.visible{opacity:1;transform:translateY(0)}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:150;opacity:0;background:#0a0c1273;place-items:center;transition:opacity .14s;display:grid;position:fixed;inset:0}.modal-backdrop.open{opacity:1}.modal-panel{background:var(--surface);border:1px solid var(--border);width:min(430px,100vw - 32px);box-shadow:var(--shadow);border-radius:14px;padding:16px;transition:transform .14s;transform:translateY(6px)}.modal-backdrop.open .modal-panel{transform:translateY(0)}.modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-title{font-size:15px;font-weight:650}.field-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.field-label{width:108px;color:var(--text-dim);flex-shrink:0;font-size:12.5px}.field-row .token-row.wide{justify-content:stretch}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:filter .1s,background .1s}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn.secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn.secondary:hover{background:var(--border)}.shortcuts-overlay{z-index:180;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0c1280;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.shortcuts-overlay>div:first-child{background:var(--surface);border:1px solid var(--border);max-height:84vh;box-shadow:var(--shadow);border-radius:14px;padding:18px;overflow-y:auto}.shortcuts-head{justify-content:space-between;align-items:center;gap:40px;margin-bottom:12px;display:flex!important}.shortcuts-head h2{margin:0;font-size:16px}.shortcuts-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:6px 26px;display:grid}.sc-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);margin:10px 0 4px;font-size:11px}.sc-row{align-items:baseline;gap:10px;padding:3px 0;display:flex}.kbd{background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-family:ui-monospace,Menlo,monospace;font-size:11px}.sc-desc{color:var(--text);font-size:12.5px}.empty-hint{text-align:center;pointer-events:none;z-index:4;transition:opacity .25s;position:fixed;top:44%;left:50%;transform:translate(-50%,-50%)}.empty-hint.hidden{opacity:0}.empty-hint h2{color:var(--text);opacity:.85;margin:0 0 6px;font-size:17px;font-weight:650}.empty-hint p{color:var(--text-dim);margin:0;font-size:13px}#print-root{display:none}@media print{body>#app{display:none!important}#print-root{position:static;display:block!important}#print-root img{width:100%;height:auto}@page{margin:12mm}}@media (max-width:900px){.side-panel{border-radius:12px;width:auto;max-height:32vh;inset:auto 8px 60px}.minimap,.style-panel-wrap{display:none}.style-panel.mobile-sheet{z-index:40;width:auto;max-height:46vh;display:block;position:fixed;inset:auto 8px 8px;transform:none}.toolbar{scrollbar-width:none;border-radius:12px;flex-direction:row;max-width:calc(100vw - 16px);top:auto;bottom:8px;left:8px;overflow-x:auto;transform:none}.toolbar::-webkit-scrollbar{display:none}.tool-btn{flex-shrink:0;width:38px;height:38px}.topbar{justify-content:space-between;left:8px;right:8px;transform:none}.brand-name{display:none}.zoom-cluster{top:60px;bottom:auto;right:8px}.empty-hint h2{font-size:15px}}@media (max-width:520px){.top-actions .chip-btn[title*=Print],.top-actions .chip-btn[title*=shortcuts]{display:none}}
/*$vite$:1*/