@import url('./src/ui/styles/environment.css');
@import url('./src/ui/styles/coordinate-gizmo.css?v=182b-gizmo');
@import url('./src/ui/styles/theme.css');
@import url('./src/ui/styles/communication-monitor.css');
@import url('./src/ui/styles/layout.css');
@import url('./src/ui/styles/panels.css');
@import url('./src/ui/styles/viewport.css');
@import url('./src/ui/styles/activity-context.css');
@import url('./src/ui/styles/programming.css');
@import url('./src/ui/styles/mission-learning.css');
@import url('./src/ui/styles/projects.css');
@import url('./src/ui/styles/robot-identity.css');
@import url('./src/ui/styles/workspace.css?v=182b-gizmo');
@import url('./src/ui/styles/scene-tools.css');
@import url('./src/ui/styles/audio.css');
@import url('./src/ui/styles/redistribution.css');
@import url('./src/ui/styles/workspace-more-menu.css');
.scenario-info-button{margin-left:.4rem;padding:.15rem .4rem;font-size:1rem;vertical-align:middle}.scenario-information li{margin-bottom:.75rem}
.ground-label{display:flex;align-items:center;gap:.4rem;max-width:calc(100% - 24px)}.ground-label .scenario-info-button{flex-shrink:0;pointer-events:auto;min-width:36px;min-height:36px}
button.scenario-info-button{background:transparent;border:0;box-shadow:none;color:inherit;padding:4px;font-size:20px;line-height:1;cursor:pointer}button.scenario-info-button:hover{background:transparent;color:inherit;opacity:.8}button.scenario-info-button:focus-visible{outline:1px solid #75b8df;outline-offset:1px}.ground-label .scenario-info-button{min-width:32px;min-height:32px;margin-left:0}

.viewport .ground-label{bottom:12px;box-sizing:border-box;padding:6px 8px;border:1px solid transparent;font-size:var(--text-sm);line-height:1.3;letter-spacing:0;gap:8px}.ground-label>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ground-label button.scenario-info-button{display:grid;place-items:center;min-width:28px;min-height:28px;margin-left:0;padding:2px;border:1px solid #91bdd766;border-radius:6px;background:#255979;color:#e5f2fc;font-size:16px;line-height:normal;opacity:1;box-shadow:none}.ground-label button.scenario-info-button:hover{background:#287aa6;opacity:1}button.scenario-info-button,.ground-label button.scenario-info-button{font-size:14px;font-weight:400}.catalog-card h3 .scenario-info-button{display:inline-grid;place-items:center;vertical-align:middle;width:24px;height:24px;min-width:24px;min-height:24px;padding:2px;margin-left:5px}

/* Four lower cards share dimensions; vector heading marks survive live title updates. */
@media(min-width:851px){.workspace-lower{grid-template-columns:repeat(4,minmax(0,1fr))}}
.workspace-lower>.panel>h2{justify-content:flex-start;gap:8px;min-height:30px;height:30px;padding:4px 10px;box-sizing:border-box;white-space:nowrap;overflow:hidden;font-size:var(--text-title)}
.workspace-lower>.panel>h2::before{content:"";width:18px;height:18px;flex:0 0 18px;background:currentColor;mask:var(--panel-symbol) center/contain no-repeat;-webkit-mask:var(--panel-symbol) center/contain no-repeat}
.information{--panel-symbol:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7h.01'/%3E%3C/svg%3E")}
.object-library{--panel-symbol:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E")}
#robot-properties{--panel-symbol:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16M8 3v6M16 9v6M10 15v6'/%3E%3C/svg%3E")}
.execution{--panel-symbol:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M7 4l13 8-13 8z'/%3E%3C/svg%3E")}
.information{container-type:inline-size}
.information dl{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.information dl .info-identity:not([hidden]){display:contents}
.information dl .info-datum,.information dl .info-identity>.info-datum{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:3px;min-height:62px;margin:0;padding:9px 10px 9px 48px;border-radius:9px;background:#e6f1fc;box-sizing:border-box;align-content:center;min-width:0}
.information dl .info-datum[hidden]{display:none}
.information .info-datum dt{font-size:var(--text-xs);line-height:1.25}
.information .info-datum dd,.information .info-identity .info-datum dd{text-align:left;font-weight:600;font-size:var(--text-sm);line-height:1.3;overflow-wrap:anywhere}
.information .info-datum::before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:23px;height:23px;background:#087ff0;mask:var(--datum-icon) center/contain no-repeat;-webkit-mask:var(--datum-icon) center/contain no-repeat}
@container(min-width:400px){.information dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.info-datum[data-info-kind=channel]{--datum-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%225%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2219%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22m7%2011%2010-5M7%2013l10%205%22%2F%3E%3C%2Fsvg%3E")}
.info-datum[data-info-kind=state]{--datum-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2012h4l3-8%205%2016%203-8h5%22%2F%3E%3C%2Fsvg%3E")}
.info-datum[data-info-kind=id]{--datum-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%203h8l10%2010-8%208L3%2011z%22%2F%3E%3Ccircle%20cx%3D%227%22%20cy%3D%227%22%20r%3D%221%22%2F%3E%3C%2Fsvg%3E")}
.info-datum[data-info-kind=name]{--datum-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2020v-2a8%208%200%200%201%2016%200v2%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3C%2Fsvg%3E")}
.info-datum[data-info-kind=type]{--datum-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%202%209%205v10l-9%205-9-5V7zM3%207l9%205%209-5M12%2012v10%22%2F%3E%3C%2Fsvg%3E")}
.info-datum[data-info-kind=physical]{--datum-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2017a9%209%200%200%201%2018%200M12%2017l5-7M4%2020h16%22%2F%3E%3C%2Fsvg%3E")}
.info-datum[data-info-kind=heading]{--datum-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%208a9%209%200%201%200%201%207M20%203v5h-5%22%2F%3E%3Cpath%20d%3D%22m12%207%203%207-7%203z%22%2F%3E%3C%2Fsvg%3E")}
.info-datum[data-info-kind=position]{--datum-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%2010c0%205-7%2012-7%2012S5%2015%205%2010a7%207%200%201%201%2014%200z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E")}
/* Thin native scrollbars and sliders throughout the app. */
*{scrollbar-width:thin;scrollbar-color:#87a9c1 transparent}
*::-webkit-scrollbar{width:6px;height:6px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#87a9c1;border-radius:8px}
*::-webkit-scrollbar-thumb:hover{background:#5887aa}
*::-webkit-scrollbar-button{display:none;width:0;height:0}
input[type=range]{appearance:none;-webkit-appearance:none;height:16px;background:transparent;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:4px;background:#bdd0df;border-radius:8px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-4px;border:0;border-radius:50%;background:#098ce5}
input[type=range]::-moz-range-track{height:4px;background:#bdd0df;border:0;border-radius:8px}
input[type=range]::-moz-range-progress{height:4px;background:#098ce5;border-radius:8px}
input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#098ce5}
.blocklyScrollbarHandle{stroke:#edf5fc;stroke-width:5px;paint-order:stroke fill}
.app-workspace,.workspace-upper{position:relative}
.dashboard-splitter{position:absolute;z-index:5;touch-action:none;outline:none}
.dashboard-splitter.horizontal{left:10px;right:10px;height:10px;cursor:row-resize}
.dashboard-splitter.vertical{top:0;bottom:0;width:10px;cursor:col-resize}
.dashboard-splitter::after{content:"";position:absolute;background:#7b9eb9;border-radius:8px}
.dashboard-splitter.horizontal::after{height:3px;width:48px;left:50%;top:3px;transform:translateX(-50%)}
.dashboard-splitter.vertical::after{width:3px;height:48px;top:50%;left:3px;transform:translateY(-50%)}
.dashboard-splitter:hover::after,.dashboard-splitter.dragging::after{background:#087ce5}
.dashboard-splitter:focus-visible{outline:1px solid #75b8df;outline-offset:-1px}
@media(max-width:850px){.dashboard-splitter{display:none}}
@media(min-width:851px) and (min-height:651px){.app-workspace{grid-template-rows:minmax(0,1fr) minmax(110px,min(42%,calc(100% - 240px)))}}
.information dl .info-datum,.information dl .info-identity>.info-datum{height:54px;min-height:54px;padding:6px 9px 6px 40px;gap:2px}
.information .info-datum::before{left:10px;width:20px;height:20px;background:var(--datum-color,#087ff0)}
.information .info-datum dt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.information .info-datum dd,.information .info-identity .info-datum dd{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.info-datum[data-info-kind=name]{--datum-color:#237fc7}
.info-datum[data-info-kind=id]{--datum-color:#8055bb}
.info-datum[data-info-kind=type]{--datum-color:#168c96}
.info-datum[data-info-kind=channel]{--datum-color:#bb6b20}
.info-datum[data-info-kind=position]{--datum-color:#087fd2}
.info-datum[data-info-kind=heading]{--datum-color:#655bc1}
.info-datum[data-info-kind=state]{--datum-color:#218756}
.info-datum[data-info-kind=physical]{--datum-color:#c2583b}.object-library-body{container-type:size}.object-library-body .object-cards{grid-auto-rows:max(64px,calc((100cqh - 10px)/3))}.object-library-body .object-card{height:100%;justify-content:center;gap:4px}

.information dl{gap:6px}
.information dl .info-datum,.information dl .info-identity>.info-datum{height:48px;min-height:48px;padding:5px 6px 5px 31px;border-radius:7px;gap:2px}
.information .info-datum::before{left:7px;width:18px;height:18px}
.information .info-datum dt{font-size:10px;line-height:1.2}
.information .info-datum dd,.information .info-identity .info-datum dd{font-size:11px;line-height:1.25}
@container(min-width:260px){.information dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:259px){.information dl{grid-template-columns:minmax(0,1fr)}}.information dl{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Compact information table: icon, label, live value. */
.information dl{grid-template-columns:minmax(0,1fr)!important;gap:0}
.information dl .info-datum,.information dl .info-identity>.info-datum{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);height:auto;min-height:30px;padding:6px 6px 6px 29px;gap:8px;border-radius:0;background:transparent;border-bottom:1px solid #dce8f3;align-items:center;align-content:center}
.information .info-datum::before{width:16px;height:16px;left:5px}
.information .info-datum dt{font-size:9px;line-height:1.25;white-space:normal;overflow:visible}
.information .info-datum dd,.information .info-identity .info-datum dd{font-size:9px;font-weight:500;line-height:1.25;text-align:right;white-space:normal;overflow:visible;overflow-wrap:anywhere}
/* Chromium uses the explicit 4px native scrollbar rather than its thin preset. */
@supports selector(::-webkit-scrollbar){*{scrollbar-width:auto}.information .panel-body{scrollbar-width:auto}}
*::-webkit-scrollbar{width:4px;height:4px}
.blocklyScrollbarHandle{stroke:#edf5fc;stroke-width:10px;paint-order:fill stroke}
.object-card .object-thumbnail{width:100%;height:42px;min-height:0;object-fit:contain;display:block;pointer-events:none}

.robot-art:has(.robot-thumbnail){width:76px;height:64px;background:transparent}.robot-thumbnail{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}

.catalog-card[data-robot-id]{padding-left:3px;gap:3px}
.catalog-card[data-robot-id]>div:last-child{min-width:0;flex:1}
.catalog-card p .scenario-info-button{display:inline-grid;place-items:center;width:16px;height:16px;min-width:16px;min-height:16px;margin-left:2px;padding:0;font-size:11px;vertical-align:baseline}
.catalog-card[data-robot-id]{padding-left:1px;gap:1px}.robot-art:has(.robot-thumbnail){width:68px}

.floor-art:has(.scenario-thumbnail){width:86px;height:72px;flex:0 0 86px;display:grid;place-items:center}.scenario-thumbnail{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}

.catalog-card[data-scenario-id]{padding-left:1px;gap:2px}.floor-art:has(.scenario-thumbnail){width:72px;flex-basis:72px}.catalog-card[data-scenario-id]>div:last-child{min-width:0;flex:1}

.catalog-card[data-robot-id],.catalog-card[data-scenario-id]{padding-left:7px;gap:8px}

/* Compact scrollbars for every dashboard panel. */
*::-webkit-scrollbar{width:3px!important;height:3px!important}
*::-webkit-scrollbar-button{display:none!important;width:0!important;height:0!important}

.robot-camera-view{position:absolute;right:12px;top:12px;z-index:20;width:min(330px,calc(100% - 24px));background:#082636;color:#d5eff9;border:1px solid #36c9ed;border-radius:8px;padding:8px;box-sizing:border-box;font-size:12px;touch-action:none;}.robot-camera-view[hidden]{display:none}.robot-camera-view canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#152b3d}.robot-camera-view canvas[hidden]{display:none}.robot-camera-view select{width:100%;font-size:12px;margin:5px 0}.robot-camera-view small{display:block;margin-top:4px}.robot-camera-view small[hidden]{display:none}

/* Indicadores encima de información del plano, también en pantalla completa. */
.viewport .indicator-legend{top:auto;bottom:64px;right:12px;max-width:calc(100% - 24px);box-sizing:border-box}

.learning-managed .gem-counter{display:none!important}

