.dock-share-shell { display: flex; align-items: center; flex: none; }
.dock-share-button { width: var(--dock-icon-width); padding: 0; color: rgb(var(--accent-rgb)); background: rgba(255,255,255,.3); border: 1px solid rgba(255,255,255,.3); box-shadow: inset 0 1px 1px rgba(255,255,255,.55), 0 2px 8px -2px rgba(0,0,0,.1); cursor: pointer; }
.dock-share-button[aria-expanded="true"] { background: rgba(var(--accent-rgb),.16); border-color: rgba(var(--accent-rgb),.6); }
.dock-share-button .tabler-glyph { font-size: 16px; }
.dark .dock-share-button { background: rgba(39,39,42,.5); }
.dark .dock-share-button[aria-expanded="true"] { background: rgba(var(--accent-rgb),.2); }
.dock-share-button:focus-visible { outline: 2px solid rgb(var(--accent-rgb)); outline-offset: 3px; }
.cloud-dialog.share-dialog { width: min(500px, calc(100vw - 32px)); padding: 24px; max-height: calc(100dvh - 32px); overflow-y: auto; }
.share-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.share-heading h2 { font-size: 20px; font-weight: 800; }
.share-heading .tabler-glyph { width: 20px; height: 20px; }
.share-heading .cloud-close-button { width: 40px; height: 40px; min-height: 40px; padding: 0; flex: none; }
.share-link-section { margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(148,163,184,.25); }
.share-link-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.share-link-section h3 { font-size: 15px; font-weight: 800; }
.share-subtitle, .share-expiration, .share-message { font: 500 12px/1.65 var(--font-ui); margin-top: 6px; }
.share-expiration:empty, .share-message:empty { display: none; }
.share-switch { position: relative; width: 52px; height: 34px; flex: none; padding: 0; border-radius: 11px; border: 1px solid rgba(var(--accent-rgb),.3); background: rgba(148,163,184,.15); box-shadow: inset 0 1px 1px rgba(255,255,255,.35); cursor: pointer; transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease; }
.share-switch-thumb { position: absolute; inset: 5px auto 5px 5px; width: 17px; border-radius: 7px; background: linear-gradient(135deg, rgba(255,255,255,.85), rgba(var(--accent-rgb),.25)); box-shadow: inset 0 1px 1px rgba(255,255,255,.6), 0 2px 4px rgba(15,23,42,.15); transform: translate3d(0,0,0); transition: transform 320ms cubic-bezier(.34,1.36,.64,1); pointer-events: none; }
.share-switch[aria-checked="true"] { background: rgba(var(--accent-rgb),.24); border-color: rgba(var(--accent-rgb),.65); }
.share-switch[aria-checked="true"] .share-switch-thumb { transform: translate3d(24px,0,0); }
.share-switch:active:not(:disabled), .share-icon-action:active:not(:disabled) { transform: scale(.96); }
.share-url-row { display: flex; align-items: stretch; min-width: 0; margin-top: 10px; border: 1px solid rgba(148,163,184,.4); border-radius: 12px; background: rgba(255,255,255,.25); box-shadow: inset 0 1px 1px rgba(255,255,255,.5); overflow: hidden; }
.dark .share-url-row { background: rgba(24,24,27,.25); border-color: rgba(255,255,255,.2); }
.share-url { flex: 1 1 0; min-width: 0; width: 0; height: 42px; padding: 0 12px; font: 500 11px/1 var(--font-ui); color: inherit; background: transparent; border: 0; outline: none; text-overflow: ellipsis; }
.share-url::placeholder { color: inherit; opacity: .55; }
.share-icon-action { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 42px; height: 42px; padding: 0; border: 0; border-left: 1px solid rgba(148,163,184,.3); background: rgba(255,255,255,.12); color: inherit; cursor: pointer; transition: transform 150ms ease, background-color 150ms ease; }
.share-icon-action .tabler-glyph { width: 18px; height: 18px; }
.share-icon-action:hover:not(:disabled) { background: rgba(var(--accent-rgb),.14); }
.share-switch:focus-visible { outline: 2px solid rgb(var(--accent-rgb)); outline-offset: 3px; }
.share-url-row:focus-within { border-color: rgb(var(--accent-rgb)); box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb),.6); }
.share-icon-action:focus-visible { outline: 2px solid rgb(var(--accent-rgb)); outline-offset: -3px; }
.share-icon-action:disabled, .share-switch:disabled { opacity: .4; cursor: default; }
.share-url:disabled { opacity: .6; }
.share-message { color: rgb(var(--accent-rgb)); }
@media (max-width: 720px) { #dock-share-menu[data-open="true"] { max-width: calc(2 * var(--dock-icon-width) + 6px); } }
@media (pointer: coarse) { .share-switch { height: 44px; } .share-icon-action, .share-url { height: 44px; } .share-icon-action { width: 44px; } }
@media (max-width: 480px) { .cloud-dialog.share-dialog { padding: 18px; } .share-url { padding-inline: 8px; } }
@media (prefers-reduced-motion: reduce) { .share-switch, .share-switch-thumb, .share-icon-action { transition: none; } }
body[data-share-loading="true"] #setup-panel, body[data-share-loading="true"] #storyboard-workspace { visibility: hidden; }
.dock-presence { display: flex; align-items: center; gap: 5px; margin-left: 5px; flex: none; }
.dock-presence[hidden] { display: none; }
.presence-cell { display: inline-flex; flex: none; width: var(--dock-icon-width); height: var(--dock-control-height); padding: 3px;
  border: 1px solid rgba(var(--accent-rgb),.3); border-radius: var(--dock-control-radius); background: rgba(var(--accent-rgb),.09); }
.presence-avatar { width: 100%; height: 100%; object-fit: cover; border-radius: 7px; }
.presence-more { border: 1px solid rgba(var(--accent-rgb),.3); background: rgba(var(--accent-rgb),.12); padding: 0 9px; font-size: 10px; white-space: nowrap; }
.presence-expansion { display: flex; align-items: center; gap: 5px; max-width: 0; opacity: 0; overflow: hidden; pointer-events: none; transform: translateX(-8px); transition: max-width .42s cubic-bezier(.2,.85,.25,1), transform .42s ease, opacity .15s ease; }
.presence-expansion[data-open="true"] { max-width: 2800px; opacity: 1; transform: translateX(0); pointer-events: auto; }
.orb-presence-identity { display: flex; align-items: center; gap: 4px; flex: 1 1 0; min-width: 0; height: 26px; overflow: hidden; margin-right: 6px; }
.header-self { display: flex; align-items: center; gap: 4px; min-width: 0; flex: 1 1 64px; max-width: 118px; }
.header-self .presence-avatar { width: 24px; height: 24px; flex: none; border-radius: 7px; }
.presence-name { font: 700 10px/1 var(--font-ui); white-space: nowrap; text-overflow: ellipsis; overflow: hidden; min-width: 20px; }
.header-peer { width: 22px; height: 22px; flex: none; }
.header-presence-summary { font: 600 8px/1 var(--font-ui); white-space: nowrap; flex: none; }
#orb-shot-count { flex: none; }
.remote-cursor-layer { position: fixed; inset: 0; z-index: 130; pointer-events: none; }
.remote-cursor { position: absolute; left: 0; top: 0; display: flex; gap: 4px; align-items: center; opacity: 0; pointer-events: none; color: rgb(var(--accent-rgb)); }
.cursor-arrow { width: 25px; height: 25px; flex: none; }
.cursor-tag { display: inline-flex; align-items: center; gap: 4px; padding: 3px 6px; border-radius: 8px; background: rgba(245,245,245,.94); border: 1px solid rgba(var(--accent-rgb),.5); color: #18181b; font: 650 10px/1 var(--font-ui); box-shadow: 0 2px 8px rgba(0,0,0,.1); }
.dark .cursor-tag { background: rgba(39,39,42,.94); color: #f4f4f5; }
.cursor-tag .presence-avatar { width: 18px; height: 18px; }
.collab-lock-status { font: 600 10px/1 var(--font-ui); padding: 0 9px; border: 1px solid rgba(var(--accent-rgb),.4); background: rgba(var(--accent-rgb),.1); white-space: nowrap; }
.collab-lock-status[hidden] { display: none !important; }
body[data-collab-busy="true"] #storyboard-workspace textarea, body[data-collab-busy="true"] #storyboard-workspace [contenteditable] { resize: none; }
body[data-shared-permission="editor"] #cine-dock [onclick="triggerJsonImport()"],
body[data-shared-permission="editor"] [onclick="saveAsNewCloudProject(); closeCloudSaveMenu()"],
body[data-shared-permission="editor"] [onclick^="confirmResetProject("] { display: none !important; }
@media (prefers-reduced-motion: reduce) { .presence-expansion { transition: none; } }
.annotation-layer { position: fixed; inset: 0; z-index: 85; pointer-events: none; }
.collab-note { position: absolute; left: 0; top: 0; width: 30px; height: 30px; display: grid; place-items: center; pointer-events: auto; border-radius: 9px; border: 1px solid rgba(var(--accent-rgb),.7); background: rgba(248,250,252,.95); color: #18181b; box-shadow: 0 3px 10px rgba(0,0,0,.2); cursor: pointer; }
.collab-note[data-resolved="true"] { opacity: .45; }
.collab-note[hidden], #dock-annotations-button[hidden], .note-editor[hidden], .note-list[hidden], .annotation-pin-status[hidden], .annotation-layer[hidden], .note-header-actions [hidden], #collab-note-save[hidden] { display: none !important; }
.collab-note .tabler-glyph, #dock-annotations-button .tabler-glyph { width: 18px; height: 18px; }
.collab-note:focus-visible { outline: 2px solid rgb(var(--accent-rgb)); outline-offset: 3px; }
#cine-dock #dock-annotations-button:not(.glass-toggle) { width: var(--dock-icon-width); padding: 0; border: 1px solid rgba(var(--accent-rgb),.4); background: rgba(var(--accent-rgb),.13); }
#dock-annotations-button.glass-toggle .toggle-icon { transition: transform 140ms cubic-bezier(.2,0,0,1), opacity 90ms cubic-bezier(.2,0,0,1), filter 140ms cubic-bezier(.2,0,0,1); }
#dock-annotations-button.glass-toggle .toggle-icon-off { filter: blur(0); transition-delay: 130ms; }
#dock-annotations-button.glass-toggle .toggle-icon-on { filter: blur(4px); transition-delay: 0s; }
#dock-annotations-button.glass-toggle[aria-pressed="true"] .toggle-icon-off { filter: blur(4px); transition-delay: 0s; }
#dock-annotations-button.glass-toggle[aria-pressed="true"] .toggle-icon-on { filter: blur(0); transition-delay: 130ms; }
@media (prefers-reduced-motion: reduce) { #dock-annotations-button.glass-toggle .toggle-icon { transition: none; filter: none; } }
.dark .collab-note { background: rgba(39,39,42,.96); color: #f4f4f5; }
.note-list { display: grid; gap: 10px; margin-top: 16px; max-height: 55dvh; overflow-y: auto; }
.note-list-card { padding: 12px; border-radius: 15px; border: 1px solid rgba(148,163,184,.35); background: rgba(255,255,255,.1); }
.note-list-heading, .note-actions { display: flex; align-items: center; justify-content: space-between; gap: 5px; }
.note-author { font: 750 12px/1.5 var(--font-ui); overflow: hidden; text-overflow: ellipsis; }
.note-icon-action.cloud-action { width: 34px; height: 34px; min-height: 34px; padding: 0; flex: none; }
.note-icon-action .tabler-glyph { width: 17px; height: 17px; }
.note-text { margin: 8px 0; font: 500 13px/1.7 var(--font-ui); white-space: pre-wrap; overflow-wrap: anywhere; }
.note-status { opacity: .7; font: 500 11px/1.5 var(--font-ui); }
.note-editor { margin-top: 18px; }
.note-editor textarea { width: 100%; resize: vertical; }
.note-editor #collab-note-save { margin-top: 10px; margin-left: auto; display: flex; }
.note-header-actions { display: flex; align-items: center; gap: 8px; flex: none; }
.note-list-footer { display: flex; align-items: center; gap: 10px; }
.note-field-label { display: block; margin-bottom: 8px; font: 650 12px/1.5 var(--font-ui); }
.note-dialog { overscroll-behavior: contain; }
.note-dialog .note-author { min-width: 0; overflow-wrap: anywhere; }
.note-dialog .note-status { color: #475569; opacity: 1; }
.dark .note-dialog .note-status { color: #cbd5e1; }
.note-dialog .note-text { color: #0f172a; }
.dark .note-dialog .note-text { color: #f1f5f9; }
.note-icon-action:focus-visible, .note-editor textarea:focus-visible { outline: 2px solid rgb(var(--accent-rgb)); outline-offset: 3px; }
.note-icon-action:active:not(:disabled) { transform: scale(.96); }
.collab-note.note-bubble { width: min(240px, calc(100vw - 32px)); height: auto; min-height: 56px; max-height: min(200px, 40dvh); overflow-y: auto; display: flex; flex-direction: column; align-items: stretch; gap: 5px; padding: 10px 12px; text-align: start; user-select: text; border-radius: 14px; background: #f8fafc; color: #0f172a; }
.dark .collab-note.note-bubble { background: #27272a; color: #f1f5f9; }
.collab-note.note-bubble[data-resolved="true"] { opacity: 1; border-style: dashed; }
.note-bubble-author { font: 750 11px/1.5 var(--font-ui); overflow-wrap: anywhere; }
.note-bubble-text { font: 500 13px/1.6 var(--font-ui); white-space: pre-wrap; overflow-wrap: anywhere; }
body:has(#collab-note-modal:not(.hidden)) .remote-cursor-layer { visibility: hidden; }
@media (max-width: 420px) { .note-dialog.cloud-dialog { padding: 16px; } .note-editor textarea { font-size: 16px; } }
@media (prefers-reduced-motion: reduce) { .note-icon-action:active:not(:disabled) { transform: none; } }
.annotation-pin-status { position: fixed; bottom: 92px; left: 50%; transform: translateX(-50%); z-index: 126; padding: 10px 16px; border-radius: 12px; background: rgba(24,24,27,.94); color: #fafafa; font: 600 12px/1.5 var(--font-ui); pointer-events: none; }
.is-pinning-note .shot-card, .is-pinning-note .shot-card * { cursor: crosshair !important; }
@media (pointer: coarse) { .note-icon-action.cloud-action { width: 44px; height: 44px; min-height: 44px; } }
@media print { .annotation-layer, .annotation-pin-status { display: none !important; } }
.cloud-image-status { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; font-size:12px; color:#475569; pointer-events:auto; background:rgba(230,233,237,.92); }
.dark .cloud-image-status { color:#d4d4d8; background:rgba(30,30,34,.94); }
.cloud-image-status button { font:inherit; cursor:pointer; }
.cloud-image-status button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.cloud-image-preview { position:absolute; inset:0; overflow:hidden; border-radius:inherit; pointer-events:none; opacity:1; transition:opacity 220ms ease-out; }
.cloud-image-preview-surface { position:absolute; inset:0; background-position:center; background-repeat:no-repeat; filter:blur(4px); transform:scale(1.025); image-rendering:auto; }
.cloud-image-preview.is-resolved { opacity:0; }
.shot-card img.cloud-image-resolve { position:relative; z-index:1; opacity:0; transform:scale(1.02); transition:opacity 220ms ease-out,transform 220ms ease-out; }
.shot-card img.cloud-image-resolve.is-resolved { opacity:1; transform:scale(1); }
.cloud-image-status.has-preview-error { z-index:2; background:transparent; }
.cloud-image-status.has-preview-error > span, .cloud-image-status.has-preview-error button { background:rgba(248,250,252,.96); color:#334155; border-radius:9px; padding:6px 10px; box-shadow:0 2px 8px #0002; }
.dark .cloud-image-status.has-preview-error { background:transparent; }
.dark .cloud-image-status.has-preview-error > span, .dark .cloud-image-status.has-preview-error button { background:rgba(24,24,27,.96); color:#e4e4e7; }
@media (prefers-reduced-motion:reduce) { .cloud-image-preview, .shot-card img.cloud-image-resolve { transition:none; } .shot-card img.cloud-image-resolve { transform:none; } }
.cloud-image-spinner { width:24px; height:24px; flex:none; animation:cloud-image-turn 1s linear infinite; }
@keyframes cloud-image-turn { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .cloud-image-spinner { animation:none; } }
