:root{--accent:#7c3aed;--orange:#ff9f2f;--ink:#1f2937;--muted:#667085;--line:#d8d2ff;--soft:#f7f4ff;--panel:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#f4f1ff;font-size:14px}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}button,a,input,select,textarea,summary{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange)}button{min-height:34px;border:1px solid var(--line);border-radius:7px;padding:6px 10px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover{background:var(--soft);border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:#6424cf;color:#fff}input:not([type=checkbox]):not([type=color]):not([type=range]),select{border:1px solid var(--line);border-radius:6px;min-height:32px;padding:5px 7px;background:#fff;color:var(--ink);max-width:100%}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}input[type=color]{width:100%;height:31px;border:1px solid var(--line);background:#fff;border-radius:5px}a{color:var(--accent)}svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;flex-shrink:0}.sprite{position:absolute;width:0;height:0}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;top:10px;left:10px;background:#fff;padding:10px;z-index:100}h2{font-size:14px;margin:0}h3{font-size:14px}.app-header{display:flex;align-items:center;gap:24px;min-height:78px;background:#fff;border-bottom:1px solid var(--line);padding:12px 20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#392365;flex-shrink:0}.brand strong{font-size:23px;letter-spacing:-.6px}.brand sup{font-size:10px}.brand small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.title-field{flex:1;max-width:360px}.title-field input{width:100%;font-weight:600}.header-actions{display:flex;align-items:center;gap:8px;margin-inline-start:auto}.lang-select{max-width:160px}.menu-bar{display:flex;align-items:center;gap:4px;padding:4px 17px;background:#fff;border-bottom:1px solid var(--line)}.menu-bar>button,.menu-bar summary{border:0;min-height:32px;padding:6px 12px;border-radius:4px;font-weight:600;font-size:13px}.menu-bar details{position:relative}.menu-bar details>summary{list-style:none}.menu-bar details>summary:hover{background:var(--soft)}.menu-panel{position:absolute;top:100%;inset-inline-start:0;z-index:40;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px #34205c22;border-radius:7px;width:245px;padding:6px}.menu-panel button{width:100%;justify-content:flex-start;border:0}.menu-panel hr{border:0;border-top:1px solid var(--line)}.release-label{margin-inline-start:auto;color:var(--muted);font-size:11px}.toolbar{display:flex;align-items:center;gap:12px;padding:8px 18px;background:var(--soft);border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}.tool-group{display:flex;gap:5px;border-inline-end:1px solid var(--line);padding-inline-end:12px}.toolbar button{font-size:12px}.print-button{margin-inline-start:auto}.editor-shell{display:grid;grid-template-columns:180px minmax(260px,1fr) 244px;min-height:420px;height:calc(100dvh - 238px)}.left-panel,.right-panel{background:#fff;overflow-y:auto}.left-panel{border-inline-end:1px solid var(--line)}.right-panel{border-inline-start:1px solid var(--line);padding:12px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 0 12px}.left-panel .panel-heading{padding:12px}.panel-heading button{padding:5px;min-height:28px}.panel-heading h2{color:#392365}.page-list{display:grid;gap:12px;padding:0 12px 12px}.page-thumb{display:block;padding:9px;background:#fff;width:100%;border:1px solid var(--line);text-align:center;min-height:120px}.page-thumb.active{border:2px solid var(--accent);padding:8px;background:var(--soft)}.thumb-sheet{position:relative;overflow:hidden;pointer-events:none;margin:0 auto 7px;box-shadow:0 1px 4px #34205c22;background:#fff}.thumb-page{position:absolute;top:0;left:0;transform-origin:top left}.page-actions{padding:0 12px 14px;display:grid;gap:7px}.page-actions button{font-size:11px}.starter-note{border-top:1px solid var(--line);padding:12px;font-size:12px;line-height:1.5;color:var(--muted)}.starter-note h3{margin:0 0 8px;color:#392365}.starter-note button{font-size:11px;margin-bottom:12px}.starter-note a{display:block}.workspace{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#eeeaf6}.workspace-top{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-size:12px;color:#5f5870;min-height:36px;gap:8px}.workspace-top #linkHint{color:#6424cf;font-weight:600}.canvas-scroll{flex:1;overflow:auto;padding:12px 28px 40px;position:relative}.sheet-wrap{position:relative;margin:0 auto;padding:0;flex-shrink:0}.page-surface,.publication-page{position:relative;background:#fff;direction:ltr;overflow:hidden;flex-shrink:0;transform-origin:top left}.page-surface{box-shadow:0 3px 15px #34205c20;outline:none}.object{position:absolute;transform-origin:center;box-sizing:border-box;touch-action:none}.page-surface .object{cursor:move}.object.selected{outline:1.5pt solid var(--accent);outline-offset:1pt;z-index:auto}.object.locked{cursor:default}.text-content{height:100%;width:100%;overflow:hidden;box-sizing:border-box}.object-image{width:100%;height:100%;display:block;pointer-events:none}.object-shape{width:100%;height:100%;display:block}.resize-handle{position:absolute;right:-5pt;bottom:-5pt;width:10pt;height:10pt;background:#fff;border:1.5pt solid var(--accent);cursor:nwse-resize;z-index:31;touch-action:none}.flow-marker{position:absolute;right:0;bottom:0;border:1pt solid var(--accent);background:#fff;color:var(--accent);font:10pt/14pt Arial;width:15pt;height:15pt;text-align:center;cursor:pointer}.flow-marker.overflow{color:#c12438;border-color:#c12438}.guide{position:absolute;z-index:35;pointer-events:none;border-color:#9a74e6;border-style:dashed;opacity:.55}.guide.guide-x{top:0;bottom:0;border-width:0 0 0 .6pt}.guide.guide-y{left:0;right:0;border-width:.6pt 0 0}.guide.baseline{border-style:dotted;border-color:#8ec4d0;opacity:.35}.guide.custom{pointer-events:auto;cursor:crosshair;border-color:#d58116;border-style:solid}.ruler{position:absolute;background:#fff9;color:#6e6481;font:9px Arial;user-select:none;z-index:2;touch-action:none;cursor:crosshair}.horizontal{height:21px;top:-23px;left:0}.vertical{width:21px;top:0;left:-23px}.ruler .tick{position:absolute;background:#c8bfda}.horizontal .tick{bottom:0;width:1px;height:5px}.horizontal .tick.major{height:10px}.vertical .tick{right:0;height:1px;width:5px}.vertical .tick.major{width:10px}.ruler span{position:absolute;font-size:9px}.horizontal span{top:1px}.vertical span{writing-mode:vertical-rl;left:1px}.canvas-scroll{padding-top:32px}body.hide-rulers .ruler{display:none}.right-panel label{display:grid;gap:4px;font-size:11px;color:var(--muted);margin-bottom:9px}.right-panel input:not([type=checkbox]),.right-panel select{width:100%;font-size:12px}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 9px}.hint{font-size:12px;line-height:1.5;color:var(--muted)}#objectType{font-size:10px;color:var(--muted)}#textProperties>button{width:100%;font-size:11px;margin-bottom:10px}.object-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:10px 0}.object-actions button{font-size:10px;padding:5px}.panel-section{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.panel-section summary{font-size:12px;font-weight:600;display:flex;gap:5px;align-items:center}.panel-section summary:before{content:'▸';font-size:13px}.panel-section[open] summary:before{content:'▾'}.panel-section summary svg{width:15px}.panel-section #issueCount{margin-inline-start:auto;border-radius:9px;padding:1px 5px;background:var(--soft);font-size:10px}.layer-btn{display:flex;width:100%;justify-content:flex-start;font-size:11px;border:0;border-bottom:1px solid #eee;min-height:32px;overflow:hidden;text-overflow:ellipsis}.layer-btn.active{color:var(--accent);background:var(--soft)}#layerList,#checkerResults{padding-top:8px}.finding{display:block;text-align:start;width:100%;padding:8px;margin-bottom:6px;font-size:11px;line-height:1.5}.finding.error{border-inline-start:3px solid #c12438}.finding.warning{border-inline-start:3px solid #d58116}.status-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 14px;border-top:1px solid var(--line);background:#fff;min-height:47px;font-size:11px}.status-bar #statusText{max-width:40%;line-height:1.4}.view-controls{display:flex;gap:12px;align-items:center}.view-controls label{display:flex;align-items:center;gap:4px;white-space:nowrap}.view-controls select{font-size:11px;min-height:29px;padding:3px 5px}.view-controls input{margin:0}dialog{border:1px solid var(--line);border-radius:12px;padding:20px;width:min(560px,calc(100vw - 28px));max-height:90dvh;overflow:auto;box-shadow:0 20px 70px #34205c33}dialog::backdrop{background:#20143a66}dialog h2{font-size:19px;color:#392365}dialog p{line-height:1.6;color:var(--muted);font-size:13px}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dialog-head button{font-size:20px;min-height:29px;border:0;padding:0 7px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}dialog label{display:grid;gap:6px;margin:12px 0;font-size:12px}dialog label:has(input[type=checkbox]){display:flex;align-items:center}dialog textarea{width:100%;height:300px;resize:vertical;border:1px solid var(--line);padding:12px;border-radius:7px;line-height:1.5}dialog .property-grid input{width:100%}.print-pages,.preview-pages{display:none}.preview-pages{width:max-content;margin:0 auto;direction:ltr}.preview-pages .publication-page{margin-bottom:28px;box-shadow:0 3px 15px #34205c20}body.preview-mode #sheetWrap{display:none}body.preview-mode .preview-pages{display:block}body.preview-mode .toolbar,body.preview-mode .left-panel,body.preview-mode .right-panel{display:none}body.preview-mode .editor-shell{grid-template-columns:1fr;height:calc(100dvh - 188px)}body.preview-mode #exitPreview{display:inline-flex}
@media(max-width:1080px){.editor-shell{grid-template-columns:145px minmax(240px,1fr) 210px}.app-header{gap:12px;padding:10px 14px}.title-field{max-width:250px}.view-controls{gap:7px}.toolbar{gap:6px}.tool-group{padding-inline-end:7px}.brand strong{font-size:21px}}
@media(max-width:780px){.app-header{flex-wrap:wrap;gap:9px}.brand{flex:1}.title-field{order:3;flex-basis:100%;max-width:none}.header-actions{gap:5px}.header-actions .lang-select{max-width:110px}.header-actions button{font-size:11px}.header-actions .primary svg{display:none}.brand strong{font-size:20px}.brand img{width:35px;height:35px}.editor-shell{height:auto;min-height:520px;grid-template-columns:88px minmax(190px,1fr)}.right-panel{grid-column:1/-1;border-top:1px solid var(--line);border-inline-start:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.right-panel .panel-heading,.right-panel #emptySelection{grid-column:1/-1}.right-panel .panel-heading{padding:0}.canvas-scroll{min-height:520px;padding-inline:26px}.page-list{padding:0 6px 8px;gap:8px}.page-thumb{padding:5px;font-size:10px;min-height:80px}.page-thumb.active{padding:4px}.page-actions{padding:0 6px 9px}.page-actions button{font-size:10px;padding:4px;min-height:36px}.starter-note{display:none}.left-panel .panel-heading{padding:8px 6px}.panel-heading h2{font-size:12px}.menu-bar{padding:3px 6px;gap:0;flex-wrap:wrap}.menu-bar>button,.menu-bar summary{font-size:11px;padding:6px 8px}.release-label{display:none}.toolbar{padding:7px 8px}.status-bar{flex-wrap:wrap;position:sticky;bottom:0;z-index:38;padding:8px}.status-bar #statusText{max-width:100%;flex-basis:100%}.view-controls{overflow-x:auto;width:100%;gap:9px}.view-controls label{font-size:10px}.preview-pages .publication-page{margin-inline:0}body.preview-mode .editor-shell{height:auto}.workspace-top{padding:8px;font-size:10px}}
@media print{@page{margin:0}html,body{margin:0!important;padding:0!important;background:#fff!important}body>*:not(.print-pages){display:none!important}.print-pages{display:block!important}.publication-page{margin:0!important;box-shadow:none!important;transform:none!important;break-after:page;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.publication-page:last-child{break-after:auto}.object{outline:none!important}.text-content{print-color-adjust:exact}.flow-marker,.resize-handle,.guide{display:none!important}}
