@font-face{font-family:Roboto;src:url(/fonts/roboto-regular.ttf);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/roboto-bold.ttf);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/roboto-italic.ttf);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/roboto-bolditalic.ttf);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Open Sans;src:url(/fonts/opensans-regular.ttf);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Open Sans;src:url(/fonts/opensans-bold.ttf);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Open Sans;src:url(/fonts/opensans-italic.ttf);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Open Sans;src:url(/fonts/opensans-bolditalic.ttf);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-regular.ttf);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-bold.ttf);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-italic.ttf);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-bolditalic.ttf);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-regular.ttf);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-bold.ttf);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-italic.ttf);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-bolditalic.ttf);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Merriweather;src:url(/fonts/merriweather-regular.ttf);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Merriweather;src:url(/fonts/merriweather-bold.ttf);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Merriweather;src:url(/fonts/merriweather-italic.ttf);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Merriweather;src:url(/fonts/merriweather-bolditalic.ttf);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-regular.ttf);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-bold.ttf);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-italic.ttf);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-bolditalic.ttf);font-weight:700;font-style:italic;font-display:swap}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1f2937;background:#e5e7ee}.app{display:flex;flex-direction:column;height:100vh;height:100dvh}.toolbar{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;border-bottom:1px solid #d8dae3;flex-wrap:wrap;z-index:20}.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;color:#1f2937;letter-spacing:-.02em;margin-right:4px;white-space:nowrap;text-decoration:none}.brand-mark{width:30px;height:30px;display:grid;place-items:center;overflow:hidden;border-radius:9px;background:#fff4df;box-shadow:inset 0 0 0 1px #ffa80038}.brand-mark img{width:27px;height:27px;display:block;object-fit:contain}.brand-name>span{color:#b57400}.group{display:flex;align-items:center;gap:4px}.divider{width:1px;height:24px;background:#e2e4ec}.spacer{flex:1}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;border-radius:7px;padding:6px 10px;font-size:12.5px;font-weight:500;color:#374151;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;touch-action:manipulation}.btn:hover:not(:disabled){background:#f1f2f7}.btn:disabled{opacity:.45;cursor:default}.btn.active{background:#fff4e0;border-color:#ffd899;color:#a36b00}.btn.primary{background:#ffa800;color:#2b1d00;font-weight:600;padding:7px 16px}.btn.primary:hover:not(:disabled){background:#f09b00}.btn.toggle{padding:6px 9px}.tool-icon{font-size:12px;width:16px;text-align:center;opacity:.8}.toolbar select,.toolbar input[type=number]{border:1px solid #d8dae3;border-radius:7px;padding:5px 6px;font-size:12.5px;background:#fff;color:#374151}.toolbar input[type=number]{width:54px}.toolbar input[type=color]{width:30px;height:28px;border:1px solid #d8dae3;border-radius:7px;padding:2px;background:#fff;cursor:pointer}.zoom-label{font-size:12px;color:#6b7280;min-width:42px;text-align:center}.doc-label{font-size:12px;color:#6b7280;margin-right:6px}.hintbar{padding:6px 16px;font-size:12.5px;color:#5b6472;background:#f6f7fb;border-bottom:1px solid #e2e4ec}.notice{padding:8px 16px;font-size:13px;border-bottom:1px solid transparent}.notice.error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.notice.success{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.notice.info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.workspace{flex:1;overflow:auto;padding:28px;display:flex;flex-direction:column;align-items:center;gap:30px}.empty{margin:auto;max-width:420px;text-align:center;background:#fff;border:1.5px dashed #c3c7d4;border-radius:16px;padding:48px 40px;cursor:pointer}.empty:hover{border-color:#ffa800}.empty-logo-wrap{width:92px;height:92px;display:grid;place-items:center;margin:0 auto 18px;border-radius:26px;background:linear-gradient(145deg,#fff8e9,#fff0d0);box-shadow:0 12px 28px #a7670024,inset 0 0 0 1px #ffa80033;transform:rotate(-3deg);transition:transform .18s ease,box-shadow .18s ease}.empty:hover .empty-logo-wrap{transform:rotate(0) translateY(-2px);box-shadow:0 16px 34px #a767002e,inset 0 0 0 1px #ffa80047}.empty-logo{width:76px;height:76px;object-fit:contain}.empty h2{margin:0 0 8px;font-size:19px}.empty p{margin:0;color:#6b7280;font-size:13.5px;line-height:1.5}.page-shell{display:flex;flex-direction:column;align-items:center;gap:6px}.page-label{font-size:11.5px;color:#8891a0}.page-wrap{position:relative;background:#fff;box-shadow:0 1px 3px #0f172a1f,0 8px 28px #0f172a1a;border-radius:2px}.page-wrap canvas{display:block}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-user-select:none;user-select:none}.overlay.tool-edittext{cursor:default}.overlay.tool-text{cursor:text}.overlay.tool-whiteout,.overlay.tool-highlight,.overlay.tool-pen{cursor:crosshair}.overlay.tool-whiteout,.overlay.tool-highlight,.overlay.tool-pen,.tool-select .text-el,.tool-select .el-whiteout,.tool-select .el-highlight,.resize-handle{touch-action:none}.line-hit{touch-action:manipulation}.line-editor,.text-el.editing{-webkit-user-select:text;user-select:text}.overlay>*{position:absolute}.line-hit{cursor:text;border-radius:2px}.line-hit:hover{outline:1.5px solid rgba(230,150,0,.75);background:#ffa80014}.line-editor{border:1.5px solid #ffa800;border-radius:2px;outline:none;white-space:pre;box-shadow:0 2px 10px #0f172a2e;z-index:10}.edit-cover{overflow:visible;white-space:pre}.edit-cover span{white-space:pre;display:block}.tool-edittext .edit-cover{cursor:text}.tool-edittext .edit-cover:hover{outline:1.5px dashed rgba(230,150,0,.75)}.el-whiteout{background:#fff}.el-whiteout.live,.el-highlight.live{outline:1px dashed rgba(79,70,229,.7)}.el-highlight{mix-blend-mode:multiply;opacity:.55}.draw-layer{left:0;top:0;pointer-events:none}.text-el{white-space:pre-wrap;overflow-wrap:break-word;min-height:1em}.tool-select .text-el,.tool-select .el-whiteout,.tool-select .el-highlight,.tool-select .edit-cover{cursor:move}.tool-select .edit-cover{cursor:pointer}.text-el.editing{border:1.5px solid #ffa800;border-radius:2px;outline:none;background:#ffffffd9;resize:none;overflow:hidden;padding:0;margin:0;z-index:10}.selected{outline:1.5px solid #ffa800;outline-offset:1px}.selected-vector{filter:drop-shadow(0 0 2px rgba(255,168,0,.95))}.resize-handle{position:absolute;right:-5px;top:50%;margin-top:-5px;width:10px;height:10px;border-radius:50%;background:#ffa800;border:2px solid #fff;box-shadow:0 1px 3px #0f172a59;cursor:ew-resize}@media (max-width: 960px){.tool-label{display:none}.btn.tool{padding:7px 9px}.tool-icon{width:auto}.doc-label{display:none}.hintbar{font-size:11.5px;padding:5px 10px}}@media (max-width: 600px){.toolbar{gap:4px;padding:6px 8px}.brand-name{display:none}.btn{padding:6px 8px;font-size:12px}.btn.primary{padding:6px 10px}.toolbar select{max-width:90px;padding:5px 4px}.toolbar input[type=number]{width:42px}.toolbar input[type=color]{width:28px}.zoom-label{min-width:34px;font-size:11px}.workspace{padding:12px 8px;gap:18px}.empty{margin:auto 14px;padding:34px 22px}.empty h2{font-size:17px}}
