/* Bloom: warm charcoal dark theme. Load after all page-specific styles. */
html[data-theme="dark"]{
 color-scheme:dark;
 --rd-bg:#191715;--rd-text:#f2ece4;--rd-ink:#f2ece4;
 --rd-accent:#efab84;--rd-border:#594d46;
 --bg:#191715;--bg2:#211f1c;--bg3:#282420;--panel:#282420;
 --text:#f2ece4;--muted:#c1b3a6;--quiet:#a99a8e;
 --accent:#efab84;--bright:#efab84;--dim:#cf8a67;
 --line:#594d46;--line-dim:#37332e;--glow:0 0 26px #dd906040;
 --bt-base:#191715;--bt-raised:#211e1b;--bt-panel:#282420;
 --bt-input:#24221f;--bt-text:#f2ece4;--bt-muted:#c1b3a6;
 --bt-border:#594e45;--bt-accent:#efab84;
}
html[data-theme="dark"],html[data-theme="dark"] body.rd-page{
 background:var(--bt-base);color:var(--bt-text)
}
html[data-theme="dark"] .rd-header{
 background:#211e1b;color:var(--bt-text);border-bottom:1px solid var(--bt-border)
}
html[data-theme="dark"] .rd-header-cta{
 background:#332b26;color:var(--bt-text);border:1px solid var(--bt-border)
}
html[data-theme="dark"] .rd-header-cta:hover{background:#403026}
html[data-theme="dark"] .rd-page .rd-tools-nav,
html[data-theme="dark"] .rd-page .rd-tools-main{color:var(--bt-text)}
html[data-theme="dark"] .rd-page .rd-tools-toggle{color:var(--bt-accent)}
html[data-theme="dark"] .rd-page .rd-tools-panel{
 color:var(--bt-text);background:#29241f;border-color:var(--bt-border);box-shadow:0 20px 38px #0007
}
html[data-theme="dark"] .rd-page .rd-tools-panel a:hover,
html[data-theme="dark"] .rd-page .rd-tools-panel a[aria-current=page]{
 color:#ffbd97;background:#403026
}
html[data-theme="dark"] .rd-page .rd-nav a,html[data-theme="dark"] .rd-brand{color:var(--bt-text)}
html[data-theme="dark"] .rd-page .rd-nav a:is(:hover,[aria-current=page]){color:var(--bt-accent)}
/* Bloom-themed appearance menu; no native platform dropdown. */
.rd-page .thowi-theme-control{position:relative;display:inline-flex;flex:none;z-index:90}
.rd-page .thowi-theme-trigger{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;
  padding:8px 11px;border:1px solid var(--rd-border);border-radius:12px;cursor:pointer;
  background:color-mix(in srgb,var(--rd-bg) 89%,var(--rd-accent));color:var(--rd-text);
  font:700 11px/1.2 'DM Sans',Arial,sans-serif;white-space:nowrap
}
.rd-page .thowi-theme-trigger:hover,.rd-page .thowi-theme-trigger[aria-expanded="true"]{
  border-color:var(--rd-accent);background:color-mix(in srgb,var(--rd-bg) 78%,var(--rd-accent))
}
.rd-page .thowi-theme-glyph{color:var(--rd-accent);font-size:21px;line-height:1;width:20px;text-align:center}
.rd-page .thowi-theme-current{font-weight:700;opacity:.86}
.rd-page .thowi-theme-chevron{width:13px;height:13px;transition:transform .2s}
.rd-page .thowi-theme-trigger[aria-expanded="true"] .thowi-theme-chevron{transform:rotate(180deg)}
.rd-page .thowi-theme-menu{
  position:absolute;right:0;top:calc(100% + 9px);width:min(277px,calc(100vw - 28px));
  padding:10px;border:1px solid #d4c9b9;border-radius:16px;
  background:#fffaf0;color:#332b26;box-shadow:0 18px 48px #1e241b39;
  z-index:100;white-space:normal
}
.rd-page .thowi-theme-menu[hidden]{display:none!important}
.rd-page .thowi-theme-menu-heading{
  display:block;padding:6px 11px 11px;color:#997766;
  font:800 10px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:.12em
}
.rd-page .thowi-theme-option{
  width:100%;display:flex;align-items:center;gap:11px;min-height:60px;padding:10px;
  background:transparent;border:1px solid transparent;border-radius:11px;
  color:inherit;text-align:left;cursor:pointer
}
.rd-page .thowi-theme-option:hover{background:#f0e6d7}
.rd-page .thowi-theme-option[aria-pressed="true"]{background:#eadacd;border-color:#d8b99e}
.rd-page .thowi-theme-option-icon{
  display:grid;place-items:center;width:37px;height:37px;flex:none;border-radius:10px;
  background:#e6dacf;color:#8a543d;font-size:23px
}
.rd-page .thowi-theme-option-copy{display:grid;gap:3px;flex:1;min-width:0}
.rd-page .thowi-theme-option-copy strong{font:700 13px/1.2 'DM Sans',Arial,sans-serif}
.rd-page .thowi-theme-option-copy small{font:500 11px/1.4 'DM Sans',Arial,sans-serif;color:#796a5f}
.rd-page .thowi-theme-option-check{opacity:0;color:#945a40;font:800 18px/1 'DM Sans',Arial,sans-serif}
.rd-page .thowi-theme-option[aria-pressed="true"] .thowi-theme-option-check{opacity:1}
.rd-page .thowi-theme-trigger:focus-visible,.rd-page .thowi-theme-option:focus-visible{
  outline:3px solid #c78966;outline-offset:2px
}
html[data-theme="dark"] .rd-page .thowi-theme-trigger{
  background:#302923;border-color:#665448;color:var(--bt-text)
}
html[data-theme="dark"] .rd-page .thowi-theme-menu{
  background:#2d2723;color:var(--bt-text);border-color:#675044;box-shadow:0 20px 42px #0009
}
html[data-theme="dark"] .rd-page .thowi-theme-menu-heading{color:#c6a18a}
html[data-theme="dark"] .rd-page .thowi-theme-option:hover{background:#44372f}
html[data-theme="dark"] .rd-page .thowi-theme-option[aria-pressed="true"]{
  background:#533b31;border-color:#90614b
}
html[data-theme="dark"] .rd-page .thowi-theme-option-icon{background:#45382e;color:#f3b18b}
html[data-theme="dark"] .rd-page .thowi-theme-option-copy small{color:#d1b9a9}
html[data-theme="dark"] .rd-page .thowi-theme-option-check{color:#f2b38d}
@media(max-width:1130px){
  .rd-page .thowi-theme-label{display:none}
  .rd-page .thowi-theme-trigger{gap:5px;padding-inline:9px}
}
@media(max-width:780px){
  .rd-page .thowi-theme-control{order:7;margin-left:auto}
  .rd-page .rd-menu{order:8}
}
@media(max-width:390px){
  .rd-page .thowi-theme-trigger{min-height:36px;padding:7px 6px;gap:4px}
  .rd-page .thowi-theme-current{font-size:10px}
  .rd-page .thowi-theme-glyph{font-size:18px;width:16px}
  .rd-page .rd-brand{font-size:19px;gap:7px}
}
/* Main presentation, responsive projects and home content. */
html[data-theme="dark"] :is(
 .rd-hero,.rd-section-soft,.rd-section,.rd-works,.rd-workspace,.rd-contact,
 .rd-section-projects,.rd-services,.bloom-growth,.bloom-code,
 .bloom-portfolio,.bloom-project-garden){
 background-color:var(--bt-base);color:var(--bt-text)
}
html[data-theme="dark"] .rd-hero-visual{background:#292720}
html[data-theme="dark"] .rd-glass{background:#31302bdc}
html[data-theme="dark"] .rd-softcard{
 background:#2a2923;color:var(--bt-text);border-color:var(--bt-border)
}
html[data-theme="dark"] .page-home .rd-softcard:nth-child(n),
html[data-theme="dark"] .page-home .rd-softcard .soft-icon{
 background:#292722;color:var(--bt-text)
}
html[data-theme="dark"] .bloom-growth{background:#211f1b}
html[data-theme="dark"] .bloom-growth :is(.bloom-section-top,.bloom-eyebrow,.bloom-growth-intro,.bloom-growth-caption),
html[data-theme="dark"] :is(.bloom-code-more,.bloom-project-content>span,.bloom-project-footnote){
 color:var(--bt-muted)
}
html[data-theme="dark"] .bloom-growth :is(h1,h2,h3),
html[data-theme="dark"] .bloom-code :is(h2,h3),
html[data-theme="dark"] .bloom-project :is(h2,h3){color:var(--bt-text)}
html[data-theme="dark"] :is(.bloom-growth-visual,.bloom-stage-panel,.bloom-garden),
html[data-theme="dark"] .bloom-garden:after{
 background:#302d26;color:var(--bt-text)
}
html[data-theme="dark"] .bloom-stage{color:#d2c5b6}
html[data-theme="dark"] .bloom-stage .stage-name,
html[data-theme="dark"] .bloom-stage-panel h3{color:var(--bt-text)}
html[data-theme="dark"] .bloom-stage:is(:hover,[aria-selected=true]){background:#494033}
html[data-theme="dark"] .bloom-stage-panel p,
html[data-theme="dark"] .bloom-visual-chrome{color:var(--bt-muted)}
html[data-theme="dark"] .bloom-code{background:#28231f}
html[data-theme="dark"] .bloom-project:nth-child(n){
 background:#302923;color:var(--bt-text)
}
html[data-theme="dark"] :is(.rd-section-soft,.rd-footer-friendly),
html[data-theme="dark"] .page-home .rd-footer-friendly{
 background:#211e1b;color:var(--bt-text)
}
html[data-theme="dark"] .rd-footer,
html[data-theme="dark"] .rd-footer-friendly{border-top:1px solid var(--bt-border)}
html[data-theme="dark"] .rd-footer-friendly a{color:var(--bt-accent)}
/* Retain unique SVG art, but restyle each project card for text contrast. */
html[data-theme="dark"] .page-proyectos .repo-gallery .repo-tile{
 background:#27241f;border-color:#5d5449;color:var(--bt-text);--repo-wash:#3a352e
}
html[data-theme="dark"] .page-proyectos .repo-gallery .repo-tile .repository-core h3,
html[data-theme="dark"] .page-proyectos .repo-gallery .repo-tile .repository-core p,
html[data-theme="dark"] .page-proyectos .repo-gallery .repo-tile .repository-open{
 color:var(--bt-text)
}
html[data-theme="dark"] .page-proyectos .repo-gallery .repo-tile .repository-core p,
html[data-theme="dark"] .page-proyectos .repo-tile-art-caption{color:var(--bt-muted)}
html[data-theme="dark"] .page-proyectos .repo-tile-featured{
 background:#4a342a;color:#f5b78e
}
html[data-theme="dark"] .page-proyectos .repo-gallery .repo-tile .repository-open span{
 background:#40352d;color:#ffb48d
}
/* Animated tools, reactive finder and decorative drawings. */
html[data-theme="dark"] .page-herramientas{
 --thub-ink:var(--bt-text);--thub-muted:var(--bt-muted);--thub-line:var(--bt-border)
}
html[data-theme="dark"] .page-herramientas .thub-hero{
 background:#211e1b;color:var(--bt-text)
}
html[data-theme="dark"] .page-herramientas .thub-section{background:var(--bt-base)}
html[data-theme="dark"] .page-herramientas .thub-card{
 background:var(--bt-panel);color:var(--bt-text);border-color:var(--bt-border)
}
html[data-theme="dark"] .page-herramientas .thub-card-top{background:#302922}
html[data-theme="dark"] .page-herramientas :is(
 .thub-card-bottom p,.thub-hero p,.thub-footnote,.thub-count,
 .thub-eyebrow,.thub-card-top small){color:var(--bt-muted)}
html[data-theme="dark"] .page-herramientas :is(
 .thub-card-bottom>span,.thub-card-bottom b,.thub-hero h1 em){color:var(--bt-accent)}
html[data-theme="dark"] .page-herramientas .thub-art{
 background:radial-gradient(ellipse,#3d3930,#292721 85%)
}
html[data-theme="dark"] .page-herramientas :is(
 .thub-search-label,.thub-empty h2){color:var(--bt-text)}
html[data-theme="dark"] .page-herramientas .thub-search-input,
html[data-theme="dark"] .page-herramientas .thub-search-input:focus{
 background:var(--bt-input);color:var(--bt-text);
 border-color:var(--bt-border);box-shadow:0 8px 28px #0003
}
html[data-theme="dark"] .page-herramientas :is(
 .thub-search-input::placeholder,.thub-results,.thub-empty p){color:var(--bt-muted)}
html[data-theme="dark"] .page-herramientas :is(.thub-shortcut,.thub-search-clear){
 color:var(--bt-text);background:#352e28;border-color:var(--bt-border)
}
html[data-theme="dark"] .page-herramientas .thub-chips button{
 background:var(--bt-panel);border-color:var(--bt-border);color:var(--bt-text)
}
html[data-theme="dark"] .page-herramientas .thub-chips button[aria-pressed=true]{
 background:#9e5c42;color:#fff9f2;border-color:#c17e5b
}
html[data-theme="dark"] .page-herramientas .thub-results strong{color:var(--bt-accent)}
html[data-theme="dark"] .page-herramientas .thub-empty button{
 color:var(--bt-text);background:#3c3129;border-color:var(--bt-border)
}
/* QR tool: preserve user-selected QR canvas foreground/background for scanability. */
html[data-theme="dark"] .page-qr .qr-hero{background:#211e1b}
html[data-theme="dark"] .page-qr .qr-workspace{background:var(--bt-base)}
html[data-theme="dark"] .page-qr :is(.qr-editor,.qr-result){
 background:var(--bt-panel);color:var(--bt-text);border-color:var(--bt-border)
}
html[data-theme="dark"] .page-qr :is(.qr-label,.qr-fieldset legend,.qr-hero h1){
 color:var(--bt-text)
}
html[data-theme="dark"] .page-qr :is(
 .qr-kicker,.qr-overline,.qr-workspace-tag,.qr-hero p,.qr-fields-group .qr-hint,
 .qr-privacy,.qr-preview-heading,.qr-preview-meta,.qr-preview-placeholder,
 .qr-hero-stamp){color:var(--bt-muted)}
html[data-theme="dark"] .page-qr :is(
 .qr-type-switch label>span,.qr-presets button,.qr-color-control,
 .qr-password-row button,.qr-downloads button){
 background:#342e27;border-color:var(--bt-border);color:var(--bt-text)
}
html[data-theme="dark"] .page-qr :is(
 .qr-type-switch input:checked+span,.qr-presets button.is-active){
 background:#654935;color:#fff4e5
}
html[data-theme="dark"] .page-qr .qr-preview-surface{background:#35312b}
html[data-theme="dark"] .page-qr .qr-preview-heading #qr-state{
 background:#40372f;color:#f3d5b6
}
html[data-theme="dark"] .page-qr .qr-status{color:#c3dba9}
/* Document tools, compressors and media editors. */
html[data-theme="dark"] .dt-main{
 --dt-ink:var(--bt-text);--dt-muted:var(--bt-muted);--dt-edge:var(--bt-border)
}
html[data-theme="dark"] :is(.dt-hero,.mt-hero,.page-comprimir-pdf .pc-hero){
 background:#211e1b;color:var(--bt-text);border-color:var(--bt-border)
}
html[data-theme="dark"] :is(.dt-work,.mt-workspace,.page-comprimir-pdf .pc-workspace){
 background:var(--bt-base);color:var(--bt-text)
}
html[data-theme="dark"] :is(
 .dt-panel,.mt-panel,.page-comprimir-pdf .pc-form,.page-comprimir-pdf .pc-result){
 background:var(--bt-panel);color:var(--bt-text);border-color:var(--bt-border);
 box-shadow:0 13px 28px #0003
}
html[data-theme="dark"] :is(
 .dt-drop,.mt-drop,.page-comprimir-pdf .pc-picker,.dt-check,.dt-options label,
 .mt-options label>span,.page-comprimir-pdf .pc-levels label>span){
 background:#302c25;color:var(--bt-text);border-color:var(--bt-border)
}
html[data-theme="dark"] :is(
 .dt-drop:hover,.mt-drop:hover,.page-comprimir-pdf .pc-picker.is-dragging,
 .mt-drop:focus-within,.page-comprimir-pdf .pc-levels input:checked+span,
 .mt-options input:checked+span){background:#48392c}
html[data-theme="dark"] :is(.dt-illustration,.mt-art,.page-comprimir-pdf .pc-document){
 background:radial-gradient(circle,#39342c,#292720);
 color:#d7c9b7;border-color:var(--bt-border)
}
html[data-theme="dark"] :is(.dt-warning,.mt-warning,.page-comprimir-pdf .pc-warning){
 background:#402d25;color:#f1ccad;border-color:#b27a58
}
html[data-theme="dark"] :is(
 .dt-hero>p,.mt-hero p,.page-comprimir-pdf .pc-hero p,
 .dt-note,.mt-note,.page-comprimir-pdf .pc-smallprint,
 .dt-message,.mt-message,.page-comprimir-pdf .pc-message,
 .dt-filename,.mt-filename,.page-comprimir-pdf .pc-file-name,
 .dt-field small,.mt-settings label small,.mt-stats>div,.mt-drop small,
 .dt-drop>small,.mt-result-top,.page-comprimir-pdf .pc-result-header){
 color:var(--bt-muted)
}
html[data-theme="dark"] :is(
 .dt-field,.dt-step h2,.dt-drop>strong,.dt-result-top,
 .page-comprimir-pdf .pc-heading h2,.page-comprimir-pdf .pc-settings legend,
 .page-comprimir-pdf .pc-drop-label strong,.mt-drop strong,.mt-radio-field legend){
 color:var(--bt-text)
}
html[data-theme="dark"] :is(
 .dt-result-top>span,.mt-result-top>span,
 .mt-stats>div,.mt-file-result,.page-comprimir-pdf .pc-stats>div,
 .page-comprimir-pdf #pc-state,.dt-text-preview,.dt-order,
 .dt-clear,.dt-order button){
 background:#373128;color:var(--bt-text);border-color:var(--bt-border)
}
html[data-theme="dark"] :is(
 .dt-actions button:first-child,.dt-download,
 .mt-actions button:first-child,.mt-download,
 .page-comprimir-pdf #pc-start,.page-comprimir-pdf .pc-download){
 background:#925b42;border-color:#b57b57;color:#fff9f3
}
html[data-theme="dark"] :is(
 .dt-actions button:last-child:not(:first-child),
 .mt-actions button:last-child:not(:first-child),.page-comprimir-pdf #pc-cancel){
 background:#422c25;border-color:#7d5645;color:#f3c0a2
}
html[data-theme="dark"] .dt-signature{
 background:#fdf9f1;border-color:#95806c
}
html[data-theme="dark"] .dt-order-list button{color:var(--bt-text)}
html[data-theme="dark"] .page-comprimir-pdf .pc-stats strong{color:#f0dfc8}
/* Contact and project request brief. */
html[data-theme="dark"] :is(.thowi-brief,.rd-page .contact-guided-link){
 background:#211e1b;color:var(--bt-text)
}
html[data-theme="dark"] :is(.thowi-brief-form,.thowi-brief-preview){
 background:var(--bt-panel);color:var(--bt-text);border-color:var(--bt-border)
}
html[data-theme="dark"] :is(
 .thowi-brief-option>span,.thowi-brief-chips button,.thowi-brief-mail-meta,
 .thowi-brief-message,.thowi-brief-actions button){
 background:#373028;color:var(--bt-text);border-color:var(--bt-border)
}
html[data-theme="dark"] .thowi-brief-option input:checked+span{
 background:#634834;color:#fff4e6
}
html[data-theme="dark"] :is(
 .thowi-brief-eyebrow,.thowi-brief-label,
 .thowi-brief-heading h2 em,.thowi-brief-feedback){color:#efab84}
/* Native text controls only, excluding swatches, choices and file inputs. */
html[data-theme="dark"] body.rd-page :is(
 input:not([type="color"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
 select:not(#thowi-theme-select),textarea){
 background:var(--bt-input);color:var(--bt-text);border-color:#756154
}
html[data-theme="dark"] body.rd-page input::placeholder,
html[data-theme="dark"] body.rd-page textarea::placeholder{color:#b4a295}
html[data-theme="dark"] body.rd-page input[type="file"]{color:var(--bt-text)}
html[data-theme="dark"] body.rd-page input[type="file"]::file-selector-button{
 color:var(--bt-text);border-color:var(--bt-border);background:#42352b
}
html[data-theme="dark"] body.rd-page :is(input,select,textarea):focus-visible{
 outline:2px solid #e7a47e;outline-offset:2px
}
/* Animated service illustrations are still readable on dark surfaces. */
html[data-theme="dark"] :is(
 .svc-dashboard,.svc-api-node,.svc-linux-unit,.svc-dash-kpi,
 .svc-dash-chart,.svc-dash-user,.svc-dash-toast){
 background:#302a25;color:var(--bt-text)
}
html[data-theme="dark"] :is(.svc-dash-top,.svc-dash-nav,.svc-linux-stack){
 background:#3a332a
}
html[data-theme="dark"] :is(.svc-dashboard small,.svc-dash-kpi small,
 .svc-dash-user small,.svc-dash-chart>span){color:var(--bt-muted)}
html[data-theme="dark"] .assembly-controls button:not(:first-child){
 background:#322b24;color:var(--bt-text);border-color:var(--bt-border)
}
html[data-theme="dark"] .assembly-help{color:var(--bt-muted)}
@media(prefers-reduced-motion:reduce){
 .rd-page .thowi-theme-control *{transition:none!important}
}
/* Explicit light selection must also use light native dropdowns on dark OSes. */
html[data-theme="light"]{color-scheme:light}
@media(min-width:781px) and (max-width:1030px){
 .rd-page .rd-header{gap:10px}
 .rd-page .rd-nav{gap:10px}
 .rd-page .rd-header-cta{padding:10px 11px;font-size:10px}
}
@media(min-width:531px) and (max-width:780px){
 .rd-page .rd-header-cta{order:9;margin-left:0}
}


/* Original alpha-transparent isotipo remains transparent in dark mode. */
html[data-theme="dark"] .rd-glass .rd-art-logo{
 background:transparent!important;border:0!important;box-shadow:none!important
}
/* Discreet tools entry in Home; no extra large advertising block. */
.rd-page .rd-quick-tools{
 display:flex;align-items:center;justify-content:space-between;gap:16px;
 padding:14px clamp(18px,5vw,90px);background:#f0eee5;
 border-block:1px solid #d8dacb
}
.rd-page .rd-quick-tools-copy{display:flex;align-items:center;flex-wrap:wrap;gap:9px 18px}
.rd-page .rd-quick-tools-kicker{
 color:#9a664d;white-space:nowrap;letter-spacing:.08em;
 font:800 10px/1.3 'DM Sans',Arial,sans-serif
}
.rd-page .rd-quick-tools p{
 margin:0;color:#637361;font:500 12px/1.45 'DM Sans',Arial,sans-serif
}
.rd-page .rd-quick-tools-link{
 display:inline-flex;align-items:center;gap:13px;flex:none;
 padding:9px 14px;border:1px solid #b9c8b4;border-radius:999px;
 color:#416e51;text-decoration:none;white-space:nowrap;
 font:800 11px/1.2 'DM Sans',Arial,sans-serif
}
.rd-page .rd-quick-tools-link:hover{background:#dfebda;border-color:#71977a}
.rd-page .rd-quick-tools-link:focus-visible{outline:3px solid #c78966;outline-offset:2px}
html[data-theme="dark"] .rd-page .rd-quick-tools{
 background:#25211d;border-color:#51473e
}
html[data-theme="dark"] .rd-page .rd-quick-tools p{color:#c9b8a9}
html[data-theme="dark"] .rd-page .rd-quick-tools-kicker{color:#eeab86}
html[data-theme="dark"] .rd-page .rd-quick-tools-link{
 color:#f3ccb4;border-color:#715446;background:#362b25
}
html[data-theme="dark"] .rd-page .rd-quick-tools-link:hover{background:#49382e}
@media(max-width:600px){
 .rd-page .rd-quick-tools{gap:12px;padding:13px 18px}
 .rd-page .rd-quick-tools-copy{gap:5px}
 .rd-page .rd-quick-tools p{font-size:11px}
 .rd-page .rd-quick-tools-link{gap:6px;padding:9px 10px;font-size:10px}
}
@media(max-width:360px){
 .rd-page .rd-quick-tools{align-items:flex-start;flex-direction:column}
}
