/* Dark theme for Ghost's search widget (sodo-search).
 *
 * Nothing in this theme references this file. Ghost loads it via the
 * `sodoSearch.styles` config key, which replaces the widget's own stylesheet
 * outright. Upstream's CSS is therefore vendored below rather than pulled in
 * with @import: an @import cannot be discovered until this file has been
 * parsed, which forced a second serialised round trip and made the widget
 * visibly flicker between its unstyled and styled states on open.
 *
 * sodo-search 1.8 has no dark mode and no theming API: its only data-*
 * attributes are functional, and its styles are Tailwind utilities compiled
 * into main.css. Overriding those utility classes is the only lever available.
 *
 * The palette is redeclared rather than shared with screen.css: the widget
 * renders in its own iframe document, so the theme's :root is not in scope.
 *
 * The vendored section is upstream verbatim, including its trailing
 * `$vite$` build marker, so it diffs cleanly against a fresh fetch. Re-sync it
 * whenever `sodoSearch.version` changes:
 *
 *   curl -sSL https://cdn.jsdelivr.net/ghost/sodo-search@~1.8/umd/main.css
 *
 * Vendored at sha256 8ccd755b66f88bcac9aee9f9c0a0c97fea3610d71d222f3af122b8ef0a053e67,
 * which upstream carries with no trailing newline. To check the copy below
 * still matches, strip the separating newline before hashing:
 *
 *   printf '%s' "$(sed -n '/^\/\* -* vendored/,/^\/\* -* end vendored/p' \
 *     assets/sodo-search-dark.css | sed '1d;$d')" | shasum -a 256
 */

/* ---------- vendored: sodo-search ~1.8 umd/main.css (unmodified) ---------- */
*,:before,:after,::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:#3b82f680;--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:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.-mx-4{margin-left:-1.6rem;margin-right:-1.6rem}.-my-5{margin-top:-2rem;margin-bottom:-2rem}.my-3{margin-top:1.2rem;margin-bottom:1.2rem}.-mb-\[1px\]{margin-bottom:-1px}.-ms-3{margin-inline-start:-1.2rem}.-mt-\[1px\]{margin-top:-1px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.4rem}.me-2{margin-inline-end:.8rem}.me-3{margin-inline-end:1.2rem}.ms-3{margin-inline-start:1.2rem}.mt-0{margin-top:0}.block{display:block}.flex{display:flex}.hidden{display:none}.h-4{height:1.6rem}.h-7{height:2.8rem}.h-\[1\.1rem\]{height:1.1rem}.h-screen{height:100vh}.max-h-\[calc\(100vh-172px\)\]{max-height:calc(100vh - 172px)}.w-4{width:1.6rem}.w-7{width:2.8rem}.w-\[1\.1rem\]{width:1.1rem}.w-full{width:100%}.w-screen{width:100vw}.max-w-\[95vw\]{max-width:95vw}.shrink-0{flex-shrink:0}.grow{flex-grow:1}@keyframes fadein{0%{opacity:0}to{opacity:1}}.animate-fadein{animation:.15s fadein}@keyframes popup{0%{opacity:0;transform:translateY(-20px)}1%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-popup{animation:.15s popup}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.4rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.8rem}.rounded-t-lg{border-top-left-radius:.8rem;border-top-right-radius:.8rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.from-\[rgba\(0\,0\,0\,0\.2\)\]{--tw-gradient-from:#0003 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-\[rgba\(0\,0\,0\,0\.1\)\]{--tw-gradient-to:#0000001a var(--tw-gradient-to-position)}.object-cover{object-fit:cover}.p-\[1rem\]{padding:1rem}.px-4{padding-left:1.6rem;padding-right:1.6rem}.px-7{padding-left:2.8rem;padding-right:2.8rem}.py-3{padding-top:1.2rem;padding-bottom:1.2rem}.py-4{padding-top:1.6rem;padding-bottom:1.6rem}.py-5{padding-top:2rem;padding-bottom:2rem}.py-\[1rem\]{padding-top:1rem;padding-bottom:1rem}.ps-3{padding-inline-start:1.2rem}.pt-20{padding-top:8rem}.text-\[1\.65rem\]{font-size:1.65rem}.text-sm{font-size:1.4rem}.text-xs{font-size:1.2rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-normal{line-height:1.5}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -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-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px 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-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.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)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}html{font-size:62.5%}body{font-size:1.5rem}.ghost-display{display:block!important}.placeholder\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.hover\:border-neutral-300:hover{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity,1))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:text-neutral-500:hover{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}@media (width>=640px){.sm\:-mx-7{margin-left:-2.8rem;margin-right:-2.8rem}.sm\:hidden{display:none}.sm\:max-h-\[70vh\]{max-height:70vh}.sm\:max-w-lg{max-width:51.2rem}.sm\:px-7{padding-left:2.8rem;padding-right:2.8rem}}
/*$vite$:1*/
/* ---------- end vendored section; the $vite$ marker above is upstream's ---------- */

/* ---------- HackTheBox dark overrides ---------- */

:root {
    /* Also darkens the iframe's canvas, which otherwise paints white and hides
       the page behind the modal, and switches form controls and scrollbars to
       their dark rendering. */
    color-scheme: dark;

    --search-surface: #151f2e;
    --search-surface-hover: #1d2a3c;
    --search-fg: #f4f4f4;
    --search-fg-muted: #8799b5;
    --search-border: #263243;
}

.bg-white {
    background-color: var(--search-surface) !important;
}

input {
    background-color: var(--search-surface) !important;
    color: var(--search-fg) !important;
}

input::placeholder {
    color: var(--search-fg-muted) !important;
}

.bg-neutral-100 {
    background-color: var(--search-surface-hover) !important;
}

.text-neutral-900,
.text-neutral-800,
.text-neutral-700 {
    color: var(--search-fg) !important;
}

.text-neutral-500,
.text-neutral-400,
.text-gray-400 {
    color: var(--search-fg-muted) !important;
}

.border-neutral-200,
.border-neutral-100 {
    border-color: var(--search-border) !important;
}

.shadow,
.shadow-xl {
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.6) !important;
}
