@charset "UTF-8";:root{--bg-primary: #1a1d23;--bg-secondary: #242830;--bg-tertiary: #2d323c;--bg-elevated: #363c4a;--surface-glass: rgba(45, 50, 60, .85);--surface-overlay: rgba(0, 0, 0, .35);--accent-primary: #00d4aa;--accent-secondary: #00b894;--accent-hover: #00e6b8;--accent-glow: rgba(0, 212, 170, .3);--text-primary: #f0f2f5;--text-secondary: #a0a8b8;--text-muted: #6b7280;--intrack-height: 24px;--intrack-height-mobile: 30px;--slider-track-fill: color-mix(in srgb, var(--accent-primary) 26%, transparent);--slider-track-zero: rgba(255, 255, 255, .18);--border-subtle: rgba(255, 255, 255, .08);--border-active: rgba(0, 212, 170, .5);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--role-guest: #a0a8b8;--role-user: #f0f2f5;--role-trusted: #ffd54a;--role-helper: #75ff75;--role-mod: #00ffff;--role-admin: #287ac1;--role-owner: #e53935;--role-noble: #ba95ff;--role-holy: #ffa0ae;--role-deity: #dd8d4d;--supporter-gold: #f5c542;--supporter-gold-glow: rgba(245, 197, 66, .45);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--transition-fast: .15s ease;--transition-normal: .25s ease;--space-unit: .25rem;--space-1: calc(var(--space-unit) * 1);--space-2: calc(var(--space-unit) * 2);--space-3: calc(var(--space-unit) * 3);--space-4: calc(var(--space-unit) * 4);--space-5: calc(var(--space-unit) * 5);--space-6: calc(var(--space-unit) * 6);--space-8: calc(var(--space-unit) * 8);--space-10: calc(var(--space-unit) * 10);--space-12: calc(var(--space-unit) * 12);--space-16: calc(var(--space-unit) * 16);--space-20: calc(var(--space-unit) * 20);--space-24: calc(var(--space-unit) * 24);--space-fluid-xs: clamp(.25rem, .5vw, .5rem);--space-fluid-sm: clamp(.5rem, 1vw, 1rem);--space-fluid-md: clamp(1rem, 2vw, 2rem);--space-fluid-lg: clamp(1.5rem, 3vw, 3rem);--space-fluid-xl: clamp(2rem, 4vw, 4rem);--text-xs: .6875rem;--text-sm: .75rem;--text-md: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-fluid-xs: clamp(.625rem, .8vw, .75rem);--text-fluid-sm: clamp(.75rem, 1vw, .875rem);--text-fluid-md: clamp(.875rem, 1.2vw, 1rem);--text-fluid-lg: clamp(1rem, 1.5vw, 1.25rem);--tool-size: clamp(32px, 5vw, 48px);--swatch-size: clamp(20px, 3vw, 28px);--panel-width: clamp(160px, 20vw, 280px);--chat-width: clamp(280px, 35vw, 400px);--chat-height: clamp(320px, 50vh, 600px);--hud-btn-size: clamp(60px, 8vw, 80px);--hud-icon-size: clamp(28px, 4vw, 40px)}@media (max-width: 640px){:root{--space-unit: .2rem}}@media (min-width: 1536px){:root{--space-unit: .3rem}}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif,"Fluent Emoji Color";height:100vh;width:100vw;overflow:hidden;background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif,"Fluent Emoji Color";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text{font-family:Newsreader,serif}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}:root{--desktop-titlebar-height: 26px}#main{display:flex;width:100%;height:100%;background:linear-gradient(135deg,var(--bg-primary) 0%,#1e2228 100%)}body.desktop-window-chrome{box-sizing:border-box;height:100dvh;padding-top:var(--desktop-titlebar-height);overflow:hidden}body.desktop-window-chrome #desktopTitlebarMount{position:fixed;top:0;left:0;right:0;width:100%;height:var(--desktop-titlebar-height);z-index:12050}body.desktop-window-chrome #main{height:calc(100dvh - var(--desktop-titlebar-height));min-height:0}html[data-sidebar-side=left] #main{flex-direction:row-reverse}#boardContainer{display:flex;flex-direction:column;flex:1;position:relative;z-index:auto;cursor:default;-webkit-user-select:none;user-select:none;overflow:hidden;touch-action:none}#boardContainer.is-pan-held,#boardContainer.is-pan-held #boards *:not(canvas),#boardContainer[data-nav-tool=pan],#boardContainer[data-nav-tool=pan] #boards *:not(canvas){cursor:grab}#boardContainer[data-nav-tool=zoom],#boardContainer[data-nav-tool=zoom] #boards *:not(canvas){cursor:zoom-in}#boardContainer.is-background-panning,#boardContainer.is-background-panning *{cursor:grabbing!important}#boardContainer.image-dragover:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:200;border:2px solid color-mix(in srgb,var(--accent-primary) 72%,white 12%);border-radius:18px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 24%,transparent),0 0 32px color-mix(in srgb,var(--accent-primary) 18%,transparent);pointer-events:none}#boards{position:absolute;top:0;left:0;box-shadow:var(--shadow-lg);border-radius:4px}#board{position:absolute;top:0;left:0;z-index:0}#topBoard{z-index:2;pointer-events:none}#selectionOverlay{position:absolute;z-index:100;pointer-events:none}.userBoard{pointer-events:none;position:absolute;top:0;left:0;z-index:2}#boards canvas{cursor:none;touch-action:none}.boardBtns{display:flex;align-items:center;gap:var(--space-2);padding:2px 6px 0;background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);z-index:940;position:relative;flex-wrap:nowrap}.boardBtns .btn{height:28px;width:fit-content;padding:0 8px;line-height:1;display:inline-flex;align-items:center;justify-content:center}#flipCanvasBtn.iconBtn{width:28px;min-width:28px;padding:0}#flipCanvasBtn.iconBtn .btnText{display:none}#flipCanvasBtn.iconBtn .btnIcon{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}#flipCanvasBtn.iconBtn img{display:block;width:18px;height:18px;object-fit:contain;filter:brightness(0) invert(.7);transform:translate(4px);transition:filter var(--transition-fast)}#flipCanvasBtn.iconBtn:hover img{filter:brightness(0) invert(1)}#flipCanvasBtn.iconBtn.selected img{filter:brightness(0) invert(.1)}.btn.accent{background:linear-gradient(135deg,#7c3aed,#a855f7);border:1px solid #7c3aed;color:#fff}.btn.accent:hover{background:linear-gradient(135deg,#6d28d9,#9333ea);border-color:#6d28d9}.btn.menuBtn{display:none;font-size:18px;width:28px;min-width:28px;padding-left:0;padding-right:0;z-index:110;justify-content:center}.btn.menuBtn .menuIcon{line-height:1;display:flex;align-items:center;justify-content:center;margin-top:-2px}.collapsibleBtns{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.mirrorContainer,.devContainer{display:flex;align-items:center;gap:var(--space-1)}.zoomGroup{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.zoomBtns{display:flex;gap:4px}.zoomBtns .btn{width:28px;min-width:28px;padding:0}.zoomBtns .btn img{width:18px;height:18px;object-fit:contain;filter:brightness(0) invert(.7);transition:filter var(--transition-fast)}.zoomBtns .btn:hover img{filter:brightness(0) invert(1)}.zoomBtns .btn.selected img{filter:brightness(0) invert(.1)}#recordBtn{width:28px;min-width:28px;padding:0}.recordGlyph{width:12px;height:12px;border-radius:999px;background:#ef4444;box-shadow:0 0 0 1px #ffffff0f;transition:border-radius var(--transition-fast),transform var(--transition-fast),background var(--transition-fast)}#recordBtn:hover .recordGlyph{transform:scale(1.08)}#recordBtn.is-recording .recordGlyph{width:10px;height:10px;border-radius:2px;background:#f87171}#tapeRecBtn{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;padding:0}#tapeRecBtn .tapeRecGlyph{width:10px;height:10px;border-radius:999px;background:#ef4444;box-shadow:0 0 0 1px #ffffff0f;transition:transform var(--transition-fast),background var(--transition-fast)}#tapeRecBtn.is-recording{background:#ef44442e;color:#fecaca}#tapeRecBtn.is-recording .tapeRecGlyph{animation:tape-rec-pulse 1.4s ease-in-out infinite}#tapeRecBtn .tapeRecElapsed{font-variant-numeric:tabular-nums;font-size:12px;opacity:.9}@keyframes tape-rec-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.6);opacity:.55}}.saveUploadGroup{display:flex;gap:var(--space-2);flex-shrink:0}.mirrorOption,.zoomPercent{padding:0 2px;font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.zoomPercent{min-width:42px;font-variant-numeric:tabular-nums}.right{margin-left:auto;display:flex;gap:var(--space-2);align-items:center;flex:1 0 auto;min-width:min-content;justify-content:flex-end}.topbarScrollableActions{display:flex;align-items:center;gap:var(--space-2);min-width:0;overflow:visible}.topbarScrollableActions>*{flex-shrink:0}.topbarScrollableActions>.connectionStatus{flex-shrink:1;min-width:0;overflow:hidden}#disconnectBtn,#roomsBtn{flex-shrink:0}#chatBtn,#inboxBtn{position:relative}#supportBtn{flex-shrink:0;color:var(--accent-primary);border:1px solid color-mix(in srgb,var(--accent-primary) 55%,transparent);border-radius:999px;padding:0 12px;font-weight:700}#supportBtn:hover{background:color-mix(in srgb,var(--accent-primary) 16%,transparent)}#chatBtn .chatBadge,#inboxBtn .chatBadge{position:absolute;top:-1px;right:-10px;display:none;min-width:16px;height:16px;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;background:var(--accent-primary);color:var(--bg-primary);font-size:.68rem;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 0 0 2px color-mix(in srgb,var(--bg-elevated) 92%,black);pointer-events:none;z-index:1}.boardBtns.force-right-icon-collapse .saveUploadGroup .btn .btnText,.boardBtns.force-right-icon-collapse #inboxBtn .btnText,.boardBtns.force-right-icon-collapse #supportBtn .btnText,.boardBtns.force-right-icon-collapse #roomSettingsBtn .btnText,.boardBtns.force-right-icon-collapse #roomsBtn .btnText,.boardBtns.force-right-icon-collapse #disconnectBtn .btnText{display:none}.boardBtns.force-right-icon-collapse .saveUploadGroup .btn .btnIcon,.boardBtns.force-right-icon-collapse #inboxBtn .btnIcon,.boardBtns.force-right-icon-collapse #supportBtn .btnIcon,.boardBtns.force-right-icon-collapse #roomSettingsBtn .btnIcon,.boardBtns.force-right-icon-collapse #roomsBtn .btnIcon,.boardBtns.force-right-icon-collapse #disconnectBtn .btnIcon{display:inline-flex!important;align-items:center;justify-content:center;margin-right:0}.boardBtns.force-right-icon-collapse .saveUploadGroup .btn .btnIcon img,.boardBtns.force-right-icon-collapse #inboxBtn .btnIcon img,.boardBtns.force-right-icon-collapse #supportBtn .btnIcon img,.boardBtns.force-right-icon-collapse #roomSettingsBtn .btnIcon img,.boardBtns.force-right-icon-collapse #roomsBtn .btnIcon img,.boardBtns.force-right-icon-collapse #disconnectBtn .btnIcon img{width:18px;height:18px;object-fit:contain;filter:brightness(0) invert(.7);transition:filter var(--transition-fast)}.boardBtns.force-right-icon-collapse .saveUploadGroup .btn .btnIcon svg,.boardBtns.force-right-icon-collapse #inboxBtn .btnIcon svg,.boardBtns.force-right-icon-collapse #supportBtn .btnIcon svg,.boardBtns.force-right-icon-collapse #roomSettingsBtn .btnIcon svg,.boardBtns.force-right-icon-collapse #roomsBtn .btnIcon svg,.boardBtns.force-right-icon-collapse #disconnectBtn .btnIcon svg{display:block;width:18px;height:18px}.boardBtns.force-right-icon-collapse .saveUploadGroup .btn,.boardBtns.force-right-icon-collapse #inboxBtn,.boardBtns.force-right-icon-collapse #supportBtn,.boardBtns.force-right-icon-collapse #roomSettingsBtn,.boardBtns.force-right-icon-collapse #roomsBtn,.boardBtns.force-right-icon-collapse #disconnectBtn{width:28px;min-width:28px;padding:0}.boardBtns.force-right-icon-collapse .saveUploadGroup .btn:hover .btnIcon img,.boardBtns.force-right-icon-collapse #inboxBtn:hover .btnIcon img,.boardBtns.force-right-icon-collapse #supportBtn:hover .btnIcon img,.boardBtns.force-right-icon-collapse #roomSettingsBtn:hover .btnIcon img,.boardBtns.force-right-icon-collapse #roomsBtn:hover .btnIcon img,.boardBtns.force-right-icon-collapse #disconnectBtn:hover .btnIcon img{filter:brightness(0) invert(1)}.boardBtns.force-right-icon-collapse #chatBtn .btnIcon img{width:24px;height:24px}.boardBtns.force-right-icon-collapse #inboxBtn .btnIcon img{width:18px;height:18px}.boardBtns.force-right-icon-collapse #roomSettingsBtn .btnIcon svg,.boardBtns.force-right-icon-collapse #roomSettingsBtn .btnIcon path{fill:var(--accent-primary)}.boardBtns.force-left-icon-collapse #mirrorBtn .btnText,.boardBtns.force-left-icon-collapse #appSettingsBtn .btnText{display:none}.boardBtns.force-left-icon-collapse #mirrorBtn .btnIcon,.boardBtns.force-left-icon-collapse #appSettingsBtn .btnIcon{display:inline-flex!important;align-items:center;justify-content:center;margin-right:0}.boardBtns.force-left-icon-collapse #mirrorBtn .btnIcon img,.boardBtns.force-left-icon-collapse #appSettingsBtn .btnIcon img{width:18px;height:18px;object-fit:contain;filter:brightness(0) invert(.7);transition:filter var(--transition-fast)}.boardBtns.force-left-icon-collapse #mirrorBtn .btnIcon svg,.boardBtns.force-left-icon-collapse #appSettingsBtn .btnIcon svg{display:block;width:18px;height:18px}.boardBtns.force-left-icon-collapse #mirrorBtn,.boardBtns.force-left-icon-collapse #appSettingsBtn{width:28px;min-width:28px;padding:0}.boardBtns.force-left-icon-collapse #mirrorBtn:hover .btnIcon img,.boardBtns.force-left-icon-collapse #appSettingsBtn:hover .btnIcon img{filter:brightness(0) invert(1)}.boardBtns.force-menu-collapse .btn.menuBtn{display:inline-flex}.boardBtns.force-menu-collapse .collapsibleBtns{display:none;flex-direction:column;position:absolute;top:100%;left:0;background:color-mix(in srgb,var(--bg-secondary) 97%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-top:none;border-left:none;border-radius:0 0 var(--radius-md) 0;padding:var(--space-2);box-shadow:var(--shadow-lg);z-index:1200;align-items:stretch;min-width:210px;max-width:100vw;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;gap:2px}.boardBtns.force-menu-collapse .collapsibleBtns>*,.boardBtns.force-menu-collapse .collapsibleBtns .btn{flex-shrink:0}.boardBtns.force-menu-collapse .collapsibleBtns.show{display:flex!important;animation:menuFadeIn .2s ease}.boardBtns.force-menu-collapse .collapsibleBtns>*+*{border-top:1px solid rgba(255,255,255,.16)!important;padding-top:var(--space-2);margin-top:var(--space-2)}.boardBtns.force-menu-collapse .collapsibleBtns .btn,.boardBtns.force-menu-collapse .collapsibleBtns #mirrorBtn,.boardBtns.force-menu-collapse .collapsibleBtns #appSettingsBtn,.boardBtns.force-menu-collapse .collapsibleBtns #tapeRecBtn,.boardBtns.force-menu-collapse .collapsibleBtns #roomsBtn{justify-content:flex-start;gap:10px;width:100%;min-width:0;height:var(--menu-row-height, 36px);min-height:40px;padding:0 10px;background:transparent;border-color:transparent;box-shadow:none}.boardBtns.force-menu-collapse .collapsibleBtns .btn:hover,.boardBtns.force-menu-collapse .collapsibleBtns #mirrorBtn:hover,.boardBtns.force-menu-collapse .collapsibleBtns #appSettingsBtn:hover,.boardBtns.force-menu-collapse .collapsibleBtns #tapeRecBtn:hover,.boardBtns.force-menu-collapse .collapsibleBtns #roomsBtn:hover{background:var(--bg-tertiary);border-color:transparent}.boardBtns.force-menu-collapse .collapsibleBtns .btn.selected,.boardBtns.force-menu-collapse .collapsibleBtns #mirrorBtn.selected,.boardBtns.force-menu-collapse .collapsibleBtns #appSettingsBtn.selected,.boardBtns.force-menu-collapse .collapsibleBtns #tapeRecBtn.selected,.boardBtns.force-menu-collapse .collapsibleBtns #roomsBtn.selected{background:var(--accent-primary);color:var(--bg-primary)}.boardBtns.force-menu-collapse .collapsibleBtns .btnText{display:inline!important}.boardBtns.force-menu-collapse .collapsibleBtns .btnIcon{display:none!important}.boardBtns.force-menu-collapse .collapsibleBtns #tapeRecBtn .tapeRecGlyph{flex:0 0 auto;order:1;margin-left:auto}.boardBtns.force-menu-collapse .collapsibleBtns #tapeRecBtn.is-recording{background:#ef44442e;color:#fecaca}.boardBtns.force-menu-collapse .collapsibleBtns .mirrorContainer,.boardBtns.force-menu-collapse .collapsibleBtns .devContainer{flex-direction:column;align-items:stretch;gap:2px;padding:0}.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection{display:flex;flex-direction:column;align-items:stretch;gap:2px}.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection #uploadBtn,.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection #saveBtn,.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection #roomsBtn,.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection #disconnectBtn{width:100%;min-width:0!important;padding:0 10px}.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection #uploadBtn .btnIcon,.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection #saveBtn .btnIcon,.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection #roomsBtn .btnIcon,.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection #disconnectBtn .btnIcon{display:none!important}.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection #uploadBtn .btnText,.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection #saveBtn .btnText,.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection #roomsBtn .btnText,.boardBtns.force-menu-collapse .collapsibleBtns .topbarOverflowSection #disconnectBtn .btnText{display:inline!important}@media (max-width: 767px){.boardBtns{padding:2px 10px 0}}@media (max-width: 639px){.boardBtns{padding:2px 8px 0;gap:var(--space-1)}html:not([data-mobile=true]) .zoomGroup{position:fixed;top:42px;left:92px;z-index:920;gap:var(--space-1);padding:2px;background:color-mix(in srgb,var(--bg-secondary) 94%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body.desktop-window-chrome .zoomGroup{top:calc(var(--desktop-titlebar-height) + 42px)}.right,.topbarScrollableActions,.saveUploadGroup{gap:var(--space-1)}}html[data-mobile=true] .boardBtns .btn.menuBtn{display:inline-flex}html[data-mobile=true] .boardBtns .collapsibleBtns{display:none;flex-direction:column;position:absolute;top:100%;left:0;background:color-mix(in srgb,var(--bg-secondary) 97%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-top:none;border-left:none;border-radius:0 0 var(--radius-md) 0;padding:var(--space-2);box-shadow:var(--shadow-lg);z-index:1200;align-items:stretch;min-width:210px;max-width:100vw;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;gap:2px}html[data-mobile=true] .boardBtns .collapsibleBtns>*,html[data-mobile=true] .boardBtns .collapsibleBtns .btn{flex-shrink:0}html[data-mobile=true] .boardBtns .collapsibleBtns.show{display:flex!important;animation:menuFadeIn .2s ease}html[data-mobile=true] .boardBtns .collapsibleBtns>*+*{border-top:1px solid rgba(255,255,255,.16)!important;padding-top:var(--space-2);margin-top:var(--space-2)}html[data-mobile=true] .boardBtns .collapsibleBtns .btn,html[data-mobile=true] .boardBtns .collapsibleBtns #mirrorBtn,html[data-mobile=true] .boardBtns .collapsibleBtns #appSettingsBtn,html[data-mobile=true] .boardBtns .collapsibleBtns #tapeRecBtn,html[data-mobile=true] .boardBtns .collapsibleBtns #roomsBtn{justify-content:flex-start;gap:10px;width:100%;min-width:0;height:var(--menu-row-height, 36px);min-height:40px;padding:0 10px;background:transparent;border-color:transparent;box-shadow:none}html[data-mobile=true] .boardBtns .collapsibleBtns .btn:hover,html[data-mobile=true] .boardBtns .collapsibleBtns #mirrorBtn:hover,html[data-mobile=true] .boardBtns .collapsibleBtns #appSettingsBtn:hover,html[data-mobile=true] .boardBtns .collapsibleBtns #tapeRecBtn:hover,html[data-mobile=true] .boardBtns .collapsibleBtns #roomsBtn:hover{background:var(--bg-tertiary);border-color:transparent}html[data-mobile=true] .boardBtns .collapsibleBtns .btn.selected,html[data-mobile=true] .boardBtns .collapsibleBtns #mirrorBtn.selected,html[data-mobile=true] .boardBtns .collapsibleBtns #appSettingsBtn.selected,html[data-mobile=true] .boardBtns .collapsibleBtns #tapeRecBtn.selected,html[data-mobile=true] .boardBtns .collapsibleBtns #roomsBtn.selected{background:var(--accent-primary);color:var(--bg-primary)}html[data-mobile=true] .boardBtns .collapsibleBtns .btnText{display:inline!important}html[data-mobile=true] .boardBtns .collapsibleBtns .btnIcon{display:none!important}html[data-mobile=true] .boardBtns .collapsibleBtns #tapeRecBtn .tapeRecGlyph{flex:0 0 auto;order:1;margin-left:auto}html[data-mobile=true] .boardBtns .collapsibleBtns #tapeRecBtn.is-recording{background:#ef44442e;color:#fecaca}html[data-mobile=true] .boardBtns .collapsibleBtns .mirrorContainer,html[data-mobile=true] .boardBtns .collapsibleBtns .devContainer{flex-direction:column;align-items:stretch;gap:2px;padding:0}html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection{display:flex;flex-direction:column;align-items:stretch;gap:2px}html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection #uploadBtn,html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection #saveBtn,html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection #roomsBtn,html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection #disconnectBtn{width:100%;min-width:0!important;padding:0 10px}html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection #uploadBtn .btnIcon,html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection #saveBtn .btnIcon,html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection #roomsBtn .btnIcon,html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection #disconnectBtn .btnIcon{display:none!important}html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection #uploadBtn .btnText,html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection #saveBtn .btnText,html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection #roomsBtn .btnText,html[data-mobile=true] .boardBtns .collapsibleBtns .topbarOverflowSection #disconnectBtn .btnText{display:inline!important}html[data-mobile=true] .boardBtns #chatBtn .btnText,html[data-mobile=true] .boardBtns #roomsBtn .btnText,html[data-mobile=true] .boardBtns #disconnectBtn .btnText{display:none}html[data-mobile=true] .boardBtns #chatBtn .btnIcon,html[data-mobile=true] .boardBtns #roomsBtn .btnIcon,html[data-mobile=true] .boardBtns #disconnectBtn .btnIcon{display:inline-flex!important;align-items:center;justify-content:center;margin-right:0}html[data-mobile=true] .boardBtns #chatBtn .btnIcon img,html[data-mobile=true] .boardBtns #roomsBtn .btnIcon img,html[data-mobile=true] .boardBtns #disconnectBtn .btnIcon img{width:18px;height:18px;object-fit:contain;filter:brightness(0) invert(.7);transition:filter var(--transition-fast)}html[data-mobile=true] .boardBtns #chatBtn .btnIcon svg,html[data-mobile=true] .boardBtns #roomsBtn .btnIcon svg,html[data-mobile=true] .boardBtns #disconnectBtn .btnIcon svg{display:block;width:18px;height:18px}html[data-mobile=true] .boardBtns #chatBtn,html[data-mobile=true] .boardBtns #roomsBtn,html[data-mobile=true] .boardBtns #disconnectBtn{width:28px;min-width:28px;padding:0}html[data-mobile=true] .boardBtns #chatBtn:hover .btnIcon img,html[data-mobile=true] .boardBtns #roomsBtn:hover .btnIcon img,html[data-mobile=true] .boardBtns #disconnectBtn:hover .btnIcon img{filter:brightness(0) invert(1)}html[data-mobile=true] .boardBtns #chatBtn .btnIcon img{width:24px;height:24px}html[data-mobile=true] .boardBtns .connectionText,html[data-mobile=true] .boardBtns .connectionRoomName{display:none}html[data-mobile=true] .boardBtns .btn{height:40px}html[data-mobile=true] .boardBtns .btn.menuBtn,html[data-mobile=true] .boardBtns #zoomResetBtn,html[data-mobile=true] .boardBtns #chatBtn,html[data-mobile=true] .boardBtns #roomsBtn,html[data-mobile=true] .boardBtns #disconnectBtn,html[data-mobile=true] .boardBtns #flipCanvasBtn.iconBtn{min-width:40px}html[data-mobile=true] .boardBtns #minusBtn,html[data-mobile=true] .boardBtns #plusBtn{display:none}html[data-mobile=true] .boardBtns .collapsibleBtns{--menu-row-height: 44px;min-width:240px;max-height:calc(100dvh - 60px);overflow-y:auto}html[data-mobile=true] .boardBtns .collapsibleBtns.tutorial-shrink{max-height:calc(100dvh - 230px)}html[data-mobile=true] .boardBtns .collapsibleBtns #roomsBtn .btnIcon{display:none!important}html[data-mobile=true] .boardBtns .collapsibleBtns .mobileMenuSection{display:flex;flex-direction:column;align-items:stretch;gap:2px}@media (pointer: coarse),(max-width: 900px){.boardBtns .btn{height:40px}.boardBtns .right .btn,.boardBtns .zoomGroup .btn,.boardBtns .btn.menuBtn,.boardBtns .zoomGroup .zoomPercent{min-width:40px!important}.boardBtns .collapsibleBtns{--menu-row-height: 40px}.connectionStatus{min-width:0;max-width:100%}}@media (max-width: 900px){.boardBtns #tapeRecBtn .tapeRecElapsed{display:none}}@media (max-width: 480px){.boardBtns{padding-left:4px;padding-right:4px;gap:2px}.boardBtns .right,.boardBtns .topbarScrollableActions,.boardBtns .zoomGroup{gap:2px}.boardBtns .connectionStatus{display:none!important}}@media (max-width: 360px){html[data-mobile=true] .boardBtns #flipCanvasBtn,html[data-mobile=true] .boardBtns .zoomBtns{display:none}html[data-mobile=true] .boardBtns #zoomResetBtn{min-width:36px!important;padding:0 4px}html[data-mobile=true] .boardBtns .btn.menuBtn,html[data-mobile=true] .boardBtns #chatBtn,html[data-mobile=true] .boardBtns #roomsBtn,html[data-mobile=true] .boardBtns #disconnectBtn{min-width:36px!important}}html[data-android-app=true] .boardBtns{padding-top:calc(2px + env(safe-area-inset-top,0px))}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}:root{--sidebar-width: 200px;--tools-width: 36px;--tool-btn-size: min(var(--tools-width), 40px)}#sideMenu{display:flex;flex-direction:row;height:100%;z-index:140;-webkit-user-select:none;user-select:none;flex-shrink:0;border-left:1px solid var(--border-subtle);background:var(--bg-secondary)}html[data-sidebar-side=left] #sideMenu{flex-direction:row-reverse;border-left:0;border-right:1px solid var(--border-subtle)}#toolOptions{--text-secondary: var(--text-primary);display:flex;flex-direction:column;width:var(--sidebar-width);min-width:0;background:var(--bg-elevated);border-left:1px solid var(--border-subtle);transition:width var(--transition-normal),opacity var(--transition-normal),transform var(--transition-normal);overflow:visible;position:relative;z-index:130;container-type:inline-size}#toolOptions.collapsed{width:0;opacity:0;border-left-width:0;pointer-events:none;transform:translate(20px);overflow:hidden}html[data-mobile=true] #toolOptions{position:fixed;top:0;bottom:0;right:var(--tools-width);width:min(320px,100vw - var(--tools-width) - 16px);border-left:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);z-index:135}html[data-mobile=true] #toolOptions.collapsed{width:min(320px,100vw - var(--tools-width) - 16px);border-left-width:1px;opacity:0;pointer-events:none;transform:translate(24px)}html[data-mobile=true][data-sidebar-side=left] #toolOptions{right:auto;left:var(--tools-width);border-left:0;border-right:1px solid var(--border-subtle)}html[data-mobile=true][data-sidebar-side=left] #toolOptions.collapsed{border-right-width:1px;transform:translate(-24px)}html[data-mobile=true].chat-open-mobile #sideMenu,html[data-mobile=true] #sidebarResizeHandle,html[data-mobile=true] .tools-resizer,html[data-mobile=true] .resize-handle{display:none}html[data-mobile=true] .tools{overflow-y:auto;overflow-x:visible}html[data-mobile=true]{--tool-btn-size: min(var(--tools-width), 44px)}html[data-mobile=true] .railUtilities{height:auto}html[data-mobile=true] .railChip{width:40px;height:40px;flex-shrink:0}html[data-mobile=true] .railChip svg{width:18px;height:18px}html[data-mobile=true] #pickerContainer{transform:none}html[data-mobile=true] #confettiBtn,html[data-mobile=true] #imageBrushBtn,html[data-mobile=true] #patternBtn,html[data-mobile=true] #glitchBlurBtn,html[data-mobile=true] #confettiModeOptions,html[data-mobile=true] #imageBrushModeOptions,html[data-mobile=true] #patternModeOptions{display:none!important}html[data-android-app=true] #sideMenu{padding-bottom:env(safe-area-inset-bottom,0px)}html[data-android-app=true]:not([data-sidebar-side=left]) #sideMenu{padding-right:env(safe-area-inset-right,0px)}html[data-android-app=true][data-sidebar-side=left] #sideMenu{padding-left:env(safe-area-inset-left,0px)}#sidebarTop>*{flex-shrink:0}#sidebarTop>#cursor-style-container,#sidebarTop>#right-click-action-container{margin:0 10px 10px}#sidebarTop{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;touch-action:auto}.sbSection{display:flex;flex-direction:column;flex:0 0 auto;min-height:0;position:relative;border-top:1px solid var(--border-subtle)}.sbSection:first-child{border-top:0}#sbPeople{flex:0 1 auto;max-height:30%;background:var(--bg-secondary);z-index:132}#sbPeople #userList{flex:1 1 auto;min-height:0;border-bottom:0}#sbColour{background:var(--bg-secondary);z-index:131}#sbPalettes{background:var(--bg-secondary);z-index:130}#sbTool{flex:0 1 auto;min-height:140px}#sbLayers{flex:0 0 auto;min-height:0;position:relative}#sbLayers>.sbHeaderTools{position:absolute;top:0;right:6px;height:24px;display:flex;align-items:center}#sbLayers>.sbSectionHeader{pointer-events:none;cursor:default}#sbLayers>.sbSectionHeader .sbCaret,#sbLayers>.sbSectionHeader .sbSummary{display:none}#sbTool .scroll-indicator{left:0;bottom:0;width:100%;height:18px;transform:none;border:0;border-radius:0;box-shadow:none;animation:none;background:linear-gradient(to bottom,transparent,var(--bg-elevated))}#sbTool .scroll-indicator:before,#sbTool .scroll-indicator:after{display:none}.sbSection.sbCollapsed{flex:0 0 auto!important;min-height:0!important}.sbSectionHeader{display:flex;align-items:center;gap:5px;width:100%;flex:0 0 auto;padding:4px 8px 2px;background:transparent;border:0;color:var(--text-muted);font:inherit;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:left;cursor:pointer}.sbSectionHeader:hover{color:var(--text-primary)}.sbSectionHeader:focus-visible{outline:1px solid var(--accent-primary);outline-offset:-1px}.sbCaret{flex:0 0 auto;width:10px;height:10px;position:relative}.sbCaret:before{content:"";position:absolute;left:2px;top:1px;width:4px;height:4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--transition-fast)}.sbCollapsed>.sbSectionHeader .sbCaret:before{transform:rotate(-45deg)}.sbSectionBody{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;position:relative}.sbCollapsed>.sbSectionBody{display:none}#sbTool>.sbSectionBody>#sidebarTop{flex:1 1 auto}#sbColour #pickerContainer{border-top:0;margin:0 auto;transform-origin:top center}#sbColour .colorSlotControls,#sbColour .colorPickerHexField{top:4px}#sbColour .colorInputMenu{bottom:auto;top:0;left:0;right:auto}.sbLayersMount{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.sbSummary,.sbSplit,#sbColour .sbBlendSlot{display:none}#toolOptions.sbSplitOn>.sbSplit.sbSplitVisible{display:flex}#toolOptions.sbSplitOn{overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}#toolOptions.sbSplitOn .sbSection,#toolOptions.sbSplitOn #sbTool{min-height:var(--sb-min, 0px)!important}#toolOptions.sbSplitOn #sbPeople,#toolOptions.sbSplitOn #sbColour,#toolOptions.sbSplitOn #sbPalettes,#toolOptions.sbSplitOn #sbPresets,#toolOptions.sbSplitOn #sbTool{flex-shrink:1}#toolOptions.sbSplitOn #sbPeople>.sbSectionBody,#toolOptions.sbSplitOn #sbColour>.sbSectionBody,#toolOptions.sbSplitOn #sbPalettes>.sbSectionBody,#toolOptions.sbSplitOn #sbPresets>.sbSectionBody,#toolOptions.sbSplitOn #sbTool>.sbSectionBody{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}#toolOptions.sbSplitOn #sbLayers{flex:0 0 auto;min-height:0!important;max-height:none}#toolOptions.sbSplitOn #sbLayers>.sbSectionBody{flex:0 0 auto;overflow:visible}#toolOptions.sbSplitOn .sbSection.sbSized{max-height:none}#toolOptions.sbSplitOn .sbSection.sbSized>.sbSectionBody{max-height:none}#toolOptions.sbScroll{overflow-x:hidden;overflow-y:auto;overscroll-behavior:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.sbSplit{flex:0 0 auto;height:8px;align-items:center;justify-content:center;background:var(--bg-secondary);cursor:row-resize;touch-action:none}.sbSplit:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.sbSplitGrip{width:28px;height:3px;border-radius:2px;background:color-mix(in srgb,var(--text-muted) 50%,transparent);transition:background var(--transition-fast);pointer-events:none}#sbTool #sidebarTop,#sbTool #toolSliders,#sbTool #toolExtras{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}#sbTool #sidebarTop{overflow-y:auto;overscroll-behavior:auto}#sbTool .scroll-indicator{display:none}#sbTool.sbMore>.sbSectionBody:after{content:"";position:absolute;left:0;right:8px;bottom:0;height:22px;background:linear-gradient(to bottom,transparent,var(--bg-secondary));pointer-events:none;z-index:2}.sbSplit:hover .sbSplitGrip,.sbSplit:focus-visible .sbSplitGrip,.sbSplit.dragging .sbSplitGrip{background:var(--accent-primary)}@media (min-width: 701px){html:not([data-mobile=true]) .sbSectionHeader{gap:6px;padding:6px 8px 3px;color:var(--text-secondary);font-size:12px;letter-spacing:normal;text-transform:none}html:not([data-mobile=true]) .sbLabel{flex:0 0 auto}html:not([data-mobile=true]) .sbCaret{width:16px;height:16px;margin:-2px 0 -2px -2px;transition:transform var(--transition-fast)}html:not([data-mobile=true]) .sbCaret:before{box-sizing:border-box;left:4px;top:3px;width:8px;height:8px;border-width:0 2px 2px 0;transform:rotate(45deg);transition:none}html:not([data-mobile=true]) .sbCollapsed>.sbSectionHeader .sbCaret{transform:rotate(-90deg)}html:not([data-mobile=true]) .sbCollapsed>.sbSectionHeader .sbCaret:before{transform:rotate(45deg)}html:not([data-mobile=true]) .sbCollapsed>.sbSectionHeader .sbSummary{display:flex;align-items:center;flex:1 1 auto;min-width:0;color:var(--text-muted);font-weight:400}html:not([data-mobile=true]) .sbSummaryText{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html:not([data-mobile=true]) .sbSwatch{width:14px;height:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}html:not([data-mobile=true]) #sbColour .sbBlendSlot:has(.blend-wrap){display:flex;align-items:center;gap:8px;padding:4px 10px 8px}html:not([data-mobile=true]) .sbBlendLabel{flex:0 0 auto;color:var(--text-secondary);font-size:12px}html:not([data-mobile=true]) #sbColour .blend-wrap{flex:1 1 auto;min-width:0}html:not([data-mobile=true]) #sbColour .blend-btn{width:100%;height:26px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}html:not([data-mobile=true]) #sbColour .blend-btn:not(.open){background:var(--bg-tertiary);color:var(--text-primary)}html:not([data-mobile=true]) #sbPeople .userEntry{gap:6px;min-height:24px;padding:2px 8px}html:not([data-mobile=true]) #sbPeople .listUser:not([class*=rank-]):not(.muted){color:var(--text-primary)}}@media (prefers-reduced-motion: reduce){.sbCaret,.sbCaret:before,.sbSplitGrip{transition:none!important}}@media (max-width: 700px){#sbLayers{display:none}}html[data-mobile=true] #sbLayers{display:none}#sidebarResizeHandle{width:6px;margin-left:-3px;margin-right:-3px;cursor:col-resize;background:transparent;transition:background var(--transition-fast);z-index:120;flex-shrink:0;position:relative}#sidebarResizeHandle:hover,#sidebarResizeHandle.dragging{background:var(--accent-primary)}.resizing *{transition:none!important}.tools-resizer{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;background:transparent;transition:background var(--transition-fast);z-index:10}.tools-resizer:hover,.tools-resizer.dragging{background:var(--accent-primary)}html[data-sidebar-side=left] #sidebarResizeHandle{order:-1}html[data-sidebar-side=left] .tools-resizer{right:auto;left:-2px}html[data-sidebar-side=left] #toolOptions{border-left:0;border-right:1px solid var(--border-subtle)}html[data-sidebar-side=left] #toolOptions.collapsed{border-right-width:0;transform:translate(-20px)}@media (pointer: coarse){#sidebarResizeHandle,.tools-resizer{display:none}html{overflow-x:clip}}.tools{display:flex;flex-direction:column;gap:4px;padding:2px 0 0;background:var(--bg-secondary);width:var(--tools-width);flex-shrink:0;position:relative;z-index:1;align-items:center}#pickerContainer{width:100%;max-width:240px;margin:auto auto 0;transform-origin:bottom center;position:relative;z-index:132}@media (max-height: 750px){#pickerContainer{transform:scale(.9)}}@media (max-height: 650px){#pickerContainer{transform:scale(.8)}.paletteSection{margin-bottom:8px}}@media (max-height: 550px){#pickerContainer{transform:scale(.75)}.paletteSection,.paletteSection label{margin-bottom:4px}}#toolOptions.collapsed,#toolOptions.collapsed *,#toolOptions.collapsed *:before,#toolOptions.collapsed *:after{pointer-events:none!important}@media (max-height: 560px){#toolOptions:not(.collapsed){overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}#toolOptions #sidebarTop{flex:0 0 auto;height:auto!important;min-height:0;overflow:visible}#toolOptions #toolSliders,#toolOptions #toolExtras{height:auto!important;max-height:none!important;overflow:visible}#toolOptions .resize-handle{display:none}#sbTool{flex:0 0 auto;min-height:0}#sbLayers{display:none}}.railUtilities{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;padding-block:2px;flex-shrink:0}.railUtilitiesRule{width:calc(100% - 8px);height:1px;margin:2px 0 5px;background:var(--border-subtle);flex-shrink:0}.railChip{width:100%;height:30px;flex-shrink:0;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.railChip svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.railChip:hover{background:var(--bg-tertiary);color:var(--text-primary)}.railChip[hidden]{display:none}.railChip:focus-visible,#blurGroup .tool.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px;background:var(--bg-tertiary)}@media (pointer: coarse),(max-width: 768px){.railUtilities{position:relative;z-index:3;flex-direction:column;gap:0;height:auto}.railChip{width:100%;height:40px}.layerVisibility{width:36px;height:36px}.layerButton,.radio-option{min-height:40px}}.sidebarToggleBtn .panelIconFill{fill:currentColor;stroke:none}.sidebarToggleBtn.active{color:var(--accent-primary)}.sidebarToggleBtn.active .panelIconFill{display:none}.sidebarToggleBtn.active .panelIconArrow{transform:scaleX(-1);transform-origin:8.5px 12px}html[data-sidebar-side=left] .sidebarToggleBtn .panelIcon{transform:scaleX(-1)}.sidebarToggleBtn.toggle-btn-appear{animation:sidebarToggleAppear .6s ease-out}@keyframes sidebarToggleAppear{0%{transform:scale(.7);color:var(--accent-primary);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent-primary) 30%,transparent)}60%{transform:scale(1.12);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 18%,transparent)}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion: reduce){.sidebarToggleBtn.toggle-btn-appear{animation:none}}.fullscreenBtn.is-fullscreen{color:var(--accent-primary)}.fullscreenBtn .fullscreenExit,.fullscreenBtn.is-fullscreen .fullscreenEnter{display:none}.fullscreenBtn.is-fullscreen .fullscreenExit{display:block}.tool.btn{width:var(--tool-btn-size);height:var(--tool-btn-size);flex-shrink:0;padding:1px 0;margin-inline:0;border-radius:var(--radius-md);position:relative}.toolGroup{display:flex;flex-direction:column;align-items:center;flex-shrink:0;gap:4px;position:relative;width:100%}.toolSubgroup{display:flex;flex-direction:column;gap:4px;width:100%;align-items:center}.tools.force-move-collapse #moveGroup .toolSubgroup{position:absolute;right:100%;top:-5px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:4px 12px 4px 4px;width:auto;display:none;box-shadow:var(--shadow-md);z-index:120;flex-direction:row}.tools.force-move-collapse #moveGroup.is-open .toolSubgroup{display:flex}.tools.force-move-collapse #moveGroup:focus-within .toolSubgroup{display:flex}@media (hover: hover) and (pointer: fine){.tools.force-move-collapse #moveGroup:hover .toolSubgroup{display:flex}}.tools.force-move-collapse #moveGroup.is-suppressed .toolSubgroup{display:none}.tools.force-move-collapse #moveGroup>.tool.btn:after{content:"";position:absolute;right:2px;bottom:2px;width:0;height:0;border-left:5px solid transparent;border-bottom:5px solid var(--accent-primary);opacity:.85;pointer-events:none}.tools.force-move-collapse #moveGroup>.tool.btn.selected:after{border-bottom-color:var(--bg-primary);opacity:.7}html[data-sidebar-side=left] .tools.force-move-collapse #moveGroup .toolSubgroup{right:auto;left:100%;padding-right:4px;padding-left:12px}.tools.force-blur-collapse #blurGroup .toolSubgroup{position:absolute;right:100%;top:-5px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:4px 12px 4px 4px;width:auto;display:none;box-shadow:var(--shadow-md);z-index:120;flex-direction:row}.tools.force-blur-collapse #blurGroup.is-open .toolSubgroup{display:flex}.tools.force-blur-collapse #blurGroup:focus-within .toolSubgroup{display:flex}@media (hover: hover) and (pointer: fine){.tools.force-blur-collapse #blurGroup:hover .toolSubgroup{display:flex}}.tools.force-blur-collapse #blurGroup.is-suppressed .toolSubgroup{display:none}.tools.force-blur-collapse #blurGroup>.tool.btn:after{content:"";position:absolute;right:2px;bottom:2px;width:0;height:0;border-left:5px solid transparent;border-bottom:5px solid var(--accent-primary);opacity:.85;pointer-events:none}.tools.force-blur-collapse #blurGroup>.tool.btn.selected:after{border-bottom-color:var(--bg-primary);opacity:.7}html[data-sidebar-side=left] .tools.force-blur-collapse #blurGroup .toolSubgroup{right:auto;left:100%;padding-right:4px;padding-left:12px}#shapesGroup .toolSubgroup{position:absolute;right:100%;top:-5px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:4px 12px 4px 4px;width:auto;display:none;box-shadow:var(--shadow-md);z-index:120;flex-direction:row}#shapesGroup.is-open .toolSubgroup{display:flex}#shapesGroup:focus-within .toolSubgroup{display:flex}@media (hover: hover) and (pointer: fine){#shapesGroup:hover .toolSubgroup{display:flex}}#shapesGroup.is-suppressed .toolSubgroup{display:none}#shapesGroup>.tool.btn:after{content:"";position:absolute;right:2px;bottom:2px;width:0;height:0;border-left:5px solid transparent;border-bottom:5px solid var(--accent-primary);opacity:.85;pointer-events:none}#shapesGroup>.tool.btn.selected:after{border-bottom-color:var(--bg-primary);opacity:.7}html[data-sidebar-side=left] #shapesGroup .toolSubgroup{right:auto;left:100%;padding-right:4px;padding-left:12px}.tools.force-compact{--tool-btn-size: min(var(--tools-width), 32px);gap:2px}.tools.force-compact .railUtilitiesRule{margin:1px 0 3px}.tools.force-compact-2{--tool-btn-size: min(var(--tools-width), 24px);gap:1px}.tools.is-scrollable{overflow-y:auto;overscroll-behavior:contain;padding-bottom:2px;scrollbar-width:none}.tools.is-scrollable::-webkit-scrollbar{display:none}.tools.is-scrollable:after{content:"";flex:0 0 18px;width:100%;position:sticky;bottom:0;margin-top:-2px;background:linear-gradient(to bottom,transparent,var(--bg-secondary));pointer-events:none}html[data-mobile=true] #moveGroup .toolSubgroup,html[data-mobile=true] #blurGroup .toolSubgroup{position:absolute;right:100%;top:-5px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:4px 12px 4px 4px;width:auto;display:none;box-shadow:var(--shadow-md);z-index:120;flex-direction:row}html[data-mobile=true] #moveGroup.is-open .toolSubgroup,html[data-mobile=true] #blurGroup.is-open .toolSubgroup{display:flex}html[data-mobile=true] #moveGroup:focus-within .toolSubgroup,html[data-mobile=true] #blurGroup:focus-within .toolSubgroup{display:flex}@media (hover: hover) and (pointer: fine){html[data-mobile=true] #moveGroup:hover .toolSubgroup,html[data-mobile=true] #blurGroup:hover .toolSubgroup{display:flex}}html[data-mobile=true] #moveGroup.is-suppressed .toolSubgroup,html[data-mobile=true] #blurGroup.is-suppressed .toolSubgroup{display:none}html[data-mobile=true] #moveGroup>.tool.btn:after,html[data-mobile=true] #blurGroup>.tool.btn:after{content:"";position:absolute;right:2px;bottom:2px;width:0;height:0;border-left:5px solid transparent;border-bottom:5px solid var(--accent-primary);opacity:.85;pointer-events:none}html[data-mobile=true] #moveGroup>.tool.btn.selected:after,html[data-mobile=true] #blurGroup>.tool.btn.selected:after{border-bottom-color:var(--bg-primary);opacity:.7}html[data-mobile=true][data-sidebar-side=left] #moveGroup .toolSubgroup,html[data-mobile=true][data-sidebar-side=left] #blurGroup .toolSubgroup{right:auto;left:100%;padding-right:4px;padding-left:12px}.tool.btn.tool-disabled{opacity:.3;pointer-events:none}.tool.btn img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(.7);transition:filter var(--transition-fast)}.tool.btn:hover img,.tool.btn.selected img{filter:brightness(0) invert(1)}.tool.btn.selected img{filter:brightness(0) saturate(100%) invert(0) sepia(52%) saturate(1000%) hue-rotate(115deg) brightness(95%) contrast(101%)}#patternBtn img{width:85%;height:85%}#imageBrushBtn img{filter:none;opacity:.7}#imageBrushBtn:hover img,#imageBrushBtn.selected img{opacity:1}.selection-mode-container{display:flex;flex-direction:column;align-items:center;padding:8px 16px}.modeLabel{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.radio-group{display:flex;flex-wrap:nowrap;gap:8px;width:100%}#selectionModeOptions .dd-mount{width:100%}.pattern-control-row{display:grid;grid-template-columns:minmax(0,68px) minmax(0,1fr);align-items:center;gap:8px;width:100%;margin-top:8px}.pattern-control-row label{display:flex;align-items:center;justify-content:space-between;gap:4px;color:var(--text-secondary);font-size:11px;font-weight:600;min-width:0}.pattern-control-row select{width:100%;min-width:0;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:4px;padding:5px 7px;font:inherit}.pattern-control-row .sliderValue{color:var(--text-primary);font-variant-numeric:tabular-nums}.radio-option{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:8px 6px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer;transition:all .15s}.radio-option:hover{border-color:var(--accent-primary)}.radio-option input[type=radio],.radio-option input[type=checkbox]{display:none}.radio-option:has(input:checked){border-color:var(--accent-primary);background:var(--bg-elevated)}.radio-option:has(input:checked) span{color:var(--accent-primary);font-weight:600}.radio-option span{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pattern-colour-mode{padding-left:10px;padding-right:10px}.selection-mode-container>.radio-group.pattern-colour-mode-group,.radio-group.pattern-colour-mode-group{width:auto;gap:6px;margin-bottom:6px;display:flex;flex-direction:row;flex-wrap:wrap}.radio-group.pattern-colour-mode-group>.radio-option{flex:1 1 calc(50% - 3px);min-width:0;padding:6px 10px;white-space:nowrap}.radio-group.pattern-colour-mode-group{flex-direction:column}.radio-group.pattern-colour-mode-group>.radio-option{flex:1 1 auto;width:100%}#fillModeOptions .radio-group:not(.pattern-colour-mode-group){flex-direction:column}.selection-mode-container>.sliderContainer,#fillAdvancedSettings{width:100%}#shapeModeOptions .radio-group{flex-direction:column}#shapeModeOptions .radio-option{flex:1 1 auto;width:100%}@container (max-width: 180px){.radio-group{flex-direction:column}.radio-group>.radio-option{flex:1 1 auto;width:100%}}.blendModeSelect{width:100%;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-size:12px;cursor:pointer;outline:none;transition:all .15s;-webkit-user-select:none;user-select:none;touch-action:manipulation}.blendModeSelect:hover{border-color:var(--accent-primary)}.blendModeSelect:focus{border-color:var(--accent-primary);background:var(--bg-elevated)}#font-container .fontSelectWrap,#brush-engine-container .fontSelectWrap,#cursor-style-container .fontSelectWrap,#right-click-action-container .fontSelectWrap{margin-top:7px}#layerPanel{padding:10px 16px;margin-bottom:12px}#layerPanel>label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}#layerList{display:flex;flex-direction:column;gap:4px}.layerEntry{display:flex;align-items:center;gap:6px}.layerVisibility{width:24px;height:24px;padding:0;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s;touch-action:manipulation}.layerVisibility:hover{border-color:var(--accent-primary)}.layerVisibility.is-hidden{opacity:.4}.layerButton{flex:1;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);font-size:12px;text-align:left;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;touch-action:manipulation}.layerButton:hover{border-color:var(--accent-primary)}.layerButton.active{border-color:var(--accent-primary);background:var(--bg-elevated);color:var(--accent-primary);font-weight:600}#userList,#sidebarTop{cursor:grab}#userList.drag-scrolling,#sidebarTop.drag-scrolling{cursor:grabbing;-webkit-user-select:none;user-select:none}#toolSliders,#toolExtras{padding:5px 10px 10px;flex:0 0 auto;overflow:visible;position:relative}#toolExtras .selection-mode-container{padding-inline:0}#stamp-rotation-mode-container .radio-group{flex-direction:column}#toolSliders .sliders.text-tool-order{display:flex;flex-direction:column}#toolSliders .sliders.text-tool-order>*{order:6}#toolSliders .sliders.text-tool-order #size-container{order:1}#toolSliders .sliders.text-tool-order #brush-opacity{order:2}#toolSliders .sliders.text-tool-order #font-container{order:3}#toolSliders .sliders.text-tool-order #text-render-mode-container{order:4}.resize-handle{height:6px;background:var(--bg-secondary);cursor:ns-resize;position:relative;flex-shrink:0;transition:background var(--transition-fast);display:flex;align-items:center;justify-content:center}.resize-handle:hover{background:var(--accent-primary)}.resize-handle:hover .resize-handle-line{background:var(--bg-primary)}.resize-handle:active{background:var(--accent-primary)}.resize-handle-line{width:40px;height:2px;background:var(--border-subtle);border-radius:1px;transition:background var(--transition-fast);pointer-events:none}#patternModeOptions .sliderContainer#pattern-scale{margin-top:8px}#patternModeOptions .dual-offset-container .sliderLabel{text-align:center;justify-content:center;margin-bottom:8px}#patternModeOptions .dual-offset-container .dual-offset-sliders{display:flex;gap:12px;align-items:center;justify-content:center}#patternModeOptions .dual-offset-container .offset-slider-group{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0}#patternModeOptions .dual-offset-container .offset-label{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}#patternModeOptions .dual-offset-container .slider{width:100%;max-width:80px}#patternModeOptions .dual-offset-container .offset-value{font-size:10px;min-width:28px;padding:1px 4px}.tool-toggle-container{display:flex;flex-direction:column;align-items:flex-start;padding:8px 16px}.tool-toggle{display:flex;flex-direction:row;align-items:center;gap:6px;max-width:100%;cursor:pointer;-webkit-user-select:none;user-select:none}.tool-toggle-track{position:relative;flex:none;width:34px;height:20px;border-radius:10px;background:var(--bg-primary);border:1px solid color-mix(in srgb,var(--text-primary) 24%,transparent);box-shadow:inset 0 1px 2px #00000059;transition:background var(--transition-fast),border-color var(--transition-fast)}.tool-toggle-track:hover{border-color:color-mix(in srgb,var(--text-primary) 42%,transparent)}.tool-toggle-track:has(input:checked){background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:none}.tool-toggle-track:has(input:focus-visible){box-shadow:0 0 0 2px var(--accent-glow)}.tool-toggle-track input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;cursor:pointer}.tool-toggle-thumb{position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--text-primary) 55%,var(--bg-primary));box-shadow:0 1px 2px #0006;transition:transform var(--transition-fast),background var(--transition-fast)}.tool-toggle-track:has(input:checked) .tool-toggle-thumb{transform:translate(14px);background:var(--text-on-accent, #fff)}.tool-toggle-label{font-size:12px;font-weight:600;color:var(--text-primary);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sliderContainer>.tool-toggle{align-items:center;justify-content:flex-start;gap:6px;font-size:inherit;letter-spacing:normal;text-transform:none}.tool-toggle-labelRow{display:inline-flex;align-items:center;gap:5px;min-width:0}#toolExtras .tool-toggle-container{padding-inline:0}@container (max-width: 180px){.tool-toggle,.tool-toggle-labelRow{gap:4px}.tool-toggle-label{font-size:11px}}.hintBtn{flex:none;width:18px;height:18px;padding:2px 0 0;border:0;border-radius:999px;background:var(--accent-primary);color:var(--bg-primary);font-size:12px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:help;opacity:.85;transition:opacity var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.hintBtn:hover,.hintBtn:focus-visible,.hintBtn[aria-expanded=true]{background:var(--accent-hover);opacity:1;box-shadow:0 0 0 2px var(--accent-glow)}.tool-toggle-hint{position:fixed;inset:auto;margin:0;z-index:1200;display:none;overflow:visible;width:max-content;max-width:240px;padding:8px 10px;border:1px solid var(--border-subtle);border-left:2px solid var(--accent-primary);border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--shadow-lg);color:var(--text-primary);font-size:11px;font-weight:400;line-height:1.45;letter-spacing:normal;text-transform:none}.tool-toggle-hint.is-open{display:block}#patternGallery{padding-top:16px;border-top:1px solid var(--border-subtle)}#patternGallery label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}#patternBrushList{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}#fillPatternGallery{padding-top:16px;border-top:1px solid var(--border-subtle)}#fillPatternGallery label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}#fillPatternBrushList{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}#fillPatternSettings .sliderContainer#fill-pattern-scale{margin-top:8px}#fillPatternSettings .dual-offset-container .sliderLabel{text-align:center;justify-content:center;margin-bottom:8px}#fillPatternSettings .dual-offset-container .dual-offset-sliders{display:flex;gap:12px;align-items:center;justify-content:center}#fillPatternSettings .dual-offset-container .offset-slider-group{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0}#fillPatternSettings .dual-offset-container .offset-label{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}#fillPatternSettings .dual-offset-container .slider{width:100%;max-width:80px}#fillPatternSettings .dual-offset-container .offset-value{font-size:10px;min-width:28px;padding:1px 4px}#selectionPatternSettings .sliderContainer#selection-pattern-scale{margin-top:8px}#selectionPatternSettings .dual-offset-container .sliderLabel{text-align:center;justify-content:center;margin-bottom:8px}#selectionPatternSettings .dual-offset-container .dual-offset-sliders{display:flex;gap:12px;align-items:center;justify-content:center}#selectionPatternSettings .dual-offset-container .offset-slider-group{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0}#selectionPatternSettings .dual-offset-container .offset-label{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}#selectionPatternSettings .dual-offset-container .slider{width:100%;max-width:80px}#selectionPatternSettings .dual-offset-container .offset-value{font-size:10px;min-width:28px;padding:1px 4px}#selectionPatternGallery{padding-top:16px;border-top:1px solid var(--border-subtle)}#selectionPatternGallery label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}#selectionPatternBrushList{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}[data-advanced]:not(.inMore):not(.toolAdvancedInline){display:none!important}.toolMoreRow{display:flex;justify-content:center;margin-bottom:8px}.toolMoreBtn{position:relative;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font:inherit;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;cursor:pointer}.toolMoreBtn:hover,.toolMoreBtn[aria-expanded=true]{border-color:var(--accent-primary)}.toolMoreBtn:focus-visible{outline:1px solid var(--accent-primary);outline-offset:1px}.toolMoreDot{width:6px;height:6px;border-radius:999px;background:var(--accent-primary)}.toolMoreDot[hidden]{display:none}.toolMorePopover{--text-secondary: var(--text-primary);position:fixed;z-index:10000;box-sizing:border-box;padding:10px;overflow-x:hidden;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.toolMorePopover[hidden]{display:none}.toolMoreBody{display:flex;flex-direction:column}.toolMoreBody>*{flex:0 0 auto;box-sizing:border-box;width:100%;min-width:0}.toolMoreBody .dual-offset-sliders{display:flex;gap:12px}.toolMoreBody .offset-slider-group{flex:1;min-width:0}.toolMoreBody .sliderContainer:not(.no-track)>.sliderLabel{margin-bottom:6px}.toolMoreBody .sliderContainer:has(>.slider,>#thinningSlider,>.dual-slider)>.sliderLabel{margin-bottom:0}.toolMoreBody>.selection-mode-container,.toolMoreBody>[id$=ModeOptions]{margin-bottom:8px}#sbPresets{flex:0 0 auto;background:var(--bg-secondary);z-index:129}#sbPresets>.sbSectionBody{flex:0 0 auto;max-height:clamp(120px,18vh,240px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}#userList{display:flex;flex-direction:column;gap:0px;padding:1px 2.5px 2.5px;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);overflow-y:auto}.userEntry{display:flex;align-items:center;gap:2px;padding:1px 5px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:13px;transition:background-color .4s ease,box-shadow .4s ease}.userEntry.muted{border:1px dashed rgba(239,68,68,.45);background:#7f1d1d2e}.userEntry.shadow-banned{outline:2px solid rgba(239,68,68,.85);outline-offset:-1px}.userEntry.recently-active{background:color-mix(in srgb,var(--accent-primary, #4ade80),var(--bg-tertiary) 82%);box-shadow:inset 2px 0 color-mix(in srgb,var(--accent-primary, #4ade80),transparent 25%)}.userEntry.recently-active :where(.listUser){color:rgba(var(--on-bg-rgb, 255, 255, 255),.85)}.userGroup.recently-active>.groupHeader{background:color-mix(in srgb,var(--accent-primary, #4ade80),var(--bg-tertiary) 82%);box-shadow:inset 2px 0 color-mix(in srgb,var(--accent-primary, #4ade80),transparent 25%)}.userGroup.recently-active>.groupHeader :where(.listUser){color:rgba(var(--on-bg-rgb, 255, 255, 255),.85)}.listColorTool{position:relative;width:22px;height:22px;flex-shrink:0}.listTool{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:5px;pointer-events:none}.listTool img,.toolIcon{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 0 1px rgba(0,0,0,.9)) drop-shadow(0 0 2px rgba(0,0,0,.7))}.listColorTool .listTool img,.listColorTool .listTool .toolIcon{filter:brightness(0)}.listColorTool[data-tool-ink=light] .listTool img,.listColorTool[data-tool-ink=light] .listTool .toolIcon{filter:brightness(0) invert(1)}.toolIcon{display:flex;align-items:center;justify-content:center;overflow:hidden}.toolIcon svg{width:100%;height:100%;display:block}.listColor{width:100%;height:100%;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:block}.userBadges{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;line-height:0}.userBadge{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;flex:0 0 15px;color:currentColor}.userBadge svg,.userBadge img{width:100%;height:100%;display:block}.userBadge img{object-fit:contain}.listUser{flex:1;color:rgba(var(--on-bg-rgb, 255, 255, 255),.45);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listUser.muted{color:#f87171e6;text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:#f87171bf}.listUser.self{color:rgba(var(--on-bg-rgb, 255, 255, 255),.45)}.selfAfkButton{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:28px;min-height:24px;padding:2px 4px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-weight:700;cursor:pointer}.selfAfkButton:hover:not(:disabled),.selfAfkButton[aria-pressed=true]{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-subtle)}.selfAfkButton:focus-visible{outline:2px solid var(--accent-primary)}.selfAfkButton:disabled{display:none}.selfAfkIcon{width:18px;height:18px;background:currentColor;mask:url(../images/zzz-icon.svg) center/contain no-repeat}.theme-light .listUser{color:rgba(var(--on-bg-rgb),.75)}.listUser.rank-guest{color:var(--role-guest)}.listUser.rank-user{color:var(--role-user)}.listUser.rank-trusted{color:var(--role-trusted)}.listUser.rank-helper{color:var(--role-helper)}.listUser.rank-mod{color:var(--role-mod)}.listUser.rank-admin{color:var(--role-admin)}.listUser.rank-owner{color:var(--role-owner)}.listUser.rank-noble{color:var(--role-noble);text-shadow:0 0 6px color-mix(in srgb,var(--role-noble),transparent 65%)}.listUser.rank-holy{color:var(--role-holy);text-shadow:0 0 6px color-mix(in srgb,var(--role-holy),transparent 60%)}.listUser.rank-deity{color:var(--role-deity);text-shadow:0 0 8px color-mix(in srgb,var(--role-deity),transparent 40%)}.userEntry.rank-noble{border:1px solid color-mix(in srgb,var(--role-noble),transparent 75%);box-shadow:0 0 6px color-mix(in srgb,var(--role-noble),transparent 85%),inset 0 0 6px color-mix(in srgb,var(--role-noble),transparent 94%)}.userEntry.rank-holy{border:1px solid color-mix(in srgb,var(--role-holy),transparent 70%);box-shadow:0 0 8px color-mix(in srgb,var(--role-holy),transparent 80%),inset 0 0 6px color-mix(in srgb,var(--role-holy),transparent 94%)}.userEntry.rank-deity{border:1px solid color-mix(in srgb,var(--role-deity),transparent 65%);box-shadow:0 0 10px color-mix(in srgb,var(--role-deity),transparent 75%),inset 0 0 8px color-mix(in srgb,var(--role-deity),transparent 92%)}.listSync{visibility:hidden;transition:opacity var(--transition-fast)}.userEntry:hover .listSync{visibility:visible;opacity:.6}.listSync:hover{opacity:1!important}.userGroup{position:relative;border-radius:var(--radius-sm);border:1.5px solid rgba(255,255,255,.18);margin-bottom:8px;background:var(--bg-secondary);transition:transform .2s ease,margin-bottom .3s ease;overflow:visible}.userGroup:before{content:"";position:absolute;z-index:-1;top:4px;left:4px;right:-4px;bottom:-4px;border:1.5px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);background:var(--bg-tertiary);pointer-events:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.userGroup:after{content:"";position:absolute;z-index:-2;top:8px;left:8px;right:-8px;bottom:-8px;border:1.5px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);background:var(--bg-secondary);pointer-events:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.userGroup.expanded{margin-bottom:12px}.userGroup.expanded:before{transform:translate(2px,2px);opacity:.5}.userGroup.expanded:after{transform:translate(4px,4px);opacity:.2}.userGroup .groupHeader{cursor:pointer;border-radius:var(--radius-sm);position:relative;z-index:2;background:inherit}.userGroup .groupHeader:hover{background:var(--bg-elevated)}.groupCountBadge{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:9px;font-weight:500;color:#fff6;background:#ffffff12}.groupUsers{overflow:hidden;max-height:0;opacity:0;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;border-top:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:1px;padding:0;background:#00000026;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.groupUsers .userEntry{background:transparent;padding:6px 10px 6px 16px;border-radius:0;font-size:12px;opacity:.8}.groupUsers .userEntry:hover{background:#ffffff0a;opacity:1}.userGroup.expanded .groupUsers{max-height:1000px;opacity:1;padding:2px 0}.group-only{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;font-size:12px;font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation}.btn:focus,.btn:focus-visible{outline:none;box-shadow:none}.btn:hover{background:var(--bg-elevated);border-color:var(--accent-primary);color:var(--accent-primary)}.btn.selected{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary)}.btn.selected:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--bg-primary)}.sliderLabel .lock-btn,.pressureTargets .lock-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:0 2px;margin-left:auto;opacity:1;transition:opacity var(--transition-fast),transform var(--transition-fast);-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:inherit}.sliderLabel .lock-btn img,.sliderLabel .lock-btn svg,.pressureTargets .lock-btn img,.pressureTargets .lock-btn svg{width:14px;height:14px;filter:none;display:block}.sliderLabel .lock-btn:hover,.pressureTargets .lock-btn:hover{opacity:1;transform:scale(1.1)}.sliderLabel .lock-btn.locked,.pressureTargets .lock-btn.locked{opacity:1}.sliderLabel .lock-btn:active,.pressureTargets .lock-btn:active{transform:scale(.95)}@media (pointer: coarse),(max-width: 768px){.sliderLabel .lock-btn,.pressureTargets .lock-btn{position:relative}.sliderLabel .lock-btn:before,.pressureTargets .lock-btn:before{content:"";position:absolute;top:-12px;right:-10px;bottom:-12px;left:-10px}}.dd-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;box-sizing:border-box;max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;font-weight:600;text-align:left;cursor:pointer;outline:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.dd-trigger.full{width:100%}.dd-trigger:disabled{opacity:.45;cursor:not-allowed}.dd-trigger.uppercase{text-transform:uppercase;letter-spacing:.05em;font-weight:500}.dd-trigger.placeholder{color:var(--text-muted)}.dd-trigger:focus-visible{box-shadow:0 0 0 2px var(--accent-glow)}.dd-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--dd-preview-family, inherit);font-size:var(--dd-preview-size, inherit)}.dd-chevron{flex:none;width:10px;height:6px;opacity:.75;transition:transform var(--transition-fast),opacity var(--transition-fast)}.dd-trigger.open .dd-chevron{transform:rotate(180deg);opacity:1}.dd-trigger.s-sm{height:28px;padding:0 8px 0 10px;border-radius:var(--radius-sm);font-size:var(--text-xs)}.dd-trigger.s-md{height:34px;padding:0 10px 0 12px;border-radius:var(--radius-sm);font-size:var(--text-sm)}.dd-trigger.v-flat{border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-secondary);box-shadow:inset 0 -1px #0000002e}.dd-trigger.v-flat:hover:not(:disabled),.dd-trigger.v-flat.open{background:#ffffff1a;border-color:#fff3;color:var(--text-primary)}.dd-trigger.v-flat:active:not(:disabled){background:#ffffff26}.dd-trigger.v-panel{border:1px solid var(--border-subtle);background:var(--bg-tertiary);color:var(--text-primary)}.dd-trigger.v-panel:hover:not(:disabled),.dd-trigger.v-panel.open{background:var(--bg-elevated);border-color:var(--border-active)}.dd-trigger.v-accent{border:1px solid color-mix(in srgb,var(--accent-primary),transparent 72%);background:linear-gradient(135deg,color-mix(in srgb,var(--bg-secondary),var(--accent-primary) 10%),color-mix(in srgb,var(--bg-elevated),var(--accent-primary) 18%));color:var(--text-primary);box-shadow:inset 0 1px color-mix(in srgb,white,transparent 90%);letter-spacing:.02em}.dd-trigger.v-accent .dd-chevron{color:color-mix(in srgb,var(--accent-primary),white 18%);opacity:1}.dd-trigger.v-accent:hover:not(:disabled),.dd-trigger.v-accent.open{border-color:color-mix(in srgb,var(--accent-primary),transparent 38%);box-shadow:inset 0 1px color-mix(in srgb,white,transparent 86%),0 6px 16px color-mix(in srgb,var(--accent-primary),transparent 84%)}.dd-trigger.v-inset{border:1px solid rgba(0,0,0,.35);background:var(--bg-primary);color:var(--text-primary);box-shadow:inset 0 2px 4px #00000059,0 1px #ffffff0a}.dd-trigger.v-inset:hover:not(:disabled),.dd-trigger.v-inset.open{border-color:var(--border-active)}.dd-trigger.v-ghost{border:1px solid transparent;background:transparent;color:var(--text-secondary)}.dd-trigger.v-ghost:hover:not(:disabled),.dd-trigger.v-ghost.open{background:var(--bg-tertiary);border-color:var(--border-subtle);color:var(--text-primary)}.dd-menu{position:fixed;z-index:10090;display:flex;flex-direction:column;gap:1px;max-height:min(320px,60vh);padding:4px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-secondary) 94%,black);box-shadow:var(--shadow-lg);outline:none;animation:dd-in .12s ease}@keyframes dd-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.dd-option{display:flex;align-items:center;gap:8px;width:100%;height:28px;padding:0 8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:var(--text-xs);font-weight:500;text-align:left;white-space:nowrap;cursor:pointer;outline:none}.dd-menu.s-md .dd-option{height:32px;font-size:var(--text-sm)}.dd-option[data-active=true],.dd-option:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.dd-option.selected,.dd-option.active{color:var(--text-primary);font-weight:600}.dd-option:disabled,.dd-option.disabled{opacity:.4;cursor:not-allowed}.dd-option-label{flex:1;overflow:hidden;text-overflow:ellipsis}.dd-option-hint,.dd-option-state{color:var(--text-muted);font-size:var(--text-xs);font-weight:400}.dd-option.active .dd-option-state{color:var(--accent-primary)}.dd-check{flex:none;width:12px;height:12px;color:var(--accent-primary)}.dd-menu-separator{height:1px;margin:3px 2px;background:var(--border-subtle)}@media (prefers-reduced-motion: reduce){.dd-menu{animation:none}.dd-chevron{transition:none}}.sliderValue{cursor:text;-webkit-user-select:none;user-select:none;padding:2px 6px;border-radius:var(--radius-sm);transition:all var(--transition-fast);position:relative;display:inline-block}.sliderValue:hover{background:var(--bg-elevated);box-shadow:0 0 0 1px var(--accent-primary)}.sliderValueInput{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;display:inline-block;min-width:2ch;max-width:5ch;padding:0;margin:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:center}.sliderValueInput::-webkit-outer-spin-button,.sliderValueInput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sliderValue:has(.sliderValueInput){cursor:text;background:var(--bg-elevated);box-shadow:0 0 0 1px var(--accent-primary)}html[data-mobile=true] input[type=range].slider::-webkit-slider-thumb,html[data-mobile=true] .dual-slider input[type=range]::-webkit-slider-thumb{width:24px;height:24px}html[data-mobile=true] input[type=range].slider::-moz-range-thumb,html[data-mobile=true] .dual-slider input[type=range]::-moz-range-thumb{width:24px;height:24px}#brush-file-input{padding:8px;font-size:12px;color:var(--text-secondary);background:var(--bg-elevated);border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer}#brush-file-input:hover{border-color:var(--accent-primary)}#brushImage{width:100%;max-width:120px;height:auto;margin-top:12px;border-radius:var(--radius-sm);background:var(--bg-elevated);padding:8px;display:none!important}#brush-file-input{display:none!important}#brushGallery{padding-top:16px;border-top:1px solid var(--border-subtle)}#brushGallery label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}#brushList{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.brushItem{position:relative;aspect-ratio:1;background-color:#f3f1ec;background-image:linear-gradient(45deg,#ddd9d0 25%,transparent 25%),linear-gradient(-45deg,#ddd9d0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd9d0 75%),linear-gradient(-45deg,transparent 75%,#ddd9d0 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px;border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;overflow:visible;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;padding:4px}.brushItem:hover{border-color:var(--accent-primary);transform:scale(1.05);z-index:3}.brushItem.selected{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.brushGalleryHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.brushGalleryUnhideBtn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-elevated);color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;cursor:pointer}.brushGalleryUnhideBtn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.brushItem img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.brushItem svg{width:100%;height:100%}.brushItemUpload{background:var(--bg-elevated);border:2px dashed var(--border-subtle);flex-direction:column;gap:4px;color:var(--text-secondary);padding:0}.brushItemUpload span{font-size:24px;line-height:1}.brushItemUpload small{font-size:9px;text-transform:uppercase;letter-spacing:0;max-width:100%;padding:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brushFolder{margin-top:8px}.brushFolder .brushFolderHeader{border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.brushFolderHeader{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;background:var(--bg-secondary);border:0;color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:600;text-align:left;text-transform:uppercase;letter-spacing:.04em}.brushFolderHeader:hover{color:var(--text-primary);background:var(--bg-elevated)}.brushFolderCaret{display:inline-block;width:10px;font-size:10px;transition:transform .15s}.brushFolder:not(.collapsed) .brushFolderCaret{transform:rotate(90deg)}.brushFolderLabel{flex:1;min-width:0}.brushFolderCount{font-size:10px;color:var(--text-secondary);background:var(--bg-elevated);padding:1px 7px;border-radius:999px;letter-spacing:0}.brushFolderContent{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:8px 0 0}.brushFolder.collapsed .brushFolderContent{display:none}.brushItem.pendingRemoval{border-color:#c96a2b;box-shadow:0 0 0 2px #c96a2b40}.brushConfirmAction{position:absolute;left:50%;bottom:6px;transform:translate(-50%);border:0;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:700;background:#8c1d1d;color:#fff;cursor:pointer}.brushItemAction{position:absolute;top:-8px;right:-8px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:#0009;color:#fff;cursor:pointer;opacity:0;transform:scale(.8);transition:opacity var(--transition-fast),transform var(--transition-fast),background var(--transition-fast);z-index:2}.brushItem:hover .brushItemAction,.brushItemAction:focus-visible{opacity:1;transform:scale(1)}.brushItemActionGlyph{font-size:15px;line-height:1}.brushItem .brushItemAction img{width:12px;height:12px;filter:invert(1) brightness(1.8)}.brushItemAction--remove:hover{background:#8c1d1d}.brushItemAction--hide:hover{background:var(--accent-primary)}.dual-slider{position:relative;height:6px;background:var(--bg-elevated);border-radius:3px;margin-top:10px}.dual-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:0;left:0;width:100%;height:6px;background:transparent;pointer-events:none;margin:0;padding:0;outline:none;touch-action:none}.dual-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent-primary);border-radius:4px;cursor:pointer;pointer-events:auto;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.dual-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 0 4px var(--accent-glow)}.dual-slider input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--accent-primary);border:none;border-radius:4px;cursor:pointer;pointer-events:auto}.pressureToggle{display:inline-flex;align-items:center;gap:2px;cursor:pointer;margin:0;font-size:10px}.pressureToggle input[type=checkbox]{width:14px;height:14px;cursor:pointer;margin:0;accent-color:var(--accent-primary);flex:none}.pressureToggle>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pressureTargets{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:4px;padding-left:3px;margin-right:calc(-1 * var(--lock-col, 0px));color:var(--text-secondary)}.pressureTargets>.lock-btn{position:relative;left:6px}.sliderContainer .sliderLabel>.pressureToggle,.sliderContainer .sliderLabel>.sliderValue,.sliderContainer .offset-slider-group>.sliderValue{touch-action:none;-webkit-user-select:none;user-select:none}html[data-mobile=true]{--intrack-height: var(--intrack-height-mobile)}.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider){position:relative;gap:0;margin-bottom:6px}.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>.sliderLabel{position:absolute;z-index:2;inset:0 0 auto 0;height:var(--intrack-height);margin:0;padding:0 var(--lock-col) 0 3px;gap:4px;pointer-events:none}.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>.sliderLabel>.sliderName{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>.sliderLabel>.pressureToggle{flex:1 1 auto;min-width:0;gap:3px;pointer-events:auto}.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>.sliderLabel>.sliderValue{pointer-events:auto;background:transparent;min-width:0;padding:0 1px;margin-right:10px}.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>.sliderLabel>.sliderValue:hover,.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>.sliderLabel>.sliderValue:has(.sliderValueInput){background:var(--bg-elevated)}.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>.sliderLabel>.lock-btn{pointer-events:auto}.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>.slider,.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>#sizeSliderMount,.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>#thinningSlider>.slider{height:var(--intrack-height);margin-top:0;background:transparent;border-radius:var(--radius-sm)}.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>#thinningSlider{margin-top:0}.sliderContainer.no-track{position:relative;gap:0;margin-bottom:6px}.sliderContainer.no-track>.sliderLabel{height:var(--intrack-height);margin:0;padding:0 0 0 3px;gap:4px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.sliderContainer.no-track>.sliderLabel>.pressureToggle{flex:1 1 auto;min-width:0;gap:3px}.sliderContainer.no-track,.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider){--lock-col: 18px;padding-right:var(--lock-col)}.sliderContainer.no-track>.sliderLabel>.lock-btn,.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>.sliderLabel>.lock-btn{position:absolute;right:0;top:50%;transform:translate(6px,-50%);margin:0}.sliderContainer.no-track>.sliderLabel>.lock-btn:hover,.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>.sliderLabel>.lock-btn:hover{transform:translate(6px,-50%) scale(1.1)}.sliderContainer.no-track>.sliderLabel>.lock-btn:active,.sliderContainer:not(.no-track):has(>.slider,>#sizeSliderMount,>#thinningSlider,>.dual-slider)>.sliderLabel>.lock-btn:active{transform:translate(6px,-50%) scale(.95)}.sliderContainer>.dual-slider{--pressure-handle: 4px;height:var(--intrack-height);margin-top:0;border-radius:var(--radius-sm);background:var(--bg-tertiary);overflow:hidden;transition:background var(--transition-fast)}.sliderContainer>.dual-slider:hover{background:var(--bg-elevated)}.sliderContainer>.dual-slider:before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--pressure-handle) / 2 + var(--pressure-min, 0) * (100% - var(--pressure-handle)));width:calc((var(--pressure-max, 1) - var(--pressure-min, 0)) * (100% - var(--pressure-handle)));background:var(--slider-track-fill);pointer-events:none}.sliderContainer>.dual-slider input[type=range]{height:var(--intrack-height)}.sliderContainer>.dual-slider input[type=range]::-webkit-slider-thumb{width:var(--pressure-handle);height:var(--intrack-height);border-radius:1px;background:var(--accent-primary)}.sliderContainer>.dual-slider input[type=range]::-webkit-slider-thumb:hover{transform:none;box-shadow:0 0 0 1px var(--accent-glow)}.sliderContainer>.dual-slider input[type=range]::-moz-range-thumb{width:var(--pressure-handle);height:var(--intrack-height);border-radius:1px;background:var(--accent-primary)}.sliderContainer:has(>.dual-slider)>.sliderLabel>.pressureToggle{pointer-events:none}.sliderContainer:has(>.dual-slider)>.sliderLabel>.pressureToggle>input[type=checkbox],.sliderContainer:has(>.dual-slider)>.sliderLabel>.pressureToggle>span{pointer-events:auto}@media (pointer: coarse),(max-width: 768px){.pressureToggle input[type=checkbox]{width:22px;height:22px}.pressureToggle{gap:4px}.sliderContainer>.dual-slider{--pressure-handle: 14px}}html[data-mobile=true] .sliderContainer>.dual-slider{--pressure-handle: 14px}html[data-mobile=true] .sliderContainer>.dual-slider input[type=range]::-webkit-slider-thumb{width:var(--pressure-handle);height:var(--intrack-height);border-radius:3px}#patternModeOptions .sliderContainer.dual-offset-container .sliderLabel,#selectionPatternSettings .sliderContainer.dual-offset-container .sliderLabel,#fillPatternSettings .sliderContainer.dual-offset-container .sliderLabel,.toolMoreBody .sliderContainer.dual-offset-container .sliderLabel{position:static;margin-bottom:6px;pointer-events:auto}#patternModeOptions .sliderContainer.dual-offset-container .offset-slider-group,#selectionPatternSettings .sliderContainer.dual-offset-container .offset-slider-group,#fillPatternSettings .sliderContainer.dual-offset-container .offset-slider-group,.toolMoreBody .sliderContainer.dual-offset-container .offset-slider-group{position:relative;gap:0;align-items:stretch}#patternModeOptions .sliderContainer.dual-offset-container .offset-slider-group>.offset-label,#selectionPatternSettings .sliderContainer.dual-offset-container .offset-slider-group>.offset-label,#fillPatternSettings .sliderContainer.dual-offset-container .offset-slider-group>.offset-label,.toolMoreBody .sliderContainer.dual-offset-container .offset-slider-group>.offset-label{position:absolute;z-index:2;left:7px;top:0;height:var(--intrack-height);display:flex;align-items:center;pointer-events:none}#patternModeOptions .sliderContainer.dual-offset-container .offset-slider-group>.offset-value,#selectionPatternSettings .sliderContainer.dual-offset-container .offset-slider-group>.offset-value,#fillPatternSettings .sliderContainer.dual-offset-container .offset-slider-group>.offset-value,.toolMoreBody .sliderContainer.dual-offset-container .offset-slider-group>.offset-value{position:absolute;z-index:2;right:6px;top:0;height:var(--intrack-height);display:flex;align-items:center;padding:0;min-width:0;background:transparent;pointer-events:auto}#patternModeOptions .sliderContainer.dual-offset-container .offset-slider-group>.slider,#selectionPatternSettings .sliderContainer.dual-offset-container .offset-slider-group>.slider,#fillPatternSettings .sliderContainer.dual-offset-container .offset-slider-group>.slider,.toolMoreBody .sliderContainer.dual-offset-container .offset-slider-group>.slider{width:100%;max-width:none;height:var(--intrack-height);margin-top:0;background:transparent;border-radius:var(--radius-sm)}#colorPalette{padding:5px;border-top:2px solid var(--border-subtle)}.paletteSection{margin-bottom:12px}.paletteSection:last-child{margin-bottom:0}.paletteSection label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.paletteHint{font-size:9px;font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0}.swatchGrid{display:flex;flex-wrap:wrap;gap:2px}.swatch{width:22px;height:22px;border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all var(--transition-fast);position:relative}.swatch:hover{transform:scale(1.15);border-color:var(--text-primary);z-index:1}.swatch.selected{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.swatch.addSwatch{background:var(--bg-elevated);border:2px dashed var(--border-subtle);color:var(--text-muted);font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center}.swatch.addSwatch:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:scale(1.1)}.swatch.empty{background:var(--bg-elevated);border:1px solid var(--border-subtle);cursor:default;opacity:.3}.swatch.empty:hover{transform:none;border-color:var(--border-subtle)}.colorInputBtn{position:absolute;bottom:8px;left:6px;right:auto;width:30px;height:30px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;z-index:120}.colorInputBtn svg{display:block}html[data-sidebar-side=left] .colorInputBtn{left:auto;right:6px}.colorInputBtn:hover{background:var(--bg-elevated);color:var(--accent-primary);border-color:var(--border-active);transform:scale(1.05)}.colorInputMenu{position:absolute;bottom:50px;left:-29px;right:auto;width:240px;max-width:calc(100vw - 24px);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:220;overflow:hidden}html[data-sidebar-side=left] .colorInputMenu{left:auto;right:-24px}.colorInputHeader{display:flex;align-items:center;justify-content:space-between;padding:8px;gap:8px;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.colorInputTabs{display:flex;gap:2px;padding:3px;background:var(--bg-primary);border-radius:var(--radius-sm)}.colorInputTab{padding:6px 10px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;letter-spacing:.5px}.colorInputTab:hover{background:var(--bg-secondary);color:var(--text-primary)}.colorInputTab.active{background:color-mix(in srgb,var(--accent-primary) 16%,var(--bg-secondary));color:var(--accent-primary)}.colorInputActions{display:flex;align-items:center;gap:2px}.colorInputPin{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.colorInputPin svg{display:block}.colorInputPin:hover{background:var(--bg-secondary);color:var(--text-primary)}.colorInputPin[aria-pressed=true]{background:color-mix(in srgb,var(--accent-primary) 16%,transparent);color:var(--accent-primary)}.colorInputClose{background:transparent;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0 4px;line-height:1;transition:color var(--transition-fast)}.colorInputClose:hover{color:var(--text-primary)}.colorInputBody{padding:12px}.colorInputMode{display:flex;flex-direction:column;gap:8px}.colorInputField{display:flex;align-items:center;gap:8px}.colorInputField label{width:20px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.colorInputField input{flex:1;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:Inter,monospace;transition:border-color var(--transition-fast)}.colorInputField input:focus{outline:none;border-color:var(--border-active)}.colorInputField .fieldUnit{width:20px;font-size:11px;color:var(--text-muted);text-align:left}.colorInputField input[type=number]::-webkit-inner-spin-button,.colorInputField input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.colorInputField input[type=number]{-moz-appearance:textfield}#pickerContainer{position:relative}.colorInputField.hexField input{flex:1;width:50%;font-family:Inter,monospace;letter-spacing:.5px}.colorInputField.hexField label{color:var(--text-primary)}.colorInputPreview{display:flex;align-items:center;gap:10px;margin-bottom:12px}.colorInputSwatch{width:30px;height:30px;flex:none;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.colorInputCode{color:var(--text-primary);font:12px monospace;letter-spacing:.5px}.colorInputField.colorChannelRow{--intrack-height: 28px;position:relative;height:var(--intrack-height);gap:0}.colorInputField.colorChannelRow .colorChannelTrack{position:absolute;top:0;right:0;bottom:0;left:0}.colorInputField.colorChannelRow label{position:relative;width:auto;flex:1;padding-left:8px;font-size:11px;font-weight:500;text-transform:none;color:var(--text-primary);pointer-events:none}.colorInputField.colorChannelRow input{position:relative;flex:none;width:42px;min-width:0;box-sizing:border-box;padding:3px 4px;margin-right:5px;border:1px solid transparent;background:transparent;text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.colorInputField.colorChannelRow input:hover,.colorInputField.colorChannelRow input:focus{background:var(--bg-elevated);border-color:var(--border-active)}.colorInputField.colorChannelRow .fieldUnit{position:relative;width:12px;margin-right:5px;color:var(--text-secondary);pointer-events:none}html[data-mobile=true] .colorInputField.colorChannelRow{--intrack-height: 34px;--intrack-height-mobile: 34px}#pickerContainer{border-top:1px solid var(--border-subtle);overflow:visible}#pickerContainer.collapsed #colorPicker{min-height:58px;padding-top:0;padding-bottom:0}#pickerContainer.collapsed #colorPicker .reinvented-color-wheel{display:none}#colorPicker,.boardColorPicker{display:flex;justify-content:center;align-items:center;overflow:visible;width:100%;max-width:100%;padding:36px 10px 14px;box-sizing:border-box;position:relative}#colorPicker .reinvented-color-wheel,.boardColorPicker .reinvented-color-wheel{display:inline-flex;max-width:100%}.boardColorPickerPanel{position:absolute;right:1px;bottom:1px;width:116px;min-width:96px;max-width:236px;z-index:75;background:color-mix(in srgb,var(--bg-secondary) 92%,transparent);border:1px solid color-mix(in srgb,var(--border-subtle) 78%,transparent);border-radius:8px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);container-type:inline-size;display:none;pointer-events:auto;touch-action:none}@media (max-width: 768px),(max-height: 650px){.boardColorPickerPanel{display:block}}.boardColorPicker{padding:2px}.boardColorPicker .reinvented-color-wheel{margin:auto}.boardColorPickerDragHandle{position:absolute;top:-11px;left:50%;width:34px;height:11px;padding:0;transform:translate(-50%);border:0;border-radius:9px 9px 3px 3px;background:linear-gradient(currentColor,currentColor) center 5px/18px 2px no-repeat,color-mix(in srgb,var(--bg-secondary) 95%,black);color:color-mix(in srgb,var(--text-secondary) 72%,transparent);cursor:grab;box-shadow:0 -1px 4px color-mix(in srgb,black 32%,transparent);z-index:4}.boardColorPickerDragHandle:active{cursor:grabbing}.boardColorPickerScaleHandle{position:absolute;top:1px;left:1px;width:18px;height:18px;padding:0;border:0;border-radius:4px;background:transparent;color:color-mix(in srgb,var(--text-secondary) 78%,transparent);cursor:nwse-resize;z-index:4}.boardColorPickerScaleHandle:before{content:"";position:absolute;top:2px;right:4px;bottom:4px;left:2px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 11L11 1 M1 7L7 1 M1 3L3 1' stroke='black' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 11L11 1 M1 7L7 1 M1 3L3 1' stroke='black' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}.colorSlotControls{position:absolute;top:8px;left:10px;width:42px;height:42px;z-index:2}.colorPickerHexField{position:absolute;top:8px;right:10px;display:flex;align-items:center;z-index:2}.colorPickerPopoutButton{position:absolute;right:8px;bottom:8px;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:color-mix(in srgb,var(--bg-secondary) 94%,black);color:color-mix(in srgb,var(--text-secondary) 82%,transparent);cursor:pointer;box-shadow:0 1px 4px color-mix(in srgb,black 28%,transparent);display:grid;place-items:center;transition:transform var(--transition-fast),color var(--transition-fast),background var(--transition-fast),opacity var(--transition-fast);z-index:3}.colorPickerPopoutButton:hover{transform:translateY(-1px);color:var(--text-primary);background:color-mix(in srgb,var(--bg-secondary) 88%,black)}.colorPickerPopoutButton:active{transform:translateY(0)}.colorPickerPopoutButton svg{display:block}.colorPickerHexField input{width:76px;padding:4px 6px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:Inter,monospace;letter-spacing:.5px;text-transform:uppercase;transition:border-color var(--transition-fast)}.colorPickerHexField input:focus{outline:none;border-color:var(--border-active)}.colorSlotSwatch{border:1px solid color-mix(in srgb,var(--border-subtle) 85%,transparent);box-shadow:var(--shadow-sm)}.colorSlotSwatch{position:absolute;width:24px;height:24px;padding:0;border-radius:5px;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.colorSlotSwatch.primary{top:0;left:0;z-index:2}.colorSlotSwatch.secondary{right:4px;bottom:0;z-index:1}.colorSlotSwatch.active{border-color:var(--accent-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-primary) 45%,transparent),var(--shadow-sm)}.colorSlotSwatch:hover{transform:translateY(-1px);border-color:var(--border-active)}.colorSlotSwap{position:absolute;top:0;right:0;width:14px;height:14px;padding:0;border:0;border-radius:4px;background-color:transparent;background-image:url(../images/swatch-switch.svg);background-position:center;background-repeat:no-repeat;background-size:12px 12px;box-shadow:none;filter:brightness(0) saturate(100%) invert(86%) sepia(7%) saturate(243%) hue-rotate(180deg) brightness(94%) contrast(88%);font-size:0;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(180deg);transition:transform var(--transition-fast),opacity var(--transition-fast);opacity:.82;z-index:3}.colorSlotSwap:hover{transform:rotate(180deg) scale(1.05);filter:brightness(0) saturate(100%) invert(96%) sepia(4%) saturate(180%) hue-rotate(180deg) brightness(102%) contrast(92%);opacity:1}#colorPicker .reinvented-color-wheel--hue-wheel,#colorPicker .reinvented-color-wheel--sv-space,#colorPicker .reinvented-color-wheel--hue-handle,#colorPicker .reinvented-color-wheel--sv-handle,.boardColorPicker .reinvented-color-wheel--hue-wheel,.boardColorPicker .reinvented-color-wheel--sv-space,.boardColorPicker .reinvented-color-wheel--hue-handle,.boardColorPicker .reinvented-color-wheel--sv-handle{cursor:crosshair!important}.boardColorPickerPanel .dockablePanelDragHandle{position:absolute;top:-11px;left:50%;width:34px;height:11px;padding:0;transform:translate(-50%);border:0;border-radius:9px 9px 3px 3px;background:linear-gradient(currentColor,currentColor) center 5px/18px 2px no-repeat,color-mix(in srgb,var(--bg-secondary) 95%,black);color:color-mix(in srgb,var(--text-secondary) 72%,transparent);cursor:grab;box-shadow:0 -1px 4px color-mix(in srgb,black 32%,transparent);z-index:4}.boardColorPickerPanel .dockablePanelDragHandle:active{cursor:grabbing}.boardColorPickerPanel .dockablePanelResizeHandle{position:absolute;top:1px;left:1px;width:18px;height:18px;padding:0;border:0;border-radius:4px;background:transparent;color:color-mix(in srgb,var(--text-secondary) 78%,transparent);cursor:nwse-resize;z-index:4}@media (pointer: coarse),(max-width: 768px){.colorSlotSwatch:after,.colorSlotSwap:after,.colorPickerPopoutButton:after,.boardColorPickerPanel .dockablePanelResizeHandle:after,.boardColorPickerPanel .dockablePanelDragHandle:after{content:"";position:absolute}.colorSlotSwatch:after{top:-6px;right:-6px;bottom:-6px;left:-6px}.colorSlotSwap:after{top:-12px;right:-12px;bottom:-12px;left:-12px}.colorPickerPopoutButton:after{top:-8px;right:-8px;bottom:-8px;left:-8px}.boardColorPickerPanel .dockablePanelResizeHandle:after{top:-12px;right:-12px;bottom:-12px;left:-12px}.boardColorPickerPanel .dockablePanelDragHandle:after{top:-12px;right:-10px;bottom:-12px;left:-10px}}.boardColorPickerPanel .dockablePanelResizeHandle:before{content:"";position:absolute;top:2px;right:4px;bottom:4px;left:2px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 11L11 1 M1 7L7 1 M1 3L3 1' stroke='black' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 11L11 1 M1 7L7 1 M1 3L3 1' stroke='black' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}.sliders{display:flex;flex-direction:column;gap:0px}.sliderContainer{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.sliderContainer label,.sliderContainer .sliderLabel{display:flex;justify-content:flex-start;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.sliderLabel{margin-bottom:-3px}.sliderContainer .sliderLabel>.pressureToggle{flex:0 1 auto;min-width:0;white-space:nowrap}.sliderContainer .sliderLabel>.sliderValue{flex:0 0 auto}.sliderContainer .sliderLabel>.sliderValue{padding:2px 4px;min-width:32px}.sliderValue{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:11px;font-weight:500;color:var(--accent-primary);background:var(--bg-elevated);padding:2px 6px;border-radius:4px;min-width:36px;text-align:center}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:var(--bg-elevated);border-radius:3px;outline:none;cursor:pointer;touch-action:none}.sliderContainer>.slider,.sliderContainer>#sizeSliderMount,.sliderContainer>#thinningSlider>.slider{margin-top:10px}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent-primary);border-radius:4px;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 0 4px var(--accent-glow)}.slider::-moz-range-thumb{width:16px;height:16px;background:var(--accent-primary);border:none;border-radius:4px;cursor:pointer}.cursors{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;--cursor-label-scale: 1}#cursorsSvg{width:100%;height:100%;z-index:3}.cursor{position:absolute;pointer-events:none;height:204px;width:204px;left:0;top:0;will-change:transform}.self.square,.self.crosshair{display:none}.name{position:absolute;pointer-events:none;font-size:11px;font-weight:500;color:var(--cursor-label-color, rgba(47, 55, 69, .5));text-shadow:0 0 2px var(--cursor-label-shadow, rgba(255, 255, 255, .45));top:80px;left:105px;white-space:nowrap;transform-origin:left top;transform:scale(var(--cursor-label-scale));text-rendering:geometricPrecision}#cursorsSvg .circle.supporter,#cursorsSvg .square.supporter{stroke:var(--supporter-gold);filter:drop-shadow(0 0 3px var(--supporter-gold-glow))}#cursorsSvg .crosshair.supporter line{stroke:var(--supporter-gold)}.name.supporter{color:var(--supporter-gold);font-weight:600;text-shadow:0 0 4px var(--supporter-gold-glow)}.text{position:absolute;top:95px;left:105px;white-space:pre;display:inline-block;width:max-content;transform-origin:left top;transform:scale(var(--cursor-label-scale));text-rendering:geometricPrecision}.text.self{display:none}.textInput{overflow:hidden;font-family:Newsreader,serif}body.remote-users-hidden .cursors .cursor:not(.self),body.remote-users-hidden #cursorsSvg .circle:not(.self),body.remote-users-hidden #cursorsSvg .square:not(.self),body.remote-users-hidden #cursorsSvg .outline:not(.self),body.remote-users-hidden #cursorsSvg .crosshair:not(.self),body.remote-users-hidden #userBoards .userBoard,body.remote-users-hidden #userList .userEntry:not(.self),body.remote-users-hidden #userList .userGroup{display:none!important}.toast{position:fixed;top:80px;left:50%;transform:translate(-50%) translateY(-20px);padding:10px 20px;background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--accent-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md),0 0 20px var(--accent-glow);color:var(--text-primary);font-size:13px;font-weight:500;z-index:10100;opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s ease;pointer-events:none}.toast.show{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.toast.error{border-color:#e74c3c;box-shadow:var(--shadow-md),0 0 20px #e74c3c4d;color:#e74c3c}.toast.global{padding:12px 22px;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:260px;text-align:center;border-color:#ffb648;background:linear-gradient(135deg,#2d323ceb,#46321eeb 35%,#5f3c19eb,#46321eeb 65%,#2d323ceb);background-size:220% 220%;box-shadow:var(--shadow-md),0 0 0 1px #ffb64873,0 0 28px #ffb6488c;font-weight:600;animation:toastGlobalPulse 1.6s ease-in-out infinite,toastGlobalGradient 6s ease-in-out infinite}.toast__badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-sm, 4px);background:linear-gradient(135deg,#ffd166,#ffb84d,#ff8a3d,#ffb84d,#ffd166);background-size:220% 220%;color:#1b1208;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.25);box-shadow:0 0 12px #ffb64899;animation:toastGlobalGradient 4s ease-in-out infinite}.toast__text{color:#fff;font-size:14px;line-height:1.35;text-shadow:0 0 6px rgba(255,255,255,.85),0 0 14px rgba(255,220,150,.7),0 0 24px rgba(255,182,72,.5);animation:toastGlobalTextShine 2.4s ease-in-out infinite}@keyframes toastGlobalPulse{0%,to{box-shadow:var(--shadow-md),0 0 0 1px #ffb64873,0 0 22px #ffb64873}50%{box-shadow:var(--shadow-md),0 0 0 1px #ffb648bf,0 0 36px #ffb648cc}}@keyframes toastGlobalGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes toastGlobalTextShine{0%,to{text-shadow:0 0 6px rgba(255,255,255,.85),0 0 14px rgba(255,220,150,.7),0 0 24px rgba(255,182,72,.5)}50%{text-shadow:0 0 10px rgb(255,255,255),0 0 22px rgba(255,230,170,.9),0 0 36px rgba(255,182,72,.75)}}.snapshotJoinToast{position:fixed;top:80px;left:50%;display:flex;align-items:stretch;gap:0;background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--accent-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md),0 0 20px var(--accent-glow);overflow:hidden;z-index:10100;max-width:380px;opacity:0;transform:translate(-50%) translateY(-12px);transition:opacity .25s ease,transform .25s ease;pointer-events:all}.snapshotJoinToast.show{opacity:1;transform:translate(-50%) translateY(0)}.snapshotJoinToast__thumb{width:90px;min-width:90px;object-fit:cover;display:block;border-right:1px solid var(--accent-primary)}.snapshotJoinToast__body{padding:10px 12px;display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.snapshotJoinToast__title{font-size:12px;font-weight:600;color:var(--text-primary)}.snapshotJoinToast__meta{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snapshotJoinToast__actions{display:flex;gap:6px;margin-top:6px}.snapshotJoinToast--wrap .snapshotJoinToast__meta{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}.savingPopup{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#070b1459;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10200;opacity:0;visibility:hidden;transition:opacity .2s ease;pointer-events:all}.savingPopup.show{opacity:1;visibility:visible}.savingPopup__card{display:flex;align-items:center;gap:10px;min-width:170px;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--accent-primary);background:var(--surface-glass);box-shadow:var(--shadow-md),0 0 20px var(--accent-glow);color:var(--text-primary)}.savingPopup__spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.22);border-top-color:var(--accent-primary);border-radius:50%;animation:savingPopupSpin .75s linear infinite}.savingPopup__text{font-size:13px;font-weight:600}@keyframes savingPopupSpin{to{transform:rotate(360deg)}}.disconnectionBanner{position:fixed;top:90px;left:50%;transform:translate(-50%) translateY(-100%);z-index:13000;opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s ease;pointer-events:none}.disconnectionBanner.show{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);pointer-events:auto}.disconnectionContent{display:flex;align-items:center;gap:16px;padding:14px 20px;background:#282828f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,150,0,.5);border-radius:var(--radius-md);box-shadow:var(--shadow-lg),0 0 24px #ff960033;min-width:400px;max-width:90vw}.disconnectionIcon{font-size:20px;flex-shrink:0}.disconnectionText{color:var(--text-primary);font-size:14px;font-weight:500;flex:1;white-space:normal;min-width:0}.disconnectionActions{display:flex;gap:8px;flex-shrink:0}.disconnectionActions .btn{font-size:12px;padding:6px 14px;min-width:unset;white-space:nowrap}.disconnectionActions .btn.small{padding:6px 14px}.disconnectionActions .btn.loading,.disconnectionActions .btn:disabled{opacity:.6;cursor:not-allowed}@media (pointer: coarse),(max-width: 900px){.disconnectionBanner{top:calc(64px + env(safe-area-inset-top,0px));z-index:13000}.disconnectionActions .btn,.disconnectionActions .btn.small{min-height:40px;height:40px}}@media (max-width: 768px){.disconnectionContent{flex-direction:column;align-items:flex-start;gap:12px;min-width:unset;width:calc(100vw - 60px)}.disconnectionActions{width:100%;justify-content:stretch}.disconnectionActions .btn{flex:1}.disconnectionText{white-space:normal}}.viewHud{position:fixed;bottom:16px;left:16px;z-index:100;display:flex;flex-direction:row;gap:6px;-webkit-user-select:none;user-select:none;pointer-events:auto}@media (max-width: 639px){.viewHud{bottom:8px;left:8px;gap:4px;min-height:48px;min-width:52px}}@media (pointer: coarse),(max-width: 768px),(max-height: 650px){.viewHud{z-index:1495}}html[data-sidebar-side=left] .viewHud{left:auto;right:16px}@media (max-width: 639px){html[data-sidebar-side=left] .viewHud{left:auto;right:8px}}.viewHudBtn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:80px;height:80px;font-family:inherit;font-size:0;color:var(--text-primary);background:color-mix(in srgb,var(--bg-secondary) 80%,transparent);border:1px solid rgba(255,255,255,.35);box-shadow:0 4px 14px #00000073;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:8px 4px 10px;pointer-events:auto}@media (max-width: 767px){.viewHudBtn{width:68px;height:68px;gap:4px;padding:6px 4px 8px}}@media (max-width: 639px){.viewHudBtn{width:60px;height:60px;gap:3px;padding:5px 3px 7px;border-radius:4px}}.viewHudBtn:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.viewHudBtn:active{transform:scale(.93)}.viewHudBtn.hud-btn-appear{animation:hudBtnAppear .6s ease-out}@keyframes hudBtnAppear{0%{transform:scale(.7);color:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent-primary) 30%,transparent)}60%{transform:scale(1.08);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 18%,transparent)}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion: reduce){.viewHudBtn.hud-btn-appear{animation:none}}.hudBtnIcon{font-size:40px;font-weight:400;line-height:1}@media (max-width: 767px){.hudBtnIcon{font-size:32px}}@media (max-width: 639px){.hudBtnIcon{font-size:24px}}.hudBtnIcon img,.hudBtnIcon svg{display:block;width:40px;height:40px}@media (max-width: 767px){.hudBtnIcon img,.hudBtnIcon svg{width:30px;height:30px}}@media (max-width: 639px){.hudBtnIcon img,.hudBtnIcon svg{width:26px;height:26px}}.hudBtnLabel{font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;line-height:1}@media (max-width: 639px){.hudBtnLabel{font-size:8px;letter-spacing:0}}.genie-out,.genie-in{transform-origin:var(--genie-x, 50%) var(--genie-y, 50%)}.genie-out{animation:panelGenieOut .22s cubic-bezier(.4,0,.7,.2) forwards}.genie-in{animation:panelGenieIn .22s cubic-bezier(.2,.7,.3,1)}@keyframes panelGenieOut{0%{transform:scale(1);opacity:1}to{transform:scale(.05);opacity:0}}@keyframes panelGenieIn{0%{transform:scale(.05);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.genie-out,.genie-in{animation:none}}.contextMenu{position:fixed;z-index:10000;background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:6px;min-width:180px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:2px}.contextMenu .menuItem{display:block;width:100%;padding:6px 10px;background:transparent;color:var(--text-primary);border:none;border-radius:var(--radius-sm);text-align:left;font-size:14px;cursor:pointer;transition:all var(--transition-fast)}.contextMenu .menuItem:hover{background:var(--bg-elevated);color:var(--accent-primary)}.contextMenu .menuItem.danger{color:#ef4444}.contextMenu .menuItem.danger:hover{background:#ef44441a}.contextMenu .menuDivider{height:1px;background:var(--border-subtle);margin:4px 0}.contextMenu .menuInfo{display:none;flex-direction:column;gap:6px;padding:8px 10px 10px;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.contextMenu .menuInfoRow{display:flex;flex-direction:column;gap:2px}.contextMenu .menuInfoLabel{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.contextMenu .menuInfoValue{font-size:13px;color:var(--text-primary);word-break:break-word}.contextMenu .menuInfoName{font-size:14px;font-weight:700}.contextMenu .menuInfoName.rank-guest{color:var(--role-guest)}.contextMenu .menuInfoName.rank-user{color:var(--role-user)}.contextMenu .menuInfoName.rank-trusted{color:var(--role-trusted)}.contextMenu .menuInfoName.rank-helper{color:var(--role-helper)}.contextMenu .menuInfoName.rank-mod{color:var(--role-mod)}.contextMenu .menuInfoName.rank-admin{color:var(--role-admin)}.contextMenu .menuInfoName.rank-owner{color:var(--role-owner)}.contextMenu .menuInfoName.rank-noble{color:var(--role-noble);text-shadow:0 0 6px color-mix(in srgb,var(--role-noble),transparent 65%)}.contextMenu .menuInfoName.rank-holy{color:var(--role-holy);text-shadow:0 0 6px color-mix(in srgb,var(--role-holy),transparent 60%)}.contextMenu .menuInfoName.rank-deity{color:var(--role-deity);text-shadow:0 0 8px color-mix(in srgb,var(--role-deity),transparent 40%)}.roleBadge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.roleBadge.mod{background:color-mix(in srgb,var(--role-mod),transparent 80%);color:var(--role-mod)}.roleBadge.admin{background:color-mix(in srgb,var(--role-admin),transparent 80%);color:var(--role-admin)}.selfRoleInfo{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 16px}.selfRoleLabel{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.5;color:var(--text-primary)}.selfRoleName{font-size:16px;font-weight:700;color:var(--text-primary)}.selfRoleName.rank-guest{color:var(--role-guest)}.selfRoleName.rank-user{color:var(--role-user)}.selfRoleName.rank-trusted{color:var(--role-trusted)}.selfRoleName.rank-helper{color:var(--role-helper)}.selfRoleName.rank-mod{color:var(--role-mod)}.selfRoleName.rank-admin{color:var(--role-admin)}.selfRoleName.rank-owner{color:var(--role-owner)}.selfRoleName.rank-noble{color:var(--role-noble);text-shadow:0 0 8px color-mix(in srgb,var(--role-noble),transparent 60%)}.selfRoleName.rank-holy{color:var(--role-holy);text-shadow:0 0 8px color-mix(in srgb,var(--role-holy),transparent 50%)}.selfRoleName.rank-deity{color:var(--role-deity);text-shadow:0 0 10px color-mix(in srgb,var(--role-deity),transparent 30%)}#bottomBar,#timeline,.bottomBarBtns{display:none}.boardViewer{position:fixed;top:40px;left:16px;z-index:930;display:flex;flex-direction:column;width:420px;height:256px;min-width:240px;min-height:200px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:hidden;color:var(--text-primary);background:color-mix(in srgb,var(--bg-secondary) 94%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.boardViewer[hidden]{display:none}.boardViewerHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:18px;padding:0 2px 0 8px;border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);cursor:move;touch-action:none}.boardViewer.is-moving{cursor:move}.boardViewerTitle{min-width:0;overflow:hidden;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.boardViewerActions,.boardViewerControls{display:flex;align-items:center;gap:4px}.boardViewer button{display:grid;place-items:center;min-width:24px;width:auto;height:24px;padding:0 7px;color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);font-size:13px;line-height:1;cursor:pointer}.boardViewerHeader button{min-width:18px;height:18px;padding:0 5px;font-size:12px}.boardViewer button:hover{background:var(--bg-elevated);border-color:var(--border-subtle)}.boardViewerDisableBtn:hover{background:#c0392b!important;border-color:#e74c3c!important;color:#fff!important}.boardViewerStage{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;cursor:grab;background:#121212}.boardViewerStage:active{cursor:grabbing}.boardViewerCanvas{display:block;width:100%;height:100%;cursor:grab}.boardViewerControls{position:absolute;left:0;bottom:0;z-index:1;padding:2px;border:1px solid var(--border-subtle);border-bottom:0;border-left:0;border-radius:0 var(--radius-sm) 0 0;background:color-mix(in srgb,var(--bg-secondary) 84%,transparent);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.boardViewerControls button{min-width:22px;height:22px;padding:0 5px}.boardViewerControls [data-action=reset]{width:42px;min-width:42px;font-size:11px;font-variant-numeric:tabular-nums}.boardViewerLaunch{position:fixed;top:42px;left:8px;z-index:920;height:32px;padding:0 12px;color:var(--text-primary);background:color-mix(in srgb,var(--bg-secondary) 94%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-size:12px;font-weight:700;cursor:pointer}html[data-sidebar-side=left] .boardViewerLaunch{left:auto;right:8px}.boardViewerLaunch:hover{background:var(--bg-elevated);border-color:var(--accent-primary)}.boardViewerLaunch[hidden]{display:none}body.desktop-window-chrome .boardViewer{top:calc(var(--desktop-titlebar-height) + 40px);max-height:calc(100vh - var(--desktop-titlebar-height) - 32px)}body.desktop-window-chrome .boardViewerLaunch{top:calc(var(--desktop-titlebar-height) + 42px)}.boardViewerResize{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize}.boardViewerResize:after{content:"";position:absolute;right:5px;bottom:5px;width:8px;height:8px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted)}@media (max-width: 640px){.boardViewer{top:40px;left:8px;width:calc(100vw - 16px);height:208px}.boardViewerLaunch{top:42px;left:8px}body.desktop-window-chrome .boardViewer{top:calc(var(--desktop-titlebar-height) + 40px)}body.desktop-window-chrome .boardViewerLaunch{top:calc(var(--desktop-titlebar-height) + 42px)}}#overlay{display:flex;justify-content:center;align-items:center;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--surface-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:9999}body.desktop-window-chrome #overlay{top:var(--desktop-titlebar-height);bottom:0}.overlayWindow{padding:32px 40px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;min-width:300px}#login.overlayWindow{width:340px;min-height:340px}.overlayWindow label{display:flex;justify-content:center;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}#connecting label{font-size:16px;color:var(--text-secondary)}.authTabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;margin-bottom:clamp(8px,1.6vh,16px);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.authTabsThumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / 3);background:var(--bg-elevated);border-radius:calc(var(--radius-md) - 4px);box-shadow:var(--shadow-sm);pointer-events:none;transition:transform var(--transition-normal)}.authTabs[data-active-tab=signin] .authTabsThumb{transform:translate(100%)}.authTabs[data-active-tab=register] .authTabsThumb{transform:translate(200%)}.authTab{position:relative;z-index:1;padding:clamp(5px,1.1vh,9px) 8px;font-size:13px;font-weight:600;color:var(--text-muted);background:none;border:0;border-radius:calc(var(--radius-md) - 4px);cursor:pointer;transition:color var(--transition-fast)}.authTab:hover{color:var(--text-secondary)}.authTab[aria-selected=true]{color:var(--text-primary)}.authTab:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.authPane{display:flex;flex-direction:column;width:100%;animation:authPaneIn var(--transition-normal) ease}.authPane[hidden]{display:none}@keyframes authPaneIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.authPane{animation:none}.authTabsThumb{transition:none}}.authInput{width:100%;padding:clamp(0px,1.5vh,12px) 16px;font-size:14px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);outline:none;margin-bottom:clamp(0px,1.2vh,10px);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.authInput:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.authButtons{display:flex;gap:8px;margin-top:clamp(0px,1.2vh,10px);justify-content:center;width:100%}.authButtons .btn{flex:1 1 0;width:auto;min-width:0;min-height:32px;padding-inline:12px;white-space:nowrap}@keyframes joinCtaGleam{0%{transform:translate(-180%) skew(-20deg)}40%,to{transform:translate(320%) skew(-20deg)}}@keyframes joinCtaGleamHover{0%{transform:translate(-180%) skew(-20deg)}40%,to{transform:translate(320%) skew(-20deg)}}.authGuestJoinBtn{width:100%;max-width:none;min-height:44px;margin-top:4px;font-size:15px;background:color-mix(in srgb,var(--accent-primary) 82%,var(--bg-tertiary));border-color:var(--accent-primary);color:var(--bg-primary);font-weight:600;position:relative;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-primary) 45%,transparent),inset 0 1px #ffffff47}.authGuestJoinBtn:after{content:"";position:absolute;top:-50%;bottom:-50%;left:0;width:42%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translate(-180%) skew(-20deg);animation:joinCtaGleam 5s cubic-bezier(.35,0,.2,1) 3}.authGuestJoinBtn:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-hover) 60%,transparent),inset 0 1px #ffffff61}.authGuestJoinBtn:hover:after{animation-name:joinCtaGleamHover;animation-duration:2s;animation-iteration-count:infinite}@media (prefers-reduced-motion: reduce){.authGuestJoinBtn:after{animation:none;opacity:0}}.authGuestJoinBtn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--bg-primary);transform:translateY(-1px)}.authButtonsRow{display:flex;gap:8px;width:100%}.authButtonsRow .btn{flex:1}.authGuestHint{margin:6px 0 4px;font-size:12px;color:var(--text-muted);text-align:center}.authButtons .btn.disabled{opacity:.5;pointer-events:none}.authDiscordBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:220px;min-height:42px;margin-top:10px;background:#5865f2;border-color:#5865f2;color:#fff;font-weight:600;text-decoration:none}.authDiscordBtn:before{content:"";width:18px;height:18px;background:currentColor;mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 127.14 96.36' aria-hidden='true'%3E%3Cpath fill='currentColor' d='M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.25 8.09C2.79 32.65-1.71 56.6.54 80.21a105.73 105.73 0 0 0 32.17 16.15 77.7 77.7 0 0 0 6.89-11.11 68.42 68.42 0 0 1-10.85-5.18c.91-.66 1.8-1.34 2.66-2.04a75.57 75.57 0 0 0 64.32 0c.87.71 1.76 1.39 2.66 2.04a68.68 68.68 0 0 1-10.87 5.19 77 77 0 0 0 6.89 11.1 105.25 105.25 0 0 0 32.19-16.14c2.64-27.38-4.51-51.11-18.9-72.15ZM42.45 65.69c-6.27 0-11.44-5.73-11.44-12.77s5.06-12.78 11.44-12.78c6.43 0 11.55 5.78 11.44 12.78 0 7.04-5.06 12.77-11.44 12.77Zm42.24 0c-6.27 0-11.44-5.73-11.44-12.77s5.06-12.78 11.44-12.78c6.43 0 11.55 5.78 11.44 12.78 0 7.04-5.01 12.77-11.44 12.77Z'/%3E%3C/svg%3E") center/contain no-repeat}.authDiscordBtn:hover{background:#4752c4;border-color:#4752c4;color:#fff;transform:translateY(-1px)}.authButtons .authDiscordBtn{max-width:none;min-height:38px;margin-top:0;padding-inline:12px;font-size:12px;font-weight:600;background:#5865f2;border-color:#5865f2;color:#fff;box-shadow:none}.authButtons .authDiscordBtn:before{content:"";width:18px;height:18px;flex:0 0 18px;background:currentColor;mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 127.14 96.36' aria-hidden='true'%3E%3Cpath fill='currentColor' d='M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.25 8.09C2.79 32.65-1.71 56.6.54 80.21a105.73 105.73 0 0 0 32.17 16.15 77.7 77.7 0 0 0 6.89-11.11 68.42 68.42 0 0 1-10.85-5.18c.91-.66 1.8-1.34 2.66-2.04a75.57 75.57 0 0 0 64.32 0c.87.71 1.76 1.39 2.66 2.04a68.68 68.68 0 0 1-10.87 5.19 77 77 0 0 0 6.89 11.1 105.25 105.25 0 0 0 32.19-16.14c2.64-27.38-4.51-51.11-18.9-72.15ZM42.45 65.69c-6.27 0-11.44-5.73-11.44-12.77s5.06-12.78 11.44-12.78c6.43 0 11.55 5.78 11.44 12.78 0 7.04-5.06 12.77-11.44 12.77Zm42.24 0c-6.27 0-11.44-5.73-11.44-12.77s5.06-12.78 11.44-12.78c6.43 0 11.55 5.78 11.44 12.78 0 7.04-5.01 12.77-11.44 12.77Z'/%3E%3C/svg%3E") center/contain no-repeat}.authButtons .authDiscordBtn:hover{background:#4752c4;border-color:#4752c4;color:#fff}.authCheckbox{display:flex;align-items:center;gap:8px;margin:clamp(0px,1vh,10px) 0;cursor:pointer;font-size:13px;color:#ccc;-webkit-user-select:none;user-select:none}.authCheckbox input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0}.authCheckbox:hover{color:#fff}.authFormWrapper{width:100%;transition:height var(--transition-normal) ease;overflow:visible;position:relative;min-height:0;flex:0 0 auto}#loginForm{display:flex;flex-direction:column;width:100%}.authLoadingState{display:flex;align-items:center;justify-content:center;gap:10px;min-height:238px;width:100%;color:var(--text-muted);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.authLoadingPulse{width:10px;height:10px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 color-mix(in srgb,var(--accent-primary) 38%,transparent);animation:authLoadingPulse 1.4s ease-out infinite}.auth-is-pending #loginForm{display:none}.landingSecondaryActions,.landingDivider{opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.landingSecondaryActions.ready,.landingDivider.ready{opacity:1;pointer-events:auto}#landingSupportBtn{width:100%;grid-column:1/-1;color:var(--accent-primary);border:1px solid color-mix(in srgb,var(--accent-primary) 55%,transparent);font-weight:600}#landingSupportBtn:hover{background:color-mix(in srgb,var(--accent-primary) 16%,transparent)}@keyframes authLoadingPulse{0%{transform:scale(.86);box-shadow:0 0 color-mix(in srgb,var(--accent-primary) 38%,transparent)}70%{transform:scale(1);box-shadow:0 0 0 9px color-mix(in srgb,var(--accent-primary) 0%,transparent)}to{transform:scale(.86);box-shadow:0 0 color-mix(in srgb,var(--accent-primary) 0%,transparent)}}#authLoggedIn,#authNotLoggedIn,#authRegisterPanel,#authPasswordResetPanel{display:flex;flex-direction:column;align-items:center;width:100%;transition:opacity var(--transition-normal),transform var(--transition-normal)}#authLoggedIn[style*="display: none"],#authNotLoggedIn[style*="display: none"],#authRegisterPanel[style*="display: none"],#authPasswordResetPanel[style*="display: none"]{display:none!important}.auth-fade-in{animation:authFadeIn var(--transition-normal) forwards}.auth-fade-out{animation:authFadeOut var(--transition-normal) forwards}@keyframes authFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes authFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.authLoggedInUser{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;min-width:0;flex:0 1 auto}.authLoggedInRow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:12px 0;width:100%}.authLoggedInRow .authLoggedInJoinBtn{width:100%;max-width:220px;min-height:44px;background:color-mix(in srgb,var(--accent-primary) 86%,var(--bg-tertiary));border-color:var(--accent-primary);color:var(--bg-primary);font-weight:600;position:relative;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-primary) 45%,transparent),inset 0 1px #ffffff47}.authLoggedInRow .authLoggedInJoinBtn:after{content:"";position:absolute;top:-50%;bottom:-50%;left:0;width:42%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translate(-180%) skew(-20deg);animation:joinCtaGleam 5s cubic-bezier(.35,0,.2,1) 3}.authLoggedInRow .authLoggedInJoinBtn:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-hover) 60%,transparent),inset 0 1px #ffffff61}.authLoggedInRow .authLoggedInJoinBtn:hover:after{animation-name:joinCtaGleamHover;animation-duration:2s;animation-iteration-count:infinite}@media (prefers-reduced-motion: reduce){.authLoggedInRow .authLoggedInJoinBtn:after{animation:none;opacity:0}}.authLoggedInRow .authLoggedInJoinBtn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--bg-primary);transform:translateY(-1px)}.authLoggedInLabel{font-size:12px;color:var(--text-muted);white-space:nowrap}.authUsernameBtn{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%;padding:10px 12px;font-size:15px;font-weight:500;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.authUsernameBtn #authUsernameDisplay{overflow:hidden;text-overflow:ellipsis}.authUsernameBtn:hover{background:var(--bg-secondary);border-color:var(--accent-primary);transform:translateY(-1px)}.authUsernameBtn.auth-is-discord:before{content:"";width:16px;height:16px;flex:0 0 16px;background:#5865f2;mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 127.14 96.36' aria-hidden='true'%3E%3Cpath fill='currentColor' d='M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.25 8.09C2.79 32.65-1.71 56.6.54 80.21a105.73 105.73 0 0 0 32.17 16.15 77.7 77.7 0 0 0 6.89-11.11 68.42 68.42 0 0 1-10.85-5.18c.91-.66 1.8-1.34 2.66-2.04a75.57 75.57 0 0 0 64.32 0c.87.71 1.76 1.39 2.66 2.04a68.68 68.68 0 0 1-10.87 5.19 77 77 0 0 0 6.89 11.1 105.25 105.25 0 0 0 32.19-16.14c2.64-27.38-4.51-51.11-18.9-72.15ZM42.45 65.69c-6.27 0-11.44-5.73-11.44-12.77s5.06-12.78 11.44-12.78c6.43 0 11.55 5.78 11.44 12.78 0 7.04-5.06 12.77-11.44 12.77Zm42.24 0c-6.27 0-11.44-5.73-11.44-12.77s5.06-12.78 11.44-12.78c6.43 0 11.55 5.78 11.44 12.78 0 7.04-5.01 12.77-11.44 12.77Z'/%3E%3C/svg%3E") center/contain no-repeat}.authEditIcon{font-size:12px;opacity:.5;transition:opacity var(--transition-fast)}.authUsernameBtn:hover .authEditIcon{opacity:1}#authEditCredentials{width:100%}#authEditCredentials .authInput{margin-bottom:8px}.authEditHeader{display:flex;justify-content:center;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle);position:relative;width:100%}.authEditHeader span{font-size:13px;font-weight:600;color:var(--text-secondary);text-align:center;text-transform:uppercase;letter-spacing:.5px}.authEditClose{position:absolute;right:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:300;line-height:1;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:0;transition:background var(--transition-fast),color var(--transition-fast)}.authEditClose:hover{background:var(--bg-tertiary);color:var(--text-primary)}#authRegisterPanel{display:flex;flex-direction:column;align-items:center;width:100%}#authRegisterPanel .authInput{margin-bottom:8px}#authRegisterPanel .authInput[readonly]{opacity:.6;cursor:not-allowed}#authPasswordResetPanel{display:flex;flex-direction:column;align-items:center;width:100%;padding-bottom:8px}#authPasswordResetPanel .authInput{margin-bottom:8px}.authLinkButton{align-self:flex-end;margin:-2px 0 6px;padding:4px 0;font:inherit;font-size:12px;line-height:1.2;color:var(--text-muted);background:transparent;border:none;cursor:pointer;text-align:right;text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast)}.authLinkButton:hover{color:var(--accent-primary)}.authSecretPrompt,#passwordResetRequestFields,#passwordResetCompleteFields{width:100%}.authSecretQuestion{width:100%;margin:0 0 8px;padding:10px 12px;font-size:13px;line-height:1.35;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-tertiary) 80%,black 20%);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.authResetMessage{width:100%;min-height:18px;margin:2px 0 0;font-size:12px;line-height:1.35;color:var(--text-muted);text-align:center}.authResetMessage[data-kind=success]{color:var(--accent-primary)}.authResetMessage[data-kind=error]{color:#ef4444}.authModalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:#00000080}.authSetupModal{position:fixed;top:50%;left:50%;z-index:9999;width:calc(100vw - 32px);max-width:480px;padding:24px;transform:translate(-50%,-50%);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--text-primary)}.authSetupModal h3{margin:0 0 8px;font-size:18px;font-weight:600}.authSetupClose{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;font-size:24px;line-height:1}.authSetupClose:hover{color:var(--text-primary);background:color-mix(in srgb,var(--bg-tertiary) 82%,white 18%)}.authSetupText{margin:0 0 16px;color:var(--text-secondary);font-size:14px}#ddrawLinkFields{display:flex;flex-direction:column;gap:10px}.authSetupActions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.authError{margin-top:10px;padding:8px 12px;font-size:12px;color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);text-align:center}.landingError{margin-top:12px;padding:10px 12px;font-size:12px;color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);text-align:center}#offlineBtn,#loginOfflineBtn{margin-top:0;padding:clamp(0px,1.5vh,12px) 24px;font-size:13px;font-weight:600;background:transparent;border:1px dashed var(--text-muted);color:var(--text-muted);width:100%;text-align:center;transition:all var(--transition-fast)}#offlineBtn:hover,#loginOfflineBtn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 8%,transparent);border-style:solid}#landingPage{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;overflow-y:auto;padding:20px;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000}body.desktop-window-chrome #landingPage{top:0;bottom:0;padding-top:30px}#landingPage.blurred{filter:blur(4px);pointer-events:none}#landingPage.landing-in-room{background:#00000047;-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:center}#landingPage.landing-in-room .landingAuth{display:none}#landingPage.landing-in-room .landingContainer{max-width:560px;height:auto;min-height:0;max-height:calc(100dvh - 140px);margin-top:0}#landingPage.landing-in-room .landingRooms{width:100%}#landingPage.landing-in-room #landingChangelogBtn{display:none}#landingPage.landing-in-room .landingHeader .landingConnectionStatus{margin-right:44px}#landingPage.landing-in-room.landing-in-room-login .landingAuth{display:flex;width:100%;border-right:0}#landingPage.landing-in-room.landing-in-room-login .landingRooms{display:none}#landingPage.landing-in-room.landing-in-room-login .landingContainer{max-width:460px}#landingPage.landing-in-room.landing-in-room-login .landingDivider,#landingPage.landing-in-room.landing-in-room-login .landingSecondaryActions{display:none}.landingContainer{display:flex;position:relative;gap:0;max-width:1000px;width:100%;height:calc(100vh - 112px);height:calc(100dvh - 112px);min-height:560px;max-height:720px;margin-top:3.5rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.landingCloseBtn{position:absolute;top:10px;right:12px;z-index:5;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;font-size:22px;line-height:1;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.landingCloseBtn:hover{color:var(--text-primary);background:var(--bg-elevated);border-color:var(--accent-primary)}.landingFooterBtns{flex:0 0 auto;align-self:center;display:flex;gap:10px;margin:16px auto 0}.landingChangelogBtn{padding:10px 22px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;background:color-mix(in srgb,var(--bg-secondary) 88%,black 12%);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.landingChangelogBtn:hover{color:var(--text-primary);border-color:var(--accent-primary)}.landingChangelogBtn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.landingPanel{padding:clamp(0px,5vh,15px) clamp(0px,4vw,40px);display:flex;flex-direction:column;position:relative;min-height:0}.landingAuth{width:400px;border-right:1px solid var(--border-subtle);background:var(--bg-secondary);overflow-y:auto;overflow-x:hidden;min-height:0}.landingAuth #downloadBtn,.landingAuth #loginOfflineBtn,.landingAuth #feedbackWidgetMount{transition:flex-grow var(--transition-normal) ease,flex-basis var(--transition-normal) ease,min-height var(--transition-normal) ease,transform var(--transition-normal) ease,opacity var(--transition-normal) ease,margin var(--transition-normal) ease,background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.landingAuth #downloadBtn,.landingAuth #loginOfflineBtn{width:100%}.landingAuth .landingSecondaryActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.landingAuth .landingSecondaryActions>[style*="display: none"]{display:none!important}.landingAuth .landingSecondaryActions>.btn,.landingAuth .landingSecondaryActions #feedbackWidgetMount,.landingAuth .landingSecondaryActions #feedbackWidgetMount .feedback-widget,.landingAuth .landingSecondaryActions #feedbackWidgetMount .feedback-toggle{width:100%;min-width:0}.landingAuth .landingDiscordInviteBtn{max-width:none;min-height:42px;margin:0;padding-inline:10px;font-size:13px;font-weight:600;box-shadow:none}.landingAuth #feedbackWidgetMount{display:block;flex:0 0 auto;min-height:0;margin:0}.landingAuth #downloadBtn,.landingAuth #loginOfflineBtn,.landingAuth .landingDiscordInviteBtn,.landingAuth #feedbackWidgetMount .feedback-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;height:46px;padding:13px 12px;font-size:13px;font-weight:600;line-height:1.2;border-radius:var(--radius-sm)}.landingAuth #downloadBtn:before{content:"";flex:0 0 16px;width:16px;height:16px;background:currentColor;mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' aria-hidden='true'%3E%3Cpath fill='currentColor' d='M0 3.449 9.75 2.1v9.451H0V3.449zm10.949-1.5L24 0v11.4H10.949V1.949zM0 12.6h9.75v9.451L0 20.699V12.6zm10.949 0H24V24l-13.051-1.801V12.6z'/%3E%3C/svg%3E") center/contain no-repeat}.landingAuth #feedbackWidgetMount .feedback-toggle{background:color-mix(in srgb,var(--accent-primary) 10%,var(--bg-tertiary));border-color:color-mix(in srgb,var(--accent-primary) 28%,var(--border-subtle));color:var(--accent-primary)}.landingAuth #feedbackWidgetMount .feedback-toggle:hover{background:color-mix(in srgb,var(--accent-primary) 16%,var(--bg-tertiary));border-color:var(--accent-primary)}.landingAuth.auth-is-logged-in .landingDivider{margin:clamp(8px,2vh,16px) 0}.landingAuth.auth-is-logged-in #downloadBtn,.landingAuth.auth-is-logged-in #loginOfflineBtn,.landingAuth.auth-is-logged-in #feedbackWidgetMount{flex:0 0 auto;min-height:24px;max-height:60px;transform:translateY(0)}.landingAuth.auth-is-logged-in #downloadBtn,.landingAuth.auth-is-logged-in #loginOfflineBtn{padding-top:9px;padding-bottom:9px}.landingAuth.auth-is-logged-in #downloadBtn{background:color-mix(in srgb,var(--accent-primary) 10%,var(--bg-tertiary));border-color:color-mix(in srgb,var(--accent-primary) 28%,var(--border-subtle))}.landingAuth.auth-is-logged-in #feedbackWidgetMount{transform:translateY(0)}.landingAuth.auth-is-logged-in #feedbackWidgetMount,.landingAuth.auth-is-logged-in #feedbackWidgetMount .feedback-widget,.landingAuth.auth-is-logged-in #feedbackWidgetMount .feedback-toggle{display:flex;width:100%;min-height:24px;max-height:60px}.landingAuth.auth-is-logged-in #feedbackWidgetMount .feedback-widget,.landingAuth.auth-is-logged-in #feedbackWidgetMount .feedback-toggle{height:100%}.landingAuth.auth-is-logged-in #feedbackWidgetMount .feedback-toggle{align-items:center;justify-content:center}.landingAuth h2{margin:0 0 4px;font-size:32px;font-weight:600;color:var(--text-primary);text-align:center}.landingAuth .wordmark{display:block;margin:0 0 4px;font-size:51px;font-weight:700;color:var(--accent-primary);font-family:Fredoka,sans-serif;text-align:center;transform:rotate(-2deg);transition:all .2s}.landingAuth .wordmark:hover{color:var(--accent-hover);transform:rotate(-2deg) scale(1.05)}.landingSubtitle{margin:0 0 clamp(0px,3vh,32px) 0;font-size:14px;color:var(--text-muted);text-align:center;font-weight:400}.landingVersion{margin:0 0 clamp(0px,2.2vh,20px);font-size:12px;color:var(--text-muted);text-align:center;letter-spacing:.08em;text-transform:uppercase}.landingDivider{margin:clamp(0px,2vh,20px) 0;text-align:center;color:var(--text-muted);font-size:12px;position:relative}.landingDivider:before,.landingDivider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-subtle)}.landingDivider:before{left:0}.landingDivider:after{right:0}.landingRooms{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-primary);overflow-y:auto;overflow-x:hidden}.landingRooms h3{margin:0;font-size:24px;font-weight:600;color:var(--text-primary)}.landingRooms h4{margin:0;font-size:14px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.landingHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(0px,3vh,24px);gap:16px}.landingHeader h3{flex:none;white-space:nowrap}.landingHeaderActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:0;gap:8px}.landingWorldMapBtn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 9px;font-size:14px;font-weight:600;border-radius:var(--radius-sm);white-space:nowrap;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--accent-primary);transition:transform var(--transition-fast),border-color var(--transition-fast)}.landingWorldMapBtn .landingWorldMapIcon{flex:none;color:var(--accent-primary)}.landingWorldMapBtn:hover{transform:scale(1.06);border-color:var(--accent-hover)}.landingWorldMapBtn:active{transform:scale(1)}.landing-in-room .landingWorldMapBtn{display:none}.landingConnectionStatus{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary);white-space:nowrap}.landingConnectionStatus .connectionDot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:pulse 2s ease-in-out infinite}.landingConnectionStatus.connected .connectionDot{background:var(--accent-primary);animation:none}.landingConnectionStatus.disconnected .connectionDot{background:#ef4444;animation:none}.landingConnectionStatus.offline .connectionDot{background:#6b7280;animation:none}.landingConnectionStatus .connectionText{font-weight:500}.landingConnectionStatusMobile{display:none}.roomActions{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.roomDividerText{text-align:center;font-size:12px;color:var(--text-muted);padding:8px 0}.btn.large{padding:clamp(0px,2vh,16px) 24px;font-size:15px;font-weight:600}.btn .btnIcon{font-size:20px;margin-right:8px}.roomInputGroup{display:flex;gap:8px;align-items:center}.roomInputGroup .authInput{flex:1;margin-bottom:0}.roomInputGroup .btn{width:auto;padding:12px 20px;margin:0;flex-shrink:0}.roomListSection{flex:1;display:flex;flex-direction:column;min-height:0}.roomIdLandingInput{width:100%;max-width:180px;margin-bottom:0;flex:0 1 180px}.roomListHeader{display:flex;justify-content:flex-end;align-items:center;margin-bottom:12px}.roomJoinHeader{justify-content:flex-start;gap:8px;width:100%}.roomJoinHeader .landingJoinForGuest,.roomJoinHeader .landingJoinForUser,.roomJoinHeader #refreshRoomsBtn{flex:0 0 auto;min-height:40px}.roomJoinHeader .landingJoinForUser{display:none}.roomJoinHeader .landingJoinForGuest,.roomJoinHeader .landingJoinForUser{min-width:72px;background:color-mix(in srgb,var(--accent-primary) 82%,var(--bg-tertiary));border-color:var(--accent-primary);color:var(--bg-primary);font-weight:600;position:relative;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-primary) 45%,transparent),inset 0 1px #ffffff47}.roomJoinHeader .landingJoinForGuest:after,.roomJoinHeader .landingJoinForUser:after{content:"";position:absolute;top:-50%;bottom:-50%;left:0;width:42%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translate(-180%) skew(-20deg);animation:joinCtaGleam 6s cubic-bezier(.35,0,.2,1) 3}.roomJoinHeader .landingJoinForGuest:hover,.roomJoinHeader .landingJoinForUser:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-hover) 60%,transparent),inset 0 1px #ffffff61}.roomJoinHeader .landingJoinForGuest:hover:after,.roomJoinHeader .landingJoinForUser:hover:after{animation-name:joinCtaGleamHover;animation-duration:calc(6s / 2.5);animation-iteration-count:infinite}@media (prefers-reduced-motion: reduce){.roomJoinHeader .landingJoinForGuest:after,.roomJoinHeader .landingJoinForUser:after{animation:none;opacity:0}}.roomJoinHeader .landingJoinForGuest:hover,.roomJoinHeader .landingJoinForUser:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--bg-primary);transform:translateY(-1px)}.roomJoinHeader #refreshRoomsBtn{margin-left:auto}.roomJoinHeader .btn.roomRefreshBtn{width:40px;padding:0;color:var(--text-secondary)}.roomJoinHeader .btn.roomRefreshBtn svg{transition:transform .45s cubic-bezier(.4,0,.2,1)}.roomJoinHeader .btn.roomRefreshBtn:hover svg{transform:rotate(180deg)}.roomJoinHeader .btn.roomRefreshBtn:active svg{transform:rotate(360deg)}@media (prefers-reduced-motion: reduce){.roomJoinHeader .btn.roomRefreshBtn svg{transition:none}}.landingContainer:has(.landingAuth.auth-is-logged-in) .landingJoinForGuest{display:none}.landingContainer:has(.landingAuth.auth-is-logged-in) .landingJoinForUser{display:inline-flex}.btn.small{padding:6px 12px;font-size:12px}.roomList{flex:1;overflow-y:auto;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-height:clamp(80px,20vh,200px);max-height:clamp(150px,40vh,400px)}.roomListEmpty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:14px}.roomListItem{display:flex;align-items:center;gap:12px;height:80px;padding:12px 14px;margin-bottom:8px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.roomListItem:hover{border-color:var(--accent-primary);background:var(--bg-elevated)}.roomListItem.selected{height:120px;align-items:flex-start;border-color:var(--accent-primary);background:var(--bg-elevated);box-shadow:0 0 0 2px var(--accent-glow)}.roomListItem.selected .roomPreview,.roomListItem.selected .roomInfo{height:100%}.roomListItem.selected .roomHeading{flex:1;min-height:0;align-items:flex-start;overflow:hidden}.roomListItem.selected .roomDescription{height:100%;white-space:normal;overflow-y:auto;text-overflow:clip}.roomListItem:last-child{margin-bottom:0}.roomPreview{position:relative;height:120%;aspect-ratio:16/9;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-primary);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center}.roomPreview:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 1px #00000024,inset 0 0 18px #0000000f;border-radius:inherit;pointer-events:none}.roomPreview img{display:block;width:100%;height:100%;object-fit:cover;cursor:pointer;transition:transform var(--transition-fast)}.roomPreview.roomPreviewEmpty span{font-size:9px;color:var(--text-muted);text-align:center}.expandedRoomPreview{position:fixed;display:none;z-index:10000;padding:8px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-width:600px;max-height:400px}.expandedRoomPreview img{width:100%;height:auto;max-height:380px;object-fit:contain;border-radius:var(--radius-sm)}.roomInfo{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.roomHeading{display:flex;align-items:baseline;gap:8px;min-width:0;overflow:hidden}.roomDescription{flex:1;min-width:0;line-height:1.35;font-size:12px;color:var(--text-secondary);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roomId{flex:0 0 auto;font-family:inherit;font-size:16px;font-weight:700;line-height:1.2;color:var(--text-primary);letter-spacing:0}.roomMeta{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:8px;flex-shrink:0}.roomUserCount{display:inline-flex;align-items:center;gap:4px}.roomUserCount:before{content:"👤";font-size:11px}.roomBadge{display:inline-block;padding:3px 8px;font-size:10px;font-weight:600;background:var(--accent-glow);color:var(--accent-primary);border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.roomBadge.default{background:#64c8ff1a;color:#64c8ff}.roomBadge.locked{background:#ef44441a;color:#ef4444}@media (max-width: 520px){.roomJoinHeader{flex-wrap:wrap}.roomListItem,.roomListItem.selected{flex-direction:column;align-items:stretch;height:auto;min-height:0;padding:12px}.roomListItem .roomPreview,.roomListItem.selected .roomPreview{width:100%;height:auto;aspect-ratio:16/9}.roomListItem .roomInfo,.roomListItem.selected .roomInfo{width:100%;height:auto}.roomListItem .roomHeading,.roomListItem.selected .roomHeading{flex-direction:column;align-items:flex-start;gap:4px;overflow:visible}.roomListItem .roomDescription,.roomListItem.selected .roomDescription{width:100%;height:auto;white-space:normal;overflow:visible;text-overflow:clip}.roomListItem .roomMeta,.roomListItem.selected .roomMeta{flex-wrap:wrap}}.createRoomBtn{width:100%;margin-bottom:14px;padding:clamp(8px,1.5vh,12px) 20px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.25;background:color-mix(in srgb,var(--accent-primary) 82%,var(--bg-tertiary));color:var(--bg-primary);border:1px solid var(--accent-primary);border-radius:var(--radius-md);box-shadow:inset 0 1px #ffffff47;cursor:pointer;letter-spacing:0;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.createRoomBtn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--bg-primary);transform:translateY(-1px)}.createRoomBtn:active{transform:translateY(0)}.createRoomOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.createRoomPanel{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:clamp(20px,4vh,32px) clamp(20px,3vw,32px);width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.createRoomTitle{margin:0 0 16px;font-size:18px;font-weight:700;color:var(--text-primary)}.createRoomNotice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-bottom:20px;background:#ffc83c14;border:1px solid rgba(255,200,60,.25);border-radius:var(--radius-md);font-size:13px;color:var(--text-secondary);line-height:1.5}.createRoomNotice .noticeIcon{font-size:16px;flex-shrink:0;color:#ffc83c;margin-top:1px}.createRoomNotice strong{color:#ffc83c}.createRoomForm{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.createRoomField{display:flex;flex-direction:column;gap:5px}.createRoomField label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.createRoomField .authInput{margin-bottom:0}.createRoomFieldHint{font-size:11px;color:var(--text-muted)}.optionalTag{font-weight:400;text-transform:none;font-size:11px;color:var(--text-muted);letter-spacing:0}.createRoomRow{display:flex;gap:12px}.createRoomRow .half{flex:1}#createRoomDesc{height:auto;line-height:1.4;resize:none}.colorInput{padding:4px 6px;height:40px;cursor:pointer}.authSelect{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}.authSelect option{background:var(--bg-tertiary);color:var(--text-primary)}.createRoomCheckRow{display:flex;align-items:center;gap:10px;padding:4px 0}.createRoomCheckRow label{font-size:13px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.createRoomCheck{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-primary);flex-shrink:0}.createRoomModNote{padding:12px 14px;margin-bottom:20px;background:#00d4aa0f;border:1px solid rgba(0,212,170,.2);border-radius:var(--radius-md);font-size:12.5px;color:var(--text-secondary);line-height:1.55}.createRoomModNote strong{display:block;color:var(--accent-primary);margin-bottom:4px}.createRoomActions{display:flex;gap:10px;justify-content:flex-end}.createRoomActions .btn{min-width:100px}.createRoomError{margin-bottom:10px;font-size:13px}.btn.disabled,.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.authInput:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.landingContainer{flex-direction:column;min-height:0;max-height:calc(100dvh - 56px);overflow-y:auto;overflow-x:hidden}.landingAuth{flex:0 0 auto;width:100%;border-right:none;border-bottom:1px solid var(--border-subtle);overflow:visible}.landingPanel{padding:24px}.landingRooms{flex:0 0 auto;width:100%;overflow:visible}.landingHeader .landingConnectionStatus{display:none}.landingConnectionStatusMobile{display:flex;align-self:center;width:100%;max-width:260px;justify-content:center;margin:0 0 8px}.roomListSection{flex:0 0 auto}.roomList{max-height:none;overflow:visible}}@media (max-height: 820px){#landingPage{align-items:stretch}.landingContainer{margin:0 auto}.landingAuth{justify-content:flex-start;padding-bottom:24px;overflow-y:auto}.authFormWrapper{min-height:0;height:auto!important;transition:none}}@media (max-width: 768px){.roomUserCount{font-size:14px}.roomBadge{font-size:12px;padding:4px 8px}#feedbackWidgetMount .feedback-toggle,.landingSecondaryActions #feedbackWidgetMount .feedback-toggle{font-size:14px!important}}.roomList{overflow-x:hidden}.roomListItem{min-width:0;box-sizing:border-box}.roomPreview{flex:0 1 auto;min-width:0;max-width:42%}.roomId{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roomUserCount{white-space:nowrap}.roomDescription{flex:1 1 0}.landingAuth .landingSecondaryActions #loginOfflineBtn{grid-column:1/-1}@media (max-width: 480px){.landingHeader{flex-wrap:wrap;gap:8px 12px}.landingHeaderActions{flex:1 1 auto}.roomJoinHeader{flex-wrap:nowrap}.roomJoinHeader .roomIdLandingInput{flex:1 1 0;min-width:0;max-width:none}}@media (max-width: 400px){.landingAuth .landingSecondaryActions{grid-template-columns:minmax(0,1fr)}.landingAuth #downloadBtn,.landingAuth #loginOfflineBtn,.landingAuth .landingDiscordInviteBtn,.landingAuth #feedbackWidgetMount .feedback-toggle{height:auto;white-space:normal}}@media (pointer: coarse),(max-width: 768px){.authTab,.landingWorldMapBtn{min-height:40px}}@media (max-height: 620px) and (orientation: landscape){#landingPage{padding:8px}.landingFooterBtns{order:-1;margin:0 auto 6px;gap:8px}.landingChangelogBtn{min-height:40px;padding:6px 16px;font-size:12px}#landingPage .landingContainer{flex-direction:row;height:auto;min-height:0;max-height:none;margin-top:0;overflow:visible}#landingPage .landingAuth{flex:0 0 min(46%,380px);width:min(46%,380px);border-right:1px solid var(--border-subtle);border-bottom:0;overflow:visible;padding-top:8px;padding-bottom:8px}#landingPage .landingRooms{flex:1 1 0;width:auto;overflow-y:auto}.landingAuth .wordmark{font-size:28px;margin:0}.landingAuth .landingVersion{display:none}.landingConnectionStatusMobile{margin:0 auto 4px;padding:2px 10px}.landingHeader{margin-bottom:6px}.landingDivider{margin:6px 0}.createRoomBtn{margin-bottom:8px}.roomList{min-height:80px;max-height:40vh;overflow-y:auto}}.connectionStatus{display:flex;align-items:center;gap:6px;padding:0 10px;border-radius:var(--radius-sm);font-size:11px;color:var(--text-secondary);min-width:0;overflow:hidden}@media (max-width: 1380px){.connectionStatus{padding:0 4px;gap:0}.connectionStatus .connectionText{display:none}.connectionStatus .connectionReconnect,.connectionStatus .connectionDisconnect{display:none!important}}.connectionDot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.connectionStatus.connected .connectionDot{background:#22c55e;box-shadow:0 0 6px #22c55e80}.connectionStatus.disconnected .connectionDot{background:#ef4444;box-shadow:0 0 6px #ef444480}.connectionStatus.connecting .connectionDot{background:#f59e0b;box-shadow:0 0 6px #f59e0b80;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.connectionRoom{display:inline-flex;align-items:center;gap:5px;max-width:170px;min-width:0;overflow:hidden;height:28px;padding:0 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font:inherit;cursor:pointer}.connectionRoom:hover{color:var(--text-primary);border-color:var(--accent-primary)}.connectionRoom:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.connectionRoom .connectionRoomIcon{width:18px;height:18px;flex-shrink:0;color:var(--accent-primary)}.connectionRoom .connectionRoomName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1380px){.connectionRoom .connectionRoomName{display:none}}html[data-embed=true] .connectionRoom{display:none!important}@media (pointer: coarse),(max-width: 900px){.connectionRoom{height:40px;min-width:40px;justify-content:center}}html[data-mobile=true] .connectionRoom{height:40px;min-width:40px;justify-content:center}.connectionReconnect,.connectionDisconnect{padding:3px 8px!important;font-size:10px!important;margin-left:4px}.sync-overlay{display:none;position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:100;pointer-events:none;align-items:center;justify-content:center}.sync-overlay.active{display:flex;pointer-events:all}.sync-content{display:flex;flex-direction:column;align-items:center;gap:12px;width:calc(100% - 32px);max-width:420px;text-align:center}.sync-text{color:#fff;font-size:18px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.5)}.sync-progress-bar{width:300px;height:8px;background:#fff3;border-radius:4px;overflow:hidden;box-shadow:0 2px 6px #0000004d}.sync-progress-fill{width:0%;height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:4px;animation:syncPulse 1.5s ease-in-out infinite}.sync-hint{color:#ffffffd1;font-size:13px;line-height:1.4;text-shadow:0 1px 4px rgba(0,0,0,.4)}@keyframes syncPulse{0%,to{opacity:.8}50%{opacity:1}}.modOnly{display:none}.modOnly.visible,.menuDivider.modOnly.visible{display:block}button.modOnly.visible,a.modOnly.visible{display:inline-flex}div.modOnly.visible{display:flex}.adminOnly{display:none!important}.adminOnly.admin-visible{display:block!important}div.adminOnly.admin-visible{display:flex!important}#debugOverlay{position:absolute;top:0;left:0;pointer-events:none;display:none;z-index:5}.clearConfirmWrap{position:relative;align-items:center;justify-content:center}.clearConfirmPrompt{position:fixed;min-width:176px;padding:10px;background:var(--bg-secondary);border:1px solid rgba(239,68,68,.32);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease;z-index:950;pointer-events:none}.clearConfirmPrompt-visible{opacity:1;transform:translateY(0);pointer-events:auto}.clearConfirmText{color:var(--text-primary);font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap}.clearConfirmActions{display:flex;gap:6px;margin-top:8px}.clearConfirmBtn{flex:1;padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.clearConfirmBtn:hover{background:var(--bg-elevated);border-color:var(--border-active)}.clearConfirmBtn-danger{background:#ef444424;border-color:#ef444461;color:#fca5a5}.clearConfirmBtn-danger:hover{background:#ef444433;border-color:#f87171;color:#fecaca}#modPanel{display:none;flex-direction:column;position:absolute;right:16px;top:60px;width:720px;max-width:calc(100vw - 32px);max-height:min(600px,calc(100dvh - 76px));box-sizing:border-box;background:var(--surface-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:50}#modPanelHeader{background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);padding:10px 12px;display:flex;align-items:center;gap:8px;flex-shrink:0}.modPanelTitle{flex:1;font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.modTabs{display:none}.modFilterChips{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.modChip{padding:4px 10px;font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:999px;cursor:pointer;transition:all var(--transition-fast);letter-spacing:.02em}.modChip:hover{color:var(--text-primary);border-color:var(--border-active)}.modChip.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#000}.chatCloseBtn{background:transparent;border:none;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer;padding:0 4px;border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.chatCloseBtn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.modTab{flex:1;padding:8px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.modTab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modTab.active{background:var(--bg-elevated);border-color:var(--border-subtle);color:var(--text-primary)}.modPanelControls{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.modSearchInput{flex:1;min-width:0;height:32px;box-sizing:border-box;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;font-family:inherit;transition:border-color var(--transition-fast)}.modSearchInput::placeholder{color:var(--text-muted)}.modSearchInput:focus{outline:none;border-color:var(--border-active)}.modHistoryToggle{height:32px;flex-shrink:0;font-family:inherit;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.modHistoryToggle:hover{border-color:var(--border-active);color:var(--text-primary)}.modHistoryToggle.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#000}.modEntryList{flex:1;min-height:0;overflow-y:auto;padding:10px}.modNoEntries{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:13px}.modTableWrap{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-primary)}.modTable{width:100%;min-width:660px;border-collapse:collapse;font-size:12px}.modTable th,.modTable td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.modTable th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-secondary);font-weight:600;position:sticky;top:0;z-index:1}.modTable tbody tr:last-child td{border-bottom:none}.modTableRow.revoked,.modTableRow.expired{opacity:.55}.modTableUser{display:flex;flex-wrap:wrap;align-items:center;gap:6px;line-height:1.2}.modTableUser strong{overflow-wrap:anywhere;color:var(--text-primary);font-weight:600;font-size:13px}.modTableSub{color:var(--text-muted);font-size:11px;margin-top:2px}.modTableMuted{color:var(--text-muted)}.modTableReason{color:var(--text-secondary);font-style:italic;max-width:220px;min-width:100px;overflow-wrap:anywhere}.modTable td.modTableActions{text-align:right;white-space:nowrap}.modTableEmpty{text-align:center;color:var(--text-muted);padding:24px 16px}.modEntry{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-size:12px}.modEntry.revoked,.modEntry.expired{opacity:.55}.modEntryTop{display:flex;align-items:center;justify-content:space-between;gap:8px}.modEntryUser{flex:1;font-weight:600;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modEntryPill{font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:var(--radius-sm);flex-shrink:0}.modEntryPill.modEntryPill-bans{background:#ef44442e;color:#fca5a5}.modEntryPill.modEntryPill-mutes{background:#eab3082e;color:#fde68a}.modEntryPill.modEntryPill-shadowbans{background:#8b5cf638;color:#c4b5fd}.modEntryPill.modEntryPill-silences{background:#38bdf82e;color:#7dd3fc}.modEntryScope{margin-left:6px;padding:1px 5px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-muted);font-family:monospace;font-size:10px}.modEntryStatus{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:var(--radius-sm);flex-shrink:0}.modEntryStatus.active{background:#ef444426;color:#f87171}.modEntryStatus.expired,.modEntryStatus.revoked{background:#6b728026;color:var(--text-muted)}.modEntryReason{color:var(--text-secondary);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modEntryMeta{display:flex;justify-content:space-between;color:var(--text-muted);font-size:11px;gap:8px}.modEntryMeta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modEntryIp{font-family:monospace}.modEntryRemove{margin-top:0;align-self:flex-end;padding:4px 10px;background:transparent;border:1px solid rgba(239,68,68,.4);border-radius:var(--radius-sm);color:#f87171;font-size:11px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.modEntryRemove:hover{background:#ef444426;border-color:#f87171}.modEntryExpires{white-space:nowrap}.modEntryExpiryContent{display:flex;align-items:center;gap:6px}.modEntryExpiresText{white-space:normal;min-width:80px}.modEntryEditDuration{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font:inherit;padding:5px 6px;border-radius:var(--radius-sm)}.modEntryEditDuration:hover{color:var(--text-primary);background:var(--bg-tertiary)}.modEntryDurationSelect{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;min-height:30px;padding:4px 6px}.modEntryDurationEditor{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:150px}.modEntryDurationSave,.modEntryDurationCancel{min-height:30px;padding:4px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font:inherit;cursor:pointer}.modEntryDurationSave:hover,.modEntryDurationCancel:hover{border-color:var(--border-active)}.modEntryDurationSave{background:var(--accent-primary);color:#000}@media (max-width: 480px){#modPanel{right:8px;max-width:calc(100vw - 16px)}.modFilterChips{padding:8px 12px}.modEntryList{padding:8px}}.modOverlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:200}.modOverlayBox{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:32px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:320px}.modOverlayBox h3{margin:0;font-size:20px;font-weight:600;color:#f87171}.modOverlayReason{margin:0;font-size:13px;color:var(--text-secondary)}.modDialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modDialog{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:24px;width:320px;display:flex;flex-direction:column;gap:12px}.modDialog h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary);text-transform:capitalize}.modDialog h3.danger{color:#f87171}.modDialog label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.modDialog input,.modDialog select{width:100%;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:inherit;box-sizing:border-box;transition:border-color var(--transition-fast)}.modDialog input:focus,.modDialog select:focus{outline:none;border-color:var(--border-active)}.modDialog select option{background:var(--bg-secondary)}.modDialog-buttons{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.modDialog-buttons .btn.danger{background:#ef444426;border-color:#ef444466;color:#f87171}.modDialog-buttons .btn.danger:hover{background:#ef444440;border-color:#f87171}.modReasonCard{position:fixed;top:56px;left:50%;width:320px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden;opacity:0;transform:translate(-50%) translateY(-10px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.modReasonCard.modReasonCard-visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.modReasonCard.danger{border-color:#ef444459}.modReasonCard-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;gap:8px}.modReasonCard-title{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modReasonCard-title strong{color:var(--text-primary);font-weight:600}.modReasonCard-close{flex-shrink:0;background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:2px 4px;line-height:1;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.modReasonCard-close:hover{color:var(--text-primary)}.modReasonCard-body{display:flex;gap:6px;padding:0 12px 10px;flex-wrap:wrap}.modReasonCard-scopeRow{flex:1 0 100%;display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted)}.modReasonCard-scopeLabel{text-transform:uppercase;letter-spacing:.04em;font-weight:500}.modReasonCard-scope{flex:1;padding:5px 8px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;font-family:inherit;cursor:pointer}.modReasonCard-scope:focus{outline:none;border-color:var(--border-active)}.modReasonCard-input{flex:1;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;font-family:inherit;transition:border-color var(--transition-fast)}.modReasonCard-input::placeholder{color:var(--text-muted)}.modReasonCard-input:focus{outline:none;border-color:var(--border-active)}.modReasonCard-submit{flex-shrink:0;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.modReasonCard-submit:hover{background:var(--bg-elevated);border-color:var(--border-active)}.modReasonCard-timer{height:2px;width:100%;background:var(--accent-primary);opacity:.5}.modWipePrompt{position:fixed;width:280px;background:var(--bg-secondary);border:1px solid rgba(239,68,68,.28);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1001;overflow:hidden;opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.modWipePrompt-visible{opacity:1;transform:translateY(0);pointer-events:auto}.modWipePrompt-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 6px}.modWipePrompt-title{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modWipePrompt-title strong{color:var(--text-primary);font-weight:600}.modWipePrompt-close{flex-shrink:0;background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:2px 4px;line-height:1;border-radius:var(--radius-sm)}.modWipePrompt-close:hover{color:var(--text-primary)}.modWipePrompt-text{margin:0;padding:0 12px 10px;color:var(--text-primary);font-size:13px;line-height:1.35}.modWipePrompt-actions{display:flex;gap:8px;padding:0 12px 12px}.modWipePrompt-btn{flex:1;padding:7px 10px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.modWipePrompt-btn:hover{background:var(--bg-elevated);border-color:var(--border-active)}.modWipePrompt-btn-danger{background:#ef444424;border-color:#ef444461;color:#fca5a5}.modWipePrompt-btn-danger:hover{background:#ef444433;border-color:#f87171;color:#fecaca}.modWipePrompt-timer{height:2px;width:100%;background:#f87171;opacity:.55}.saveDestinationMenu{position:fixed;z-index:1500;width:224px;max-width:calc(100vw - 16px);padding:6px;box-sizing:border-box;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-lg)}.saveDestinationMenu[hidden]{display:none}.saveDestinationMenu button{display:flex;flex-direction:column;gap:3px;width:100%;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.saveDestinationMenu button:hover,.saveDestinationMenu button:focus-visible{background:var(--bg-tertiary);outline:2px solid var(--accent-primary);outline-offset:-2px}.saveDestinationMenu button small{color:var(--text-secondary);font-size:11px}.saveModeDestination{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary)}.saveModeDestination select{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font:inherit}.saveModeWipOptions{display:flex;flex-direction:column;gap:8px;color:var(--text-secondary);font-size:12px}.saveModeWipOptions[hidden]{display:none}.saveModeWipOptions p{margin:0}.saveModeWipOptions small{line-height:1.4}.saveModeOverlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.saveModePanel{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:360px;max-width:90vw;display:flex;flex-direction:column;overflow:hidden}.saveModePanelHeader{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle)}.saveModePanelHeader span{font-size:15px;font-weight:600;color:var(--text-primary)}.saveModePanelBody{padding:18px;display:flex;flex-direction:column;gap:16px}.saveModeSection{display:flex;flex-direction:column;gap:8px}.saveModeSectionLabel{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.saveModeRadioGroup{display:flex;gap:10px}.saveModeRadio{flex:1;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-primary);border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);-webkit-user-select:none;user-select:none}.saveModeRadio input[type=radio]{accent-color:var(--accent-primary);width:15px;height:15px;flex-shrink:0;cursor:pointer}.saveModeRadio span{font-size:13px;font-weight:500;color:var(--text-primary)}.saveModeRadio:has(input:checked){border-color:var(--accent-primary);background:var(--bg-elevated)}.saveModeRadio:has(input:disabled){opacity:.4;cursor:not-allowed}.saveModeRadio:has(input:disabled) input{cursor:not-allowed}.saveModeCheckbox{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.saveModeCheckbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0}.saveModeCheckbox span{font-size:13px;font-weight:500;color:var(--text-primary)}.saveModePanelFooter{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--bg-tertiary);border-top:1px solid var(--border-subtle);gap:10px}.saveModePanelFooter .saveModeGallery{flex:1}.saveModePanelFooter .saveModeActions{display:flex;gap:8px}.saveModePanelFooter .btn{padding:8px 16px;font-size:13px;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.saveModePanelFooter .btn.secondary{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary)}.saveModePanelFooter .btn.secondary:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--text-primary)}.saveModePanelFooter .btn.primary{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#000}.saveModePanelFooter .btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.saveModeInteractive{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);z-index:2100;display:flex;align-items:center;justify-content:center;overflow:hidden}.saveModeSnapshot,.saveModeSelection{position:absolute;top:0;left:0;transform-origin:0 0}.saveModeSnapshot{image-rendering:auto}.saveModeSelection{cursor:crosshair;pointer-events:auto;touch-action:none}.saveModeControls{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px}.saveModeModeToggle,.saveModeZoomControls{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:4px;box-shadow:var(--shadow-md)}.saveModeModeToggle,.saveModeZoomControls{display:flex;gap:4px}.saveModeToggleBtn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.saveModeToggleBtn:hover{background:var(--bg-elevated);color:var(--text-primary)}.saveModeToggleBtn.active{background:var(--accent-primary);color:#000}.saveModeToggleBtn svg{width:18px;height:18px}.saveModeZoomBtn,.saveModeZoomResetBtn{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:18px;font-weight:600}.saveModeZoomBtn:hover,.saveModeZoomResetBtn:hover{background:var(--bg-elevated);color:var(--text-primary)}.saveModeZoomResetBtn{min-width:68px;padding:0 12px;font-size:13px;font-weight:600}.saveModeCloseBtn{position:absolute;top:16px;right:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:24px;line-height:1;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.saveModeCloseBtn:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--text-primary)}.saveModeOptionsPanel{position:absolute;left:50%;bottom:16px;width:calc(100vw - 32px);max-width:760px;transform:translate(-50%);padding:12px 16px;background:color-mix(in srgb,var(--bg-secondary) 94%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.saveModeStep{display:flex;align-items:center;gap:14px;min-width:0}.saveModeStep[hidden]{display:none}.saveModeStepMain{flex-wrap:wrap;gap:10px 16px}.saveModeStepMain .saveModeDestination,.saveModeStepMain .saveModeOptionsInfo{flex:1 1 240px}.saveModeStepMain .saveModeWipOptions{flex:1 0 100%}.saveModeOptionsActions .btn[hidden]{display:none}.saveModeOptionsInfo{flex:1 1 180px;min-width:0;display:flex;flex-direction:column;gap:2px}.saveModeOptionsHint{font-size:13px;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saveModeSelectionInfo{font-size:11px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saveModeSelectionInfo:empty{display:none}.saveModeOptionsCheckbox{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.saveModeOptionsCheckbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0}.saveModeOptionsCheckbox span{font-size:12px;font-weight:500;color:var(--text-primary)}.saveModeOptionsActions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.saveModeOptionsActions .btn{padding:8px 14px;font-size:12px;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.saveModeOptionsActions .btn.secondary{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary)}.saveModeOptionsActions .btn.secondary:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--text-primary)}.saveModeOptionsActions .btn.primary{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#000}.saveModeOptionsActions .btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.saveModeStepGallery{flex-direction:column;align-items:stretch;gap:12px}.saveModeStepGallery .saveModeOptionsActions{margin-left:0;justify-content:flex-end}.saveModeGalleryFields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:end}.saveModeField{display:flex;flex-direction:column;gap:4px;min-width:0}.saveModeField span{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.saveModeField input[type=text],.saveModeField textarea{width:100%;min-height:36px;background:color-mix(in srgb,var(--bg-primary) 88%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);padding:8px 10px;font:inherit;font-size:13px}.saveModeField input[type=text]::placeholder,.saveModeField textarea::placeholder{color:var(--text-tertiary)}.saveModeField input[type=text]:focus,.saveModeField textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-primary) 45%,transparent)}.saveModeField textarea{min-height:56px;resize:vertical}.saveModeDescriptionField,.saveModeTagsField{grid-column:1/-1}.saveModeTagInput{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;padding:5px 6px;background:color-mix(in srgb,var(--bg-primary) 88%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:text}.saveModeTagInput:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-primary) 45%,transparent)}.saveModeTagInput input[type=text]{flex:1 1 140px;min-width:120px;min-height:24px;padding:0 2px;background:none;border:none;color:var(--text-primary);font:inherit;font-size:13px}.saveModeTagInput input[type=text]::placeholder{color:var(--text-tertiary)}.saveModeTagInput input[type=text]:focus{outline:none;border:none;box-shadow:none}.saveModeTagChip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 7px 3px 8px;background:color-mix(in srgb,var(--accent-primary) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent-primary) 40%,transparent);border-radius:999px;font:inherit;cursor:pointer}.saveModeTagChip:hover,.saveModeTagChip:focus-visible{background:color-mix(in srgb,var(--accent-primary) 28%,transparent);border-color:color-mix(in srgb,var(--accent-primary) 65%,transparent);outline:none}.saveModeTagChip:hover .saveModeTagChipRemove,.saveModeTagChip:focus-visible .saveModeTagChipRemove{color:var(--text-primary)}.saveModeGuestNote{margin:0;font-size:12px;line-height:1.4;color:var(--text-secondary)}.saveModeTagChipAuthor{background:color-mix(in srgb,var(--accent-primary) 30%,transparent);border-style:dashed;border-color:color-mix(in srgb,var(--accent-primary) 70%,transparent)}.saveModeField .saveModeTagChipLabel{overflow:hidden;font-size:12px;font-weight:500;color:var(--text-primary);text-overflow:ellipsis;text-transform:none;letter-spacing:0;white-space:nowrap}.saveModeTagChipRemove{flex:0 0 auto;color:var(--text-secondary);font-size:14px;line-height:1}.saveModeGalleryToggles{display:flex;flex-direction:column;gap:8px;padding-bottom:6px}.saveModeTimelapseToggle[hidden]{display:none}.saveModeTimelapseWindow{position:absolute;left:50%;transform:translate(-50%);bottom:140px;width:440px;max-width:calc(100vw - 32px);padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:color-mix(in srgb,var(--bg-secondary) 94%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.saveModeTimelapseWindow[hidden]{display:none}.saveModeTimelapseHeader{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.saveModeTimelapseHeader>span:first-child{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.saveModeTimelapsePreview{position:relative;width:100%;height:220px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg-primary) 88%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.saveModeTimelapseVideo{display:block;max-width:100%;max-height:100%}.saveModeTimelapseVideo[hidden]{display:none}.saveModeTimelapseSpinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:500;color:var(--text-secondary);text-align:center;background:color-mix(in srgb,var(--bg-primary) 72%,transparent)}.saveModeTimelapseSpinner[hidden]{display:none}.saveModeTimelapseSpinnerIcon{width:16px;height:16px;border:2px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:saveModeTimelapseSpin .8s linear infinite}@keyframes saveModeTimelapseSpin{to{transform:rotate(360deg)}}.saveModeTimelapseTrim{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.saveModeTimelapseTrim label{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:8px}.saveModeTimelapseTrim label span{font-size:11px;color:var(--text-secondary)}.saveModeTimelapseTrim label input[type=range]{width:100%;min-width:0;accent-color:var(--accent-primary)}.saveModeTimelapseFrames{font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}@media (max-width: 768px){.saveModeControls{top:12px;left:12px;transform:none;gap:8px}.saveModeCloseBtn{top:12px;right:12px}.saveModeModeToggle,.saveModeZoomControls{gap:2px;padding:3px}.saveModeToggleBtn,.saveModeZoomBtn,.saveModeZoomResetBtn,.saveModeCloseBtn{min-width:44px;height:44px}.saveModeZoomResetBtn{min-width:64px}.saveModeOptionsPanel{bottom:8px;width:calc(100vw - 16px);padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 76px);overflow-y:auto}.saveModeStepMain{flex-direction:column;align-items:stretch;gap:10px}.saveModeStepMain .saveModeDestination,.saveModeStepMain .saveModeWipOptions,.saveModeStepMain .saveModeOptionsInfo{flex:0 0 auto}.saveModeOptionsInfo{flex:0 0 auto;align-items:center;text-align:center}.saveModeOptionsHint,.saveModeSelectionInfo{white-space:normal}.saveModeStepMain .saveModeOptionsCheckbox{justify-content:center}.saveModeOptionsActions{margin-left:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.saveModeOptionsActions .btn.primary{grid-column:1/-1}.saveModeOptionsActions .btn{min-height:44px;font-size:13px}.saveModeGalleryFields{grid-template-columns:1fr;align-items:stretch}.saveModeGalleryToggles{flex-direction:row;flex-wrap:wrap;gap:8px 18px;padding-bottom:0;justify-content:center}.saveModeField textarea{min-height:48px}.saveModeTagChip{padding:6px 10px}.saveModeTimelapseWindow{width:calc(100vw - 16px);padding:10px 12px}.saveModeTimelapsePreview{height:150px}}html[data-mobile=true] .saveModeControls{top:12px;left:12px;transform:none;gap:8px}html[data-mobile=true] .saveModeCloseBtn{top:12px;right:12px}html[data-mobile=true] .saveModeModeToggle,html[data-mobile=true] .saveModeZoomControls{gap:2px;padding:3px}html[data-mobile=true] .saveModeToggleBtn,html[data-mobile=true] .saveModeZoomBtn,html[data-mobile=true] .saveModeZoomResetBtn,html[data-mobile=true] .saveModeCloseBtn{min-width:44px;height:44px}html[data-mobile=true] .saveModeZoomResetBtn{min-width:64px}html[data-mobile=true] .saveModeOptionsPanel{bottom:8px;width:calc(100vw - 16px);padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 76px);overflow-y:auto}html[data-mobile=true] .saveModeStepMain{flex-direction:column;align-items:stretch;gap:10px}html[data-mobile=true] .saveModeStepMain .saveModeDestination,html[data-mobile=true] .saveModeStepMain .saveModeWipOptions,html[data-mobile=true] .saveModeStepMain .saveModeOptionsInfo{flex:0 0 auto}html[data-mobile=true] .saveModeOptionsInfo{flex:0 0 auto;align-items:center;text-align:center}html[data-mobile=true] .saveModeOptionsHint,html[data-mobile=true] .saveModeSelectionInfo{white-space:normal}html[data-mobile=true] .saveModeStepMain .saveModeOptionsCheckbox{justify-content:center}html[data-mobile=true] .saveModeOptionsActions{margin-left:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}html[data-mobile=true] .saveModeOptionsActions .btn.primary{grid-column:1/-1}html[data-mobile=true] .saveModeOptionsActions .btn{min-height:44px;font-size:13px}html[data-mobile=true] .saveModeGalleryFields{grid-template-columns:1fr;align-items:stretch}html[data-mobile=true] .saveModeGalleryToggles{flex-direction:row;flex-wrap:wrap;gap:8px 18px;padding-bottom:0;justify-content:center}html[data-mobile=true] .saveModeField textarea{min-height:48px}html[data-mobile=true] .saveModeTagChip{padding:6px 10px}html[data-mobile=true] .saveModeTimelapseWindow{width:calc(100vw - 16px);padding:10px 12px}html[data-mobile=true] .saveModeTimelapsePreview{height:150px}.selectionMenu{position:absolute;z-index:20;display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.selectionMenu.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;min-width:160px}.selectionMenu.grid .selectionMenuHandle{grid-column:1/-1}.selectionMenu .selectionMenuHandle{order:-1;height:10px;margin:-2px -2px 2px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:grab;position:relative}.selectionMenu .selectionMenuHandle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:3px;border-radius:2px;background:var(--border-subtle)}.selectionMenu .selectionMenuHandle:hover:before{background:var(--accent-primary)}.selectionMenu .selectionMenuHandle:active{cursor:grabbing}.selectionMenu .menuItem{padding:6px 10px;font-size:11px;font-weight:500;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.selectionMenu .menuItem:hover{background:var(--bg-elevated);border-color:var(--accent-primary);color:var(--accent-primary)}.selectionMenu .menuItem:active{transform:scale(.95)}.selectionMenu .menuItem.hidden{display:none}.selectionMenu .menuItem.toggled{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.selectionMenu .menuItem.menuItemWide{grid-column:1/-1;justify-self:center;min-width:92px}.selectionMenu .menuItemDropdown{position:relative;padding:6px 10px;font-size:11px;font-weight:500;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-align:center;-webkit-user-select:none;user-select:none;outline:none}.selectionMenu .menuItemDropdown:hover,.selectionMenu .menuItemDropdown:focus-within{background:var(--bg-elevated);border-color:var(--accent-primary);color:var(--accent-primary)}.selectionMenu .menuItemDropdown:hover .menuDropdownPanel,.selectionMenu .menuItemDropdown:focus-within .menuDropdownPanel{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .12s ease,visibility 0s linear 0s}.selectionMenu .menuItemDropdown.hidden{display:none}.selectionMenu .menuItemDropdown .menuDropdownPanel{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 80ms ease,visibility 0s linear .25s;position:absolute;display:flex;top:0;left:0;right:auto;flex-direction:column;gap:4px;padding:0;background:transparent;border:none;box-shadow:none;z-index:21;min-width:100%;width:max-content}.obscureRegion{position:absolute;pointer-events:auto;z-index:5}.obscureRegionSurface{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;backdrop-filter:blur(34px);-webkit-backdrop-filter:blur(34px);background:#80808029;border:1px solid rgba(255,255,255,.78);box-shadow:inset 0 0 0 1px #00000073;pointer-events:none}.obscureRegion-revealed .obscureRegionSurface{backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent;border:0;box-shadow:none}.obscureRegion-revealed{pointer-events:none!important}.obscureRegionVeil{position:absolute;top:0;right:0;bottom:0;left:0;background:#80808033;pointer-events:none}.obscureRegion-revealed .obscureRegionVeil{display:none}.obscureRegionOutline{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.obscureRegionButton{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:7px 14px;min-width:58px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.7);background:#121212d1;color:#fff;font-size:12px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm)}.obscureRegionButton:hover{background:#222222eb}.obscureRegionClose{position:absolute;right:2px;top:2px;width:20px;height:20px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:#121212cc;color:#fff;font-size:12px;font-weight:700;line-height:18px;cursor:pointer}.obscureRegionHide{position:absolute;right:26px;top:2px;height:20px;padding:0 7px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.8);background:#121212cc;color:#fff;font-size:11px;font-weight:700;line-height:18px;cursor:pointer}.obscureRegion-revealed .obscureRegionClose,.obscureRegion-revealed .obscureRegionHide{pointer-events:auto!important}.obscureRegionClose:hover{background:#501414e6}.obscureRegionHide:hover{background:#222222eb}.gradientControls{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:1100;width:min(760px,100vw - 24px);padding:12px 14px 10px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-primary, #171a20);color:var(--text-primary);box-shadow:0 6px 24px #0006;font-size:12px}.gradientControls .gradientDockHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}.gradientControls .gradientDockHeading strong{font-size:13px;font-weight:600}.gradientControls .gradientHint{color:var(--text-secondary);font-size:11px}.gradientControls .gradientStopEditor{display:flex;align-items:center;gap:10px}.gradientControls .gradientStopTrack{position:relative;flex:1;height:22px;margin:5px 9px;border-radius:5px;cursor:crosshair;touch-action:none}.gradientControls .gradientStopHandle{position:absolute;top:50%;width:18px;height:25px;padding:0;transform:translate(-50%,-50%);border:2px solid var(--bg-primary);border-radius:5px;background:var(--stop-color);box-shadow:0 0 0 1px var(--border-subtle),0 2px 4px #0005;cursor:ew-resize;touch-action:none}.gradientControls .gradientStopHandle[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent-primary),0 2px 4px #0005}.gradientControls .gradientStopActions{display:flex;align-items:center;gap:5px}.gradientControls .gradientStopCount{min-width:48px;color:var(--text-secondary);text-align:right;font-size:11px}.gradientControls button{min-width:32px;min-height:32px;padding:4px 9px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-secondary);color:inherit;cursor:pointer}.gradientControls button:disabled{opacity:.45;cursor:default}.gradientControls .gradientStopSettings{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end;padding:2px 0 9px}.gradientControls .gradientStopSettings label{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:3px 8px;align-items:center;min-width:0;color:var(--text-secondary);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.gradientControls .gradientStopSettings label>span{grid-column:2;grid-row:1;text-align:center;white-space:nowrap}.gradientControls .gradientStopSettings input[type=range]{grid-column:1/-1;grid-row:2;width:100%;margin:0;accent-color:var(--accent-primary)}.gradientControls .gradientStopSettings input[type=color]{grid-column:1/-1;grid-row:2;justify-self:center;width:36px;height:26px;padding:1px;border:1px solid var(--border-subtle);border-radius:5px;background:var(--bg-secondary)}.gradientControls output{justify-self:end;grid-column:3;grid-row:1;color:var(--accent-primary);font:11px monospace;text-transform:none;letter-spacing:0}.gradientControls .gradientDockFooter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-top:1px solid var(--border-subtle);padding-top:8px}.gradientControls .gradientOptionGroup{display:grid;grid-template-rows:13px 30px;gap:4px;min-width:0}.gradientControls .gradientOptionLabel{display:block;color:var(--text-secondary);font-size:9px;font-weight:600;line-height:13px;text-align:center;text-transform:uppercase;letter-spacing:.45px;white-space:nowrap}.gradientControls .gradientToggle{display:flex;gap:4px;min-width:0}.gradientControls .gradientToggle button{flex:1;min-width:0;min-height:30px;padding-inline:7px;white-space:nowrap}.gradientControls .gradientToggle button[aria-pressed=true]{border-color:var(--accent-primary);color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 12%,var(--bg-secondary))}.gradientControls .gradientDockOptions{display:grid;grid-template-columns:minmax(94px,.9fr) minmax(94px,.9fr) minmax(112px,1fr);align-items:center;gap:8px;min-width:0}.gradientControls .gradientBlendSelect{display:grid;grid-template-rows:13px 30px;gap:4px;min-width:0}.gradientControls .gradientBlendSelect select{width:100%;min-width:0;min-height:30px;border:1px solid var(--border-subtle);border-radius:6px;padding:4px 22px 4px 8px;background:var(--bg-secondary);color:var(--text-primary);font-size:12px}.gradientControls .gradientActions{display:grid;grid-template-columns:repeat(2,minmax(72px,1fr));gap:7px}.gradientControls .gradientActions button{min-width:72px}.gradientControls button[data-action=apply]{border-color:var(--accent-primary);background:var(--accent-primary);color:var(--bg-primary);font-weight:600}@media (max-width: 600px){.gradientControls{width:100%;left:0;bottom:0;transform:none;border-radius:12px 12px 0 0;padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.gradientControls .gradientDockHeading{align-items:flex-start;flex-direction:column;gap:1px}.gradientControls .gradientStopEditor{gap:6px}.gradientControls .gradientStopTrack{height:27px;margin:5px 12px}.gradientControls .gradientStopHandle{width:23px;height:30px}.gradientControls .gradientStopActions button,.gradientControls .gradientDockFooter button{min-height:42px;min-width:42px}.gradientControls .gradientStopSettings{grid-template-columns:1fr 1fr;gap:8px 12px;padding-top:8px}.gradientControls .gradientDockFooter{grid-template-columns:minmax(0,1fr);gap:8px}.gradientControls .gradientDockOptions{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.gradientControls .gradientOptionGroup{grid-template-rows:14px 40px;gap:4px}.gradientControls .gradientOptionLabel{text-align:left}.gradientControls .gradientBlendSelect{grid-column:1/-1;grid-template-rows:14px 40px}.gradientControls .gradientBlendSelect select{min-height:40px}.gradientControls .gradientActions{width:100%}.gradientControls .gradientActions button{min-height:44px}}.gradientHandles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;overflow:hidden}.gradientHandles svg{width:100%;height:100%;position:absolute}.gradientHandles polyline{fill:none;stroke:#fff;stroke-width:1;stroke-dasharray:4 4;filter:drop-shadow(0 1px 1px #000)}.gradientHandles .gradientWidthGuide{stroke:#fff;stroke-width:1;stroke-dasharray:3 3;filter:drop-shadow(0 1px 1px #000)}.gradientHandles [data-gradient-node],.gradientHandles [data-gradient-width]{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#fff;border:2px solid #172a2a;color:#172a2a;font:700 12px sans-serif;cursor:grab;pointer-events:auto;touch-action:none}.gradientHandles [data-gradient-width]{width:16px;height:16px;border-radius:3px;transform:translate(-50%,-50%) rotate(45deg)}.gradientHandles [hidden]{display:none}#timebarMount{position:fixed;bottom:0;left:0;width:100%;height:0;z-index:10000;pointer-events:none}#timebarMount>*{pointer-events:auto}.historyPanel{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);z-index:200;display:flex;flex-direction:column;overflow:hidden}.historyPanelHeader{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.historyPanelTitle{font-size:14px;font-weight:600;color:var(--text-primary)}.historyPanelHeaderRight{display:flex;align-items:center;gap:10px}.historyPanelStatus{font-size:12px;color:var(--text-muted)}.historyPanelCloseBtn{width:30px;height:30px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.historyPanelCloseBtn:hover{background:var(--bg-elevated);color:var(--text-primary)}.historyPanelPreviewWrap{flex:1;position:relative;overflow:hidden;background:var(--bg-canvas, #1a1a1a);display:flex;align-items:center;justify-content:center}.historyPanelPreview,.historyPanelSelection{position:absolute;top:0;left:0;transform-origin:0 0}.historyPanelPreview{image-rendering:auto}.historyPanelSelection{cursor:crosshair;pointer-events:auto;touch-action:none}.historyPanelEmptyPreview{position:absolute;color:var(--text-muted);font-size:13px;pointer-events:none;-webkit-user-select:none;user-select:none}.historyPanelToolControls{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:4px;box-shadow:var(--shadow-md);z-index:1}.historyToolBtn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.historyToolBtn:hover{background:var(--bg-elevated);color:var(--text-primary)}.historyToolBtn.active{background:var(--accent-primary);color:#000}.historyToolBtn svg{width:16px;height:16px}.historyToolBtn.historyZoomResetBtn{width:auto;min-width:48px;padding:0 8px;font-size:11px;font-weight:600}.historyPanelStripWrap{flex-shrink:0;background:var(--bg-secondary);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);overflow-x:auto;overflow-y:hidden;height:90px;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.historyPanelStripWrap::-webkit-scrollbar{height:4px}.historyPanelStripWrap::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.historyPanelStrip{display:flex;align-items:center;gap:6px;padding:8px 12px;height:100%;min-width:max-content}.historyStripEmpty{font-size:12px;color:var(--text-muted);white-space:nowrap;padding:0 8px;align-self:center}.historyThumb{flex-shrink:0;width:64px;height:64px;border:2px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;position:relative;background:var(--bg-tertiary);transition:border-color var(--transition-fast)}.historyThumb:hover{border-color:var(--border-active)}.historyThumb.selected{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.historyThumb img{width:100%;height:100%;object-fit:cover;display:block}.historyThumbPlaceholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-muted)}.historyThumbLabel{position:absolute;bottom:0;left:0;right:0;font-size:9px;text-align:center;background:#0009;color:#fff;padding:2px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.historyPanelFooter{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-secondary);border-top:1px solid var(--border-subtle);flex-shrink:0;gap:12px}.historyPanelSelectionHint{font-size:12px;color:var(--text-muted);flex:1}.historyPanelFooterBtns{display:flex;gap:8px;flex-shrink:0}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.hidden{display:none}.visible{display:block}@media (max-width: 767px){.hide-mobile{display:none}}@media (min-width: 1024px){.hide-desktop{display:none}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:#fff3;border-radius:5px;border:2px solid var(--bg-tertiary)}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.scroll-indicator{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:48px;height:20px;background:var(--bg-secondary);border-radius:6px;border:1px solid transparent;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:100;box-shadow:0 2px 6px #0006}.scroll-indicator.visible{opacity:1;animation:borderPulse 3s ease-in-out infinite}.scroll-indicator:before,.scroll-indicator:after{content:"";position:absolute;left:50%;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid rgba(255,255,255,.7);transform:translate(-50%)}.scroll-indicator:before{top:3px}.scroll-indicator:after{top:8px;opacity:.5}@keyframes borderPulse{0%,to{border-color:#00d4aa33}50%{border-color:#00d4aa99}}.mirrorLine{stroke:var(--accent-primary);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:8,4;opacity:.6;transition:opacity .32s ease}html[data-low-power=true] *:not(.obscureRegionSurface),html[data-effects=essential] *:not(.obscureRegionSurface),html[data-effects=light] *:not(.obscureRegionSurface){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html[data-simple-animations=true] *,html[data-simple-animations=true] *:before,html[data-simple-animations=true] *:after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
