.m3d-app{
  --m3d-accent:#6840e8;
  --m3d-accent-strong:#552bd4;
  --m3d-accent-soft:#f1edff;
  --m3d-ink:#11172a;
  --m3d-ink-2:#29334a;
  --m3d-muted:#6d788c;
  --m3d-line:#d8dfeb;
  --m3d-panel:#f6f8fb;
  --m3d-viewer:#05070b;
  --m3d-success:#087a59;
  --m3d-warning:#9a6300;
  --m3d-danger:#b43a31;
  width:100%;
  color:var(--m3d-ink);
  font-family:inherit;
  color-scheme:light;
}
.m3d-app,.m3d-app *{box-sizing:border-box}
.m3d-app button,.m3d-app input,.m3d-app select{font:inherit}
.m3d-icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.m3d-icon{width:1.05rem;height:1.05rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.m3d-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}

.m3d-studio{position:relative;isolation:isolate;margin:.3rem 0 2.8rem;overflow:visible;border:1px solid #c8d1df;border-radius:18px;background:#fff;box-shadow:0 20px 60px rgba(20,29,52,.1)}
.m3d-studio button:focus-visible,.m3d-studio input:focus-visible,.m3d-studio select:focus-visible,.m3d-viewer:focus-visible{outline:3px solid rgba(104,64,232,.22);outline-offset:2px}

.m3d-commandbar{position:relative;z-index:40;display:grid;grid-template-columns:minmax(360px,1fr) auto auto;align-items:center;gap:.6rem;min-height:64px;padding:.58rem;border-bottom:1px solid var(--m3d-line);border-radius:18px 18px 0 0;background:#f8fafc}
.m3d-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;height:46px;padding:0 .28rem 0 .82rem;border:1px solid #c8d1df;border-radius:12px;background:#fff;box-shadow:0 1px 0 rgba(15,23,42,.03)}
.m3d-search:focus-within{border-color:#8d73ef;box-shadow:0 0 0 4px rgba(104,64,232,.09)}
.m3d-search>.m3d-icon{color:#718097}
.m3d-search input{width:100%;min-width:0;height:42px;padding:0;border:0!important;outline:0!important;background:transparent!important;color:#111827;font-size:.78rem;box-shadow:none!important}
.m3d-search input::placeholder{color:#929cad}
.m3d-search button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:38px;padding:0 .85rem;border:0;border-radius:9px;background:var(--m3d-accent);color:#fff;font-size:.73rem;font-weight:800;cursor:pointer;transition:.15s ease}
.m3d-search button:hover{background:var(--m3d-accent-strong);box-shadow:0 7px 18px rgba(84,43,212,.22)}
.m3d-search button:disabled{opacity:.55;cursor:wait;box-shadow:none}
.m3d-search button.is-busy .m3d-icon{animation:m3d-spin .8s linear infinite}

.m3d-example-field select{height:42px;max-width:210px;padding:0 2rem 0 .72rem;border:1px solid #cbd4e1;border-radius:10px;background:#fff;color:var(--m3d-ink-2);font-size:.73rem;font-weight:730;cursor:pointer}
.m3d-example-field select:hover{border-color:#9e8bed}
.m3d-command-actions{display:flex;align-items:center;gap:.25rem}
.m3d-icon-button{display:grid;width:40px;height:40px;place-items:center;border:1px solid transparent;border-radius:10px;background:transparent;color:#2d384f;cursor:pointer}
.m3d-icon-button:hover,.m3d-icon-button[aria-pressed="true"]{border-color:#cbd4e2;background:#fff;color:#11182a;box-shadow:0 4px 14px rgba(30,42,69,.08)}

.m3d-status-strip{position:absolute;top:70px;left:50%;z-index:70;display:flex;width:min(760px,calc(100% - 2rem));transform:translateX(-50%);align-items:center;gap:.55rem;padding:.58rem .7rem;border:1px solid #d7dfeb;border-radius:11px;background:#fff;color:#536078;box-shadow:0 14px 34px rgba(21,31,54,.14)}
.m3d-status-strip[hidden]{display:none}
.m3d-status-strip p{margin:0;flex:1;font-size:.69rem}
.m3d-status-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#8a95a7}
.m3d-status-strip[data-state="loading"]{border-color:#d8cdfd;background:#faf8ff;color:#5539b7}.m3d-status-strip[data-state="loading"] .m3d-status-dot{background:var(--m3d-accent);animation:m3d-pulse 1s ease-in-out infinite}
.m3d-status-strip[data-state="success"]{border-color:#bfe2d4;background:#f4fbf7;color:#28614e}.m3d-status-strip[data-state="success"] .m3d-status-dot{background:#15a276}
.m3d-status-strip[data-state="warning"]{border-color:#eed3a3;background:#fff9ed;color:#805500}.m3d-status-strip[data-state="warning"] .m3d-status-dot{background:#d78b11}
.m3d-status-strip[data-state="error"]{border-color:#efc0bb;background:#fff5f3;color:#9b3028}.m3d-status-strip[data-state="error"] .m3d-status-dot{background:#d9473e}
.m3d-status-strip button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:7px;background:transparent;color:inherit;cursor:pointer}
.m3d-status-strip button:hover{background:rgba(0,0,0,.05)}

.m3d-workspace{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:clamp(680px,76vh,900px)}
.m3d-viewer-panel{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--m3d-viewer)}
.m3d-viewer{position:absolute;inset:0;width:100%;height:100%}
.m3d-inspector{position:relative;z-index:5;min-width:0;border-left:1px solid var(--m3d-line);background:#fff;overflow-y:auto}

.m3d-viewer-toolbar{position:absolute;top:.72rem;left:50%;z-index:25;display:flex;align-items:center;gap:.22rem;max-width:calc(100% - 1.4rem);padding:.3rem;transform:translateX(-50%);border:1px solid #35425a;border-radius:11px;background:rgba(20,31,50,.94);box-shadow:0 12px 30px rgba(0,0,0,.3);overflow-x:auto;scrollbar-width:none}
.m3d-viewer-toolbar::-webkit-scrollbar{display:none}
.m3d-tool-group{display:flex;align-items:center;gap:.14rem;padding:.12rem;border-radius:8px;background:#111a2b}
.m3d-tool-group button,.m3d-tool-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:34px;flex:0 0 auto;padding:0 .58rem;border:1px solid #4d5b72;border-radius:8px;background:#1d2a40;color:#dce5f3;font-size:.65rem;font-weight:760;cursor:pointer;transition:.13s ease}
.m3d-tool-group button:hover,.m3d-tool-button:hover{border-color:#7d8ca3;background:#2b3950;color:#fff}
.m3d-tool-group button.is-active,.m3d-tool-group button[aria-pressed="true"],.m3d-tool-button[aria-pressed="true"],.m3d-tool-button[aria-expanded="true"]{border-color:#8064ee;background:var(--m3d-accent);color:#fff}
.m3d-tool-button--icon{width:34px;padding:0}
.m3d-toolbar-divider{width:1px;height:22px;margin:0 .12rem;background:#44526a;flex:0 0 1px}

.m3d-surface-panel{position:absolute;top:3.85rem;left:50%;z-index:35;width:min(380px,calc(100% - 1.4rem));transform:translateX(-50%);padding:.78rem;border:1px solid #cad3e1;border-radius:12px;background:#fff;color:var(--m3d-ink);box-shadow:0 18px 48px rgba(11,19,35,.24)}
.m3d-surface-panel[hidden]{display:none}
.m3d-surface-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.65rem}
.m3d-surface-panel header div{display:grid;gap:.08rem}.m3d-surface-panel header strong{font-size:.76rem}.m3d-surface-panel header span{color:var(--m3d-muted);font-size:.63rem}
.m3d-surface-panel header button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:7px;background:#eef2f6;color:#536078;cursor:pointer}
.m3d-surface-panel>label{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:center;gap:.55rem;margin-top:.42rem;color:#566279;font-size:.67rem;font-weight:740}
.m3d-surface-panel select{height:36px;padding:0 .55rem;border:1px solid #ccd5e2;border-radius:8px;background:#fff;color:#111827;font-size:.68rem}
.m3d-range-label{grid-template-columns:1fr!important}.m3d-range-label>span{display:flex;justify-content:space-between;gap:1rem}.m3d-range-label output{color:#4f31b9}.m3d-range-label input{width:100%;accent-color:var(--m3d-accent)}
.m3d-surface-actions{display:grid;grid-template-columns:1fr auto;gap:.45rem;margin-top:.72rem}
.m3d-primary-button,.m3d-secondary-button{min-height:38px;padding:0 .72rem;border-radius:8px;font-size:.69rem;font-weight:780;cursor:pointer}
.m3d-primary-button{border:1px solid var(--m3d-accent);background:var(--m3d-accent);color:#fff}.m3d-primary-button:hover{background:var(--m3d-accent-strong)}
.m3d-secondary-button{border:1px solid #ccd5e2;background:#fff;color:#39465c}.m3d-secondary-button:hover{border-color:#9d87ef;background:#f7f4ff;color:#4f31b9}

.m3d-overlay{position:absolute;inset:0;z-index:5;display:grid;place-content:center;justify-items:center;gap:.35rem;padding:2rem;color:#cdd6e4;text-align:center;pointer-events:none}
.m3d-overlay[hidden]{display:none}.m3d-overlay>.m3d-icon{width:2.7rem;height:2.7rem;margin-bottom:.25rem;color:#8d78ef}.m3d-overlay h3{margin:0;font-size:1rem}.m3d-overlay p{margin:0;color:#8995a8;font-size:.72rem}
.m3d-loading{position:absolute;inset:0;z-index:40;display:grid;place-content:center;justify-items:center;gap:.55rem;background:rgba(5,7,11,.65);color:#fff;backdrop-filter:blur(3px)}
.m3d-loading[hidden]{display:none}.m3d-loading span{width:38px;height:38px;border:3px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:50%;animation:m3d-spin .8s linear infinite}.m3d-loading strong{font-size:.75rem}
.m3d-measure-card{position:absolute;right:.72rem;bottom:3.35rem;z-index:24;width:min(300px,calc(100% - 1.44rem));padding:.72rem;border:1px solid #40506a;border-radius:11px;background:rgba(20,31,50,.95);color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.26)}
.m3d-measure-card[hidden]{display:none}.m3d-measure-card>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.m3d-measure-card strong{font-size:.72rem}.m3d-measure-card button{border:0;background:transparent;color:#c9d4e5;font-size:.64rem;font-weight:700;cursor:pointer}.m3d-measure-card p{margin:.45rem 0 0;color:#aeb9ca;font-size:.65rem;line-height:1.45}
.m3d-viewer-footer{position:absolute;left:.72rem;bottom:.72rem;z-index:18;display:flex;align-items:center;gap:.55rem;max-width:calc(100% - 1.44rem);padding:.44rem .6rem;border:1px solid #35445b;border-radius:9px;background:rgba(20,31,50,.92);color:#c8d1e0;font-size:.62rem;white-space:nowrap;overflow-x:auto;scrollbar-width:none}.m3d-viewer-footer::-webkit-scrollbar{display:none}.m3d-viewer-footer strong{color:#fff}.m3d-viewer-footer span:last-child{padding-left:.52rem;border-left:1px solid #435169;color:#79d1b4}
.m3d-fullscreen-exit{position:absolute;top:.72rem;right:.72rem;z-index:80;display:none;align-items:center;gap:.35rem;height:38px;padding:0 .68rem;border:1px solid rgba(255,255,255,.24);border-radius:9px;background:rgba(19,28,45,.94);color:#fff;font-size:.7rem;font-weight:760;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.28)}
.m3d-workspace:fullscreen,.m3d-workspace.is-fullscreen{width:100vw;height:100dvh;background:var(--m3d-viewer)}
.m3d-studio.is-fullscreen-host{isolation:auto;z-index:2147483647}
.m3d-workspace.is-fullscreen{position:fixed!important;inset:0!important;z-index:2147483647}
.m3d-workspace:fullscreen .m3d-viewer-panel,.m3d-workspace.is-fullscreen .m3d-viewer-panel{height:100dvh}
.m3d-workspace:fullscreen .m3d-inspector,.m3d-workspace.is-fullscreen .m3d-inspector{display:none}
.m3d-workspace:fullscreen .m3d-fullscreen-exit,.m3d-workspace.is-fullscreen .m3d-fullscreen-exit{display:inline-flex}

.m3d-inspector-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:1rem;border-bottom:1px solid #e0e5ed}
.m3d-molecule-heading{display:flex;align-items:center;gap:.72rem;min-width:0}.m3d-molecule-heading>span{display:grid;width:62px;height:62px;flex:0 0 62px;place-items:center;border:1px solid #cfc5fb;border-radius:15px;background:#f2efff;color:#5332bc;font-size:1.25rem;font-weight:820}.m3d-molecule-heading div{min-width:0}.m3d-molecule-heading p{margin:0 0 .18rem;color:var(--m3d-accent);font-size:.6rem;font-weight:820;letter-spacing:.12em;text-transform:uppercase}.m3d-molecule-heading h2{margin:0;color:#111827;font-size:1.1rem;line-height:1.15;overflow-wrap:anywhere}
.m3d-inspector-header>button{display:grid;width:31px;height:31px;place-items:center;border:0;border-radius:8px;background:#eef2f6;color:#536078;cursor:pointer}
.m3d-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:.55rem .7rem 0;border-bottom:1px solid #e1e6ee}.m3d-tabs button{min-height:38px;border:0;border-bottom:2px solid transparent;background:transparent;color:#6a768b;font-size:.69rem;font-weight:760;cursor:pointer}.m3d-tabs button.is-active{border-bottom-color:var(--m3d-accent);color:#4f31b9}
.m3d-tab-panel{display:none;padding:.82rem}.m3d-tab-panel.is-active{display:block}
.m3d-property-list{margin:0}.m3d-property-list div{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:.7rem;padding:.68rem 0;border-bottom:1px solid #e3e7ee}.m3d-property-list div:last-child{border-bottom:0}.m3d-property-list dt{color:#69758a;font-size:.65rem}.m3d-property-list dd{margin:0;color:#182137;font-size:.7rem;font-weight:740;text-align:right;overflow-wrap:anywhere}
.m3d-note{margin-top:.7rem;padding:.7rem;border:1px solid #d8dfeb;border-radius:10px;background:#f7f9fc;color:#657188;font-size:.67rem;line-height:1.55}
.m3d-pubchem-link{display:inline-flex;margin-top:.65rem;color:#5433bd;font-size:.68rem;font-weight:760;text-decoration:none}.m3d-pubchem-link:hover{text-decoration:underline}
.m3d-atom-empty{display:grid;place-items:center;gap:.4rem;min-height:240px;border:1px dashed #cbd4e1;border-radius:11px;background:#fafbfc;color:#768298;text-align:center}.m3d-atom-empty .m3d-icon{width:2rem;height:2rem;color:#8d78ef}.m3d-atom-empty p{max-width:220px;margin:0;font-size:.68rem;line-height:1.5}
.m3d-export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.m3d-export-grid button{display:flex;align-items:center;gap:.55rem;min-height:62px;padding:.62rem;border:1px solid #d6dde8;border-radius:10px;background:#fbfcfe;color:#1d263a;text-align:left;cursor:pointer}.m3d-export-grid button:hover{border-color:#9d87ef;background:#f4f0ff}.m3d-export-grid button>span{display:grid;gap:.08rem}.m3d-export-grid strong{font-size:.72rem}.m3d-export-grid small{color:#778399;font-size:.61rem}.m3d-copy-button{display:inline-flex;width:100%;min-height:40px;align-items:center;justify-content:center;gap:.4rem;margin-top:.55rem;border:1px solid #cbd4e1;border-radius:9px;background:#fff;color:#2f3b52;font-size:.7rem;font-weight:760;cursor:pointer}.m3d-copy-button:hover{border-color:#9d87ef;background:#f7f4ff;color:#4f31b9}.m3d-export-note{margin:.62rem 0 0;color:#7a8698;font-size:.62rem;line-height:1.5}

.m3d-examples{display:flex;align-items:center;gap:.38rem;min-height:48px;padding:.5rem .68rem;border-top:1px solid var(--m3d-line);border-radius:0 0 18px 18px;background:#f8fafc;overflow-x:auto;scrollbar-width:none}.m3d-examples::-webkit-scrollbar{display:none}.m3d-examples>span{color:#778399;font-size:.64rem;font-weight:740;white-space:nowrap}.m3d-examples button{min-height:32px;padding:0 .62rem;border:1px solid #d1d9e5;border-radius:999px;background:#fff;color:#39465c;font-size:.66rem;font-weight:720;white-space:nowrap;cursor:pointer}.m3d-examples button:hover{border-color:#9d87ef;background:#f4f0ff;color:#4f31b9}

@keyframes m3d-spin{to{transform:rotate(360deg)}}
@keyframes m3d-pulse{50%{opacity:.35;transform:scale(.8)}}

@media(max-width:1100px){
  .m3d-commandbar{grid-template-columns:minmax(280px,1fr) auto}.m3d-command-actions{grid-column:2}.m3d-example-field{grid-row:2;grid-column:1/-1}.m3d-example-field select{width:100%;max-width:none}
  .m3d-workspace{grid-template-columns:minmax(0,1fr) 310px}
  .m3d-tool-button span{display:none}.m3d-tool-button{width:34px;padding:0}
}
@media(max-width:850px){
  .m3d-workspace{grid-template-columns:1fr;min-height:0}.m3d-viewer-panel{min-height:620px}.m3d-inspector{border-left:0;border-top:1px solid var(--m3d-line);max-height:none}.m3d-commandbar{grid-template-columns:1fr auto}.m3d-example-field{grid-row:auto;grid-column:1}.m3d-command-actions{grid-column:2}.m3d-status-strip{top:118px}
}
@media(max-width:620px){
  .m3d-studio{margin-inline:-12px;border-radius:12px}.m3d-commandbar{grid-template-columns:1fr;gap:.42rem;border-radius:12px 12px 0 0}.m3d-example-field,.m3d-command-actions{grid-column:1}.m3d-command-actions{justify-content:center}.m3d-search button span{display:none}.m3d-search button{width:38px;padding:0}.m3d-status-strip{top:170px}.m3d-viewer-panel{min-height:560px}.m3d-viewer-toolbar{top:.45rem;max-width:calc(100% - .9rem)}.m3d-tool-group button{padding:0 .45rem}.m3d-surface-panel{top:3.5rem}.m3d-viewer-footer{left:.45rem;bottom:.45rem;max-width:calc(100% - .9rem)}.m3d-measure-card{right:.45rem;bottom:3.1rem}.m3d-molecule-heading>span{width:54px;height:54px;flex-basis:54px}.m3d-examples{border-radius:0 0 12px 12px}
}
@media(prefers-reduced-motion:reduce){.m3d-app *,.m3d-app *::before,.m3d-app *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.m3d-workspace.is-inspector-hidden{grid-template-columns:1fr}
.m3d-workspace.is-inspector-hidden .m3d-inspector{display:none}

/* Objetivos táctiles, foco perceptible y desplazamiento horizontal visible. */
#m3d-app button{min-width:44px!important;min-height:44px!important}
#m3d-app :is(input,select){min-height:44px}
#m3d-app :is(button,input,select):focus-visible,
#m3d-app .m3d-viewer:focus-visible{outline:3px solid #11172a!important;outline-offset:2px!important}
@media(max-width:850px){
  #m3d-app .m3d-viewer-toolbar,
  #m3d-app .m3d-examples{scrollbar-width:thin}
  #m3d-app .m3d-viewer-toolbar::-webkit-scrollbar,
  #m3d-app .m3d-examples::-webkit-scrollbar{display:block;height:6px}
}

/* El shell compartido no puede convertir los controles del visor en tinta oscura. */
#m3d-app .m3d-viewer-toolbar :is(.m3d-tool-group button,.m3d-tool-button){
  border-color:#71829c!important;
  background:#1d2a40!important;
  color:#f6f8fc!important;
}
#m3d-app .m3d-viewer-toolbar :is(.m3d-tool-group button,.m3d-tool-button):is(:hover,:focus-visible){
  border-color:#b7c3d5!important;
  background:#2c3b53!important;
  color:#fff!important;
}
#m3d-app .m3d-viewer-toolbar :is(.m3d-tool-group button.is-active,.m3d-tool-group button[aria-pressed="true"],.m3d-tool-button[aria-pressed="true"],.m3d-tool-button[aria-expanded="true"]){
  border-color:#a794ff!important;
  background:var(--m3d-accent)!important;
  color:#fff!important;
}
#m3d-app .m3d-viewer-toolbar :is(button,.m3d-tool-button):focus-visible{
  outline-color:#fff!important;
}

/* El estado informa sin cubrir la barra del visor ni la ficha lateral. */
#m3d-app .m3d-status-strip{
  position:relative;
  top:auto;
  left:auto;
  z-index:30;
  width:100%;
  transform:none;
  border-width:0 0 1px;
  border-radius:0;
  box-shadow:none;
}

/* =========================================================
   Laboratorio molecular premium · refinamiento 2026-08-03
   ========================================================= */
#m3d-app{
  --m3d-accent:#6b38e8;
  --m3d-accent-strong:#5527ca;
  --m3d-accent-soft:#f3efff;
  --m3d-ink:#12172a;
  --m3d-ink-2:#2d354a;
  --m3d-muted:#68738a;
  --m3d-line:#e1e6ef;
  --m3d-panel:#f7f9fc;
  --m3d-viewer:#f7f9fc;
}
#m3d-app .m3d-studio{
  margin:.4rem 0 2rem;
  border:1px solid #dbe1eb;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 26px 70px rgba(27,34,66,.10);
}
#m3d-app .m3d-commandbar{
  grid-template-columns:minmax(380px,1fr) minmax(190px,230px) auto;
  min-height:78px;
  gap:.75rem;
  padding:.85rem;
  border-bottom:1px solid #e3e7ef;
  border-radius:24px 24px 0 0;
  background:linear-gradient(180deg,#fff 0%,#fafbfe 100%);
}
#m3d-app .m3d-search{
  height:52px;
  padding-left:1rem;
  border-color:#d7dde8;
  border-radius:15px;
  box-shadow:0 4px 16px rgba(31,38,67,.04);
}
#m3d-app .m3d-search input{height:48px;font-size:.9rem}
#m3d-app .m3d-search button{height:42px;border-radius:12px;padding:0 1.05rem;font-size:.82rem;background:linear-gradient(135deg,var(--m3d-accent),#8650ff)}
#m3d-app .m3d-example-field select{width:100%;max-width:none;height:52px;border-color:#d7dde8;border-radius:15px;padding:0 2.2rem 0 .9rem;background:#fff;font-size:.82rem}
#m3d-app .m3d-command-actions{gap:.42rem}
#m3d-app .m3d-icon-button{width:48px;height:48px;border:1px solid #e0e5ed;border-radius:14px;background:#fff;color:#39445b;box-shadow:0 3px 10px rgba(31,38,67,.035)}
#m3d-app .m3d-icon-button:hover,#m3d-app .m3d-icon-button[aria-pressed="true"]{border-color:#cfc2f7;background:#f6f2ff;color:#5b2fd0}
#m3d-app .m3d-status-strip{position:absolute;top:92px;left:50%;width:auto;max-width:calc(100% - 2rem);transform:translateX(-50%);border:1px solid #ddd5f7;border-radius:999px;padding:.5rem .75rem;background:rgba(255,255,255,.96);box-shadow:0 12px 28px rgba(31,38,67,.12)}
#m3d-app .m3d-status-strip[data-state="success"]{display:none!important}
#m3d-app .m3d-workspace{grid-template-columns:minmax(0,1fr) 360px;min-height:clamp(650px,72vh,820px);background:#f7f9fc}
#m3d-app .m3d-viewer-panel{background:
  radial-gradient(circle at 50% 42%,rgba(109,72,232,.08),transparent 30%),
  linear-gradient(180deg,#fbfcfe 0%,#f5f7fb 100%)}
#m3d-app .m3d-viewer-panel::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(93,108,140,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(93,108,140,.045) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(circle at center,#000 15%,transparent 78%)}
#m3d-app .m3d-viewer{z-index:1}
#m3d-app .m3d-viewer-toolbar{
  top:1rem;
  left:1rem;
  max-width:calc(100% - 2rem);
  transform:none;
  gap:.35rem;
  padding:.42rem;
  border:1px solid rgba(40,49,71,.12);
  border-radius:15px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 42px rgba(31,38,67,.12);
  backdrop-filter:blur(14px);
}
#m3d-app .m3d-tool-group{background:#f1f3f8;padding:.18rem;border-radius:11px}
#m3d-app .m3d-viewer-toolbar :is(.m3d-tool-group button,.m3d-tool-button){
  height:38px!important;
  min-height:38px!important;
  border-color:transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#4b566d!important;
  font-size:.7rem;
  box-shadow:none!important;
}
#m3d-app .m3d-viewer-toolbar :is(.m3d-tool-group button,.m3d-tool-button):is(:hover,:focus-visible){border-color:#ddd5fa!important;background:#f4efff!important;color:#5b2fd0!important}
#m3d-app .m3d-viewer-toolbar :is(.m3d-tool-group button.is-active,.m3d-tool-group button[aria-pressed="true"],.m3d-tool-button[aria-pressed="true"],.m3d-tool-button[aria-expanded="true"]){border-color:var(--m3d-accent)!important;background:var(--m3d-accent)!important;color:#fff!important;box-shadow:0 8px 18px rgba(107,56,232,.2)!important}
#m3d-app .m3d-toolbar-divider{background:#dfe4ed}
#m3d-app .m3d-overlay{z-index:4;color:#283147}
#m3d-app .m3d-overlay>.m3d-icon{color:#7650e9}
#m3d-app .m3d-overlay h3{font-size:1.1rem;font-weight:800}
#m3d-app .m3d-overlay p{color:#69758a;font-size:.78rem}
#m3d-app .m3d-loading{z-index:40;background:rgba(248,250,253,.82);color:#252d43;backdrop-filter:blur(7px)}
#m3d-app .m3d-loading span{border-color:#d7dcec;border-top-color:var(--m3d-accent)}
#m3d-app .m3d-inspector{border-left:1px solid #e1e6ef;background:rgba(255,255,255,.98);overflow-y:auto}
#m3d-app .m3d-inspector-header{padding:1.15rem;border-bottom:1px solid #e6e9f0;background:linear-gradient(180deg,#fff,#fbfcfe)}
#m3d-app .m3d-molecule-heading>span{width:68px;height:68px;flex-basis:68px;border:1px solid #d5caf8;border-radius:18px;background:linear-gradient(145deg,#f8f5ff,#eee8ff);color:#5b31c7;font-size:1.18rem}
#m3d-app .m3d-molecule-heading p{font-size:.64rem}
#m3d-app .m3d-molecule-heading h2{font-size:1.2rem;letter-spacing:-.025em}
#m3d-app .m3d-tabs{padding:.65rem .85rem 0;background:#fff}
#m3d-app .m3d-tabs button{min-height:42px;border-radius:10px 10px 0 0;font-size:.73rem}
#m3d-app .m3d-tabs button.is-active{background:#f8f5ff;color:#5b2fd0}
#m3d-app .m3d-tab-panel{padding:1rem}
#m3d-app .m3d-property-list div{grid-template-columns:120px minmax(0,1fr);padding:.78rem 0}
#m3d-app .m3d-property-list dt{font-size:.69rem}
#m3d-app .m3d-property-list dd{font-size:.74rem}
#m3d-app .m3d-note{padding:.85rem;border-radius:13px;background:#f7f8fb;font-size:.7rem}
#m3d-app .m3d-atom-empty{min-height:210px;border-radius:15px;background:#fafbfe}
#m3d-app .m3d-export-grid{gap:.6rem}
#m3d-app .m3d-export-grid button{min-height:70px;border-radius:14px;background:#fafbfe}
#m3d-app .m3d-viewer-footer{left:1rem;bottom:1rem;border:1px solid rgba(39,48,70,.10);border-radius:12px;background:rgba(255,255,255,.9);color:#59657b;box-shadow:0 10px 24px rgba(31,38,67,.08);backdrop-filter:blur(10px)}
#m3d-app .m3d-viewer-footer strong{color:#171d30}
#m3d-app .m3d-viewer-footer span:last-child{border-left-color:#dce1ea;color:#59657b}
#m3d-app .m3d-measure-card{right:1rem;bottom:1rem;border:1px solid #d9dfeb;border-radius:14px;background:rgba(255,255,255,.96);color:#20283d;box-shadow:0 16px 34px rgba(31,38,67,.13)}
#m3d-app .m3d-measure-card p,#m3d-app .m3d-measure-card button{color:#667188}
#m3d-app .m3d-surface-panel{top:4.8rem;left:1rem;transform:none;border-radius:16px;box-shadow:0 22px 52px rgba(31,38,67,.18)}
#m3d-app .m3d-examples{display:none!important}
@media(max-width:1100px){#m3d-app .m3d-commandbar{grid-template-columns:minmax(280px,1fr) auto}#m3d-app .m3d-example-field{grid-column:1}#m3d-app .m3d-command-actions{grid-column:2;grid-row:2}#m3d-app .m3d-workspace{grid-template-columns:minmax(0,1fr) 330px}}
@media(max-width:850px){#m3d-app .m3d-workspace{grid-template-columns:1fr;min-height:0}#m3d-app .m3d-viewer-panel{min-height:620px}#m3d-app .m3d-inspector{border-left:0;border-top:1px solid #e1e6ef}#m3d-app .m3d-commandbar{grid-template-columns:1fr auto}#m3d-app .m3d-example-field{grid-column:1}#m3d-app .m3d-command-actions{grid-column:2}#m3d-app .m3d-status-strip{top:150px}}
@media(max-width:620px){#m3d-app .m3d-studio{margin-inline:-12px;border-radius:16px}#m3d-app .m3d-commandbar{grid-template-columns:1fr;border-radius:16px 16px 0 0}#m3d-app .m3d-example-field,#m3d-app .m3d-command-actions{grid-column:1}#m3d-app .m3d-command-actions{justify-content:flex-start}#m3d-app .m3d-viewer-toolbar{left:.55rem;top:.55rem;max-width:calc(100% - 1.1rem)}#m3d-app .m3d-viewer-panel{min-height:520px}#m3d-app .m3d-status-strip{top:220px}#m3d-app .m3d-viewer-footer{left:.55rem;bottom:.55rem}#m3d-app .m3d-surface-panel{top:4rem;left:.55rem;width:calc(100% - 1.1rem)}}

/* =========================================================
   MOLÉCULA 3D · PANTALLA COMPLETA ESTABLE
   Separa el estado nativo del modo de respaldo y evita que el
   arrastre seleccione texto de la interfaz.
   ========================================================= */
html.m3d-page-fullscreen,
body.m3d-page-fullscreen {
  overflow: hidden !important;
  overscroll-behavior: none;
}

#m3d-app .m3d-viewer-panel,
#m3d-app .m3d-viewer-toolbar,
#m3d-app .m3d-fullscreen-exit,
#m3d-app .m3d-viewer-footer {
  -webkit-user-select: none;
  user-select: none;
}

#m3d-app .m3d-viewer,
#m3d-app .m3d-viewer canvas {
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}

#m3d-app .m3d-fullscreen-exit,
#m3d-app .m3d-fullscreen-exit:hover,
#m3d-app .m3d-fullscreen-exit:focus-visible {
  min-height: 42px !important;
  border: 1px solid rgba(255, 255, 255, .26) !important;
  background: rgba(20, 27, 45, .96) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(10, 14, 28, .28) !important;
}

#m3d-app .m3d-fullscreen-exit svg,
#m3d-app .m3d-fullscreen-exit svg * {
  color: inherit !important;
  stroke: currentColor !important;
}

#m3d-app .m3d-workspace:fullscreen,
#m3d-app .m3d-workspace.is-fullscreen {
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f7f9fc !important;
}

#m3d-app .m3d-workspace.is-fullscreen {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
}

#m3d-app .m3d-workspace:fullscreen .m3d-viewer-panel,
#m3d-app .m3d-workspace.is-fullscreen .m3d-viewer-panel {
  width: 100% !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
}

#m3d-app .m3d-workspace:fullscreen .m3d-viewer-toolbar,
#m3d-app .m3d-workspace.is-fullscreen .m3d-viewer-toolbar {
  max-width: calc(100% - 8rem);
}

@media (max-width: 620px) {
  #m3d-app .m3d-workspace:fullscreen .m3d-viewer-toolbar,
  #m3d-app .m3d-workspace.is-fullscreen .m3d-viewer-toolbar {
    max-width: calc(100% - 1rem);
  }

  #m3d-app .m3d-fullscreen-exit {
    top: .55rem;
    right: .55rem;
  }
}
