:root,:root[data-theme=light]{--good: #2e8540;--live-wash: rgba(46, 133, 64, .16);--accent-wash: rgba(31, 63, 208, .08);--accent-glow: rgba(31, 63, 208, .16);--accent-shadow: rgba(31, 63, 208, .45);--shade: rgba(30, 34, 40, .35);--ground: #fbfbf9;--dot: #c9ccc4;--dot-glow: #6f81df;--card: #ffffff;--line: #e2e3dd;--line-soft: #eff0ea;--ink: #23262b;--ink-muted: #646d76;--ink-soft: #686e75;--chip: #f0f1ec;--chip-hover: #e9eae4;--chip-line: #e0e1da;--accent: #1f3fd0;--accent-hover: #1a36b4;--accent-ink: #ffffff;--accent-text: #1f3fd0;--danger: #b3261e;--warn: #a06000;--panel: rgba(255, 255, 255, .92);--overlay: rgba(35, 38, 43, .35);--shadow-card: 0 1px 2px rgba(30, 34, 40, .08), 0 10px 24px -14px rgba(30, 34, 40, .28);--shadow-pop: 0 14px 30px -14px rgba(30, 34, 40, .35);--radius: 8px;--guide-spacing: #8b46e0}:root[data-theme=dark]{--good: #56b06a;--live-wash: rgba(86, 176, 106, .22);--accent-wash: rgba(76, 110, 245, .14);--accent-glow: rgba(76, 110, 245, .26);--accent-shadow: rgba(76, 110, 245, .55);--shade: rgba(0, 0, 0, .55);--ground: #0e0f12;--dot: #2b2f36;--dot-glow: #c3c9d6;--card: #1b1e23;--line: #2c313a;--line-soft: #23272e;--ink: #e7e9ec;--ink-muted: #8b929d;--ink-soft: #868f9e;--chip: #262a31;--chip-hover: #2f343d;--chip-line: #343a44;--accent: #4059d8;--accent-hover: #5670ea;--accent-ink: #ffffff;--accent-text: #8fa8ff;--danger: #f26a60;--warn: #d99a3a;--guide-spacing: #a672f0;--panel: rgba(23, 26, 31, .9);--overlay: rgba(0, 0, 0, .55);--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 24px -14px rgba(0, 0, 0, .7);--shadow-pop: 0 14px 30px -14px rgba(0, 0, 0, .75)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--ground);overscroll-behavior:none}button{font:inherit;cursor:pointer}input,textarea{font:inherit;color:var(--ink)}:root{--z-canvas: 15;--z-dock: 25;--z-float: 26;--z-bar: 30;--z-popover: 40;--z-toast: 45;--z-overlay: 50;--z-modal: 90;--z-dialog: 100}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;line-height:1.2;background:var(--chip);color:var(--ink);border:1px solid var(--chip-line)}.btn:hover{background:var(--chip-hover)}button:focus-visible,select:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input:focus-visible,textarea:focus-visible{outline:none}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover)}.btn.danger{color:var(--danger)}.btn.icon{padding:6px 8px}.btn:disabled{opacity:.45;cursor:default}.btn.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button,select{color:inherit}.text-input{padding:7px 10px;border-radius:6px;border:1px solid var(--chip-line);background:var(--card)}.identity-backdrop{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-dialog)}.identity-dialog{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);padding:28px;width:360px}.identity-dialog h2{margin:0 0 6px;font-size:18px}.identity-dialog p{margin:0 0 16px;color:var(--ink-muted);font-size:13px}.identity-dialog form{display:flex;gap:8px}.identity-dialog input{flex:1}.identity-dialog .identity-known{margin-bottom:14px}.projects-page{max-width:880px;margin:0 auto;padding:48px 24px}.projects-head{display:flex;align-items:baseline;gap:16px;margin-bottom:24px}.projects-head h1{font-size:24px;margin:0}.projects-head .who{position:relative;margin-left:auto}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.project-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:16px;display:flex;flex-direction:column;gap:6px;min-height:120px;text-align:left}.project-card:hover{border-color:var(--accent)}.project-card h3{margin:0;font-size:15px}.project-card .desc{color:var(--ink-muted);font-size:12.5px;flex:1}.project-card .meta{color:var(--ink-soft);font-size:11px}.project-card .row{display:flex;gap:6px}.project-card.create{border-style:dashed;align-items:stretch;justify-content:center;gap:8px;background:transparent;box-shadow:none}.identity-anchor{position:relative;display:flex;align-items:center}.identity-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-popover);width:260px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-pop)}.identity-menu{display:flex;flex-direction:column;gap:10px}.identity-rename{display:flex;gap:6px}.identity-rename .text-input{flex:1;min-width:0}.identity-menu-head{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);border-top:1px solid var(--line-soft);padding-top:10px}.identity-known{display:flex;flex-direction:column;gap:4px}.identity-known-row{display:flex;align-items:center;gap:8px;width:100%;padding:5px 6px;border-radius:6px;text-align:left;font-size:13px;background:none;border:1px solid transparent;color:var(--ink)}.identity-known-row:hover{background:var(--chip);border-color:var(--chip-line)}.identity-known-row .face-mark{width:22px;height:22px;font-size:10px;border-width:0}.identity-warning{font-size:11px;color:var(--warn);line-height:1.35}.identity-leave{justify-content:center;font-size:12.5px}.theme-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border-radius:8px;background:var(--chip);border:1px solid var(--chip-line)}.theme-opt{padding:5px 6px;border-radius:6px;font-size:12px;text-align:center;color:var(--ink-muted);background:none;border:1px solid transparent}.theme-opt:hover{color:var(--ink)}.theme-opt.active{color:var(--ink);background:var(--card);border-color:var(--chip-line);box-shadow:var(--shadow-card)}.projects-head .who-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border-radius:999px;font-size:13px;color:var(--ink);background:none;border:1px solid transparent}.projects-head .who-btn:hover,.projects-head .who-btn.active{background:var(--chip);border-color:var(--chip-line)}.projects-head .who-btn .face-mark{width:22px;height:22px;font-size:10px;border-width:0}.project-editor{display:flex;flex-direction:column;gap:8px}.project-editor .text-input{width:100%}.project-editor textarea{resize:vertical;min-height:46px}.project-editor .row{display:flex;gap:6px}.project-editor-error{font-size:11px;color:var(--danger)}.canvas-page{position:fixed;inset:0;overflow:hidden}.canvas-viewport{position:absolute;inset:0;background:var(--ground);background-image:radial-gradient(circle,var(--dot) 1px,transparent 1px);touch-action:none;overflow:hidden;cursor:default}.canvas-viewport.hand{cursor:grab}.canvas-viewport.panning{cursor:grabbing}.canvas-viewport.comment-mode{cursor:crosshair}.canvas-viewport.zoom{cursor:zoom-in}.canvas-viewport.zoom .item:hover{outline:2px solid var(--accent);outline-offset:2px}.canvas-viewport.pen{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M3.2 20.8l1.5-4.3L15.2 6l2.8 2.8L7.5 19.3z' fill='%23ffffff' stroke='%2323262b' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M16.3 4.9l1.3-1.3a1.5 1.5 0 0 1 2.1 0l0.7 0.7a1.5 1.5 0 0 1 0 2.1l-1.3 1.3z' fill='%2323262b'/%3E%3Ccircle cx='3.2' cy='20.8' r='0.9' fill='%2323262b'/%3E%3C/svg%3E") 3 21,crosshair}.canvas-viewport.pen .item,.canvas-viewport.pen .item-titlebar{cursor:inherit}.ink-layer{position:absolute;pointer-events:none;z-index:3;overflow:visible}.sketch-bar{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:var(--z-float);display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-pop)}.sketch-dot{width:9px;height:9px;border-radius:50%;flex:none}.sketch-dot-live{animation:sketch-breathe 1.6s ease-in-out infinite}@keyframes sketch-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}@media(prefers-reduced-motion:reduce){.sketch-dot-live{animation:none}}.sketch-label{font-size:11.5px;color:var(--ink-muted);white-space:nowrap}.world{position:absolute;left:0;top:0;transform-origin:0 0}.cursor-glow{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;background-image:radial-gradient(circle,var(--dot-glow) 1px,transparent 1px);--gx: -200px;--gy: -200px;-webkit-mask-image:radial-gradient(circle 132px at var(--gx) var(--gy),#000 0%,#000 16%,transparent 70%);mask-image:radial-gradient(circle 132px at var(--gx) var(--gy),#000 0%,#000 16%,transparent 70%)}@media(prefers-reduced-motion:reduce){.cursor-glow{display:none}}.toolbar{position:absolute;top:0;left:0;right:0;height:48px;z-index:var(--z-bar);display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--panel);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.toolbar .project-name{position:relative;min-width:0;display:flex}.toolbar .title{font-weight:600;font-size:14px;margin-right:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40vw;padding:4px 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;text-align:left}.toolbar .title:hover:enabled{background:var(--chip);border-color:var(--chip-line)}.toolbar .title:disabled{cursor:default}.project-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-popover);width:300px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-pop)}.toolbar .home{color:var(--ink-muted);text-decoration:none;font-size:16px;padding:4px 6px;border-radius:6px}.toolbar .home:hover{background:var(--chip)}.toolbar .spacer{flex:1}.toolbar .conn{font-size:11px;color:var(--ink-muted)}.toolbar .conn.live:before{content:"●";color:var(--good);margin-right:4px}.toolbar .conn.reconnecting:before{content:"●";color:var(--warn);margin-right:4px}.item{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);display:flex;flex-direction:column;z-index:0}.item.selected{outline:2px solid var(--accent);z-index:1}.item.dragging{opacity:.92;cursor:grabbing;z-index:2}.item.annotation{z-index:3}.item.ink{background:transparent;border-color:transparent;box-shadow:none}.item.ink .item-content{border-radius:var(--radius)}.item.ink .img-view{background:transparent}.item.ink .ply{background:transparent;border-color:var(--line-soft)}.canvas-viewport:not(.pen) .item:hover{outline:1px dashed var(--accent);outline-offset:2px}.canvas-viewport:not(.pen) .item.selected:hover{outline:2px solid var(--accent)}.item.peeked{outline:2px dashed var(--accent);outline-offset:3px}.item.peeked .item-titlebar{opacity:1}.item-titlebar{position:absolute;left:1px;right:1px;top:-20px;display:flex;align-items:flex-end;justify-content:space-between;gap:6px;padding:0 3px;font-size:11px;color:var(--ink-muted);line-height:1.4;cursor:grab;user-select:none;-webkit-user-select:none;opacity:0;transition:opacity .12s ease,color .12s ease}.chrome-left{display:flex;align-items:center;gap:6px;min-width:0}.chrome-left .name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chrome-right{display:flex;align-items:center;flex:none}.item:hover .item-titlebar,.item.selected .item-titlebar,.item.renaming .item-titlebar{opacity:1}.item.selected .item-titlebar{color:var(--accent)}.star-btn{flex:none;padding:0 2px;line-height:1;background:none;border:none;color:var(--ink-soft);font-size:12px;user-select:none;-webkit-user-select:none;cursor:pointer}.star-btn:hover{color:var(--ink)}.star-btn.on{color:var(--accent)}.name-input{min-width:0;padding:0 3px;margin:0 -3px;font:inherit;color:var(--ink);appearance:none;-webkit-appearance:none;background:transparent;border:none;border-radius:3px}.name-input:focus,.name-input:focus-visible{outline:none}.name-input::selection{background:color-mix(in srgb,var(--accent) 25%,transparent)}.name-sizer{position:absolute;visibility:hidden;pointer-events:none;white-space:pre;font:inherit;padding:0 3px}.item-titlebar .name{flex:0 1 auto;min-width:0;cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-content{flex:1;overflow:hidden;position:relative;border-radius:calc(var(--radius) - 1px)}.item-content.inert{pointer-events:none;user-select:none;-webkit-user-select:none}.item .ply{content:"";position:absolute;inset:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);z-index:-1}.version-badge{position:absolute;z-index:3;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;background:var(--accent);color:var(--accent-ink);font-size:10px;font-weight:700;border-radius:999px;padding:3px 7px;line-height:1;border:none;transition:top .14s ease,bottom .14s ease}.version-badge-se{bottom:-9px;right:14px}.version-badge-ne{top:-9px;right:14px}.version-badge:hover{background:var(--accent-hover)}.md-view{padding:10px 14px;font-size:13px;overflow:auto;height:100%}.md-view h1,.md-view h2,.md-view h3{margin:.4em 0 .3em;line-height:1.25}.md-view h1{font-size:18px}.md-view h2{font-size:15px}.md-view h3{font-size:13.5px}.md-view p,.md-view ul,.md-view ol{margin:.35em 0}.md-view pre{background:var(--chip);border-radius:6px;padding:8px;overflow-x:auto;font-size:11.5px}.md-view code{background:var(--chip);border-radius:3px;padding:0 3px;font-size:.92em}.md-view img{max-width:100%}.md-view table{border-collapse:collapse;margin:.6em 0;font-size:12px}.md-view th,.md-view td{border:1px solid var(--line);padding:4px 8px;text-align:left;vertical-align:top}.md-view th{background:var(--chip);font-weight:600}.md-view hr{border:none;border-top:1px solid var(--line-soft);margin:1em 0}.md-view blockquote{border-left:3px solid var(--line);margin:.5em 0;padding-left:10px;color:var(--ink-muted)}.img-view,.video-view{width:100%;height:100%;object-fit:contain;display:block;background:var(--chip)}.html-view,.browser-view{width:100%;height:100%;border:0;background:#fff}.browser-reload{flex:none;background:none;border:none;padding:0 2px;color:var(--ink-muted);font-size:12px;line-height:1;cursor:pointer}.browser-reload:hover{color:var(--ink)}.item-hint{position:absolute;left:0;right:0;top:100%;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;display:flex;justify-content:center;padding-top:5px;pointer-events:none;transform-origin:center top;opacity:0;transition:opacity .12s ease}.item:hover .item-hint{opacity:1}.item-hint span{padding:1px 9px;border-radius:999px;background:var(--chip);border:1px solid var(--line-soft);color:var(--ink-muted);font-size:10.5px;line-height:1.6;white-space:nowrap}.file-view{display:flex;align-items:center;justify-content:center;height:100%;color:var(--ink-muted);font-size:12px;padding:12px;text-align:center}.work-chip{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:10px;font-weight:600;line-height:1;color:var(--work-color);background:color-mix(in srgb,var(--work-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--work-color) 30%,transparent);border-radius:999px;padding:3px 8px 3px 6px}.work-chip .work-dot{width:6px;height:6px;border-radius:999px;background:var(--work-color);animation:work-dot 1.6s ease-in-out infinite}.work-chip .work-name{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-chip i{font-style:normal;animation:work-ellipsis 1.5s steps(1) infinite}.work-chip i:nth-of-type(2){animation-delay:.25s}.work-chip i:nth-of-type(3){animation-delay:.5s}@keyframes work-dot{0%,to{opacity:1}50%{opacity:.35}}@keyframes work-ellipsis{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}.work-sheen{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}.work-sheen:after{content:"";position:absolute;top:-20%;bottom:-20%;width:55%;left:-60%;background:linear-gradient(105deg,transparent 0%,color-mix(in srgb,var(--work-color) 9%,transparent) 45%,color-mix(in srgb,var(--work-color) 16%,transparent) 50%,color-mix(in srgb,var(--work-color) 9%,transparent) 55%,transparent 100%);animation:work-sweep 2.2s ease-in-out infinite}@keyframes work-sweep{0%{left:-60%}60%,to{left:110%}}.resize-handle{position:absolute;width:12px;height:12px;background:var(--card);border:1.5px solid var(--accent);border-radius:2px;z-index:4}.resize-handle-nw{left:-6px;top:-6px;cursor:nwse-resize}.resize-handle-ne{right:-6px;top:-6px;cursor:nesw-resize}.resize-handle-sw{left:-6px;bottom:-6px;cursor:nesw-resize}.resize-handle-se{right:-6px;bottom:-6px;cursor:nwse-resize}.fan-card{position:absolute;z-index:3;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:transform .16s ease,opacity .16s ease}.fan-card.current{outline:2px solid var(--accent)}.fan-card .fan-label{flex:none;font-size:10px;padding:4px 8px;color:var(--ink-muted);border-bottom:1px solid var(--line-soft);display:flex;gap:6px;white-space:nowrap}.fan-card .fan-label b{color:var(--ink);font-weight:600}.fan-card .fan-body{flex:1;overflow:hidden;position:relative;pointer-events:none}.pin{position:absolute;height:26px;z-index:8;display:flex;align-items:center;padding:2px;border-radius:999px 999px 999px 4px;background:var(--card);border:1px solid var(--line);box-shadow:0 4px 10px -3px var(--accent-shadow);transform:translate(-4px,-22px);cursor:pointer}.pin:hover{border-color:var(--accent)}.pin-avatar{width:20px;height:20px;border-radius:999px;flex:none;background:var(--accent);color:var(--accent-ink);font-size:10px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--card)}.pin-avatar+.pin-avatar{margin-left:-7px}.pin-avatar.live{box-shadow:0 0 0 1.5px var(--card),0 0 0 3px var(--good)}.pin-more{background:var(--chip);color:var(--ink-muted);border-color:var(--chip-line)}.pin.unread{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow),0 4px 10px -3px var(--accent-shadow);animation:pin-pulse 1.1s ease-out 3}.pin-unread{margin:0 3px 0 5px;padding:0 5px;height:16px;min-width:16px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:10px;font-weight:700;line-height:16px;text-align:center}@keyframes pin-pulse{0%{box-shadow:0 0 0 0 var(--accent-glow),0 4px 10px -3px var(--accent-shadow)}70%{box-shadow:0 0 0 10px transparent,0 4px 10px -3px var(--accent-shadow)}to{box-shadow:0 0 0 3px var(--accent-glow),0 4px 10px -3px var(--accent-shadow)}}.who{color:var(--who, currentColor)}:root[data-theme=dark] .who,:root[data-theme=dark] .mention{color:color-mix(in srgb,var(--who, var(--mention-color, var(--accent-text))) 55%,var(--ink))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .who,:root:not([data-theme=light]) .mention{color:color-mix(in srgb,var(--who, var(--mention-color, var(--accent-text))) 55%,var(--ink))}}.facepile{display:flex;align-items:center;gap:6px;margin-left:6px;padding-left:10px;border-left:1px solid var(--line);position:relative}.hover-card.face-card{top:calc(100% + 8px);right:0;width:288px;max-width:calc(100vw - 24px);padding:10px 12px;max-height:min(70vh,440px);display:flex;flex-direction:column;gap:8px;font-weight:400;cursor:default}.face-card-head{display:flex;align-items:center;gap:8px}.face-card-who{display:flex;align-items:baseline;gap:6px;min-width:0}.face-card-who b{font-size:13px}.face-card-kind{font-size:10.5px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.face-card-status{font-size:12px;color:var(--ink)}.face-card-status.idle{color:var(--ink-muted);font-style:italic}.face-card-unread{align-self:flex-start;padding:3px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink);border:none;font-size:11px;font-weight:600;cursor:pointer}.face-card-head-label{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);border-top:1px solid var(--line-soft);padding-top:8px}.face-card-list{display:flex;flex-direction:column;gap:1px;margin:-2px -6px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.face-card-row{display:grid;grid-template-columns:auto 1fr auto;gap:4px 6px;align-items:baseline;text-align:left;padding:5px 6px;border:none;border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:11.5px;cursor:pointer}.face-card-row:hover{background:var(--chip)}.face-card-verb{color:var(--ink-muted)}.face-card-subject{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.face-card-when{color:var(--ink-soft);font-variant-numeric:tabular-nums}.face-card-body{grid-column:2 / 4;color:var(--ink-muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.face-card-foot{font-size:10.5px;color:var(--ink-soft)}.face{position:relative;flex:none;padding:0;background:none;border:none;line-height:0}.face.badged{z-index:2}.face:hover{z-index:3;transform:translateY(-1px)}.face-mark{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;border:2px solid var(--card);color:var(--accent-ink);font-size:11px;font-weight:700;line-height:1}.face.live .face-mark{box-shadow:0 0 0 1.5px var(--card),0 0 0 3px var(--good)}.face.away .face-mark{opacity:.45;filter:grayscale(.5)}.face.self .face-mark{box-shadow:0 0 0 1.5px var(--accent)}.face.followed .face-mark{box-shadow:0 0 0 2px var(--accent)}.face-more{background:var(--chip);color:var(--ink-muted);font-size:10px}.face-badge{position:absolute;top:-4px;right:-5px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;border:2px solid var(--card);background:var(--accent);color:var(--accent-ink);font-size:9.5px;font-weight:700;line-height:11px}.face.away .face-badge{opacity:1;filter:none}.thread-popover{position:absolute;width:240px;z-index:var(--z-popover);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:10px 12px;font-size:12px;display:flex;flex-direction:column;min-height:0}.thread-comments{overflow-y:auto;overscroll-behavior:contain;min-height:0;margin:-10px -12px 0;padding:10px 12px 0}.comment{margin-bottom:8px;overflow-wrap:anywhere}.comment .who{font-weight:700;font-size:11px}.comment .when{color:var(--ink-soft);font-size:10px;margin-left:5px}.comment .body{margin:2px 0 0}.comment .body>:first-child{margin-top:0}.comment .body>:last-child{margin-bottom:0}.comment .body p{margin:.3em 0}.comment .body ul,.comment .body ol{margin:.3em 0;padding-left:18px}.comment .body h1,.comment .body h2,.comment .body h3,.comment .body h4{margin:.4em 0 .2em;font-size:12px;line-height:1.25}.comment .body pre{background:var(--chip);border-radius:5px;padding:6px;overflow-x:auto;font-size:11px}.comment .body code{background:var(--chip);border-radius:3px;padding:0 3px;font-size:.92em}.comment .body img{max-width:100%}.comment .body table{border-collapse:collapse;margin:.4em 0;font-size:11px}.comment .body th,.comment .body td{border:1px solid var(--line);padding:2px 6px;text-align:left;vertical-align:top}.comment .body th{background:var(--chip);font-weight:600}.comment .body blockquote{border-left:3px solid var(--line);margin:.4em 0;padding-left:8px;color:var(--ink-muted)}.comment .body hr{border:none;border-top:1px solid var(--line-soft);margin:.6em 0}.thread-popover form{display:flex;gap:6px;margin-top:8px;flex:none}.thread-popover .thread-actions{display:flex;justify-content:space-between;margin-top:6px;flex:none}.thread-popover .thread-actions button{background:none;border:none;color:var(--danger);font-size:11px;padding:2px 4px}.thread-popover .thread-actions button.promote{color:var(--accent)}.main-panel{position:absolute;top:48px;left:0;bottom:0;width:320px;z-index:var(--z-dock);background:var(--card);border-right:1px solid var(--line);box-shadow:12px 0 24px -18px var(--shade);display:flex;flex-direction:column;font-size:12px}.main-panel header{display:flex;align-items:center;gap:7px;flex:none;padding:10px 14px;border-bottom:1px solid var(--line-soft)}.main-panel header b{font-size:12.5px}.main-panel header .spacer{flex:1}.main-glyph,.main-pill-glyph{color:var(--accent);font-size:13px;line-height:1}.main-detach,.main-close{background:none;border:none;color:var(--ink-soft);font-size:11px;padding:2px 4px}.main-detach:hover,.main-close:hover{color:var(--ink)}.main-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex}.main-msgs{margin-top:auto;min-height:min-content;width:100%;padding:12px 14px 6px;display:flex;flex-direction:column}.main-empty{color:var(--ink-muted);padding-bottom:6px}.main-panel form{display:flex;flex-wrap:wrap;gap:6px;flex:none;padding:10px 12px;border-top:1px solid var(--line-soft)}.mt-card{display:flex;align-items:center;gap:9px;width:100%;margin-top:6px;padding:8px 10px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}button.mt-card:hover{border-color:var(--accent)}.mt-card.gone{color:var(--ink-muted);box-shadow:none;border-style:dashed}.mt-card .item-thumb{flex:none;border-radius:6px;border:1px solid var(--line-soft);background:var(--card)}.mt-glyph{width:28px;height:28px;border-radius:6px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--accent-wash);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--card));color:var(--accent);font-size:13px}.mt-text{flex:1;min-width:0;display:flex;flex-direction:column}.mt-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mt-meta{font-size:10.5px;color:var(--ink-muted)}.mt-go{color:var(--ink-soft);flex:none}.toasts{position:absolute;top:58px;right:14px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:8px;width:280px}.toast{display:flex;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.toast-body{flex:1;min-width:0;display:flex;gap:8px;align-items:flex-start;background:none;border:none;text-align:left;padding:9px 4px 9px 10px;border-radius:var(--radius) 0 0 var(--radius);color:inherit}.toast-body:hover{background:var(--line-soft)}.toast-avatar{width:20px;height:20px;border-radius:999px;flex:none;color:var(--accent-ink);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.toast-text{min-width:0;display:flex;flex-direction:column;gap:1px}.toast-who{font-size:11.5px;font-weight:600}.toast-said{font-size:11.5px;color:var(--ink-muted);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.toast-close{background:none;border:none;color:var(--ink-soft);font-size:11px;padding:8px 8px 0 4px;line-height:1}.toast-close:hover{color:var(--ink)}.mention{color:var(--mention-color, var(--accent));background:color-mix(in srgb,var(--mention-color, var(--accent)) 13%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--mention-color, var(--accent)) 13%,transparent);border-radius:3px;font-weight:600}.mention-me{background:color-mix(in srgb,var(--mention-color, var(--accent)) 24%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--mention-color, var(--accent)) 24%,transparent)}.item-ref{color:var(--accent-text);background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent);border-radius:3px;font-weight:600}.comment .body .item-ref{cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}.comment .body .item-ref:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.mention-field{position:relative;flex:1 1 auto;min-width:0}.mention-field .mention-input,.mention-field .mention-backdrop{display:block;width:100%;margin:0;padding:5px 8px;border:1px solid transparent;border-radius:5px;font:inherit;line-height:1.45;white-space:pre;overflow-wrap:normal}.mention-field.multiline .mention-input,.mention-field.multiline .mention-backdrop{white-space:pre-wrap;overflow-wrap:break-word}.mention-field .mention-input{position:relative;background:transparent;border-color:var(--chip-line);overflow:auto;resize:none}.mention-field.multiline .mention-input{min-height:54px;resize:vertical}.mention-field .mention-backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none;color:transparent;-webkit-user-select:none;user-select:none}.mention-field .mention,.mention-field .item-ref{color:transparent;font-weight:inherit;text-decoration:none}.mention-menu{position:fixed;z-index:var(--z-popover);padding:4px;min-width:168px;max-width:260px;max-height:196px;overflow-y:auto;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-pop)}.mention-menu button{display:flex;align-items:center;gap:7px;background:none;border:none;border-radius:4px;padding:5px 7px;font-size:12px;color:var(--ink);text-align:left}.mention-menu button.active{background:var(--chip)}.mention-dot{width:7px;height:7px;border-radius:50%;flex:none}.mention-dot.item-dot{border-radius:2px;background:var(--accent)}.mention-name{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-live{font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted)}.mention-dot.command-dot{width:auto;height:auto;border-radius:0;color:var(--accent);font-weight:700;font-size:12px;line-height:1}.mention-menu:has(.command-dot){min-width:232px;max-width:340px}.mention-name .mention-usage{font-style:normal;font-weight:400;color:var(--ink-soft)}.hover-card.command-card{position:fixed;width:248px;padding:9px 11px;display:flex;flex-direction:column;gap:5px;pointer-events:none}.command-card b{font-size:12px;font-weight:700;color:var(--accent)}.command-card b em{font-style:normal;font-weight:400;color:var(--ink-soft)}.command-card span{font-size:12px;line-height:1.45;color:var(--ink)}.command-card i{font-style:normal;font-size:10.5px;color:var(--ink-muted);border-top:1px solid var(--line-soft);padding-top:5px;overflow-wrap:anywhere}.minimap-dock{position:absolute;bottom:16px;z-index:var(--z-float);transition:left .22s cubic-bezier(.2,.8,.3,1)}.minimap-panel{transform-origin:0 100%;transition:transform .26s cubic-bezier(.2,.8,.3,1),opacity .18s ease}.minimap-dock.folded .minimap-panel{transform:translateY(12px) scale(.82);opacity:0;pointer-events:none}.minimap{display:block;background:var(--panel);border:1px solid var(--line);border-radius:6px;cursor:pointer}.minimap-fold{position:absolute;right:2px;top:-2px;z-index:1;width:20px;height:20px;padding:0;line-height:1;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line);border-radius:999px;color:var(--ink-muted);font-size:12px;opacity:0;transition:opacity .14s ease}.minimap-dock:hover .minimap-fold{opacity:1}.minimap-fold:hover{color:var(--ink);border-color:var(--accent)}.minimap-handle{position:absolute;left:0;bottom:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow-card);color:var(--ink-muted);opacity:0;transform:translateY(8px) scale(.9);pointer-events:none;transition:opacity .18s ease .06s,transform .24s cubic-bezier(.2,.8,.3,1) .06s}.minimap-dock.folded .minimap-handle{opacity:1;transform:none;pointer-events:auto}.minimap-handle:hover{color:var(--ink);border-color:var(--accent)}@media(prefers-reduced-motion:reduce){.minimap-panel,.minimap-handle{transition-duration:.01ms}}.minimap-dot.working{animation:dot-pulse 1.6s ease-in-out infinite}.minimap-dot.quiet{opacity:.55}@keyframes dot-pulse{0%,to{r:3}50%{r:4.5}}.worked{margin-left:6px;padding:0 6px;border-radius:999px;background:var(--chip);color:var(--ink-soft);font-size:10px;line-height:15px;white-space:nowrap}.attached{flex:0 0 100%;display:flex;flex-wrap:wrap;gap:5px;padding:0 2px 2px}.attached-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 4px 3px 3px;border-radius:999px;background:var(--chip);border:1px solid var(--chip-line)}.attached-chip .item-thumb{border-radius:4px}.attached-chip b{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.attached-chip button{border:none;background:none;padding:0 3px;line-height:1;color:var(--ink-soft);font-size:10px}.attached-chip button:hover{color:var(--ink)}.attached-more{align-self:center;color:var(--ink-soft);font-size:10.5px}.hover-card.item-peek{position:fixed;display:flex;flex-direction:column;gap:4px;padding:6px;width:max-content;max-width:260px;pointer-events:none}.item-peek b{font-size:11.5px;font-weight:600;padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:248px}.item-peek i{font-style:normal;font-size:10.5px;color:var(--ink-muted);padding:0 2px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:248px}.item-peek .item-thumb{border-radius:8px}.favourites{position:absolute;top:48px;right:76px;bottom:16px;width:232px;z-index:calc(var(--z-dock) - 1);display:flex;flex-direction:column;gap:2px;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-pop);font-size:12px;overflow:hidden}.favourites header{display:flex;align-items:center;gap:7px;flex:none;padding:10px 10px 8px 12px;border-bottom:1px solid var(--line-soft)}.favourites header b{font-size:12.5px}.favourites header .spacer{flex:1}.favourites-glyph{color:var(--accent);font-size:13px;line-height:1}.favourites-empty{margin:0;padding:16px 14px;color:var(--ink-soft);line-height:1.5}.favourites-list{flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;padding:10px}.favourite{display:flex;flex-direction:column;gap:6px;padding:0;width:100%;background:none;border:none;text-align:left;color:var(--ink)}.favourite-shot{display:flex;align-items:center;justify-content:center;height:92px;border-radius:9px;background:var(--chip);border:1px solid var(--line-soft);overflow:hidden}.favourite-shot .item-thumb{width:100%;height:100%;border:none;border-radius:0;object-fit:contain;background:none}.favourite:hover .favourite-shot{border-color:var(--accent)}.favourite.active .favourite-shot{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.favourite-name{display:flex;align-items:center;gap:5px;padding:0 2px;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favourite-name b{color:var(--accent);font-size:10px}.files-panel{position:absolute;top:48px;left:0;bottom:0;width:320px;z-index:var(--z-dock);background:var(--card);border-right:1px solid var(--line);box-shadow:12px 0 24px -18px var(--shade);display:flex;flex-direction:column;font-size:12px}.files-panel header{display:flex;align-items:center;gap:7px;flex:none;padding:10px 14px;border-bottom:1px solid var(--line-soft)}.files-panel header b{font-size:12.5px}.files-panel header .spacer{flex:1}.files-glyph{color:var(--accent);font-size:13px;line-height:1}.files-count{padding:0 6px;border-radius:999px;background:var(--chip);color:var(--ink-muted);font-size:10.5px;line-height:16px}.files-filter{margin:8px 12px 4px;flex:none}.files-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px 6px 12px}.files-empty{padding:18px 12px;color:var(--ink-muted);text-align:center}.files-group{display:flex;align-items:center;gap:6px;padding:10px 8px 4px;color:var(--ink-soft);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.files-group i{font-style:normal;color:var(--ink-soft);font-weight:400}.files-row{display:flex;align-items:center;gap:9px;width:100%;padding:5px 8px;border:none;border-radius:7px;background:none;color:var(--ink);text-align:left}.files-row:hover{background:var(--chip)}.files-row.active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.files-kind{flex:none;width:16px;color:var(--ink-soft);text-align:center}.files-row.active .files-kind{color:var(--accent)}.files-name{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.files-name b{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-name i{font-style:normal;font-size:10.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-size{flex:none;color:var(--ink-soft);font-size:10.5px;font-variant-numeric:tabular-nums}.files-size em{font-style:normal;margin-left:5px;color:var(--accent)}.create-site{position:relative}.panel-switch{display:flex;align-items:center}.panel-switch .btn{border-radius:0;margin-left:-1px}.panel-switch .btn:first-child{border-radius:6px 0 0 6px;margin-left:0}.panel-switch .btn:last-child{border-radius:0 6px 6px 0}.panel-switch .btn.active{position:relative;z-index:1}.site-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:var(--z-popover);display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-pop);white-space:nowrap}.site-popover .text-input{width:220px}.site-error{position:absolute;top:calc(100% + 4px);left:10px;font-size:10.5px;color:var(--danger);white-space:nowrap}.shelf-glyph{color:var(--accent)}.btn.active .shelf-glyph{color:var(--accent-ink)}.shelf-badge{min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:10px;font-weight:700;line-height:17px;text-align:center}.btn.active .shelf-badge{background:var(--accent-ink);color:var(--accent)}.tool-rail{position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:var(--z-float);display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-pop)}.tool-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:none;border:1px solid transparent;color:var(--ink-muted)}.tool-btn:hover{background:var(--chip);color:var(--ink)}.tool-btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tool-sep{height:1px;margin:2px 6px;background:var(--line)}.tool-slot{position:relative;display:flex}.ink-chip{position:absolute;right:5px;bottom:5px;width:7px;height:7px;border-radius:999px;border:1.5px solid var(--card)}.tool-btn.active .ink-chip{border-color:var(--accent)}.ink-well{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:5px;padding:6px 8px;background:var(--card);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-pop)}.ink-swatch{width:18px;height:18px;border-radius:999px;flex:none;border:2px solid var(--card);box-shadow:0 0 0 1px var(--line);padding:0}.ink-swatch:hover{transform:scale(1.12)}.ink-swatch.active{box-shadow:0 0 0 2px var(--accent)}.ink-swatch.mine{width:21px;height:21px}.ink-sep{width:1px;align-self:stretch;margin:1px;background:var(--line)}.identity-colors{display:flex;align-items:center;gap:8px;padding:2px 0 4px}.zoom-controls{position:absolute;right:14px;bottom:16px;z-index:var(--z-float);display:flex;align-items:center;gap:5px;padding:5px 7px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop)}.zoom-group{position:relative;display:flex;align-items:center;gap:1px}.zoom-step{background:none;border:none;color:var(--ink-muted);font-size:15px;padding:3px 8px;border-radius:6px;line-height:1}.zoom-step:hover{background:var(--chip);color:var(--ink)}.zoom-pct{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px;color:var(--ink);background:var(--chip);border:1px solid var(--chip-line);border-radius:999px;padding:4px 10px}.zoom-pct:hover,.zoom-pct.active{border-color:var(--accent)}.zoom-menu{position:absolute;bottom:calc(100% + 8px);right:0;z-index:var(--z-popover);min-width:216px;padding:5px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-pop)}.zoom-menu-row{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:7px 10px;border-radius:6px;background:none;border:none;color:var(--ink);font-size:13px;text-align:left}.zoom-menu-row:hover:enabled{background:var(--chip)}.zoom-menu-row:disabled{opacity:.4;cursor:default}.zoom-menu-keys{color:var(--ink-soft);font-size:11.5px;font-variant-numeric:tabular-nums}.trash-panel{position:absolute;top:48px;right:0;bottom:0;width:300px;z-index:var(--z-dock);background:var(--card);border-left:1px solid var(--line);box-shadow:-12px 0 24px -18px var(--shade);display:flex;flex-direction:column}.trash-panel header{display:flex;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line-soft);font-weight:600}.trash-panel header .spacer{flex:1}.trash-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.trash-entry{border:1px solid var(--line-soft);border-radius:6px;padding:8px 10px;display:flex;align-items:center;gap:8px;font-size:12.5px}.trash-entry .info{flex:1;min-width:0}.trash-entry .name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trash-entry .meta{color:var(--ink-soft);font-size:10.5px}.trash-empty-zone{padding:10px 14px;border-top:1px solid var(--line-soft)}.trash-none{color:var(--ink-muted);font-size:12.5px;text-align:center;padding:24px 0}.gc-zone{display:flex;align-items:center;gap:10px}.gc-result{font-size:11px;color:var(--ink-muted)}.follow-banner{position:absolute;top:56px;left:50%;transform:translate(-50%);z-index:var(--z-float);padding:5px 12px;border:none;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:11.5px;font-weight:600;white-space:nowrap;box-shadow:var(--shadow-pop);cursor:pointer}.follow-banner:hover{opacity:.9}.update-banner{background:var(--ink);color:var(--ground)}.edge-radar{position:absolute;inset:0;z-index:var(--z-bar);pointer-events:none}.edge-bar{position:absolute;pointer-events:auto;padding:0;border:none;background:color-mix(in srgb,var(--accent) 32%,transparent);transition:background .12s ease,box-shadow .12s ease}.edge-bar-left{width:6px;border-radius:0 4px 4px 0}.edge-bar-right{width:6px;border-radius:4px 0 0 4px}.edge-bar-top{height:6px;border-radius:0 0 4px 4px}.edge-bar-bottom{height:6px;border-radius:4px 4px 0 0}.edge-bar:hover,.edge-bar.hot{background:var(--accent)}.hover-card{position:absolute;pointer-events:auto;z-index:var(--z-popover);width:max-content;max-width:300px;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);color:var(--ink);text-align:left}.beacon-card{display:flex;flex-direction:column;gap:2px;max-width:280px}.beacon-card-v{transform:translateY(-50%);max-height:70vh;overflow-y:auto}.beacon-card-h{transform:translate(-50%)}.beacon-head{padding:2px 8px 4px;color:var(--ink-muted);font-size:10.5px;font-weight:600}.beacon-row{display:flex;align-items:center;gap:8px;width:100%;padding:4px 8px 4px 4px;border:none;border-radius:8px;background:none;color:inherit;text-align:left}.beacon-row:hover{background:var(--chip)}.beacon-more{padding:3px 8px 2px;color:var(--ink-muted);font-size:10.5px}.beacon-card-text{display:flex;flex-direction:column;gap:1px;min-width:0}.beacon-card-text b{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.beacon-card-text i{font-style:normal;font-size:10.5px;color:var(--ink-muted)}.item-thumb{flex:none;width:34px;height:34px;border-radius:6px;object-fit:cover;background:var(--chip);border:1px solid var(--line-soft)}.item-thumb-live{overflow:hidden;position:relative;display:block;background:var(--card)}.item-thumb-page{position:absolute;left:0;top:0;transform-origin:top left;pointer-events:none;overflow:hidden}.item-thumb-page .html-view,.item-thumb-page .browser-view{pointer-events:none}.file-card{position:fixed;transform:translateY(-50%);display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;pointer-events:none}.file-card .item-thumb{width:44px;height:44px}.file-card-text{display:flex;flex-direction:column;gap:1px;min-width:0}.file-card-text b{font-size:12.5px;font-weight:600}.file-card-text i{font-style:normal;font-size:10.5px;color:var(--ink-soft)}.remote-cursor{position:absolute;display:flex;flex-direction:column;align-items:flex-start}.own-cursor{position:fixed;left:0;top:0;z-index:var(--z-popover);display:flex;flex-direction:column;align-items:flex-start;pointer-events:none;will-change:transform;transition:opacity .12s ease}.own-cursor svg{display:block;filter:drop-shadow(0 1px 2px var(--shade))}.canvas-viewport.own-cursor-on{cursor:none}.remote-cursor svg{display:block;filter:drop-shadow(0 1px 2px var(--shade))}.cursor-chip{margin:2px 0 0 10px;padding:3px 8px;border-radius:999px 999px 999px 3px;color:var(--accent-ink);font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 4px 10px -4px var(--shade)}.cursor-chip em{font-style:normal;font-weight:400;font-size:10px;opacity:.85}.remote-cursor.quiet svg,.remote-cursor.quiet .cursor-chip{animation:cursor-breathe 2.6s ease-in-out infinite}@keyframes cursor-breathe{0%,to{opacity:1}50%{opacity:.55}}.guide{position:absolute;z-index:calc(var(--z-canvas) + 1);pointer-events:none;background:var(--accent)}.guide-v{top:0;bottom:0;width:1px}.guide-h{left:0;right:0;height:1px}.spacing{position:absolute;z-index:calc(var(--z-canvas) + 1);pointer-events:none;background:var(--guide-spacing)}.spacing:before,.spacing:after{content:"";position:absolute;background:var(--guide-spacing)}.spacing-x{height:2px}.spacing-x:before,.spacing-x:after{top:-5px;width:2px;height:12px}.spacing-x:before{left:0}.spacing-x:after{right:0}.spacing-y{width:2px}.spacing-y:before,.spacing-y:after{left:-5px;height:2px;width:12px}.spacing-y:before{top:0}.spacing-y:after{bottom:0}.marquee{position:absolute;z-index:var(--z-canvas);pointer-events:none;border:1px solid var(--accent);background:var(--accent-wash);border-radius:2px}.drop-overlay{position:absolute;inset:8px;z-index:var(--z-overlay);pointer-events:none;border:2px dashed var(--accent);border-radius:12px;background:var(--accent-wash);display:flex;align-items:center;justify-content:center;color:var(--accent);font-weight:600}.compose-popover form{flex:1 1 auto;min-height:0;overflow-y:auto}.compose-popover .row{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}.page-note{display:flex;align-items:center;justify-content:center;height:100%;color:var(--ink-muted)}.cmdbar-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:flex;justify-content:center;align-items:flex-start;padding-top:14vh}.cmdbar{width:min(640px,92vw);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);overflow:hidden}.cmdbar-listening{padding:8px 15px;font-size:11.5px;color:var(--ink-muted);border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:7px}.cmdbar-listening.live{color:var(--ink)}.cmdbar-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--good);box-shadow:0 0 0 3px var(--live-wash)}.cmdbar-thread{max-height:184px;overflow-y:auto;overscroll-behavior:contain;padding:10px 15px;display:flex;flex-direction:column;gap:6px;font-size:12.5px;line-height:1.45;border-bottom:1px solid var(--line-soft)}.cmdbar-author{font-weight:600;margin-right:6px}.cmdbar-body{color:var(--ink);overflow-wrap:anywhere}.cmdbar-input{width:100%;border:none;background:transparent;color:var(--ink);padding:13px 15px;font-size:15px;outline:none}.cmdbar-input::placeholder{color:var(--ink-soft)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.command-chip{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:5px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;letter-spacing:.01em;vertical-align:baseline}.body:has(>.command-chip)>.command-chip+*{display:inline}.cmdbar-form{display:flex;padding:8px 9px}.cmdbar-form .mention-field .mention-input,.cmdbar-form .mention-field .mention-backdrop{padding:5px 6px;font-size:15px}.cmdbar-form .mention-field .mention-input{border-color:transparent}.cmdbar-form .mention-field .mention-input:focus,.cmdbar-form .mention-field .mention-input:focus-visible{outline:none;border-color:transparent}.cmdbar-form .mention-field .mention-input::placeholder{color:var(--ink-soft)}.help-btn{font-weight:700}.help-backdrop{position:fixed;inset:0;z-index:var(--z-modal);background:var(--overlay);display:flex;align-items:flex-start;justify-content:center;padding:8vh 20px 40px}.help-panel{width:min(880px,100%);max-height:84vh;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);overflow:hidden}.help-panel header{display:flex;align-items:center;gap:8px;flex:none;padding:12px 14px;border-bottom:1px solid var(--line-soft);font-size:13px}.help-panel header .spacer{flex:1}.help-scroll{overflow-y:auto;padding:14px 16px 18px}.help-columns{columns:2;column-gap:32px}.help-group{break-inside:avoid;margin-bottom:18px}.help-group h3{margin:0 0 7px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.help-row{display:flex;gap:10px;align-items:baseline;padding:3px 0;font-size:12.5px;break-inside:avoid}.help-keys{flex:0 0 152px;display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}.help-keys kbd{font-family:inherit;font-size:11px;font-weight:600;padding:1px 6px;border-radius:5px;background:var(--chip);border:1px solid var(--chip-line);color:var(--ink);white-space:nowrap}.help-keys em{font-style:normal;font-size:10.5px;color:var(--ink-soft)}.help-does{flex:1;min-width:0;color:var(--ink)}.help-does i{display:block;font-style:normal;font-size:11px;color:var(--ink-muted)}.help-commands{border-top:1px solid var(--line-soft);padding-top:14px;margin-bottom:0}.help-lede{margin:0 0 10px;font-size:12px;color:var(--ink-muted);max-width:64ch}.help-lede kbd{font-family:inherit;font-weight:600;padding:0 4px;border-radius:4px;background:var(--chip);border:1px solid var(--chip-line)}.help-commands .help-keys{flex-basis:200px}.onit{display:flex;flex-direction:column;gap:4px;margin:8px 0 2px;padding:7px 9px;background:var(--chip);border-radius:8px;font-size:11.5px;line-height:1.4}.onit.waiting{background:transparent;padding:6px 9px;color:var(--ink-muted)}.onit-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.onit-row b{font-weight:600}.onit-row span{color:var(--ink-soft);min-width:0}.onit-row i{font-style:normal;font-size:10.5px;color:var(--ink-muted)}.onit-dot{width:7px;height:7px;border-radius:50%;flex:none;align-self:center;animation:onit-pulse 1.4s ease-in-out infinite}.onit-dot.idle{background:var(--ink-soft);animation:none}@keyframes onit-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.78)}}@media(prefers-reduced-motion:reduce){.onit-dot{animation:none}}.onit-cancel{margin-left:auto;flex:none;padding:2px 8px;border:1px solid var(--chip-line);border-radius:999px;background:var(--card);color:var(--ink-muted);font:inherit;font-size:10.5px;cursor:pointer}.onit-cancel:hover{border-color:var(--danger);color:var(--danger)}
