vaadin-upload.upload-shot-plan::part(file-list){display: none}vaadin-upload.upload-shot-plan vaadin-upload-file-list{display: none}vaadin-upload.upload-shot-plan::part(drop-label){}vaadin-upload.upload-shot-plan::part(drop-label-icon){}.sidebar{position: absolute}.sidebar-title{margin: 0;font-size: 1.5rem;color: #1e293b}.sidebar-header{width: 100%;align-items: center;padding-bottom: 16px;border-bottom: 1px solid #e2e8f0;margin-bottom: 16px;flex-shrink: 0}.sidebar-backdrop{position: fixed;top: 0;left: 0;width: 100vw;height: 100vh;background-color: rgba(0,0,0,0.3);backdrop-filter: blur(2px);-webkit-backdrop-filter: blur(2px);will-change: opacity,backdrop-filter;transform: translateZ(0);z-index: 9990;opacity: 0;pointer-events: none;transition: opacity 0.3s ease-in-out}.sidebar-backdrop-open{opacity: 1;pointer-events: auto}.sidebar-backdrop-close{opacity: 0;pointer-events: none}.sidebar-container{position: fixed;top: 0;right: -450px;width: 450px;height: 100vh;background-color: #f4f5f7;border-left: 1px solid #e2e8f0;box-shadow: -8px 0 24px rgba(0,0,0,0.12);transition: right 0.3s cubic-bezier(0.4,0,0.2,1);z-index: 9999;padding: 24px;box-sizing: border-box;display: flex;flex-direction: column}.sidebar-content-container{flex-grow: 1;overflow-y: auto;padding-right: 8px;scrollbar-width: thin;scrollbar-color: transparent transparent;transition: scrollbar-color 0.2s ease}.sidebar-content-container:hover{scrollbar-color: #cbd5e1 transparent}.sidebar-content-container::-webkit-scrollbar{width: 6px}.sidebar-content-container::-webkit-scrollbar-track{background: transparent}.sidebar-content-container::-webkit-scrollbar-thumb{background-color: transparent;border-radius: 3px}.sidebar-content-container:hover::-webkit-scrollbar-thumb{background-color: #cbd5e1}.sidebar-content-container::-webkit-scrollbar-thumb:hover{background-color: #94a3b8}.back-to-top-button{position: fixed;bottom: 1.5rem;right: 1.5rem;z-index: 900;border-radius: 50%;width: 3rem;height: 3rem;box-shadow: 0 4px 12px rgba(0,0,0,0.22)}.confirm-dialog-layout{display: flex;flex-direction: row;align-items: flex-start;gap: 1rem}.confirm-dialog-icon{display: flex;align-items: center;justify-content: center;flex-shrink: 0;width: 48px;height: 48px;border-radius: 50%}.confirm-dialog-icon vaadin-icon{width: 35px;height: 35px}.confirm-dialog-icon-error{background: color-mix(in srgb,var(--vaadin-error-color,#e5484d) 12%,transparent);color: var(--vaadin-error-color,#e5484d)}.confirm-dialog-icon-info{background: color-mix(in srgb,var(--vaadin-primary-color,#006af5) 12%,transparent);color: var(--vaadin-primary-color,#006af5)}.confirm-dialog-text{display: flex;flex-direction: column;gap: 0.25rem;min-width: 0}.confirm-dialog-title{margin: 0;font-size: 1.1rem}.confirm-dialog-message{margin: 0;color: var(--vaadin-text-color-secondary,var(--lumo-secondary-text-color));font-size: 0.9rem;display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis}vaadin-confirm-dialog::part(overlay){min-width: 450px}vaadin-confirm-dialog::part(content){padding-bottom: 30px}vaadin-confirm-dialog::part(footer){background: var(--vaadin-background-container-strong,var(--lumo-contrast-10pct));width: 100% !important;box-sizing: border-box;overflow-y: hidden;max-height: 55px;flex-wrap: nowrap}vaadin-confirm-dialog::part(cancel-button),vaadin-confirm-dialog::part(reject-button),vaadin-confirm-dialog::part(confirm-button){flex: 0 0 auto}vaadin-confirm-dialog vaadin-button[slot='confirm-button'],vaadin-confirm-dialog vaadin-button[slot='cancel-button'],vaadin-confirm-dialog vaadin-button[slot='reject-button']{width: max-content !important}vaadin-confirm-dialog::part(backdrop){backdrop-filter: blur(2.5px);-webkit-backdrop-filter: blur(2.5px);will-change: backdrop-filter}vaadin-confirm-dialog vaadin-button[focus-ring]{outline: none}vaadin-dialog-overlay.maximized-dialog{width: 100vw !important;height: 100vh !important;z-index: 100000 !important}vaadin-dialog-overlay.maximized-dialog::part(overlay){position: fixed !important;inset: 0 !important;width: 100vw !important;height: 100vh !important;max-width: none !important;max-height: none !important;border-radius: 0 !important;margin: 0 !important;padding: 0 !important}.block-image{border-radius: 5px}.explorer-card-selected,.marquee-hover{background-color: var(--vaadin-background-container,rgba(127,127,127,0.16));outline: 2px solid var(--vaadin-focus-ring-color,#1676f3);outline-offset: -2px}.explorer-marquee{position: fixed;z-index: 10000;pointer-events: none;box-sizing: border-box;border: 1px solid var(--vaadin-focus-ring-color,#1676f3);background: color-mix(in srgb,var(--vaadin-focus-ring-color,#1676f3) 18%,transparent)}.explorer-drop-target[dragover-valid],.explorer-drop-target[dragover]{background-color: var(--vaadin-background-container,rgba(127,127,127,0.16));outline: 2px dashed var(--vaadin-focus-ring-color,#1676f3);outline-offset: -2px}#project-explorer-panel:focus{outline: none}.floating-overlay{position: fixed;bottom: 0;right: 0;z-index: 1}.overlay-button{color: white;border: none;border-radius: 50%;width: 63px;height: 63px;font-size: 18px;display: flex;justify-content: center;align-items: center;cursor: pointer;position: fixed;bottom: 20px;right: 20px}.overlay-menu-bar vaadin-menu-bar-button{color: white;border: none;border-radius: 50%;min-width: 63px;height: 63px;font-size: 18px;display: flex;justify-content: center;align-items: center;cursor: pointer;position: fixed;bottom: 20px;right: 20px;box-shadow: 0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);padding: 0 !important}vaadin-menu-bar-item.menu-item-no-checkmark::part(checkmark)::before{display: none}vaadin-menu-bar.overlay-menu-bar vaadin-menu-bar-button::part(label){margin: 0 !important;padding: 0 !important;line-height: 1 !important}vaadin-menu-bar.overlay-menu-bar vaadin-menu-bar-button::part(suffix){display: none !important}vaadin-menu-bar-item.menu-item-no-checkmark{padding-left: var(--lumo-space-s);justify-content: flex-start;width: 330px}vaadin-menu-bar-item.menu-item-no-checkmark:hover{transition: .4s}vaadin-menu-bar.dots-menu-bar vaadin-menu-bar-button::part(suffix){display: none !important}vaadin-menu-bar.dots-menu-bar vaadin-menu-bar-button::part(label){margin: 0 !important;padding: 0 !important;line-height: 1 !important}@keyframes unsaved-dot-pulse{0%{transform: scale(1);box-shadow: 0 0 0 0 rgba(0,106,245,0.65),0 0 6px 1px rgba(0,106,245,0.55)}70%{transform: scale(1.25);box-shadow: 0 0 0 9px rgba(0,106,245,0),0 0 12px 3px rgba(0,106,245,0.35)}100%{transform: scale(1);box-shadow: 0 0 0 0 rgba(0,106,245,0),0 0 6px 1px rgba(0,106,245,0.55)}}.unsaved-dot{border-radius: 50%;animation: unsaved-dot-pulse 1.6s ease-out infinite}@media (prefers-reduced-motion: reduce){.unsaved-dot{animation: none;box-shadow: 0 0 6px 1px rgba(0,106,245,0.55)}}vaadin-context-menu-item::part(checkmark){display: none}vaadin-context-menu-item::part(checkmark)::before{display: none}vaadin-menu-bar-item::part(checkmark),vaadin-menu-bar-item::part(checkmark)::before{display: none}vaadin-context-menu-item{transition: background-color 0.4s,color 0.4s}vaadin-context-menu-item:has(.context-menu-label-danger):not([disabled]):is(:hover,[focused]){background: color-mix(in srgb,var(--aura-red,#d92d20) 14%,transparent)}vaadin-context-menu-item .context-menu-label-danger{transition: color 0.4s}vaadin-context-menu-item:is(:hover,[focused]) .context-menu-label-danger{color: var(--aura-red-text,var(--aura-red,#d92d20));--vaadin-icon-color: var(--aura-red-text,var(--aura-red,#d92d20))}.character-name{border-radius: var(--vaadin-radius-m,6px);cursor: text;outline: none;padding: 0 0.25em;margin-inline-start: -0.25em;transition: background-color 0.15s}.character-name:hover{background-color: var(--vaadin-background-container,rgba(127,127,127,0.12))}.name-prompt-dialog::part(overlay){border-radius: 999px;box-shadow: 0 8px 28px rgba(0,0,0,0.35)}.name-prompt-dialog::part(content){padding: 0.4rem 0.6rem 0.4rem 1.25rem}.name-prompt-dialog .name-prompt-field,.name-prompt-field{--vaadin-input-field-border-width: 0;--vaadin-input-field-background: transparent;--vaadin-input-field-hover-highlight: transparent;--vaadin-input-field-height: 2.6rem;font-size: var(--vaadin-font-size-l,1.25rem)}.name-prompt-field::part(input-field){background: transparent;box-shadow: none;border: none;outline: none}.name-prompt-field::before{display: none}vaadin-dialog,vaadin-confirm-dialog,vaadin-context-menu,vaadin-menu-bar-submenu{--vaadin-overlay-opacity-closed: 0;--vaadin-overlay-scale-closed: 1;--vaadin-overlay-animation-duration: 0.2s;--vaadin-overlay-animation-delay: 0s;--vaadin-overlay-animation-timing-function: ease-out}vaadin-dialog[closing],vaadin-confirm-dialog[closing],vaadin-context-menu[closing],vaadin-menu-bar-submenu[closing]{--vaadin-overlay-animation-duration: 0.15s;--vaadin-overlay-animation-delay: 0s;--vaadin-overlay-animation-timing-function: ease-in}.character-detail-view{--character-pane-height: calc(100dvh - 13rem);overflow: hidden}.character-detail-view:focus{outline: none}.character-header{flex: none}.character-content{flex: 1 1 0;min-height: 0;overflow: hidden;box-sizing: border-box}.character-body{flex: 1 1 0;min-height: 0;flex-wrap: nowrap;gap: var(--lumo-space-xl,2rem);overflow: hidden}.character-info{flex: 1 1 22rem;min-width: 0;max-width: 34rem;min-height: 0;overflow: hidden}.character-description{flex: 1 1 0;min-height: 0;overflow: hidden}.character-sections{flex: 1 1 0;min-height: 0;width: 100%;overflow-y: auto;scrollbar-width: none;-ms-overflow-style: none}.character-sections::-webkit-scrollbar{display: none}.character-section{--vaadin-details-summary-font-weight: 600}.character-section-copy{cursor: pointer}.character-section-copy:hover{opacity: 1}.character-work{flex: 2 1 28rem;min-width: 0;min-height: 0;overflow-y: auto;overflow-x: hidden;scrollbar-width: none;-ms-overflow-style: none}.character-work::-webkit-scrollbar{display: none}.character-images,.character-files{height: var(--character-pane-height);min-height: 20rem;box-sizing: border-box}.character-strip{display: flex;gap: 0.5rem;width: 100%;box-sizing: border-box;padding: 6px;justify-content: safe center;overflow-x: auto;scrollbar-width: none;-ms-overflow-style: none;touch-action: pan-x;cursor: grab;user-select: none}.character-strip::-webkit-scrollbar{display: none}.character-strip.dragging{cursor: grabbing}.character-big-image{flex: 1 1 0;min-height: 0;width: auto;max-width: 100%;object-fit: contain}@media (max-width: 900px){.character-detail-view{overflow: auto}.character-content,.character-body,.character-info,.character-description,.character-sections,.character-work{flex: none;overflow: visible}.character-body{flex-wrap: wrap}.character-info{max-width: none;flex-basis: 100%}}vaadin-details{--vaadin-details-summary-padding: 0}vaadin-details-summary{padding: 0}html{--custom-image-shadow: rgba(0,0,0,0.2) 0px 4px 8px,rgba(0,0,0,0.19) 0px 6px 20px;--soft-image-shadow: 0 1px 2px rgba(0,0,0,0.12),0 2px 8px rgba(0,0,0,0.1)}.soft-image-shadow{box-shadow: var(--soft-image-shadow)}.app-logo{border-radius: min(40%,var(--vaadin-radius-m));margin-inline-start: var(--vaadin-padding-inline-container)}.app-name{font-weight: var(--aura-font-weight-semibold);font-size: var(--aura-font-size-l)}.app-footer{color: var(--vaadin-text-color-secondary);font-size: var(--aura-font-size-s);padding: 12px;gap: var(--vaadin-side-nav-items-gap,var(--vaadin-gap-s))}vaadin-side-nav:has(vaadin-side-nav-item:only-child)::after{display: block;content: "More menu items will appear here when you add more views.";font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary);box-sizing: border-box;padding: 1em;max-width: 14em;min-width: 100%;white-space: normal}vaadin-grid::part(row-amber){background-color: color-mix(in srgb,var(--vaadin-warning-color,#e8a33d) 12%,transparent);box-shadow: inset 3px 0 0 0 var(--vaadin-warning-color,#e8a33d)}vaadin-grid::part(row-red){background-color: color-mix(in srgb,var(--vaadin-error-color,#e5484d) 12%,transparent);box-shadow: inset 3px 0 0 0 var(--vaadin-error-color,#e5484d)}.app-footer-settings{width: 100%;gap: 0.5rem;padding: 0.375rem 0.5rem;border-radius: var(--vaadin-radius-m,var(--lumo-border-radius-m));cursor: pointer}.app-footer-settings:hover,.app-footer-settings:focus-visible{background: var(--lumo-contrast-5pct)}.settings-dialog-body{gap: 0}.settings-sidebar{border-right: 1px solid var(--lumo-contrast-10pct);overflow-y: auto;flex-shrink: 0;padding: 0.75rem;box-sizing: border-box}.settings-nav-list{display: flex;flex-direction: column;gap: 0.15rem;margin-top: 0.75rem}.settings-nav-item{padding: 0.5rem 0.75rem;border-radius: var(--lumo-border-radius-m);cursor: pointer;font-size: 0.95rem}.settings-nav-item:hover{background: var(--lumo-contrast-5pct)}.settings-nav-item.selected{background: var(--lumo-contrast-10pct);font-weight: 600}.settings-content{padding: 0.5rem 1.5rem 1.5rem;overflow-y: auto;flex-grow: 1;box-sizing: border-box}.settings-row-label{font-weight: 600}.settings-upload-row{gap: 0.35rem;margin-top: 0.75rem}.app-navbar-spacer{flex-grow: 1}.app-navbar-search-icon{cursor: pointer;border-radius: var(--vaadin-radius-m,var(--lumo-border-radius-m));color: var(--vaadin-text-color-secondary);margin-inline-end: 0.5rem}.app-navbar-search-icon:hover,.app-navbar-search-icon:focus-visible{background: var(--lumo-contrast-5pct);color: var(--vaadin-text-color,inherit)}.app-footer-dark-mode{width: 100%;padding: 0.375rem 0.5rem}.global-search-dialog::part(overlay){border-radius: var(--vaadin-radius-l,var(--lumo-border-radius-l));top: 2.5rem}.global-search-dialog::part(backdrop){backdrop-filter: blur(2.5px);-webkit-backdrop-filter: blur(2.5px);will-change: backdrop-filter}.global-search-dialog::part(header){display: none}.global-search-body{width: 100%;gap: 0;padding: 0;box-sizing: border-box}.global-search-bar{width: 100%;box-sizing: border-box;padding: 0.25rem 0.75rem}.global-search-bar .global-search-input::part(input-field){border: none;outline: none;box-shadow: none;background: transparent;padding-block: 0.5rem}.global-search-input input{font-size: 1.1rem}.global-search-kbd{font-size: 0.75rem;color: var(--vaadin-text-color-secondary,var(--lumo-secondary-text-color));background: var(--vaadin-background-container-strong,var(--lumo-contrast-10pct));border-radius: var(--vaadin-radius-s,var(--lumo-border-radius-s));padding: 0.15rem 0.4rem;line-height: 1;white-space: nowrap}.global-search-divider{height: 1px;background: var(--vaadin-border-color-secondary,var(--lumo-contrast-10pct))}.global-search-chips{display: flex;gap: 0.5rem;padding: 0.75rem 0.75rem 0.25rem;flex-wrap: wrap}.global-search-chip{display: flex;align-items: center;padding: 0.3rem 0.85rem;border: 1px solid var(--vaadin-border-color-secondary,var(--lumo-contrast-20pct));border-radius: 999px;font-size: 0.85rem;cursor: pointer;color: var(--vaadin-text-color-secondary,var(--lumo-secondary-text-color))}.global-search-chip:hover{background: var(--vaadin-background-container,var(--lumo-contrast-5pct))}.global-search-chip.selected{background: var(--vaadin-background-container-strong,var(--lumo-contrast-10pct));color: var(--vaadin-text-color,var(--lumo-body-text-color));font-weight: 600;border-color: transparent}.global-search-section{display: flex;flex-direction: column;gap: 0.15rem;padding: 0.75rem 0.75rem 0.25rem}.global-search-section-header{display: flex;align-items: center;gap: 0.4rem;color: var(--vaadin-text-color-secondary,var(--lumo-secondary-text-color));font-size: 0.8rem;font-weight: 600;padding: 0 0.25rem 0.35rem}.global-search-section-header vaadin-icon{width: 0.9rem;height: 0.9rem}.global-search-row-list{display: flex;flex-direction: column;gap: 0.1rem;overflow-y: auto}.global-search-row{display: flex;align-items: center;gap: 0.75rem;padding: 0.45rem 0.5rem;border-radius: var(--vaadin-radius-m,var(--lumo-border-radius-m));cursor: pointer}.global-search-row:hover{background: var(--vaadin-background-container,var(--lumo-contrast-5pct))}.global-search-row-selected{background: var(--vaadin-background-container-strong,var(--lumo-contrast-10pct))}.global-search-row-leading{flex-shrink: 0}.global-search-row-text{min-width: 0}.global-search-row-title{font-weight: 600;font-size: 0.92rem;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.global-search-row-subtitle{font-size: 0.8rem;color: var(--vaadin-text-color-secondary,var(--lumo-secondary-text-color));overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.global-search-icon-box{display: flex;align-items: center;justify-content: center;width: 30px;height: 30px;border-radius: var(--vaadin-radius-m,var(--lumo-border-radius-m));flex-shrink: 0}.global-search-icon-box vaadin-icon{width: 1rem;height: 1rem}.global-search-icon-box-blue{background: color-mix(in srgb,#3b82f6 16%,transparent);color: #3b82f6}.global-search-icon-box-teal{background: color-mix(in srgb,#14b8a6 16%,transparent);color: #14b8a6}.global-search-icon-box-orange{background: color-mix(in srgb,#f97316 16%,transparent);color: #f97316}.global-search-icon-box-violet{background: color-mix(in srgb,#8b5cf6 16%,transparent);color: #8b5cf6}.global-search-icon-box-gray{background: var(--vaadin-background-container-strong,var(--lumo-contrast-10pct));color: var(--vaadin-text-color-secondary,var(--lumo-secondary-text-color))}.global-search-empty-state{padding: 0.25rem 0.5rem}.global-search-result-thumb{width: 96px;height: 54px;object-fit: cover;border-radius: var(--vaadin-radius-s,var(--lumo-border-radius-s));flex-shrink: 0}.global-search-actions-row{justify-content: flex-end;flex-wrap: wrap;padding: 0.25rem 0.5rem 0}.global-search-footer{display: flex;width: 100%;align-items: center;justify-content: space-between}.global-search-footer-hint{display: flex;align-items: center;gap: 0.4rem}.global-search-footer-label{font-size: 0.8rem;color: var(--vaadin-text-color-secondary,var(--lumo-secondary-text-color))}.drawer-collapse-icon{cursor: pointer;opacity: .8;transition: transform 0.25s ease;flex-shrink: 0;color: var(--lumo-tertiary-text-color)}.drawer-collapse-icon:hover{color: var(--lumo-body-text-color)}.drawer-collapse-icon.drawer-collapse-icon-flipped{transform: rotate(180deg)}vaadin-app-layout::part(drawer){overflow: hidden}vaadin-app-layout[drawer-collapsed] vaadin-side-nav-item{justify-content: center}vaadin-app-layout[drawer-collapsed] vaadin-side-nav-item::part(content){justify-content: center;padding-inline: 0}vaadin-app-layout[drawer-collapsed] vaadin-side-nav-item::part(toggle-button){display: none}vaadin-app-layout[drawer-collapsed] vaadin-side-nav-item::part(link){display: grid;justify-items: center;gap: 0}vaadin-app-layout[drawer-collapsed] vaadin-side-nav-item[slot="children"]{display: none}.app-footer-icon-button{cursor: pointer;color: var(--lumo-tertiary-text-color)}.app-footer-icon-button:hover{color: var(--lumo-body-text-color)}vaadin-app-layout[drawer-collapsed] .app-footer,vaadin-app-layout[drawer-collapsed] .app-footer-settings,vaadin-app-layout[drawer-collapsed] .app-footer-dark-mode{max-width: 64px;overflow: hidden}vaadin-app-layout[drawer-collapsed] .app-footer-settings,vaadin-app-layout[drawer-collapsed] .app-footer-dark-mode{padding: 0.375rem 0}.typewriter-animated::before{content: 'https://www.youtube.com/watch?v=4RhDETjNvYk4RhDETjNvYk';animation: typing 12s steps(63,end) infinite,blink 0.75s step-end infinite}@keyframes typing{0%{width: 0}20%{width: 51ch}32%{width: 51ch}65%{width: 0}80%{width: 0}100%{width: 11ch}}.attachment{cursor: pointer;color: var(--lumo-secondary-text-color);padding: 0;margin-block: 0;border-radius: 9999px;--lumo-utility-border-color: var(--lumo-contrast-20pct);border: 1px var(--lumo-utility-border-style,solid) var(--lumo-utility-border-color,var(--lumo-contrast-10pct));background-color: transparent}vaadin-dialog-overlay:fullscreen::part(overlay){width: 100vw !important;height: 100vh !important;max-width: none !important;max-height: none !important;border-radius: 0 !important}@keyframes folder-icon-fade-in{from{opacity: 0;transform: scale(0.9)}to{opacity: 1;transform: scale(1)}}.folder-icon-fade{animation: folder-icon-fade-in 80ms cubic-bezier(0.2,0,0,1)}@media (prefers-reduced-motion: reduce){.folder-icon-fade{animation: none}}.animate__animated.animate__fadeIn{-webkit-animation-fill-mode: backwards;animation-fill-mode: backwards}