@import"https://fonts.googleapis.com/css2?family=Special+Elite&display=swap";@import"https://fonts.googleapis.com/css2?family=Caveat:wght@500&display=swap";[data-lk-theme=default]{color-scheme:dark;--lk-bg: #111;--lk-bg2: rgb(29.75, 29.75, 29.75);--lk-bg3: rgb(42.5, 42.5, 42.5);--lk-bg4: rgb(55.25, 55.25, 55.25);--lk-bg5: #444444;--lk-fg: #fff;--lk-fg2: rgb(244.8, 244.8, 244.8);--lk-fg3: rgb(234.6, 234.6, 234.6);--lk-fg4: rgb(224.4, 224.4, 224.4);--lk-fg5: rgb(214.2, 214.2, 214.2);--lk-border-color: rgba(255, 255, 255, .1);--lk-accent-fg: #fff;--lk-accent-bg: #1f8cf9;--lk-accent2: rgb(50.867826087, 150.2, 249.532173913);--lk-accent3: rgb(70.7356521739, 160.4, 250.0643478261);--lk-accent4: rgb(90.6034782609, 170.6, 250.5965217391);--lk-danger-fg: #fff;--lk-danger: #f91f31;--lk-danger2: rgb(249.532173913, 50.867826087, 67.2713043478);--lk-danger3: rgb(250.0643478261, 70.7356521739, 85.5426086957);--lk-danger4: rgb(250.5965217391, 90.6034782609, 103.8139130435);--lk-success-fg: #fff;--lk-success: #1ff968;--lk-success2: rgb(50.867826087, 249.532173913, 117.3930434783);--lk-success3: rgb(70.7356521739, 250.0643478261, 130.7860869565);--lk-success4: rgb(90.6034782609, 250.5965217391, 144.1791304348);--lk-control-fg: var(--lk-fg);--lk-control-bg: var(--lk-bg2);--lk-control-hover-bg: var(--lk-bg3);--lk-control-active-bg: var(--lk-bg4);--lk-control-active-hover-bg: var(--lk-bg5);--lk-connection-excellent: #06db4d;--lk-connection-good: #f9b11f;--lk-connection-poor: #f91f31;--lk-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size: 16px;--lk-line-height: 1.5;--lk-border-radius: .5rem;--lk-box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15);--lk-drop-shadow: rgba(255, 255, 255, .2) 0px 0px 24px;--lk-grid-gap: .5rem;--lk-control-bar-height: 69px;--lk-chat-header-height: 69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border:0;border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;user-select:none}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{display:inline-flex;align-items:stretch;height:100%}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{position:relative;flex-shrink:0}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{height:100%;border-top-left-radius:0;border-bottom-left-radius:0}.lk-button-group-menu>.lk-button:after,.lk-button-group-menu>.lk-start-audio-button:after,.lk-button-group-menu>.lk-chat-toggle:after,.lk-button-group-menu>.lk-disconnect-button:after{margin-left:0}.lk-button-menu:after{display:inline-block;content:"";width:.5em;height:.5em;margin-top:-.25rem;margin-left:.5rem;border-left:.125em solid;border-bottom:.125em solid;transform:rotate(-45deg);transform-origin:center center}.lk-disconnect-button{font-weight:600;color:var(--lk-danger);border:1px solid var(--lk-danger)}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg: var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg: var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);position:absolute;top:0;left:0;padding:.25rem;margin-left:.25rem;margin-top:.25rem;border-radius:50%;font-size:.5rem;line-height:.75;background:var(--lk-accent-bg)}.lk-media-device-select:not(:last-child){padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--lk-border-color)}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{width:100%;justify-content:start;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:#0000000d}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{width:max-content;position:absolute;top:0;left:0;z-index:5;min-width:10rem;padding:.5rem;margin-bottom:.25rem;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);border-radius:.75rem;box-shadow:var(--lk-box-shadow)}.lk-device-menu-heading{padding:.25rem .5rem;font-weight:700;opacity:.65}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (max-width:600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.lk-pagination-control{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:stretch;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);transition:opacity ease-in-out .15s;opacity:0}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{padding:.5rem .875rem;border-inline:1px solid var(--lk-bg)}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{position:absolute;height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:fit-content;padding:.2rem .5rem;bottom:calc(var(--lk-grid-gap)/2);left:50%;transform:translate(-50%);border-radius:2rem;opacity:1;display:flex;gap:.2rem;align-items:center}.lk-pagination-indicator span{display:inline-block;width:.4rem;height:.4rem;border-radius:9999999px;background-color:var(--lk-fg);opacity:.35;transition:opacity linear .2s}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count: 1;--lk-row-count: 1;display:grid;grid-template-columns:repeat(var(--lk-col-count),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);grid-gap:var(--lk-grid-gap);width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{display:grid;grid-template-columns:1fr 5fr;gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{position:absolute;top:10px;right:10px;width:20%;height:auto}@media(max-width:600px){.lk-focus-layout{grid-template-columns:1fr;grid-template-rows:5fr 1fr}.lk-carousel{order:1}}.lk-carousel{max-height:100%;display:flex;gap:var(--lk-grid-gap)}.lk-carousel>*{flex-shrink:0;aspect-ratio:16/10;scroll-snap-align:start}.lk-carousel[data-lk-orientation=vertical]{flex-direction:column;scroll-snap-type:y mandatory;overflow-y:auto;overflow-x:hidden}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps: calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps: calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{position:relative;width:var(--lk-indicator-size, 1rem);height:var(--lk-indicator-size, 1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg: var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{width:100%;height:100%;object-fit:cover;object-position:center;background-color:#000}.lk-participant-media-video[data-lk-orientation=landscape]{object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{width:100%;height:100%;min-height:160px;background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;display:flex;justify-content:space-around;align-items:center}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:.1s cubic-bezier(.19,.02,.09,1)}.lk-audio-bar-visualizer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--lk-bg);gap:var(--lk-va-bar-gap, 24px)}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:var(--lk-va-bar-width, 12px);border-radius:var(--lk-va-bar-border-radius, 32px);background-color:var(--lk-va-bar-bg, rgba(136, 136, 136, .2));transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:var(--lk-fg, rgb(136, 136, 136));transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width: 2.5px;position:relative;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;border-radius:var(--lk-border-radius)}.lk-participant-tile:after{content:"";position:absolute;inset:0;border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;transition-delay:.5s;transition-duration:.4s;pointer-events:none}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share]):after{transition-delay:0s;transition-duration:.2s;border-width:var(--lk-speaking-indicator-width)}.lk-participant-tile .lk-focus-toggle-button{position:absolute;top:.25rem;right:.25rem;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2);opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor]{opacity:1;transition-delay:0}.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--lk-bg2);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;border-radius:var(--lk-border-radius)}.lk-participant-tile .lk-participant-placeholder svg{height:100%;width:auto;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;line-height:1}.lk-participant-metadata-item{display:flex;align-items:center;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2)}.lk-toast{position:fixed;top:.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow)}.lk-spinner{animation:lk-rotate 2s infinite linear}@keyframes lk-rotate{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}.lk-room-container{position:relative;width:100%;height:100%;--lk-has-imported-styles: "true"}.lk-room-container *[class^=lk-],.lk-room-container *[class*=" lk-"]{box-sizing:border-box}.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translate(-50%);background-color:#0000}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:fit-content;max-width:calc(100% - 32px)}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media(max-width:600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg: transparent;--lk-va-bar-width: 2px;--lk-va-bar-gap: 4px;--lk-va-bar-border-radius: 1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0;left:0;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media(max-width:400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.lk-prejoin .lk-join-button{--lk-control-fg: var(--lk-accent-fg);--lk-control-bg: var(--lk-accent-bg);--lk-control-hover-bg: var(--lk-accent2);--lk-control-active-bg: var(--lk-accent3);--lk-control-active-hover-bg: var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--lk-bg);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh;max-width:100%;max-height:100%;overflow-y:auto}.lobby-preview{margin-bottom:20px}.preview-video-container{position:relative;width:420px;max-width:100%;height:240px;margin:0 auto;border-radius:4px;overflow:hidden;background:#000;border:2px solid #8b7355}.preview-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.preview-video.camera-off{opacity:0}.camera-off-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#1a1a1a;color:#6b5344;font-size:14px}.preview-controls{display:flex;justify-content:center;gap:15px;margin-top:15px}.preview-btn{position:relative;width:50px;height:50px;border-radius:50%;border:2px solid #8b7355;background:#00000080;color:#fff;font-size:20px;cursor:pointer;transition:all .2s;overflow:hidden;display:flex;align-items:center;justify-content:center}.preview-btn:hover{border-color:#e8d4a8;background:#000000b3}.preview-btn.off{border-color:#804040;background:#501e1e80}.preview-btn.off:hover{border-color:#a05050}.audio-level{position:absolute;bottom:0;left:0;height:4px;background:#8b7355;transition:width .1s}.preview-error{text-align:center;color:#a05050;padding:40px 20px;background:#00000080;border-radius:4px;border:1px solid #8b7355}.preview-btn.blur-btn.on{border-color:#5080a0;background:#1e324680}.preview-btn.blur-btn.on:hover{border-color:#70a0c0}.blur-indicator{text-align:center;margin-top:10px;font-size:12px;color:#a08060;font-style:italic}.music-panel{display:flex;flex-direction:column;height:100%;background:#2a2a2a;width:100%;max-width:900px}.music-tabs{display:flex;border-bottom:1px solid #444;background:#1a1a1a;flex-shrink:0}.music-tab{flex:1;padding:12px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:#888;font-size:14px;font-family:Special Elite,Courier New,monospace;cursor:pointer;transition:all .2s}.music-tab:hover{color:#e8d4a8;background:#8b73551a}.music-tab.active{color:#e8d4a8;border-bottom-color:#8b7355;background:#8b735526}.music-tab-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.music-tab-content .tta-panel{height:100%}.system-audio-panel{display:flex;flex-direction:column;height:100%;overflow-y:auto}.system-audio-header{padding:15px 20px;border-bottom:1px solid #444}.system-audio-header h3{margin:0;font-size:20px;font-family:Special Elite,Courier New,monospace;color:#e8d4a8;letter-spacing:1px}.system-audio-subtitle{font-size:12px;color:#888}.system-audio-content{padding:20px;flex:1}.system-audio-description{margin-bottom:24px}.system-audio-description p{color:#aaa;font-size:14px;line-height:1.5;margin-bottom:12px}.system-audio-tip{color:#8b7355!important;font-style:italic;font-size:13px!important}.system-audio-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;font-size:16px;font-weight:500;background:#8b7355;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s}.system-audio-btn:hover{background:#a08060;transform:translateY(-1px)}.system-audio-btn.sharing{background:#4a7355}.system-audio-btn.sharing:hover{background:#5a8365}.system-audio-icon{font-size:20px}.system-audio-status{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;background:#4a735533;border-radius:6px;color:#7cb88c;font-size:14px}.status-dot{width:8px;height:8px;background:#4ade80;border-radius:50%;animation:pulse-dot 1.5s infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.system-audio-error{margin-top:12px;padding:10px 12px;background:#ff646426;border-radius:6px;color:#ff6b6b;font-size:13px}.system-audio-notes{margin-top:30px;padding-top:20px;border-top:1px solid #444}.system-audio-notes h4{margin:0 0 12px;color:#888;font-size:12px;text-transform:uppercase;letter-spacing:1px}.system-audio-notes ul{margin:0;padding-left:20px;color:#666;font-size:13px;line-height:1.8}.system-audio-notes li{margin-bottom:4px}.system-audio-player-view{text-align:center;padding:40px 20px}.system-audio-player-view p{color:#888;font-size:14px;margin-bottom:12px}.system-audio-waiting{color:#666!important;font-style:italic}.mini-player{display:flex;align-items:center;gap:4px;padding:0 8px;border-left:1px solid #444;margin-left:8px}.mini-player-btn{width:28px;height:28px;border:none;border-radius:4px;background:#333;color:#aaa;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.mini-player-btn:hover:not(:disabled){background:#444;color:#fff}.mini-player-btn-play{background:#8b7355;color:#fff}.mini-player-btn-play:hover:not(:disabled){background:#a08060}.mini-player-btn:disabled{opacity:.4;cursor:not-allowed}.mini-player-track{max-width:120px;font-size:11px;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:4px}.gallery-panel{position:relative;width:100%;min-width:600px;max-width:900px;margin:0;padding:12px;background:#1a1a1a;color:#eee;height:100%;overflow-y:auto;display:flex;flex-direction:column}.gallery-panel.picker-mode{min-width:400px;max-width:600px}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.gallery-header h2{margin:0;font-size:20px;font-weight:400;font-family:Special Elite,Courier New,monospace;color:#e8d4a8;letter-spacing:1px}.gallery-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;align-content:start}.gallery-loading,.gallery-empty{grid-column:1 / -1;color:#666;text-align:center;padding:20px;font-style:italic}.gallery-item{position:relative;background:#2a2a2a;border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:6px;transition:all .2s}.gallery-item.selectable{cursor:pointer}.gallery-item.selectable:hover{background:#3a3a3a;transform:scale(1.02)}.gallery-item.selected{background:#4a5a4a;outline:2px solid #6a8a6a;outline-offset:-2px}.gallery-item-checkbox{position:absolute;top:4px;left:4px;width:22px;height:22px;background:#0009;border:2px solid #888;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;z-index:1}.gallery-item.selected .gallery-item-checkbox{background:#4a8a4a;border-color:#6a8a6a}.gallery-thumb{width:100%;height:100px;object-fit:cover;border-radius:4px;background:#222;cursor:pointer}.gallery-thumb:hover{opacity:.9}.gallery-audio-icon,.gallery-file-icon{width:100%;height:100px;display:flex;align-items:center;justify-content:center;background:#222;border-radius:4px;font-size:36px}.gallery-item-name{font-size:13px;color:#e8d4a8;font-family:Special Elite,Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-item.no-caption .gallery-item-name{color:#f0ad4e;font-style:italic;font-size:11px}.gallery-item-meta{display:flex;justify-content:space-between;font-size:11px;color:#666}.gallery-item-actions{display:flex;gap:4px;justify-content:flex-end;margin-top:4px}.gallery-edit-btn,.gallery-delete-btn{background:none;border:none;padding:2px 6px;cursor:pointer;opacity:.5;transition:opacity .2s}.gallery-edit-btn{font-size:14px}.gallery-delete-btn{font-size:18px;color:#f66}.gallery-edit-btn:hover,.gallery-delete-btn:hover{opacity:1}.gallery-edit-form{display:flex;flex-direction:column;gap:6px}.gallery-edit-form input,.gallery-edit-form select{width:100%;padding:6px 8px;background:#333;border:1px solid #555;border-radius:4px;color:#eee;font-size:12px}.gallery-edit-form input:focus,.gallery-edit-form select:focus{outline:none;border-color:#8b7355}.gallery-edit-buttons{display:flex;gap:6px}.gallery-save-btn,.gallery-cancel-btn{flex:1;padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:11px}.gallery-save-btn{background:#8b7355;color:#fff}.gallery-save-btn:hover{background:#6b5344}.gallery-cancel-btn{background:#444;color:#ccc}.gallery-cancel-btn:hover{background:#555}.gallery-upload-section{margin-top:12px;padding-top:12px;border-top:1px solid #333}.gallery-upload{border:2px dashed #444;border-radius:8px;padding:16px;text-align:center;color:#888;cursor:pointer;transition:all .2s}.gallery-upload:hover{border-color:#666;color:#aaa}.gallery-upload.uploading{border-color:#4a9eff;color:#4a9eff}.gallery-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000}.gallery-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.gallery-modal-content img{max-width:100%;max-height:85vh;object-fit:contain}.gallery-modal-footer{margin-top:12px;display:flex;align-items:center;gap:12px}.gallery-modal-footer p{margin:0;color:#ccc;text-align:center}.gallery-modal-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;padding:0;line-height:1}.gallery-modal-close:hover{color:#ccc}.gallery-rotate-buttons{display:flex;gap:8px}.gallery-rotate-btn{background:#8b7355;border:none;color:#fff;font-size:20px;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:background .2s}.gallery-rotate-btn:hover{background:#6b5344}.gallery-rotate-btn:disabled{background:#444;cursor:not-allowed}.gallery-staged{display:flex;flex-direction:column;gap:10px;padding:12px;background:#2a2a2a;border-radius:8px}.gallery-staged-preview{position:relative;display:flex;justify-content:center;background:#222;border-radius:6px;overflow:hidden}.gallery-staged-preview img{max-width:100%;max-height:150px;object-fit:contain}.gallery-staged-audio{width:100%;height:80px;display:flex;align-items:center;justify-content:center;font-size:36px;background:#222}.gallery-staged-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;background:#000000b3;border:none;border-radius:50%;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.gallery-staged-remove:hover{background:#f44}.gallery-staged-caption{width:100%;padding:8px 10px;background:#333;border:1px solid #555;border-radius:4px;color:#eee;font-size:13px}.gallery-staged-caption:focus{outline:none;border-color:#8b7355}.gallery-staged-upload{padding:10px 16px;background:#8b7355;border:none;border-radius:4px;color:#fff;font-size:14px;cursor:pointer;transition:background .2s}.gallery-staged-upload:hover{background:#6b5344}.gallery-staged-upload:disabled{background:#555;cursor:not-allowed}.gallery-delete-modal{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1001}.gallery-delete-content{background:#2a2a2a;border-radius:12px;padding:24px;max-width:450px;width:90%;color:#eee}.gallery-delete-content h3{margin:0 0 16px;font-size:18px;font-weight:500;color:#fff}.gallery-delete-warning{display:flex;gap:12px;background:#ffb4001a;border:1px solid rgba(255,180,0,.3);border-radius:8px;padding:12px;margin-bottom:16px}.gallery-delete-warning .warning-icon{width:24px;height:24px;background:#ffb400;color:#000;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.gallery-delete-warning p{margin:0;font-size:14px;line-height:1.5;color:#ddd}.gallery-delete-expand{background:none;border:none;color:#8b9dc3;font-size:13px;cursor:pointer;padding:0;margin-bottom:12px;display:flex;align-items:center;gap:6px}.gallery-delete-expand:hover{color:#aab7d4}.gallery-delete-explanation{background:#222;border-radius:8px;padding:12px;margin-bottom:16px;font-size:13px;line-height:1.6}.gallery-delete-explanation p{margin:0 0 12px;color:#bbb}.gallery-delete-explanation p:last-child{margin-bottom:0}.gallery-delete-explanation strong{color:#fff}.gallery-delete-buttons{display:flex;gap:10px;justify-content:flex-end}.gallery-delete-buttons button{padding:10px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.gallery-delete-btn-danger{background:#c44;color:#fff}.gallery-delete-btn-danger:hover{background:#a33}.gallery-delete-btn-archive{background:#8b7355;color:#fff}.gallery-delete-btn-archive:hover{background:#6b5344}.gallery-delete-btn-cancel{background:#444;color:#ccc}.gallery-delete-btn-cancel:hover{background:#555}.gallery-delete-message{margin:0 0 20px;font-size:15px;line-height:1.5;color:#ddd}.gallery-picker-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.gallery-picker-container{position:relative;width:90%;max-width:600px;height:80%;max-height:700px;background:#1a1a1a;border-radius:12px;overflow:hidden}.gallery-picker-close{position:absolute;top:8px;right:8px;background:none;border:none;color:#fff;font-size:28px;cursor:pointer;z-index:10;padding:4px 8px;line-height:1}.gallery-picker-close:hover{color:#ccc}.gallery-picker-container .gallery-panel{min-width:auto;max-width:100%;height:100%;border-radius:0}.gallery-picker-container .gallery-panel.picker-mode{min-width:auto;max-width:100%}.gallery-picker-footer{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:#1a1a1a;border-top:1px solid #333;display:flex;justify-content:flex-end}.gallery-picker-confirm{padding:10px 24px;background:#4a8a4a;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.gallery-picker-confirm:hover{background:#5a9a5a}.gallery-picker-container .gallery-panel{padding-bottom:60px}.feed-panel{position:relative;width:100%;min-width:600px;max-width:900px;margin:0;padding:12px;background:#1a1a1a;color:#eee;height:100%;overflow-y:auto;display:flex;flex-direction:column}.feed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.feed-header h2{margin:0;font-size:20px;font-weight:400;font-family:Special Elite,Courier New,monospace;color:#e8d4a8;letter-spacing:1px}.feed-refresh{background:none;border:none;color:#888;font-size:18px;cursor:pointer;padding:4px 8px}.feed-refresh:hover{color:#fff}.feed-upload{border:2px dashed #444;border-radius:8px;padding:20px;text-align:center;color:#888;cursor:pointer;margin-bottom:12px;transition:all .2s}.feed-upload:hover{border-color:#666;color:#aaa}.feed-upload.uploading{border-color:#4a9eff;color:#4a9eff}.feed-caption{margin-bottom:16px}.feed-caption input{width:100%;padding:8px 12px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#eee;font-size:14px}.feed-caption input:focus{outline:none;border-color:#666}.feed-items{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.feed-loading,.feed-empty{color:#666;text-align:center;padding:20px;font-style:italic}.feed-item{background:#2a2a2a;border-radius:8px;padding:10px;display:flex;gap:12px;align-items:center}.feed-item-note{background:#2d2a25;border-left:3px solid #8b7355}.feed-item-note .feed-item-content{min-height:auto;position:static}.feed-item-note .feed-item-grid{position:static;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.feed-item-note .feed-item-grid .feed-caption-text{position:static;flex:1}.feed-item-note .feed-item-meta{position:static;flex-shrink:0}.feed-thumbnail{max-width:150px;max-height:120px;object-fit:contain;border-radius:4px;cursor:pointer;flex-shrink:0}.feed-thumbnail:hover{opacity:.9}.feed-item-content{flex:1;min-width:0;min-height:100px;position:relative}.feed-item-grid{position:absolute;inset:0}.feed-item-meta{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}.feed-item-grid .feed-caption-text{position:absolute;bottom:0;left:0}.feed-caption-text{margin:0 0 4px;font-size:14px;color:#e8d4a8;font-family:Special Elite,Courier New,monospace}.feed-caption-text.no-caption{color:#f0ad4e;font-style:italic;font-size:12px}.feed-item-footer{display:flex;justify-content:space-between;align-items:center}.feed-time{font-size:11px;color:#666}.feed-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000}.feed-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.feed-modal-content img{max-width:100%;max-height:85vh;object-fit:contain}.feed-modal-content p{margin-top:12px;color:#ccc;text-align:center}.feed-modal-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;padding:0;line-height:1}.feed-modal-close:hover{color:#ccc}.feed-item-actions{display:flex;gap:4px}.feed-edit-btn,.feed-delete-btn{background:none;border:none;padding:2px 6px;cursor:pointer;opacity:.5;transition:opacity .2s}.feed-edit-btn{font-size:14px}.feed-delete-btn{font-size:18px;color:#f66}.feed-edit-btn:hover,.feed-delete-btn:hover{opacity:1}.feed-edit-form{display:flex;flex-direction:column;gap:8px}.feed-edit-form input{width:100%;padding:8px 10px;background:#333;border:1px solid #555;border-radius:4px;color:#eee;font-size:14px}.feed-edit-form input:focus{outline:none;border-color:#8b7355}.feed-edit-buttons{display:flex;gap:8px}.feed-save-btn,.feed-cancel-btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px}.feed-save-btn{background:#8b7355;color:#fff}.feed-save-btn:hover{background:#6b5344}.feed-cancel-btn{background:#444;color:#ccc}.feed-cancel-btn:hover{background:#555}.feed-upload-row{display:flex;gap:8px;margin-bottom:8px}.feed-upload-row .feed-upload{flex:1;margin-bottom:0}.feed-gallery-btn{padding:12px 16px;background:#8b7355;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;white-space:nowrap;transition:background .2s}.feed-gallery-btn:hover{background:#6b5344}.feed-gallery-btn:disabled{background:#444;cursor:not-allowed}.feed-save-gallery-option{display:flex;align-items:center;gap:8px;font-size:12px;color:#888;cursor:pointer;margin-bottom:8px}.feed-save-gallery-option input[type=checkbox]{accent-color:#8b7355}.feed-save-gallery-option:hover{color:#aaa}.feed-compose{background:#252525;border:1px solid #3a3a3a;border-radius:8px;padding:12px;margin-top:12px}.feed-compose-text{width:100%;padding:10px;background:#1a1a1a;border:1px solid #444;border-radius:4px;color:#eee;font-size:14px;resize:none;font-family:inherit}.feed-compose-text:focus{outline:none;border-color:#8b7355}.feed-staged-preview{position:relative;margin-bottom:10px}.feed-staged-preview img{max-width:100%;max-height:120px;border-radius:4px;object-fit:contain}.feed-staged-remove{position:absolute;top:4px;right:4px;background:#000000b3;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:16px;line-height:1}.feed-staged-remove:hover{background:#c00}.feed-compose-actions{display:flex;gap:8px;margin-top:8px;align-items:center}.feed-attach{padding:8px 12px;background:#333;border:1px dashed #555;border-radius:4px;cursor:pointer;font-size:16px}.feed-attach:hover{background:#3a3a3a;border-color:#666}.feed-compose-actions .feed-gallery-btn{padding:8px 12px}.feed-post-btn{margin-left:auto;padding:8px 20px;background:#8b7355;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500}.feed-post-btn:hover:not(:disabled){background:#6b5344}.feed-post-btn:disabled{background:#444;color:#666;cursor:not-allowed}.battlemap-toolbar{position:absolute;background:#000000e6;border:1px solid #444;border-radius:8px;padding:8px;display:flex;align-items:center;gap:8px;z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:default;-webkit-user-select:none;user-select:none;transition:box-shadow .2s}.battlemap-toolbar:hover{box-shadow:0 0 0 2px #8b73554d}.battlemap-toolbar.dragging{cursor:grabbing;box-shadow:0 4px 12px #00000080}.toolbar-grip{cursor:grab;color:#666;padding:0 4px;display:flex;align-items:center;transition:color .2s}.toolbar-grip:hover{color:#aaa}.toolbar-grip:active{cursor:grabbing;color:#e8d4a8}.toolbar-section{display:flex;gap:4px;position:relative}.toolbar-divider{width:1px;height:24px;background:#444}.toolbar-btn{width:36px;height:36px;border:none;border-radius:4px;background:transparent;color:#888;cursor:pointer!important;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.toolbar-btn:hover:not(:disabled){background:#ffffff1a;color:#fff}.toolbar-btn.active{background:#8b7355;color:#fff}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.color-picker{padding:6px}.color-preview{width:24px;height:24px;border-radius:4px;border:2px solid #fff}.color-palette{position:absolute;bottom:44px;left:0;background:#000000f2;border:1px solid #444;border-radius:4px;padding:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.color-btn{width:28px;height:28px;border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s;padding:0}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:#e8d4a8;box-shadow:0 0 8px #e8d4a880}.toolbar-tokens{flex:1;min-width:200px;padding-left:8px;border-left:1px solid #444}.toolbar-label{color:#a08060;font-size:11px;font-family:Special Elite,Courier New,monospace;letter-spacing:1px;margin-bottom:4px}.token-list{display:flex;gap:6px;flex-wrap:wrap}.token-item{cursor:grab;transition:transform .2s}.token-item:hover{transform:scale(1.1)}.token-item.token-placed{opacity:.3;cursor:not-allowed}.token-item.token-placed:hover{transform:none}.token-circle{width:30px;height:30px;border-radius:50%;background:var(--token-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid rgba(0,0,0,.4);box-shadow:0 2px 4px #0000004d;text-shadow:0 1px 2px rgba(0,0,0,.5)}.token-remove-zone{transition:all .2s;border-radius:4px}.token-remove-zone.removing{background:#f443;box-shadow:inset 0 0 0 2px #f449}.battlemap-panel{position:relative;width:100%;height:100%;background:#2a2a2a;display:flex;align-items:center;justify-content:center;overflow:hidden}.battlemap-display{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#1a1a1a}.battlemap-image-container{position:relative;display:inline-block}.battlemap-display img{max-width:100%;max-height:100%;object-fit:contain;display:block}.battlemap-canvas{position:absolute;top:0;left:0;z-index:10;pointer-events:none}.battlemap-clear{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:#000000b3;border:2px solid #666;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;line-height:1}.battlemap-clear:hover{background:#ff0000b3;border-color:red;transform:scale(1.1)}.battlemap-upload{width:80%;max-width:600px;aspect-ratio:16/9;border:3px dashed #666;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;background:#0000004d}.battlemap-upload:hover{border-color:#8b7355;background:#8b73551a}.battlemap-upload.uploading{border-color:#4a9eff;background:#4a9eff1a;cursor:wait}.battlemap-upload-content{text-align:center;color:#888;pointer-events:none}.battlemap-upload-content svg{color:#666;margin-bottom:16px}.battlemap-upload:hover .battlemap-upload-content svg{color:#e8d4a8}.battlemap-upload-content h3{margin:0 0 8px;font-size:24px;font-weight:400;font-family:Special Elite,Courier New,monospace;color:#e8d4a8;letter-spacing:1px}.battlemap-upload-content p{margin:0;font-size:14px;color:#888}.battlemap-upload-spinner{width:48px;height:48px;border:3px solid #333;border-top-color:#4a9eff;border-radius:50%;margin:0 auto 16px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.battlemap-waiting{text-align:center;color:#666}.battlemap-waiting svg{color:#444;margin-bottom:16px}.battlemap-waiting h3{margin:0 0 8px;font-size:24px;font-weight:400;font-family:Special Elite,Courier New,monospace;color:#a08060;letter-spacing:1px}.battlemap-waiting p{margin:0;font-size:14px;color:#555}.laser-pointer{position:absolute;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,rgba(255,0,0,.8) 0%,rgba(255,0,0,.4) 50%,transparent 100%);border:2px solid rgba(255,0,0,.9);transform:translate(-50%,-50%);pointer-events:none;z-index:100;animation:laser-pulse .5s ease-in-out infinite;box-shadow:0 0 20px #f009}@keyframes laser-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.8}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.laser-indicator{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#000c;color:#e8d4a8;padding:8px 16px;border-radius:4px;font-size:14px;font-family:Special Elite,Courier New,monospace;pointer-events:none;z-index:50}.placed-token{position:absolute;transform:translate(-50%,-50%);cursor:grab;z-index:20;transition:transform .2s}.placed-token:hover{transform:translate(-50%,-50%) scale(1.1);z-index:21}.placed-token:active{cursor:grabbing}.placed-token .token-circle{width:36px;height:36px;border-radius:50%;background:var(--token-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border:3px solid rgba(0,0,0,.5);box-shadow:0 3px 6px #0006,inset 0 1px 2px #ffffff4d;text-shadow:0 1px 2px rgba(0,0,0,.5)}.marker-pin{position:relative;animation:marker-drop .4s cubic-bezier(.4,0,.2,1)}@keyframes marker-drop{0%{transform:translateY(-20px) scale(.8);opacity:0}60%{transform:translateY(2px) scale(1.05)}to{transform:translateY(0) scale(1);opacity:1}}.marker-head{width:40px;height:40px;border-radius:50% 50% 50% 0;background:var(--marker-color, #FF6B6B);transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 3px 8px #0000004d,inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #0003;transition:all .3s ease}.marker-head:before{content:"";position:absolute;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,rgba(255,255,255,.1) 50%,transparent 100%);top:4px;left:4px}.marker-head:after{content:attr(data-text);transform:rotate(45deg);color:#fff;font-size:12px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5),0 0 4px rgba(0,0,0,.3);position:absolute;z-index:1}.marker-shadow{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:20px;height:8px;background:radial-gradient(ellipse at center,rgba(0,0,0,.3) 0%,rgba(0,0,0,.1) 60%,transparent 100%);border-radius:50%;filter:blur(2px);animation:marker-shadow .4s cubic-bezier(.4,0,.2,1)}@keyframes marker-shadow{0%{transform:translate(-50%) scale(.5);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.player-marker:hover .marker-head{transform:rotate(-45deg) scale(1.1);box-shadow:0 4px 12px #0006,inset 0 2px 4px #fff6,inset 0 -2px 4px #0000004d}.player-marker:hover .marker-shadow{transform:translate(-50%) scale(1.2);opacity:.5}.scene-map-toolbar{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:6px 10px;background:#1e1e23f2;border-radius:8px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #0000004d;z-index:100;-webkit-user-select:none;user-select:none}.gm-toolbar-vertical{position:absolute;top:10px;left:10px;transform:none;display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#1e1e23f2;border-radius:8px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #0000004d;z-index:100;-webkit-user-select:none;user-select:none}.gm-toolbar-vertical .toolbar-grip{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:6px;margin-bottom:2px;margin-right:0;text-align:center}.gm-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.gm-toolbar-label{font-size:11px;color:#888;min-width:45px}.gm-toolbar-stepper{display:flex;align-items:center;gap:4px}.gm-toolbar-btn-group{display:flex;gap:6px}.gm-toolbar-btn-group .toolbar-btn.small{font-weight:400;font-size:15px}.gm-toolbar-btn-group .toolbar-btn.small.text-btn{font-size:11px}.gm-toolbar-separator{height:1px;background:#ffffff1a;margin:2px 0}.scene-map-toolbar.dragging,.gm-toolbar-vertical.dragging{cursor:grabbing;opacity:.9}.toolbar-grip{cursor:grab;color:#555;font-size:14px;letter-spacing:-2px;padding:0 4px;margin-right:4px;border-right:1px solid rgba(255,255,255,.1)}.toolbar-grip:hover{color:#888}.scene-map-toolbar.dragging .toolbar-grip{cursor:grabbing}.toolbar-divider{width:1px;height:24px;background:#ffffff26;margin:0 2px}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#bbb;cursor:pointer;transition:all .15s ease}.toolbar-btn:hover{background:#ffffff26;color:#fff}.toolbar-btn.active{background:#4caf504d;border-color:#4caf5080;color:#4caf50}.toolbar-btn.danger:hover{background:#f4433640;border-color:#f4433666;color:#f44336}.toolbar-btn.small{width:22px;height:22px;font-size:14px;font-weight:700}.toolbar-icon{font-size:16px;line-height:1}.toolbar-control{display:flex;flex-direction:column;align-items:center;gap:2px}.toolbar-control-label{font-size:9px;color:#666;text-transform:uppercase;letter-spacing:.5px}.toolbar-control-row{display:flex;align-items:center;gap:4px}.toolbar-value{font-size:12px;color:#aaa;min-width:24px;text-align:center}.token-item{cursor:grab;transition:all .15s ease}.token-item:active{cursor:grabbing}.token-item:hover:not(.placed):not(.disabled) .token-circle{transform:scale(1.1);box-shadow:0 2px 8px #0006}.token-item.placed{opacity:.3;cursor:not-allowed}.token-item.disabled{opacity:.5;cursor:not-allowed}.token-circle{width:28px;height:28px;border-radius:50%;background:var(--token-color);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);border:2px solid rgba(255,255,255,.2);transition:transform .15s ease,box-shadow .15s ease}.token-circle.npc{background:#666;border:2px dashed rgba(255,255,255,.4);font-size:14px}.npc-token:hover:not(.disabled) .token-circle{transform:scale(1.1);box-shadow:0 2px 8px #0006}.gm-saves-dropdown-wrap{position:relative}.gm-saves-dropdown-btn{display:flex;align-items:center;gap:4px;padding:3px 8px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#bbb;font-size:11px;cursor:pointer;min-width:90px;max-width:140px}.gm-saves-dropdown-btn:hover{background:#ffffff26;color:#fff}.gm-saves-dropdown-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.gm-saves-dropdown-arrow{font-size:8px;color:#666;flex-shrink:0}.gm-saves-dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:2px;background:#1e1e23fa;border:1px solid rgba(255,255,255,.15);border-radius:4px;box-shadow:0 4px 12px #00000080;z-index:200;max-height:200px;overflow-y:auto;min-width:120px}.gm-saves-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;font-size:11px;color:#bbb;cursor:pointer;gap:4px}.gm-saves-dropdown-item:hover{background:#ffffff1a;color:#fff}.gm-saves-dropdown-item.active{color:#4caf50}.gm-saves-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-saves-delete-btn{width:16px;height:16px;padding:0;border:none;background:transparent;color:#666;font-size:12px;cursor:pointer;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gm-saves-delete-btn:hover{color:#f44336;background:#f4433626}.gm-saves-delete-btn.confirm{color:#f44336;background:#f4433640;font-weight:700}.gm-saves-dropdown-empty{padding:8px;font-size:10px;color:#555;text-align:center;font-style:italic}.gm-saves-name-input-wrap{display:flex;align-items:center;gap:3px}.gm-saves-name-input{width:80px;padding:3px 6px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ddd;font-size:11px;outline:none}.gm-saves-name-input:focus{border-color:#4caf5080}.gm-saves-name-input::placeholder{color:#555}.scene-map-panel{width:100%;height:100%;background:#1a1a1f;color:#fff;display:flex;flex-direction:column;overflow:hidden;position:relative}.scene-map-canvas-container{flex:1;min-height:0;position:relative}.scene-map-upload-area{flex:1;display:flex;flex-direction:column;gap:12px;padding:20px}.scene-map-upload{flex:1;display:flex;align-items:center;justify-content:center;border:2px dashed #444;border-radius:8px;cursor:pointer;transition:border-color .2s,background .2s}.scene-map-upload:hover{border-color:#4caf50;background:#4caf500d}.scene-map-upload-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:#888}.scene-map-upload-icon{font-size:48px;color:#555}.scene-map-gallery-btn{padding:10px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#aaa;font-size:14px;cursor:pointer;transition:background .2s,color .2s}.scene-map-gallery-btn:hover{background:#ffffff26;color:#fff}.scene-map-saves-list{display:flex;flex-direction:column;gap:4px;margin-top:4px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);width:100%;max-width:300px;align-self:center}.scene-map-saves-label{font-size:11px;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.scene-map-save-item{padding:8px 12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#aaa;font-size:13px;cursor:pointer;text-align:left;transition:background .15s,color .15s}.scene-map-save-item:hover{background:#ffffff1f;color:#fff}.scene-map-waiting{flex:1;display:flex;align-items:center;justify-content:center;color:#666;font-size:16px}.scene-map-import-model-btn{position:absolute;bottom:12px;left:12px;padding:6px 14px;background:#1e1e23d9;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#aaa;font-size:12px;cursor:pointer;z-index:100;transition:background .2s,color .2s,border-color .2s}.scene-map-import-model-btn:hover{background:#1e1e23f2;color:#fff;border-color:#ffffff59}.token-context-menu{position:fixed;background:#1e1e23fa;border:1px solid rgba(255,255,255,.15);border-radius:6px;box-shadow:0 4px 16px #0006;z-index:200;min-width:100px;padding:4px 0}.context-menu-item{display:block;width:100%;padding:8px 16px;background:none;border:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;transition:background .15s}.context-menu-item:hover{background:#ffffff1a;color:#fff}.context-menu-item.danger:hover{background:#f4433640;color:#f44336}.context-menu-icon{display:inline-block;width:16px;text-align:center;margin-right:6px;opacity:.7}.token-label{color:#fff;font-size:12px;font-weight:600;white-space:nowrap;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 -1px 0 #000,0 1px 0 #000,-1px 0 0 #000,1px 0 0 #000}.token-rename-popup{position:fixed;background:#1e1e23fa;border:1px solid rgba(255,255,255,.15);border-radius:6px;box-shadow:0 4px 16px #0006;z-index:200;padding:8px;display:flex;flex-direction:column;gap:8px}.token-rename-popup input{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:6px 10px;color:#fff;font-size:13px;width:150px;outline:none}.token-rename-popup input:focus{border-color:#4caf5080}.rename-buttons{display:flex;gap:6px}.rename-btn{flex:1;padding:5px 10px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .15s}.rename-btn.save{background:#4caf50;color:#fff}.rename-btn.save:hover{background:#45a049}.rename-btn.cancel{background:#ffffff1a;color:#ccc}.rename-btn.cancel:hover{background:#ffffff26}.map-label{color:#fff;font-size:14px;font-weight:500;white-space:nowrap;padding:2px 6px;background:#0009;border-radius:3px;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;transition:transform .1s,background .1s;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.map-label:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid rgba(0,0,0,.6)}.map-label:hover{transform:translate(-50%,calc(-100% - 6px)) scale(1.05);background:#000c}.map-label:hover:after{border-top-color:#000c}.image-picker-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.image-picker-modal{background:#2a2a2a;border-radius:12px;max-width:700px;max-height:80vh;width:90%;display:flex;flex-direction:column;overflow:hidden}.image-picker-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #444;flex-shrink:0}.image-picker-header h3{margin:0;color:#eee;font-size:18px;font-weight:500}.image-picker-close{background:none;border:none;color:#aaa;font-size:28px;cursor:pointer;padding:0;line-height:1}.image-picker-close:hover{color:#fff}.image-picker-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;padding:12px;align-content:start}.image-picker-empty{grid-column:1 / -1;text-align:center;color:#888;padding:40px;font-style:italic}.image-picker-item{position:relative;background:#333;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .1s,box-shadow .1s}.image-picker-item:hover{transform:scale(1.03);box-shadow:0 4px 12px #0006}.image-picker-item.selected{outline:3px solid #6a8a6a;outline-offset:-3px}.image-picker-item img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.image-picker-checkbox{position:absolute;top:4px;left:4px;width:20px;height:20px;background:#0009;border:2px solid #888;border-radius:3px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;z-index:1}.image-picker-item.selected .image-picker-checkbox{background:#4a8a4a;border-color:#6a8a6a}.image-picker-caption{display:block;padding:4px 6px;font-size:11px;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#2a2a2a}.image-picker-footer{padding:12px 20px;border-top:1px solid #444;display:flex;justify-content:flex-end;flex-shrink:0}.image-picker-confirm{padding:10px 28px;background:#4a8a4a;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.image-picker-confirm:hover{background:#5a9a5a}.case-file-panel{position:fixed;top:0;right:0;bottom:0;width:400px;background:#4a3728;box-shadow:-8px 0 30px #00000080;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.case-file-tab{background:#3a2a1c;padding:10px 20px;border-bottom:2px solid #2a1a10;display:flex;justify-content:space-between;align-items:center}.case-file-tab-label{font-family:Special Elite,monospace;font-size:12px;color:#d4c4a0;text-transform:uppercase;letter-spacing:2px}.case-file-close{width:28px;height:28px;padding:0;background:transparent;border:none;color:#d4c4a0;font-size:22px;line-height:1;cursor:pointer;border-radius:2px}.case-file-close:hover{color:#fff}.case-file-folder{flex:1;background:#f4f1e8;margin:8px;border:1px solid #d4c4a0;display:flex;flex-direction:column;overflow:hidden}.case-file-header{padding:16px 130px 16px 20px;min-height:100px;border-bottom:1px solid #d4c4a0;background:#ebe6d9;position:relative}.case-file-photo{position:absolute;top:12px;right:16px;max-width:100px;max-height:100px;border:4px solid #eae9e5;box-shadow:2px 3px 8px #00000040;transform:rotate(2deg)}.case-file-subject-row{display:flex;align-items:center;gap:8px}.case-file-subject{font-family:Special Elite,monospace;font-size:20px;color:#4a3728;margin:0}.case-file-edit-btn{width:24px;height:24px;padding:0;background:transparent;border:1px solid transparent;color:#999;font-size:14px;cursor:pointer;border-radius:3px;opacity:.6;transition:opacity .15s,color .15s}.case-file-edit-btn:hover{opacity:1;color:#4a3728;border-color:#d4c4a0;background:#f4f1e8}.case-file-subject-input{font-family:Special Elite,monospace;font-size:20px;color:#4a3728;background:#fff;border:1px solid #4a3728;border-radius:2px;padding:2px 6px;width:100%;max-width:200px;outline:none}.case-file-subject-input:focus{box-shadow:0 0 0 2px #4a372833}.case-file-notes{flex:1;display:flex;flex-direction:column;padding:0 20px 20px;overflow:hidden}.case-file-notes-label{font-family:Special Elite,monospace;font-size:11px;color:#666;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;border-bottom:1px solid #d4c4a0;padding-bottom:4px}.case-file-textarea{flex:1;width:100%;padding:12px;border:1px solid #d4c4a0;border-radius:2px;background:#faf9f5;font-family:Special Elite,monospace;font-size:14px;line-height:1.7;color:#333;resize:none;outline:none}.case-file-textarea:focus{border-color:#4a3728}.case-file-textarea::placeholder{color:#999}.investigator-board-panel{position:relative;height:100%;background:#2a2a2a}.board-toolbar{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:6px;padding:8px;background:#1a1a1ae6;border:1px solid #333;border-radius:8px;z-index:100}.board-btn{padding:8px 10px;background:#3a3a3a;border:1px solid #555;border-radius:4px;color:#eee;font-size:12px;cursor:pointer;transition:background .2s;white-space:nowrap}.board-btn:hover{background:#4a4a4a}.board-toolbar-divider{height:2px;background:#666;margin:8px 4px}.board-zoom-label{color:#888;font-size:11px;text-align:center;padding:4px 0}.investigator-board{position:absolute;inset:0;overflow:hidden;background:#b8860b url(/textures/cork.jpg);background-size:400px 400px}.board-item{position:relative;box-shadow:4px 5px 6px #0006,1px 1px 2px #0003;cursor:move}.board-item:has(.board-item-image){background:#eae9e5;border:5px solid #eae9e5}.board-item-image{display:block;-webkit-user-select:none;user-select:none}.board-item-caption{height:24px;line-height:24px;text-align:center;font-family:Caveat,cursive;font-size:16px;color:#2a5a8a;background:#eae9e5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .2s,color .2s}.board-item-caption:hover{color:#1a4a7a;text-decoration-color:#1a4a7a}.board-item-note{width:100%;height:100%;background:#fff9c4;padding:12px;box-sizing:border-box}.board-item-note:before{content:"";position:absolute;bottom:0;left:0;right:0;height:30%;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.05));pointer-events:none}.board-note-text{width:100%;height:100%;font-family:Caveat,cursive;font-size:18px;color:#333;line-height:1.4;overflow:hidden;word-wrap:break-word}.board-note-textarea{width:100%;height:100%;border:none;background:transparent;font-family:Caveat,cursive;font-size:18px;color:#333;line-height:1.4;resize:none;outline:none}.board-note-textarea::placeholder{color:#999}.board-item-controls{position:absolute;top:4px;right:4px;opacity:0;transition:opacity .2s}.board-item:hover .board-item-controls{opacity:1}.board-item-delete{width:20px;height:20px;padding:0;background:#0009;border:none;border-radius:50%;color:#fff;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.board-item-delete:hover{background:#c00}.board-item-rotate-handle{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:20px;height:20px;background:#666;border:2px solid #888;border-radius:50%;color:#fff;font-size:12px;cursor:grab;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;-webkit-user-select:none;user-select:none}.board-item:hover .board-item-rotate-handle{opacity:1}.board-item-rotate-handle:hover{background:#888}.board-item-rotate-handle:active{cursor:grabbing;background:#999}.board-empty-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:20px 40px;background:#0006;border-radius:8px;color:#ddd;font-size:16px;text-align:center;pointer-events:none}.board-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#888;font-size:16px}.react-resizable-handle{background:#fffc;border:1px solid #333}.board-btn.active{background:#c41e1e;border-color:#c41e1e}.investigator-board.connecting{cursor:crosshair}.investigator-board.panning{cursor:grabbing}.board-item.connecting-mode{cursor:pointer}.board-item.connecting-mode:hover{outline:3px solid #c41e1e;outline-offset:2px}.board-item.connecting-from{outline:3px solid #4CAF50;outline-offset:2px}.board-connections{z-index:1}.board-connections line{filter:drop-shadow(1px 1px 2px rgba(0,0,0,.5))}.board-item-context-menu{background:#2a2a2a;border:1px solid #444;border-radius:6px;box-shadow:0 4px 12px #0006;padding:4px;min-width:140px}.board-item-context-menu button{display:block;width:100%;padding:8px 12px;background:none;border:none;color:#eee;font-size:13px;text-align:left;cursor:pointer;border-radius:4px}.board-item-context-menu button:hover{background:#3a3a3a}.character-overlay-panel{z-index:100;display:flex;flex-direction:row;align-items:stretch;gap:4px}.overlay-controls{display:flex;flex-direction:column;gap:4px;justify-content:flex-end;padding-bottom:4px}.overlay-btn{width:20px;height:26px;border-radius:3px;border:none;background:#00000080;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:auto;color:#fffc;font-size:11px;font-weight:600;font-family:system-ui,sans-serif;opacity:.7;transition:opacity .15s,background .15s}.overlay-btn:hover{background:#0009;opacity:1}.overlay-btn.active{background:#b48c3cb3;opacity:1}.overlay-btn.active:hover{background:#b48c3cd9}.overlay-portrait{border-radius:8px;overflow:hidden;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 12px #00000080;position:relative;pointer-events:none}.overlay-portrait img{width:100%;height:100%;object-fit:cover;display:block}.overlay-bars{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;gap:3px;padding:5px;background:linear-gradient(to top,rgba(0,0,0,.85),transparent)}.overlay-bar{height:8px;background:#000c;border-radius:4px;overflow:hidden;border:1px solid rgba(0,0,0,.9);box-shadow:inset 0 2px 4px #00000080}.overlay-bar .bar-fill{height:100%;border-radius:3px;transition:width .3s ease;position:relative}.overlay-bar .bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent);border-radius:3px 3px 0 0}.hp-bar .bar-fill{background:linear-gradient(to bottom,#f44,#c00);box-shadow:0 0 8px #ff000080,inset 0 -2px 4px #0000004d}.sanity-bar .bar-fill{background:linear-gradient(to bottom,#4af,#06c);box-shadow:0 0 8px #0064ff80,inset 0 -2px 4px #0000004d}.dice-3d-overlay{opacity:0;visibility:hidden;transition:opacity .2s ease-out,visibility .2s;border-radius:8px;overflow:hidden}.dice-3d-overlay.visible{opacity:1;visibility:visible}.dice-3d-overlay.rolling{animation:dice-container-appear .3s ease-out}@keyframes dice-container-appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dice-3d-overlay canvas{width:100%!important;height:100%!important;border-radius:8px}.dice-result-banner{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;align-items:baseline;gap:8px;padding:8px 16px;background:#000000d9;border-radius:8px;border:1px solid rgba(139,115,85,.6);animation:result-appear .3s ease-out;pointer-events:none}@keyframes result-appear{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dice-result-total{font-size:32px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.dice-result-notation{font-size:14px;color:#8b7355;font-family:monospace}.dice-3d-overlay.result{animation:dice-fade-out .5s ease-out 3s forwards}@keyframes dice-fade-out{0%{opacity:1}to{opacity:0;visibility:hidden}}.dice-button-container{position:relative}.dice-trigger-btn{padding:8px 12px!important}.dice-icon-img{width:20px;height:20px;filter:brightness(.9)}.dice-popover{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;display:flex;gap:4px;background:#2a2a2a;border:1px solid #444;border-radius:6px;padding:8px;box-shadow:0 4px 16px #0006;z-index:1000}.dice-btn{padding:8px 12px;font-size:12px;font-weight:600;font-family:monospace;background:#3a3a3a;border:1px solid #555;border-radius:4px;color:#ddd;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.dice-btn:hover{background:#4a4a4a;border-color:#8b7355;color:#fff}.dice-btn:active{background:#8b7355}.dice-hidden-toggle{display:flex;align-items:center;gap:4px;padding:8px;font-size:11px;color:#aaa;cursor:pointer;-webkit-user-select:none;user-select:none;border-left:1px solid #444;margin-left:4px}.dice-hidden-toggle input{cursor:pointer;accent-color:#8b7355}.dice-hidden-toggle:hover{color:#ddd}.room-settings-panel{position:relative;width:400px;margin:0;padding:20px;background:#1a1a1a;color:#eee;height:100%;overflow-y:auto}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #333}.settings-header h3{margin:0;font-size:18px;font-weight:600}.close-btn{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:#fff}.settings-error{background:#3d1515;color:#ff6b6b;padding:8px 12px;border-radius:4px;margin-bottom:16px;font-size:14px}.settings-section{margin-bottom:24px}.settings-section h4{margin:0 0 12px;font-size:14px;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:.5px}.no-participants{color:#666;font-style:italic;margin:0}.participant-list{list-style:none;margin:0;padding:0}.participant-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#252525;border-radius:6px;margin-bottom:8px}.participant-name{font-weight:500;font-size:14px}.participant-controls{display:flex;align-items:center;gap:12px}.gm-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:#aaa}.gm-toggle input{cursor:pointer}.gm-toggle input:disabled{cursor:wait;opacity:.5}.creator-badge{font-size:11px;background:#3d3d00;color:gold;padding:2px 6px;border-radius:3px;font-weight:500}.invite-form{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #333}.invite-form input{flex:1;padding:8px 12px;background:#252525;border:1px solid #444;border-radius:4px;color:#eee;font-size:14px}.invite-form input:focus{outline:none;border-color:#666}.invite-form input::placeholder{color:#666}.invite-form button{padding:8px 16px;background:#4a4a4a;border:none;border-radius:4px;color:#fff;font-size:14px;cursor:pointer;white-space:nowrap}.invite-form button:hover:not(:disabled){background:#5a5a5a}.invite-form button:disabled{opacity:.5;cursor:not-allowed}.audio-zone-panel{padding:16px;height:100%;overflow-y:auto;background:var(--lk-bg);color:var(--lk-fg, #fff)}.zone-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.zone-header h4{margin:0;font-size:1.1rem}.zone-clear-btn{background:#dc3545;color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:.85rem}.zone-clear-btn:hover{background:#c82333}.zone-status{padding:8px 12px;border-radius:6px;margin-bottom:16px;font-size:.9rem;text-align:center}.zone-status.normal{background:#ffffff1a;color:#ffffffb3}.zone-status.whisper{background:#8a2be24d;color:#d8b4fe;border:1px solid rgba(138,43,226,.5)}.zone-status.groups{background:#3b82f64d;color:#93c5fd;border:1px solid rgba(59,130,246,.5)}.zone-section{margin-bottom:20px}.zone-section-title{display:flex;justify-content:space-between;align-items:center;font-weight:500;margin-bottom:8px;font-size:.9rem;color:#fffc}.zone-toggle-btn{background:#ffffff26;color:#ffffffe6;border:none;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:.8rem}.zone-toggle-btn:hover{background:#ffffff40}.whisper-buttons{display:flex;flex-wrap:wrap;gap:8px}.whisper-btn{background:#8a2be233;color:#d8b4fe;border:1px solid rgba(138,43,226,.4);padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s}.whisper-btn:hover{background:#8a2be266;border-color:#8a2be299}.whisper-btn.active{background:#8a2be299;border-color:#8b5cf6;color:#fff}.no-participants{color:#fff6;font-style:italic;font-size:.85rem}.group-editor{display:flex;flex-wrap:wrap;gap:16px;background:#ffffff0d;padding:12px;border-radius:8px;margin-top:8px}.group-column{flex:1;min-width:120px}.group-label{font-weight:600;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.2)}.group-column:first-child .group-label{color:#93c5fd}.group-column:nth-child(2) .group-label{color:#fca5a5}.group-checkbox{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;font-size:.9rem}.group-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.apply-groups-btn{width:100%;background:#3b82f64d;color:#93c5fd;border:1px solid rgba(59,130,246,.5);padding:10px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s;margin-top:8px}.apply-groups-btn:hover{background:#3b82f680;border-color:#3b82f6b3}.apply-groups-btn:disabled{opacity:.5;cursor:not-allowed}.speaking-to-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.speaking-btn{padding:10px 16px;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:6px;color:#86efac;cursor:pointer;transition:all .2s;font-size:.9rem}.speaking-btn:hover{background:#22c55e40;border-color:#22c55e80}.speaking-btn.active{background:#22c55e80;border-color:#22c55e;color:#fff;box-shadow:0 0 8px #22c55e4d}.group-members-list{display:flex;flex-direction:column;gap:6px;padding:10px;background:#ffffff0d;border-radius:6px}.group-members-item{display:flex;gap:8px;font-size:.85rem}.group-members-label{color:#fff9;min-width:70px}.group-members-names{color:#ffffffe6}.group-editor-hint{font-size:.85rem;color:#fff9;margin:0 0 12px;font-style:italic}.group-columns{display:flex;gap:16px}.whisper-input-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.whisper-input-modal{background:#f4f1e8;border:2px solid #8b7355;border-radius:8px;width:360px;box-shadow:0 8px 32px #0006;font-family:Special Elite,Courier New,monospace}.whisper-input-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#4a3728;color:#f4f1e8;border-radius:6px 6px 0 0;font-weight:600}.whisper-icon{width:24px;height:24px;background:#fff3;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px}.whisper-close{margin-left:auto;background:none;border:none;color:inherit;font-size:20px;cursor:pointer;opacity:.7;padding:0 4px}.whisper-close:hover{opacity:1}.whisper-input-body{padding:16px;display:flex;flex-direction:column;gap:12px}.whisper-player-list{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #8b7355;border-radius:4px;padding:4px;max-height:150px;overflow-y:auto}.whisper-player-item{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;border-radius:3px;transition:background .15s}.whisper-player-item:hover{background:#e8e0d8}.whisper-player-item.selected{background:#4a3728;color:#f4f1e8}.whisper-player-item.selected .whisper-player-username{color:#d4c098}.whisper-player-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.whisper-player-name{flex:1;font-size:14px}.whisper-player-username{color:#666;font-size:12px}.whisper-message-input{width:100%;padding:10px 12px;border:1px solid #8b7355;border-radius:4px;font-family:inherit;font-size:14px;resize:none;background:#fff;color:#333;box-sizing:border-box}.whisper-message-input:focus{outline:none;border-color:#4a3728;box-shadow:0 0 0 2px #4a372833}.whisper-message-input:disabled{background:#eee;cursor:not-allowed}.whisper-send-btn{padding:10px 20px;background:#4a3728;color:#f4f1e8;border:none;border-radius:4px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.whisper-send-btn:hover:not(:disabled){background:#6b5344}.whisper-send-btn:disabled{opacity:.5;cursor:not-allowed}.whisper-send-btn.sent{background:#2e7d32}.whisper-send-btn.error{background:#c62828}.whisper-toast-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:12px;z-index:1000;pointer-events:none}.whisper-toast{width:400px;background:#14120ff2;border-left:4px solid #8b7355;border-radius:4px;box-shadow:0 8px 32px #00000080;font-family:Special Elite,Courier New,monospace;pointer-events:auto;cursor:pointer;overflow:hidden;opacity:0;transform:scale(.95);transition:opacity .3s ease,transform .3s ease}.whisper-toast.visible{opacity:1;transform:scale(1)}.whisper-toast.exiting{opacity:0;transform:scale(.95)}.whisper-toast-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px 16px;color:#8b7355;font-size:12px;text-transform:uppercase;letter-spacing:1px}.whisper-toast-close{background:none;border:none;color:#8b7355;font-size:24px;cursor:pointer;padding:4px 8px;opacity:.7;line-height:1}.whisper-toast-close:hover{opacity:1;color:#f4f1e8}.whisper-toast-message{padding:0 16px 14px;color:#f4f1e8;font-size:18px;line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.whisper-toast:hover{background:#1e1a16fa}.quick-note-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1100}.quick-note-modal{background:#f4f1e8d1;border:2px solid rgba(139,115,85,.6);border-radius:8px;width:500px;box-shadow:0 8px 32px #00000040;font-family:Special Elite,Courier New,monospace;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.quick-note-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#4a3728cc;color:#f4f1e8;border-radius:6px 6px 0 0;font-weight:600;font-size:15px}.quick-note-icon{width:22px;height:22px;background:#fff3;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:13px}.quick-note-counter{font-size:12px;font-weight:400;opacity:.8;background:#ffffff26;padding:2px 8px;border-radius:3px}.quick-note-close{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;opacity:.7;padding:0 4px;margin-left:auto}.quick-note-close:hover{opacity:1}.quick-note-input-wrapper{position:relative}.quick-note-mirror{position:absolute;top:0;left:0;right:0;padding:14px 16px;font-family:inherit;font-size:16px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;pointer-events:none;box-sizing:border-box}.quick-note-mirror .mirror-text{color:transparent}.quick-note-mirror .ghost-text{color:#555}.quick-note-mirror .known-name{background:#ffd24680;border-radius:2px;padding:1px 0}.quick-note-textarea{position:relative;width:100%;padding:14px 16px;border:none;border-radius:0 0 6px 6px;font-family:inherit;font-size:16px;line-height:1.5;resize:none;background:#fff6;color:#333;box-sizing:border-box;z-index:1}.quick-note-textarea:focus{outline:none;background:#ffffff73}.quick-note-textarea::placeholder{color:#888}.quick-note-stack{display:flex;flex-direction:column;align-items:center;gap:6px}.quick-note-autocomplete{position:absolute;left:8px;right:8px;bottom:100%;margin-bottom:4px;background:#1e1c19f2;border:1px solid rgba(139,115,85,.6);border-radius:4px;box-shadow:0 -4px 16px #0000004d;overflow:hidden;z-index:10}.quick-note-autocomplete-item{padding:8px 12px;font-size:14px;color:#888;cursor:pointer;transition:all .1s}.quick-note-autocomplete-item:hover{color:#ccc;background:#4a372866}.quick-note-autocomplete-item.selected{background:#4a3728e6;color:#fff;font-weight:500}.quick-note-main{position:relative}.quick-note-hints{position:absolute;right:calc(100% + 16px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;padding:8px 0;font-family:Special Elite,Courier New,monospace}.hint-item{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.hint-keys{display:flex;gap:2px}.hint-keys kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:#4a3728e6;color:#f4f1e8;border:1px solid rgba(244,241,232,.4);border-radius:4px;font-size:11px;font-family:inherit;box-shadow:0 2px #0000004d,inset 0 1px #ffffff1a}.hint-label{font-size:9px;color:#f4f1e8b3;text-transform:uppercase;letter-spacing:.5px}.quick-note-click-layer{position:absolute;top:0;left:0;right:0;padding:14px 16px;font-family:inherit;font-size:16px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;box-sizing:border-box;z-index:2;pointer-events:none}.quick-note-click-layer .click-target{color:transparent}.quick-note-click-layer .click-target.known-name{pointer-events:auto;cursor:pointer;border-radius:2px}.quick-note-click-layer .click-target.known-name:hover{background:#ffd2464d}.quick-note-entity-panel{position:absolute;left:calc(100% + 12px);top:0;width:320px;max-height:300px;background:#f4f1e8f2;border:2px solid rgba(139,115,85,.8);border-radius:8px;box-shadow:0 8px 32px #0000004d;font-family:Special Elite,Courier New,monospace;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;animation:slideIn .15s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.entity-panel-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#4a3728e6;color:#f4f1e8;border-radius:6px 6px 0 0;font-size:14px}.entity-panel-name{font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-panel-count{font-size:11px;opacity:.7;background:#ffffff26;padding:2px 6px;border-radius:3px}.entity-panel-close{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;opacity:.7;padding:0 4px}.entity-panel-close:hover{opacity:1}.entity-panel-notes{flex:1;overflow-y:auto;padding:8px}.entity-panel-note{padding:8px 10px;margin-bottom:6px;background:#fff9;border-radius:4px;font-size:13px;line-height:1.4;color:#333}.entity-panel-note:last-child{margin-bottom:0}.entity-panel-empty{padding:20px;text-align:center;color:#888;font-size:13px}.quick-note-history-item{width:480px;padding:10px 16px;background:#f4f1e8bf;border:1px solid rgba(139,115,85,.4);border-radius:6px;font-family:Special Elite,Courier New,monospace;font-size:14px;color:#333;white-space:pre-wrap;overflow:hidden;text-overflow:ellipsis;max-height:60px;line-height:1.4}.lexical-autocomplete{position:absolute;z-index:1000;background:#2a2520;border:1px solid #4a4540;border-radius:4px;box-shadow:0 4px 12px #0006;min-width:150px;max-width:300px;font-family:Special Elite,Courier New,monospace;font-size:14px}.autocomplete-item{padding:8px 12px;cursor:pointer;color:#d4cfc4;border-bottom:1px solid #3a3530}.autocomplete-item:last-of-type{border-bottom:none}.autocomplete-item:hover,.autocomplete-item.selected{background:#3a3530;color:#e8d4a8}.autocomplete-hint{padding:4px 12px;font-size:11px;color:#666;background:#252320;border-top:1px solid #3a3530;border-radius:0 0 4px 4px}.lexical-note-editor{position:relative;width:100%}.lexical-content-editable{padding:14px 16px;font-family:Special Elite,Courier New,monospace;font-size:16px;line-height:1.5;color:#333;background:#fff6;border:none;border-radius:0 0 6px 6px;outline:none;min-height:80px}.lexical-content-editable:focus{background:#ffffff73}.lexical-placeholder{position:absolute;top:14px;left:16px;color:#888;font-family:Special Elite,Courier New,monospace;font-size:16px;pointer-events:none;-webkit-user-select:none;user-select:none}.entity-highlight{background:#ffd24680;border-radius:2px;padding:1px 2px;cursor:pointer}.entity-highlight:hover{background:#ffd246b3}.notes-paragraph{margin:0}.notes-bold{font-weight:700}.notes-italic{font-style:italic}.notes-underline{text-decoration:underline}.lexical-note-editor.read-only .lexical-content-editable{cursor:default;-webkit-user-select:text;user-select:text}.notes-editor-panel{display:flex;flex-direction:column;height:100%;background:#1e1c1a;color:#d4cfc4;width:700px;font-family:Special Elite,Courier New,monospace;position:relative}.notes-panel-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #3a3530;background:#252320;flex-wrap:wrap}.notes-panel-header h2{margin:0;font-size:18px;color:#e8d4a8;font-weight:400}.notes-page-navigation{display:flex;align-items:center;gap:8px;margin-left:auto}.notes-new-page-btn{padding:4px 12px;background:#3a3530;color:#e8d4a8;border:1px solid #4a4035;border-radius:3px;font-size:16px;cursor:pointer;font-family:Special Elite,monospace}.notes-new-page-btn:hover{background:#4a4035}.notes-new-page-btn:disabled{opacity:.5;cursor:not-allowed}.notes-page-nav{display:flex;align-items:center;gap:2px;background:#3a3530;border-radius:3px;padding:2px}.notes-nav-btn{width:24px;height:24px;padding:0;background:#4a4035;color:#e8d4a8;border:1px solid #5a5040;border-radius:2px;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.notes-nav-btn:hover:not(:disabled){background:#4a4035}.notes-nav-btn:disabled{opacity:.3;cursor:not-allowed}.notes-page-name{padding:0 12px;color:#e8d4a8;font-size:16px;font-family:Special Elite,monospace;width:180px;text-align:center;background:transparent;border:none;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap}.notes-help-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#3a3530;color:#999;font-size:11px;font-weight:700;cursor:help;border:1px solid #4a4035}.notes-help-icon:hover{background:#4a4035;color:#e8d4a8}.notes-close-btn{margin-left:auto;background:none;border:none;color:#666;font-size:24px;cursor:pointer;padding:0 4px;line-height:1}.notes-close-btn:hover{color:#a89060}.notes-search-bar{position:relative;flex:1;max-width:200px;margin-left:12px}.notes-search-input{width:100%;background:#1a1816;border:1px solid #3a3530;border-radius:4px;padding:6px 28px 6px 10px;color:#d4cfc4;font-family:Special Elite,Courier New,monospace;font-size:13px}.notes-search-input::placeholder{color:#666}.notes-search-input:focus{outline:none;border-color:#5a5040}.notes-search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;color:#666;font-size:16px;cursor:pointer;padding:0 4px;line-height:1}.notes-search-clear:hover{color:#a89060}.notes-search-results-header{display:flex;align-items:center;gap:12px;padding:8px 28px;border-bottom:1px solid #c4b8a8;background:#f5f0e6}.notes-search-count{font-size:12px;color:#666}.notes-search-back{background:#3a3530;color:#e8d4a8;border:1px solid #4a4035;border-radius:3px;padding:4px 8px;font-size:11px;cursor:pointer;font-family:Special Elite,monospace}.notes-search-back:hover{background:#4a4035}.notes-empty{padding:48px 32px;text-align:center;color:#666;font-style:italic}.notes-page{flex:1;overflow-y:auto;background:#f5f0e6;margin:16px;border-radius:2px;box-shadow:0 2px 8px #0000004d,inset 0 0 60px #0000000d;position:relative}.notes-page .lexical-note-editor{min-height:100%}.notes-page .lexical-content-editable{background:transparent;color:#2a2520;font-family:Special Elite,Courier New,monospace;font-size:15px;line-height:1.9;padding:32px 28px;min-height:calc(100vh - 200px)}.notes-page .lexical-content-editable:focus{outline:none;background:transparent}.notes-page .lexical-placeholder{color:#999;padding:32px 28px}.notes-page .notes-divider{border:none;height:1px;background:#c4b8a8;margin:1.5em 0;opacity:.6}.notes-page .entity-highlight{background:#b48c3c4d;border-bottom:1px dotted #8a7040;border-radius:0;padding:0 2px;cursor:pointer}.notes-page .entity-highlight:hover{background:#b48c3c80}.notes-loading{padding:48px 32px;text-align:center;color:#666;background:#f5f0e6;height:100%}.notes-page-title{position:absolute;top:80px;left:28px;font-family:Special Elite,Courier New,monospace;font-size:18px;font-weight:700;color:#8b7355;z-index:10;pointer-events:none}.notes-save-hint{position:absolute;top:80px;right:44px;display:flex;align-items:center;gap:6px;z-index:10;pointer-events:none}.notes-save-hint .hint-keys{display:flex;gap:2px}.notes-save-hint .hint-keys kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:#4a3728e6;color:#f4f1e8;border:1px solid rgba(244,241,232,.4);border-radius:4px;font-family:Special Elite,Courier New,monospace;font-size:11px;font-weight:400;text-transform:none}.notes-save-hint .hint-label{font-size:11px;color:#8b7355;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.notes-save-hint .hint-plus{color:#8b7355;font-weight:700;font-size:12px;margin:0 2px}:root{--sheet-border-radius: 2px;--sheet-border-radius-lg: 4px;--sheet-input-padding: 4px 6px;--sheet-input-padding-sm: 4px 4px;--sheet-font-size-xs: 9px;--sheet-font-size-sm: 10px;--sheet-font-size-md: 12px;--sheet-font-size-base: 13px;--sheet-font-size-lg: 14px;--sheet-font-size-xl: 18px;--sheet-gap-xs: 2px;--sheet-gap-sm: 4px;--sheet-gap-md: 8px;--sheet-gap-lg: 12px;--sheet-gap-xl: 20px;--theme-primary: #4a3728;--theme-primary-hover: #6b5344;--theme-bg: #f4f1e8;--theme-section-bg: #fff;--theme-border: #d4d0c4;--theme-accent: #555;--theme-accent-hover: #666;--theme-accent-text: #ccc;--theme-accent-muted: #999;--input-bg: #fafafa;--input-bg-focus: #fff;--input-border: #ccc;--input-border-focus: var(--theme-primary);--text-primary: #2a2520;--text-secondary: #666;--text-muted: #888;--state-locked-bg: #eee;--state-locked-cursor: not-allowed;--state-calculated-bg: #e8e0d8;--state-calculated-color: #666;--font-display: Georgia, "Times New Roman", serif;--font-heading: inherit;--font-input: "Courier New", monospace;--font-ui: inherit}.coc-sheet,[data-system-theme=coc7e-sv]{--theme-primary: #4a3728;--theme-primary-hover: #6b5344;--theme-bg: #f4f1e8;--theme-section-bg: #fff;--theme-border: #d4d0c4;--theme-accent: #8b7355;--theme-accent-hover: #a08060;--theme-accent-text: #e8d4a8;--theme-accent-muted: #c0a080;--font-display: Georgia, "Times New Roman", serif;--font-heading: "Cinzel", serif;--font-input: "Special Elite", "Courier New", monospace;--bar-hp: linear-gradient(to bottom, #ff4444, #cc0000);--bar-hp-glow: rgba(255, 0, 0, .4);--bar-sanity: linear-gradient(to bottom, #44aaff, #0066cc);--bar-sanity-glow: rgba(0, 100, 255, .4);--bar-mp: linear-gradient(to bottom, #aa66ff, #6600cc);--bar-mp-glow: rgba(100, 0, 255, .4);--bar-luck: linear-gradient(to bottom, #ffcc44, #cc9900);--bar-luck-glow: rgba(200, 150, 0, .4);--ammo-btn-bg: #e8d4a8;--ammo-btn-border: #8b7355;--ammo-btn-hover: #d4c098}.coc-sheet .sheet-stat-bar__fill--hp{background:var(--bar-hp);box-shadow:0 0 6px var(--bar-hp-glow)}.coc-sheet .sheet-stat-bar__fill--sanity{background:var(--bar-sanity);box-shadow:0 0 6px var(--bar-sanity-glow)}.coc-sheet .sheet-stat-bar__fill--mp{background:var(--bar-mp);box-shadow:0 0 6px var(--bar-mp-glow)}.coc-sheet .sheet-stat-bar__fill--luck{background:var(--bar-luck);box-shadow:0 0 6px var(--bar-luck-glow)}.coc-sheet .coc-ammo-btn,.coc-sheet .coc-ammo-reload{background:var(--ammo-btn-bg);border-color:var(--ammo-btn-border);color:var(--theme-primary)}.coc-sheet .coc-ammo-btn:hover:not(:disabled),.coc-sheet .coc-ammo-reload:hover:not(:disabled){background:var(--ammo-btn-hover)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1a1a;color:#fff;height:100vh}#root{height:100%}.app{height:100%;display:flex;flex-direction:column}.landing{display:flex;justify-content:center;align-items:center;height:100%;padding:20px}.landing-content{background:#2a2a2a;padding:30px;border-radius:10px;border:2px solid var(--theme-accent);width:100%;max-width:500px}.landing-content h1{color:var(--theme-accent-text);margin-bottom:25px;font-size:28px;text-align:center;font-family:var(--font-input);letter-spacing:2px}.auth-section{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #333}.logged-in-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#8b735526;border:1px solid var(--theme-accent);border-radius:5px}.logged-in-bar span{color:var(--theme-accent-muted);font-size:14px}.logged-in-bar strong{color:var(--theme-accent-text)}.logout-btn{padding:5px 12px;background:transparent;border:1px solid #666;border-radius:4px;color:#999;font-size:12px;cursor:pointer;transition:all .2s}.logout-btn:hover{border-color:var(--theme-accent);color:var(--theme-accent-text)}.login-form{display:flex;gap:10px}.login-input{flex:1;padding:10px 12px;background:#333;border:1px solid #444;border-radius:5px;color:#fff;font-size:14px}.login-input:focus{outline:none;border-color:var(--theme-accent)}.login-btn{white-space:nowrap}.login-prompt{color:#666;text-align:center;padding:20px;font-style:italic}.pending-room-notice{background:#8b735533;border:1px solid var(--theme-accent);border-radius:5px;padding:12px 15px;margin-bottom:15px;color:var(--theme-accent-muted);text-align:center}.pending-room-notice strong{color:var(--theme-accent-text)}.logged-in-info{display:flex;align-items:center;gap:8px;padding:8px 0}.logged-in-info span{color:var(--theme-accent-muted)}.logged-in-info strong{color:var(--theme-accent-text)}.change-user-btn{background:none;border:none;color:#666;font-size:12px;cursor:pointer;padding:2px 4px}.change-user-btn:hover{color:var(--theme-accent)}.create-room-section{margin-bottom:20px}.create-room-toggle{width:100%;padding:12px 15px;background:transparent;border:1px solid #444;border-radius:5px;color:var(--theme-accent-hover);font-size:14px;font-family:var(--font-input);letter-spacing:1px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .2s}.create-room-toggle:hover{border-color:var(--theme-accent);color:var(--theme-accent-text)}.toggle-arrow{display:inline-block;transition:transform .2s;font-size:10px}.toggle-arrow.expanded{transform:rotate(90deg)}.create-room-form{display:flex;flex-direction:column;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid #333}.create-room-form input{flex:1;padding:12px;background:#1a1a1a;border:1px solid #444;border-radius:5px;color:#fff;font-size:16px}.create-room-form input:focus{outline:none;border-color:var(--theme-accent)}.create-room-form button{width:auto;padding:12px 20px;white-space:nowrap}.slug-input-row{display:flex;align-items:center;gap:0}.slug-prefix{padding:12px;background:#222;border:1px solid #444;border-right:none;border-radius:5px 0 0 5px;color:#888;font-size:14px}.slug-input{border-radius:0 5px 5px 0!important}.system-select{padding:12px;background:#1a1a1a;border:1px solid #444;border-radius:5px;color:#fff;font-size:14px;cursor:pointer;appearance:auto}.system-select:focus{outline:none;border-color:#666}.background-upload{display:flex;align-items:center;justify-content:center;padding:12px;background:#1a1a1a;border:1px dashed #444;border-radius:5px;color:#888;font-size:14px;cursor:pointer;transition:border-color .2s,color .2s}.background-upload:hover{border-color:var(--theme-accent);color:var(--theme-accent-text)}.rooms-section h2{font-size:14px;color:var(--theme-accent-hover);margin-bottom:15px;font-family:var(--font-input);letter-spacing:2px}.rooms-loading,.rooms-empty{color:#666;text-align:center;padding:20px}.rooms-error{color:#c44;text-align:center;padding:20px}.room-list{list-style:none;margin:0;padding:0}.room-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#1a1a1a;border:1px solid #333;border-radius:5px;margin-bottom:8px;transition:all .2s}.room-item:hover{border-color:var(--theme-accent);background:#222}.room-info{flex:1;cursor:pointer}.room-name{font-size:16px;font-weight:500}.room-meta{display:inline-flex;align-items:center;gap:8px}.room-owner{font-size:12px;color:#666}.room-system-badge{font-size:10px;color:#888;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:1px 6px;letter-spacing:.3px}.room-actions{display:flex;align-items:center;gap:10px}.delete-room-btn{background:none;border:none;color:#666;font-size:20px;cursor:pointer;padding:0 5px;line-height:1}.delete-room-btn:hover{color:#f44}.room-arrow{color:var(--theme-accent);font-size:18px;cursor:pointer}.creator-name-input{flex:.8}.test-btn{width:100%;margin-top:25px;padding:12px;background:#444;border:none;border-radius:5px;color:#eee;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s}.test-btn:hover{background:#555}.lobby{display:flex;height:100%}.lobby .lobby-sidebar{flex-shrink:0;justify-content:flex-start}.lobby-main{flex:1;display:flex;justify-content:center;align-items:center;padding:20px;overflow:hidden}.lobby-with-sidebar .lobby-main{justify-content:flex-start;align-items:stretch;padding:0}.lobby-panel{flex:0 0 auto;min-width:0;height:100%;overflow:auto;border-right:1px solid #444}.lobby-form-container{display:flex;justify-content:center;align-items:center}.lobby-with-sidebar .lobby-form-container{flex:0 0 auto;padding:10px 15px 10px 30px;background:#1a1a1a;overflow:auto}.lobby-with-sidebar .lobby-form{width:100%;max-width:none;min-height:auto;padding:30px}.lobby-form{background:#1a1a1a;padding:40px;border-radius:4px;border:2px solid var(--theme-accent);box-shadow:0 4px 20px #00000080;width:100%;max-width:500px;min-height:500px;position:relative;display:flex;flex-direction:column}.lobby-form:before{content:"";position:absolute;inset:0;background:#0009;border-radius:4px;pointer-events:none}.lobby-form>*{position:relative;z-index:1}.lobby-form{font-family:var(--font-input)}.lobby-form h1{color:var(--theme-accent-text);margin-bottom:5px;margin-top:25px;font-size:24px;font-family:var(--font-input);letter-spacing:2px}.room-host{color:var(--theme-accent-hover);font-size:14px;margin-bottom:4px;font-style:italic}.lobby-system-name{color:var(--theme-accent-muted);font-size:12px;margin-bottom:20px;letter-spacing:.5px}.back-btn{position:absolute;top:10px;left:10px;width:auto;padding:8px 16px;font-size:13px;font-family:var(--font-input);letter-spacing:1px;background:transparent;border:2px solid var(--theme-accent-text);color:var(--theme-accent-text);border-radius:3px;cursor:pointer;transition:all .2s}.back-btn:hover{background:#e8d4a826;border-color:var(--theme-accent-text);color:var(--theme-accent-text)}.lobby-form .form-group label{color:var(--theme-accent-hover);font-weight:500}.lobby-form .form-group input{background:#1a1a1a;border:1px solid var(--theme-accent);color:var(--theme-accent-text);border-radius:3px}.lobby-form .form-group input:focus{border-color:var(--theme-accent-text);background:#252525;box-shadow:0 0 0 2px #8b73554d}.lobby-form .form-group input::placeholder{color:#6b5344}.lobby-form .form-button{background:var(--theme-accent);border:none;color:#1a1a1a;font-family:var(--font-heading);font-size:14px;font-weight:600;letter-spacing:1px;padding:12px 24px;border-radius:3px;cursor:pointer;transition:background .2s;text-transform:uppercase}.lobby-form .form-button:hover:not(:disabled){background:var(--theme-accent-text)}.lobby-form .form-button:disabled{background:#5c4a3a;cursor:not-allowed}.lobby-form .logout-link{color:var(--theme-accent)}.lobby-form .logout-link:hover{color:var(--theme-accent-text)}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;color:#aaa}.form-group input{width:100%;padding:10px;background:#1a1a1a;border:1px solid #444;border-radius:5px;color:#fff;font-size:16px}.form-group input:focus{outline:none;border-color:var(--theme-accent)}.logout-link{background:none;border:none;color:#888;font-size:12px;margin-top:5px;cursor:pointer;text-decoration:underline}.logout-link:hover{color:var(--theme-accent-text)}.logout-btn{background:none;border:none;color:#666;font-size:11px;cursor:pointer;padding:4px 8px}.logout-btn:hover{color:#ff6b6b;text-decoration:underline}.form-button{width:100%;padding:12px;background:#333;border:none;border-radius:5px;color:#eee;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s}.form-button:hover{background:#444}.form-button:disabled{background:#444;cursor:not-allowed}.error{background:#f44;color:#fff;padding:12px;border-radius:5px;margin-bottom:15px;font-size:14px}.room-container{height:100%;display:flex;flex-direction:row}.sidebar-nav{width:50px;background:#1a1a1a;border-right:1px solid #333;display:flex;flex-direction:column;align-items:center;padding-top:10px;gap:5px}.nav-icon{width:40px;height:40px;border:none;border-radius:8px;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.nav-icon:hover{background:#333;color:#fff}.nav-icon.active{background:var(--theme-accent);color:#fff}.nav-divider{width:30px;height:1px;background:#444;margin:5px 0}.main-content{flex:1;display:flex;flex-direction:column;min-width:0}.layout-container{flex:1;min-height:0}.custom-controls{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#2a2a2a;border-top:1px solid #444}.controls-left,.controls-center,.controls-right{display:flex;align-items:center;gap:8px}.controls-left{flex:1;justify-content:flex-start}.controls-center{flex:1;justify-content:center}.controls-right{flex:1;justify-content:flex-end}.custom-controls button{width:auto;padding:8px 16px;font-size:14px}.volume-control{display:flex;align-items:center;gap:8px;padding:0 15px;background:#333;border-radius:5px}.volume-icon{font-size:16px;color:#fff;cursor:pointer}.volume-slider{width:80px;height:4px;-webkit-appearance:none;background:#555;border-radius:2px;outline:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--theme-accent);border-radius:50%;cursor:pointer}.volume-slider::-moz-range-thumb{width:14px;height:14px;background:var(--theme-accent);border-radius:50%;cursor:pointer;border:none}.away-button{background:#666}.away-button:hover{background:#777}.away-button.is-away{background:#f94;color:#1a1a1a}.away-button.is-away:hover{background:#fa5}[data-lk-theme=default]{--lk-bg: #1a1a1a;--lk-bg2: #2a2a2a;--lk-accent: var(--theme-accent)}.lk-participant-tile .lk-focus-toggle-button{display:none}.layout-sidebar{display:flex;height:100%}.layout-sidebar .content-panel{flex:0 0 auto;display:flex;flex-direction:column;overflow:hidden}.layout-sidebar .video-panel{flex:1;background:#1a1a1a;border-left:1px solid #444}.layout-presentation{display:flex;height:100%}.layout-presentation .content-main{flex:1;min-width:0;background:#1a1a1a}.layout-presentation .video-strip{width:20%;min-width:300px;max-width:400px;background:#1a1a1a;border-left:1px solid #444;overflow-y:auto;padding:8px}.video-strip .lk-grid-layout{gap:8px!important}.video-strip .lk-participant-tile{aspect-ratio:16/9!important}.character-notes{flex:1;width:100%;padding:15px;background:#1a1a1a;border:1px solid #444;border-radius:5px;color:#fff;font-size:14px;font-family:inherit;resize:none}.character-notes:focus{outline:none;border-color:var(--theme-accent)}.tta-panel{position:relative;width:100%;max-width:900px;margin:0;display:flex;flex-direction:column;background:#2a2a2a;overflow:hidden;height:100%}.tta-player{background:#1a1a1a;border-bottom:1px solid #444;padding:16px}.tta-player-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tta-player-art{width:56px;height:56px;border-radius:6px;overflow:hidden;flex-shrink:0;background:#333}.tta-player-art img{width:100%;height:100%;object-fit:cover}.tta-player-art-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:24px;color:#555}.tta-player-text{flex:1;min-width:0}.tta-player-title{font-size:15px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tta-player-subtitle{font-size:12px;color:#888;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tta-player-controls{display:flex;align-items:center;gap:16px}.tta-player-buttons{display:flex;align-items:center;gap:8px;flex-shrink:0}.tta-btn-play,.tta-btn-skip,.tta-btn-shuffle,.tta-btn-stop{width:36px;height:36px;border:none;border-radius:50%;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.tta-btn-play{width:40px;height:40px;background:var(--theme-accent);color:#fff;font-size:16px}.tta-btn-play:hover:not(:disabled){background:var(--theme-accent-hover);transform:scale(1.05)}.tta-btn-skip,.tta-btn-shuffle,.tta-btn-stop{background:#333;color:#aaa}.tta-btn-skip:hover:not(:disabled),.tta-btn-shuffle:hover:not(:disabled),.tta-btn-stop:hover:not(:disabled){background:#444;color:#fff}.tta-btn-shuffle.active{background:var(--theme-accent);color:#fff}.tta-btn-shuffle.active:hover{background:var(--theme-accent-hover)}.tta-btn-play:disabled,.tta-btn-skip:disabled,.tta-btn-stop:disabled{opacity:.4;cursor:not-allowed}.tta-player-progress{flex:2;display:flex;align-items:center;gap:.5rem;min-width:0}.tta-player-time{font-size:.7rem;color:#666;flex-shrink:0;font-variant-numeric:tabular-nums}.tta-player-progress-bar{flex:1;height:8px;background:#333;border-radius:4px;overflow:hidden;cursor:pointer}.tta-player-progress-fill{height:100%;background:var(--theme-accent);border-radius:2px;transition:width .2s linear}.tta-player-volume{flex:1;display:flex;align-items:center;gap:.4rem;min-width:0}.tta-player-volume-icon{font-size:.9rem;cursor:pointer;opacity:.7;transition:opacity .15s;flex-shrink:0}.tta-player-volume-icon:hover{opacity:1}.tta-player-volume input[type=range]{flex:1;height:8px;-webkit-appearance:none;background:#333;border-radius:4px;outline:none;min-width:0}.tta-player-volume input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:.75rem;height:.75rem;background:var(--theme-accent);border-radius:50%;cursor:pointer}.tta-attribution{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;font-size:11px;color:#555;border-bottom:1px solid #444}.tta-attribution a{color:#666;text-decoration:none}.tta-attribution a:hover{color:var(--theme-accent-text)}.tta-attribution-sep{color:#444}.tta-loading,.tta-error{padding:20px;text-align:center;color:#888}.tta-error{color:#f66}.tta-search{padding:10px 20px;border-bottom:1px solid #444}.tta-search input{width:100%;padding:8px 12px;background:#1a1a1a;border:1px solid #444;border-radius:4px;color:#fff;font-size:14px}.tta-search input:focus{outline:none;border-color:var(--theme-accent)}.tta-genres{display:flex;flex-wrap:wrap;gap:6px;padding:10px 20px;border-bottom:1px solid #444}.tta-genre-btn{width:auto;padding:5px 12px;font-size:12px;background:#1a1a1a;border:1px solid #444;color:#888}.tta-genre-btn:hover{border-color:var(--theme-accent);color:var(--theme-accent-text)}.tta-genre-btn.active{background:var(--theme-accent);border-color:var(--theme-accent);color:#fff}.tta-tracks{flex:1;overflow-y:auto;padding:10px}.tta-no-results{padding:20px;text-align:center;color:#888}.tta-track{display:flex;align-items:center;gap:12px;padding:10px;border-radius:6px;cursor:pointer;transition:background .2s}.tta-track:hover{background:#333}.tta-track.active{background:#2a2520;border:1px solid var(--theme-accent)}.tta-track-img{width:45px;height:45px;border-radius:4px;object-fit:cover}.tta-track-info{flex:1;min-width:0}.tta-track-title{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tta-track-genre{font-size:11px;color:#888;margin-top:2px}.tta-track-flavor{font-size:11px;color:#aaa;margin-top:4px;font-style:italic;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tta-track-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tta-tag{font-size:10px;background:#333;color:#aaa;padding:2px 6px;border-radius:10px}.tta-playing-indicator{color:var(--theme-accent-text);font-size:18px;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.tta-player-only{flex:1;display:flex;align-items:center;justify-content:center;color:#666;font-style:italic;padding:40px 20px;text-align:center}.player-list-divider{width:30px;height:1px;background:#444;margin:10px 0}.player-icon{width:36px;height:36px;border:2px solid transparent;border-radius:50%;background:#444;color:#fff;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;text-shadow:0 0 2px rgba(0,0,0,.5)}.player-icon:hover{transform:scale(1.1)}.player-icon.active{border-width:3px!important;transform:scale(1.15)}.player-icon.offline{opacity:.5;filter:grayscale(.5)}.player-icon.offline:hover{opacity:.8}.lk-participant-tile.deaf-to video,.lk-participant-tile.deaf-to .lk-video-track{filter:grayscale(1) brightness(.7);transition:filter .3s ease}.lk-participant-tile.deaf-to .lk-participant-name:after{content:" 🔇"}
