/* Halo 2.26 component selectors verified against its bundled component CSS.
   Keep Halo's modal, upload, selection and toast lifecycle; replace the surfaces. */
:root {
  --fg-overlay-bg:rgba(244,250,254,.94); --fg-overlay-solid:#edf5fa;
  --fg-overlay-ink:#284758; --fg-overlay-muted:#647c8a;
  --fg-overlay-line:rgba(112,146,167,.22); --fg-overlay-light:rgba(255,255,255,.9);
  --fg-overlay-field:rgba(255,255,255,.66); --fg-overlay-active:rgba(90,146,179,.14);
  --fg-overlay-accent:#355f78; --fg-overlay-shade:rgba(24,44,61,.28);
}
html.dark {
  --fg-overlay-bg:rgba(24,39,51,.96); --fg-overlay-solid:#1c303e;
  --fg-overlay-ink:#e0edf5; --fg-overlay-muted:#a1bacb;
  --fg-overlay-line:rgba(144,178,199,.22); --fg-overlay-light:rgba(198,224,240,.16);
  --fg-overlay-field:rgba(71,101,123,.24); --fg-overlay-active:rgba(137,190,222,.16);
  --fg-overlay-accent:#5689a8; --fg-overlay-shade:rgba(3,11,18,.56);
}
body.fg-platform .modal-wrapper .modal-layer,
body.fg-platform .drawer__overlay {background:var(--fg-overlay-shade)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
body.fg-platform .modal-wrapper .modal-content {
  border:1px solid var(--fg-overlay-light);border-radius:25px;background:var(--fg-overlay-bg)!important;
  color:var(--fg-overlay-ink);box-shadow:0 28px 90px -30px rgba(14,37,56,.42),inset 0 1px 0 var(--fg-overlay-light);
  backdrop-filter:blur(28px) saturate(125%);-webkit-backdrop-filter:blur(28px) saturate(125%);
}
body.fg-platform .modal-wrapper .modal-content .modal-header {min-height:64px;padding:16px 22px;border-color:var(--fg-overlay-line);}
body.fg-platform .modal-wrapper .modal-content .modal-header-title {font-size:17px;font-weight:600;letter-spacing:-.02em;}
body.fg-platform .modal-wrapper .modal-content .modal-header-actions span {width:34px;height:34px;color:var(--fg-overlay-muted);background:var(--fg-overlay-field);border:1px solid var(--fg-overlay-line);}
body.fg-platform .modal-wrapper .modal-content .modal-header-actions span:hover {color:var(--fg-overlay-ink);background:var(--fg-overlay-active);}
body.fg-platform .modal-wrapper .modal-content .modal-body {padding:18px 22px;}
body.fg-platform .modal-wrapper .modal-content .modal-footer {padding:16px 22px;border-color:var(--fg-overlay-line);background:var(--fg-overlay-field);border-radius:0 0 25px 25px;}
body.fg-platform .modal-wrapper.modal-wrapper-fullscreen .modal-content {border-radius:0;}
body.fg-platform .modal-wrapper.modal-wrapper-fullscreen .modal-footer {border-radius:0;}
body.fg-platform .modal-content :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea,.select-input) {
  color:var(--fg-overlay-ink);border-color:var(--fg-overlay-line);background-color:var(--fg-overlay-field);border-radius:12px;
}
body.fg-platform .modal-content :is(.bg-white,.bg-gray-50,.bg-gray-100) {background-color:var(--fg-overlay-field)!important;}
body.fg-platform .btn {border-radius:12px;min-height:38px;font-weight:500;transition:background .18s,color .18s,box-shadow .18s;}
body.fg-platform .btn-default {border:1px solid var(--fg-overlay-line);background:var(--fg-overlay-field)!important;color:var(--fg-overlay-ink);}
body.fg-platform .btn-primary {background:var(--fg-overlay-accent)!important;box-shadow:0 4px 14px -8px rgba(36,71,94,.55);}
body.fg-platform .btn-ghost {color:var(--fg-overlay-ink);}
body.fg-platform .btn:focus-visible {outline:3px solid rgba(90,146,179,.45);outline-offset:3px;}
body.fg-platform .v-popper--theme-dropdown .v-popper__inner {
  padding:7px;border:1px solid var(--fg-overlay-light);border-radius:18px!important;
  background:var(--fg-overlay-bg)!important;color:var(--fg-overlay-ink);box-shadow:0 18px 50px -16px rgba(18,42,60,.32);
  backdrop-filter:blur(24px) saturate(125%);-webkit-backdrop-filter:blur(24px) saturate(125%);
  max-width:calc(100vw - 24px);
}
body.fg-platform .v-popper--theme-dropdown .v-popper__arrow-inner {border-color:var(--fg-overlay-solid);}
body.fg-platform .v-popper--theme-dropdown .v-popper__arrow-outer {border-color:var(--fg-overlay-line);}
body.fg-platform .dropdown-item-wrapper {border-radius:11px;min-height:38px;padding:9px 12px;}
body.fg-platform .dropdown-item-wrapper--default {color:var(--fg-overlay-ink);}
body.fg-platform :is(.dropdown-item-wrapper--default:hover,.dropdown-item-wrapper--default--selected) {background:var(--fg-overlay-active);color:var(--fg-overlay-ink);}
body.fg-platform .dropdown-item-wrapper--danger {color:#cf4d58;}
body.fg-platform .dropdown-item-wrapper--danger:hover {background:rgba(221,85,96,.1);}
body.fg-platform .select-option-item {margin:3px 5px;border-radius:9px;min-height:38px;}
body.fg-platform .select-option-item.selected {background:var(--fg-overlay-active)!important;color:var(--fg-overlay-ink);border-radius:9px!important;}
body.fg-platform .select-input {border-radius:12px;background:var(--fg-overlay-field);border-color:var(--fg-overlay-line);}
body.fg-platform .v-popper--theme-tooltip .v-popper__inner {border:1px solid rgba(219,236,248,.18);border-radius:10px;background:rgba(30,51,65,.95);color:#edf5fb;padding:8px 12px;font-size:12px;box-shadow:0 6px 20px rgba(16,32,44,.16);}
body.fg-platform .v-popper--theme-tooltip .v-popper__arrow-outer {border-color:rgba(30,51,65,.95);}
body.fg-platform .toast-container .toast-body {border:1px solid var(--fg-overlay-light);border-radius:17px;padding:13px 16px;background:var(--fg-overlay-bg);color:var(--fg-overlay-ink);box-shadow:0 12px 36px -14px rgba(24,51,69,.35);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);}
body.fg-platform .toast-container :is(.toast-description,.toast-control) {color:var(--fg-overlay-ink);}
body.fg-platform .toast-container .toast-description {word-break:normal;overflow-wrap:anywhere;line-height:1.6;}
body.fg-platform .toast-container .toast-control {padding:5px;border-radius:50%;}
body.fg-platform :is(.drawer__content,.drawer__footer,.user-profile) {background:var(--fg-overlay-bg);color:var(--fg-overlay-ink);border-color:var(--fg-overlay-line);}
body.fg-platform .drawer__content {backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);border-radius:24px 0 0 24px;}
body.fg-platform .drawer__footer {border-radius:0 0 0 24px;}
/* Confirmed in the rendered Ethereal homepage; positioning/open state is kept. */
#nav-menu-panel {border:1px solid var(--fg-overlay-light);border-radius:21px;background:var(--fg-overlay-bg);color:var(--fg-overlay-ink);box-shadow:0 18px 48px -18px rgba(22,48,66,.34);backdrop-filter:blur(26px) saturate(125%);-webkit-backdrop-filter:blur(26px) saturate(125%);padding:8px;}
#nav-menu-panel a {border-radius:12px;min-height:42px;padding:10px 13px;color:var(--fg-overlay-ink);}
#nav-menu-panel a:hover {background:var(--fg-overlay-active);}
#nav-menu-panel a span {color:inherit;}
/* Comment-widget inherits these through its nested open shadow roots. */
halo-comment,comment-widget {
  --halo-cw-base-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --halo-cw-base-rounded:12px;--halo-cw-avatar-rounded:50%;--halo-cw-primary-1-color:#355f78;
  --halo-cw-text-1-color:var(--fg-overlay-ink);--halo-cw-text-2-color:var(--fg-overlay-muted);--halo-cw-text-3-color:var(--fg-overlay-muted);
  --halo-cw-muted-1-color:var(--fg-overlay-line);--halo-cw-muted-3-color:var(--fg-overlay-field);
}
.fg-confirm-overlay {position:fixed;inset:0;z-index:100100;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;border:0;padding:20px;background:transparent;}
.fg-confirm-overlay[open] {display:grid;place-items:center;}
.fg-confirm-overlay::backdrop {background:var(--fg-overlay-shade);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.fg-confirm-panel {width:min(100%,400px);box-sizing:border-box;padding:28px;border:1px solid var(--fg-overlay-light);border-radius:26px;color:var(--fg-overlay-ink);background:var(--fg-overlay-bg);box-shadow:0 24px 70px -24px rgba(10,34,51,.42);}
.fg-confirm-panel h2 {margin:0 0 12px;font-size:21px;letter-spacing:-.03em;}
.fg-confirm-panel p {margin:0;color:var(--fg-overlay-muted);font-size:14px;line-height:1.8;}
.fg-confirm-actions {display:flex;justify-content:flex-end;gap:10px;margin-top:25px;}
.fg-confirm-actions button {font:inherit;font-size:14px;min-height:44px;padding:10px 19px;border:1px solid var(--fg-overlay-line);border-radius:13px;background:var(--fg-overlay-field);color:var(--fg-overlay-ink);cursor:pointer;}
.fg-confirm-actions .fg-confirm-continue {background:var(--fg-overlay-accent);color:#fff;}
.fg-confirm-actions button:focus-visible {outline:3px solid rgba(95,148,182,.55);outline-offset:3px;}
#fg-profiles-dialog.fg-dialog {background:var(--fg-overlay-bg);color:var(--fg-overlay-ink);border-color:var(--fg-overlay-light);box-shadow:0 24px 70px -24px rgba(10,34,51,.42);}
#fg-profiles-dialog.fg-dialog::backdrop {background:var(--fg-overlay-shade);}
@media(max-width:640px) {
  body.fg-platform .modal-wrapper:not(.modal-wrapper-fullscreen) {align-items:center;padding:12px;}
  body.fg-platform .modal-wrapper .modal-content {width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:21px;}
  body.fg-platform .modal-wrapper .modal-content :is(.modal-header,.modal-body,.modal-footer) {padding:14px 16px;}
  body.fg-platform .modal-wrapper .modal-content .modal-header-actions span {width:40px;height:40px;}
  body.fg-platform .modal-content .btn {min-height:42px;}
  body.fg-platform :is(.dropdown-item-wrapper,.select-option-item) {min-height:44px;}
  body.fg-platform .toast-container {padding:calc(12px + env(safe-area-inset-top)) 12px 12px;}
  body.fg-platform .toast-container .toast-wrapper {max-width:calc(100vw - 24px);}
}
@media(prefers-reduced-motion:reduce) {body.fg-platform :is(.modal-content,.dropdown-item-wrapper,.btn,.toast-body) {transition:none!important;}}
@supports not (backdrop-filter:blur(1px)) {body.fg-platform :is(.modal-content,.v-popper__inner,.toast-body,.drawer__content),.fg-confirm-panel {background:var(--fg-overlay-solid)!important;}}

.fg-confirm-overlay{background:var(--fg-overlay-shade);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.fg-confirm-overlay::backdrop{background:transparent;backdrop-filter:none}
