@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html,body{height:100%;margin:0;padding:0;overflow:hidden}body{min-width:320px}#root{height:100%;overflow:hidden}.btn{--btn-bg:#ffffff0f;--btn-bg-hover:#ffffff1f;--btn-bg-active:#ffffff2e;--btn-fg:#fffffff0;--btn-shadow-hover:0 8px 20px #0000002e;--btn-focus-ring:#78b1ffcc;appearance:none;background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;border:0;border-radius:26px;min-height:40px;padding:10px 20px;font-family:inherit;font-size:15px;font-weight:500;line-height:1;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .1s,opacity .16s}.btn:hover{background:var(--btn-bg-hover);box-shadow:var(--btn-shadow-hover)}.btn:active{background:var(--btn-bg-active);transform:scale(.98)}.btn:focus{outline:none}.btn:focus-visible{outline:2px solid var(--btn-focus-ring);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary{--btn-bg:#80b6ff29;--btn-bg-hover:#80b6ff3d;--btn-bg-active:#80b6ff52}.btn-icon{justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;padding:0;font-size:16px;display:inline-flex}.btn-menu{justify-content:flex-start;align-items:center;width:100%;padding:10px 14px;font-size:15px;display:inline-flex}.btn-danger{--btn-bg:#ff686824;--btn-bg-hover:#ff686838;--btn-bg-active:#ff68684d}body.theme-light .btn{--btn-bg:#141a220a;--btn-bg-hover:#141a2214;--btn-bg-active:#141a2224;--btn-fg:#161d24eb;--btn-focus-ring:#4579c5b8;--btn-shadow-hover:0 6px 16px #2c3d521f}body.theme-dark .btn{--btn-bg:var(--surface-panel,#2a2a2a);--btn-bg-hover:var(--surface-elevated,#333);--btn-bg-active:color-mix(in srgb, var(--surface-elevated,#333) 70%, var(--surface-border,#3a3a3a) 30%);--btn-fg:var(--text-primary,#eaeaea);--btn-focus-ring:color-mix(in srgb, var(--text-secondary,#b3b3b3) 72%, #7fb9ff 28%);--btn-shadow-hover:0 8px 18px #00000047}.btn__icon{justify-content:center;align-items:center;line-height:1;display:inline-flex}.btn__icon-svg{flex:none;width:16px;height:16px;display:block}.btn__label{margin-left:8px;display:inline-block}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.canvas-viewport{--canvas-scale:1;--canvas-inverse-scale:1;--transform-border-color:#b2becfeb;--transform-handle-border:#808fa2c7;--transform-handle-fill:#fffffffa;--transform-handle-hover-fill:#fff;--transform-border-size:1px;--transform-handle-size:7px;background:var(--canvas-bg,#000);background-image:radial-gradient(var(--canvas-grid-dot,#ffffff1a) 1px, transparent 1px);background-size:var(--canvas-grid-size,24px) var(--canvas-grid-size,24px);cursor:default;transition:box-shadow .18s,background-color .18s;position:fixed;inset:0;overflow:hidden}.canvas-viewport.is-space-pan-ready{cursor:grab}.canvas-viewport.is-panning{cursor:grabbing}.canvas-viewport.is-crop-key-held,.canvas-viewport.is-crop-key-held .canvas-image{cursor:url(/knife-cursor.svg) 6 6,crosshair}.canvas-viewport.is-comment-mode:not(.is-locked),.canvas-viewport.is-comment-mode:not(.is-locked) .canvas-image,.canvas-viewport.is-comment-mode:not(.is-locked) .canvas-image-node{cursor:crosshair}.canvas-viewport.is-locked,.canvas-viewport.is-locked .canvas-image,.canvas-viewport.is-locked .canvas-image-node,.canvas-viewport.is-locked .canvas-palette-node,.canvas-viewport.is-locked .canvas-link-thumbnail,.canvas-viewport.is-locked .canvas-selection-outline,.canvas-viewport.is-locked .canvas-resize-handle,.canvas-viewport.is-locked.is-comment-mode .canvas-image,.canvas-viewport.is-locked.is-comment-mode .canvas-image-node{cursor:not-allowed}.canvas-camera{position:absolute;top:0;left:0}.canvas-world{position:relative}.canvas-image-node.is-magnetic-linked .canvas-image{box-shadow:0 0 0 calc(1px * var(--canvas-inverse-scale)) #6ac0ff6b, 0 0 0 calc(5px * var(--canvas-inverse-scale)) #6ac0ff1f;animation:.26s ease-out magnetic-snap-pulse}@keyframes magnetic-snap-pulse{0%{filter:brightness(1.12);transform:scale(1.01)}to{filter:brightness();transform:scale(1)}}.canvas-world-origin{width:40px;height:40px;color:var(--nav-fg-muted,#ffffffd6);opacity:.2;pointer-events:none;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.canvas-world-origin:before,.canvas-world-origin:after{content:"";background:currentColor;position:absolute}.canvas-world-origin:before{width:1px;height:100%;top:0;left:50%;transform:translate(-50%)}.canvas-world-origin:after{width:100%;height:1px;top:50%;left:0;transform:translateY(-50%)}.canvas-hint{width:max-content;max-width:min(90vw,460px);color:var(--nav-fg-muted,#ffffffd6);text-align:center;opacity:.6;-webkit-user-select:none;user-select:none;pointer-events:none;padding:0 12px;font-size:15px;line-height:1.6;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-image{object-fit:contain;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.canvas-image:active{cursor:grabbing}.canvas-image-node{cursor:grab;position:absolute}.canvas-image-node:active{cursor:grabbing}.canvas-palette-node{z-index:10;background:color-mix(in srgb, var(--surface-panel,#1c2129eb) 94%, transparent);border:1px solid color-mix(in srgb, var(--menu-divider,#ffffff24) 72%, transparent);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(6px);border-radius:12px;gap:8px;padding:10px;display:grid;position:absolute;box-shadow:0 10px 24px #0003,0 2px 8px #00000029}.canvas-palette-node.is-selected:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 calc(1px * var(--canvas-inverse-scale)) #69aaffeb, 0 0 0 calc(1px * var(--canvas-inverse-scale)) #69aaff33;position:absolute;inset:0}.canvas-palette-node:active{cursor:grabbing}.canvas-palette-swatch{cursor:pointer;border:0;border-radius:7px;padding:0;transition:transform .16s,box-shadow .16s,filter .16s;box-shadow:inset 0 0 0 1px #ffffff0a}.canvas-palette-swatch:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ffffff14,0 6px 12px #00000029}.canvas-palette-swatch:active{transform:scale(.96)}.canvas-link-thumbnail{z-index:10;background:color-mix(in srgb, var(--surface-panel,#1c2129eb) 96%, transparent);border:1px solid color-mix(in srgb, var(--menu-divider,#ffffff24) 68%, transparent);-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:12px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 10px 24px #0003,0 2px 8px #00000029}.canvas-link-thumbnail.is-selected:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 calc(1px * var(--canvas-inverse-scale)) #69aaffeb, 0 0 0 calc(1px * var(--canvas-inverse-scale)) #69aaff33;position:absolute;inset:0}.canvas-link-thumbnail__media{aspect-ratio:16/9;background:#10161e59;width:100%;position:relative;overflow:hidden}.canvas-link-thumbnail__media.is-fallback{background:linear-gradient(145deg,#2d4876db,#15233aeb)}.canvas-link-thumbnail__image{object-fit:cover;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.canvas-link-thumbnail__skeleton{background:linear-gradient(90deg,#ffffff14,#ffffff26,#ffffff14) 0 0/200% 100%;width:100%;height:100%;animation:1.1s linear infinite link-skeleton-shimmer;position:absolute;inset:0}.canvas-link-thumbnail__placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:12px;display:flex;position:absolute;inset:0}.canvas-link-thumbnail__placeholder-favicon{border-radius:7px;width:28px;height:28px;box-shadow:0 4px 10px #00000038}.canvas-link-thumbnail__placeholder-domain{letter-spacing:.02em;color:#f4f8fff5;text-overflow:ellipsis;white-space:nowrap;text-transform:lowercase;max-width:100%;font-size:18px;font-weight:700;line-height:1.2;overflow:hidden}.canvas-link-thumbnail__body{flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex}.canvas-link-thumbnail__title{color:var(--menu-fg,#f5f8fcf5);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.3;display:-webkit-box;overflow:hidden}.canvas-link-thumbnail__domain{color:var(--menu-icon,#d4e5ffd6);text-transform:lowercase;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.canvas-link-thumbnail__arrow{color:#ffffffb8;pointer-events:none;background:#00000047;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;transition:opacity .14s;display:inline-flex;position:absolute;top:8px;right:8px}.canvas-link-thumbnail:hover .canvas-link-thumbnail__arrow{color:#ffffffe6}@keyframes link-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.canvas-selection-outline{pointer-events:none;box-sizing:border-box;box-shadow:inset 0 0 0 calc(1px * var(--canvas-inverse-scale)) #4c8dff;z-index:19;position:absolute}.canvas-resize-handle{--handle-offset:calc(4px * var(--canvas-inverse-scale));width:calc(12px * var(--canvas-inverse-scale));height:calc(12px * var(--canvas-inverse-scale));border:calc(1px * var(--canvas-inverse-scale)) solid #ffffffeb;border-radius:calc(2px * var(--canvas-inverse-scale));cursor:nwse-resize;z-index:20;background:#4c8dff;padding:0;transition:filter .12s,transform .12s;position:absolute;transform:translate(-50%,-50%)scale(1)}.canvas-resize-handle:hover{filter:brightness(1.06)}.canvas-resize-handle.is-nw{cursor:nwse-resize;transform:translate(calc(-50% - var(--handle-offset)), calc(-50% - var(--handle-offset))) scale(1)}.canvas-resize-handle.is-ne{cursor:nesw-resize;transform:translate(calc(-50% + var(--handle-offset)), calc(-50% - var(--handle-offset))) scale(1)}.canvas-resize-handle.is-se{cursor:nwse-resize;transform:translate(calc(-50% + var(--handle-offset)), calc(-50% + var(--handle-offset))) scale(1)}.canvas-resize-handle.is-sw{cursor:nesw-resize;transform:translate(calc(-50% - var(--handle-offset)), calc(-50% + var(--handle-offset))) scale(1)}.canvas-resize-handle.is-n{cursor:ns-resize;transform:translate(-50%, calc(-50% - var(--handle-offset))) scale(1)}.canvas-resize-handle.is-s{cursor:ns-resize;transform:translate(-50%, calc(-50% + var(--handle-offset))) scale(1)}.canvas-resize-handle.is-e{cursor:ew-resize;transform:translate(calc(-50% + var(--handle-offset)), -50%) scale(1)}.canvas-resize-handle.is-w{cursor:ew-resize;transform:translate(calc(-50% - var(--handle-offset)), -50%) scale(1)}.canvas-crop-frame{border:calc(var(--transform-border-size) * var(--canvas-inverse-scale)) solid var(--transform-border-color);box-shadow:none;cursor:move;z-index:24;position:absolute}.canvas-crop-mask-layer{pointer-events:none;z-index:22;position:absolute;overflow:hidden}.canvas-crop-mask{pointer-events:none;background:#00000073;position:absolute}.canvas-crop-mask.is-top{width:100%;top:0;left:0}.canvas-crop-mask.is-bottom{width:100%;bottom:0;left:0}.canvas-crop-mask.is-left{left:0}.canvas-crop-mask.is-right{right:0}.canvas-quick-crop-frame{pointer-events:none;z-index:23;background:#5090e629;border:1px solid #a0cdfff2;position:absolute}.canvas-crop-handle{width:calc(var(--transform-handle-size) * var(--canvas-inverse-scale));height:calc(var(--transform-handle-size) * var(--canvas-inverse-scale));border:calc(var(--transform-border-size) * var(--canvas-inverse-scale)) solid var(--transform-handle-border);background:var(--transform-handle-fill);z-index:25;border-radius:0;padding:0;transition:background-color .12s,transform .12s;position:absolute;transform:translate(-50%,-50%)scale(1)}.canvas-crop-handle:hover{background:var(--transform-handle-hover-fill);transform:translate(-50%,-50%)scale(1.08)}.canvas-crop-handle:before,.canvas-crop-handle:after,.canvas-crop-handle.is-corner:before,.canvas-crop-handle.is-corner:after{display:none}.canvas-crop-handle.is-n,.canvas-crop-handle.is-s,.canvas-crop-handle.is-e,.canvas-crop-handle.is-w{width:calc(var(--transform-handle-size) * var(--canvas-inverse-scale));height:calc(var(--transform-handle-size) * var(--canvas-inverse-scale))}.canvas-crop-handle.is-nw,.canvas-crop-handle.is-se{cursor:nwse-resize}.canvas-crop-handle.is-ne,.canvas-crop-handle.is-sw{cursor:nesw-resize}.canvas-crop-handle.is-n,.canvas-crop-handle.is-s{cursor:ns-resize}.canvas-crop-handle.is-e,.canvas-crop-handle.is-w{cursor:ew-resize}body.theme-dark .canvas-viewport{--transform-border-color:#b9c5d6e0;--transform-handle-border:#8695a9d1;--transform-handle-fill:#fffffffa;--transform-handle-hover-fill:#fff;--comment-pin-bg:#5d6776;--comment-pin-shadow-1:#050a1233;--comment-pin-shadow-2:#050a1224;--comment-pin-shadow-1-hover:#050a123d;--comment-pin-shadow-2-hover:#050a122e;--comment-pin-ring-1:#2563eb57;--comment-pin-ring-2:#2563eb1f}body.theme-light .canvas-viewport{--transform-border-color:#667589b8;--transform-handle-border:#56667aad;--transform-handle-fill:#fffffffa;--transform-handle-hover-fill:#fff;--comment-pin-bg:#55657a;--comment-pin-shadow-1:#1f304633;--comment-pin-shadow-2:#1f304624;--comment-pin-shadow-1-hover:#1f304638;--comment-pin-shadow-2-hover:#1f304629;--comment-pin-ring-1:#2563eb4d;--comment-pin-ring-2:#2563eb1a}.canvas-smart-guide{pointer-events:none;z-index:26;color:var(--nav-fg-muted,#ffffffd6);opacity:.55;position:absolute}.canvas-smart-guide.is-vertical{background:currentColor;width:1px;transform:translate(-.5px)}.canvas-smart-guide.is-horizontal{background:currentColor;height:1px;transform:translateY(-.5px)}.canvas-marquee{pointer-events:none;z-index:30;background:#64a0ff29;border:1px solid #86b8ffcc;position:fixed}.canvas-context-menu{z-index:40;border-radius:var(--floating-surface-radius,18px);min-width:236px;color:var(--menu-fg,#eaeaea);background:var(--menu-bg,#2a2a2a);border:1px solid var(--floating-surface-border,var(--menu-divider,#3a3a3a));box-shadow:var(--floating-surface-shadow,0 14px 30px #0000003d, 0 4px 10px #00000029);-webkit-backdrop-filter:blur(14px);transform-origin:0 0;flex-direction:column;gap:2px;padding:8px;animation:.14s ease-out canvas-menu-in;display:flex;position:fixed}.canvas-context-menu__divider{background:var(--menu-divider,#3a3a3a);height:1px;margin:6px 4px}.canvas-menu-item{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:13px;align-items:center;gap:12px;width:100%;min-height:44px;padding:12px 14px;font-family:inherit;font-size:15px;font-weight:500;transition:background-color .13s,transform .1s,color .13s;display:flex}.canvas-menu-item:hover{background:var(--menu-item-hover,#333)}.canvas-menu-item:active{transform:scale(.985)}.canvas-menu-item.is-disabled,.canvas-menu-item:disabled{opacity:.45;cursor:default;pointer-events:none}.canvas-menu-item.is-disabled:hover,.canvas-menu-item:disabled:hover{background:0 0}.canvas-menu-item:focus{outline:none}.canvas-menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--menu-focus,#7eb6ffd1)}.canvas-menu-item__icon{width:18px;height:18px;color:var(--menu-icon,#d4e5fff5);flex:none;justify-content:center;align-items:center;display:inline-flex}.canvas-menu-item__icon svg{width:18px;height:18px;display:block}.canvas-menu-item__label{white-space:nowrap;flex:1}.canvas-menu-item__badge{letter-spacing:.05em;color:var(--menu-badge-fg,#c9e2fff2);background:var(--menu-badge-bg,#6aa0e847);border-radius:999px;padding:3px 7px;font-size:10px;font-weight:600}.canvas-menu-item__state-icon{color:var(--menu-icon,#d4e5fff5);opacity:.95;flex:none;justify-content:center;align-items:center;display:inline-flex}.canvas-menu-item.is-danger{color:var(--menu-danger,#ffa0a0f5)}.canvas-menu-item.is-danger:hover{background:var(--menu-danger-hover,#ff5d5d2e)}.canvas-menu-submenu,.canvas-menu-submenu__trigger{width:100%;position:relative}.canvas-menu-submenu__chevron{opacity:.72;font-size:16px;line-height:1}.canvas-menu-submenu:after{content:"";width:8px;height:100%;position:absolute;top:0;right:-8px}.canvas-menu-submenu__panel{border-radius:var(--floating-surface-radius,18px);min-width:230px;color:var(--menu-fg,#eaeaea);background:var(--menu-bg,#2a2a2a);border:1px solid var(--floating-surface-border,var(--menu-divider,#3a3a3a));box-shadow:var(--floating-surface-shadow,0 14px 30px #0000003d, 0 4px 10px #00000029);-webkit-backdrop-filter:blur(14px);z-index:70;opacity:0;pointer-events:none;flex-direction:column;gap:2px;padding:8px;transition:opacity .14s,transform .14s;display:flex;position:absolute;top:0;left:100%;transform:translate(4px)}.canvas-menu-submenu:hover .canvas-menu-submenu__panel,.canvas-menu-submenu:focus-within .canvas-menu-submenu__panel{opacity:1;pointer-events:auto;transform:translate(0)}.canvas-menu-submenu__panel .canvas-menu-item{min-height:40px;padding:11px 14px}.canvas-menu-submenu__panel .canvas-context-menu__divider{margin:5px 4px}body.theme-dark .canvas-context-menu{--menu-bg:var(--surface-panel,#2a2a2a);--menu-fg:var(--text-primary,#eaeaea);--menu-item-hover:var(--surface-elevated,#333);--menu-divider:var(--surface-border,#3a3a3a);--menu-icon:var(--text-secondary,#b3b3b3);--menu-focus:color-mix(in srgb, var(--text-secondary,#b3b3b3) 72%, #7fb9ff 28%);--menu-badge-bg:color-mix(in srgb, var(--surface-elevated,#333) 80%, #7aa8e8 20%);--menu-badge-fg:var(--text-primary,#eaeaea);--menu-danger:#d98b8b;--menu-danger-hover:color-mix(in srgb, var(--surface-elevated,#333) 74%, #9e4f4f 26%)}body.theme-light .canvas-context-menu{--menu-bg:#fcfdffed;--menu-fg:#18202af5;--menu-item-hover:#1c263214;--menu-divider:#22304024;--menu-icon:#2a3a4ceb;--menu-focus:#447ac9b8;--menu-badge-bg:#5484c929;--menu-badge-fg:#304c77eb;--menu-danger:#aa3434f0;--menu-danger-hover:#bd464629}@keyframes canvas-menu-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.canvas-snapping-indicator{color:#bedefff2;pointer-events:none;background:#23405e8c;border:1px solid #85bcff57;border-radius:999px;padding:4px 8px;font-size:11px;position:fixed;bottom:56px;right:16px}.canvas-alt-drag-hint{--hint-x:0px;--hint-y:0px;transform:translate3d(var(--hint-x), var(--hint-y), 0);will-change:transform, opacity;z-index:70;pointer-events:none;letter-spacing:.01em;color:#ecf0f5f0;opacity:.94;background:#1c2129eb;border:1px solid #ffffff14;border-radius:8px;padding:6px 9px;font-size:12px;line-height:1.2;transition:transform .11s ease-out,opacity .12s ease-out;animation:.18s ease-out canvas-alt-drag-hint-in;position:fixed;top:0;left:0;box-shadow:0 6px 16px #00000038,0 1px 4px #0000002e}body.theme-light .canvas-alt-drag-hint{color:#19222eeb;background:#f8fafdf0;border-color:#1c26321f;box-shadow:0 6px 16px #141c2624,0 1px 4px #141c261a}@keyframes canvas-alt-drag-hint-in{0%{opacity:0;transform:translate3d(var(--hint-x), calc(var(--hint-y) + 4px), 0)}to{opacity:.94;transform:translate3d(var(--hint-x), var(--hint-y), 0)}}.canvas-feedback-indicator{color:#bedefff2;pointer-events:none;background:#23405e8c;border:1px solid #85bcff57;border-radius:999px;padding:4px 8px;font-size:11px;position:fixed;bottom:88px;right:16px}.canvas-lock-toast{color:#f5babaf5;pointer-events:none;-webkit-backdrop-filter:blur(10px);z-index:60;background:#58262694;border:1px solid #d676766b;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:500;animation:.17s ease-out canvas-lock-toast-in;display:inline-flex;position:fixed;bottom:88px;right:16px;box-shadow:0 8px 20px #00000042,0 2px 6px #0000002e}.canvas-lock-toast__icon{opacity:.95;justify-content:center;align-items:center;display:inline-flex}@keyframes canvas-lock-toast-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.canvas-comment-pin{width:calc(20px * var(--canvas-inverse-scale));height:calc(14px * var(--canvas-inverse-scale));background:var(--comment-pin-bg,#5d6776);border-radius:calc(7px * var(--canvas-inverse-scale));z-index:21;cursor:pointer;box-shadow:0 calc(1px * var(--canvas-inverse-scale)) calc(4px * var(--canvas-inverse-scale)) var(--comment-pin-shadow-1,#050a1233), 0 calc(3px * var(--canvas-inverse-scale)) calc(8px * var(--canvas-inverse-scale)) var(--comment-pin-shadow-2,#050a1224);border:none;padding:0;transition:transform .18s,box-shadow .18s,background-color .18s,opacity .18s;position:absolute;transform:translate(-50%,-50%)}.canvas-comment-pin:after{content:"";left:calc(5px * var(--canvas-inverse-scale));bottom:calc(-3px * var(--canvas-inverse-scale));width:calc(7px * var(--canvas-inverse-scale));height:calc(7px * var(--canvas-inverse-scale));border-radius:calc(2px * var(--canvas-inverse-scale));background:inherit;pointer-events:none;position:absolute;transform:rotate(38deg)}.canvas-comment-pin:hover,.canvas-comment-pin.is-active{box-shadow:0 calc(2px * var(--canvas-inverse-scale)) calc(6px * var(--canvas-inverse-scale)) var(--comment-pin-shadow-1-hover,#050a123d), 0 calc(5px * var(--canvas-inverse-scale)) calc(12px * var(--canvas-inverse-scale)) var(--comment-pin-shadow-2-hover,#050a122e);transform:translate(-50%,-50%)scale(1.02)}.canvas-comment-pin.is-active{box-shadow:0 calc(2px * var(--canvas-inverse-scale)) calc(6px * var(--canvas-inverse-scale)) var(--comment-pin-shadow-1-hover,#050a123d), 0 calc(5px * var(--canvas-inverse-scale)) calc(12px * var(--canvas-inverse-scale)) var(--comment-pin-shadow-2-hover,#050a122e), 0 0 0 calc(1px * var(--canvas-inverse-scale)) var(--comment-pin-ring-1,#2563eb57), 0 0 0 calc(4px * var(--canvas-inverse-scale)) var(--comment-pin-ring-2,#2563eb1f)}.canvas-comment-pin.is-draft{opacity:.82}.canvas-comment-editor{width:min(272px,100vw - 24px);color:var(--menu-fg,#f5f8fcf5);--comment-input-fg:var(--menu-fg,#f5f8fcf5);--comment-input-placeholder:var(--menu-icon,#d4e5fff5);--comment-input-caret:var(--menu-fg,#f5f8fcf5);--comment-footer-divider:var(--menu-divider,#ffffff1a);--comment-send-bg:#70a5f638;--comment-send-bg-hover:#70a5f64d;--comment-send-bg-active:#70a5f666;background:var(--menu-bg,#14181de6);-webkit-backdrop-filter:blur(14px);z-index:42;transform-origin:0 0;border:0;border-radius:24px;padding:8px;transition:box-shadow .12s,border-color .12s;animation:.14s ease-out canvas-menu-in;position:fixed;overflow:hidden;box-shadow:0 14px 30px #0000003d,0 4px 10px #00000029}.canvas-comment-editor:focus-within{border-color:color-mix(in srgb, var(--menu-fg,#f5f8fcf5) 26%, var(--menu-divider,#ffffff1a) 74%);box-shadow:0 14px 30px #0000003d, 0 4px 10px #00000029, 0 0 0 1px color-mix(in srgb, var(--menu-fg,#f5f8fcf5) 18%, transparent)}.canvas-comment-editor__input{resize:none;width:100%;min-height:96px;max-height:216px;color:var(--comment-input-fg);caret-color:var(--comment-input-caret);opacity:1;appearance:none;font:inherit;background:0 0;border:0;border-radius:0;padding:10px 12px;font-size:15px;font-weight:400;line-height:1.45}.canvas-comment-editor__input::placeholder{color:var(--comment-input-placeholder);opacity:1}.canvas-comment-editor__input:focus{box-shadow:none;outline:none}.canvas-comment-editor__footer{border-top:1px solid var(--comment-footer-divider);align-items:center;gap:8px;margin-top:2px;padding-top:8px;display:flex}.canvas-comment-editor__icon-btn{--btn-bg:#ffffff0a;--btn-bg-hover:#ffffff1a;--btn-bg-active:#ffffff29;--btn-shadow-hover:none;border-radius:999px;width:34px;min-width:34px;height:34px;min-height:34px;position:static}.canvas-comment-editor__save-state{letter-spacing:.05em;text-transform:uppercase;color:var(--menu-icon,#d4e5fff5);opacity:0;pointer-events:none;margin-right:auto;font-size:10px;line-height:1;transition:opacity .14s,transform .14s;transform:translateY(2px)}.canvas-comment-editor__save-state.is-visible{opacity:.9;transform:translateY(0)}.canvas-comment-editor__send-btn{--btn-bg:var(--comment-send-bg);--btn-bg-hover:var(--comment-send-bg-hover);--btn-bg-active:var(--comment-send-bg-active);--btn-shadow-hover:none;border-radius:999px;width:34px;min-width:34px;height:34px;min-height:34px}.canvas-comment-editor__send-btn svg{transform:translate(1px)}body.theme-dark .canvas-comment-editor{--comment-send-bg:color-mix(in srgb, var(--surface-elevated,#333) 82%, #7aa8e8 18%);--comment-send-bg-hover:color-mix(in srgb, var(--surface-elevated,#333) 74%, #7aa8e8 26%);--comment-send-bg-active:color-mix(in srgb, var(--surface-elevated,#333) 66%, #7aa8e8 34%)}body.theme-light .canvas-comment-editor{--comment-send-bg:#5485ce33;--comment-send-bg-hover:#5485ce47;--comment-send-bg-active:#5485ce5c}.canvas-comment-editor__icon-btn.is-danger{--btn-bg:#ff68681f;--btn-bg-hover:#ff686833;--btn-bg-active:#ff686847}body.theme-light .canvas-comment-editor__icon-btn{--btn-bg:#141a220d;--btn-bg-hover:#141a221c;--btn-bg-active:#141a2229}body.theme-light .canvas-comment-editor__input{background:0 0}.app-shell{min-height:100vh;padding-top:0}body.theme-dark{--canvas-bg:#212121;--surface-panel:#2a2a2a;--surface-elevated:#333;--surface-border:#3a3a3a;--text-primary:#eaeaea;--text-secondary:#b3b3b3;--text-muted:#8a8a8a;--logo-color:var(--text-primary);--nav-fg:var(--text-primary);--nav-fg-muted:var(--text-secondary);--toast-fg:var(--text-primary);--toast-bg:var(--surface-elevated);--toast-border:var(--surface-border);--canvas-grid-dot:#eaeaea1f;--menu-bg:var(--surface-panel);--menu-fg:var(--text-primary);--menu-item-hover:var(--surface-elevated);--menu-divider:var(--surface-border);--menu-icon:var(--text-secondary);--floating-surface-border:color-mix(in srgb, var(--menu-divider) 70%, transparent);--floating-surface-shadow:0 14px 30px #0000003d, 0 4px 10px #00000029;--floating-surface-radius:18px}body.theme-light{--logo-color:#111;--nav-fg:#101010eb;--nav-fg-muted:#101010d1;--toast-fg:#1e2c3df2;--toast-bg:#ecf5fff2;--toast-border:#7ca0cb8c;--canvas-bg:#f7f8fa;--canvas-grid-dot:#0000001a;--menu-bg:#fcfdffed;--menu-fg:#18202af5;--menu-item-hover:#1c263214;--menu-divider:#22304024;--menu-icon:#2a3a4ceb;--floating-surface-border:color-mix(in srgb, var(--menu-divider) 88%, transparent);--floating-surface-shadow:0 14px 30px #0000003d, 0 4px 10px #00000029;--floating-surface-radius:18px}.top-nav{height:auto;box-shadow:none;z-index:1000;pointer-events:none;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex;position:fixed;top:12px;left:16px;right:16px}.top-nav__left,.top-nav__right{align-items:center;gap:8px;display:flex}.left-toolbar{border:1px solid var(--floating-surface-border,var(--menu-divider));background:color-mix(in srgb, var(--menu-bg) 86%, transparent);box-shadow:var(--floating-surface-shadow);-webkit-backdrop-filter:blur(14px);z-index:1100;pointer-events:auto;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:10px 8px;display:inline-flex;position:fixed;top:50%;left:16px;transform:translateY(-50%)}.left-toolbar__boards{position:relative}.left-toolbar__divider{background:var(--menu-divider);opacity:.75;width:22px;height:1px;margin:2px 0}.left-toolbar__button{width:42px;min-width:42px;height:42px;color:var(--nav-fg);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:10px 11px;transition:color .15s,background-color .15s;display:inline-flex;position:relative}.left-toolbar__button:hover{background:color-mix(in srgb, var(--menu-item-hover) 86%, transparent)}.left-toolbar__button:active{background:color-mix(in srgb, var(--menu-item-hover) 96%, transparent)}.left-toolbar__button:focus{outline:none}.left-toolbar__button:focus-visible{outline:2px solid color-mix(in srgb, var(--menu-icon) 60%, #7fb9ff 40%);outline-offset:2px}.left-toolbar__button:after{content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:nowrap;color:var(--menu-fg);border:1px solid var(--floating-surface-border,var(--menu-divider));background:color-mix(in srgb, var(--menu-bg) 90%, transparent);-webkit-backdrop-filter:blur(10px);box-shadow:var(--floating-surface-shadow);border-radius:999px;padding:6px 8px;font-size:11px;line-height:1;transition:opacity .12s;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.left-toolbar__button:hover:after{opacity:1}.left-toolbar__button.is-active{color:color-mix(in srgb, var(--text-primary,#eaeaea) 84%, #8bb8ff 16%);background:color-mix(in srgb, var(--menu-item-hover) 88%, transparent)}body.theme-light .left-toolbar__button.is-active{color:#223858f2;background:#141a2212}.left-toolbar__mode-indicator{position:relative}.left-toolbar__button--comment.is-comment-active{color:#2563eb;background:#2563eb2e}body.theme-light .left-toolbar__button--comment.is-comment-active{background:#2563eb24}.left-toolbar__button--lock.is-locked-active{color:red;background:#ff000024}body.theme-light .left-toolbar__button--lock.is-locked-active{background:#ff00001a}.left-toolbar__button--magnetic-snap.is-magnetic-snap-active{color:#c18f2f;background:#c18f2f29}body.theme-light .left-toolbar__button--magnetic-snap.is-magnetic-snap-active{color:#8a661f;background:#c18f2f1f}.left-toolbar__mode-badge{color:#fff;letter-spacing:.08em;pointer-events:none;white-space:nowrap;z-index:1200;background:#1d4ed8;border:1px solid #93c5fd9e;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:700;line-height:1;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%);box-shadow:0 4px 12px #0000003d}.left-toolbar__mode-badge--magnetic-snap{background:#8a661f;border-color:#e9d39f9e}.left-toolbar__boards-panel{top:50%;left:calc(100% + 10px);right:auto;transform:translateY(-50%)}.top-nav__boards{pointer-events:auto;position:relative}.top-nav__boards-panel{border-radius:var(--floating-surface-radius,18px);min-width:260px;max-width:min(88vw,340px);color:var(--menu-fg);background:var(--menu-bg);border:1px solid var(--floating-surface-border,var(--menu-divider));box-shadow:var(--floating-surface-shadow);-webkit-backdrop-filter:blur(14px);z-index:1100;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.top-nav__boards-title{letter-spacing:.05em;text-transform:uppercase;color:var(--menu-icon);padding:6px 8px 2px;font-size:12px;line-height:1}.top-nav__boards-list{flex-direction:column;gap:2px;max-height:260px;display:flex;overflow:auto}.top-nav__boards-row{position:relative}.top-nav__boards-item{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:42px;padding:8px 68px 8px 10px;font-family:inherit;transition:background-color .13s,transform .1s;display:flex}.top-nav__boards-item:hover{background:var(--menu-item-hover)}.top-nav__boards-item:active{transform:scale(.99)}.top-nav__boards-item--editing{cursor:default}.top-nav__boards-item-name{font-size:14px;font-weight:500;line-height:1.2}.top-nav__boards-item-meta{color:var(--menu-icon);font-size:11px;line-height:1}.top-nav__boards-empty{color:var(--menu-icon);padding:8px 10px;font-size:13px}.top-nav__boards-actions{align-items:center;gap:4px;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.top-nav__boards-edit,.top-nav__boards-delete{width:26px;height:26px;color:var(--menu-icon);opacity:0;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;transition:opacity .12s,background-color .12s,color .12s;display:inline-flex}.top-nav__boards-row:hover .top-nav__boards-edit,.top-nav__boards-row:hover .top-nav__boards-delete,.top-nav__boards-row:focus-within .top-nav__boards-edit,.top-nav__boards-row:focus-within .top-nav__boards-delete{opacity:.88}.top-nav__boards-edit:hover,.top-nav__boards-delete:hover{background:var(--menu-item-hover);color:var(--menu-fg)}.top-nav__boards-name-input{width:100%;color:var(--menu-fg);font:inherit;background:0 0;border:0;outline:none;margin:0;padding:0;font-size:14px;font-weight:500;line-height:1.2}.top-nav__boards-name-input::placeholder{color:var(--menu-icon);opacity:1}.top-nav__logo{color:var(--logo-color);pointer-events:auto;align-items:center;gap:8px;display:inline-flex}.top-nav__logo-mark{width:24px;height:24px;color:var(--logo-color);background:color-mix(in srgb, var(--logo-color) 10%, transparent);border:1px solid color-mix(in srgb, var(--logo-color) 20%, transparent);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.top-nav__logo-wordmark{letter-spacing:.01em;align-items:center;font-family:inherit;font-size:19px;font-weight:400;line-height:1;display:inline-flex}.top-nav__logo-svg{width:auto;height:20px;color:var(--logo-color);pointer-events:auto;opacity:.98}.top-nav__button{pointer-events:auto;color:var(--nav-fg);opacity:.95}.top-nav__button:hover{opacity:1}.top-nav__button--primary{opacity:.9;align-items:center;display:inline-flex}.top-nav__icon-button{pointer-events:auto;color:var(--nav-fg-muted);opacity:.94}.top-nav__icon-button:hover{opacity:1}.top-nav__toast{color:var(--toast-fg);background:var(--toast-bg);border:1px solid var(--toast-border);z-index:1001;pointer-events:none;border-radius:6px;padding:6px 10px;font-size:12px;position:fixed;top:64px;right:16px}.app-version{opacity:.6;pointer-events:none;z-index:2000;color:#fff;font-size:12px;position:fixed;bottom:10px;right:12px}@media (width<=900px){.top-nav{top:10px;left:12px;right:12px}.top-nav__left,.top-nav__right{gap:6px}.top-nav__logo{gap:7px}.top-nav__logo-mark{width:22px;height:22px}.top-nav__logo-wordmark{font-size:17px}.left-toolbar{top:auto;bottom:max(12px, env(safe-area-inset-bottom));flex-direction:row;gap:6px;max-width:calc(100vw - 24px);padding:8px;left:50%;transform:translate(-50%)}.left-toolbar__divider{width:1px;height:22px;margin:0 2px}.left-toolbar__button:after{display:none}.left-toolbar__mode-badge{top:auto;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.left-toolbar__boards-panel{max-width:min(92vw,340px);inset:auto auto calc(100% + 10px) 50%;transform:translate(-50%)}.top-nav__toast{top:58px;right:12px}}@media (width<=640px){.top-nav{top:8px;left:8px;right:8px}.top-nav__left,.top-nav__right{gap:4px}.top-nav__logo{gap:6px}.top-nav__logo-mark{border-radius:7px;width:20px;height:20px}.top-nav__logo-wordmark{font-size:16px}.top-nav__boards-panel{max-width:min(94vw,340px)}.left-toolbar{bottom:max(8px, env(safe-area-inset-bottom));border-radius:16px;gap:4px;padding:6px}}
