:root{color-scheme:light;--bg: #f4efe6;--panel: rgba(255, 250, 242, .94);--panel-border: rgba(97, 73, 40, .14);--text: #1b1b18;--muted: #6d6356;--accent: #c2410c;--accent-strong: #9a3412;--canvas-shadow: 0 30px 70px rgba(41, 24, 5, .16);--selected: #2563eb;--left-sidebar-width: 280px;--right-sidebar-width: 320px}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:radial-gradient(circle at top left,rgba(255,255,255,.65),transparent 28%),linear-gradient(135deg,#efe2cb,#f8f3ea,#eadcca);color:var(--text);font-family:IBM Plex Sans,PingFang SC,Noto Sans SC,sans-serif}#app{width:100%;height:100%;overflow:hidden}.seo-static-shell{width:100%;height:100%;padding:44px 24px 72px;overflow:auto}noscript{position:fixed;z-index:100;right:16px;bottom:16px;left:16px;padding:12px 16px;border:1px solid rgba(194,65,12,.24);border-radius:12px;background:#fffaf2;color:var(--accent-strong);text-align:center}.toast-region{position:fixed;z-index:1000;top:20px;left:50%;display:grid;width:min(420px,calc(100vw - 32px));pointer-events:none;transform:translate(-50%)}.toast{justify-self:center;max-width:100%;padding:11px 16px;border:1px solid rgba(180,35,24,.2);border-radius:12px;box-shadow:0 12px 32px #2918052e;background:#fffaf8fa;color:#b42318;font-size:13px;font-weight:600;line-height:1.45;overflow-wrap:anywhere;animation:toast-enter .18s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast.success{border-color:#16653433;background:#f7fef9fa;color:#166534}.toast.info{border-color:#0369a133;background:#f7fcfffa;color:#0369a1}.toast.warning{border-color:#9a341233;background:#fffbebfa;color:#9a3412}.toast.leaving{animation:toast-leave .16s ease-in forwards}.operation-progress{position:fixed;z-index:900;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#271d1257;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.operation-progress[hidden]{display:none}.operation-progress-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:6px 16px;width:min(440px,calc(100vw - 32px));padding:24px;border:1px solid rgba(194,65,12,.14);border-radius:20px;box-shadow:0 28px 90px #29180547;background:#fffaf2fa}.operation-progress-spinner{grid-row:1 / span 2;width:44px;height:44px;border:4px solid rgba(194,65,12,.16);border-top-color:var(--accent);border-radius:50%;animation:operation-progress-spin .8s linear infinite}.operation-progress-copy{display:grid;min-width:0;gap:4px}.operation-progress-copy strong{font-family:"Noto Serif SC",Songti SC,serif;font-size:19px}.operation-progress-copy span,.operation-progress-card small{color:var(--muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.operation-progress-track{position:relative;grid-column:1 / -1;height:6px;margin-top:12px;overflow:hidden;border-radius:999px;background:#c2410c1f}.operation-progress-bar{position:absolute;inset-block:0;left:0;width:38%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#f59e0b);animation:operation-progress-slide 1.1s ease-in-out infinite}.operation-progress-bar.determinate{width:var(--operation-progress-value, 0%);animation:none;transition:width .18s ease-out}.operation-progress-card small{grid-column:1 / -1;text-align:center}@keyframes operation-progress-spin{to{transform:rotate(360deg)}}@keyframes operation-progress-slide{0%{transform:translate(-110%)}55%{transform:translate(120%)}to{transform:translate(270%)}}@media (prefers-reduced-motion: reduce){.operation-progress-spinner,.operation-progress-bar{animation-duration:2.4s}}@keyframes toast-enter{0%{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes toast-leave{to{opacity:0;transform:translateY(-6px) scale(.98)}}button,input,textarea{font:inherit}button{cursor:pointer}.password-dialog{width:min(440px,calc(100vw - 32px));padding:0;border:0;border-radius:20px;box-shadow:0 28px 90px #29180547;background:transparent;color:var(--text)}.password-dialog::backdrop{background:#271d125c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.password-dialog-card{display:grid;gap:18px;padding:24px;border:1px solid rgba(97,73,40,.16);border-radius:20px;background:#fffaf2}.password-dialog-heading{display:flex;align-items:flex-start;gap:13px}.password-dialog-heading h2{margin:0 0 5px;font-family:Georgia,Songti SC,serif;font-size:22px}.password-dialog-heading p,.password-dialog-privacy,.password-dialog-message,.password-dialog-error{margin:0;color:var(--muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.password-dialog-message{color:var(--text);font-size:14px}.password-dialog-icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:12px;background:#ffedd5;color:var(--accent)}.password-dialog-icon svg{width:19px;height:19px}.password-dialog-field{display:grid;gap:8px;font-size:13px;font-weight:700}.password-dialog-field input{width:100%;padding:11px 12px;border:1px solid rgba(97,73,40,.24);border-radius:10px;outline:none;background:#fff;color:var(--text)}.password-dialog-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c2410c1f}.password-dialog-error{margin-top:-8px;color:#b42318;font-weight:650}.password-dialog-error[hidden]{display:none}.password-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.password-dialog-actions button{padding:10px 14px;border-radius:10px;font-weight:700}.dialog-secondary{border:1px solid rgba(97,73,40,.2);background:transparent;color:var(--muted)}.dialog-primary{border:1px solid var(--accent);background:var(--accent);color:#fff}.dialog-primary:hover{background:var(--accent-strong)}.workspace-choice-dialog{width:min(500px,calc(100vw - 32px))}.workspace-choice-actions{justify-content:space-between}.shell{display:grid;grid-template-columns:var(--left-sidebar-width) minmax(0,1fr) var(--right-sidebar-width);height:100%;overflow:hidden}.sidebar{min-height:0;padding:24px 18px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--panel);border-right:1px solid var(--panel-border);overflow-y:auto}.left-panel{display:flex;flex-direction:column;padding:0;overflow:hidden}.left-panel-content{flex:0 1 auto;max-height:55%;min-height:0;padding:24px 18px 12px;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}.left-panel.has-custom-split .left-panel-content{flex:0 0 var(--left-panel-split);max-height:none}.panel-resizer{position:relative;z-index:2;flex:0 0 10px;margin:-5px 0;cursor:row-resize;touch-action:none}.panel-resizer:before{position:absolute;top:50%;right:0;left:0;height:1px;background:#61492817;content:"";transition:background .14s ease,height .14s ease}.panel-resizer:after{position:absolute;top:50%;left:50%;width:34px;height:4px;border-radius:999px;background:#6d635633;content:"";opacity:0;transform:translate(-50%,-50%);transition:opacity .14s ease,background .14s ease}.panel-resizer:hover:before,.panel-resizer:focus-visible:before,.left-panel.is-resizing .panel-resizer:before{height:2px;background:#c2410c57}.panel-resizer:hover:after,.panel-resizer:focus-visible:after,.left-panel.is-resizing .panel-resizer:after{background:var(--accent);opacity:1}.panel-resizer:focus-visible{outline:none}.left-panel.is-resizing,.left-panel.is-resizing *{cursor:row-resize!important;-webkit-user-select:none;user-select:none}.right-panel{border-right:0;border-left:1px solid var(--panel-border)}.layer-dock{display:flex;flex-direction:column;flex:1 1 auto;width:100%;min-width:0;min-height:220px;padding:14px 14px 18px;border-top:0;background:#fffaf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.layer-dock-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.layer-dock-heading .eyebrow{margin-bottom:7px}.layer-dock-heading span{color:var(--muted);font-size:11px}.layer-toolbar{display:flex;align-items:center;gap:3px;min-height:38px;padding-bottom:9px}.layer-toolbar button{display:inline-flex;flex:0 0 auto;min-width:28px;min-height:28px;align-items:center;justify-content:center;gap:5px;padding:4px 6px;border:1px solid rgba(27,27,24,.1);border-radius:8px;background:#ffffffc7;color:var(--muted);white-space:nowrap;font-size:12px;font-weight:650;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}.layer-toolbar .layer-icon-button{width:28px;padding:4px}.layer-toolbar .layer-text-button{padding-inline:6px}.layer-toolbar svg{width:15px;height:15px;flex:0 0 15px}.layer-toolbar button:not(:disabled):hover{border-color:#c2410c4d;background:#fff7edf2;color:var(--accent-strong);transform:translateY(-1px)}.layer-toolbar button:not(:disabled):active{transform:translateY(0)}.layer-toolbar button:focus-visible,.layer-disclosure:focus-visible,.layer-visibility:focus-visible,.layer-lock:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:1px}.layer-disclosure,.layer-visibility,.layer-lock{min-width:30px;min-height:28px;padding:4px 8px;border:1px solid rgba(97,73,40,.12);border-radius:8px;background:#ffffffc2;color:var(--text)}.layer-toolbar button:disabled,.layer-visibility:disabled,.layer-lock:disabled{cursor:not-allowed;opacity:.35}.layer-toolbar-separator{width:1px;height:20px;margin:0 1px;background:#6149281f}.panel-section{margin-bottom:20px}.panel-section.grow{min-height:240px}.eyebrow{margin-bottom:10px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.upload-card{display:flex;flex-direction:column;gap:16px;padding:16px;border:1px solid rgba(194,65,12,.18);border-radius:18px;background:linear-gradient(180deg,#ffffffb8,#fff7ede6)}.upload-heading{display:flex;align-items:flex-start;gap:12px}.upload-icon{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:12px;background:#c2410c1a;color:var(--accent)}.upload-icon svg{width:22px;height:22px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.upload-copy{min-width:0}.upload-title{display:block;margin:1px 0 4px;font-size:16px;font-weight:700}.upload-text,.meta{color:var(--muted);font-size:13px;line-height:1.5}.upload-button{display:flex;width:100%;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--accent);border-radius:12px;background:var(--accent);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 6px 14px #9a34122e;transition:.14s ease}.upload-button svg{width:18px;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.upload-button:hover{border-color:var(--accent-strong);background:var(--accent-strong);box-shadow:0 8px 18px #9a34123d;transform:translateY(-1px)}.upload-button:active{box-shadow:0 3px 8px #9a341233;transform:translateY(0)}.upload-button:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}.workspace-recovery{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px;padding:10px;border:1px solid rgba(194,65,12,.22);border-radius:10px;background:#c2410c0f}.workspace-recovery[hidden]{display:none}.workspace-recovery>span{grid-column:1 / -1;min-width:0}.workspace-recovery strong,.workspace-recovery small{display:block}.workspace-recovery strong{font-size:12px}.workspace-recovery small{overflow:hidden;margin-top:3px;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.workspace-recovery button{min-height:30px;padding:5px 9px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#fff;font:inherit;font-size:11px;cursor:pointer}.workspace-recovery button.secondary{border-color:var(--panel-border);background:#ffffffb8;color:var(--text)}.export-button{display:flex;min-height:40px;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(194,65,12,.28);border-radius:12px;background:#ffffffd1;color:var(--accent-strong);font-size:13px;font-weight:700}.export-button svg{width:16px;height:16px}.export-button:disabled,.native-actions button:disabled{cursor:not-allowed;opacity:.45;transform:none}.meta{display:flex;min-width:0;align-items:center;gap:7px;margin-top:9px;padding:0 4px;overflow-wrap:anywhere}.meta:before{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#6d635673;content:""}.meta.has-file:before{background:#16a34a;box-shadow:0 0 0 3px #16a34a1f}.native-status{margin:8px 4px 0;color:var(--muted);font-size:12px;line-height:1.45}.native-status.ready{color:#166534}.native-status.working,.native-status.warning{color:#9a3412}.native-status.error{color:#b42318}.layer-item,.page-item,.danger{border:1px solid rgba(27,27,24,.08);background:#ffffffd9;transition:.14s ease}.layer-item:hover,.page-item:hover{border-color:#c2410c66;background:#fff7edf5;color:var(--accent-strong);transform:translateY(-1px)}.layer-item,.page-item,.danger{border-radius:14px;padding:11px 12px}.workspace{position:relative;display:flex;min-width:0;min-height:0;flex-direction:column}.floating-toolbar{position:absolute;z-index:20;bottom:20px;left:50%;display:flex;align-items:center;gap:4px;padding:7px;border:1px solid rgba(27,27,24,.12);border-radius:16px;background:#fffdf9e6;box-shadow:0 14px 34px #29180533;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate(-50%)}.floating-toolbar[hidden]{display:none}.floating-tool-button{position:relative;display:grid;width:38px;height:38px;padding:0;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--text);transition:background .14s ease,color .14s ease,transform .14s ease}.floating-tool-button svg{width:19px;height:19px}.floating-tool-button:not(:disabled):hover,.floating-tool-button[aria-expanded=true]{background:#c2410c1a;color:var(--accent-strong)}.floating-tool-button.has-active-setting:after{position:absolute;width:5px;height:5px;margin:25px 0 0 25px;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:var(--selected);content:""}.floating-tool-button:active{transform:scale(.94)}.floating-tool-button:focus-visible,.popover-action:focus-visible,.popover-toggle:focus-within{outline:3px solid rgba(37,99,235,.22);outline-offset:1px}.floating-tool-button:disabled,.popover-action:disabled{cursor:not-allowed;opacity:.32}.floating-toolbar-separator{width:1px;height:22px;margin:0 2px;background:#61492824}.floating-tool-menu{position:relative}.floating-tool-popover{position:absolute;bottom:calc(100% + 14px);left:50%;min-width:168px;padding:7px;border:1px solid rgba(27,27,24,.12);border-radius:14px;background:#fffdf9f5;box-shadow:0 14px 34px #2918052e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate(-50%)}.floating-tool-popover[hidden]{display:none}.insert-popover{display:flex;gap:4px;min-width:auto}.popover-action{display:flex;min-width:58px;flex-direction:column;align-items:center;gap:5px;padding:9px 8px 7px;border:0;border-radius:9px;background:transparent;color:var(--text);font-size:11px;font-weight:650}.popover-action svg{width:18px;height:18px;color:var(--accent)}.popover-action:not(:disabled):hover,.popover-toggle:hover{background:#c2410c14}.align-popover{left:auto;right:0;display:grid;gap:3px;min-width:224px;transform:none}.popover-toggle{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:14px;padding:8px 10px;border-radius:9px;cursor:pointer;transition:background .14s ease}.popover-toggle span{display:grid;gap:2px}.popover-toggle strong{font-size:12px}.popover-toggle small{color:var(--muted);font-size:10px}.popover-toggle input{position:relative;width:32px;height:18px;flex:0 0 auto;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(97,73,40,.28);border-radius:999px;background:#6d635624;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.popover-toggle input:after{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #2918053d;content:"";transition:transform .16s ease}.popover-toggle input:checked{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 2px #c2410c1a}.popover-toggle input:checked:after{transform:translate(14px)}.popover-toggle:has(input:checked){background:#c2410c0e}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.canvas-host{flex:1 1 auto;height:auto;min-height:0;display:grid;place-items:center;background:linear-gradient(180deg,#ffffffb3,#fff7ed73),repeating-linear-gradient(45deg,#ffffff40,#ffffff40 12px,#f8eddd59 12px,#f8eddd59 24px);overflow:auto}.canvas-host.empty{place-items:start center;padding:44px clamp(24px,5vw,72px) 80px}.empty-state{max-width:420px;text-align:center}.empty-state h1{margin:0 0 12px;font-size:42px;font-family:Iowan Old Style,Times New Roman,serif}.empty-state p{margin:0;color:var(--muted);line-height:1.7}.seo-landing{width:min(100%,760px);max-width:760px;color:var(--text);text-align:left}.seo-hero{padding:12px 0 42px;text-align:center}.seo-brand-link{display:inline-flex;align-items:center;justify-content:center;margin-bottom:24px;color:var(--text);text-decoration:none}.seo-brand-lockup{width:195px;height:48px;flex:0 0 auto;object-fit:contain}.product-brand{display:inline-flex;width:fit-content;align-items:center;margin:-3px 0 12px;color:var(--text);text-decoration:none}.product-brand-lockup{width:146px;height:36px;flex:0 0 auto;object-fit:contain}.product-brand:focus-visible{border-radius:8px;outline:3px solid rgba(37,99,235,.28);outline-offset:3px}.seo-landing h1{max-width:680px;margin:0 auto 18px;font-family:Iowan Old Style,Songti SC,STSong,serif;font-size:clamp(38px,5vw,64px);font-weight:700;letter-spacing:-.035em;line-height:1.08}.seo-landing h1 span{display:block}.seo-landing .seo-lead{max-width:620px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.8}.seo-primary-cta{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;margin-top:26px;padding:12px 20px;border:1px solid var(--accent);border-radius:13px;background:var(--accent);box-shadow:0 10px 24px #9a341233;color:#fff;cursor:pointer;font-size:14px;font-weight:750;text-decoration:none;transition:.15s ease}.seo-primary-cta:hover{border-color:var(--accent-strong);background:var(--accent-strong);box-shadow:0 13px 28px #9a34123d;transform:translateY(-1px)}.seo-primary-cta:focus-visible,.seo-brand-link:focus-visible,.seo-footer a:focus-visible,.seo-faq summary:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:3px}.seo-primary-cta svg{width:18px;height:18px}.seo-proof-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:22px 0 0;padding:0;color:var(--muted);font-size:12px;list-style:none}.seo-proof-list li:before{margin-right:7px;color:#15803d;content:"✓";font-weight:800}.seo-section{padding:32px 0;border-top:1px solid var(--panel-border)}.seo-section h2{margin:0 0 16px;font-family:Iowan Old Style,Songti SC,STSong,serif;font-size:clamp(25px,3vw,34px);line-height:1.25}.seo-section>p{margin:0;color:var(--muted);font-size:14px;line-height:1.85}.seo-steps{display:grid;margin:0;padding:0;counter-reset:seo-step;list-style:none}.seo-steps li{display:grid;grid-template-columns:36px 130px minmax(0,1fr);align-items:start;gap:12px;padding:16px 0;border-bottom:1px solid rgba(97,73,40,.1);counter-increment:seo-step}.seo-steps li:before{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(194,65,12,.22);border-radius:50%;background:#c2410c12;color:var(--accent-strong);content:counter(seo-step);font-size:12px;font-weight:800}.seo-steps strong{padding-top:3px;font-size:14px}.seo-steps span{color:var(--muted);font-size:13px;line-height:1.7}.seo-capabilities .seo-note{margin-top:18px;padding:14px 16px;border-left:3px solid rgba(194,65,12,.42);background:#fffaf2b8;color:#62574a;font-size:12px}.seo-use-case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;padding:0;color:var(--muted);font-size:13px;line-height:1.65;list-style:none}.seo-use-case-list li{position:relative;padding:12px 14px 12px 34px;border:1px solid rgba(97,73,40,.1);border-radius:12px;background:#fffaf285}.seo-use-case-list li:before{position:absolute;top:12px;left:14px;color:var(--accent-strong);content:"✓";font-weight:800}.seo-faq details{border-bottom:1px solid rgba(97,73,40,.1)}.seo-faq summary{padding:16px 2px;cursor:pointer;font-size:14px;font-weight:700;line-height:1.5}.seo-faq details p{margin:-4px 0 16px;padding-right:20px;color:var(--muted);font-size:13px;line-height:1.75}.seo-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 22px;padding:30px 0 10px;text-align:center}.seo-footer .locale-switch{color:var(--text)}.seo-footer a{color:var(--accent-strong);font-size:13px;font-weight:700;text-underline-offset:4px}@media (max-width: 640px){.seo-use-case-list{grid-template-columns:1fr}}.stage-shell{position:relative;padding:36px}.zoom-label{margin-bottom:14px;color:var(--muted);font-size:13px}.draft-preview-label{position:absolute;top:31px;left:112px;padding:5px 9px;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4eb;color:#166534;font-size:11px;font-weight:700;letter-spacing:.02em}.stage{position:relative;box-shadow:var(--canvas-shadow)}#pdf-canvas{display:block;background:#fff;image-rendering:auto}.text-layer-host,.hitbox-host,.overlay,.snap-guide-layer,.selection-transform-layer{position:absolute;top:0;right:0;bottom:0;left:0}.text-layer-host{z-index:1;pointer-events:none}.hitbox-host{z-index:2;touch-action:none}.overlay{z-index:3;pointer-events:none}.snap-guide-layer{z-index:4;overflow:hidden;pointer-events:none}.selection-transform-layer{z-index:5;pointer-events:none}.selection-transform-box{position:absolute;border:1.5px solid var(--selected);box-sizing:border-box;pointer-events:none}.selection-transform-box.transform-readonly{border-style:dashed;opacity:.72}.transform-handle,.transform-rotate-handle{position:absolute;width:10px;height:10px;padding:0;border:1.5px solid var(--selected);border-radius:2px;background:#fff;box-shadow:0 1px 4px #0f172a2e;pointer-events:auto;touch-action:none}.transform-handle-nw{top:-5px;left:-5px;cursor:nwse-resize}.transform-handle-n{top:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.transform-handle-ne{top:-5px;right:-5px;cursor:nesw-resize}.transform-handle-e{top:50%;right:-5px;transform:translateY(-50%);cursor:ew-resize}.transform-handle-se{right:-5px;bottom:-5px;cursor:nwse-resize}.transform-handle-s{bottom:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.transform-handle-sw{bottom:-5px;left:-5px;cursor:nesw-resize}.transform-handle-w{top:50%;left:-5px;transform:translateY(-50%);cursor:ew-resize}.transform-rotate-stem{position:absolute;top:-25px;left:50%;width:1px;height:20px;background:var(--selected)}.transform-rotate-handle{top:-34px;left:50%;border-radius:50%;transform:translate(-50%);cursor:grab}.transform-rotate-handle:active{cursor:grabbing}.transform-size-label{position:absolute;top:calc(100% + 8px);left:50%;padding:2px 5px;border-radius:5px;background:#2563ebf0;color:#fff;font-size:10px;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap;transform:translate(-50%)}.snap-guide{position:absolute;background:#e11d8a;box-shadow:0 0 0 .5px #fffc}.snap-guide-x{width:1px;transform:translate(-.5px)}.snap-guide-y{height:1px;transform:translateY(-.5px)}.snap-measurement{position:absolute;color:#e11d8a;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}.snap-measurement-x{height:5px;border-top:1px solid currentColor;border-right:1px solid currentColor;border-left:1px solid currentColor}.snap-measurement-y{width:5px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;border-left:1px solid currentColor}.snap-measurement span{position:absolute;padding:1px 4px;border-radius:4px;background:#fffffff0;box-shadow:0 1px 4px #0f172a1f}.snap-measurement-x span{top:-18px;left:50%;transform:translate(-50%)}.snap-measurement-y span{top:50%;left:7px;transform:translateY(-50%)}.layer-node{position:absolute;-webkit-user-select:none;user-select:none;pointer-events:auto}.text-layer{padding:2px 4px;white-space:pre-wrap;line-height:1.2;cursor:move;outline:1px solid transparent}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:clip;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:0}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:0;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.pdf-text-hitbox{border-radius:2px}.pdf-text-selected{outline:1.5px solid rgba(37,99,235,.95);background:#2563eb1f}.pdf-text-hitbox.pdf-text-hovered{outline:1px solid rgba(37,99,235,.42);background:#2563eb12}.pdf-layer-hitbox{position:absolute;border:0;margin:0;padding:0;background:transparent;cursor:pointer;border-radius:2px;pointer-events:none}.pdf-layer-hitbox:hover,.pdf-layer-hitbox.hit-hovered{background:#2563eb14;outline:1px solid rgba(37,99,235,.24)}.pdf-layer-hitbox.selected{background:#2563eb1f;outline:2px solid rgba(37,99,235,.92)}.pdf-graphic-hitbox{position:absolute;border:1px solid transparent;padding:0;background:transparent;cursor:move;pointer-events:none}.pdf-graphic-hitbox:hover,.pdf-graphic-hitbox.hit-hovered{border-color:#2563eb80;background:#2563eb0f}.pdf-graphic-hitbox.pdf-text-selected{border-color:#2563ebf2;box-shadow:0 0 0 1px #ffffffd9 inset}.pdf-graphic-hitbox.line-hitbox{border:0;border-top:2px solid transparent;background:transparent}.pdf-graphic-hitbox.line-hitbox:hover,.pdf-graphic-hitbox.line-hitbox.hit-hovered,.pdf-graphic-hitbox.line-hitbox.pdf-text-selected{border-top-color:#2563ebf2}.hit-candidate-status{position:absolute;top:10px;right:10px;z-index:7;max-width:min(360px,calc(100% - 20px));padding:6px 9px;border:1px solid rgba(37,99,235,.2);border-radius:999px;background:#fffffff0;box-shadow:0 4px 14px #0f172a1a;color:#3156a3;font-size:11px;line-height:1.2;opacity:0;pointer-events:none;transform:translateY(-3px);transition:opacity .12s ease,transform .12s ease}.hit-candidate-status.visible{opacity:1;transform:translateY(0)}.native-toggle-row input[type=checkbox]{width:18px;height:18px}.rect-layer{cursor:move;border:1px solid rgba(0,0,0,.08)}.image-layer{overflow:hidden;cursor:move;background:linear-gradient(45deg,rgba(0,0,0,.04) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.04) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.04) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.04) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px}.image-layer img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.image-inspector-preview{display:grid;gap:7px;margin-bottom:12px}.image-inspector-preview img{width:100%;max-height:150px;border:1px solid rgba(27,27,24,.08);border-radius:12px;background:#1b1b1809;object-fit:contain}.image-inspector-preview span{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.layer-node.selected{outline:2px solid var(--selected);box-shadow:0 0 0 4px #2563eb29}.page-list,.layer-list{display:flex;flex-direction:column;gap:10px}.layer-dock .layer-list{flex:1;height:auto;min-width:0;flex-direction:column;align-items:stretch;gap:3px;padding:0 2px 5px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-color:rgba(109,99,86,.35) transparent;scrollbar-width:thin}.layer-dock .layer-list.empty{align-items:center;padding-bottom:2px}.layer-tree-row{display:grid;grid-template-columns:20px minmax(0,1fr) 26px 26px;align-items:center;gap:4px;min-height:34px;padding-left:calc(var(--layer-depth) * 14px);border:1px solid transparent;border-radius:9px}.layer-tree-row:hover{background:#ffffff94}.layer-tree-row.active{border-color:#2563eb5c;background:#dbeafe94}.layer-tree-row.is-hidden .layer-item{opacity:.48}.layer-dock .layer-item{min-width:0;min-height:30px;padding:4px 7px;border:0;background:transparent;flex-direction:row;align-items:center;gap:7px;font-size:13px}.layer-dock .layer-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-kind{display:inline-flex;flex:0 0 20px;align-items:center;justify-content:center;color:var(--muted);font-weight:700}.layer-kind svg{width:15px;height:15px}.layer-disclosure,.layer-visibility,.layer-lock{min-width:24px;min-height:24px;padding:0;border-color:transparent;background:transparent;color:var(--muted);transition:background .14s ease,color .14s ease}.layer-disclosure svg,.layer-visibility svg,.layer-lock svg{display:block;width:14px;height:14px;margin:auto}.layer-disclosure:not(:disabled):hover,.layer-visibility:not(:disabled):hover,.layer-lock:not(:disabled):hover{background:#c2410c14;color:var(--accent-strong)}.layer-disclosure-spacer{display:block;width:24px}.page-list.empty,.layer-list.empty,.inspector.empty{color:var(--muted);font-size:14px;line-height:1.6}.page-item,.layer-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}.page-item{width:100%;gap:9px;padding:8px}.page-thumbnail-frame{display:grid;width:100%;height:116px;place-items:center;overflow:hidden;border:1px solid rgba(27,27,24,.08);border-radius:9px;background:#fff}.page-thumbnail-frame img{width:100%;height:100%;object-fit:contain}.page-thumbnail-placeholder{width:100%;height:100%;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.7) 50%,transparent 65%),#6d635614;background-size:220% 100%;animation:thumbnail-loading 1.4s ease-in-out infinite}.page-item-meta{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:8px;padding:0 3px 2px}.page-item-meta strong{font-size:14px;font-weight:650}.page-item-meta small{color:var(--muted);font-size:11px}@keyframes thumbnail-loading{to{background-position:-120% 0}}.page-item.active,.layer-item.active{border-color:#2563eb61;background:#dbeafe8c}.layer-label{color:var(--text)}.inspector{display:flex;flex-direction:column;gap:12px}.inspector label{display:flex;flex-direction:column;gap:6px}.inspector span{color:var(--muted);font-size:12px}.inspector input,.inspector textarea,.inspector select{width:100%;border:1px solid rgba(27,27,24,.12);border-radius:12px;background:#ffffffe6;padding:10px 12px}.font-upload-field{display:flex;flex-direction:column;gap:6px}.font-upload-label{color:var(--muted);font-size:12px}.font-upload-control{display:grid;width:100%;min-width:0;min-height:58px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px dashed rgba(194,65,12,.3);border-radius:12px;background:#ffffffb8;padding:9px 10px;color:var(--text);text-align:left;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.font-upload-control:hover{border-color:#c2410ca6;background:#fff7ede6}.font-upload-control:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.font-upload-control.has-font{border-style:solid;border-color:#16a34a47;background:#f0fdf49e}.inspector .font-upload-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#c2410c17;color:var(--accent)}.font-upload-control.has-font .font-upload-icon{background:#16a34a1a;color:#15803d}.font-upload-icon svg{width:18px;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.font-upload-copy{display:block;min-width:0}.font-upload-copy strong,.font-upload-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-upload-copy strong{color:var(--text);font-size:12px;font-weight:650;line-height:1.35}.font-upload-copy small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35}.inspector .font-upload-action{color:var(--accent);font-size:11px;font-weight:700}.font-upload-control.has-font .font-upload-action{color:#15803d}.inspector input:disabled,.inspector select:disabled{background:#f3f4f6db;color:#6b7280}.inspector textarea:disabled,.inspector .readonly-text{background:#f3f4f6db;color:#6b7280}.native-edit-status{display:flex;align-items:center}.native-transform-section{display:flex;flex-direction:column;gap:10px;border-block:1px solid rgba(27,27,24,.08);padding-block:12px}.native-transform-heading{display:flex;flex-direction:column;gap:3px}.inspector .native-transform-heading>span{color:var(--text);font-weight:700}.native-transform-heading small{color:var(--muted);font-size:10px;line-height:1.45}.native-edit-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-weight:700}.native-edit-badge.supported{background:#16a34a1a;color:#166534}.native-edit-badge.unsupported{background:#b4231817;color:#b42318}.native-location{display:flex;flex-direction:column;gap:6px}.native-location code{overflow-wrap:anywhere;border-radius:10px;background:#1b1b180d;padding:8px 10px;color:#374151;font-size:11px}.native-actions{display:grid;gap:8px}.native-actions button{min-height:42px;border:1px solid rgba(27,27,24,.1);border-radius:12px;background:#ffffffe6;padding:9px 12px;font-size:13px;font-weight:700}.native-actions .primary-action{border-color:var(--accent);background:var(--accent);color:#fff}.inspector textarea{min-height:96px;resize:vertical}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.danger{color:#b42318}@media (max-width: 1100px){.shell{display:flex;flex-direction:column;overflow-y:auto}.sidebar,.right-panel{flex:none;padding-bottom:24px;border:0;border-bottom:1px solid var(--panel-border)}.workspace{order:-1;min-height:70vh}.workspace.landing-mode{min-height:auto;flex:none}.workspace.landing-mode .canvas-host.empty{min-height:auto;flex:none;overflow:visible}.left-panel{display:block;padding:0;overflow:visible}.left-panel-content{min-height:0;max-height:none;padding-bottom:18px;overflow:visible}.panel-resizer{display:none}.layer-dock{height:320px;min-height:320px;padding:8px 10px}}@media (max-width: 560px){.canvas-host.empty,.seo-static-shell{padding:30px 20px 64px}.seo-hero{padding-bottom:30px}.seo-landing h1{font-size:37px}.seo-steps li{grid-template-columns:32px minmax(0,1fr)}.seo-steps strong,.seo-steps span{grid-column:2}.seo-steps span{margin-top:-8px}.layer-dock{padding:7px 9px}.layer-toolbar{overflow-x:auto}}
