:root{--bg:#f5f5f5;--grid-dot:#cdcdcd;--panel:#fff;--text:#000000e6;--text-2:#0000008c;--text-3:#00000059;--border:#0000001a;--hover:#0000000d;--accent:#9747ff;--accent-hover:#8a3ffc;--accent-soft:#f1e8ff;--selection:#0d99ff;--dark:#1e1e1e;--dark-2:#2c2c2c;--dark-hover:#ffffff1a;--shadow-panel:0 0 .5px #0000002e, 0 3px 8px #0000001a, 0 1px 3px #0000001a;--shadow-menu:0 0 .5px #0000004d, 0 5px 17px #0003, 0 2px 7px #00000026;--radius-panel:13px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;margin:0;font-size:12px;overflow:hidden}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea{font-family:inherit;font-size:inherit;color:inherit}kbd{color:inherit;opacity:.55;white-space:nowrap;margin-left:auto;padding-left:16px;font-family:inherit;font-size:11px}.board-app{background:var(--bg);position:fixed;inset:0;overflow:hidden}.canvas-root{touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.grid{pointer-events:none;position:absolute;inset:-40px}.world{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0}.el{position:absolute}.editable{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;cursor:inherit;outline:none;line-height:1.3}.editable.editing{cursor:text;-webkit-user-select:text;user-select:text;caret-color:var(--text)}.editable ul{margin:0;padding-left:1.2em}.editable li{margin:0}.editable.editing.as-list{padding-left:1.2em!important}.editable .placeholder,.editable.editing:empty:before{color:var(--text-3)}.editable.editing:empty:before{content:attr(data-placeholder)}.sticky{pointer-events:auto}.sticky-card{transform-origin:0 0;border-radius:1px;width:240px;height:240px;position:absolute;top:0;left:0;box-shadow:0 1px 2px #0000001a,0 4px 10px #0000000f}.sticky-text{color:#1e1e1e;line-height:1.3;position:absolute;inset:20px 20px 48px;overflow:hidden}.sticky-text.no-author{bottom:20px}.sticky-text.editing{overflow:hidden}.sticky-author{color:#00000080;white-space:nowrap;text-overflow:ellipsis;font-size:11px;position:absolute;bottom:18px;left:20px;right:20px;overflow:hidden}.shape{pointer-events:none}.shape-svg{position:absolute;inset:0;overflow:visible}.hit-fill{pointer-events:all}.shape-text-box{flex-direction:column;justify-content:center;display:flex;position:absolute}.shape-text{width:100%;max-height:100%;overflow:hidden}.text{pointer-events:auto;min-width:8px}.text.auto-width .text-body{white-space:pre}.text-body{min-width:2px;min-height:1.3em}.path{pointer-events:none;overflow:visible}.path.highlighter path:first-child{mix-blend-mode:multiply;opacity:.5}.hit-stroke{stroke:#0000;pointer-events:stroke}.connector{pointer-events:none;width:0;height:0;top:0;left:0}.connector-svg{width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.connector-label{pointer-events:auto;white-space:nowrap;text-align:center;background:#fff;border-radius:6px;min-width:20px;padding:3px 8px;font-size:16px;position:absolute;transform:translate(-50%,-50%)}.connector-label-text{white-space:pre}.section{pointer-events:none;border:1px solid;border-radius:6px}.section-title{left:-1px;bottom:calc(100% + 6px / var(--z,1));transform-origin:0 100%;transform:scale(calc(1 / max(var(--z,1), .35)));white-space:nowrap;pointer-events:auto;color:#000000d9;text-overflow:ellipsis;border-radius:6px;max-width:600px;padding:6px 9px;font-size:13px;font-weight:600;line-height:1;position:absolute;overflow:hidden}.section-title-input{font:inherit;background:0 0;border:0;outline:none;width:220px;padding:0}.table{pointer-events:auto;background:#fff;box-shadow:0 0 0 1px #d9d9d9}.table-cell{border-bottom:1px solid #d9d9d9;border-right:1px solid #d9d9d9;align-items:center;padding:8px 12px;font-size:16px;display:flex;position:absolute;overflow:hidden}.table-cell.header{background:#f1f1f1;font-weight:600}.table-cell-text{width:100%;max-height:100%}.stamp{pointer-events:auto}.stamp-badge{border:3px solid #fff;border-radius:50%;place-items:center;width:100%;height:100%;font-weight:700;line-height:1;display:grid;box-shadow:0 1px 4px #0000002e}.stamp-author{color:#fff;white-space:nowrap;opacity:0;background:#1e1e1ed9;border-radius:4px;margin-top:3px;padding:1px 5px;transition:opacity .15s;position:absolute;top:100%;left:50%;transform:translate(-50%)}.stamp:hover .stamp-author{opacity:1}.emoji{pointer-events:auto;place-items:center;line-height:1;display:grid}.image{pointer-events:auto;object-fit:fill;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;box-shadow:0 0 0 .5px #0000001a}.draft-layer{pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.handle{fill:#fff;stroke:var(--selection);stroke-width:1.5px;pointer-events:all}.handle-nw,.handle-se{cursor:nwse-resize}.handle-ne,.handle-sw{cursor:nesw-resize}.handle-e,.handle-w{cursor:ew-resize}.conn-end{fill:#fff;stroke:var(--selection);stroke-width:2px;pointer-events:all;cursor:grab}.anchor-dot{pointer-events:all;cursor:crosshair}.anchor-hit{fill:#0000}.anchor-visible{fill:#8ec9ff;transition:r .12s}.anchor-plus{stroke:#fff;stroke-width:1.4px;stroke-linecap:round;opacity:0}.anchor-dot:hover .anchor-visible{r:9px;fill:var(--selection)}.anchor-dot:hover .anchor-plus{opacity:1}.marquee{fill:#0d99ff14;stroke:var(--selection);stroke-width:1px}.cursor-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.remote-cursor{will-change:transform;position:absolute;top:0;left:0}.remote-cursor svg{filter:drop-shadow(0 1px 1px #0003);display:block}.remote-cursor-name{color:#fff;white-space:nowrap;border-radius:10px;padding:3px 7px;font-size:11px;font-weight:500;position:absolute;top:18px;left:14px;box-shadow:0 1px 2px #00000026}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);background:var(--dark);color:#fff;white-space:pre;pointer-events:none;z-index:100;border-radius:5px;padding:6px 8px;font-size:11px;font-weight:500;line-height:1;animation:.15s .45s both tip-in;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.top-left [data-tip]:hover:after,.top-right [data-tip]:hover:after,.home [data-tip]:hover:after{top:calc(100% + 8px);bottom:auto}.zoom-controls [data-tip]:hover:after{left:auto;right:0;transform:none}@keyframes tip-in{0%{opacity:0}to{opacity:1}}.ui-layer{-webkit-user-select:none;user-select:none}.toolbar-wrap{z-index:20;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.toolbar{background:var(--panel);border-radius:var(--radius-panel);height:48px;box-shadow:var(--shadow-panel);align-items:center;gap:2px;padding:0 8px;display:flex}.tool-btn{width:32px;height:32px;color:var(--text);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.tool-btn:hover{background:var(--hover)}.tool-btn.active{background:var(--accent);color:#fff}.tool-btn.plus-btn{background:#0000000f;border-radius:50%;width:24px;height:24px;margin:0 4px}.tool-btn.plus-btn.active{background:var(--accent)}.toolbar-divider{background:#00000014;flex-shrink:0;width:1px;height:48px;margin:0 6px}.illus-btn{clip-path:inset(-80px -120px 0);flex-shrink:0;width:44px;height:48px;position:relative}.illus-btn>svg{transition:bottom .18s cubic-bezier(.3,.7,.4,1.2);position:absolute;left:50%;transform:translate(-50%)}.marker-btn{width:40px}.marker-btn>svg{bottom:-20px}.marker-btn:hover>svg{bottom:-13px}.marker-btn.active>svg{bottom:-6px}.sticky-btn{width:52px}.sticky-btn>svg{bottom:-8px}.sticky-btn:hover>svg{bottom:-3px}.sticky-btn.active>svg{bottom:3px}.shapes-btn{width:48px}.shapes-btn>svg{bottom:6px}.shapes-btn:hover>svg,.shapes-btn.active>svg{bottom:9px}.shapes-btn.active:before{content:"";background:var(--accent-soft);border-radius:6px;position:absolute;inset:8px 3px}.tray{background:var(--panel);box-shadow:var(--shadow-panel);border-radius:12px;align-items:center;gap:2px;padding:6px 8px;animation:.16s ease-out tray-in;display:flex}@keyframes tray-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tray-btn{width:32px;height:32px;color:var(--text);border-radius:6px;place-items:center;display:grid}.tray-btn:hover{background:var(--hover)}.tray-divider{background:#0000001a;width:1px;height:24px;margin:0 6px}.swatch{border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.swatch>span{border-radius:50%;transition:transform .1s;display:block;box-shadow:inset 0 0 0 1px #0000001f}.swatch:hover>span{transform:scale(1.12)}.swatch.active{box-shadow:inset 0 0 0 2px var(--accent)}.swatch-none{background:linear-gradient(135deg,#0000 46%,#f24822 46% 54%,#0000 54%),#fff!important}.stamp-tray{flex-wrap:wrap;max-width:460px}.stamp-option{border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.stamp-option span{border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:700;display:grid;box-shadow:0 1px 2px #0003}.stamp-option:hover span{transform:scale(1.1)}.stamp-option.active{box-shadow:inset 0 0 0 2px var(--accent)}.panel{background:var(--panel);border-radius:var(--radius-panel);align-items:center;height:48px;padding:0 8px;display:flex;box-shadow:0 0 .5px #0000004d,0 1px 3px #00000026}.top-left{z-index:30;position:absolute;top:12px;left:12px}.top-left-panel{gap:4px}.menu-btn{border-radius:5px;align-items:center;gap:4px;height:32px;padding:0 6px 0 8px;display:flex}.menu-btn:hover,.menu-btn.active{background:var(--hover)}.title-btn{text-overflow:ellipsis;white-space:nowrap;border-radius:5px;max-width:320px;height:32px;padding:0 8px;font-size:13px;font-weight:600;overflow:hidden}.title-btn:hover{background:var(--hover)}.title-input{border:1px solid var(--accent);border-radius:5px;outline:none;width:240px;height:30px;padding:0 8px;font-size:13px;font-weight:600}.top-right{z-index:30;flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:12px;right:12px}.top-right-panel{gap:6px}.avatars{align-items:center;gap:2px;padding-right:2px;display:flex}.avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:inline-grid;box-shadow:0 0 0 2px #fff}.avatars .avatar+.avatar{margin-left:-4px}.avatar.ring{box-shadow:0 0 0 2px #fff,0 0 0 4px}.avatar.more{color:var(--text);background:#e6e6e6;width:24px;height:24px;font-size:10px}.icon-btn{width:32px;height:32px;color:var(--text);border-radius:5px;place-items:center;display:grid}.icon-btn.small{width:24px;height:24px}.icon-btn:hover,.icon-btn.active{background:var(--hover)}.share-btn{background:var(--accent);color:#fff;border-radius:5px;height:32px;padding:0 12px;font-size:12px;font-weight:500}.share-btn:hover{background:var(--accent-hover)}.timer-btn{height:32px;color:var(--text-2);border-radius:6px;align-items:center;gap:6px;padding:0 8px;display:flex;box-shadow:inset 0 0 0 1px #0000001a}.timer-btn:hover,.timer-btn.active{background:var(--hover)}.timer-text{font-variant-numeric:tabular-nums;letter-spacing:.02em;min-width:38px;font-size:13px;font-style:italic}.timer-btn.running .timer-text{font-style:normal;font-weight:600}.timer-btn.done{color:#f24822;animation:1s ease-in-out 3 pulse;box-shadow:inset 0 0 0 1px #f24822}@keyframes pulse{50%{transform:scale(1.06)}}.main-menu{position:absolute;top:54px;left:0}.menu{background:var(--dark);color:#fff;min-width:200px;box-shadow:var(--shadow-menu);border-radius:13px;padding:8px;animation:.12s ease-out menu-in}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.menu-item-wrap{position:relative}.menu-item{text-align:left;color:#fff;white-space:nowrap;border-radius:5px;align-items:center;gap:8px;width:100%;height:26px;padding:0 8px 0 12px;font-size:12px;display:flex}.menu-item:hover,.menu-item.hover{background:var(--accent)}.menu-item.disabled{opacity:.4;pointer-events:none}.menu-item svg{margin-left:auto}.menu-item kbd+svg{margin-left:0}.menu-divider{background:#ffffff1f;height:1px;margin:6px -8px}.submenu{z-index:2;position:absolute;top:-8px;left:calc(100% + 8px)}.submenu .menu{min-width:230px}.context-menu{z-index:60;position:absolute}.popover{background:var(--panel);border-radius:var(--radius-panel);box-shadow:var(--shadow-menu);width:320px;margin-top:8px;padding:14px 16px;animation:.12s ease-out menu-in}.popover-header{justify-content:space-between;align-items:center;display:flex}.popover-title{font-size:13px;font-weight:600}.popover-sub{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 6px;font-size:11px;font-weight:600}.muted{color:var(--text-2);line-height:1.5}.muted.small{margin:10px 0 0;font-size:11px}.user-row{align-items:center;gap:10px;padding:5px 0;display:flex}.user-name{flex:1;font-size:12px}.users-panel .popover-title{margin-bottom:8px;display:block}.chip-btn{border-radius:13px;align-items:center;gap:5px;height:26px;padding:0 9px;font-size:11px;font-weight:500;display:inline-flex;box-shadow:inset 0 0 0 1px #0000001f}.chip-btn:hover{background:var(--hover)}.chip-btn.active{background:var(--accent);color:#fff;box-shadow:none}.share-row{gap:8px;margin-top:10px;display:flex}.share-link{min-width:0;height:32px;color:var(--text-2);background:#fafafa;border:1px solid #0000001f;border-radius:6px;outline:none;flex:1;padding:0 8px;font-size:11px}.share-link:focus{border-color:var(--accent)}.primary-btn,.secondary-btn{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.primary-btn{background:var(--accent);color:#fff}.primary-btn:hover{background:var(--accent-hover)}.primary-btn:disabled{opacity:.45;cursor:default}.primary-btn.big{width:100%;height:40px;font-size:14px}.secondary-btn{background:#fff;box-shadow:inset 0 0 0 1px #00000026}.secondary-btn:disabled{opacity:.5;cursor:default}.secondary-btn.wide{width:100%;margin-top:12px}.timer-panel{width:280px}.timer-display{justify-content:space-between;align-items:center;margin:12px 0;display:flex}.timer-big{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:40px;font-weight:600}.timer-presets{flex-wrap:wrap;gap:6px;display:flex}.timer-actions{gap:8px;margin-top:12px;display:flex}.timer-actions>*{flex:1}.zoom-controls{z-index:20;align-items:center;gap:8px;display:flex;position:absolute;bottom:12px;right:12px}.zoom-pill{height:30px;box-shadow:var(--shadow-panel);background:#fff;border-radius:17px;align-items:center;padding:0 2px;display:flex}.zoom-pill button{border-radius:15px;place-items:center;min-width:30px;height:30px;display:grid}.zoom-pill button:hover{background:var(--hover)}.zoom-value{font-variant-numeric:tabular-nums;color:var(--text-2);padding:0 4px;font-size:11px}.help-btn{width:30px;height:30px;box-shadow:var(--shadow-panel);background:#fff;border-radius:50%;font-size:14px;font-weight:500}.help-btn:hover{background:#f7f7f7}.ctx-toolbar{background:var(--dark);color:#fff;height:44px;box-shadow:var(--shadow-menu);z-index:25;white-space:nowrap;border-radius:12px;align-items:center;gap:2px;padding:0 6px;display:flex;position:absolute;transform:translate(-50%)}.ctx-btn{color:#fff;border-radius:6px;justify-content:center;align-items:center;gap:4px;min-width:32px;height:32px;padding:0 6px;display:inline-flex}.ctx-btn.active{background:var(--accent)}.ctx-chevron{opacity:.7}.ctx-sep{background:#ffffff1f;width:1px;height:44px;margin:0 4px}.ctx-label{padding:0 2px;font-size:12px}.size-label{text-align:left;min-width:56px}.ctx-dot{border-radius:50%;width:18px;height:18px;display:block;box-shadow:inset 0 0 0 1px #ffffff59}.ctx-ring{border:2.5px solid;border-radius:50%;width:16px;height:16px;display:block}.dash-icon{border-top:2px dashed #fff;width:16px;height:0;display:block}.ctx-drop{position:relative}.ctx-pop{background:var(--dark);box-shadow:var(--shadow-menu);z-index:3;border-radius:12px;flex-direction:column;gap:6px;min-width:120px;padding:8px;animation:.12s ease-out menu-in;display:flex;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}.ctx-pop.wide{min-width:220px}.ctx-colors{grid-template-columns:repeat(5,28px);gap:4px;display:grid}.ctx-pop.wide .ctx-colors{grid-template-columns:repeat(7,28px)}.ctx-color{border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.ctx-color span{border-radius:50%;width:20px;height:20px;display:block;box-shadow:inset 0 0 0 1px #ffffff40}.ctx-color:hover span{transform:scale(1.12)}.ctx-grid{grid-template-columns:repeat(6,32px);gap:2px;display:grid}.ctx-row{gap:2px;display:flex}.ctx-chip{color:#fff;border-radius:6px;height:26px;padding:0 8px;font-size:11px}.ctx-chip:hover{background:var(--dark-hover)}.ctx-chip.active{background:var(--accent)}.ctx-list{flex-direction:column;min-width:190px;display:flex}.ctx-item{color:#fff;text-align:left;border-radius:6px;align-items:center;gap:8px;height:28px;padding:0 10px;font-size:12px;display:flex}.ctx-item:hover{background:var(--accent)}.ctx-item.active{background:#ffffff24}.ctx-item.danger:hover{background:#f24822}.comments-layer{pointer-events:none;z-index:15;position:absolute;inset:0;overflow:hidden}.comment-pin{pointer-events:auto;width:36px;height:36px;box-shadow:var(--shadow-panel);background:#fff;border-radius:18px 18px 18px 2px;place-items:center;transition:box-shadow .12s;display:grid;position:absolute;top:0;left:0}.comment-pin.resolved{opacity:.6}.comment-pin-avatar{color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:grid}.comment-count{background:var(--accent);color:#fff;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:600;display:grid;position:absolute;top:-5px;right:-5px}.comment-popover{width:312px;box-shadow:var(--shadow-menu);pointer-events:auto;background:#fff;border-radius:12px;padding:8px;animation:.12s ease-out menu-in;position:absolute}.comment-composer{border:1px solid #0000001f;border-radius:8px;align-items:flex-end;gap:6px;padding:6px 6px 6px 10px;display:flex}.comment-composer:focus-within{border-color:var(--accent)}.comment-composer textarea{resize:none;background:0 0;border:0;outline:none;flex:1;padding:4px 0;font-size:13px;line-height:1.4}.send-btn{color:#fff;background:#e6e6e6;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;display:grid}.send-btn.ready{background:var(--accent)}.thread-header{border-bottom:1px solid #00000014;align-items:center;gap:2px;padding:4px 4px 8px 8px;display:flex}.thread-title{flex:1;font-size:13px;font-weight:600}.thread-messages{max-height:300px;padding:8px 4px;overflow:auto}.thread-message{gap:10px;padding:6px 4px;display:flex}.msg-avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:10px;font-weight:600;display:grid}.msg-meta{margin-bottom:2px;font-size:12px}.msg-meta span{color:var(--text-2);margin-left:4px;font-size:11px}.msg-text{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.45}.insert-panel,.help-panel{width:min(640px,100vw - 24px);max-height:calc(100vh - 160px);box-shadow:var(--shadow-menu);z-index:40;background:#fff;border-radius:16px;padding:12px 16px 16px;animation:.16s ease-out tray-in;position:absolute;bottom:72px;left:50%;overflow:auto;transform:translate(-50%)}.insert-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tabs{gap:4px;display:flex}.tabs button{height:30px;color:var(--text-2);border-radius:15px;padding:0 12px;font-weight:500}.tabs button:hover{background:var(--hover)}.template-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.template-card{text-align:left;border-radius:10px;padding:6px}.template-card:hover{background:#f5f5f5}.template-thumb{aspect-ratio:12/7;border-radius:8px;place-items:center;display:grid;overflow:hidden}.template-thumb svg{width:100%;height:100%}.template-name{margin:8px 2px 2px;font-size:13px;font-weight:600}.template-desc{color:var(--text-2);margin:0 2px;font-size:11px}.sticker-grid{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.sticker-btn{aspect-ratio:1;border-radius:10px;place-items:center;font-size:32px;display:grid}.sticker-btn:hover{background:#f2f2f2}.sticker-grid.shapes{grid-template-columns:repeat(6,1fr)}.palette-backdrop{z-index:70;background:#00000014;justify-content:center;align-items:flex-start;padding-top:14vh;display:flex;position:absolute;inset:0}.palette{width:min(520px,100vw - 24px);box-shadow:var(--shadow-menu);background:#fff;border-radius:14px;animation:.12s ease-out menu-in;overflow:hidden}.palette-input{height:50px;color:var(--text-2);border-bottom:1px solid #00000014;align-items:center;gap:10px;padding:0 16px;display:flex}.palette-input input{color:var(--text);border:0;outline:none;flex:1;font-size:14px}.palette-list{max-height:360px;padding:6px;overflow:auto}.palette-item{text-align:left;border-radius:7px;align-items:center;width:100%;height:34px;padding:0 12px;font-size:13px;display:flex}.palette-item.active{background:var(--accent);color:#fff}.palette-empty{text-align:center;padding:16px}.help-cols{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.help-title{margin-bottom:8px;font-size:12px;font-weight:600}.help-row{justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.help-row kbd{opacity:1;color:var(--text-2);background:#f1f1f1;border-radius:4px;padding:2px 6px}.toast{background:var(--dark);color:#fff;box-shadow:var(--shadow-menu);z-index:80;border-radius:8px;padding:9px 14px;font-size:12px;font-weight:500;animation:.16s ease-out tray-in;position:absolute;bottom:84px;left:50%;transform:translate(-50%)}.connection-badge,.loading-badge{box-shadow:var(--shadow-panel);z-index:50;background:#fff;border-radius:18px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%)}.connection-badge{color:#c4320a}.loading-badge{color:var(--text-2)}.follow-frame{pointer-events:none;z-index:45;border:3px solid;position:absolute;inset:0}.follow-banner{color:#fff;z-index:46;border-radius:0 0 10px 10px;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-weight:500;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.follow-banner button{color:#fff;background:#ffffff40;border-radius:6px;padding:3px 8px;font-weight:600}.home{background:#fff;height:100%;overflow:auto}.home-header{z-index:2;background:#fff;border-bottom:1px solid #00000014;align-items:center;gap:24px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.home-brand{align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.home-search{max-width:420px;height:34px;color:var(--text-2);background:#f5f5f5;border-radius:8px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.home-search input{color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:13px}.home-user{align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:500;display:flex}.home-main{max-width:1180px;margin:0 auto;padding:32px 24px 64px}.home-hero{flex-wrap:wrap;gap:16px;margin-bottom:36px;display:flex}.new-board-card{background:var(--accent);color:#fff;text-align:left;border-radius:12px;align-items:center;gap:14px;padding:16px 22px 16px 16px;transition:transform .12s;display:flex;box-shadow:0 4px 14px #9747ff4d}.new-board-card:hover{background:var(--accent-hover);transform:translateY(-1px)}.new-board-card strong{font-size:15px;display:block}.new-board-card small{opacity:.85;font-size:12px}.new-board-icon{background:#fff3;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.join-card{min-width:300px;max-width:520px;color:var(--text-2);border-radius:12px;flex:1;align-items:center;gap:10px;min-height:76px;padding:0 12px 0 16px;display:flex;box-shadow:inset 0 0 0 1px #0000001a}.join-card input{color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:13px}.home-title{margin:0 0 16px;font-size:15px;font-weight:600}.home-empty{color:var(--text-2);text-align:center;border:1px dashed #00000026;border-radius:12px;padding:48px 0;font-size:13px}.board-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;display:grid}.board-card{cursor:pointer;border-radius:12px;transition:box-shadow .12s;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001a}.board-thumb{aspect-ratio:16/10;background-color:#f5f5f5;background-image:radial-gradient(circle,#d4d4d4 1px,#0000 1.3px);background-size:14px 14px;border-bottom:1px solid #0000000f;place-items:center;display:grid}.board-thumb img{object-fit:contain;width:100%;height:100%;padding:10px}.board-meta{justify-content:space-between;align-items:center;padding:12px 12px 12px 14px;display:flex}.board-name{margin-bottom:2px;font-size:13px;font-weight:600}.board-time{color:var(--text-2);font-size:11px}.name-prompt-backdrop{background-color:var(--bg);background-image:radial-gradient(circle, var(--grid-dot) 1.1px, transparent 1.5px);background-size:24px 24px;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.name-prompt{width:min(380px,100%);box-shadow:var(--shadow-menu);background:#fff;border-radius:16px;flex-direction:column;gap:12px;padding:28px;display:flex}.name-prompt-logo{background:var(--accent-soft);border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.name-prompt h1{margin:4px 0 0;font-size:20px}.name-prompt p{color:var(--text-2);margin:0;font-size:13px}.name-prompt input{border:1px solid #00000026;border-radius:8px;outline:none;height:40px;margin-top:4px;padding:0 12px;font-size:14px}.name-prompt input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}@media (width<=720px){.title-btn{max-width:120px}.timer-btn,.top-right-panel>.icon-btn{display:none}.toolbar{max-width:calc(100vw - 16px);padding:0 4px;overflow-x:auto}.toolbar-divider{margin:0 2px}.zoom-controls{bottom:72px}.template-grid,.help-cols{grid-template-columns:repeat(2,1fr)}.sticker-grid{grid-template-columns:repeat(6,1fr)}.tray{max-width:calc(100vw - 16px);overflow-x:auto}}.app-loading{background-color:var(--bg);background-image:radial-gradient(circle, var(--grid-dot) 1.1px, transparent 1.5px);background-size:16px 16px;position:fixed;inset:0}.form-error,.form-success{border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.4}.form-error{color:#b42318;background:#fff1f0}.form-success{color:#067647;background:#ecfdf3}.link-btn{color:var(--text-2);align-self:center;padding:4px;font-size:12px}.link-btn:hover{color:var(--accent)}.modal-backdrop{z-index:90;background:#00000040;place-items:center;padding:16px;animation:.12s ease-out tip-in;display:grid;position:fixed;inset:0}.modal{width:min(420px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-menu);background:#fff;border-radius:16px;animation:.14s ease-out menu-in;overflow:auto}.modal-header{justify-content:space-between;align-items:center;padding:16px 16px 4px 20px;display:flex}.modal-title{font-size:15px;font-weight:600}.modal-section{border-bottom:1px solid #0000000f;flex-direction:column;gap:8px;padding:14px 20px;display:flex}.modal-section:last-child{border-bottom:0;padding-bottom:20px}.modal-section .primary-btn{align-self:flex-start}.modal-footer{flex-direction:row}.field-label{font-size:12px;font-weight:600}.small-text{margin:-2px 0 2px;font-size:11.5px}.field-row{gap:8px;display:flex}.field{border:1px solid #00000026;border-radius:7px;outline:none;flex:1;min-width:0;height:34px;padding:0 10px;font-size:13px}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.modal-section>.field{flex:none}.secondary-btn.danger{color:#b42318}.protect-state{color:var(--text-2);background:#f5f5f5;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:12.5px;line-height:1.4;display:flex}.protect-state.on{background:var(--accent-soft);color:#5b21b6}.protect-row{text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;margin-top:12px;padding:10px 12px;font-size:12px;font-weight:500;display:flex;box-shadow:inset 0 0 0 1px #0000001a}.protect-row span{flex:1}.protect-row:hover{background:#f7f7f7}.protect-row.on{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.lock-badge{color:var(--accent)}.board-thumb-lock{width:52px;height:52px;box-shadow:var(--shadow-panel);color:var(--accent);background:#fff;border-radius:14px;place-items:center;display:grid}.board-name-lock{color:var(--accent);vertical-align:-1px;margin-right:5px}.login-form{flex-direction:column;gap:10px;display:flex}.login-form input{border:1px solid #00000026;border-radius:8px;outline:none;height:40px;padding:0 12px;font-size:14px}.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.modal.wide{width:min(560px,100%)}.modal-tabs{border-bottom:1px solid #0000000f;padding:8px 16px 4px}.account-row{align-items:center;gap:12px;display:flex}.account-name{font-size:14px;font-weight:600}.field.select{background:#fff;flex:0 0 140px}.role-badge{color:var(--accent);background:var(--accent-soft);border-radius:10px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.user-list,.board-admin-list{flex-direction:column;gap:4px;max-height:340px;display:flex;overflow:auto}.user-item{border-radius:8px;padding:4px 6px}.user-item-main{align-items:center;gap:10px;min-height:34px;display:flex}.inline-reset{padding:4px 0 6px 36px}.member-picker{flex-wrap:wrap;gap:6px;display:flex}.member-chip{background:#fff;border-radius:13px;align-items:center;gap:6px;height:26px;padding:0 10px 0 8px;font-size:12px;display:inline-flex;box-shadow:inset 0 0 0 1px #00000024}.member-chip:hover{background:#f5f5f5}.member-chip.on{background:var(--accent);color:#fff;box-shadow:none}.chip-dot{border-radius:50%;width:8px;height:8px}.board-admin-item{border-radius:10px;flex-direction:column;gap:8px;padding:10px 10px 12px;display:flex;box-shadow:inset 0 0 0 1px #00000014}.board-admin-head{align-items:center;gap:8px;display:flex}.board-admin-title{color:inherit;flex:1;font-size:13px;font-weight:600;text-decoration:none}.board-admin-title:hover{color:var(--accent)}.board-members{align-items:center;display:flex}.board-members .avatar+.avatar{margin-left:-5px}.new-board-card:disabled{opacity:.7;cursor:progress}.share-panel .member-picker{margin-bottom:2px}.share-panel{width:360px;max-height:calc(100vh - 90px);overflow:auto}.link-options{flex-direction:column;gap:4px;display:flex}.link-option{text-align:left;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex;box-shadow:inset 0 0 0 1px #00000014}.link-option:hover{background:#f7f7f7}.link-option.on{box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--accent-soft);color:#5b21b6}.link-option .radio{border-radius:50%;flex-shrink:0;width:14px;height:14px;box-shadow:inset 0 0 0 1.5px #0000004d}.link-option.on .radio{box-shadow:inset 0 0 0 4px var(--accent)}.link-option-text{flex-direction:column;gap:1px;display:flex}.link-option-text strong{font-size:12px;font-weight:600}.link-option-text small{color:var(--text-2);font-size:11px}.share-panel .protect-row{margin-top:8px}.quick-user{gap:6px;margin-top:8px;display:flex}.quick-user .field{height:32px;font-size:12px}.quick-user .secondary-btn{padding:0 10px}.share-panel .form-error,.share-panel .form-success{margin-top:6px}.readonly-label{color:var(--text-2);align-items:center;gap:6px;padding:0 8px 0 2px;font-size:12px;font-weight:500;display:inline-flex}.readonly-badge{color:var(--text-2);background:#f1f1f1;border-radius:10px;margin-right:4px;padding:3px 8px;font-size:11px;font-weight:600}.public-badge{color:#0d99ff;vertical-align:-1px;place-items:center;margin-right:5px;display:inline-grid}:root{--bg:#f3f6fb;--grid-dot:#3c507838;--text:#000000e0;--text-2:#3c3c439e;--text-3:#3c3c435c;--hover:#78788024;--accent:#007aff;--accent-hover:#0066d6;--accent-soft:#007aff1f;--accent-text:#0061cc;--selection:#0a84ff;--dark:#1c1c1ed1;--glass:#ffffff94;--glass-strong:#ffffffc7;--glass-border:#ffffffb3;--glass-edge:#0f1e3c14;--glass-blur:blur(28px) saturate(185%);--glass-shadow:0 0 0 .5px var(--glass-edge), inset 0 1px 0 #ffffffe6, inset 0 -1px 1px #ffffff59, 0 10px 30px #1428501f, 0 2px 6px #1428500f;--glass-shadow-lg:0 0 0 .5px var(--glass-edge), inset 0 1px 0 #fffffff2, 0 24px 60px #14285033, 0 6px 16px #14285014;--shadow-panel:var(--glass-shadow);--shadow-menu:var(--glass-shadow-lg);--radius-panel:22px}html,body,#root,.board-app,.home{background-color:#f3f6fb;background-image:radial-gradient(1100px 700px at 0 -10%,#007aff21,#0000 60%),radial-gradient(900px 700px at 105% 105%,#5ac8fa2e,#0000 60%),radial-gradient(700px 500px at 100% 0,#af52de14,#0000 60%),none;background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box}.panel,.toolbar,.tray,.zoom-pill,.help-btn,.popover,.insert-panel,.help-panel,.palette,.modal,.comment-popover,.comment-pin,.name-prompt,.menu,.ctx-toolbar,.ctx-pop,.connection-badge,.loading-badge,.home-header,.board-card,.join-card,.home-empty,.board-admin-item{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);border:0}.popover,.insert-panel,.help-panel,.palette,.modal,.comment-popover,.menu,.ctx-pop,.name-prompt{background:var(--glass-strong);box-shadow:var(--glass-shadow-lg)}.panel,.toolbar,.tray,.zoom-pill,.modal,.popover,.name-prompt{position:relative}.panel:before,.toolbar:before,.tray:before,.ctx-toolbar:before,.zoom-pill:before,.modal:before,.popover:before,.name-prompt:before{content:"";border-radius:inherit;pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(#ffffff8c 0%,#fff0 42%),linear-gradient(#fff0 80%,#ffffff40 100%);position:absolute;inset:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--glass:#ffffffeb;--glass-strong:#fffffff7}}.panel{border-radius:26px;height:52px;padding:0 8px}.toolbar{border-radius:28px;height:56px;padding:0 10px}.toolbar-divider{background:#3c3c4329;height:28px}.tool-btn,.icon-btn,.menu-btn,.title-btn,.tray-btn,.ctx-btn{border-radius:999px}.tool-btn{width:38px;height:38px}.tool-btn.active,.tool-btn.plus-btn.active{background:linear-gradient(#2b95ff 0%,#007aff 100%);box-shadow:inset 0 1px #ffffff73,0 4px 12px #007aff59}.tool-btn.plus-btn{background:#78788024;width:30px;height:30px}.illus-btn{height:56px}.shapes-btn.active:before{border-radius:14px;inset:9px 3px}.tray{border-radius:24px;padding:7px 10px}.tray-btn.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}.swatch.active,.stamp-option.active{box-shadow:inset 0 0 0 2px var(--accent)}.zoom-pill{border-radius:20px;height:40px;padding:0 4px}.zoom-pill button{border-radius:17px;min-width:34px;height:34px}.help-btn{width:40px;height:40px}.top-left,.top-right{top:max(12px, env(safe-area-inset-top))}.top-left{left:max(12px, env(safe-area-inset-left))}.top-right{right:max(12px, env(safe-area-inset-right))}.toolbar-wrap{bottom:max(14px, env(safe-area-inset-bottom))}.zoom-controls{bottom:max(18px, env(safe-area-inset-bottom));right:max(12px, env(safe-area-inset-right))}.main-menu{top:60px}.share-btn,.primary-btn{background:linear-gradient(#2b95ff 0%,#007aff 100%);border-radius:999px;font-weight:600;box-shadow:inset 0 1px #ffffff73,0 4px 12px #007aff4d}.share-btn{height:36px;padding:0 16px}.share-btn:hover,.primary-btn:hover{background:linear-gradient(#1a8bff 0%,#006be0 100%)}.secondary-btn{background:#fff9;border-radius:999px;box-shadow:0 0 0 .5px #0f1e3c1f,inset 0 1px #ffffffe6}.secondary-btn:hover{background:#ffffffd9}.timer-btn{background:#ffffff73;border-radius:999px;height:36px;padding:0 12px;box-shadow:0 0 0 .5px #0f1e3c1f}.timer-btn.running{color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}.avatar{box-shadow:0 0 0 2px #ffffffe6}.menu{color:var(--text);border-radius:18px;padding:6px}.menu-item{color:var(--text);border-radius:10px;height:30px;font-size:13px}.menu-item:hover,.menu-item.hover{background:var(--accent);color:#fff}.menu-divider{background:#3c3c4324;margin:5px 4px}.ctx-toolbar{color:var(--text);border-radius:24px;height:48px;padding:0 8px}.ctx-btn{color:var(--text);min-width:34px;height:34px}.ctx-btn:hover,.ctx-btn.open{background:var(--hover)}.ctx-btn.active{color:#fff;background:linear-gradient(#2b95ff 0%,#007aff 100%)}.ctx-sep{background:#3c3c4329;height:26px}.ctx-dot{box-shadow:inset 0 0 0 1px #00000024}.dash-icon{border-top-color:var(--text)}.ctx-pop{border-radius:18px;bottom:calc(100% + 10px)}.ctx-color span{box-shadow:inset 0 0 0 1px #0000001f}.ctx-color.active{box-shadow:inset 0 0 0 2px var(--accent)}.ctx-chip,.ctx-item{color:var(--text);border-radius:10px}.ctx-chip:hover,.ctx-item:hover{background:var(--hover)}.ctx-chip.active{background:var(--accent);color:#fff}.ctx-item.active{background:var(--accent-soft);color:var(--accent-text)}.ctx-item.danger:hover{color:#d70015;background:#ff3b301f}[data-tip]:hover:after,.toast{-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);background:#1c1c1ec7;border-radius:10px}.toast{border-radius:999px;padding:10px 18px;bottom:96px}.popover{border-radius:22px;padding:16px 18px}.modal{border-radius:26px}.modal-backdrop,.palette-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1e283c2e}.palette{border-radius:22px}.palette-item{border-radius:10px}.palette-item.active{background:var(--accent)}.insert-panel,.help-panel{bottom:calc(max(14px, env(safe-area-inset-bottom)) + 70px);border-radius:26px}.tabs button{border-radius:999px}.tabs button.active{background:var(--accent-soft);color:var(--accent-text)}.field,.share-link,.name-prompt input,.login-form input,.comment-composer{background:#ffffffa6;border:0;border-radius:12px;box-shadow:0 0 0 .5px #0f1e3c29,inset 0 1px 2px #0f1e3c0d}.field:focus,.share-link:focus,.name-prompt input:focus,.login-form input:focus,.comment-composer:focus-within{box-shadow:0 0 0 2px var(--accent), 0 0 0 5px #007aff26;border-color:#0000}.link-option,.protect-row{background:#ffffff73;border-radius:14px}.link-option.on,.protect-row.on,.protect-state.on{background:var(--accent-soft);color:var(--accent-text)}.protect-state{background:#7878801a;border-radius:14px}.member-chip{background:#fff9}.member-chip.on,.chip-btn.active{background:var(--accent)}.role-badge{color:var(--accent-text);background:var(--accent-soft)}.lock-badge,.board-name-lock,.board-thumb-lock{color:var(--accent)}.comment-pin{border-radius:20px 20px 20px 4px}.comment-pin:hover,.comment-pin.active{box-shadow:0 0 0 2px var(--accent), var(--glass-shadow)}.send-btn.ready,.comment-count{background:var(--accent)}.follow-banner{border-radius:0 0 16px 16px}.name-prompt-backdrop,.app-loading{background:radial-gradient(900px 600px at 10% 0,#007aff38,#0000 60%),radial-gradient(800px 600px at 100% 100%,#5ac8fa47,#0000 60%),radial-gradient(600px 400px at 90% 10%,#af52de24,#0000 60%),#eef3fa}.name-prompt{border-radius:30px;padding:32px}.name-prompt-logo{background:#007aff1f;border-radius:16px}.name-prompt h1{letter-spacing:-.02em}.home-header{border-bottom:0;border-radius:26px;height:60px;margin:12px 16px 0;position:sticky}.home-search{background:#7878801f;border-radius:999px}.new-board-card{background:linear-gradient(160deg,#3aa0ff 0%,#007aff 55%,#0a5fd8 100%);border-radius:22px;box-shadow:inset 0 1px #fff6,0 10px 26px #007aff52}.new-board-card:hover{background:linear-gradient(160deg,#2b95ff 0%,#006ff0 55%,#0955c4 100%)}.new-board-icon{background:#ffffff3d;border-radius:14px}.join-card{border-radius:22px}.board-card{border-radius:22px;overflow:hidden}.board-card:hover{box-shadow:0 0 0 2px var(--accent), var(--glass-shadow)}.board-thumb{background-color:#ffffff80;border-bottom:0}.home-empty{border:0;border-radius:22px}.board-admin-item{border-radius:16px}.user-item:hover{background:#78788014}.public-badge{color:var(--accent)}.anchor-visible{fill:#0a84ff8c}.marquee{fill:#0a84ff14}.readonly-badge{background:#78788024;border-radius:999px}.sticky-card{border-radius:4px}@media (width<=720px){.toolbar{border-radius:28px;max-width:calc(100vw - 16px);overflow-x:auto}.home-header{gap:12px;margin:8px 8px 0;padding:0 14px}.home-user>span:not(.avatar):not(.role-badge){display:none}}.install-steps{gap:12px}.install-step{align-items:center;gap:12px;font-size:14px;display:flex}.install-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:13px;font-weight:600;display:grid}.inline-icon{vertical-align:-3px;color:var(--accent)}.install-btn{gap:6px}.submenu .menu{background:#fffffff2}.toolbar{scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}@media (width<=720px){.zoom-controls{bottom:calc(max(14px, env(safe-area-inset-bottom)) + 66px)}.zoom-value,.help-btn,.home-brand span{display:none}.home-search{flex:auto;min-width:0}.home-header{gap:10px}.home-user{flex-shrink:0;gap:4px}.home-user .role-badge{display:none}.home-main{padding:24px 14px 48px}.ctx-toolbar{gap:0;max-width:calc(100vw - 16px);padding:0 4px}.ctx-btn{min-width:30px;padding:0 4px}.ctx-btn .ctx-label:not(.size-label){display:none}.size-label{min-width:0}.ctx-pop{max-width:calc(100vw - 24px)}.modal{border-radius:24px}.share-panel{width:calc(100vw - 24px)}}@media (width<=600px){.ctx-toolbar{flex-wrap:wrap;justify-content:center;row-gap:2px;width:max-content;height:auto;min-height:48px;padding:6px}.ctx-sep{display:none}}
