:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f7f9;--surface:#fff;--surface-2:#f1f3f6;--border:#e3e7ed;--text:#0f172a;--text-dim:#64748b;--accent:#2563eb;--accent-solid:#2563eb;--accent-text:#fff;--warn:#b45309;--success:#15803d;--success-solid:#15803d;--danger:#dc2626;--hover-tint:color-mix(in srgb, var(--text) 7%, transparent);--radius:10px;--radius-sm:7px;--control-h:28px;--bar-pad:3px;--text-sm:13px;--text-xs:12px;--shadow-1:0 1px 2px #0f172a0f, 0 1px 3px #0f172a14;--shadow-2:0 8px 30px #0f172a24;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans Thai", sans-serif;--annotation:#dc2626;--text-edit-bg:#fff;--checker:#c9cfd8;--checker-base:#fff;--checker-image:linear-gradient(45deg, var(--checker) 25%, transparent 25%), linear-gradient(-45deg, var(--checker) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--checker) 75%), linear-gradient(-45deg, transparent 75%, var(--checker) 75%)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@font-face{font-family:Snapboard Annotation;font-weight:600;font-style:normal;font-display:block;src:url(./Inter-Latin-600-LgqL8muc.woff2)format("woff2")}@font-face{font-family:Snapboard Annotation;font-weight:600;font-style:normal;font-display:block;src:url(./Anuphan-Thai-600-Co7SjXAc.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@media (prefers-color-scheme:dark){:root{--bg:#0d1117;--surface:#161b22;--surface-2:#1f2630;--border:#2a323d;--text:#e6edf3;--text-dim:#8b949e;--accent:#4c8dff;--accent-solid:#1f6feb;--warn:#fbbf24;--success:#4ade80;--danger:#f87171;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 30px #00000080}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex:none;align-items:center;gap:8px;height:52px;padding:0 14px;display:flex;overflow:auto hidden}.topbar>*{flex-shrink:0}.brand{letter-spacing:-.01em;-webkit-user-select:none;user-select:none;margin-right:6px;font-size:15px;font-weight:650}.spacer{flex:1}.group{padding:var(--bar-pad);background:var(--surface-2);border-radius:var(--radius);align-items:center;gap:2px;display:flex}.chip{appearance:none;color:var(--text-dim);font:inherit;font-size:var(--text-sm);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:5px 10px;transition:background .12s,color .12s,transform 80ms}.chip:hover{color:var(--text);background:var(--hover-tint)}.chip:active{transform:scale(.96)}.chip[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.free-banner{font-size:var(--text-sm);color:var(--text-dim);white-space:nowrap;align-items:center;gap:8px;padding:5px 10px;display:flex}.link{appearance:none;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:550}.link:hover{text-decoration:underline}.chip:focus-visible,.btn:focus-visible,.swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.swatch{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--text) 22%, transparent);cursor:pointer;width:24px;height:24px;padding:0;transition:transform 80ms,box-shadow .12s}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}.swatch:active{transform:scale(.9)}.swatch--transparent{background-image:var(--checker-image);background-position:0 0,0 5px,5px -5px,-5px 0;background-size:10px 10px;background-color:var(--checker-base)}.background-picker,.topbar-settings{display:flex;position:relative}.background-picker .btn{align-items:center;gap:8px;display:inline-flex}.swatch--preview{pointer-events:none;flex-shrink:0;width:16px;height:16px}.background-menu__margin{border-top:1px solid var(--border);grid-column:1/-1;align-items:center;gap:6px;padding-top:8px;display:flex}.background-menu__label{font-size:var(--text-xs);color:var(--text-dim);margin-right:auto}.background-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;animation:.13s ease-out popover-in;display:grid;position:fixed}.btn{appearance:none;font:inherit;font-size:var(--text-sm);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;padding:8px 14px;font-weight:550;transition:background .12s,transform 80ms}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.split-btn{display:flex;position:relative}.split-btn .btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.split-btn__caret{border-radius:0 var(--radius) var(--radius) 0;color:var(--text-dim);border-left:0;padding:8px 9px}.export-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:210px;box-shadow:var(--shadow-2);gap:10px;padding:12px;animation:.13s ease-out popover-in;display:grid;position:fixed}.export-menu__row{gap:6px;display:grid}.export-menu__label{font-size:var(--text-xs);color:var(--text-dim);font-weight:600}.export-menu__estimate{font-size:var(--text-xs);color:var(--text-dim)}.export-menu__warn{color:var(--warn);margin-top:2px}.btn--primary{background:var(--accent-solid);color:var(--accent-text);border-color:#0000;min-width:92px}.btn--primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent-solid) 88%, black)}.btn--done,.btn--done:hover:not(:disabled){background:var(--success-solid)}.slider{font-size:var(--text-xs);color:var(--text-dim);align-items:center;gap:7px;padding:0 8px;display:flex}.slider input{width:78px;accent-color:var(--accent)}.size-stepper{align-items:center;gap:2px;padding:0 4px;display:flex}.size-stepper__btn{appearance:none;font:inherit;cursor:pointer;border-radius:var(--radius-sm);width:var(--control-h);height:var(--control-h);color:var(--text-dim);background:0 0;border:0;font-size:15px;line-height:1;transition:background .1s,color .1s,transform 80ms}.size-stepper__btn:hover:not(:disabled){color:var(--text);background:var(--hover-tint)}.size-stepper__btn:active:not(:disabled){transform:scale(.9)}.size-stepper__btn:disabled{opacity:.4;cursor:default}.mobile-settings-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:260px;max-height:calc(100vh - 32px);box-shadow:var(--shadow-2);gap:14px;padding:14px;animation:.13s ease-out popover-in;display:grid;position:fixed;overflow-y:auto}.mobile-settings-menu__section{gap:6px;display:grid}.mobile-settings-menu__label{font-size:var(--text-xs);color:var(--text-dim);font-weight:600}.mobile-settings-menu__swatches{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.mobile-settings-menu .group{flex-wrap:wrap}.mobile-settings-menu .slider{padding:0}.mobile-settings-menu .slider input{flex:1;width:auto}.mobile-settings-menu__clear{width:100%}.recovery-bar{font-size:var(--text-sm);color:var(--text);background:color-mix(in srgb, var(--accent) 8%, var(--surface));border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 16px;display:flex}.recovery-dismiss{appearance:none;color:var(--text-dim);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0 4px;font-size:16px;line-height:1;transition:color .12s}.recovery-dismiss:hover{color:var(--text)}.stage{flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.board-stage{background:var(--surface-2);position:absolute;inset:0}.board-page{box-shadow:var(--shadow-2);background-image:var(--checker-image);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;background-color:var(--checker-base);pointer-events:none;border-radius:6px;position:absolute}.board-canvas{touch-action:none;display:block;position:absolute;inset:0}.board-interaction,.board-crop-overlay{pointer-events:none;display:block;position:absolute;inset:0}.text-edit{resize:none;box-sizing:border-box;border:1px dashed var(--accent);background:var(--text-edit-bg);min-height:1.35em;color:var(--annotation);border-radius:4px;outline:none;font-family:Snapboard Annotation,ui-sans-serif,system-ui,sans-serif;font-weight:600;position:absolute;overflow:hidden}.selection-toolbar{padding:var(--bar-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);pointer-events:auto;z-index:1;align-items:center;gap:2px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.selection-toolbar__btn{appearance:none;font:inherit;cursor:pointer;border-radius:var(--radius-sm);width:var(--control-h);height:var(--control-h);color:var(--text-dim);background:0 0;border:0;font-size:14px;transition:background .1s,color .1s,transform 80ms}.selection-toolbar__btn:hover{color:var(--text);background:var(--hover-tint)}.selection-toolbar__btn:active{transform:scale(.9)}.selection-toolbar__btn--danger{justify-content:center;align-items:center;display:inline-flex}.selection-toolbar__btn--danger:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.context-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;box-shadow:var(--shadow-2);gap:2px;padding:6px;animation:.13s ease-out popover-in;display:grid;position:fixed}.context-menu__item{appearance:none;font:inherit;font-size:var(--text-sm);color:var(--text);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:7px 10px;transition:background .1s,color .1s;display:flex}.context-menu__item:hover{background:var(--hover-tint)}.context-menu__item--danger:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.context-menu__icon{text-align:center;width:16px;color:var(--text-dim);flex-shrink:0}.context-menu__icon>svg{margin:0 auto;display:block}.board-canvas--annotate{cursor:crosshair}.annotation-toolbar{padding:var(--bar-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);align-items:center;gap:2px;display:flex;position:absolute;bottom:16px;left:16px}.annotation-toolbar__btn{appearance:none;font:inherit;cursor:pointer;border-radius:var(--radius-sm);width:var(--control-h);height:var(--control-h);color:var(--text-dim);background:0 0;border:0;font-size:15px;transition:background .1s,color .1s,transform 80ms}.annotation-toolbar__btn:hover{color:var(--text);background:var(--hover-tint)}.annotation-toolbar__btn:active:not(:disabled){transform:scale(.9)}.annotation-toolbar__btn.is-active{color:var(--accent-text);background:var(--annotation)}.annotation-toolbar__btn:disabled{opacity:.4;cursor:default}.annotation-toolbar__divider{background:var(--border);width:1px;height:20px;margin:0 2px}.annotation-toolbar__swatch{background:var(--text-dim);border-radius:50%;width:14px;height:14px;display:inline-block}.annotation-size-hint{font-size:var(--text-sm);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);pointer-events:none;padding:4px 10px;font-weight:600;position:absolute;bottom:64px;left:16px}.annotation-settings{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow-2);gap:10px;padding:12px;animation:.13s ease-out popover-in;display:grid;position:fixed}.annotation-settings__row{gap:6px;display:grid}.annotation-settings__label{font-size:var(--text-xs);color:var(--text-dim);font-weight:600}.annotation-settings__swatches{gap:6px;display:flex}.annotation-settings__swatch{appearance:none;cursor:pointer;border:2px solid #0000;border-radius:50%;width:20px;height:20px;padding:0}.annotation-settings__swatch[aria-pressed=true]{border-color:var(--text)}.annotation-settings__value{font-variant-numeric:tabular-nums}.zoom-controls{padding:var(--bar-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);align-items:center;gap:2px;display:flex;position:absolute;bottom:16px;right:16px}.zoom-btn,.zoom-pct{appearance:none;font:inherit;cursor:pointer;border-radius:var(--radius-sm);height:var(--control-h);background:0 0;border:0;transition:background .1s,color .1s,transform 80ms}.zoom-btn:active{transform:scale(.9)}.zoom-btn{color:var(--text-dim);width:var(--control-h);font-size:15px;line-height:1}.zoom-fit{font-size:var(--text-sm)}.zoom-pct{color:var(--text);font-size:var(--text-xs);min-width:48px;padding:0 8px;font-weight:600}.zoom-btn:hover,.zoom-pct:hover{color:var(--text);background:var(--hover-tint)}.empty{text-align:center;border:2px dashed var(--border);background:var(--surface);border-radius:18px;place-items:center;gap:18px;max-width:460px;padding:60px 40px;display:grid}.empty h2{margin:0;font-size:19px;font-weight:600}.empty kbd{font:inherit;background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:8px;padding:7px 14px;font-size:15px;font-weight:600;display:inline-block}.empty p{color:var(--text-dim);font-size:var(--text-sm);margin:0}.empty .privacy{font-size:var(--text-xs);opacity:.85}.dropzone{z-index:50;background:color-mix(in srgb, var(--accent) 12%, transparent);border:3px solid var(--accent);pointer-events:none;color:var(--accent);place-items:center;font-size:17px;font-weight:600;display:grid;position:fixed;inset:0}.toasts{z-index:60;pointer-events:none;gap:8px;display:grid;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);border-radius:var(--radius);font-size:var(--text-sm);padding:9px 15px;transition:opacity .16s,transform .16s;animation:.16s ease-out toast-in}.toast--exiting{opacity:0;transform:translateY(8px)scale(.98)}.toast--warn{border-color:var(--warn);color:var(--warn)}.toast--success{border-color:var(--success)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.busy{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);font-size:var(--text-sm);z-index:60;padding:9px 15px;position:fixed;bottom:20px;right:20px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.help-backdrop{z-index:70;background:#0f172a73;place-items:center;animation:.14s ease-out help-backdrop-in;display:grid;position:fixed;inset:0}.help-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(480px,100vw - 32px);max-height:calc(100vh - 64px);box-shadow:var(--shadow-2);gap:14px;padding:20px 22px;animation:.16s ease-out help-modal-in;display:grid;overflow-y:auto}@keyframes help-backdrop-in{0%{opacity:0}}@keyframes help-modal-in{0%{opacity:0;transform:scale(.96)}}.help-modal__header{justify-content:space-between;align-items:center;display:flex}.help-modal__header h2{margin:0;font-size:17px;font-weight:650}.help-modal__close{appearance:none;color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:4px;font-size:16px;line-height:1;transition:color .12s}.help-modal__close:hover{color:var(--text)}.help-modal__section-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.02em;color:var(--text-dim);margin-bottom:6px;font-weight:600}.help-modal__row{font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.help-modal__key{font:inherit;font-size:var(--text-xs);border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;flex-shrink:0;padding:3px 8px;font-weight:600}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=700px){.chip{padding:9px 12px}.btn{padding:11px 16px}.split-btn__caret{padding:11px 12px}.annotation-toolbar__btn,.selection-toolbar__btn,.size-stepper__btn{width:40px;height:40px;font-size:17px}.annotation-toolbar,.selection-toolbar{max-width:calc(100vw - 32px);overflow-x:auto}.annotation-toolbar .slider,.selection-toolbar .slider{padding:0 4px}.annotation-toolbar .slider input,.selection-toolbar .slider input{width:56px}.brand{display:none}}
