.tb-root,.tb-root *{box-sizing:border-box}.tb-root{font-family:var(--font-sans);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px;line-height:20px}.tb-icon{width:var(--icon);height:var(--icon);flex:none}.tb-emoji{width:var(--emoji-ui);height:var(--emoji-ui);object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;flex:none}:where(.tb-btn,.tb-tool,.tb-iconbtn,.tb-swatch,.tb-weight,.tb-segmented__item,.tb-menu__item,.tb-page,.tb-emoji-picker__cell):focus-visible,.is-focus{outline:2px solid var(--focus-ring);outline-offset:2px}.tb-canvas{background-color:var(--canvas);background-image:radial-gradient(var(--canvas-dot) 1.25px, transparent 1.5px);background-size:var(--space-6) var(--space-6);position:relative;overflow:hidden}.tb-panel{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-float)}.tb-pop{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-pop)}.tb-divider{background:var(--border);flex:none}.tb-divider--h{width:auto;height:1px;margin:var(--space-1) var(--space-2)}.tb-divider--v{width:1px;height:20px;margin:0 var(--space-1);align-self:center}.tb-btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-4);border-radius:var(--radius-sm);font:500 13px/18px var(--font-sans);color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:0;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex}.tb-btn .tb-icon{width:18px;height:18px}.tb-btn--primary{background:var(--accent);color:var(--on-accent)}.tb-btn--primary:hover,.tb-btn--primary.is-hover{background:var(--accent-hover)}.tb-btn--secondary{background:var(--surface-sunken)}.tb-btn--secondary:hover,.tb-btn--secondary.is-hover{background:var(--surface-hover)}.tb-btn--ghost{color:var(--ink-muted)}.tb-btn--ghost:hover,.tb-btn--ghost.is-hover{background:var(--surface-hover);color:var(--ink)}.tb-btn--danger{color:var(--danger)}.tb-btn--danger:hover,.tb-btn--danger.is-hover{background:var(--surface-hover)}.tb-btn--sm{height:var(--control-sm);padding:0 var(--space-3)}.tb-btn:disabled,.tb-btn.is-disabled{color:var(--ink-disabled);cursor:default;background:0 0}.tb-btn--primary:disabled,.tb-btn--primary.is-disabled{background:var(--surface-sunken)}.tb-iconbtn{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex}.tb-iconbtn:hover,.tb-iconbtn.is-hover{background:var(--surface-hover);color:var(--ink)}.tb-iconbtn--sm{width:var(--control-sm);height:var(--control-sm)}.tb-iconbtn--sm .tb-icon{width:18px;height:18px}.tb-iconbtn:disabled,.tb-iconbtn.is-disabled{color:var(--ink-disabled);cursor:default;background:0 0}.tb-toolbar{align-items:center;gap:var(--space-1);flex-direction:column;padding:6px;display:inline-flex}.tb-toolbar--h{flex-direction:row}.tb-tool{width:var(--tool);height:var(--tool);border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex;position:relative}.tb-tool:hover,.tb-tool.is-hover{background:var(--surface-hover);color:var(--ink)}.tb-tool.is-active,.tb-tool[aria-pressed=true]{background:var(--accent-soft);color:var(--ink-accent)}.tb-tool__dot{border-radius:var(--radius-full);width:6px;height:6px;box-shadow:0 0 0 2px var(--surface);position:absolute;bottom:7px;right:7px}.tb-tool.is-active .tb-tool__dot{box-shadow:0 0 0 2px var(--accent-soft)}.tb-style{gap:var(--space-2);padding:var(--space-2);flex-direction:column;display:inline-flex}.tb-style__row{align-items:center;gap:2px;display:flex}.tb-swatch{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.tb-swatch:before{content:"";border-radius:var(--radius-full);background:var(--sw);width:16px;height:16px;transition:transform .12s ease-out}.tb-swatch:hover:before,.tb-swatch.is-hover:before{transform:scale(1.15)}.tb-swatch.is-active{box-shadow:inset 0 0 0 1.5px var(--ink-muted)}.tb-swatch--square:before{border-radius:5px;width:18px;height:18px}.tb-weight{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-full);color:var(--ink-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.tb-weight:before{content:"";width:var(--w);height:var(--w);border-radius:var(--radius-full);background:currentColor}.tb-weight:hover{color:var(--ink)}.tb-weight.is-active{background:var(--accent-soft);color:var(--ink-accent)}.tb-segmented{background:var(--surface-sunken);border-radius:var(--radius-full);gap:2px;padding:3px;display:inline-flex}.tb-segmented__item{height:30px;padding:0 var(--space-3);border-radius:var(--radius-full);color:var(--ink-muted);font:500 13px/18px var(--font-sans);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;display:inline-flex}.tb-segmented__item .tb-icon{width:18px;height:18px}.tb-segmented__item.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-float)}.tb-field{flex-direction:column;gap:6px;display:flex}.tb-field__label{font:500 13px/18px var(--font-sans);color:var(--ink)}.tb-field__hint{font:400 12px/16px var(--font-sans);color:var(--ink-muted)}.tb-input{height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);width:100%;color:var(--ink);font:400 14px/20px var(--font-sans);border:0}.tb-input::placeholder{color:var(--ink-muted)}.tb-input:focus{outline:2px solid var(--focus-ring);outline-offset:0;background:var(--surface)}.tb-input.is-invalid{box-shadow:inset 0 0 0 1.5px var(--danger)}.tb-input--title{height:32px;padding:0 var(--space-2);background:0 0;width:auto;font-size:15px;font-weight:600}.tb-input--title:hover{background:var(--surface-hover)}.tb-input-group{gap:var(--space-2);display:flex}.tb-topbar{height:48px;padding:0 6px 0 var(--space-4);align-items:center;gap:2px;display:inline-flex}.tb-wordmark{font:600 15px/1 var(--font-display);letter-spacing:-.01em;color:var(--ink);margin-right:var(--space-2)}.tb-presence{border-radius:var(--radius-full);background:var(--surface-sunken);width:32px;height:32px;color:var(--ink-muted);font:600 12px/1 var(--font-sans);justify-content:center;align-items:center;display:inline-flex;position:relative}.tb-presence:after{content:"";border-radius:var(--radius-full);background:var(--olive);width:9px;height:9px;box-shadow:0 0 0 2px var(--surface);position:absolute;bottom:0;right:0}.tb-presence--offline:after{background:var(--ink-disabled)}.tb-zoom{align-items:center;gap:2px;padding:6px;display:inline-flex}.tb-zoom__value{min-width:52px;height:var(--control-md);border-radius:var(--radius-sm);font:500 12px/16px var(--font-sans);color:var(--ink-muted);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0}.tb-zoom__value:hover{background:var(--surface-hover);color:var(--ink)}.tb-menu{flex-direction:column;min-width:220px;padding:6px;display:inline-flex}.tb-menu__item{height:36px;padding:0 var(--space-3) 0 10px;border-radius:var(--radius-sm);color:var(--ink);font:400 14px/20px var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;display:flex}.tb-menu__item .tb-icon{width:18px;height:18px;color:var(--ink-muted)}.tb-menu__item:hover,.tb-menu__item.is-hover{background:var(--surface-hover)}.tb-menu__item--danger,.tb-menu__item--danger .tb-icon{color:var(--danger)}.tb-menu__kbd{font:400 12px/16px var(--font-sans);color:var(--ink-muted);margin-left:auto}.tb-tooltip{border-radius:var(--radius-sm);background:var(--surface-inverse);width:max-content;color:var(--ink-inverse);font:500 12px/16px var(--font-sans);align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.tb-tooltip__kbd{opacity:.64;font-weight:400}.tb-toast{width:max-content;padding:10px var(--space-4) 10px var(--space-3);border-radius:var(--radius-full);background:var(--surface);color:var(--ink);font:500 13px/18px var(--font-sans);box-shadow:var(--shadow-pop);align-items:center;gap:10px;display:inline-flex}.tb-toast .tb-emoji{width:22px;height:22px}.tb-toast__action{color:var(--ink-accent);font:600 13px/18px var(--font-sans);cursor:pointer;margin-left:var(--space-1);background:0 0;border:0;padding:0}.tb-scrim{background:var(--scrim)}.tb-dialog{width:400px;max-width:calc(100vw - 32px);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-pop);gap:var(--space-4);flex-direction:column;display:flex}.tb-dialog__title{font:600 17px/24px var(--font-sans);margin:0}.tb-dialog__text{font:400 14px/20px var(--font-sans);color:var(--ink-muted);margin:-8px 0 0}.tb-dialog__foot{justify-content:flex-end;gap:var(--space-2);display:flex}.tb-sticky{width:200px;min-height:200px;padding:var(--space-4);border-radius:var(--radius-sticky);background:var(--sticky-yellow);color:var(--sticky-ink);box-shadow:var(--shadow-sticky);font:500 18px/24px var(--font-sans);text-align:center;justify-content:center;align-items:center;display:flex}.tb-sticky--peach{background:var(--sticky-peach)}.tb-sticky--pink{background:var(--sticky-pink)}.tb-sticky--mint{background:var(--sticky-mint)}.tb-sticky--sky{background:var(--sticky-sky)}.tb-sticky--lilac{background:var(--sticky-lilac)}.tb-sticky--sm{width:120px;min-height:120px;padding:var(--space-3);font-size:14px;line-height:18px}.tb-selection{border:1.5px solid var(--selection);pointer-events:none;border-radius:4px;position:absolute}.tb-selection__handle{background:var(--surface);border:1.5px solid var(--selection);border-radius:var(--radius-full);width:10px;height:10px;position:absolute}.tb-selection__handle--nw{top:-6px;left:-6px}.tb-selection__handle--ne{top:-6px;right:-6px}.tb-selection__handle--sw{bottom:-6px;left:-6px}.tb-selection__handle--se{bottom:-6px;right:-6px}.tb-marquee{border:1px solid var(--selection);background:var(--selection-fill);border-radius:4px;position:absolute}.tb-cursor-label{border-radius:var(--radius-full);background:var(--pen-blue);color:var(--surface);font:500 12px/16px var(--font-sans);white-space:nowrap;padding:2px 8px;position:absolute}.tb-emoji-picker{width:300px;padding:var(--space-2);gap:var(--space-2);flex-direction:column;display:flex}.tb-emoji-picker__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.tb-emoji-picker__cell{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.tb-emoji-picker__cell .tb-emoji{width:28px;height:28px;transition:transform .12s ease-out}.tb-emoji-picker__cell:hover,.tb-emoji-picker__cell.is-hover{background:var(--surface-hover)}.tb-emoji-picker__cell:hover .tb-emoji,.tb-emoji-picker__cell.is-hover .tb-emoji{transform:scale(1.12)}.tb-search{position:relative}.tb-search .tb-icon{width:18px;height:18px;color:var(--ink-muted);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.tb-search .tb-input{padding-left:36px}.tb-reactions{border-radius:var(--radius-full);align-items:center;gap:2px;padding:4px;display:inline-flex}.tb-reactions .tb-emoji-picker__cell{border-radius:var(--radius-full);width:40px}.tb-reactions .tb-emoji-picker__cell .tb-emoji{width:26px;height:26px}.tb-pages{gap:var(--space-2);padding:var(--space-2);flex-direction:column;width:128px;display:inline-flex}.tb-page{cursor:pointer;background:0 0;border:0;border-radius:10px;width:100%;padding:0;display:block;position:relative}.tb-page__thumb{aspect-ratio:210/297;box-shadow:0 0 0 1px var(--border);background:#fff;border-radius:10px;display:block;overflow:hidden}.tb-page.is-active .tb-page__thumb{box-shadow:0 0 0 2px var(--accent)}.tb-page__num{border-radius:var(--radius-full);background:var(--surface-sunken);min-width:20px;color:var(--ink-muted);font:500 11px/18px var(--font-sans);text-align:center;font-variant-numeric:tabular-nums;padding:0 6px;position:absolute;bottom:6px;left:6px}.tb-page.is-active .tb-page__num{background:var(--accent);color:var(--on-accent)}.tb-pager{align-items:center;gap:2px;padding:6px;display:inline-flex}.tb-pager__value{text-align:center;min-width:56px;font:500 12px/16px var(--font-sans);color:var(--ink-muted);font-variant-numeric:tabular-nums}.tb-empty{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;max-width:320px;display:flex}.tb-empty__emoji{width:64px;height:64px;margin-bottom:var(--space-2)}.tb-empty__title{font:600 22px/28px var(--font-display);letter-spacing:-.01em;margin:0}.tb-empty__text{font:400 14px/20px var(--font-sans);color:var(--ink-muted);margin:0}html,body,#root{background:var(--canvas);height:100%;font-family:var(--font-sans);color:var(--ink);touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}:root{--edge-top:max(var(--space-3), env(safe-area-inset-top));--edge-right:max(var(--space-3), env(safe-area-inset-right));--edge-bottom:max(var(--space-3), env(safe-area-inset-bottom));--edge-left:max(var(--space-3), env(safe-area-inset-left))}.board{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.board.tool-pen,.board.tool-marker{cursor:crosshair}.board.tool-hand{cursor:grab}.board.tool-eraser,.board.tool-cutter{cursor:cell}.board.tool-select{cursor:default}button{font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.top-left,.top-right,.dock,.zoom,.sel-bar,.toast{z-index:var(--z-panel);position:fixed}.top-left{top:var(--edge-top);left:var(--edge-left);max-width:calc(100vw - 2 * var(--space-3))}.top-right{top:var(--edge-top);right:var(--edge-right);gap:6px;padding-left:6px}.board-title{max-width:260px;padding:0 var(--space-2);margin-right:var(--space-1);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;line-height:32px;overflow:hidden}.dock{left:var(--edge-left);top:50%;transform:translateY(-50%)}.zoom{right:var(--edge-right);bottom:var(--edge-bottom)}.sel-bar{left:50%;bottom:var(--edge-bottom);padding:6px;transform:translate(-50%)}.toast{left:50%;bottom:calc(var(--edge-bottom) + 64px);z-index:var(--z-toast);animation:.16s ease-out pop-in;transform:translate(-50%)}.pop{z-index:var(--z-popover);animation:.16s ease-out pop-in;position:absolute}@keyframes pop-in{0%{opacity:0;translate:0 4px}}@media (prefers-reduced-motion:reduce){@keyframes pop-in{0%{opacity:0}}}.menu-pop{top:calc(100% + var(--space-2));left:0}.menu-caption{color:var(--ink-muted);padding:6px 10px 4px;font-size:12px;line-height:16px}.menu-check{flex:none;width:18px;height:18px;display:inline-flex}.menu-check .tb-icon{color:var(--ink-accent)}.style-pop{left:calc(100% + var(--space-2));top:var(--pop-top)}.tb-style .tb-segmented{align-self:stretch}.tb-style .tb-segmented__item{flex:1}.tb-swatch--marker:before{opacity:.6;box-shadow:inset 0 0 0 1px #2a262214}.tb-weight--ring:before{background:0 0;box-shadow:inset 0 0 0 1.5px}.peers{align-items:center;padding-left:4px;display:inline-flex}.peers i{border-radius:var(--radius-full);width:22px;height:22px;box-shadow:0 0 0 2px var(--surface)}.peers i+i{margin-left:-6px}.peers-more{color:var(--ink-muted);margin-left:4px;font-size:12px}.status{color:var(--ink-muted);align-items:center;gap:6px;padding:0 6px;font-size:12px;line-height:16px;display:inline-flex}.status i{border-radius:var(--radius-full);background:var(--olive);flex:none;width:9px;height:9px}.status-connecting i{background:var(--ink-disabled)}.status-offline i{background:var(--danger)}.status-offline{color:var(--danger)}.status-long{max-width:220px}.status-short{display:none}.tb-toolbar .tb-divider--h{align-self:stretch;margin:2px 6px}.modal{z-index:var(--z-modal);padding:var(--space-4);place-items:center;animation:.16s ease-out pop-in;display:grid;position:fixed;inset:0}.pdf-dialog{touch-action:pan-y;max-height:calc(100dvh - 32px);overflow-y:auto}.pdf-head{justify-content:space-between;align-items:center;margin:-6px -10px -6px 0;display:flex}.pdf-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pdf-range{align-items:center;gap:var(--space-2);color:var(--ink-muted);font-size:14px;display:flex}.pdf-range .tb-input{-webkit-user-select:text;user-select:text;width:80px}.pdf-error{color:var(--danger)}.pdf-seg{align-self:stretch}.pdf-seg .tb-segmented__item{flex:1}.pdf-cols{align-items:center;gap:var(--space-3);display:flex}.pdf-preview{width:100%;height:132px;margin-top:var(--space-1);border-radius:var(--radius-sm);background:var(--surface-sunken);display:block}.pdf-preview rect{fill:var(--surface);stroke:var(--border-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.import-bar{z-index:var(--z-toast);left:50%;bottom:var(--edge-bottom);align-items:center;gap:var(--space-3);width:min(360px, calc(100vw - 2 * var(--space-3)));padding:6px 6px 6px var(--space-4);font-size:13px;display:flex;position:fixed;transform:translate(-50%)}.import-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.import-progress{border-radius:var(--radius-full);background:var(--surface-sunken);height:4px;overflow:hidden}.import-progress i{background:var(--accent);border-radius:inherit;height:100%;transition:width .2s ease-out;display:block}.drop-hint{inset:var(--space-3);z-index:var(--z-modal);border:2px dashed var(--accent);border-radius:var(--radius-lg);background:var(--selection-fill);color:var(--ink-accent);pointer-events:none;place-items:center;font-weight:600;display:grid;position:fixed}.tune-panel{z-index:var(--z-panel);right:var(--edge-right);top:calc(var(--edge-top) + 60px);width:260px;padding:var(--space-3);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-float);touch-action:auto;flex-direction:column;gap:10px;font-size:13px;display:flex;position:fixed}.tune-panel label{flex-direction:column;gap:4px;display:flex}.tune-panel label.check{flex-direction:row;align-items:flex-start}.tune-panel input[type=range]{touch-action:pan-x;width:100%;accent-color:var(--accent)}.tune-panel button{border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--ink);cursor:pointer;border:0;align-self:flex-start;padding:6px 12px}.placeholder{height:100%;padding:var(--space-4);place-content:center;display:grid}.placeholder .tb-empty__title{font-size:32px;line-height:36px}@media (width<=640px){.tb-wordmark{display:none}.top-left{padding-left:6px}.board-title{max-width:28vw}.dock{top:auto;left:50%;bottom:var(--edge-bottom);transform:translate(-50%)}.dock .tb-toolbar{flex-direction:row}.style-pop{top:auto;left:50%;bottom:calc(100% + var(--space-2));transform:translate(-50%)}.zoom{top:calc(var(--edge-top) + 48px + var(--space-2));bottom:auto}.zoom-step{display:none}.sel-bar,.import-bar{bottom:calc(var(--edge-bottom) + 52px + var(--space-2))}.tb-toolbar .tb-divider--h{width:1px;height:auto;margin:6px 2px}.toast{bottom:calc(var(--edge-bottom) + 52px + var(--space-3))}.link-btn{width:var(--control-md);padding:0}.link-text,.status-long{display:none}.status-short{display:inline}}@media (width<=420px){.board-title{display:none}}
