*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-4{width:1rem;height:1rem}.h-12{height:3rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-full{height:100%}.h-svh{height:100svh}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-8{min-height:2rem}.min-h-9{min-height:2.25rem}.min-h-svh{min-height:100svh}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-5{min-width:1.25rem}.max-w-\[var\(--skeleton-width\)\]{max-width:var(--skeleton-width)}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-xs{border-radius:.1875rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-destructive-border{border-color:var(--destructive-border)}.border-input{--tw-border-opacity: 1;border-color:hsl(var(--input) / var(--tw-border-opacity, 1))}.border-primary-border{border-color:var(--primary-border)}.border-secondary-border{border-color:var(--secondary-border)}.border-sidebar-border{--tw-border-opacity: 1;border-color:hsl(var(--sidebar-border) / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-background{--tw-bg-opacity: 1;background-color:hsl(var(--background) / var(--tw-bg-opacity, 1))}.bg-black\/80{background-color:#000c}.bg-border{--tw-bg-opacity: 1;background-color:hsl(var(--border) / var(--tw-bg-opacity, 1))}.bg-destructive{--tw-bg-opacity: 1;background-color:hsl(var(--destructive) / var(--tw-bg-opacity, 1))}.bg-muted{--tw-bg-opacity: 1;background-color:hsl(var(--muted) / var(--tw-bg-opacity, 1))}.bg-popover{--tw-bg-opacity: 1;background-color:hsl(var(--popover) / var(--tw-bg-opacity, 1))}.bg-primary{--tw-bg-opacity: 1;background-color:hsl(var(--primary) / var(--tw-bg-opacity, 1))}.bg-secondary{--tw-bg-opacity: 1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity, 1))}.bg-sidebar{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-background) / var(--tw-bg-opacity, 1))}.bg-sidebar-border{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-border) / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-destructive{--tw-text-opacity: 1;color:hsl(var(--destructive) / var(--tw-text-opacity, 1))}.text-destructive-foreground{--tw-text-opacity: 1;color:hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1))}.text-foreground{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.text-muted-foreground{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.text-popover-foreground{--tw-text-opacity: 1;color:hsl(var(--popover-foreground) / var(--tw-text-opacity, 1))}.text-primary-foreground{--tw-text-opacity: 1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity, 1))}.text-secondary-foreground{--tw-text-opacity: 1;color:hsl(var(--secondary-foreground) / var(--tw-text-opacity, 1))}.text-sidebar-foreground{--tw-text-opacity: 1;color:hsl(var(--sidebar-foreground) / var(--tw-text-opacity, 1))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.opacity-70{opacity:.7}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xs{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-offset-2{outline-offset:2px}.outline-transparent{outline-color:transparent}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-sidebar-ring{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--sidebar-ring) / var(--tw-ring-opacity, 1))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background) / 1)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.running{animation-play-state:running}.\[border-color\:var\(--button-outline\)\]{border-color:var(--button-outline)}.token-face{position:absolute;inset:0;border-radius:inherit;overflow:hidden;display:grid;place-items:center;pointer-events:none}.token-face>img{position:absolute;inset:0;width:100%;height:100%}.token-face>.image-loading{display:none}.token-editor{max-width:640px!important;max-height:90dvh;overflow:auto}.token-editor-form{display:grid;gap:16px}.token-editor-preview{display:flex;align-items:center;gap:24px;padding:16px;background:var(--panel);border-radius:6px}.token-editor-preview .token{position:relative;transform:none;width:90px;height:90px;flex-shrink:0}.token-editor-preview p{overflow-wrap:anywhere;min-width:0}.token-editor-fields{border:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.token-editor-fields>label:not(.row){display:grid;gap:6px;font-size:13px;min-width:0}.token-editor-fields input[type=color]{height:40px;width:100%}.token-editor-fields input[type=file]{width:100%;font-size:12px;padding:8px}.token-editor-wide{grid-column:1/-1}.token-editor-fields .row{font-size:13px}.token-editor-fields input[type=range]{width:100%}.token-editor-fields input[type=checkbox]{flex-shrink:0}@media(max-width:500px){.token-editor-fields{grid-template-columns:1fr}.token-editor{padding:20px!important}.token-editor-preview .token{width:72px;height:72px}}.campaign-switch{display:grid;gap:6px;padding:0 16px 16px;font-size:12px;color:var(--muted)}.campaign-switch select{width:100%;font-size:13px;color:var(--ink)}.topbar .crumb{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 24px}.resource-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px}.resource-folders{min-width:0}.resource-folder-heading,.resource-results-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.resource-folder-heading h2{font-size:14px}.resource-folder-list{display:grid;gap:4px;max-height:54vh;overflow:auto;margin-bottom:16px}.resource-folder-list>button{display:flex;gap:8px;align-items:center;text-align:left;min-height:42px;border-radius:5px;padding:8px;font-size:14px;color:var(--muted)}.resource-folder-list>button:hover,.resource-folder-list>button.active{background:var(--accent-soft);color:var(--ink)}.resource-folder-list>button span{flex:1;overflow-wrap:anywhere}.resource-folder-list>button small{margin-left:auto}.resource-mobile-folders{display:none}.resource-results{min-width:0}.resource-results-heading{min-height:40px;flex-wrap:wrap}.resource-results-heading h2{overflow-wrap:anywhere}.resource-filters,.hub-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:18px}.resource-filters>label,.hub-filters>label{display:grid;gap:6px;font-size:12px;color:var(--muted);min-width:0}.resource-filters select,.hub-filters select{font-size:14px;color:var(--ink);height:42px}.resource-filters .resource-search,.hub-filters>label:first-child{flex:1;min-width:150px}.resource-search>div{display:flex;align-items:center;gap:6px;padding-left:10px;background:var(--surface);border:1px solid var(--line);border-radius:4px}.resource-search input{border:0;width:100%;height:40px}.resource-selection{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:52px;font-size:12px;border-top:1px solid var(--line);padding:8px 0}.resource-selection label{display:flex;align-items:center;gap:8px}.resource-selection .btn{font-size:12px;min-height:34px}.resource-item{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding:14px 0;min-height:78px}.resource-item input,.resource-selection input{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}.resource-type-icon{color:var(--muted)}.resource-item-copy{min-width:0;flex:1}.resource-open{font-size:14px;text-align:left;font-weight:600;overflow-wrap:anywhere}.resource-open:hover{text-decoration:underline;text-underline-offset:3px}.resource-meta{display:flex;align-items:center;gap:4px 12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:3px}.resource-meta>span{overflow-wrap:anywhere;max-width:100%}.resource-tags{display:flex;gap:4px;flex-wrap:wrap}.resource-tags:not(:empty){margin-top:6px}.resource-tags .badge{white-space:normal;overflow-wrap:anywhere}.resource-item .icon-btn[aria-pressed=true]{color:var(--accent)}.resource-organize{font-size:12px}.resource-notice{padding:10px 12px;background:var(--panel);border-radius:5px;font-size:13px;margin:10px 0}.resource-empty{display:grid;justify-items:start;gap:12px;padding:32px 12px;border-block:1px solid var(--line)}.resource-empty p{font-size:14px;color:var(--muted)}.resource-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;flex-wrap:wrap}.resource-dialog-form{display:grid;gap:16px}.resource-dialog-form>label:not(.row){display:grid;gap:6px;font-size:14px}.resource-dialog-form .row{font-size:14px}.scene-finder>label:not(.row){display:grid;gap:6px;font-size:14px}.scene-finder-list{max-height:45dvh;overflow:auto}.scene-finder-list>button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);text-align:left}.scene-finder-list>button:hover{background:var(--panel)}.scene-finder-list>button>span{flex:1;min-width:0;overflow-wrap:anywhere}.scene-finder-list small{display:block;color:var(--muted);font-size:12px}.scene-finder-list strong{font-size:14px}@media(max-width:1150px){.resource-layout{grid-template-columns:160px minmax(0,1fr);gap:16px}.resource-type-icon{display:none}.resource-filters>label:not(.resource-search){flex:1}.resource-filters .resource-search{flex-basis:100%}.resource-results-heading .row{flex-wrap:wrap}}@media(max-width:800px){.resource-layout{grid-template-columns:1fr}.resource-folder-list{display:none}.resource-mobile-folders{display:grid;gap:6px;font-size:12px}.resource-mobile-folders select{width:100%;font-size:14px}.resource-folders>.hint{margin-top:8px}.resource-folder-heading{margin-bottom:4px}.resource-item{gap:6px}.resource-item>.icon-btn:last-child{display:none}.resource-organize{padding:6px;font-size:12px}.resource-browser .page-heading{align-items:start;flex-wrap:wrap}.resource-pagination .row{gap:4px}.resource-pagination .btn{padding:8px;font-size:12px}.hub-filters>label:first-child{flex-basis:100%}.topbar .crumb{max-width:120px}}@font-face{font-family:General Sans;src:url(../fonts/general-sans-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:General Sans;src:url(../fonts/general-sans-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:General Sans;src:url(../fonts/general-sans-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:General Sans;src:url(../fonts/general-sans-700.woff2) format("woff2");font-weight:700;font-display:swap}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--paper)}.auth-card{width:min(100%,480px);padding:32px;border:1px solid var(--line);border-radius:8px;background:var(--surface);display:grid;gap:18px;box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:10px;font-size:32px;font-weight:600;color:var(--accent)}.auth-card form,.auth-card label{display:grid;gap:8px}.auth-card form{gap:18px}.auth-card p{color:var(--muted)}.auth-card label{font-size:14px}.auth-card input{width:100%;min-height:44px}.auth-switch{display:flex;flex-wrap:wrap;gap:16px}.auth-switch button{text-decoration:underline;text-underline-offset:3px;font-size:14px}.image-loading{display:block;padding:16px;color:var(--muted);font-size:14px}@media(max-width:500px){.auth-shell{padding:16px}.auth-card{padding:24px}}:root,[data-theme=light]{--font-body:"General Sans",sans-serif;--font-display:var(--font-body);--text-xs:clamp(.75rem,.73rem + .1vw,.8rem);--text-sm:clamp(.875rem,.85rem + .1vw,.92rem);--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--paper:#f5f3ed;--surface:#fffefa;--panel:#eeeae2;--ink:#302e28;--muted:#716d63;--line:#dcd7cc;--accent:#805032;--accent-hover:#674029;--accent-soft:#f0e3d6;--good:#526944;--danger:#9a3c38;--board:#e7e2d7;--shadow:0 8px 30px #31271815;--background:45 28% 96%;--foreground:45 9% 17%;--card:45 80% 99%;--card-foreground:45 9% 17%;--popover:45 80% 99%;--popover-foreground:45 9% 17%;--primary:23 44% 35%;--primary-foreground:45 80% 99%;--secondary:42 23% 91%;--secondary-foreground:45 9% 17%;--muted-foreground:43 6% 41%;--border:42 19% 83%;--input:42 19% 83%;--ring:23 44% 35%;--radius:.4rem;--sidebar-background:42 26% 92%;--sidebar-foreground:45 9% 17%;--sidebar-accent:32 29% 87%;--sidebar-accent-foreground:45 9% 17%;--sidebar-border:42 19% 83%;--sidebar-ring:23 44% 35%}[data-theme=dark]{--paper:#22231f;--surface:#2a2b26;--panel:#262721;--ink:#e6e3d8;--muted:#b3afa3;--line:#45463d;--accent:#d2a17c;--accent-hover:#e7b28a;--accent-soft:#41372d;--good:#acc393;--danger:#ef9690;--board:#303229;--shadow:0 8px 30px #0003;--background:75 6% 13%;--foreground:47 22% 87%;--card:72 6% 16%;--card-foreground:47 22% 87%;--popover:72 6% 16%;--popover-foreground:47 22% 87%;--primary:26 49% 65%;--primary-foreground:75 6% 13%;--secondary:72 6% 20%;--secondary-foreground:47 22% 87%;--muted-foreground:45 10% 67%;--border:67 7% 26%;--input:67 7% 26%;--ring:26 49% 65%;--sidebar-background:75 7% 11%;--sidebar-foreground:47 22% 87%;--sidebar-accent:67 7% 23%;--sidebar-accent-foreground:47 22% 87%;--sidebar-border:67 7% 26%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;background:var(--paper);color:var(--ink)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button:disabled{cursor:not-allowed;opacity:.4}button,a,input,textarea,select{transition:background .15s,border-color .15s,color .15s}input,textarea,select{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:var(--space-2) var(--space-3);max-width:100%;min-width:0}textarea{resize:vertical}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3{font-weight:600;line-height:1.3}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}svg{flex-shrink:0}small{font-size:var(--text-xs)}p{max-width:74ch}.row{display:flex;align-items:center;gap:var(--space-2)}.row.end{justify-content:flex-end}.between{justify-content:space-between}.btn{display:inline-flex;gap:var(--space-2);align-items:center;justify-content:center;min-height:40px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:5px;font-size:var(--text-sm);font-weight:500;background:var(--surface);white-space:nowrap}.btn:hover:not(:disabled){background:var(--panel);border-color:var(--muted)}.btn.primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}[data-theme=dark] .btn.primary{color:#24231f}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.danger{color:var(--danger)}.icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0;color:var(--muted)}.icon-btn:hover:not(:disabled){background:var(--panel);color:var(--ink)}.eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:.09em;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);background:var(--panel);border-radius:4px;white-space:nowrap;color:var(--muted)}.badge.success{color:var(--good)}.hint{font-size:var(--text-xs);color:var(--muted);line-height:1.6}.error-text{color:var(--danger);font-size:var(--text-sm)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skip-link{position:fixed;left:var(--space-3);top:-100px;z-index:200;background:var(--surface);padding:var(--space-3)}.skip-link:focus{top:var(--space-3)}.app-shell{display:flex;height:100dvh;overflow:hidden}.app-body{flex:1;min-width:0;display:flex;flex-direction:column}.brand{height:66px;display:grid;grid-template-columns:30px 1fr;align-content:center;align-items:center;-moz-column-gap:var(--space-2);column-gap:var(--space-2);row-gap:2px;padding:var(--space-2) var(--space-4);color:var(--accent)}.brand>svg{grid-row:1 / 3}.brand>span:not(.alpha){font-size:1.25rem;font-weight:600;letter-spacing:-.04em;line-height:1.15;white-space:nowrap;color:var(--ink)}.brand-dot{color:var(--accent)}.alpha{grid-column:2;justify-self:start;font-size:12px;line-height:1;letter-spacing:.03em;color:var(--muted);border:1px solid var(--line);padding:2px 4px}.campaign{padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-1)}.campaign strong{font-size:var(--text-sm);margin-top:var(--space-2)}.campaign>span:last-child{font-size:var(--text-xs);color:var(--muted)}.nav-item{display:flex;align-items:center;gap:var(--space-3);width:calc(100% - 24px);margin:var(--space-1) var(--space-3);padding:var(--space-3);border-radius:5px;color:var(--muted);font-size:var(--text-sm);min-height:44px;text-align:left}.nav-item.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #00000009;font-weight:600}.nav-item.active svg{color:var(--accent)}.nav-item:hover{background:var(--surface)}.count{margin-left:auto;font-size:var(--text-xs);color:var(--muted)}.sidebar-note{margin:auto var(--space-5) var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-3)}.sidebar-note>svg{color:var(--accent)}.sidebar-note strong{font-size:var(--text-sm)}.sidebar-note p{font-size:var(--text-xs);color:var(--muted)}.sidebar-note button{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--accent);text-align:left}.workspace-status{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);padding:var(--space-2) var(--space-3);border-top:1px solid var(--line)}.workspace-status .icon-btn{margin-left:auto}.status-dot{width:6px;height:6px;border-radius:100%;background:var(--good)}.topbar{height:66px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--line);background:var(--surface);font-size:var(--text-xs)}.crumb{color:var(--muted)}.save-state{display:flex;align-items:center;gap:var(--space-1);color:var(--muted);margin-right:var(--space-4)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent-soft);color:var(--accent);width:36px;height:36px;border-radius:50%;font-weight:600;font-size:var(--text-sm)}.avatar.small{width:30px;height:30px;font-size:var(--text-xs)}.avatar.large{width:54px;height:54px;font-size:var(--text-xl);border-radius:8px}.work-area{display:flex;min-height:0;flex:1}.main-content{flex:1;min-width:0;overflow:auto;padding:var(--space-8) clamp(20px,3vw,48px) var(--space-12)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-heading h1{margin:var(--space-2) 0}.page-heading p{font-size:var(--text-sm);color:var(--muted)}.character-switcher{display:flex;gap:var(--space-3);margin-bottom:var(--space-6);overflow:auto;padding-bottom:var(--space-1)}.character-tab{display:flex;flex:0 0 225px;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:6px;min-width:190px;text-align:left}.character-tab>span:not(.avatar){min-width:0}.character-tab strong,.character-tab small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-tab.selected{background:var(--surface);border-color:var(--accent)}.character-tab strong{font-size:var(--text-sm);display:block}.character-tab small{display:block;color:var(--muted)}.character-tab>svg{margin-left:auto;color:var(--accent)}.character-tab:not(.selected) .avatar{background:var(--panel);color:var(--muted)}.character-sheet{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.sheet-heading{padding:var(--space-6);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.sheet-heading .row>div{min-width:0}.sheet-meta{display:flex;align-items:flex-end;flex-direction:column;gap:var(--space-2)}.sheet-meta small{color:var(--muted)}.edit{background:transparent;border:1px solid transparent;padding:var(--space-1);border-radius:3px;width:100%;min-height:32px}.edit:hover{border-color:var(--line)}.edit:focus{background:var(--paper);border-color:var(--accent);outline:none}.name-input{font-size:var(--text-lg);font-weight:600;padding:0;display:block}.subtitle-input{font-size:var(--text-sm);color:var(--muted);padding:0}.sheet-nav{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-6);border-bottom:1px solid var(--line)}.tabs{display:flex;gap:var(--space-6)}.tabs button{min-height:48px;font-size:var(--text-sm);color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}.tabs button.active{border-color:var(--accent);color:var(--ink);font-weight:600}.segmented{display:flex;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:2px;font-size:var(--text-xs);white-space:nowrap}.segmented button{padding:var(--space-1) var(--space-2);border-radius:2px;min-height:30px;color:var(--muted)}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0001}.sheet-content{padding:var(--space-6)}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-3);margin-bottom:var(--space-6)}.stats-grid label{display:flex;align-items:center;flex-direction:column;background:var(--paper);border-radius:5px;padding:var(--space-3) var(--space-1)}.stats-grid span{font-size:var(--text-xs);color:var(--muted)}.stats-grid input{text-align:center;font-size:var(--text-xl);font-weight:600;padding:var(--space-1);max-width:78px}.reference-hint{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;margin-bottom:var(--space-6);border-block:1px dashed var(--line);color:var(--accent)}.reference-hint p{font-size:var(--text-xs);color:var(--muted)}.reference-hint strong{font-weight:500;color:var(--ink)}.reference-hint>span{margin-left:auto;white-space:nowrap;font-size:var(--text-xs)}.entry-section+.entry-section{margin-top:var(--space-8)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3)}.section-title h2{display:flex;align-items:center;gap:var(--space-2)}.section-title h2 span{font-size:var(--text-xs);font-weight:400;color:var(--muted)}.section-title .btn{background:transparent;min-height:32px;border-color:transparent;color:var(--muted)}.entry-table-head,.entry-row{display:grid;grid-template-columns:minmax(160px,1.4fr) 78px minmax(110px,1fr) 100px;gap:var(--space-3);align-items:center}.entry-table-head{font-size:var(--text-xs);color:var(--muted);letter-spacing:.04em;padding:var(--space-2) var(--space-1);border-bottom:1px solid var(--line)}.entry-row{padding:var(--space-4) var(--space-1);border-bottom:1px solid var(--line)}.entry-row:last-child{border:0}.entry-link{font-size:var(--text-sm);font-weight:600;display:flex;align-items:center;gap:var(--space-2);text-align:left}.entry-link.linked svg{color:var(--accent)}.entry-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.entry-provenance{display:flex;gap:var(--space-1);font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-1)}.entry-provenance button{text-decoration:underline}.entry-actions{display:flex;justify-content:flex-end;gap:0}.entry-actions .icon-btn{width:30px}.rank{width:54px;text-align:center;background:var(--paper);border-color:var(--line);font-size:var(--text-sm)}.entry-note{font-size:var(--text-xs);color:var(--muted)}.qualities{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.qualities button{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--accent);padding:2px 5px;background:var(--accent-soft);border-radius:3px}.section-empty{font-size:var(--text-sm);color:var(--muted);padding:var(--space-6) 0}.sheet-footer{display:flex;align-items:center;gap:var(--space-2);background:var(--paper);padding:var(--space-3) var(--space-6);color:var(--muted);font-size:var(--text-xs)}.sheet-footer>span:last-child{margin-left:auto}.long-notes{min-height:320px;font-size:var(--text-base);margin-top:var(--space-3);border-color:var(--line)}.folio-dialog{background:var(--surface);border:1px solid var(--line);max-width:600px;padding:var(--space-6);border-radius:8px;max-height:90dvh;overflow:auto;color:var(--ink)}.folio-dialog>h2{font-size:var(--text-lg)}.folio-dialog>p{color:var(--muted);font-size:var(--text-sm)}.form-stack{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-3)}.form-stack label,.template-select label,.manual-page label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);font-weight:500}.form-stack label input,.form-stack label select,.form-stack label textarea{width:100%;font-weight:400}.form-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-4)}.geometry-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.suggestions{display:flex;flex-direction:column;gap:var(--space-1)}.suggestions>button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--paper);border-radius:4px;text-align:left;font-size:var(--text-sm)}.suggestions>button:hover{background:var(--panel)}.suggestions>button span{font-size:var(--text-xs);color:var(--muted);margin-left:auto}.suggestions>button svg{color:var(--accent)}.suggestions strong{font-weight:500}.empty{display:flex;flex-direction:column;gap:var(--space-3);align-items:center;text-align:center;padding:var(--space-12) var(--space-6);color:var(--muted)}.empty h3{color:var(--ink)}.empty p{font-size:var(--text-sm);max-width:44ch}.boot{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4)}.boot>svg:first-child{color:var(--accent)}.boot p{color:var(--muted)}.library-banner{display:flex;align-items:center;gap:var(--space-5);background:var(--accent-soft);padding:var(--space-6);border-radius:7px;margin-bottom:var(--space-6);color:var(--accent)}.library-banner h2{font-size:var(--text-base);color:var(--ink)}.library-banner p{font-size:var(--text-sm);margin-top:var(--space-1);color:var(--muted)}.library-banner .badge{margin-left:auto;background:var(--surface)}.library-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:var(--space-3);margin-bottom:var(--space-6)}.book-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-5)}.book-card{display:flex;gap:var(--space-5);padding:var(--space-5);border:1px solid var(--line);background:var(--surface);border-radius:6px}.book-cover{width:100px;flex-shrink:0;height:140px;overflow:hidden;background:var(--paper);border:1px solid var(--line)}.book-cover img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.book-details{min-width:0;flex:1}.book-details h2{font-size:var(--text-base);margin:var(--space-1) 0;overflow-wrap:anywhere}.book-details p{font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-3)}.book-actions{margin-top:var(--space-4);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.book-actions small{color:var(--muted)}.book-actions .btn{font-size:var(--text-xs);min-height:34px}.search-tools{display:flex;gap:var(--space-3);margin-bottom:var(--space-5)}.search-input{display:flex;align-items:center;gap:var(--space-2);flex:1;background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:0 var(--space-3);color:var(--muted)}.search-input input{border:0;background:transparent;flex:1;font-size:var(--text-sm);min-height:42px}.definition-list{display:flex;flex-direction:column;gap:var(--space-2)}.definition-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line);background:var(--surface);border-radius:5px;text-align:left}.definition-card:hover{border-color:var(--accent)}.definition-card strong{font-size:var(--text-sm)}.definition-card p{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-1)}.definition-card .badge{margin-left:auto}.definition-icon{color:var(--accent)}.search-result{display:block;position:relative;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);padding:var(--space-4);margin-bottom:var(--space-3);border-radius:4px}.search-result p{font-size:var(--text-sm);padding-right:var(--space-6);margin-top:var(--space-2)}.search-result>svg{position:absolute;right:var(--space-4);top:var(--space-4);color:var(--muted)}.upload-zone{border:1px dashed var(--muted);background:var(--paper);padding:var(--space-6);align-items:center;text-align:center}.upload-zone>svg{color:var(--accent)}.upload-zone span{font-size:var(--text-xs);color:var(--muted)}.upload-zone input{border:0;font-size:var(--text-xs);max-width:300px}progress{width:100%;accent-color:var(--accent)}.reader{width:440px;min-width:380px;max-width:60%;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--line);flex-shrink:0;box-shadow:-5px 0 20px #00000004}.wide-reader .reader{width:600px}.reader-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--line)}.reader-header h2{margin-top:var(--space-1);font-size:var(--text-lg)}.reader-book{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:var(--muted)}.reader-book>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-book .badge{margin-left:auto}.reader-tools{display:flex;justify-content:space-between;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-block:1px solid var(--line);font-size:var(--text-xs)}.page-controls{display:flex;align-items:center;gap:var(--space-1)}.page-controls input{width:48px;padding:var(--space-1);text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.page-controls input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.reader-tools .icon-btn{width:28px}.reader-location{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-xs);color:var(--muted)}.reader-location button{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1);color:var(--accent)}.reader-location .active{background:var(--accent-soft)}.reader-scroll{overflow:auto;flex:1;min-height:0;background:var(--panel);padding:var(--space-3);position:relative}.page-frame{position:relative;margin:0 auto;min-width:100%;background:#fff}.pdf-page{width:100%;height:auto;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.page-frame.selecting{cursor:crosshair;touch-action:none}.passage-highlight{position:absolute;background:#e6ba5130;border:2px solid #a97519;pointer-events:none}.reader-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);font-size:var(--text-xs)}.reader-footer small{display:block;color:var(--muted);margin-top:var(--space-2)}.reader-footer button:not(.btn){color:var(--muted)}.reader-footer .btn{font-size:var(--text-xs);min-height:34px}.accessible-text{background:var(--surface);padding:var(--space-4);font-size:var(--text-sm);margin-top:var(--space-4)}.accessible-text p{margin-top:var(--space-3);white-space:pre-line}.page-error{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);font-size:var(--text-sm);background:var(--paper)}.candidate-list{max-height:260px;overflow:auto}.candidate{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.candidate p{font-size:var(--text-xs);color:var(--muted)}.candidate>div:first-child{flex:1}.manual-page{display:flex;align-items:flex-end;gap:var(--space-2)}.manual-page input{width:90px}.template-select{display:flex;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6)}.template-select select{min-width:260px}.master-summary{display:flex;align-items:center;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-4)}.master-summary p{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-1)}.overlay-sheet{background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden}.overlay-toolbar{background:var(--surface);padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--line);flex-wrap:wrap}.page-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);border-radius:4px;color:var(--muted)}.page-tab.active{background:var(--accent-soft);color:var(--accent)}.overlay-paper-wrap{padding:var(--space-5);overflow:auto}.overlay-paper{max-width:760px;position:relative;margin:auto;box-shadow:var(--shadow);background:#fff}.overlay-paper.placing{cursor:crosshair}.overlay-field{position:absolute;display:flex;min-height:12px;align-items:stretch}.overlay-field .edit{font-family:var(--font-body);font-size:clamp(8px,1vw,13px);line-height:1;padding:0 3px;min-height:0;border-radius:0;background:#f8ecd59e;color:#302e28}.overlay-field .edit::-moz-placeholder{color:#6b675d}.overlay-field .edit::placeholder{color:#6b675d}.overlay-field input[type=checkbox]{width:100%;height:100%;min-height:12px;accent-color:#805032}.overlay-ref{width:20px;background:#ead2b8;color:#805032;display:flex;align-items:center;justify-content:center;flex-shrink:0}.design-field{background:#c0935d4d;outline:1px dashed #805032}.design-field>button:first-child{display:flex;align-items:center;gap:2px;width:100%;font-size:clamp(8px,1vw,12px);text-align:left;white-space:nowrap;overflow:hidden;color:#392b20}.padded{padding:var(--space-3) var(--space-4)}.sections-editor{margin-top:var(--space-8)}.section-summary{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--line);font-size:var(--text-sm)}.section-summary small{margin-left:auto;color:var(--muted)}.journal-layout{display:grid;grid-template-columns:200px 1fr;gap:var(--space-5)}.journal-list{display:flex;flex-direction:column;gap:var(--space-2)}.journal-list button{display:flex;align-items:center;gap:var(--space-2);text-align:left;padding:var(--space-3);font-size:var(--text-sm);border-radius:4px}.journal-list button.active{background:var(--surface);color:var(--accent)}.journal-page{background:var(--surface);border:1px solid var(--line);padding:var(--space-6);border-radius:5px}.note-title{font-size:var(--text-lg);font-weight:600}.journal-body{min-height:420px;margin:var(--space-4) 0;font-size:var(--text-base);line-height:1.8}.table-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:var(--space-5)}.board-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:5px 5px 0 0;font-size:var(--text-sm)}.board-toolbar .btn{font-size:var(--text-xs);min-height:32px}.selected-tool{border-color:var(--accent);color:var(--accent)}.board{height:490px;position:relative;background:var(--board);border:1px solid var(--line);overflow:hidden;touch-action:none}.board.grid{background-image:linear-gradient(to right,color-mix(in srgb,var(--muted) 14%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--muted) 14%,transparent) 1px,transparent 1px);background-size:5% 7.142857%}.map-image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none;opacity:.85}.board-empty{position:absolute;inset:25% 15%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-3);text-align:center;pointer-events:none;color:var(--muted);font-size:var(--text-sm)}.board-empty strong{font-weight:500}.board-empty span{font-size:var(--text-xs);max-width:30ch}.token{position:absolute;transform:translate(-50%,-50%);border:3px solid #f9f4eb;border-radius:50%;background:#935b42;color:#fff;width:45px;height:45px;box-shadow:0 2px 7px #0003;touch-action:none;font-size:var(--text-sm);font-weight:600;z-index:2}.token.moss{background:#5b7052}.token.slate{background:#526a7a}.token.gold{background:#947343}.token.selected{outline:2px solid var(--ink);outline-offset:3px}.token small{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);white-space:nowrap;background:var(--surface);color:var(--ink);border-radius:3px;padding:2px 5px;font-size:var(--text-xs);font-weight:500}.board-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) 0;font-size:var(--text-xs);color:var(--muted)}.board-foot .btn{font-size:var(--text-xs);min-height:28px}.board.measuring{cursor:crosshair}.measure-line{position:absolute;border-top:2px dashed var(--accent);transform-origin:0 0;pointer-events:none;z-index:3}.measure-line span{position:absolute;top:-26px;background:var(--surface);color:var(--accent);padding:2px 6px;font-size:var(--text-xs);white-space:nowrap}.table-aside>section{padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:5px;margin-bottom:var(--space-4)}.turn-panel h2{margin:var(--space-2) 0 var(--space-4)}.turn-panel .btn{width:100%}.dice-panel h2{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.dice-panel form{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.dice-panel input{width:100%;min-width:0;font-size:var(--text-sm)}.dice-shortcuts{display:flex;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2)}.dice-shortcuts button{font-size:var(--text-xs);color:var(--muted);padding:var(--space-2)}.roll-history{max-height:300px;overflow:auto;margin-top:var(--space-3)}.roll-history article{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;border-top:1px solid var(--line);padding:var(--space-3) 0}.roll-history strong{font-size:var(--text-sm);display:block}.roll-history small{color:var(--muted);display:block}.roll-history article>span{font-size:var(--text-xl);color:var(--accent)}.notice{position:fixed;bottom:var(--space-5);left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:var(--space-2);background:var(--ink);color:var(--surface);padding:var(--space-3) var(--space-4);border-radius:5px;font-size:var(--text-sm);box-shadow:var(--shadow);max-width:90vw}.errorbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:var(--accent-soft);color:var(--danger);padding:var(--space-2) var(--space-5);font-size:var(--text-sm)}.loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8);color:var(--muted)}.guide p{font-size:var(--text-sm);margin-top:var(--space-4);line-height:1.7;color:var(--muted)}.guide strong{color:var(--ink)}@media(min-width:1250px){.reading .main-content{padding:var(--space-6)}.reading .sheet-heading{flex-wrap:wrap}.reading .sheet-meta{align-items:flex-start}.reading .entry-table-head,.reading .entry-row{grid-template-columns:minmax(120px,1fr) 56px 85px}.reading .entry-note{grid-column:1/3}.reading .entry-actions{grid-row:1;grid-column:3}.reading .entry-table-head>span:nth-child(3){display:none}.reading .entry-table-head>span:nth-child(2){font-size:10px}.reading .table-layout{grid-template-columns:1fr}.reading .table-aside{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}}@media(max-width:1249px){.reader{position:fixed;right:0;top:66px;bottom:0;z-index:40;width:500px;max-width:90vw;box-shadow:-8px 0 30px #0002}.wide-reader .reader{width:650px}.table-layout{grid-template-columns:1fr}.table-aside{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.sheet-meta{display:none}.main-content{padding:var(--space-6)}}@media(max-width:800px){.page-heading{align-items:flex-start;flex-wrap:wrap}.entry-table-head,.entry-row{grid-template-columns:minmax(130px,1fr) 60px 90px}.entry-note{grid-column:1/3}.entry-actions{grid-row:1;grid-column:3}.entry-table-head>span:nth-child(3){display:none}.sheet-content,.sheet-heading{padding:var(--space-4)}.sheet-nav{padding:0 var(--space-4)}.library-banner .badge{display:none}.journal-layout{grid-template-columns:1fr}.journal-list{flex-direction:row;overflow:auto}.journal-list button{white-space:nowrap}.stats-grid{gap:var(--space-2)}.stats-grid span{font-size:11px}.book-list{grid-template-columns:1fr}}@media(max-width:600px){.main-content{padding:var(--space-5) var(--space-3) var(--space-8)}.topbar{padding:var(--space-3);height:58px}.save-state{display:none}.reader{top:58px;width:100%;max-width:100%;min-width:0}.wide-reader .reader{width:100%}.crumb{display:none}.page-heading h1{font-size:var(--text-xl)}.page-heading p{font-size:var(--text-sm)}.character-tab{min-width:175px;padding:var(--space-3)}.sheet-nav{gap:var(--space-2);flex-wrap:wrap;padding-bottom:var(--space-2)}.tabs{gap:var(--space-4)}.stats-grid{grid-template-columns:repeat(3,1fr)}.stats-grid span{font-size:var(--text-xs)}.reference-hint>span{display:none}.reference-hint strong{display:block}.sheet-footer>span:last-child{display:none}.sheet-footer{padding:var(--space-3);font-size:var(--text-xs)}.entry-actions .icon-btn{width:28px}.entry-table-head,.entry-row{gap:var(--space-2);grid-template-columns:minmax(115px,1fr) 48px 84px}.entry-table-head{font-size:10px}.rank{width:44px}.entry-provenance{flex-wrap:wrap;font-size:11px}.qualities{gap:var(--space-1)}.qualities button{font-size:11px}.library-banner{padding:var(--space-4);gap:var(--space-3)}.library-banner>svg{display:none}.library-toolbar{flex-wrap:wrap}.library-toolbar .tabs{gap:var(--space-4)}.library-toolbar .tabs button{font-size:var(--text-xs)}.book-card{gap:var(--space-3);padding:var(--space-4)}.book-cover{width:72px;height:100px}.form-columns{grid-template-columns:1fr}.geometry-inputs{grid-template-columns:repeat(2,1fr)}.folio-dialog{padding:var(--space-5);max-width:calc(100vw - 24px)}.template-select{flex-wrap:wrap}.template-select select{min-width:0;width:100%}.template-select label{width:100%}.master-summary{align-items:flex-start}.master-summary>.badge{display:none}.overlay-paper-wrap{padding:var(--space-2)}.section-summary{flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3)}.section-summary small{margin-left:0;width:100%}.overlay-toolbar{padding:var(--space-2)}.board{height:370px}.board-toolbar{flex-wrap:wrap}.table-aside{grid-template-columns:1fr}.board-empty{inset:20%}.token{width:38px;height:38px}.journal-page{padding:var(--space-4)}.manual-page{flex-wrap:wrap}.reader-tools .row{gap:0}.reader-header{padding:var(--space-4)}.definition-card{padding:var(--space-3);gap:var(--space-2)}.definition-card p{font-size:11px}.definition-icon{display:none}.search-tools{flex-wrap:wrap}.search-input{min-width:200px}.character-sheet{border-radius:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.alpha,.entry-table-head,.entry-provenance,.qualities button,.definition-card p,.reading .entry-table-head>span:nth-child(2){font-size:var(--text-xs)}.overlay-paper{min-width:580px}.overlay-field .edit,.design-field>button:first-child{font-size:12px}.config-summary{padding:var(--space-5);border:1px solid var(--line);background:var(--surface);border-radius:6px;margin-bottom:var(--space-6)}.config-summary p{font-size:var(--text-sm);margin-top:var(--space-2)}.book-checks{display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--line);padding:var(--space-3);max-height:240px;overflow:auto}.book-checks legend{font-size:var(--text-sm);padding:0 var(--space-1)}.book-checks label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.book-checks input{width:18px;height:18px;accent-color:var(--accent)}.inline-dice{padding:var(--space-4);border:1px solid var(--line);border-radius:6px;margin-top:var(--space-6);background:var(--surface)}.inline-dice form{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.inline-dice form input{flex:1;min-width:0}.inline-dice h2{display:flex;align-items:center;gap:var(--space-2)}.preset-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.preset-list .btn{flex-wrap:wrap;white-space:normal}.preset-list small{color:var(--muted)}.section-summary>.edit{flex:1;min-width:100px}.sections-editor{margin-top:var(--space-6)}@media(max-width:600px){.overlay-paper-wrap{max-height:72dvh}.stats-grid span{font-size:var(--text-xs)}}.native-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0}.native-fields>label{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);padding:12px;border-radius:6px;font-size:13px}.native-fields textarea{width:100%;min-height:64px;resize:vertical}.native-fields>label.check-field{flex-direction:row;align-items:center;justify-content:space-between}.native-fields input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}.scene-switcher{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:24px}.scene-switcher label{display:flex;flex-direction:column;gap:6px;font-size:13px}[data-role=player] .gm-only{display:none!important}.session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.session-card{border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0;background:var(--surface)}.session-card h2{margin-bottom:16px}.billing-card{grid-column:1/-1}.billing-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.billing-heading h2{margin-top:6px}.billing-plans{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0;padding:20px 0;border-block:1px solid var(--line)}.billing-plans h3{font-size:17px}.billing-price{font-size:28px;line-height:1.4;margin:8px 0!important}.billing-price span{font-size:14px}.billing-usage{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:18px 0}.billing-usage p{margin:4px 0}.billing-usage progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;display:block;width:100%;height:7px;accent-color:var(--accent);margin:10px 0}.billing-usage progress::-webkit-progress-bar{background:var(--panel);border-radius:4px}.billing-usage progress::-webkit-progress-value{background:var(--accent);border-radius:4px}.billing-usage progress::-moz-progress-bar{background:var(--accent);border-radius:4px}.billing-notice{padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:6px;margin:16px 0;line-height:1.6}.billing-notice a{text-decoration:underline}.billing-actions{display:flex;flex-wrap:wrap;gap:8px}.billing-handoff{display:grid;gap:10px;justify-items:start}.billing-campaigns{padding:0;list-style:none}.billing-campaigns li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.billing-campaigns strong{overflow-wrap:anywhere}.billing-campaigns small{display:block;margin-top:4px}.billing-campaigns button{flex-shrink:0}.billing-card .btn{min-height:44px}.billing-card p{line-height:1.6}@media(max-width:550px){.billing-plans,.billing-usage{grid-template-columns:1fr;gap:20px}.billing-campaigns li{align-items:flex-start}.billing-heading{flex-wrap:wrap}}.session-card label{display:grid;gap:6px;font-size:13px;margin:14px 0}.session-card input,.session-card select,.session-card textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:10px;background:var(--bg);color:var(--text)}.session-card textarea{min-height:85px;resize:vertical}.session-card summary{cursor:pointer;margin-top:20px}.member-list{list-style:none;padding:0;margin:16px 0}.member-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.member-list small,.chat-log small{color:var(--muted);font-size:12px}.chat-log{max-height:340px;min-height:120px;overflow:auto}.chat-log article{padding:12px 0;border-bottom:1px solid var(--line)}.chat-log p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0}.first-turn{padding-left:20px;line-height:1.7}.first-turn li{margin:10px 0}.fog-mask{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.fog-draft{position:absolute;pointer-events:none;z-index:4;border:2px solid #f6f3eb;background:#ffffff30}.fog-draft.hide{border-color:#db9879;background:#20232588}.fog-tools,.combat-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:none;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--line);font-size:13px}.fog-tools .btn,.combat-strip .btn{min-height:34px;padding:6px 10px;font-size:13px}.fog-tools small{flex-basis:100%;color:var(--muted);font-size:12px}.combat-strip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:35vw}.combat-strip>span{color:var(--muted)}.encounter-panel{display:grid;gap:14px}.encounter-panel h3{font-size:18px}.encounter-setup{display:grid;gap:14px;border:0;padding:0;min-width:0}.encounter-setup legend{font-weight:600;margin-bottom:10px}.participant-picker{display:grid;gap:8px;max-height:180px;overflow:auto}.participant-picker label{display:flex;align-items:center;gap:10px;font-size:14px}.participant-picker input{width:18px;height:18px}.initiative-entry{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px}.initiative-entry>strong{overflow-wrap:anywhere}.initiative-inputs{display:grid;grid-template-columns:minmax(80px,1fr) 70px 32px 32px;align-items:end;gap:6px}.initiative-inputs label,.encounter-setup>label{display:grid;gap:5px;font-size:12px}.initiative-inputs input{width:100%;min-width:0}.initiative-inputs .icon-btn{width:32px;height:38px}.initiative-entry small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.encounter-actions{flex-wrap:wrap}.encounter-order{display:grid;gap:6px;list-style:none;padding:0;margin:0}.encounter-order li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:6px;font-size:14px}.encounter-order strong{overflow-wrap:anywhere}.encounter-order small{grid-column:2/4;font-size:12px}.encounter-order .current-turn{border-color:var(--accent);background:var(--accent-soft)}.token.acting-token{box-shadow:0 0 0 4px var(--accent),0 0 0 6px var(--surface)}.token.hidden-token{opacity:.55;border-style:dashed}.dice-faces{display:flex;flex-wrap:wrap;gap:12px 8px;margin:12px 0}.die-result{width:76px;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}.die-result small{font-size:12px;line-height:1.3;max-width:100%;overflow-wrap:anywhere}.die-face{height:60px;width:60px;display:flex;align-items:center;justify-content:center;gap:1px;border-radius:8px;background:var(--panel);color:var(--ink);font-size:23px;font-weight:600;box-shadow:inset 0 0 0 2px #ffffff40}.die-symbol{width:19px;height:19px;flex:none}.die-d4{clip-path:polygon(50% 0,100% 100%,0 100%);padding-top:15px;border-radius:0}.die-d8{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border-radius:0}.die-d10,.die-d100{clip-path:polygon(50% 0,95% 32%,84% 76%,50% 100%,16% 76%,5% 32%);border-radius:0}.die-d12,.die-d20{clip-path:polygon(26% 2%,74% 2%,100% 50%,74% 98%,26% 98%,0 50%);border-radius:0}.die-blue{background:#83d4eb;color:#10242c}.die-black{background:#20232a;color:#fff}.die-green{background:#25814d;color:#fff}.die-purple{background:#633b8d;color:#fff}.die-yellow{background:#f3d457;color:#282314}.die-red{background:#9b2b3b;color:#fff}.discarded-die .die-face{opacity:.5}.discarded-die .face-caption{text-decoration:line-through}.dice-legend{font-size:12px;color:var(--muted)}.dice-legend>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.dice-legend span{display:flex;align-items:center;gap:6px}.dice-legend p{margin-top:10px}.pool-die-label{display:flex;align-items:center;gap:6px;font-size:12px}.pool-die{display:inline-block;width:18px;height:18px;flex:none;border:1px solid #ffffff50}.movement-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--line);font-size:12px}.movement-tools label,.snap-option{display:flex;align-items:center;gap:8px}.movement-tools input,.snap-option input{width:18px;height:18px}.movement-tools select{max-width:210px;font-size:12px}.measure-line{z-index:5;pointer-events:none}.measure-line.over-budget{border-color:var(--danger)}.measure-line.over-budget span{background:var(--danger);color:#fff}.distance-badge{position:absolute;z-index:6;pointer-events:none;transform:translate(-50%,-120%);padding:3px 8px;background:var(--surface);color:var(--ink);font-size:12px;white-space:nowrap;border:1px solid var(--line);border-radius:4px}.distance-badge.over-budget{background:var(--danger);color:#fff}.map-view-controls{position:absolute;z-index:8;top:10px;right:12px;display:flex;align-items:center;gap:8px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}.map-view-controls label{display:flex;align-items:center;gap:6px;font-size:12px;padding-left:4px}.map-view-controls select{max-width:115px;font-size:12px;min-height:32px;padding:4px}.map-view-controls .btn{font-size:12px;min-height:32px;padding:4px 8px}.player-view-notice{padding:7px 12px;background:var(--accent-soft);font-size:12px;border-bottom:1px solid var(--line)}.token.layer-objects{border-radius:8px;z-index:1}.token.layer-gm{border-radius:8px;z-index:3;border-style:dashed}.token.layer-locked{pointer-events:none}.play-controls>label:not(.snap-option){display:grid;gap:6px}.roll-history article>div{min-width:0;flex:1}.roll-history strong{overflow-wrap:anywhere}.play-panel .roll-history{max-height:none}.live-tools>.row{flex-wrap:wrap}@media(max-width:700px){.live-tools>.row{flex-basis:100%}.live-tools .btn{padding:6px 8px;font-size:12px}.combat-strip{gap:6px}.combat-strip>span:nth-child(3){display:none}.fog-tools .btn{min-height:36px}.dice-panel form{flex-wrap:wrap}.dice-panel form input{flex:1;min-width:90px}.dice-panel form select{max-width:140px}}.token-condition{position:absolute;top:65px;white-space:nowrap;background:var(--surface);padding:2px 6px}.token-settings{display:flex;gap:16px;align-items:center;margin-top:16px}.dice-panel form{flex-wrap:wrap}.dice-panel form select{max-width:100%;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text)}@media(max-width:900px){.session-grid{grid-template-columns:1fr}.session-card{padding:18px}.token-settings{flex-wrap:wrap}}.play-dock{position:fixed;right:24px;bottom:12px;width:330px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);z-index:25}.play-dock summary{cursor:pointer;padding:12px 16px;font-size:13px;font-weight:600}.dock-body{padding:0 16px 16px}.dock-body form{display:flex;gap:8px;flex-wrap:wrap}.dock-body input:not([type=checkbox]){width:100%}.dock-body label{font-size:12px}.dock-messages{max-height:190px;overflow:auto;font-size:13px;overflow-wrap:anywhere}.dock-messages p{margin:8px 0}.dock-roll{font-size:13px;border-bottom:1px solid var(--line);padding:8px 0}.dock-roll p{margin:5px 0}.edit-conflict{display:block!important;font-size:12px;color:var(--danger);max-width:340px;white-space:normal;font-weight:400}.main-content{padding-bottom:72px}.nav-section-label{padding:20px 14px 8px;font-size:11px;letter-spacing:.07em;color:var(--muted)}.nav-item.play-entry{background:var(--accent);color:var(--surface);margin-bottom:8px}.play-mode .topbar{height:52px;padding:6px 12px}.play-mode .main-content{padding:0;overflow:hidden;position:relative}.live-table{height:100%;display:flex;flex-direction:column;min-height:0}.live-table .scene-switcher{flex:none;margin:0;padding:6px 12px;gap:12px;border-bottom:1px solid var(--line);background:var(--surface);align-items:center}.live-table .scene-switcher label{flex-direction:row;align-items:center;min-width:0;gap:8px}.live-table .scene-switcher select{max-width:230px;min-height:34px;padding:4px 28px 4px 8px}.live-table .scene-switcher .btn{min-height:34px}.scene-live-status{font-size:12px;color:var(--muted);margin-left:auto}.live-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;background:var(--surface);border-bottom:1px solid var(--line);flex:none}.live-tools .row{gap:4px}.live-tools .btn{min-height:36px;padding:6px 10px;font-size:13px}.live-tools .icon-btn{width:36px;height:36px}.live-table .table-layout{display:flex;flex:1;min-height:0;position:relative;gap:0}.live-table .board-column{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.live-table .board-viewport{flex:1;min-height:0;overflow:hidden;position:relative;touch-action:none;background:var(--board)}.live-table .board{position:absolute;transform:translate(-50%,-50%);border:0;max-width:none}.live-table .map-image{opacity:1}.live-table .board-foot{padding:6px 12px;margin:0;min-height:30px;flex:none;background:var(--surface);border-top:1px solid var(--line)}.play-panel{position:absolute;z-index:20;right:0;top:0;bottom:0;width:380px;max-width:100%;padding:16px;overflow:auto;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow);display:block!important}.sheet-play-panel{width:650px}.play-panel-heading{display:flex;align-items:center;justify-content:space-between;margin:-16px -16px 16px;padding:16px;position:sticky;top:-16px;z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}.play-panel-heading h2{font-size:18px}.play-controls{display:flex;flex-direction:column;gap:12px}.play-mode .reader{position:fixed;right:0;top:52px;bottom:0;width:550px;max-width:100%;z-index:45;box-shadow:var(--shadow)}.play-mode .play-dock{right:12px;bottom:38px;width:300px}.play-mode .play-dock[open]{z-index:30}.play-mode:has(.play-panel) .play-dock:not([open]){z-index:10}.catalog-search{display:flex;gap:16px;margin:24px 0}.catalog-search label{display:flex;flex-direction:column;gap:8px}.catalog-search label:first-child{flex:1}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}.catalog-card{padding:24px;border:1px solid var(--line);background:var(--surface);border-radius:8px;display:flex;flex-direction:column;gap:16px}.catalog-card h2{font-size:22px}.catalog-card p{font-size:14px}.catalog-card ul{font-size:14px;list-style:disc;padding-left:18px;flex:1}.catalog-card a,.community-library a:not(.btn){text-decoration:underline;text-underline-offset:3px}.catalog-success{padding:16px;border:1px solid var(--good);margin-bottom:20px}@media(max-width:700px){.live-tools{flex-wrap:wrap;padding:4px 8px}.live-table .live-tools>.row{justify-content:space-between;flex:0 0 100%;flex-wrap:nowrap}.live-table .scene-switcher{padding:4px 8px;gap:6px;flex-wrap:nowrap}.live-table .scene-switcher select{max-width:155px;width:100%}.live-table .scene-switcher .btn{font-size:11px;padding:4px 6px}.scene-live-status{display:none}.live-table .board-foot{font-size:11px;min-height:26px}.live-table .board-foot>span:last-child{display:none}.live-table .token{width:44px;height:44px}.play-panel{width:100%;max-height:85%;top:auto;border-top:1px solid var(--line);border-radius:12px 12px 0 0}.sheet-play-panel .sheet-layout{display:block}.play-mode .play-dock{bottom:32px;right:8px;width:250px}.play-mode .play-dock summary{padding:8px 12px}.catalog-search{flex-direction:column}.catalog-card{padding:20px}}.session-card input,.session-card select,.session-card textarea,.dice-panel form select{background:var(--surface);color:var(--ink)}.play-mode{-webkit-user-select:none;-moz-user-select:none;user-select:none}.play-mode input,.play-mode textarea,.play-mode [contenteditable=true],.play-mode .play-panel,.play-mode .reader,.play-mode .dock-body{-webkit-user-select:text;-moz-user-select:text;user-select:text}.play-mode button,.play-mode label,.play-mode summary,.play-mode select{-webkit-user-select:none;-moz-user-select:none;user-select:none}.play-mode .map-image{-webkit-user-drag:none;pointer-events:none}.campaign-hub{min-height:100dvh;background:var(--paper);color:var(--ink)}.hub-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px max(24px,calc((100vw - 1200px)/2));border-bottom:1px solid var(--line);background:var(--surface)}.hub-account{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.hub-content{max-width:1200px;margin:auto;padding:48px 24px}.hub-intro{max-width:640px;margin-bottom:36px}.hub-intro h1{font-size:36px;line-height:1.2;margin:12px 0}.hub-intro p,.hub-campaign p,.hub-join>p,.hub-empty p,.hub-personal p{color:var(--muted);line-height:1.6;font-size:14px}.hub-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:32px;align-items:start}.hub-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.hub-section-heading h2,.hub-join h2{font-size:21px}.hub-campaigns{display:grid;gap:14px}.hub-campaign,.hub-empty{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.hub-campaign h3,.hub-empty h3{font-size:23px;overflow-wrap:anywhere;margin:8px 0}.hub-campaign .row{margin-top:18px;flex-wrap:wrap}.hub-empty{padding:36px 28px}.hub-empty svg{color:var(--muted);margin-bottom:12px}.hub-join{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.hub-join h2{margin:22px 0 12px}.hub-join form{display:grid;gap:18px;margin:24px 0}.hub-join label{display:grid;gap:8px;font-size:13px}.hub-join input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:5px;padding:9px;background:var(--paper);color:var(--ink)}.imported-field{min-width:0;display:grid;gap:6px}.imported-field>span{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.responsive-sheet-field{display:flex;min-width:0;gap:6px}.sheet-field-control{display:flex;width:100%;min-width:0;align-items:stretch}.responsive-sheet-field .edit{width:100%;min-width:0;min-height:40px}.responsive-sheet-field textarea.edit{min-height:90px}.design-field .sheet-field-control>button:first-child{display:flex;align-items:center;gap:2px;width:100%;font-size:12px;text-align:left;white-space:nowrap;overflow:hidden;color:#392b20}.responsive-sheet-field input[type=checkbox],.responsive-sheet-field input[type=radio]{width:24px;height:24px;accent-color:var(--accent)}.overlay-field input[type=radio]{width:100%;height:100%;min-height:12px;accent-color:#805032}.overlay-field textarea.edit{resize:none}.overlay-toolbar>.row{flex-wrap:wrap}.hub-personal{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.hub-personal summary{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.hub-personal p{margin:12px 0}@media(max-width:700px){.hub-header{padding:16px}.hub-account{display:none}.hub-header .brand{font-size:21px}.hub-content{padding:28px 16px}.hub-intro h1{font-size:30px}.hub-layout{grid-template-columns:1fr;gap:24px}.hub-campaign,.hub-join{padding:20px}.hub-campaign h3{font-size:21px}.hub-intro{margin-bottom:24px}.play-mode .topbar .crumb,.play-mode .topbar .crumb+svg,.play-mode .topbar .avatar{display:none}.play-mode .topbar{gap:6px}.play-mode .topbar .row{gap:4px}.play-mode .topbar .btn{padding:5px 7px;font-size:12px}}.folio-dialog.import-dialog{width:min(760px,calc(100vw - 24px));max-width:760px;max-height:90dvh;overflow-y:auto}.import-dialog>*{min-width:0;overflow-wrap:anywhere}.import-dialog input[type=file]{display:block;min-width:0;max-width:100%;width:100%}.import-dialog p{overflow-wrap:anywhere}.import-review{display:grid;gap:16px}.import-character{border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0}.import-warning{border-left:3px solid var(--accent);padding:8px 12px;background:var(--panel);font-size:13px}.import-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.import-field-grid label{display:grid;gap:5px;min-width:0;font-size:13px}.import-field-grid input{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:8px;background:var(--surface);color:inherit}.import-dialog input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.import-dialog summary{cursor:pointer;padding:8px 0;font-weight:600}.import-dialog input[type=file]{max-width:100%}.repository-text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px;line-height:1.6;max-height:38dvh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:16px}.library-tabs{margin-bottom:20px}@media(max-width:520px){.import-field-grid{grid-template-columns:1fr}.import-dialog{padding:18px}.catalog-search{display:flex;flex-direction:column;align-items:stretch}}.organized-sheet{container-type:inline-size;min-width:0}.sheet-quick{padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:8px;margin-bottom:20px}.sheet-group-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}.sheet-group-heading h2{font-size:18px;font-weight:650;margin:0}.sheet-group-heading>span,.sheet-group-description,.sheet-page-label{font-size:12px;color:var(--muted)}.sheet-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.sheet-quick-grid>button{min-width:0;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:6px}.sheet-quick-grid>button>span{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.sheet-quick-grid strong{font-size:24px;font-weight:650;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sheet-quick-grid button:hover{border-color:var(--accent)}.sheet-quick>.text-btn{margin-top:12px}.sheet-find{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;margin-bottom:12px}.sheet-search{display:flex;align-items:center;gap:10px;flex:1;min-width:180px;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:10px 12px}.sheet-search input{min-width:0;width:100%;background:none;border:0;color:inherit;font:inherit;font-size:14px}.sheet-group-nav{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 18px;margin:0 0 22px;border-bottom:1px solid var(--line)}.sheet-mobile-nav{display:none}.sheet-group-nav button{font-size:13px;border:1px solid var(--line);border-radius:5px;padding:8px 12px;min-height:36px;text-align:left}.sheet-group-nav button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink,#fff);border-color:var(--accent)}[data-theme=dark] .sheet-group-nav button[aria-pressed=true]{color:var(--paper)}.sheet-field-group{min-width:0;margin:0 0 28px;padding:0;border:0}.sheet-field-group legend{font-size:18px;font-weight:650;display:flex;align-items:center;gap:10px;padding:0}.sheet-field-group legend>span{font-size:12px;font-weight:400;color:var(--muted)}.sheet-group-description{line-height:1.5;margin:6px 0 14px}.sheet-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.sheet-field-card{border:1px solid var(--line);border-radius:6px;padding:12px;min-width:0;background:var(--surface)}.sheet-field-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.sheet-field-title>span{font-size:13px;line-height:1.5;font-weight:550;overflow-wrap:anywhere}.sheet-pin{width:28px;min-height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:4px;color:var(--muted)}.sheet-pin[aria-pressed=true]{color:var(--accent);background:var(--paper)}.sheet-pin[aria-pressed=true] svg{fill:currentColor;fill-opacity:.18}.sheet-pin:disabled{opacity:.45}.sheet-field-card .edit{width:100%;min-width:0;max-width:100%;font-size:16px;font-variant-numeric:tabular-nums}.sheet-field-card input.edit{min-height:36px}.sheet-field-card textarea{resize:vertical;min-height:70px}.sheet-field-card input[type=checkbox],.sheet-field-card input[type=radio]{width:22px;height:22px;accent-color:var(--accent)}.sheet-group-attributes .sheet-field-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.sheet-group-attributes .sheet-field-card{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:0 6px;align-items:start}.sheet-group-attributes .sheet-field-title{display:contents}.sheet-group-attributes .sheet-field-title>span{grid-column:1/-1;min-height:40px}.sheet-group-attributes .sheet-pin{grid-column:2;grid-row:2;align-self:center}.sheet-group-attributes .sheet-field-card>.edit,.sheet-group-attributes .responsive-sheet-field{grid-column:1;grid-row:2}.sheet-group-attributes .sheet-group-picker,.sheet-group-attributes .sheet-page-label{grid-column:1/-1}.sheet-group-attributes .edit,.sheet-group-combat input.edit{font-size:22px;font-weight:600}.sheet-group-checks .sheet-field-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.sheet-group-checks .sheet-field-card{display:grid;grid-template-columns:minmax(0,1fr) 95px;gap:8px;align-items:center}.sheet-group-checks .sheet-field-title{margin:0}.sheet-group-checks .sheet-field-card input.edit{text-align:right;font-size:20px;font-weight:600}.sheet-group-checks .sheet-field-card .sheet-group-picker,.sheet-group-checks .sheet-page-label{grid-column:1/-1}.sheet-group-details .sheet-field-grid,.sheet-group-other .sheet-field-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.sheet-field-card .responsive-sheet-field{min-width:0}.sheet-page-label{display:block;margin-top:8px}.sheet-group-picker{display:flex;flex-direction:column;font-size:12px;gap:5px;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.sheet-group-picker select{width:100%;min-width:0;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:inherit}.sheet-layout-help{font-size:13px;padding:14px;background:var(--paper);border-left:3px solid var(--accent);margin-bottom:20px}.sheet-layout-help p{margin:0 0 8px}.sheet-search-status{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:20px}.sheet-no-results{font-size:14px;padding:24px;border:1px dashed var(--line);border-radius:6px}.organized-sheet .rank{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.sheet-entry-note{min-width:0;font-size:13px}.sheet-entry-note summary{cursor:pointer;padding:8px 0;color:var(--muted)}.sheet-entry-note textarea{width:100%;min-height:100px;resize:vertical;font-size:13px}.organized-sheet button:focus-visible,.organized-sheet input:focus-visible,.organized-sheet select:focus-visible,.organized-sheet textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@container (max-width:520px){.sheet-field-grid,.sheet-group-checks .sheet-field-grid,.sheet-group-details .sheet-field-grid,.sheet-group-other .sheet-field-grid{grid-template-columns:1fr}.sheet-group-attributes .sheet-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-quick{padding:12px}.sheet-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-group-heading>span{width:100%}.sheet-find>.btn{width:100%;justify-content:center}.sheet-group-nav{gap:6px}.sheet-group-nav button{font-size:12px;padding:8px}.sheet-quick-grid strong{font-size:22px}}@container (max-width:640px){.sheet-group-nav{display:none}.sheet-mobile-nav{display:grid;gap:6px;font-size:13px;margin:0 0 24px}.sheet-mobile-nav select{min-width:0;width:100%;padding:10px;background:var(--surface);color:inherit;border:1px solid var(--line);border-radius:5px;min-height:44px}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.placeholder\:text-muted-foreground::-moz-placeholder{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.hover\:bg-sidebar-accent:hover{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1))}.hover\:text-sidebar-accent-foreground:hover{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-border) / var(--tw-bg-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:bg-sidebar-accent:active{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1))}.active\:text-sidebar-accent-foreground:active{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.active\:shadow-none:active{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100{opacity:1}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:bg-accent[data-state=open]{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:bg-secondary[data-state=open]{--tw-bg-opacity: 1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity, 1))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\)\]{width:calc(var(--sidebar-width-icon) + var(--spacing-4))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\+2px\)\]{width:calc(var(--sidebar-width-icon) + var(--spacing-4) + 2px)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[var\(--sidebar-width-icon\)\]{width:var(--sidebar-width-icon)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:.5625rem}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{--tw-border-opacity: 1;border-color:hsl(var(--sidebar-border) / var(--tw-border-opacity, 1))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow-xs{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover{--tw-bg-opacity: 1;background-color:hsl(var(--sidebar-background) / var(--tw-bg-opacity, 1))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\:flex{display:flex}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:.5625rem}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.md\:after\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset][data-state=collapsed]~.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow-xs{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-4>svg{height:1rem}.\[\&\>svg\]\:w-4>svg{width:1rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{--tw-text-opacity: 1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1))}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}
