@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dancing-script-vietnamese-400-normal-lz8MlVep.woff2)format("woff2"),url(/assets/dancing-script-vietnamese-400-normal-D2srOv8f.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dancing-script-latin-ext-400-normal-C917Kz-3.woff2)format("woff2"),url(/assets/dancing-script-latin-ext-400-normal-DaWfpMsu.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dancing-script-latin-400-normal--YrtvvVF.woff2)format("woff2"),url(/assets/dancing-script-latin-400-normal-BY5FxJb0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f7f7f8;--panel:#fff;--ink:#16171b;--muted:#5e6068;--accent:#0d7a6c;--accent-hover:#0a6157;--accent-tint:#ddf0ec;--line:#e4e4e7;--line-strong:#8a8c94;--success:#2f7d1f;--warn:#a35c00;--error:#c42b1c;color:var(--ink);font-family:Geist Variable,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}input[type=range],input[type=checkbox]{accent-color:var(--accent)}.app{flex-direction:column;min-height:100vh;display:flex}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 16px;display:flex}.toolbar .name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1;overflow:hidden}.toolbar button{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;padding:6px 12px}.toolbar button:disabled{opacity:.45;cursor:default}.toolbar button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.toolbar button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.toolbar .logo{width:auto;height:24px;display:block}button:focus-visible,input:focus-visible{outline:none;box-shadow:0 0 0 3px #0d7a6c59}.pages{flex-direction:column;align-items:center;gap:16px;padding:24px 16px 64px;display:flex;overflow-x:auto}.page{background:#fff;flex:none;position:relative;box-shadow:0 1px 3px #0000001f,0 8px 24px #0000000f}.page canvas{display:block}.para{cursor:text;border:1px dashed #0000;border-radius:2px;position:absolute}.page:hover .para{border-color:#0d7a6c66}.para:hover{background:#0d7a6c0d;border-color:var(--accent)!important}.para-locked{cursor:not-allowed}.para-locked:hover{background:0 0;border-color:var(--muted)!important}.edit-frame{border:1px solid var(--accent);pointer-events:none;border-radius:2px;position:absolute}.edit-canvas{cursor:text;position:absolute;top:0;left:0}.edit-input{opacity:0;resize:none;white-space:pre;border:0;width:1px;height:1em;padding:0;position:absolute;overflow:hidden}.dropzone{flex:1;place-items:center;padding:24px 16px;display:grid}.dropzone .card{text-align:center;background:var(--panel);border:2px dashed var(--line);border-radius:16px;width:100%;max-width:32rem;padding:48px 24px}.dropzone.over .card{border-color:var(--accent)}.toast{background:var(--ink);color:#fff;border-radius:10px;align-items:center;gap:12px;max-width:calc(100% - 32px);padding:10px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast.warning{background:var(--warn)}.toast.error{background:var(--error)}.toast button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.format-bar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 16px;display:flex}.format-bar button{font:inherit;border:1px solid var(--line);background:var(--panel);min-width:32px;color:var(--ink);cursor:pointer;border-radius:6px;padding:4px 8px}.format-bar button[aria-pressed=true]{background:var(--accent-tint);border-color:var(--accent)}.format-bar button:disabled,.format-bar input:disabled{opacity:.45;cursor:default}.format-bar input[type=number]{width:4.5em;font:inherit;border:1px solid var(--line);border-radius:6px;padding:4px 6px}.format-bar input[type=color]{border:1px solid var(--line);background:0 0;border-radius:6px;width:32px;height:28px;padding:0}.object-layer{cursor:default;touch-action:none;position:absolute;top:0;left:0}.mode{display:flex}.mode button{border-radius:0}.mode button:first-child{border-radius:8px 0 0 8px}.mode button:last-child{border-left:0;border-radius:0 8px 8px 0}.toolbar .mode button[aria-pressed=true],.toolbar>button[aria-pressed=true]{background:var(--accent-tint);border-color:var(--accent)}.format-bar .hint{color:var(--muted);margin-left:8px;font-size:13px}.format-bar .sep{background:var(--line);align-self:stretch;width:1px;margin:0 4px}.format-bar .paint{align-items:center;gap:2px;display:inline-flex}.format-bar input[type=range]{width:80px}.format-bar input[type=number][aria-label=Line\ width]{width:3.8em}.dialog-backdrop{z-index:50;background:#0f111559;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border-radius:14px;flex-direction:column;gap:10px;width:min(540px,100%);padding:20px;display:flex;box-shadow:0 20px 60px #00000040}.dialog h2{margin:0;font-size:17px}.dialog label{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog input[type=range]{flex:1}.dialog .hint{color:var(--muted);margin:0;font-size:13px}.image-preview{cursor:crosshair;background:repeating-conic-gradient(#e5e7eb 0% 25%,#fff 0% 50%) 50%/16px 16px;align-self:center;max-width:100%}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dialog-actions button{font:inherit;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:8px;padding:6px 14px}.dialog-actions button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.dialog-actions button:disabled{opacity:.45;cursor:default}.annotation-layer{touch-action:none;position:absolute;top:0;left:0}.format-bar .swatch{width:24px;min-width:24px;height:24px;box-shadow:0 0 0 1px var(--line-strong);border:2px solid #fff;border-radius:50%;padding:0}.format-bar .swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}.note-popover{z-index:5;background:#fffbe6;border:1px solid #e8d48a;border-radius:8px;width:220px;padding:6px;position:absolute;box-shadow:0 8px 24px #0000001f}.note-popover textarea{resize:vertical;width:100%;min-height:80px;font:inherit;background:0 0;border:0;outline:none}.download{display:flex;position:relative}.download>.primary:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.download>.caret{border-left:1px solid #ffffff59;border-top-left-radius:0;border-bottom-left-radius:0;padding:6px 8px}.download .menu{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:260px;padding:4px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0000001f}.download .menu button{text-align:left;border:0;width:100%}.download .menu button:hover{background:var(--accent-tint)}.format-bar select{font:inherit;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:4px 6px}.bars{z-index:10;position:sticky;top:0}.workspace{align-items:flex-start;display:flex}.workspace .pages{flex:1;min-width:0}.comments{top:var(--bars-h,96px);width:340px;max-height:calc(100vh - var(--bars-h,96px));background:var(--panel);border-left:1px solid var(--line);box-sizing:border-box;flex:none;padding:12px;position:sticky;overflow-y:auto}.comments header{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.comments h2{margin:0;font-size:15px;font-weight:600}.comments .count{color:var(--muted);font-weight:500}.comments .author{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.comments input,.comments select,.comments textarea{font:inherit;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:6px 8px}.comments .filters{grid-template-columns:1fr 1fr;gap:6px;display:grid}.comments .filters input{grid-column:1/-1}.comments .empty{color:var(--muted);font-size:14px}.thread{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;margin-bottom:10px;padding:10px;display:flex}.thread.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.thread-head{font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.thread-head .dot{width:10px;height:10px;box-shadow:0 0 0 1px var(--line-strong);border-radius:50%}.thread-head .kind{font-weight:600}.thread-head .where{color:var(--muted);margin-left:auto;font-size:13px}.comment{border-top:1px solid var(--line);padding-top:8px;font-size:14px}.comment:first-of-type{border-top:0;padding-top:0}.comment .byline{align-items:baseline;gap:8px;display:flex}.comment time{color:var(--muted);font-size:12px}.comment p,.comment blockquote{white-space:pre-wrap;margin:4px 0}.comment blockquote{border-left:3px solid var(--line-strong);color:var(--muted);padding-left:8px}.comment textarea{box-sizing:border-box;width:100%;min-height:60px}.comment .actions{gap:6px;display:flex}.comment .actions button,.thread .reply button{font:inherit;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:6px;padding:2px 8px;font-size:13px}.thread .reply{gap:6px;display:flex}.thread .reply input{flex:1;min-width:0}.form-layer{pointer-events:none;position:absolute;top:0;left:0}.form-layer .field{pointer-events:auto;border-radius:2px;position:absolute}.form-layer.highlight .field:not(.locked){background:#0d7a6c1a;box-shadow:inset 0 0 0 1px #0d7a6c73}.form-layer.highlight .field.required{box-shadow:inset 0 0 0 1px var(--error)}.field.locked{cursor:not-allowed}.field-text,.field-select,.field-toggle{border:0;border-radius:2px;width:100%;height:100%;margin:0;position:absolute;inset:0}.field-text{color:#0000;caret-color:var(--ink);resize:none;background:0 0;padding:0 2px;font-family:Helvetica,Arial,sans-serif}.field-text:focus{color:var(--ink);outline:2px solid var(--accent);background:#fff}.field-select{opacity:0;cursor:pointer;font-family:Helvetica,Arial,sans-serif}.field-select:focus{opacity:1;outline:2px solid var(--accent)}.field-toggle{cursor:pointer;background:0 0;padding:0}.field-toggle:focus-visible{outline:2px solid var(--accent)}.notice{background:var(--accent-tint);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 16px;font-size:14px;display:flex}.notice span{flex:1}.notice button{font:inherit;border:1px solid var(--line-strong);background:var(--panel);cursor:pointer;border-radius:8px;padding:4px 10px;font-size:13px}.notice button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.notice button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.form-layer .field.locked,.form-layer.placing .field{pointer-events:none}.form-layer.highlight .field.signature{background:#ffd54a38;box-shadow:inset 0 0 0 1px #d4a72c}.signature-dialog .tabs{gap:4px;display:flex}.signature-dialog .tabs button{font:inherit;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:8px;padding:4px 12px}.signature-dialog .tabs button[aria-selected=true]{background:var(--accent-tint);border-color:var(--accent)}.signature-dialog input[type=text]{font:inherit;border:1px solid var(--line);border-radius:8px;padding:6px 8px}.signature-pad{aspect-ratio:3;border:1px dashed var(--line-strong);touch-action:none;background:#fff;border-radius:8px;width:100%}.signature-pad.initials{aspect-ratio:3/2;align-self:center;width:60%}.signature-row{align-items:center;gap:8px;display:flex}.signature-row .swatch{width:24px;height:24px;box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;border:2px solid #fff;border-radius:50%;padding:0}.signature-row .swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}.signature-row .clear{font:inherit;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:8px;margin-left:auto;padding:4px 10px}
