/* UI adaptations inspired by UX Planet's design vocabulary; colors stay with the selected theme. */
:root[data-interface-style="neoclassical"] { --style-radius: .3rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="baroque"] { --style-radius: 1.4rem .35rem; --style-shadow: inset 0 0 0 3px hsl(var(--card)), inset 0 0 0 4px hsl(var(--primary) / .3), 0 10px 24px hsl(var(--foreground) / .2); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="aurora"] { --style-radius: 1.3rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: radial-gradient(ellipse at 15% 10%, hsl(var(--primary) / .08), transparent 60%), radial-gradient(ellipse at 90% 80%, hsl(var(--secondary) / .16), transparent 60%); }
:root[data-interface-style="ethereal"] { --style-radius: 1.7rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: radial-gradient(ellipse at 50% 0%, hsl(var(--primary) / .08), transparent 75%); }
:root[data-interface-style="filigree"] { --style-radius: .9rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="acanthus"] { --style-radius: 1.6rem .3rem 1.6rem .3rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="anthropomorphic"] { --style-radius: 1.7rem 1.7rem .6rem .6rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="pixel-art"] { --style-radius: 0; --style-shadow: 4px 4px 0 hsl(var(--primary) / .35); --style-heading-font: ui-monospace, monospace; --style-heading-spacing: .01em; --style-canvas: repeating-linear-gradient(0deg, hsl(var(--foreground) / .035) 0 1px, transparent 1px 16px), repeating-linear-gradient(90deg, hsl(var(--foreground) / .035) 0 1px, transparent 1px 16px); }
:root[data-interface-style="conceptual-sketch"] { --style-radius: .45rem .8rem .35rem .7rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: repeating-linear-gradient(0deg, transparent 0 27px, hsl(var(--foreground) / .035) 27px 28px); }
:root[data-interface-style="luxury-typography"] { --style-radius: .15rem; --style-shadow: none; --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .07em; --style-canvas: none; }
:root[data-interface-style="japandi"] { --style-radius: .6rem; --style-shadow: none; --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="memphis"] { --style-radius: .2rem 1.4rem .2rem 1.4rem; --style-shadow: 5px 5px 0 hsl(var(--primary) / .35); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: radial-gradient(circle at 12px 12px, hsl(var(--primary) / .08) 0 4px, transparent 5px); }
:root[data-interface-style="memphis"] { --style-canvas-size: 64px 64px; }
:root[data-interface-style="bohemian"] { --style-radius: 1.4rem .6rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: repeating-linear-gradient(45deg, hsl(var(--foreground) / .035) 0 1px, transparent 1px 7px), repeating-linear-gradient(-45deg, hsl(var(--foreground) / .035) 0 1px, transparent 1px 7px); }
:root[data-interface-style="shabby-chic"] { --style-radius: .8rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="cottagecore"] { --style-radius: .65rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: repeating-linear-gradient(0deg, hsl(var(--primary) / .08) 0 16px, transparent 16px 32px), repeating-linear-gradient(90deg, hsl(var(--foreground) / .035) 0 16px, transparent 16px 32px); }
:root[data-interface-style="victorian"] { --style-radius: .3rem; --style-shadow: inset 0 0 0 3px hsl(var(--card)), inset 0 0 0 4px hsl(var(--primary) / .3), 0 10px 24px hsl(var(--foreground) / .2); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="art-deco"] { --style-radius: 0 .8rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: inherit; --style-heading-spacing: .07em; --style-canvas: none; }
:root[data-interface-style="art-nouveau"] { --style-radius: 1.8rem .4rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="mystical-western"] { --style-radius: .5rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: radial-gradient(circle at 6px 6px, hsl(var(--primary) / .08) 0 1px, transparent 2px); }
:root[data-interface-style="mystical-western"] { --style-canvas-size: 64px 64px; }
:root[data-interface-style="kitsch"] { --style-radius: 1.6rem .2rem .9rem .2rem; --style-shadow: inset 0 2px 0 hsl(var(--foreground) / .18), 0 5px 12px hsl(var(--foreground) / .14); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="y2k"] { --style-radius: 1.2rem; --style-shadow: inset 0 2px 0 hsl(var(--foreground) / .18), 0 5px 12px hsl(var(--foreground) / .14); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: linear-gradient(135deg, transparent 20%, hsl(var(--primary) / .08) 48%, transparent 75%); }
:root[data-interface-style="brutalism"] { --style-radius: 0; --style-shadow: none; --style-heading-font: ui-monospace, monospace; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="cybercore"] { --style-radius: 0 .3rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: ui-monospace, monospace; --style-heading-spacing: .01em; --style-canvas: repeating-linear-gradient(0deg, hsl(var(--foreground) / .035) 0 1px, transparent 1px 24px), repeating-linear-gradient(90deg, hsl(var(--primary) / .08) 0 1px, transparent 1px 48px); }
:root[data-interface-style="synthwave"] { --style-radius: .3rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: ui-monospace, monospace; --style-heading-spacing: .01em; --style-canvas: repeating-linear-gradient(0deg, hsl(var(--primary) / .08) 0 1px, transparent 1px 32px), repeating-linear-gradient(75deg, hsl(var(--foreground) / .035) 0 1px, transparent 1px 64px); }
:root[data-interface-style="vaporwave"] { --style-radius: .8rem 0; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: repeating-linear-gradient(0deg, transparent 0 80px, hsl(var(--primary) / .08) 80px 82px), linear-gradient(150deg, hsl(var(--primary) / .08), transparent 65%); }
:root[data-interface-style="pop-art"] { --style-radius: .7rem; --style-shadow: 4px 4px 0 hsl(var(--primary) / .35); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: radial-gradient(hsl(var(--primary) / .08) 1.5px, transparent 2px); }
:root[data-interface-style="pop-art"] { --style-canvas-size: 28px 28px; }
:root[data-interface-style="bento-box"] { --style-radius: 1.25rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="graffiti"] { --style-radius: .25rem .8rem .2rem .6rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: radial-gradient(circle at 20% 30%, hsl(var(--primary) / .08), transparent 45%), radial-gradient(hsl(var(--foreground) / .035) 1px, transparent 2px); }
:root[data-interface-style="tenebrism"] { --style-radius: .25rem; --style-shadow: inset 0 0 0 3px hsl(var(--card)), inset 0 0 0 4px hsl(var(--primary) / .3), 0 10px 24px hsl(var(--foreground) / .2); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: radial-gradient(ellipse at 50% 0%, hsl(var(--primary) / .16), transparent 65%); }
:root[data-interface-style="gothic"] { --style-radius: 1.7rem 1.7rem .1rem .1rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="pointillism"] { --style-radius: 1rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: radial-gradient(hsl(var(--primary) / .08) 1px, transparent 2px), radial-gradient(hsl(var(--foreground) / .035) 1px, transparent 2px); }
:root[data-interface-style="pointillism"] { --style-canvas-size: 17px 17px, 29px 29px; --style-canvas-position: 0 0, 7px 11px; }
:root[data-interface-style="mixed-media"] { --style-radius: .4rem 1rem .2rem .6rem; --style-shadow: 4px 4px 0 hsl(var(--primary) / .35); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: linear-gradient(25deg, transparent 75%, hsl(var(--primary) / .08) 75% 85%, transparent 85%); }
:root[data-interface-style="steampunk"] { --style-radius: .4rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="kawaii"] { --style-radius: 1.6rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: radial-gradient(circle at 20% 20%, hsl(var(--primary) / .08) 0 12px, transparent 13px); }
:root[data-interface-style="kawaii"] { --style-canvas-size: 64px 64px; }
:root[data-interface-style="coquette"] { --style-radius: 1.1rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="surrealism"] { --style-radius: 2rem .3rem 1rem .6rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: radial-gradient(ellipse at 90% 15%, transparent 40%, hsl(var(--primary) / .08) 41% 42%, transparent 43%); }
:root[data-interface-style="utilitarian"] { --style-radius: 0; --style-shadow: none; --style-heading-font: ui-monospace, monospace; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="mid-century"] { --style-radius: .9rem .15rem; --style-shadow: 4px 4px 0 hsl(var(--primary) / .35); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: radial-gradient(ellipse at 0% 90%, hsl(var(--primary) / .08) 0 18%, transparent 19%); }
:root[data-interface-style="scrapbook"] { --style-radius: .15rem; --style-shadow: 5px 5px 0 hsl(var(--primary) / .35); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: repeating-linear-gradient(0deg, transparent 0 25px, hsl(var(--foreground) / .035) 25px 26px); }
:root[data-interface-style="neo-frutiger-aero"] { --style-radius: 1.35rem; --style-shadow: inset 0 2px 0 hsl(var(--foreground) / .18), 0 5px 12px hsl(var(--foreground) / .14); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: radial-gradient(circle at 85% 10%, hsl(var(--primary) / .13), transparent 55%); }
:root[data-interface-style="dark-magic-academia"] { --style-radius: .4rem; --style-shadow: inset 0 0 0 3px hsl(var(--card)), inset 0 0 0 4px hsl(var(--primary) / .3), 0 10px 24px hsl(var(--foreground) / .2); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="light-academia"] { --style-radius: .5rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: repeating-linear-gradient(0deg, hsl(var(--foreground) / .035) 0 1px, transparent 1px 4px), repeating-linear-gradient(90deg, hsl(var(--foreground) / .035) 0 1px, transparent 1px 5px); }
:root[data-interface-style="wabi-sabi"] { --style-radius: .7rem 1.1rem .5rem .9rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: radial-gradient(hsl(var(--foreground) / .035) .7px, transparent 1px); }
:root[data-interface-style="wabi-sabi"] { --style-canvas-size: 7px 9px; }
:root[data-interface-style="wild-west"] { --style-radius: .25rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .07em; --style-canvas: none; }
:root[data-interface-style="nautical"] { --style-radius: .45rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: Georgia, "Times New Roman", serif; --style-heading-spacing: .01em; --style-canvas: repeating-linear-gradient(0deg, hsl(var(--primary) / .08) 0 3px, transparent 3px 24px); }
:root[data-interface-style="rebus"] { --style-radius: .7rem; --style-shadow: 0 5px 16px hsl(var(--foreground) / .12); --style-heading-font: inherit; --style-heading-spacing: .01em; --style-canvas: none; }
:root[data-interface-style="modular-typography"] { --style-radius: 0 .4rem; --style-shadow: none; --style-heading-font: ui-monospace, monospace; --style-heading-spacing: .07em; --style-canvas: repeating-linear-gradient(90deg, hsl(var(--foreground) / .035) 0 1px, transparent 1px 48px); }

:root[data-interface-style]:not([data-interface-style="default"]) :is(.neo-page-heading h1, .neo-gist-card h3, .neo-theme-panel__header h2) {
  font-family: var(--style-heading-font, inherit);
  letter-spacing: var(--style-heading-spacing, normal);
}
:root:is([data-interface-style="neoclassical"], [data-interface-style="victorian"], [data-interface-style="art-deco"], [data-interface-style="nautical"]) .neo-page-heading { border-bottom: 5px double hsl(var(--primary)); }
:root:is([data-interface-style="baroque"], [data-interface-style="filigree"], [data-interface-style="dark-magic-academia"]) .neo-page-heading { border-block: 3px double hsl(var(--primary)); padding-block: 1rem; }
:root:is([data-interface-style="bohemian"], [data-interface-style="shabby-chic"], [data-interface-style="coquette"]) .neo-page-heading { border-bottom: 3px dotted hsl(var(--primary)); }
:root:is([data-interface-style="conceptual-sketch"], [data-interface-style="wild-west"]) :is(.neo-theme-panel, .neo-code-window, .neo-page-heading) { border-style: dashed; }
:root:is([data-interface-style="pixel-art"], [data-interface-style="brutalism"], [data-interface-style="utilitarian"]) :is(.neo-kicker, .btn) { border-radius: 0 !important; font-family: ui-monospace, monospace; }
:root:is([data-interface-style="luxury-typography"], [data-interface-style="art-deco"], [data-interface-style="modular-typography"]) .neo-page-heading h1 { text-transform: uppercase; }
:root:is([data-interface-style="acanthus"], [data-interface-style="art-nouveau"]) .neo-page-heading { border-left: 5px solid hsl(var(--primary)); border-bottom: 2px solid hsl(var(--primary)); border-bottom-left-radius: 2rem; padding-left: 1rem; }
:root:is([data-interface-style="anthropomorphic"], [data-interface-style="kawaii"]) :is(.btn, .neo-kicker, .neo-theme-trigger) { border-radius: 2rem !important; }
:root[data-interface-style="anthropomorphic"] .neo-kicker { border-bottom: 4px solid hsl(var(--primary)); border-radius: 1rem 1rem 50% 50% !important; }
:root:is([data-interface-style="y2k"], [data-interface-style="neo-frutiger-aero"], [data-interface-style="kitsch"]) :is(.neo-topbar, .neo-theme-panel__header, .btn) { background-image: linear-gradient(180deg, hsl(var(--foreground) / .1), transparent 55%); }
:root:is([data-interface-style="cybercore"], [data-interface-style="synthwave"]) .neo-page-heading { border-bottom: 2px solid hsl(var(--primary)); box-shadow: 0 4px 10px hsl(var(--primary) / .2); }
:root[data-interface-style="vaporwave"] .neo-page-heading { border-block: 2px solid hsl(var(--primary) / .6); }
:root:is([data-interface-style="memphis"], [data-interface-style="pop-art"], [data-interface-style="graffiti"]) .neo-page-heading h1 { text-decoration: underline; text-decoration-color: hsl(var(--primary)); text-decoration-thickness: .16em; text-underline-offset: .18em; }
:root[data-interface-style="bento-box"] .neo-code-preview { border-radius: .75rem; }
:root[data-interface-style="gothic"] .neo-page-heading { border-top: 3px double hsl(var(--primary)); border-radius: 2rem 2rem 0 0; padding-top: 1rem; }
:root[data-interface-style="steampunk"] .neo-page-heading { border-block: 4px dotted hsl(var(--primary)); padding-block: .8rem; }
:root[data-interface-style="scrapbook"] .neo-kicker { border-style: dashed; box-shadow: 3px 3px 0 hsl(var(--primary) / .3); }
:root[data-interface-style="mixed-media"] .neo-page-heading { border-left: 6px solid hsl(var(--primary)); border-bottom: 2px dashed hsl(var(--primary)); padding-left: 1rem; }
:root:is([data-interface-style="japandi"], [data-interface-style="wabi-sabi"], [data-interface-style="light-academia"]) .neo-page-heading { border-bottom: 1px solid hsl(var(--foreground) / .3); }
:root[data-interface-style="rebus"] .neo-kicker::before { content: "○ + □"; margin-right: .5rem; font-family: ui-monospace, monospace; }
:root[data-interface-style="modular-typography"] .neo-page-heading { border-bottom: 4px solid hsl(var(--primary)); }

/* Cruip: Artifact-inspired dashboard surfaces, independent of color theme. */
:root[data-interface-style="cruip"][data-theme] {
  --style-radius: 1rem;
  --style-border: 1px;
  --style-shadow: 0 1px 3px hsl(var(--foreground) / .04);
  --style-heading-font: inherit;
  --style-heading-spacing: -.015em;
}
:root[data-interface-style="cruip"][data-theme] :is(.neo-gist-card, .neo-code-window, .neo-theme-panel, .neo-profile-card, .bg-card.border, [role="dialog"]) {
  border-width: 1px !important;
  border-color: hsl(var(--foreground) / .18) !important;
}
:root[data-interface-style="cruip"][data-theme] .neo-app-shell :is(.neo-sidebar, .neo-topbar) {
  border-radius: 0 !important;
  border-color: hsl(var(--foreground) / .15);
  background: hsl(var(--card));
}
:root[data-interface-style="cruip"][data-theme] .neo-gist-card__active-indicator { inset: -1px; border-width: 2px; }
:root[data-interface-style="cruip"][data-theme] :is(button, .btn, .nav-item, .neo-theme-trigger, .neo-toolbar-menu__trigger, .neo-topbar-bookmarks, .neo-topbar-search) {
  border-radius: .6rem !important;
  box-shadow: none !important;
  text-transform: none;
  font-weight: 600 !important;
}
:root[data-interface-style="cruip"][data-theme] :is(input, textarea, select, .neo-code-preview) {
  border-width: 1px !important;
  border-color: hsl(var(--foreground) / .22) !important;
  border-radius: .6rem !important;
  box-shadow: none;
}
:root[data-interface-style="cruip"][data-theme] :is(.neo-page-heading h1, .neo-gist-card h3, .neo-theme-panel__header h2) { font-weight: 650 !important; }
:root[data-interface-style="cruip"][data-theme] :is(.nav-item.active, .nav-item:hover) {
  background: hsl(var(--primary) / .12) !important;
  color: hsl(var(--foreground)) !important;
  border-color: transparent !important;
  transform: none;
}
:root[data-interface-style="cruip"][data-theme] :is(.nav-item.active, .nav-item:hover) svg { color: hsl(var(--primary)) !important; }
:root[data-interface-style="cruip"][data-theme] :is(.neo-kicker, .neo-profile-card) {
  background: hsl(var(--muted)) !important;
  color: hsl(var(--foreground)) !important;
  border-color: hsl(var(--foreground) / .15) !important;
  box-shadow: none;
}
:root[data-interface-style="cruip"][data-theme] .neo-profile-card :is(span, svg) { color: hsl(var(--foreground)) !important; }
:root[data-interface-style="cruip"][data-theme] :is(.btn, button, .neo-theme-trigger):hover { transform: none; }
