@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;600&display=swap";@layer properties,theme,base,components,utilities;@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-600:oklch(62.7% .194 149.214);--color-green-800:oklch(44.8% .119 151.328);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-800:oklch(42.4% .199 265.638);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-800:oklch(43.8% .218 303.724);--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-2{top:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\!h-4{height:calc(var(--spacing) * 4)!important}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.\!w-4{width:calc(var(--spacing) * 4)!important}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-full{width:100%}.max-w-xs{max-width:var(--container-xs)}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[var\(--color-border-light\)\]>:not(:last-child)){border-color:var(--color-border-light)}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-\[var\(--color-border-light\)\]{border-color:var(--color-border-light)}.border-blue-200{border-color:var(--color-blue-200)}.border-green-200{border-color:var(--color-green-200)}.border-purple-200{border-color:var(--color-purple-200)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.bg-\[color-mix\(in_srgb\,var\(--color-danger\,\#dc2626\)_16\%\,var\(--color-bg-subtle\)\)\]{background-color:var(--color-danger,#dc2626)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--color-danger\,\#dc2626\)_16\%\,var\(--color-bg-subtle\)\)\]{background-color:color-mix(in srgb,var(--color-danger,#dc2626) 16%,var(--color-bg-subtle))}}.bg-\[color-mix\(in_srgb\,var\(--color-success\,\#16a34a\)_16\%\,var\(--color-bg-subtle\)\)\]{background-color:var(--color-success,#16a34a)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--color-success\,\#16a34a\)_16\%\,var\(--color-bg-subtle\)\)\]{background-color:color-mix(in srgb,var(--color-success,#16a34a) 16%,var(--color-bg-subtle))}}.bg-\[var\(--color-bg\)\]{background-color:var(--color-bg)}.bg-\[var\(--color-bg-muted\)\]{background-color:var(--color-bg-muted)}.bg-\[var\(--color-bg-subtle\)\]{background-color:var(--color-bg-subtle)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-8{padding-right:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.\!text-\[var\(--color-text\)\]{color:var(--color-text)!important}.\!text-green-600{color:var(--color-green-600)!important}.\!text-red-600{color:var(--color-red-600)!important}.text-\[var\(--color-border\)\]{color:var(--color-border)}.text-\[var\(--color-danger\,\#dc2626\)\]{color:var(--color-danger,#dc2626)}.text-\[var\(--color-on-primary\)\]{color:var(--color-on-primary)}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.text-\[var\(--color-success\,\#16a34a\)\]{color:var(--color-success,#16a34a)}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-\[var\(--color-text-heading\)\]{color:var(--color-text-heading)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--color-text-sep\)\]{color:var(--color-text-sep)}.text-\[var\(--color-text-subtle\)\]{color:var(--color-text-subtle)}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-green-600{color:var(--color-green-600)}.text-green-800{color:var(--color-green-800)}.text-purple-600{color:var(--color-purple-600)}.text-purple-800{color:var(--color-purple-800)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:border-blue-300:hover{border-color:var(--color-blue-300)}.hover\:bg-\[var\(--color-bg-hover\)\]:hover{background-color:var(--color-bg-hover)}.hover\:bg-\[var\(--color-bg-subtle\)\]:hover{background-color:var(--color-bg-subtle)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}@media(min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:48rem){.md\:col-span-1{grid-column:span 1/span 1}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{color-scheme:light;--color-primary:#4a90e2;--color-primary-hover:#3a7bc8;--color-primary-active:#357abd;--color-on-primary:#fff;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Code", "SF Mono", monospace;--color-text:#1a1a1a;--color-text-muted:#555;--color-text-heading:#333;--color-text-subtle:#666;--color-text-sep:#888;--color-placeholder:#6b7280;--color-bg:#fff;--color-bg-subtle:#fafafa;--color-bg-muted:#f3f4f6;--color-bg-hover:#f5f5f5;--color-bg-page:#f5f5f5;--color-bg-accent-soft:#f0f7ff;--color-bg-amber-soft:#fff8e6;--color-bg-cream-soft:#fffef8;--color-bg-rose-soft:#fff5f5;--color-bg-orange-soft:#fffaf0;--color-border:#ccc;--color-border-light:#eee;--color-border-divider:#ddd;--color-border-dashed:#ddd;--color-status-ok:#0d9488;--color-status-bad:#dc2626;--color-danger:#dc2626;--color-success:#2f855a;--color-warning:#c05621;--color-gold:#f0c040;--color-gold-muted:#e6b800;--shadow-navbar:0 2px 4px #0000000d;--shadow-dropdown:0 8px 24px #0000001a;--color-surface:var(--color-bg-subtle);--color-surface-muted:var(--color-bg-muted);--color-accent:var(--color-primary);--color-on-accent:var(--color-on-primary);--color-muted:var(--color-text-muted);--satisfactory-marker-default:#f26418;--satisfactory-marker-stroke:var(--color-border);--satisfactory-map-cave-stroke:#8b6914;--satisfactory-map-cave-fill:var(--satisfactory-map-cave-stroke)}@supports (color:color-mix(in lab,red,red)){:root{--satisfactory-map-cave-fill:color-mix(in srgb, var(--satisfactory-map-cave-stroke) 50%, transparent)}}:root{--satisfactory-map-cave-fill-selected:var(--satisfactory-map-cave-stroke)}@supports (color:color-mix(in lab,red,red)){:root{--satisfactory-map-cave-fill-selected:color-mix(in srgb, var(--satisfactory-map-cave-stroke) 65%, transparent)}}:root{--satisfactory-map-cave-stroke-selected:var(--color-accent);--satisfactory-map-cave-entrance-stroke:#c9a227;--satisfactory-map-road-stroke:#6b7280;--font-size-3xs:.5rem;--font-size-2xs:.65rem;--font-size-xs:.75rem;--font-size-caption:.8rem;--font-size-compact:.85rem;--font-size-sm:.875rem;--font-size-body:.9rem;--font-size-base:.95rem;--font-size-md:1rem;--font-size-lg:1.05rem;--font-size-xl:1.2rem;--font-size-2xl:1.25rem;--font-size-3xl:1.35rem;--font-size-4xl:1.5rem;--font-size-5xl:1.75rem;--font-size-6xl:2rem;--font-size-7xl:2.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--heartopia-flower-dot-red:red;--heartopia-flower-dot-yellow:#ff0;--heartopia-flower-dot-white:#f5f5f5;--heartopia-flower-dot-orange:#f80;--heartopia-flower-dot-pink:#ffc5d3;--heartopia-flower-dot-peach:#ec407a;--heartopia-flower-dot-black:#37474f;--heartopia-flower-dot-purple:#7b1fa2;--heartopia-flower-dot-green:#afa;--heartopia-flower-dot-blue:#08f;--heartopia-flower-dot-selene:#b0beff;--heartopia-flower-dot-sunglow:#ffb74d;--heartopia-flower-dot-default:#9e9e9e}[data-theme=dark]{color-scheme:dark;--color-primary:#6ba3e8;--color-primary-hover:#7eb0ee;--color-primary-active:#5a94dc;--color-on-primary:#fff;--color-text:#e8eaed;--color-text-muted:#aeb4bd;--color-text-heading:#dfe3ea;--color-text-subtle:#b8bec8;--color-text-sep:#8b939e;--color-placeholder:#9ca3af;--color-bg:#1e222a;--color-bg-subtle:#252a33;--color-bg-muted:#2c3240;--color-bg-hover:#323846;--color-bg-page:#16191f;--color-bg-accent-soft:#6ba3e824;--color-bg-amber-soft:#fbbf2424;--color-bg-cream-soft:#fef3c714;--color-bg-rose-soft:#f8717124;--color-bg-orange-soft:#fdba741f;--color-border:#3d4654;--color-border-light:#2f3540;--color-border-divider:#363e4a;--color-border-dashed:#363e4a;--color-status-ok:#2dd4bf;--color-status-bad:#f87171;--color-danger:#f87171;--color-success:#68d391;--color-warning:#f6ad55;--color-gold:#f6e05e;--color-gold-muted:#ecc94b;--shadow-navbar:0 2px 10px #00000073;--shadow-dropdown:0 12px 32px #0000008c}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-placeholder);opacity:1}input::placeholder,textarea::placeholder{color:var(--color-placeholder);opacity:1}input::-webkit-input-placeholder{color:var(--color-placeholder)}textarea::-webkit-input-placeholder{color:var(--color-placeholder)}input::-moz-placeholder{color:var(--color-placeholder);opacity:1}textarea::-moz-placeholder{color:var(--color-placeholder);opacity:1}button :is(svg,img,video,canvas),[role=button] :is(svg,img,video,canvas),button .heartopia-svg-raw-host,[role=button] .heartopia-svg-raw-host{pointer-events:none}:root{--toolbox-nav-link-gap:.35rem;--toolbox-nav-link-padding-block:.5rem;--toolbox-nav-link-padding-inline:1rem;--toolbox-nav-link-icon-size:1.1rem;--toolbox-nav-link-radius:8px}.toolbox-nav--compact{--toolbox-nav-link-padding-block:.45rem;--toolbox-nav-link-padding-inline:.85rem}.toolbox-nav__link,.toolbox-subnav__link,.heartopia-nav-link{box-sizing:border-box;align-items:center;gap:var(--toolbox-nav-link-gap);padding:var(--toolbox-nav-link-padding-block) var(--toolbox-nav-link-padding-inline);border-radius:var(--toolbox-nav-link-radius);border:1px solid var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-muted);font-variation-settings:"wght" 500;flex-shrink:0;font-weight:500;text-decoration:none;transition:background .2s,color .2s,border-color .2s,box-shadow .2s;display:inline-flex;box-shadow:0 1px 2px #0f172a0f}button.toolbox-nav__link,button.toolbox-subnav__link,button.heartopia-nav-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;cursor:pointer}button.toolbox-nav__link:focus-visible,button.toolbox-subnav__link:focus-visible,button.heartopia-nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.toolbox-nav__link{flex:none}.toolbox-nav__link:hover:not(.active),.toolbox-subnav__link:hover:not(.active),.heartopia-nav-link:hover:not(.active){background:var(--color-bg-hover);border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.toolbox-nav__link:hover:not(.active),.toolbox-subnav__link:hover:not(.active),.heartopia-nav-link:hover:not(.active){border-color:color-mix(in srgb,var(--color-primary) 42%,var(--color-border))}}.toolbox-nav__link:hover:not(.active),.toolbox-subnav__link:hover:not(.active),.heartopia-nav-link:hover:not(.active){color:var(--color-primary);box-shadow:0 1px 3px #0f172a14}.toolbox-nav__link.active,.toolbox-subnav__link.active,.heartopia-nav-link.active{background:var(--color-primary);color:var(--color-on-primary);font-variation-settings:"wght" 600;border-color:#0000;font-weight:600;box-shadow:0 1px 3px #0f172a1f}.toolbox-nav__link-icon,.toolbox-subnav__icon,.heartopia-nav-link-icon{width:var(--toolbox-nav-link-icon-size);font-size:var(--toolbox-nav-link-icon-size);text-align:center;line-height:1}.toolbox-nav__link-label,.toolbox-subnav__label,.heartopia-nav-link-label{white-space:nowrap}.toolbox-subnav__link-content,.hobbies-subnav-link-content{align-items:center;gap:var(--toolbox-nav-link-gap);display:inline-flex}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.toolbox-access-denied{max-width:36rem;margin:0 auto;padding:2rem}.toolbox-access-denied h1{margin-bottom:.75rem}.toolbox-access-denied p{color:var(--color-text-subtle, #555);margin:0 0 1rem}.toolbox-access-denied-meta{font-size:var(--font-size-compact, .875rem)}.toolbox-access-denied a{color:var(--color-primary, #0d9488)}.toast-viewport{position:fixed;bottom:1.25rem;right:1.25rem;left:1.25rem;z-index:10000;display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;pointer-events:none}@media(min-width:520px){.toast-viewport{left:auto;max-width:22rem}}.toast{pointer-events:auto;width:100%;max-width:22rem;padding:.85rem 1rem;border-radius:10px;border:2px solid var(--color-border-light);background:var(--color-bg);box-shadow:0 10px 28px #0000001f,0 2px 8px #0000000f;animation:toast-in .28s ease-out;position:relative}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast--success{border-color:#5eead4;background:#f0fdfa}.toast--info{border-color:var(--color-border-light);background:var(--color-bg)}.toast-dismiss{position:absolute;top:.4rem;right:.4rem;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-sep);font-size:var(--font-size-2xl);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.toast-dismiss:hover{color:var(--color-text-heading);background:#0000000d}.toast-title{font-size:var(--font-size-base);font-weight:700;color:var(--color-text-heading);margin:0 1.75rem .25rem 0;padding-right:0}.toast-body{font-size:var(--font-size-body);color:var(--color-text-muted);margin:0;line-height:1.4}.confirm-dialog-backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000073}.confirm-dialog{width:100%;max-width:26rem;padding:1.5rem;border-radius:10px;background:var(--color-bg, #fff);border:1px solid var(--color-border-light, #eee);box-shadow:0 8px 32px #0000001f}.confirm-dialog__title{margin:0 0 .75rem;font-size:var(--font-size-xl);color:var(--color-text-heading, #333)}.confirm-dialog__message{margin:0 0 1.25rem;font-size:var(--font-size-base);color:var(--color-text-muted, #555);line-height:1.45}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem}.confirm-dialog__btn{padding:.45rem 1rem;font-size:var(--font-size-base);border-radius:6px;border:1px solid var(--color-border, #ccc);background:var(--color-bg-subtle, #fafafa);color:var(--color-text, #1a1a1a);cursor:pointer}.confirm-dialog__btn--primary{border-color:var(--color-primary, #4a90e2);background:var(--color-primary, #4a90e2);color:#fff}.confirm-dialog__btn--danger{border-color:#b91c1c;background:#dc2626;color:#fff}.confirm-dialog__btn:hover{filter:brightness(1.03)}.notification-center-nav{position:relative;display:flex;align-items:center}.notification-center-nav--toolbar{flex-shrink:0}.notification-center-trigger{position:relative;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:none;border-radius:10px;background:transparent;cursor:pointer;color:var(--color-text-subtle);transition:color .15s,background .15s}.notification-center-trigger:hover{color:var(--color-primary);background:var(--color-bg-hover)}.notification-center-bell{font-size:var(--font-size-2xl);line-height:1}.notification-center-badge{position:absolute;top:2px;right:2px;min-width:1.1rem;height:1.1rem;padding:0 4px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:var(--font-size-2xs);font-weight:700;line-height:1.1rem;text-align:center}.notification-center-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(22rem,calc(100vw - 2rem));max-height:min(70vh,28rem);display:flex;flex-direction:column;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:12px;box-shadow:0 16px 40px #00000024,0 4px 12px #0000000f;z-index:10001;overflow:hidden}.notification-center-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light);background:var(--color-bg-subtle);flex-shrink:0}.notification-center-panel-title{margin:0;font-size:var(--font-size-base);font-weight:700;color:var(--color-text-heading)}.notification-center-clear-all{flex-shrink:0;padding:.25rem .5rem;border:none;border-radius:6px;background:transparent;color:var(--color-primary);font-size:var(--font-size-compact);font-weight:600;cursor:pointer}.notification-center-clear-all:hover{text-decoration:underline}.notification-center-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0}.notification-center-empty{padding:1.5rem 1rem;text-align:center;color:var(--color-text-subtle);font-size:var(--font-size-body)}.notification-center-item{display:flex;gap:.5rem;align-items:flex-start;padding:.75rem .65rem .75rem 1rem;border-bottom:1px solid var(--color-border-light)}.notification-center-item:last-child{border-bottom:none}.notification-center-item-main{flex:1;min-width:0}.notification-center-item-title{font-size:var(--font-size-body);font-weight:700;color:var(--color-text-heading);margin-bottom:.2rem}.notification-center-item-body{font-size:var(--font-size-compact);color:var(--color-text-muted);margin:0 0 .35rem;line-height:1.35}.notification-center-item-time{display:block;font-size:var(--font-size-xs);color:var(--color-text-sep)}.notification-center-item-dismiss{flex-shrink:0;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-sep);font-size:var(--font-size-xl);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.notification-center-item-dismiss:hover{color:var(--color-text-heading);background:var(--color-bg-hover)}.site-lock-nav-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.2rem .45rem .2rem .55rem;border:1px solid var(--color-border);border-radius:999px;font:inherit;font-size:var(--font-size-sm);font-weight:600;line-height:1;flex-shrink:0;transition:background .2s,color .2s,border-color .2s}.site-lock-nav-badge--users{background:var(--color-bg-subtle);color:var(--color-text-muted)}.site-lock-nav-badge--users:hover:not(:disabled){background:var(--color-bg-hover);border-color:color-mix(in srgb,var(--color-primary) 42%,var(--color-border));color:var(--color-primary)}.site-lock-nav-badge--locked{background:var(--color-bg-subtle);color:var(--color-text-muted)}.site-lock-nav-badge--locked:hover:not(:disabled){background:var(--color-bg-hover);border-color:color-mix(in srgb,var(--color-primary) 42%,var(--color-border));color:var(--color-primary)}.site-lock-nav-badge--open{background:color-mix(in srgb,var(--color-danger) 14%,var(--color-bg));border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border));color:var(--color-danger)}.site-lock-nav-badge--open:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 22%,var(--color-bg));border-color:var(--color-danger)}.site-lock-nav-badge:disabled{opacity:.7;cursor:not-allowed}.site-lock-nav-badge__icon{font-size:var(--font-size-body);line-height:1}.site-lock-nav-badge__label{letter-spacing:.02em}.site-lock-nav-badge__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-lock-nav-badge__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:inherit;font:inherit;font-weight:600;letter-spacing:.02em;padding:.15rem 1.15rem .15rem 0;margin:0;max-width:9.5rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .05rem center;background-size:.75rem}.site-lock-nav-badge__select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.site-lock-nav-badge__select:disabled{cursor:not-allowed}.site-lock-nav-badge__select option{color:var(--color-text, #1a1a1a);background:var(--color-bg, #fff)}.admin-page{max-width:44rem;margin:0 auto;padding:2rem}.admin-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-section-heading-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.admin-section-heading-row h2{margin-bottom:0}.admin-users-table-wrap{width:100%;overflow-x:auto;margin-bottom:.5rem}.admin-users-table{width:100%;border-collapse:collapse;font-size:var(--font-size-body)}.admin-users-table th,.admin-users-table td{padding:.65rem .75rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border-light, #e8e8e8)}.admin-users-table th{font-weight:600;color:var(--color-text-subtle, #555);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;background:var(--color-bg-subtle, #fafafa)}.admin-users-table-cell-ext{min-width:12rem}.admin-users-table-cell-api-keys{text-align:center;width:5.5rem}.admin-users-api-keys-check{width:1.1rem;height:1.1rem;accent-color:var(--color-primary)}.admin-users-api-keys-check:disabled{opacity:.7}.admin-users-table-select{padding:.35rem .5rem;font-size:var(--font-size-compact);border:1px solid var(--color-border-light, #e0e0e0);border-radius:6px;max-width:100%}.admin-ext-stack-sep{margin:0 .15rem;color:var(--color-text-subtle, #888)}.admin-ext-cell-summary{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.5rem;width:100%}.admin-ext-cell-summary .admin-muted,.admin-ext-cell-summary .admin-ext-summary-list{flex:1;min-width:0}.admin-ext-summary-list{list-style:none;padding:0;margin:0;font-size:var(--font-size-compact)}.admin-ext-summary-list li{margin:0 0 .25rem;word-break:break-word}.admin-ext-summary-list li:last-child{margin-bottom:0}.admin-add-user-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-light, #e8e8e8)}.admin-btn-danger--compact{margin-bottom:0!important;padding:.35rem .65rem!important;font-size:var(--font-size-compact)!important}.admin-page h1{color:var(--color-text-heading, #1a1a1a);margin-bottom:.5rem}.admin-page>p{color:var(--color-text-subtle, #555);margin-bottom:1.5rem}.admin-login-form{display:flex;flex-direction:column;gap:1rem;max-width:20rem}.admin-login-form .form-group{display:flex;flex-direction:column;gap:.35rem}.admin-login-form label{font-size:var(--font-size-body);font-weight:500;color:var(--color-text-subtle, #555)}.admin-login-form input{padding:.5rem .75rem;font-size:var(--font-size-md);border:2px solid var(--color-border-light, #e0e0e0);border-radius:6px;background:var(--color-bg);color:var(--color-text)}.admin-login-form input:focus{outline:none;border-color:var(--color-primary, #0d9488)}.admin-login-form .form-error{color:#dc2626;font-size:var(--font-size-body);margin:0}.admin-login-form button{margin-top:.5rem;padding:.5rem 1rem;font-size:var(--font-size-md);font-weight:500;color:#fff;background:var(--color-primary, #0d9488);border:none;border-radius:6px;cursor:pointer}.admin-login-form button:hover:not(:disabled){filter:brightness(1.05)}.admin-login-form button:disabled{opacity:.7;cursor:not-allowed}.admin-page button{padding:.5rem 1rem;font-size:var(--font-size-base);font-weight:500;color:#fff;background:var(--color-primary, #0d9488);border:none;border-radius:6px;cursor:pointer;margin-bottom:1.5rem}.admin-page button:hover:not(:disabled){filter:brightness(1.05)}.admin-page button:disabled{opacity:.7;cursor:not-allowed}.admin-page .admin-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;margin:0 0 0 auto;border:2px solid var(--color-border, #ccc);border-radius:8px;background:var(--color-bg-subtle, #fafafa);color:var(--color-text, #1a1a1a);cursor:pointer}.admin-page .admin-icon-btn:hover:not(:disabled){filter:none;background:var(--color-bg-hover, #f0f0f0);border-color:var(--color-primary, #4a90e2);color:var(--color-primary, #4a90e2)}.admin-page .admin-icon-btn:focus-visible{outline:2px solid var(--color-primary, #4a90e2);outline-offset:2px}.admin-page .admin-icon-btn--ext-ids{margin:0 0 0 auto;flex-shrink:0}.admin-section{padding:1.25rem 1.5rem;border-radius:10px;border:2px solid var(--color-border-light, #e0e0e0);background:var(--color-bg);max-width:28rem}.admin-section h2{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-subtle, #555);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.03em}.admin-section p{color:var(--color-text-subtle, #555);margin:0 0 1rem;font-size:var(--font-size-base)}.admin-section button{margin-bottom:0}.admin-success-message{margin-top:1rem!important;color:#0d9488!important}.admin-error-message{margin-top:1rem!important;color:#dc2626!important}.admin-section--wide{max-width:none;width:100%}.admin-subheading{margin:0 0 .75rem;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-subtle, #555)}.admin-inline-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}.admin-inline-form input,.admin-inline-form select{padding:.4rem .6rem;font-size:var(--font-size-body);border:1px solid var(--color-border-light, #e0e0e0);border-radius:6px;background:var(--color-bg);color:var(--color-text)}.admin-btn-danger{margin-left:auto;background:#dc2626!important}.admin-user-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.admin-page .admin-btn-secondary{background:var(--color-bg-subtle, #fafafa);color:var(--color-text, #1a1a1a);border:2px solid var(--color-border, #ccc)}.admin-page .admin-btn-secondary:hover:not(:disabled){filter:none;background:var(--color-bg-hover, #f0f0f0);border-color:var(--color-primary, #4a90e2);color:var(--color-primary, #4a90e2)}.admin-page .admin-btn-secondary--compact,.admin-page .admin-btn-danger--compact{margin:0}.admin-btn-link{background:transparent!important;color:var(--color-primary, #4a90e2)!important;padding:.15rem .35rem!important;font-size:var(--font-size-compact)!important;text-decoration:underline}.admin-toolbox-access-select{min-width:9rem}.admin-toolbox-access-table td strong{display:block}.admin-access-details{margin-top:1.25rem;border-top:1px solid var(--color-border-light, #e8e8e8);padding-top:1rem}.admin-access-summary{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:600;color:var(--color-text-subtle, #555);text-transform:uppercase;letter-spacing:.03em;font-size:var(--font-size-md);list-style:none}.admin-access-summary::-webkit-details-marker{display:none}.admin-access-summary:before{content:"";width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease}.admin-access-details[open]>.admin-access-summary:before{transform:rotate(45deg)}.admin-access-summary-count{margin-left:auto;font-size:var(--font-size-compact, .875rem);font-weight:500;letter-spacing:0;text-transform:none;color:var(--color-text-subtle, #888)}.admin-site-lock-hint{margin-top:.75rem!important}.login-password-wrap{position:relative;max-width:20rem}.admin-login-form .login-password-wrap input{width:100%;box-sizing:border-box;padding-right:2.75rem}.admin-login-form .login-password-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;padding:.3rem;margin-top:0;margin-bottom:0;border:none;border-radius:6px;background:transparent;font-size:inherit;font-weight:400;color:var(--color-text-subtle, #666);cursor:pointer;filter:none}.admin-login-form .login-password-toggle:hover:not(:disabled){filter:none;color:var(--color-primary, #4a90e2)}.admin-login-form .login-password-toggle:focus-visible{outline:2px solid var(--color-primary, #4a90e2);outline-offset:1px}.login-back{margin-top:1.5rem}.lockdown-login-wrap .admin-login-form{max-width:none}.lockdown-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--color-bg-page, #f5f5f5)}.lockdown-inner{width:100%;max-width:22rem}.lockdown-title{margin:0 0 .5rem;font-size:var(--font-size-3xl);color:var(--color-text-heading, #333)}.lockdown-text{margin:0 0 1.25rem;color:var(--color-text-muted, #555);font-size:var(--font-size-base);line-height:1.45}.lockdown-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:999px;background:transparent;cursor:pointer;font-size:var(--font-size-xl);line-height:1;transition:background .15s ease}.theme-toggle:hover{background:var(--color-bg-hover)}.theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.theme-toggle__icon{display:block}.user-menu{position:relative}.user-menu--placeholder{width:2.25rem;height:2.25rem}.user-menu-trigger{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;border-radius:999px}.user-menu-trigger--guest{width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-subtle);color:var(--color-text-muted)}.user-menu-trigger--guest:hover{background:var(--color-bg-hover);border-color:color-mix(in srgb,var(--color-primary) 42%,var(--color-border));color:var(--color-primary)}.user-menu-guest-icon{font-size:var(--font-size-xl);line-height:1}.user-menu-utilities{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.35rem .5rem}.user-menu-utility-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:999px;background:transparent;cursor:pointer;font-size:var(--font-size-xl);line-height:1;color:var(--color-text-subtle);transition:background .15s ease;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation}.user-menu-utility-btn:hover{background:var(--color-bg-hover);color:var(--color-primary)}.user-menu-utilities .notification-center-nav,.user-menu-utilities .theme-toggle{flex-shrink:0}.user-menu-avatar{width:2.25rem;height:2.25rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:700;color:#fff;background:hsl(var(--user-avatar-hue, 210),55%,42%);letter-spacing:.02em}.user-menu-avatar--hex{text-shadow:0 1px 2px rgba(0,0,0,.35)}.user-menu-avatar--sm{width:1.75rem;height:1.75rem;font-size:var(--font-size-2xs)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + .35rem);min-width:12.5rem;padding:.35rem 0;background:var(--color-bg, #fff);border:1px solid var(--color-border-light, #eee);border-radius:8px;box-shadow:var(--shadow-dropdown);z-index:10050}.user-menu-header{display:flex;align-items:center;gap:.65rem;padding:.65rem .85rem .5rem;border-bottom:1px solid var(--color-border-light, #eee);margin-bottom:.25rem}.user-menu-header--profile{text-decoration:none;color:inherit;cursor:pointer}.user-menu-header--profile:hover{background:var(--color-bg-hover, #f5f5f5)}.user-menu-header--profile:focus-visible{outline:2px solid var(--color-primary, #4a90e2);outline-offset:-2px}.user-menu-header-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.user-menu-username{font-weight:600;font-size:var(--font-size-body);color:var(--color-text, #1a1a1a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:10rem}.user-menu-badge{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary, #4a90e2);align-self:flex-start}.user-menu-item{display:block;width:100%;text-align:left;padding:.5rem .85rem;font-size:var(--font-size-body);color:var(--color-text, #1a1a1a);text-decoration:none;border:none;background:transparent;cursor:pointer;font-family:inherit}.user-menu-item:hover{background:var(--color-bg-hover, #f5f5f5)}.user-menu-item--toggle{color:var(--color-text-muted, #555)}.user-menu-divider{height:1px;margin:.25rem 0;background:var(--color-border-light, #eee)}.deploy-version-badge{position:fixed;right:.75rem;bottom:.6rem;z-index:5000;padding:.2rem .45rem;border:1px solid var(--color-border-light);border-radius:4px;background:color-mix(in srgb,var(--color-bg) 92%,transparent);box-shadow:0 2px 8px #00000014,0 0 0 1px #00000008;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-2xs);line-height:1.2;color:var(--color-text-subtle);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-page);color:var(--color-text)}.app{min-height:100vh;display:flex;flex-direction:column}:root{--site-header-offset: 72px}.navbar{background:var(--color-bg);border-bottom:2px solid var(--color-border-divider);padding:1rem 0;box-shadow:var(--shadow-navbar);position:sticky;top:0;z-index:20000}.nav-brand-slot{flex:1 1 auto;min-width:0;margin-right:auto;overflow-x:clip}.nav-container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem;box-sizing:border-box;display:flex;align-items:center;gap:.75rem;min-width:0;container-type:inline-size;container-name:nav}.nav-logo{display:block;max-width:100%;font-size:var(--font-size-4xl);font-weight:700;color:var(--color-primary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.nav-toolbar{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}@container nav (max-width: 26rem){.site-lock-nav-badge__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-lock-nav-badge{gap:0;padding:.35rem .45rem}}@media(max-width:768px){.navbar{padding:.75rem 0}.nav-container{padding:0 1rem}.nav-logo{font-size:var(--font-size-2xl)}}.nav-toolbar a{color:var(--color-text-subtle);text-decoration:none;font-weight:500;transition:color .2s}.nav-toolbar a:hover{color:var(--color-primary)}.app:has(.satisfactory-resource-map--fullscreen) .navbar{display:none}.app:has(.satisfactory-resource-map--fullscreen) .main-content{padding:0}@media(max-width:280px){.app:has(.jedos-toolbox--counter) .navbar{display:none}.app:has(.jedos-toolbox--counter) .main-content{padding:0}.app:has(.jedos-toolbox--counter) .footer{display:none}}.main-content{flex:1;padding:2rem 0;min-height:60vh}.footer{background:var(--color-bg);border-top:2px solid var(--color-border-light);padding:1.5rem;text-align:center;color:var(--color-text-subtle);margin-top:auto}
