.anma-app{--bg:#061019;--panel:#0b1721;--panel2:#0f1f2b;--line:#203848;--line2:#2b5067;--text:#f3f8fb;--muted:#7894a6;--orange:#ff8737;--orange2:#ff9d5c;--green:#39e2a3;--blue:#35b7ff;--yellow:#ffc44f;--red:#ff6473;--shadow:0 16px 38px rgba(0,0,0,.34)}.anma-app,.anma-app *{box-sizing:border-box}.anma-app{color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}.anma-app button,.anma-app input,.anma-app select{font:inherit}.anma-app{min-height:100vh;background:radial-gradient(circle at 55% -10%,#102638 0,transparent 34%),#050d14}.view{display:none}.view.active{display:block}.workspace{display:grid;grid-template-columns:270px minmax(700px,1fr) 330px;gap:10px;height:calc(100vh - 72px);padding:10px}.panel{background:linear-gradient(180deg,rgba(12,25,35,.98),rgba(8,19,27,.98));border:1px solid var(--line);box-shadow:var(--shadow)}.library,.inspector{border-radius:16px;overflow:hidden}.library{display:flex;flex-direction:column;padding:10px}.tabs,.inspector-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-bottom:1px solid var(--line);padding-bottom:8px}.tabs button,.inspector-tabs button{background:transparent;border:0;color:#7f98aa;padding:9px;cursor:pointer;border-bottom:2px solid transparent}.tabs .active,.inspector-tabs .active{color:#fff;border-color:var(--orange)}.inspector-tabs{grid-template-columns:1fr 1fr 1fr}.search-row{display:grid;grid-template-columns:1fr 38px;gap:6px;margin:10px 0}.search-row input{width:100%;background:#081723;color:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 12px;outline:none}.search-row input:focus{border-color:var(--orange);box-shadow:0 0 0 2px rgba(255,135,55,.12)}.anma-app .icon-btn,.anma-app .btn{border:1px solid var(--line);background:#10202c;color:#dce8ee;border-radius:9px;padding:8px 11px;cursor:pointer}.anma-app .icon-btn:hover,.anma-app .btn:hover{border-color:#4d6a7d}.anma-app .btn.orange{background:linear-gradient(180deg,#ff9a58,#ff7f2e);border-color:#ff9b5e;color:#111;font-weight:800}.anma-app .btn.blue{background:#176db6;border-color:#2488d5}.category-chips{display:flex;gap:6px;flex-wrap:wrap}.cat-btn{background:#0c1d29;border:1px solid var(--line);border-radius:999px;color:#9cb3c1;padding:7px 9px;cursor:pointer;font-size:9px}.cat-btn.active{background:var(--orange);color:#121212;border-color:#ff9c5d;font-weight:800}.cat-btn small{opacity:.65}.product-list{display:grid;gap:7px;margin-top:10px;overflow:auto;min-height:100px;flex:1;padding-right:3px}.product-card,.system-item{display:grid;grid-template-columns:50px 1fr 18px;gap:8px;align-items:center;border:1px solid #1d3545;background:#0c1a24;border-radius:11px;padding:8px;cursor:grab}.product-card:hover,.system-item:hover{border-color:#4c6678;background:#10232f}.product-card img,.product-card .ph{width:50px;height:50px;border-radius:9px;background:#f4f6f7;object-fit:contain}.product-card .ph{display:grid;place-items:center;background:#142733;color:var(--orange);font-size:21px}.product-card strong,.system-item b{display:block;font-size:10px}.product-card small,.system-item small{display:block;color:#7f98a8;font-size:8px;margin-top:3px}.drag-mark{color:#5e7a8c}.system-palette{border-top:1px solid var(--line);margin-top:8px;padding-top:9px}.palette-title{font-size:9px;color:#7894a6;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}.system-items{display:grid;gap:6px}.system-item{grid-template-columns:36px 1fr}.system-item>span{font-size:22px;color:var(--orange);text-align:center}.design-column{display:grid;grid-template-rows:50px minmax(0,1fr);gap:8px;min-width:0}.project-bar{border-radius:14px;padding:7px 10px;display:flex;align-items:center;justify-content:space-between}.project-bar b{font-size:11px}.saved{font-size:8px;color:var(--green);margin-left:8px}.toolbar-actions{display:flex;gap:6px}.canvas{position:relative;border-radius:15px;overflow:auto;background-color:#07131d;background-image:linear-gradient(rgba(49,74,90,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(49,74,90,.17) 1px,transparent 1px);background-size:28px 28px}.edge-layer,.temp-edge-layer{position:absolute;left:0;top:0;width:2200px;height:1500px;pointer-events:none;overflow:visible;z-index:2}.edge{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.edge.port-anchored,.edge-temp.port-anchored{stroke-linecap:round;stroke-linejoin:round}.edge.good{stroke:var(--green);filter:drop-shadow(0 0 4px rgba(57,226,163,.35))}.edge.warn{stroke:var(--yellow)}.edge.bad{stroke:var(--red)}.edge-temp{fill:none;stroke:var(--orange);stroke-width:3;stroke-dasharray:7 6}.edge-flow{stroke-dasharray:9 11;animation:dash 1.1s linear infinite}@keyframes dash{to{stroke-dashoffset:-40}}.canvas-help{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#6f8797;pointer-events:none}.canvas-help b{font-size:17px;color:#abc0cc}.canvas-help span{font-size:9px;margin-top:4px}.canvas-legend{position:absolute;top:10px;right:12px;display:flex;gap:12px;color:#70899a;font-size:8px;pointer-events:none}.canvas-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.canvas-legend .ok{background:var(--green)}.canvas-legend .warn{background:var(--yellow)}.canvas-legend .off{background:#738594}.zoom-control{position:absolute;left:12px;bottom:12px;background:#0b1b26;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;overflow:hidden;z-index:20}.zoom-control button{background:transparent;border:0;color:#d9e5eb;width:32px;height:30px;cursor:pointer}.zoom-control span{font-size:9px;padding:0 8px}.node{position:absolute;width:245px;min-height:110px;border-radius:15px;border:1px solid #284c62;background:linear-gradient(180deg,#10232f,#0b1923);box-shadow:0 14px 30px rgba(0,0,0,.3);padding:10px 12px;user-select:none;cursor:move;transform-origin:top left;z-index:5}.node.selected{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange),0 0 22px rgba(255,135,55,.15)}.node-head{display:grid;grid-template-columns:50px 1fr;gap:9px;align-items:start}.node-img,.node-ph{width:50px;height:50px;border-radius:9px;background:#f5f7f8;object-fit:contain}.node-ph{display:grid;place-items:center;background:#142733;color:var(--orange);font-size:22px}.node-cat{font-size:7px;color:#648195;letter-spacing:1px;text-transform:uppercase}.node h4{margin:2px 0 3px;font-size:11px}.node-sub{font-size:8px;color:#8ca6b6}.node-sub-extra{margin-top:4px;color:#9fd0ff;line-height:1.35}.node-menu{border:0;background:transparent;color:#718a9c;cursor:pointer}.node-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.node-issues{position:absolute;right:9px;bottom:8px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;z-index:12;pointer-events:auto;max-width:190px}.node-issue-chip{display:flex;align-items:center;gap:4px;max-width:190px;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:800;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 6px 16px rgba(0,0,0,.28);cursor:pointer}.node-issue-chip.bad{color:#ffd8dc;background:rgba(82,19,29,.96);border:1px solid #a53e4d}.node-issue-chip.warn{color:#ffe4a3;background:rgba(72,51,15,.96);border:1px solid #8b661f}.node-issue-chip.more{color:#bfd0d9;background:rgba(15,32,43,.96);border:1px solid #36505f}.node.has-bad-issue{border-color:#8a3441;box-shadow:0 0 0 1px rgba(255,100,115,.22),0 14px 30px rgba(0,0,0,.3)}.node.has-warn-issue:not(.has-bad-issue){border-color:#70531e;box-shadow:0 0 0 1px rgba(255,196,79,.15),0 14px 30px rgba(0,0,0,.3)}.pill{font-size:7px;padding:3px 6px;border-radius:999px;border:1px solid #294355;color:#9fb5c4;background:#0a1822}.ports{position:absolute;inset:0;pointer-events:none}.port{position:absolute;display:flex;align-items:center;gap:4px;pointer-events:auto;font-size:7px;font-weight:800}.port.left{left:-7px;flex-direction:row-reverse}.port.right{right:-7px}.port-handle{width:14px;height:14px;border:2px solid #07131c;border-radius:50%;cursor:crosshair}.port-label{background:#0c2634;border:1px solid #244b62;border-radius:999px;padding:3px 6px}.port.pv .port-handle,.port-dot.pv{background:#3ab9ff}.port.bat .port-handle,.port-dot.bat{background:#ffd05a}.port.ac .port-handle,.port-dot.ac{background:#3fe3a6}.port.meter .port-handle,.port-dot.meter{background:#b5d4e8}.port.used .port-handle{box-shadow:0 0 0 2px rgba(255,255,255,.15)}.port.pv .port-label{color:#79d0ff}.port.bat .port-label{color:#ffe183}.port.ac .port-label{color:#7cf4c9}.port.meter .port-label{color:#d3e7f2}.system-checks{border-radius:14px;display:grid;grid-template-columns:160px repeat(4,minmax(120px,1fr)) 190px;gap:7px;padding:7px}.check-title{display:flex;flex-direction:column;justify-content:center;padding:4px 7px}.check-title .pulse{color:var(--green);font-size:17px}.check-title small{font-size:8px;color:#f0b44b}.check-card{border:1px solid #1d493c;background:#0c211d;border-radius:10px;padding:7px;display:flex;gap:7px;align-items:center}.check-card>span{color:var(--green)}.check-card small{display:block;color:#78978a;font-size:7px}.check-card b{font-size:9px}.check-card.warn{border-color:#63461e;background:#21190c}.check-card.warn>span{color:var(--yellow)}.check-card.bad{border-color:#6e2a35;background:#251017}.check-card.bad>span{color:var(--red)}.check-card.wide{border-color:#203f57;background:#0c1c28}.inspector{padding:10px;overflow:auto}.empty-inspector{color:#7690a2;text-align:center;padding:30px 8px;font-size:10px}.inspector-hero{height:145px;background:#fff;border-radius:11px;padding:8px;display:grid;place-items:center}.inspector-hero img{max-width:100%;max-height:125px;object-fit:contain}.inspector h2{font-size:15px;margin:10px 0 2px}.subline{font-size:8px;color:#7f97a6}.spec-section{margin-top:14px}.spec-section h3{font-size:10px;margin:0 0 7px}.spec-table{border-top:1px solid var(--line)}.spec-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:6px 0;border-bottom:1px solid #162a38;font-size:8px}.spec-row span{color:#829aa9}.spec-row b{text-align:right;max-width:150px}.control-card{border:1px solid var(--line);border-radius:10px;padding:8px;margin-top:10px;background:#0a1822;display:grid;gap:9px}.control-card label{font-size:8px;color:#879eac}.control-card input,.control-card select{width:100%;margin-top:4px;background:#06121b;color:#fff;border:1px solid #294153;border-radius:8px;padding:6px}.port-list{display:grid;gap:5px}.port-item{display:grid;grid-template-columns:10px 50px 1fr;align-items:center;gap:6px;font-size:8px;color:#879ead}.port-dot{width:9px;height:9px;border-radius:50%}.doc-link{font-size:8px;padding:4px 0}.doc-link a{color:#77c9ff}.page-shell{padding:12px;display:grid;gap:10px}.page-head{padding:14px;border-radius:14px;display:flex;justify-content:space-between;align-items:center}.page-head h1{margin:0;font-size:20px}.page-head p{margin:3px 0 0;font-size:10px;color:var(--muted)}.sim-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.metric{background:#0b1822;border:1px solid var(--line);border-radius:12px;padding:16px}.metric b{display:block;font-size:22px}.metric small{color:#7f98aa}.validation-panel{padding:14px;border-radius:14px}.validation-panel h2{margin-top:0}.check{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:10px;border-bottom:1px solid #17303f}.check small{display:block;color:#8098aa}.check.good .ico{color:var(--green)}.check.warn .ico{color:var(--yellow)}.check.bad .ico{color:var(--red)}.three-shell{height:calc(100vh - 72px);padding:10px;display:grid;grid-template-rows:50px 1fr;gap:8px}.three-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px}.three-header>div:first-child{display:flex;flex-direction:column}.three-header span{color:#7f98aa;font-size:9px}.three-header>div:last-child{display:flex;gap:7px}.three-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:8px;min-height:0}.three-viewport{position:relative;border-radius:15px;overflow:hidden;background:#07131c;perspective:1400px}.three-scene{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:center center;will-change:transform;cursor:grab}.three-scene.dragging{cursor:grabbing}.three-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.95) brightness(.82);user-select:none;pointer-events:none}.three-label{position:absolute;background:rgba(5,18,27,.9);border:1px solid #29506a;border-radius:10px;padding:7px 10px;min-width:115px;backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.28)}.three-label b{display:block;font-size:13px}.three-label small{display:block;color:#89a4b5;font-size:8px}.three-label.pv{left:31%;top:18%}.three-label.inv{left:48%;top:58%}.three-label.battery{left:16%;top:62%}.three-label.ev{left:70%;top:67%}.three-label.grid{left:76%;top:19%}.three-label.house{left:57%;top:33%}.three-instructions{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:rgba(5,18,27,.9);border:1px solid #27465a;border-radius:11px;padding:9px 14px;font-size:9px;color:#9bb2c0;z-index:6}.three-legend{position:absolute;left:14px;bottom:14px;background:rgba(5,18,27,.92);border:1px solid #27465a;border-radius:11px;padding:11px;display:grid;gap:4px;font-size:8px;z-index:6}.three-legend .g{color:#45e8ad}.three-legend .b{color:#3ab2ff}.three-legend .o{color:#ff9a52}.three-legend .e{color:#9df28d}.three-legend .r{color:#ff6b7c}.three-status{border-radius:15px;padding:13px;overflow:auto}.three-status h2{font-size:15px;margin:0 0 8px}.system-online{color:#3ce5a6;border-bottom:1px solid var(--line);padding-bottom:9px;font-size:9px}.stat-row{display:grid;grid-template-columns:32px 1fr auto;gap:6px;align-items:center;padding:11px 0;border-bottom:1px solid #17303f}.stat-row .stat-ico{font-size:20px}.stat-row small{display:block;color:#8098a9;font-size:8px}.stat-row b{font-size:13px}.scenario-box{border:1px solid #8c4e22;border-radius:11px;padding:10px;margin:10px 0;display:flex;gap:9px}.scenario-box>span{font-size:25px;color:var(--orange)}.scenario-box small{display:block;color:#8098a9;font-size:8px}.quick-stats{border:1px solid var(--line);border-radius:11px;padding:9px}.quick-stats h3{font-size:11px}.quick-stats>div{display:flex;justify-content:space-between;padding:5px 0;font-size:8px;color:#8ea6b5}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0b1b25;border:1px solid #345366;color:#e7f0f5;padding:9px 13px;border-radius:9px;z-index:100;font-size:10px;box-shadow:var(--shadow)}@media(max-width:1280px){.workspace{grid-template-columns:230px minmax(620px,1fr) 285px}.topbar{grid-template-columns:230px 1fr 250px}.system-checks{grid-template-columns:130px repeat(3,1fr);overflow:auto}.check-card.wide{display:none}}@media(max-width:980px){.nav{display:none}.topbar{grid-template-columns:1fr auto}.workspace{grid-template-columns:200px 1fr}.inspector{position:fixed;right:8px;top:70px;width:300px;height:calc(100vh - 84px);z-index:30}.three-layout{grid-template-columns:1fr}.three-status{display:none}}

/* Designer v4 interaction upgrades */
.node.node-dragging{z-index:40;cursor:grabbing;box-shadow:0 18px 42px rgba(0,0,0,.48),0 0 0 1px rgba(124,244,201,.28);transition:none}
.canvas-trash{position:sticky;left:calc(100% - 150px);top:calc(100% - 84px);width:132px;height:58px;z-index:60;display:flex;gap:8px;align-items:center;justify-content:center;border:1px dashed #5b3e3e;background:rgba(24,18,21,.92);backdrop-filter:blur(7px);border-radius:13px;color:#e7b9b9;opacity:.42;transform:scale(.96);transition:opacity .16s,transform .16s,background .16s,border-color .16s,box-shadow .16s;pointer-events:none}
.canvas-trash>span{font-size:25px}.canvas-trash b{display:block;font-size:10px}.canvas-trash small{display:block;font-size:7px;color:#9d7d7d;white-space:nowrap}.canvas-trash.drag-active{opacity:1;transform:scale(1);border-color:#8c555b}.canvas-trash.over{background:#45141d;border-color:var(--red);box-shadow:0 0 0 3px rgba(255,100,115,.14),0 0 24px rgba(255,100,115,.25);transform:scale(1.06)}
.canvas.connecting .port.incompatible{opacity:.18;filter:saturate(.25)}
.canvas.connecting .port.compatible{opacity:1;z-index:25}
.canvas.connecting .port.compatible .port-handle{transform:scale(1.28);box-shadow:0 0 0 4px rgba(63,227,166,.18),0 0 18px rgba(63,227,166,.65);animation:portPulse 1s ease-in-out infinite}
.canvas.connecting .port.compatible .port-label{border-color:#3fe3a6;box-shadow:0 0 12px rgba(63,227,166,.18)}
.canvas.connecting .port.connect-hover .port-handle{transform:scale(1.55);box-shadow:0 0 0 6px rgba(63,227,166,.22),0 0 24px rgba(63,227,166,.9)}
.canvas.connecting .port.connect-source{opacity:1}.canvas.connecting .port.connect-source .port-handle{box-shadow:0 0 0 4px rgba(255,135,55,.2),0 0 18px rgba(255,135,55,.55)}
@keyframes portPulse{50%{transform:scale(1.42)}}
/* V4 UX: system validation is a dedicated report view; simulation start/stop is independent. */
.system-checks{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}
.system-checks:hover{border-color:#38627a;box-shadow:0 0 0 1px rgba(57,226,163,.08),var(--shadow)}
.system-checks:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.full-specs .spec-row span{max-width:58%;overflow-wrap:anywhere}
.documents-pane{display:grid;gap:8px}
.doc-card{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);background:#091823;border-radius:10px;padding:10px}
.doc-card b{display:block;font-size:9px}
.doc-card small{display:block;color:var(--muted);font-size:7px;margin-top:3px}
.doc-card a{flex:0 0 auto;color:#7bd3ff;text-decoration:none;border:1px solid #28516a;border-radius:8px;padding:6px 8px;font-size:8px}
.doc-card a:hover{border-color:var(--orange);color:#fff}
.sim-state{margin:0 0 10px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.sim-state b{font-size:10px}.sim-state small{font-size:8px;color:var(--muted)}
.sim-state.running{border-color:#24664f;background:#0b2019}.sim-state.running b{color:var(--green)}
.sim-state.stopped{border-color:#435360;background:#0c1821}.sim-state.stopped b{color:#a9bac5}

/* V4 persistence / validation / sharing */
.check-action{display:inline-flex;align-items:center;gap:7px;position:relative}
.check-action .check-dot{width:8px;height:8px;border-radius:50%;background:#738594;box-shadow:0 0 0 3px rgba(115,133,148,.12)}
.check-action .check-badge{font-size:8px;border:1px solid #36505f;border-radius:999px;padding:2px 6px;color:#a9bdc9}
.check-action.good{border-color:#24664f}.check-action.good .check-dot{background:var(--green);box-shadow:0 0 0 3px rgba(57,226,163,.12)}
.check-action.warn{border-color:#76551f}.check-action.warn .check-dot{background:var(--yellow);box-shadow:0 0 0 3px rgba(255,196,79,.12)}
.check-action.bad{border-color:#7a2d39;background:#241117}.check-action.bad .check-dot{background:var(--red);box-shadow:0 0 0 3px rgba(255,100,115,.14)}
.check-action.bad .check-badge{border-color:#7a2d39;color:#ff9ca6}.check-action.warn .check-badge{border-color:#76551f;color:#ffd37a}
.shared-banner{position:fixed;left:50%;top:8px;transform:translateX(-50%);z-index:120;display:flex;align-items:center;gap:18px;padding:9px 12px;border:1px solid #72502b;background:rgba(26,19,12,.96);border-radius:12px;box-shadow:var(--shadow)}
.shared-banner b{display:block;font-size:10px}.shared-banner span{display:block;color:#b9a48d;font-size:8px}.shared-banner+.anma-app .topbar{padding-top:0}
.anma-app.read-only .library{opacity:.55;pointer-events:none}.anma-app.read-only #resetCanvas,.anma-app.read-only #runSim,.anma-app.read-only #shareBtn{display:none}

/* Phase-aware AC source/load controls */
.phase-power-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}
.phase-power-grid label{display:flex;flex-direction:column;gap:4px;font-size:11px}
.phase-power-grid input{width:100%;box-sizing:border-box}


/* ================================================================
   Designer V4 — light theme integrated with the main ANMA theme.
   The header theme button changes html[data-theme], so the whole
   workspace switches together instead of leaving a dark canvas.
   ================================================================ */
:root[data-theme="light"] .anma-app{
  --bg:#eef3f7;
  --panel:#ffffff;
  --panel2:#f5f8fa;
  --line:#d5e0e8;
  --line2:#b9ccd9;
  --text:#14212b;
  --muted:#607889;
  --shadow:0 12px 30px rgba(34,62,82,.10);
  background:#edf3f7;
  color:#14212b;
}
:root[data-theme="light"] .anma-app .panel{
  background:linear-gradient(180deg,#ffffff,#f8fbfd);
  border-color:#d5e0e8;
  box-shadow:0 12px 28px rgba(34,62,82,.09);
}
:root[data-theme="light"] .anma-app .library,
:root[data-theme="light"] .anma-app .inspector{background:#f8fbfd}
:root[data-theme="light"] .anma-app .tabs,
:root[data-theme="light"] .anma-app .inspector-tabs,
:root[data-theme="light"] .anma-app .system-palette{border-color:#d5e0e8}
:root[data-theme="light"] .anma-app .tabs button,
:root[data-theme="light"] .anma-app .inspector-tabs button{color:#6a8191}
:root[data-theme="light"] .anma-app .tabs .active,
:root[data-theme="light"] .anma-app .inspector-tabs .active{color:#17242e}
:root[data-theme="light"] .anma-app .search-row input,
:root[data-theme="light"] .anma-app input,
:root[data-theme="light"] .anma-app select{
  background:#fff;color:#17242e;border-color:#cbd9e2;
}
:root[data-theme="light"] .anma-app .cat-btn{
  background:#f0f5f8;border-color:#d0dde6;color:#526b7c;
}
:root[data-theme="light"] .anma-app .cat-btn.active{background:var(--orange);color:#16100b;border-color:#ff9c5d}
:root[data-theme="light"] .anma-app .product-card,
:root[data-theme="light"] .anma-app .system-item{
  background:#fff;border-color:#d6e1e8;color:#17242e;
}
:root[data-theme="light"] .anma-app .product-card:hover,
:root[data-theme="light"] .anma-app .system-item:hover{
  background:#f5f9fb;border-color:#9eb5c4;
}
:root[data-theme="light"] .anma-app .product-card small,
:root[data-theme="light"] .anma-app .system-item small,
:root[data-theme="light"] .anma-app .palette-title,
:root[data-theme="light"] .anma-app .node-cat,
:root[data-theme="light"] .anma-app .node-sub,
:root[data-theme="light"] .anma-app .subline,
:root[data-theme="light"] .anma-app .empty-inspector{color:#667f90}
:root[data-theme="light"] .anma-app .design-column{background:transparent}
:root[data-theme="light"] .anma-app .project-bar{background:#fff}
:root[data-theme="light"] .anma-app .canvas{
  background-color:#f4f8fb;
  background-image:
    linear-gradient(rgba(79,111,132,.13) 1px,transparent 1px),
    linear-gradient(90deg,rgba(79,111,132,.13) 1px,transparent 1px);
  border-color:#ccdbe4;
}
:root[data-theme="light"] .anma-app .canvas-help{color:#6b8291}
:root[data-theme="light"] .anma-app .canvas-legend{color:#5d7484}
:root[data-theme="light"] .anma-app .node{
  background:linear-gradient(180deg,#ffffff,#f7fafc);
  border-color:#9eb9ca;
  box-shadow:0 12px 28px rgba(47,77,97,.13);
  color:#14212b;
}
:root[data-theme="light"] .anma-app .node:hover{border-color:#6e94aa}
:root[data-theme="light"] .anma-app .node.selected{border-color:var(--orange);box-shadow:0 0 0 1px rgba(255,135,55,.25),0 12px 28px rgba(47,77,97,.13)}
:root[data-theme="light"] .anma-app .node h4{color:#13212b}
:root[data-theme="light"] .anma-app .pill{
  background:#edf4f7;border-color:#ccdae3;color:#526a7a;
}
:root[data-theme="light"] .anma-app .port-label{background:#eef5f8;border-color:#c8d9e2;color:#355365}
:root[data-theme="light"] .anma-app .port:not(.used){opacity:.62}
:root[data-theme="light"] .anma-app .inspector-hero{background:#fff;border-color:#d4e0e7}
:root[data-theme="light"] .anma-app .control-card,
:root[data-theme="light"] .anma-app .spec-section,
:root[data-theme="light"] .anma-app .doc-card{
  background:#f6f9fb;border-color:#d5e1e8;color:#16242e;
}
:root[data-theme="light"] .anma-app .spec-row{border-color:#dce6ec}
:root[data-theme="light"] .anma-app .spec-row span{color:#667e8e}
:root[data-theme="light"] .anma-app .spec-row b{color:#17242e}
:root[data-theme="light"] .anma-app .port-item{background:#fff;border-color:#d5e1e8}
:root[data-theme="light"] .anma-app .zoom-control,
:root[data-theme="light"] .anma-app .canvas-trash{
  background:rgba(255,255,255,.94);border-color:#cfdee7;color:#435d6e;
}
:root[data-theme="light"] .anma-app .canvas-trash.drag-active{background:#fff6ef;border-color:#f5a06a}
:root[data-theme="light"] .anma-app .page-shell{background:#edf3f7}
:root[data-theme="light"] .anma-app .page-head,
:root[data-theme="light"] .anma-app .validation-panel,
:root[data-theme="light"] .anma-app .metric{background:#fff;border-color:#d3e0e8;color:#17242e}
:root[data-theme="light"] .anma-app .check{border-color:#dbe5eb}
:root[data-theme="light"] .anma-app .check small{color:#637b8b}
:root[data-theme="light"] .anma-app .sim-state.stopped{background:#f4f7f9;border-color:#d5e0e7;color:#506979}
:root[data-theme="light"] .anma-app .toast{background:#17242e;color:#fff;border-color:#304858}
:root[data-theme="light"] .anma-app .shared-banner{background:#fff6ed;color:#6a3c1d;border-color:#f0a66f}
:root[data-theme="light"] .anma-app .node-issue-chip.warn{box-shadow:0 2px 9px rgba(130,90,10,.12)}
:root[data-theme="light"] .anma-app .node-issue-chip.bad{box-shadow:0 2px 9px rgba(150,35,48,.12)}

/* Builder library + drop reliability */
.anma-app .category-chips{min-height:32px}
.anma-app .product-card.dragging{opacity:.55;border-color:var(--orange)}
.anma-app .canvas.drop-ready{box-shadow:inset 0 0 0 2px rgba(57,226,163,.55),var(--shadow)}
.anma-app .validation-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.anma-app .validation-head h2{margin:0}
.anma-app .check-export-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.anma-app .premium-export{text-decoration:none;color:var(--orange2)}
@media(max-width:900px){
  .anma-app .validation-head{align-items:flex-start;flex-direction:column}
  .anma-app .check-export-actions{justify-content:flex-start}
}
@media print{
  body.designer-print-report header.top,
  body.designer-print-report .library,
  body.designer-print-report .inspector,
  body.designer-print-report .project-bar,
  body.designer-print-report .site-footer,
  body.designer-print-report .page-head .btn,
  body.designer-print-report .check-export-actions{display:none!important}
  body.designer-print-report main>.wrap{max-width:none!important;padding:0!important}
  body.designer-print-report .anma-app{background:#fff!important;color:#111!important}
  body.designer-print-report #workspaceView{display:none!important}
  body.designer-print-report #simulationView{display:block!important}
  body.designer-print-report .page-shell{background:#fff!important;padding:0!important}
  body.designer-print-report .panel,
  body.designer-print-report .metric{background:#fff!important;color:#111!important;box-shadow:none!important;border-color:#bbb!important}
  body.designer-print-report .check small{color:#444!important}
}

/* Project persistence affordance */
.anma-app .save-project-btn{border-color:rgba(57,226,163,.38)}
.anma-app .save-project-btn:hover{border-color:var(--green)}
.anma-app .save-lock-badge{opacity:.82;text-decoration:none;border-style:dashed}

/* System-check equipment dossier */
.anma-app .page-shell{position:relative;overflow:hidden}
.anma-app .page-shell>*{position:relative;z-index:1}
.anma-app .report-brand-lines{
  position:absolute;z-index:0;inset:150px 0 auto 0;
  display:grid;gap:22px;pointer-events:none;user-select:none;
  transform:rotate(-7deg);transform-origin:center;
}
.anma-app .report-brand-lines span{
  display:block;text-align:center;white-space:nowrap;
  font-size:20px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--text);opacity:.025;
}
.anma-app .equipment-report{margin-top:12px;padding:14px}
.anma-app .equipment-report-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.anma-app .equipment-report-head h2{margin:0}
.anma-app .equipment-report-head small{color:var(--muted);max-width:620px;text-align:right}
.anma-app #equipmentReport{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.anma-app .equipment-card{border:1px solid var(--line);border-radius:12px;background:rgba(8,23,33,.72);padding:12px}
.anma-app .equipment-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}
.anma-app .equipment-card-title small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.8px}
.anma-app .equipment-card-title h3{margin:3px 0 0;font-size:13px}
.anma-app .equipment-qty{border:1px solid var(--line2);border-radius:999px;padding:4px 7px;font-size:10px}
.anma-app .equipment-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.anma-app .equipment-spec{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid rgba(120,148,166,.14);font-size:10px}
.anma-app .equipment-spec span{color:var(--muted)}
.anma-app .equipment-spec b{text-align:right}
.anma-app .equipment-no-spec{color:var(--muted);font-size:10px;padding:8px 0}

:root[data-theme="light"] .anma-app .equipment-card{background:#fff;border-color:#d5e0e8}
:root[data-theme="light"] .anma-app .report-brand-lines span{color:#284657;opacity:.03}

@media(max-width:1000px){
  .anma-app #equipmentReport{grid-template-columns:1fr}
  .anma-app .equipment-report-head{align-items:flex-start;flex-direction:column}
  .anma-app .equipment-report-head small{text-align:left}
}
@media print{
  body.designer-print-report .report-brand-lines{display:grid!important}
  body.designer-print-report .report-brand-lines span{color:#000!important;opacity:.035!important}
  body.designer-print-report .equipment-report{display:block!important;background:#fff!important;color:#111!important;border:1px solid #bbb!important;box-shadow:none!important}
  body.designer-print-report #equipmentReport{grid-template-columns:1fr 1fr!important}
  body.designer-print-report .equipment-card{background:#fff!important;color:#111!important;border-color:#bbb!important;break-inside:avoid}
  body.designer-print-report .equipment-card-title small,
  body.designer-print-report .equipment-spec span,
  body.designer-print-report .equipment-report-head small{color:#555!important}
  body.designer-print-report .equipment-spec{border-color:#ddd!important}
}

.anma-app .library-hidden{display:none!important}
.anma-app .product-card{position:relative}
.anma-app .product-card-copy{min-width:0;padding-right:30px}
.anma-app .library-star{position:absolute;right:25px;top:8px;z-index:4;width:24px;height:24px;border-radius:7px;border:1px solid var(--line);background:rgba(10,25,35,.92);color:#8da7b8;display:grid;place-items:center;cursor:pointer;padding:0;font-size:15px;line-height:1}
.anma-app .library-star:hover{border-color:var(--orange);color:var(--orange2)}
.anma-app .library-star.saved{color:#ffc44f;border-color:rgba(255,196,79,.5)}
.anma-app .library-empty{margin:12px 0;padding:14px;border:1px dashed var(--line2);border-radius:12px;display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px}
.anma-app .library-empty b{color:var(--text);font-size:12px}
:root[data-theme="light"] .anma-app .library-star{background:#fff;border-color:#d2dfe7;color:#758d9c}

/* Print brand/watermark: hidden on screen, repeated on every printed page. */
.anma-app .print-brand-fixed{display:none}

@media print{
  body.designer-print-report .report-brand-lines{display:none!important}

  body.designer-print-report .print-brand-fixed{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:9999!important;
    pointer-events:none!important;
    user-select:none!important;
    color:#111!important;
  }

  body.designer-print-report .print-brand-title{display:none!important}

  body.designer-print-report .print-watermark-lines{
    position:absolute!important;
    inset:26mm -18mm 14mm -18mm!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-evenly!important;
    transform:rotate(-17deg)!important;
    transform-origin:center!important;
  }
  body.designer-print-report .print-watermark-lines span{
    display:block!important;
    text-align:center!important;
    white-space:nowrap!important;
    font-family:Inter,Segoe UI,Arial,sans-serif!important;
    font-size:19pt!important;
    font-weight:850!important;
    letter-spacing:2.2px!important;
    text-transform:uppercase!important;
    color:#28343c!important;
    opacity:.045!important;
  }

  /* Keep actual report below the watermark layer, but fully readable. */
  body.designer-print-report #simulationView,
  body.designer-print-report .page-shell,
  body.designer-print-report .panel,
  body.designer-print-report .metric{
    position:relative!important;
    z-index:1!important;
  }

  /* Leave room for our own fixed brand header. */
  body.designer-print-report .page-shell{padding-top:14mm!important}
}


/* ================================================================
   ANMA Builder — tablet / phone adaptation
   Desktop (>1180px) is intentionally unchanged.
   ================================================================ */
.anma-app .mobile-library-toggle,
.anma-app .mobile-library-head,
.anma-app .mobile-library-backdrop{display:none}

/* Tablet: canvas-first UI, component library becomes a drawer,
   inspector is intentionally hidden to keep the builder usable. */
@media (max-width:1180px){
  body.designer-page{overflow:hidden}
  body.designer-page .workspace{
    position:relative;
    display:block;
    height:calc(100dvh - 104px);
    padding:8px;
  }
  body.designer-page .design-column{
    height:100%;
    grid-template-rows:auto minmax(0,1fr);
    gap:7px;
  }
  body.designer-page .inspector{display:none!important}

  .anma-app .project-bar{
    position:relative;
    z-index:42;
    gap:8px;
    flex-wrap:wrap;
    padding:7px 8px;
  }
  .anma-app .project-title-line{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    flex:1 1 260px;
  }
  .anma-app .project-title-line>b{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    min-width:0;
  }
  .anma-app .saved{display:none}
  .anma-app .mobile-library-toggle{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
    border-color:rgba(255,135,55,.45);
  }

  .anma-app .toolbar-actions{
    display:flex;
    gap:5px;
    overflow-x:auto;
    max-width:100%;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:1px;
  }
  .anma-app .toolbar-actions::-webkit-scrollbar{display:none}
  .anma-app .toolbar-actions>.btn,
  .anma-app .toolbar-actions>.icon-btn{
    flex:0 0 auto;
    min-height:38px;
    white-space:nowrap;
  }

  .anma-app .library{
    display:flex!important;
    position:fixed!important;
    top:76px!important;
    left:8px!important;
    bottom:8px!important;
    width:min(390px,calc(100vw - 24px))!important;
    height:auto!important;
    z-index:210!important;
    transform:translateX(calc(-100% - 18px));
    transition:transform .22s ease;
    box-shadow:0 24px 70px rgba(0,0,0,.58);
    opacity:1!important;
  }
  .anma-app .library.mobile-open{transform:translateX(0)}
  .anma-app .mobile-library-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:0 0 7px;
  }
  .anma-app .mobile-library-head b{font-size:12px}
  .anma-app .mobile-library-head .icon-btn{width:38px;height:36px;padding:0;font-size:20px}
  .anma-app .mobile-library-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:205;
    border:0;
    background:rgba(1,7,11,.62);
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
  }
  .anma-app .mobile-library-backdrop.active{opacity:1;pointer-events:auto}

  .anma-app .product-list{overscroll-behavior:contain}
  .anma-app .product-card,
  .anma-app .system-item{
    min-height:68px;
    cursor:pointer;
    touch-action:manipulation;
  }
  .anma-app .product-card:active,
  .anma-app .system-item:active{transform:scale(.99)}
  .anma-app .drag-mark{display:none}
  .anma-app .library-star{width:32px;height:32px;right:8px;top:8px;font-size:18px}

  .anma-app .canvas{
    min-height:0;
    height:100%;
    border-radius:13px;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y;
  }
  .anma-app .node{
    touch-action:none;
  }
  .anma-app .port-handle{
    width:18px;
    height:18px;
  }
  .anma-app .port-label{
    padding:4px 7px;
    font-size:8px;
  }
  .anma-app .zoom-control button{width:40px;height:38px}
  .anma-app .canvas-trash{
    width:112px;
    height:52px;
    left:calc(100% - 124px);
  }
  .anma-app .canvas-trash small{display:none}

  /* Reports/check screen remains readable but compact. */
  .anma-app .page-shell{padding:8px}
  .anma-app .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .anma-app .page-head{gap:8px}
  .anma-app .equipment-report{padding:10px}
}

/* Phone: deliberately minimal builder surface.
   Parameters/Documents/Inspector stay desktop-only. */
@media (max-width:700px){
  body.designer-page main>.wrap{overflow:hidden}
  body.designer-page .anma-app{min-height:calc(100dvh - 72px)}
  body.designer-page .workspace{
    height:calc(100dvh - 72px);
    padding:5px;
  }

  .anma-app .project-bar{
    border-radius:11px;
    padding:5px;
    gap:5px;
  }
  .anma-app .project-title-line{
    flex-basis:100%;
    gap:6px;
  }
  .anma-app .project-title-line>b{font-size:9px}
  .anma-app .mobile-library-toggle{
    min-height:34px;
    padding:6px 8px;
    font-size:9px;
  }
  .anma-app .toolbar-actions{
    width:100%;
    order:2;
  }
  .anma-app .toolbar-actions>.btn,
  .anma-app .toolbar-actions>.icon-btn{
    min-height:34px;
    padding:6px 8px;
    font-size:9px;
  }
  .anma-app .check-action .check-badge{display:none}

  .anma-app .library{
    top:62px!important;
    left:5px!important;
    bottom:5px!important;
    width:calc(100vw - 10px)!important;
    border-radius:14px;
    padding:9px;
  }
  .anma-app .tabs button{padding:8px 5px;font-size:11px}
  .anma-app .search-row{grid-template-columns:1fr 42px}
  .anma-app .search-row input{font-size:16px} /* prevents iOS auto zoom */
  .anma-app .category-chips{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .anma-app .category-chips::-webkit-scrollbar{display:none}
  .anma-app .cat-btn{flex:0 0 auto;padding:7px 10px;font-size:9px}
  .anma-app .product-list{gap:6px}
  .anma-app .product-card{
    grid-template-columns:44px 1fr 32px;
    padding:7px;
    min-height:62px;
  }
  .anma-app .product-card img,
  .anma-app .product-card .ph{width:44px;height:44px}
  .anma-app .product-card strong{font-size:10px}
  .anma-app .product-card small{font-size:8px}
  .anma-app .system-items{grid-template-columns:1fr 1fr 1fr}
  .anma-app .system-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:72px;
    padding:6px;
    text-align:center;
  }
  .anma-app .system-item>span{font-size:20px}
  .anma-app .system-item small{display:none}

  .anma-app .canvas-legend{display:none}
  .anma-app .canvas-help b{font-size:13px}
  .anma-app .canvas-help span{max-width:240px;font-size:8px}
  .anma-app .zoom-control{left:7px;bottom:7px}
  .anma-app .canvas-trash{right:7px;left:auto;top:auto;bottom:7px;width:52px;height:42px;padding:0}
  .anma-app .canvas-trash div{display:none}
  .anma-app .canvas-trash>span{font-size:20px}

  /* Cards are a little smaller, while ports remain touch-friendly. */
  .anma-app .node{width:220px;min-height:104px;padding:9px 10px}
  .anma-app .node-head{grid-template-columns:44px 1fr;gap:8px}
  .anma-app .node-img,.anma-app .node-ph{width:44px;height:44px}
  .anma-app .node h4{font-size:10px}
  .anma-app .node-sub{font-size:7px}
  .anma-app .node-issues{max-width:145px}
  .anma-app .node-issue-chip{max-width:145px}

  .anma-app .page-head{
    align-items:flex-start;
    flex-direction:column;
    padding:10px;
  }
  .anma-app .page-head h1{font-size:18px}
  .anma-app .metrics{grid-template-columns:1fr 1fr;gap:6px}
  .anma-app .metric{padding:10px}
  .anma-app .metric strong{font-size:17px}
  .anma-app .validation-panel{padding:10px}
  .anma-app .equipment-spec-grid{grid-template-columns:1fr}
  .anma-app .equipment-card{padding:9px}
  .anma-app .report-brand-lines{display:none}
}

/* Small phones */
@media (max-width:430px){
  .anma-app .toolbar-actions #undoBtn,
  .anma-app .toolbar-actions #redoBtn{display:none}
  .anma-app .toolbar-actions{gap:4px}
  .anma-app .toolbar-actions>.btn{font-size:8px;padding:6px 7px}
  .anma-app .node{width:205px}
  .anma-app .metrics{grid-template-columns:1fr}
}


/* ================================================================
   ANMA Builder mobile/tablet v2
   Fixed bottom undo/redo/reset/trash + scrollable system-check view.
   ================================================================ */
.anma-app .mobile-bottom-dock{display:none}
.anma-app .tablet-system-strip{display:none}


@media (max-width:1180px){
  /* In design mode, keep canvas app-like. In report mode, restore page scrolling. */
  body.designer-page:not(.designer-report-active){overflow:hidden}
  body.designer-page.designer-report-active{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    height:auto!important;
  }
  body.designer-page.designer-report-active main,
  body.designer-page.designer-report-active main>.wrap,
  body.designer-page.designer-report-active .anma-app,
  body.designer-page.designer-report-active #simulationView,
  body.designer-page.designer-report-active .page-shell{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body.designer-page.designer-report-active .workspace{display:none!important}

  /* Free the top toolbar from navigation-only controls. */
  .anma-app .toolbar-actions #undoBtn,
  .anma-app .toolbar-actions #redoBtn,
  .anma-app .toolbar-actions #resetCanvas{display:none!important}

  /* Fixed compact builder dock. */
  .anma-app .mobile-bottom-dock{
    position:fixed;
    left:50%;
    bottom:max(8px,env(safe-area-inset-bottom));
    transform:translateX(-50%);
    z-index:198;
    display:grid;
    grid-template-columns:repeat(4,minmax(62px,1fr));
    gap:5px;
    width:min(520px,calc(100vw - 20px));
    min-height:58px;
    padding:6px;
    padding-right:calc(20% + 5px);
    border:1px solid var(--line);
    border-radius:15px;
    background:rgba(7,19,29,.96);
    backdrop-filter:blur(12px);
    box-shadow:0 16px 42px rgba(0,0,0,.5);
  }
  .anma-app .mobile-dock-btn{
    appearance:none;
    border:1px solid #294454;
    border-radius:10px;
    background:#10202c;
    color:#e3edf2;
    min-height:46px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    font-size:20px;
    line-height:1;
    cursor:pointer;
    touch-action:manipulation;
  }
  .anma-app .mobile-dock-btn span{
    font-size:8px;
    line-height:1.2;
    color:#89a2b1;
  }
  .anma-app .mobile-dock-btn:active{transform:scale(.97);border-color:var(--orange)}
  .anma-app .mobile-dock-zoom{
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:4px;
    padding:0 6px;
    border:1px solid #294454;
    border-radius:10px;
    background:#10202c;
    color:#e3edf2;
  }
  .anma-app .mobile-zoom-btn{
    appearance:none;
    border:0;
    background:transparent;
    color:inherit;
    width:30px;
    height:30px;
    border-radius:8px;
    font-size:22px;
    line-height:1;
    cursor:pointer;
  }
  .anma-app .mobile-dock-zoom span{
    flex:1;
    text-align:center;
    font-size:11px;
    font-weight:700;
    letter-spacing:.02em;
  }
  .anma-app .tablet-system-strip{
    display:none;
  }

  /* Existing trash becomes the fourth fixed control in the dock. */
  .anma-app .canvas-trash{
    position:fixed!important;
    z-index:202!important;
    left:auto!important;
    right:max(10px,calc((100vw - min(520px,calc(100vw - 20px)))/2 + 6px))!important;
    bottom:max(14px,calc(env(safe-area-inset-bottom) + 6px))!important;
    top:auto!important;
    width:calc(min(520px,calc(100vw - 20px)) * .20 - 10px)!important;
    min-width:62px!important;
    max-width:110px!important;
    height:46px!important;
    border-radius:10px!important;
    opacity:.88!important;
    transform:none!important;
    pointer-events:none!important;
    background:rgba(29,17,21,.98)!important;
  }
  .anma-app .canvas-trash>span{font-size:20px}
  .anma-app .canvas-trash b{font-size:8px}
  .anma-app .canvas-trash small{display:none!important}
  .anma-app .canvas-trash.drag-active{
    opacity:1!important;
    pointer-events:auto!important;
    border-color:#9c5c62!important;
  }
  .anma-app .canvas-trash.over{
    background:#541721!important;
    transform:scale(1.04)!important;
    border-color:var(--red)!important;
    box-shadow:0 0 0 3px rgba(255,100,115,.16),0 0 28px rgba(255,100,115,.3)!important;
  }

  /* The fixed dock must not cover the usable canvas. */
  body.designer-page:not(.designer-report-active) .canvas{
    padding-bottom:132px;
  }

  /* Report/check page: actually scroll vertically on touch devices. */
  .anma-app #simulationView.active{
    overflow:visible;
  }
  .anma-app #simulationView .page-shell{
    min-height:100%;
    padding-bottom:calc(24px + env(safe-area-inset-bottom));
  }
}

@media (min-width:701px) and (max-width:1180px){
  .anma-app .system-palette{display:none!important}
  .anma-app .tablet-system-strip{
    position:fixed;
    left:50%;
    bottom:78px;
    transform:translateX(-50%);
    z-index:197;
    display:grid;
    grid-template-columns:repeat(3,minmax(110px,1fr));
    gap:6px;
    width:min(520px,calc(100vw - 20px));
    padding:6px;
    border:1px solid var(--line);
    border-radius:15px;
    background:rgba(7,19,29,.94);
    backdrop-filter:blur(12px);
    box-shadow:0 14px 34px rgba(0,0,0,.42);
  }
  .anma-app .tablet-system-btn{
    appearance:none;
    border:1px solid #294454;
    border-radius:11px;
    background:#10202c;
    color:#e3edf2;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:8px 10px;
    font-size:14px;
    cursor:pointer;
    touch-action:manipulation;
  }
  .anma-app .tablet-system-btn span{font-size:20px;color:var(--orange2)}
  .anma-app .tablet-system-btn em{font-style:normal;font-size:11px;font-weight:700;white-space:nowrap}
  .anma-app .tablet-system-btn:active{transform:scale(.98);border-color:var(--orange)}
  body.designer-page:not(.designer-report-active) .canvas{padding-bottom:188px}
}

@media (max-width:700px){
  .anma-app .mobile-bottom-dock{
    bottom:max(5px,env(safe-area-inset-bottom));
    width:calc(100vw - 10px);
    min-height:54px;
    padding:4px;
    padding-right:calc(20% + 4px);
    border-radius:12px;
    gap:4px;
  }
  .anma-app .mobile-dock-btn{
    min-height:44px;
    border-radius:9px;
    font-size:18px;
  }
  .anma-app .mobile-dock-btn span{font-size:7px}

  .anma-app .canvas-trash{
    right:9px!important;
    bottom:max(9px,calc(env(safe-area-inset-bottom) + 4px))!important;
    width:calc((100vw - 10px) * .20 - 8px)!important;
    height:44px!important;
  }

  body.designer-page:not(.designer-report-active) .canvas{padding-bottom:82px}

  /* System check should read like a normal mobile document. */
  body.designer-page.designer-report-active .site-header,
  body.designer-page.designer-report-active header.top{
    position:relative!important;
  }
  .anma-app #simulationView .page-shell{
    width:100%;
    overflow:visible!important;
  }
  .anma-app #simulationView .equipment-report,
  .anma-app #simulationView .validation-panel{
    overflow:visible!important;
  }
}

/* Light theme version of the compact dock. */
:root[data-theme="light"] .anma-app .mobile-bottom-dock{
  background:rgba(248,251,253,.97);
  border-color:#cedce5;
  box-shadow:0 14px 35px rgba(30,55,70,.2);
}
:root[data-theme="light"] .anma-app .mobile-dock-btn{
  background:#fff;
  color:#203440;
  border-color:#d2e0e8;
}
 :root[data-theme="light"] .anma-app .mobile-dock-btn span{color:#6b8290}
:root[data-theme="light"] .anma-app .mobile-dock-zoom,
:root[data-theme="light"] .anma-app .tablet-system-strip{
  background:rgba(248,251,253,.97);
  border-color:#cedce5;
  box-shadow:0 14px 35px rgba(30,55,70,.2);
}
:root[data-theme="light"] .anma-app .mobile-zoom-btn,
:root[data-theme="light"] .anma-app .mobile-dock-zoom span{color:#203440}
:root[data-theme="light"] .anma-app .tablet-system-btn{
  background:#fff;
  color:#203440;
  border-color:#d2e0e8;
}

/* ================================================================
   ANMA Builder mobile/tablet v4
   Tablet bottom system shortcuts in one row + wider zoom control +
   phone-first centering helpers.
   ================================================================ */
@media (min-width:701px) and (max-width:1366px){
  .anma-app .system-palette{display:none!important}

  .anma-app .tablet-system-strip{
    position:fixed;
    left:50%;
    bottom:82px;
    transform:translateX(-50%);
    z-index:199;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(128px,1fr));
    gap:8px;
    width:min(760px,calc(100vw - 28px));
    padding:8px;
    border:1px solid var(--line);
    border-radius:16px;
    background:rgba(7,19,29,.95);
    backdrop-filter:blur(12px);
    box-shadow:0 14px 34px rgba(0,0,0,.42);
  }
  .anma-app .tablet-system-btn{
    min-height:52px;
    padding:10px 12px;
    gap:10px;
    justify-content:center;
  }
  .anma-app .tablet-system-btn em{
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
  }

  .anma-app .mobile-bottom-dock{
    width:min(760px,calc(100vw - 28px));
    grid-template-columns:84px 84px 84px minmax(156px,1fr);
    min-height:64px;
    gap:8px;
    padding:8px;
    padding-right:calc(132px + 10px);
  }
  .anma-app .mobile-dock-btn{
    min-height:52px;
  }
  .anma-app .mobile-dock-btn span{
    font-size:10px;
  }
  .anma-app .mobile-dock-zoom{
    min-height:52px;
    min-width:156px;
    gap:10px;
    padding:0 12px;
  }
  .anma-app .mobile-dock-zoom span{
    min-width:54px;
    font-size:14px;
    text-align:center;
  }
  .anma-app .mobile-zoom-btn{
    width:34px;
    height:34px;
    font-size:24px;
  }

  .anma-app .canvas-trash{
    right:max(14px,calc((100vw - min(760px,calc(100vw - 28px)))/2 + 8px))!important;
    bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px))!important;
    width:122px!important;
    max-width:122px!important;
    height:52px!important;
  }
  .anma-app .canvas-trash b{font-size:10px}

  body.designer-page:not(.designer-report-active) .canvas{
    padding-bottom:214px;
  }
}

@media (max-width:700px){
  .anma-app .mobile-bottom-dock{
    width:min(420px,calc(100vw - 12px));
    grid-template-columns:1fr 1fr 1fr minmax(124px,1.2fr);
    padding-right:calc(92px + 4px);
  }
  .anma-app .mobile-dock-zoom{
    min-width:124px;
    gap:6px;
    padding:0 10px;
  }
  .anma-app .mobile-dock-zoom span{
    min-width:48px;
    font-size:13px;
  }
  .anma-app .canvas-trash{
    width:88px!important;
    max-width:88px!important;
  }
  body.designer-page:not(.designer-report-active) .canvas{
    scroll-behavior:smooth;
  }
}

:root[data-theme="light"] .anma-app .tablet-system-strip{
  background:rgba(248,251,253,.97);
  border-color:#cedce5;
  box-shadow:0 14px 35px rgba(30,55,70,.2);
}

/* ================================================================
   ANMA Builder mobile/tablet v5
   Tablet: one single fixed bottom row. System shortcuts live on the
   left, edit/zoom/trash controls on the right.
   ================================================================ */
@media (min-width:701px) and (max-width:1366px){
  .anma-app .tablet-system-strip{
    left:14px!important;
    right:auto!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    transform:none!important;
    width:calc(43vw - 20px)!important;
    max-width:none!important;
    min-width:300px;
    height:68px;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    padding:7px!important;
    border-radius:15px!important;
  }
  .anma-app .tablet-system-btn{
    min-width:0!important;
    min-height:52px!important;
    padding:7px 8px!important;
    gap:6px!important;
  }
  .anma-app .tablet-system-btn span{font-size:18px!important}
  .anma-app .tablet-system-btn em{
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:11px!important;
  }

  .anma-app .mobile-bottom-dock{
    left:auto!important;
    right:14px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    transform:none!important;
    width:calc(57vw - 22px)!important;
    max-width:none!important;
    min-width:395px;
    height:68px;
    min-height:68px!important;
    grid-template-columns:54px 54px 54px minmax(126px,1fr)!important;
    gap:6px!important;
    padding:7px!important;
    padding-right:100px!important;
    border-radius:15px!important;
  }
  .anma-app .mobile-dock-btn{
    min-height:52px!important;
    height:52px!important;
    padding:3px!important;
    font-size:19px!important;
  }
  .anma-app .mobile-dock-btn span{font-size:8px!important}
  .anma-app .mobile-dock-zoom{
    min-width:126px!important;
    min-height:52px!important;
    height:52px!important;
    padding:0 8px!important;
    gap:4px!important;
  }
  .anma-app .mobile-dock-zoom span{
    min-width:42px!important;
    font-size:13px!important;
  }
  .anma-app .mobile-zoom-btn{
    width:28px!important;
    height:34px!important;
    font-size:22px!important;
  }
  .anma-app .canvas-trash{
    right:21px!important;
    left:auto!important;
    bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px))!important;
    width:86px!important;
    min-width:86px!important;
    max-width:86px!important;
    height:52px!important;
  }
  .anma-app .canvas-trash>span{font-size:18px!important}
  .anma-app .canvas-trash b{font-size:9px!important}

  body.designer-page:not(.designer-report-active) .canvas{
    padding-bottom:88px!important;
  }
}

@media (min-width:701px) and (max-width:860px){
  .anma-app .tablet-system-strip{width:39vw!important;min-width:278px!important}
  .anma-app .mobile-bottom-dock{width:59vw!important;min-width:410px!important}
  .anma-app .tablet-system-btn em{font-size:9px!important}
}
.anma-app .meter-reading{font:11px/1.45 ui-monospace,monospace;color:var(--text);padding:8px 10px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.anma-app .battery-reading{margin-top:8px;border-color:rgba(57,226,163,.38);background:rgba(10,43,33,.28);border-radius:8px}
.anma-app .battery-reading[data-level="bad"]{border-color:var(--red);background:rgba(75,20,29,.28)}
.anma-app .edge-flow.forward{animation:anma-flow-forward 1.1s linear infinite}
.anma-app .edge-flow.reverse{animation:anma-flow-reverse 1.1s linear infinite}
@keyframes anma-flow-forward{to{stroke-dashoffset:-40}}
@keyframes anma-flow-reverse{to{stroke-dashoffset:40}}
.anma-app .selection-box{display:none;position:absolute;border:1px solid var(--orange);background:rgba(255,135,55,.13);pointer-events:none;z-index:4}
.anma-app .selection-hint{position:sticky;top:32px;left:12px;display:inline-block;max-width:390px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;color:#a9bdc8;background:rgba(8,22,31,.9);font-size:11px;line-height:1.35;pointer-events:none;z-index:4}
@media(max-width:700px){.anma-app .selection-hint{display:none}}
.anma-app .library .tabs button{font-size:14px;line-height:1.35}
.anma-app .inspector-tabs button{font-size:13px;line-height:1.35;padding:8px 3px;white-space:nowrap}
.anma-app .library .cat-btn{font-size:12px}
.anma-app .library .product-card strong,.anma-app .library .system-item b{font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.anma-app .library .product-card small,.anma-app .library .system-item small,.anma-app .library .palette-title{font-size:11px;line-height:1.4}
.anma-app .library .product-card{grid-template-columns:50px minmax(0,1fr) 26px}
.anma-app .library .product-card-copy{padding-right:0}
.anma-app .library .library-star{position:static;grid-column:3;grid-row:1;align-self:start;width:26px;height:26px}
.anma-app .library .product-card .drag-mark{display:none}
@media(max-width:700px){.anma-app .library .product-card{grid-template-columns:44px minmax(0,1fr) 26px}}
.anma-app .inspector .subline,.anma-app .inspector .control-card label,.anma-app .inspector .spec-row,.anma-app .inspector .port-item,.anma-app .inspector .doc-link,.anma-app .inspector .empty-inspector{font-size:12px;line-height:1.45}
.anma-app .inspector .spec-section h3{font-size:14px}
.anma-app .inspector .spec-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.anma-app .inspector .spec-row b{max-width:none;overflow-wrap:anywhere}
.anma-app .inspector .port-item{grid-template-columns:10px minmax(52px,auto) minmax(0,1fr);overflow-wrap:anywhere}
.anma-app .inspector .doc-card{align-items:flex-start;flex-wrap:wrap}
.anma-app .inspector .doc-card>div{min-width:0;overflow-wrap:anywhere}
.anma-app .inspector .doc-card b{font-size:13px;line-height:1.4}
.anma-app .inspector .doc-card small{font-size:11px;line-height:1.4}
.anma-app .inspector .doc-card a{font-size:12px;line-height:1.4}
.anma-app .inspector-tabs button{min-width:0}
.anma-app #simulationView .page-head{gap:12px;flex-wrap:wrap}
.anma-app #simulationView .page-head>div:first-child{min-width:240px;flex:1 1 300px}
.anma-app #simulationView .page-head .check-export-actions{flex:0 1 auto}
@media(max-width:700px){.anma-app #simulationView .page-head .check-export-actions{justify-content:flex-start;width:100%}.anma-app #simulationView .page-head .check-export-actions .btn{font-size:12px;padding:7px}}
.anma-app .control-card p{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.anma-app .estimate-panel{padding:18px;border-radius:14px;scroll-margin-top:12px}
.anma-app .estimate-panel[hidden]{display:none}
.anma-app .estimate-head,.anma-app .estimate-item-main{display:flex;align-items:center;justify-content:space-between;gap:12px}
.anma-app .estimate-head h2{margin:0 0 12px;font-size:20px}
.anma-app .estimate-country,.anma-app .estimate-notice,.anma-app .estimate-footnote{color:#a8bfcd;font-size:13px;line-height:1.5}
.anma-app .estimate-total{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:14px;margin-bottom:12px;border:1px solid #345568;border-radius:11px;background:#102432}
.anma-app .estimate-total b{font-size:25px;color:#fff}
.anma-app .estimate-total small{flex-basis:100%;font-size:12px;color:#a8bfcd}
.anma-app .estimate-groups{display:grid;gap:18px;margin-top:14px}
.anma-app .estimate-group{min-width:0}
.anma-app .estimate-group-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 9px;padding:0 2px 8px;border-bottom:1px solid #345568}
.anma-app .estimate-group-head h3{margin:0;font-size:17px;color:#fff}
.anma-app .estimate-group-head>span{font-size:13px;color:#a8bfcd}
.anma-app .estimate-group-head>strong{margin-left:auto;font-size:15px;color:#fff}
.anma-app .estimate-group-head>strong small{display:block;font-size:11px;font-weight:400;color:#a8bfcd;text-align:right}
.anma-app .estimate-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.anma-app .estimate-item{padding:13px;border:1px solid var(--line);border-radius:11px;background:#0b1b27;min-width:0}
.anma-app .estimate-item-main b{overflow-wrap:anywhere}
.anma-app .estimate-item-main strong{white-space:nowrap}
.anma-app .estimate-item>small{display:block;margin-top:5px;color:#a8bfcd;font-size:12px}
.anma-app .estimate-sources{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px;font-size:12px}
.anma-app .estimate-source{padding:5px 7px;border:1px solid #294658;border-radius:7px}
.anma-app .estimate-source a{color:#78ccff}
.anma-app .estimate-source small{display:block;max-width:240px;color:#95adbc;overflow-wrap:anywhere}
.anma-app .estimate-checks{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.anma-app .estimate-check{padding:4px 6px;border:1px solid #355062;border-radius:999px;color:#a9bdc9;font-size:11px}
.anma-app .estimate-check.found{border-color:#247d62;color:#63e0b0}
.anma-app a.estimate-check{text-decoration:none}
.anma-app a.estimate-check:hover{border-color:#78ccff;color:#d8f1ff}
@media(max-width:850px){.anma-app .estimate-items{grid-template-columns:1fr}.anma-app .estimate-item-main{align-items:flex-start;flex-wrap:wrap}.anma-app .estimate-group-head>strong{margin-left:0;width:100%}.anma-app .estimate-group-head>strong small{text-align:left}}
@media (min-width:1181px) and (max-width:1450px){
  .anma-app .design-column{grid-template-rows:auto minmax(0,1fr)}
  .anma-app .project-bar{flex-wrap:wrap;gap:6px}
  .anma-app .project-title-line{flex:1 1 100%;min-width:0}
  .anma-app .toolbar-actions{flex-wrap:wrap;max-width:100%}
}
.anma-app .node-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;position:relative;z-index:3}
.anma-app .node-controls button{min-width:36px;min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font-size:20px;cursor:pointer}
.anma-app .node-controls output{font-size:13px;font-weight:700}
.anma-app .port.capacity-full{opacity:.35;cursor:not-allowed}
.anma-app .transfer-controls select{max-width:150px;min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:5px}
.anma-app .transfer-controls label{display:flex;align-items:center;gap:7px;font-size:11px}
.anma-app .transfer-check{display:flex;align-items:flex-start;gap:8px;line-height:1.4}
.anma-app .transfer-check input{flex:none;margin-top:3px}

/* Keep the dedicated System Check report readable at normal browser zoom. */
.anma-app #simulationView .page-head h1{font-size:24px}
.anma-app #simulationView .page-head p{font-size:14px;line-height:1.45}
.anma-app #simulationView .page-head .btn,
.anma-app #simulationView .check-export-actions .btn{font-size:14px}
.anma-app #simulationView .metric b{font-size:24px}
.anma-app #simulationView .metric small{font-size:14px}
.anma-app #simulationView .equipment-report-head h2,
.anma-app #simulationView .validation-head h2{font-size:20px}
.anma-app #simulationView .equipment-report-head small{font-size:14px;line-height:1.45}
.anma-app #simulationView .equipment-card{min-width:0}
.anma-app #simulationView .equipment-card-title>div{min-width:0}
.anma-app #simulationView .equipment-card-title small{font-size:12px}
.anma-app #simulationView .equipment-card-title h3{font-size:17px;line-height:1.35;overflow-wrap:anywhere}
.anma-app #simulationView .equipment-qty{font-size:12px}
.anma-app #simulationView .equipment-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.anma-app #simulationView .equipment-spec{min-width:0;font-size:14px;line-height:1.45}
.anma-app #simulationView .equipment-spec span,
.anma-app #simulationView .equipment-spec b{min-width:0;overflow-wrap:anywhere}
.anma-app #simulationView .equipment-spec span{flex:1 1 42%}
.anma-app #simulationView .equipment-spec b{flex:1 1 58%}
.anma-app #simulationView .equipment-no-spec{font-size:14px}
.anma-app #simulationView .sim-state b{font-size:16px}
.anma-app #simulationView .sim-state small{font-size:14px;line-height:1.45}
.anma-app #simulationView .check b{font-size:16px;line-height:1.4}
.anma-app #simulationView .check small{font-size:14px;line-height:1.45}
@media(max-width:1000px){
  .anma-app #simulationView .report-brand-lines{display:none}
}
@media(max-width:600px){
  .anma-app #simulationView .sim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .anma-app #simulationView .equipment-spec-grid{grid-template-columns:1fr}
  .anma-app #simulationView .page-head h1{font-size:21px}
  .anma-app #simulationView .metric b{font-size:20px}
}

/* ================================================================
   ANMA Builder release badge / changelog + phone system palette v0.5
   ================================================================ */
.anma-app .system-label-phone{display:none}
.anma-app .builder-version-badge{
  appearance:none;border:1px solid rgba(255,135,55,.42);background:rgba(255,135,55,.08);
  color:#ffad78;border-radius:999px;padding:3px 7px;margin-left:6px;font-size:8px;font-weight:850;
  letter-spacing:.03em;cursor:pointer;white-space:nowrap;transition:.16s ease;
}
.anma-app .builder-version-badge span{font-size:6px;letter-spacing:.08em;opacity:.76}
.anma-app .builder-version-badge:hover{border-color:var(--orange);background:rgba(255,135,55,.14);transform:translateY(-1px)}
.anma-app .builder-updates-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:16px}
.anma-app .builder-updates-modal[hidden]{display:none!important}
.anma-app .builder-updates-backdrop{position:absolute;inset:0;border:0;background:rgba(2,8,13,.72);backdrop-filter:blur(6px);cursor:default}
.anma-app .builder-updates-card{position:relative;width:min(760px,calc(100vw - 24px));max-height:min(760px,calc(100dvh - 28px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #294555;border-radius:20px;background:linear-gradient(180deg,#0d1c27,#08151e);box-shadow:0 28px 80px rgba(0,0,0,.58)}
.anma-app .builder-updates-head{display:flex;justify-content:space-between;gap:18px;padding:20px 22px 14px;border-bottom:1px solid var(--line)}
.anma-app .builder-release-kicker{display:block;color:var(--orange);font-size:9px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
.anma-app .builder-updates-head h2{margin:0;font-size:24px;line-height:1.1}
.anma-app .builder-updates-head h2 em{font-style:normal;font-size:9px;vertical-align:middle;margin-left:6px;padding:3px 7px;border:1px solid rgba(255,135,55,.45);border-radius:999px;color:#ffad78;background:rgba(255,135,55,.08)}
.anma-app .builder-updates-head p{margin:7px 0 0;max-width:560px;color:#8da5b4;font-size:11px;line-height:1.45}
.anma-app .builder-updates-close{width:38px;height:38px;flex:0 0 auto;border:1px solid var(--line);border-radius:11px;background:#10222e;color:#dbe7ed;font-size:24px;line-height:1;cursor:pointer}
.anma-app .builder-updates-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:10px 14px 0}
.anma-app .builder-updates-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:#7894a6;padding:10px 6px;font-size:11px;font-weight:750;cursor:pointer}
.anma-app .builder-updates-tabs button.active{color:#f4f8fa;border-color:var(--orange)}
.anma-app .builder-updates-body{padding:14px 18px 20px;overflow:auto;overscroll-behavior:contain}
.anma-app .builder-release-panel{display:none}.anma-app .builder-release-panel.active{display:block}
.anma-app .builder-release{border:1px solid #203b4b;border-radius:14px;background:rgba(12,29,40,.72);padding:14px;margin-bottom:10px}
.anma-app .builder-release.current{border-color:rgba(255,135,55,.42);background:linear-gradient(135deg,rgba(255,135,55,.08),rgba(12,29,40,.8))}
.anma-app .builder-release-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.anma-app .builder-release-title>div{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.anma-app .builder-release-title b{font-size:14px;color:#fff}.anma-app .builder-release-title span{font-size:11px;color:#99afbc}.anma-app .builder-release-title small{font-size:8px;color:#ffad78;text-transform:uppercase;letter-spacing:.08em}
.anma-app .builder-release p,.anma-app .builder-release li{color:#a4b7c2;font-size:10px;line-height:1.52}.anma-app .builder-release p{margin:0}.anma-app .builder-release ul{margin:7px 0 0;padding-left:18px}.anma-app .builder-release li+li{margin-top:4px}
.anma-app .builder-roadmap-note{margin-bottom:10px;padding:9px 11px;border:1px solid #294656;border-radius:10px;color:#8fa6b4;background:#0d202c;font-size:9px}
.anma-app .builder-roadmap-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.anma-app .builder-roadmap-list li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;padding:11px;border:1px solid #203b4b;border-radius:12px;background:#0b1b25}.anma-app .builder-roadmap-list li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:rgba(255,135,55,.09);color:var(--orange);font-size:9px;font-weight:850}.anma-app .builder-roadmap-list b{display:block;font-size:11px}.anma-app .builder-roadmap-list small{display:block;color:#7f98a8;font-size:9px;line-height:1.4;margin-top:2px}
:root[data-theme="light"] .anma-app .builder-updates-card{background:linear-gradient(180deg,#fff,#f5f9fb);border-color:#c9d9e3;box-shadow:0 26px 70px rgba(27,53,70,.26)}
:root[data-theme="light"] .anma-app .builder-updates-backdrop{background:rgba(32,47,58,.42)}
:root[data-theme="light"] .anma-app .builder-updates-close,:root[data-theme="light"] .anma-app .builder-release,:root[data-theme="light"] .anma-app .builder-roadmap-list li{background:#fff;border-color:#d4e1e8;color:#17242e}
:root[data-theme="light"] .anma-app .builder-updates-tabs button.active,:root[data-theme="light"] .anma-app .builder-release-title b{color:#17242e}
:root[data-theme="light"] .anma-app .builder-release p,:root[data-theme="light"] .anma-app .builder-release li{color:#526d7d}

@media(max-width:700px){
  /* The component sheet uses one compact row for all four system elements. */
  .anma-app .library .system-items{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px}
  .anma-app .library .system-item{min-height:64px!important;padding:5px 3px!important;gap:2px!important;border-radius:10px}
  .anma-app .library .system-item>span{font-size:18px!important;line-height:1}
  .anma-app .library .system-item b{font-size:9px!important;line-height:1.12;white-space:nowrap}
  .anma-app .library .system-label-full{display:none}.anma-app .library .system-label-phone{display:inline}
  .anma-app .builder-version-badge{margin-left:0;padding:3px 6px;font-size:7px}.anma-app .builder-version-badge span{font-size:5px}
  .anma-app .builder-updates-modal{padding:6px;align-items:end}
  .anma-app .builder-updates-card{width:100%;max-height:88dvh;border-radius:18px 18px 10px 10px}
  .anma-app .builder-updates-head{padding:16px 15px 11px}.anma-app .builder-updates-head h2{font-size:20px}.anma-app .builder-updates-head p{font-size:10px}
  .anma-app .builder-updates-tabs{padding:8px 8px 0}.anma-app .builder-updates-tabs button{font-size:9px;padding:9px 3px}
  .anma-app .builder-updates-body{padding:11px 10px 14px}.anma-app .builder-release{padding:11px}.anma-app .builder-release-title b{font-size:12px}.anma-app .builder-release-title span{font-size:9px}
}


/* v0.5.1: keep desktop zoom controls attached to the visible trash corner. */
@media (min-width:981px){
  .anma-app .canvas-corner-controls{
    position:sticky;
    left:calc(100% - 282px);
    top:calc(100% - 84px);
    width:max-content;
    height:58px;
    z-index:62;
    display:flex;
    align-items:center;
    gap:8px;
    pointer-events:none;
  }
  .anma-app .canvas-corner-controls .zoom-control{
    position:static;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    height:44px;
    min-width:124px;
    pointer-events:auto;
    box-shadow:0 10px 24px rgba(0,0,0,.28);
    backdrop-filter:blur(7px);
  }
  .anma-app .canvas-corner-controls .zoom-control button{width:38px;height:42px;font-size:20px}
  .anma-app .canvas-corner-controls .zoom-control span{min-width:48px;text-align:center;padding:0 5px;font-size:10px}
  .anma-app .canvas-corner-controls .canvas-trash{
    position:static;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    margin:0;
    pointer-events:none;
  }
}
@media (max-width:980px){
  .anma-app .canvas-corner-controls{display:contents}
}


/* ================================================================
   ANMA Builder — phone dashboard / game-like flow prototype
   Phone only. Desktop and tablet builder remain unchanged.
   ================================================================ */
.anma-app .mobile-game-dashboard,
.anma-app .mobile-inspector-head,
.anma-app .mobile-inspector-context{display:none}

@media(max-width:700px){
  body.designer-page:not(.designer-report-active){overflow:hidden!important}
  body.designer-page .workspace{padding:0!important;height:calc(100dvh - 72px)!important;background:#071019}
  body.designer-page .design-column{display:block!important;height:100%!important}

  /* The phone uses a dashboard instead of a scaled desktop canvas. */
  .anma-app .project-bar,
  .anma-app .canvas,
  .anma-app .mobile-bottom-dock,
  .anma-app .tablet-system-strip{display:none!important}

  .anma-app .mobile-game-dashboard{
    display:flex;
    height:100%;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    flex-direction:column;
    padding:14px 12px calc(84px + env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at 50% 32%,rgba(255,135,55,.09),transparent 34%),
      linear-gradient(180deg,#071019 0%,#08131c 100%);
  }
  .anma-app .mobile-game-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
  .anma-app .mobile-game-top>div{min-width:0;display:flex;flex-direction:column}
  .anma-app .mobile-game-brand{font-size:18px;font-weight:900;letter-spacing:.04em;color:var(--orange2);line-height:1}
  .anma-app .mobile-game-top b{font-size:13px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
  .anma-app .mobile-game-status{appearance:none;border:1px solid #24404e;background:#0d1c26;color:#bdd0da;border-radius:999px;min-height:34px;padding:0 11px;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:750}
  .anma-app .mobile-game-status i{width:8px;height:8px;border-radius:50%;background:#8295a0;box-shadow:0 0 0 4px rgba(130,149,160,.08)}
  .anma-app .mobile-game-status.good i{background:#39e2a3;box-shadow:0 0 0 4px rgba(57,226,163,.09)}
  .anma-app .mobile-game-status.warn i{background:#f2bf4b;box-shadow:0 0 0 4px rgba(242,191,75,.09)}
  .anma-app .mobile-game-status.bad i{background:#ff6473;box-shadow:0 0 0 4px rgba(255,100,115,.09)}

  .anma-app .mobile-energy-map{
    position:relative;
    display:grid;
    grid-template-columns:1fr 1.08fr 1fr;
    grid-template-rows:82px 92px 96px 82px;
    gap:9px;
    min-height:397px;
    padding:9px;
    border:1px solid #1d3542;
    border-radius:22px;
    background:linear-gradient(180deg,rgba(14,31,42,.92),rgba(8,20,29,.96));
    box-shadow:0 18px 50px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.02);
    overflow:hidden;
  }
  .anma-app .mobile-flow-line{position:absolute;z-index:0;background:linear-gradient(90deg,transparent,#315366 15%,#315366 85%,transparent);opacity:.72;pointer-events:none}
  .anma-app .mobile-flow-line-v{width:2px;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,transparent,#315366 15%,#315366 85%,transparent)}
  .anma-app .mobile-flow-line-v.top{top:76px;height:80px}
  .anma-app .mobile-flow-line-v.bottom{top:238px;height:86px}
  .anma-app .mobile-flow-line-h.middle{height:2px;left:53px;right:53px;top:221px}
  .anma-app .mobile-flow-line-h.lower{height:2px;left:74px;right:74px;top:312px;opacity:.48}

  .anma-app .mobile-energy-card,
  .anma-app .mobile-house-card{
    position:relative;z-index:2;appearance:none;border:1px solid #254250;background:#0d1d28;color:#e9f1f5;border-radius:17px;padding:8px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px;box-shadow:0 8px 22px rgba(0,0,0,.18);touch-action:manipulation
  }
  .anma-app .mobile-energy-card:active,.anma-app .mobile-house-card:active{transform:scale(.975);border-color:var(--orange)}
  .anma-app .mobile-energy-card.configured{border-color:rgba(57,226,163,.34);background:linear-gradient(180deg,#0f2530,#0b1c25)}
  .anma-app .mobile-energy-card .m-icon{font-size:24px;line-height:1;margin-bottom:2px}
  .anma-app .mobile-energy-card .m-title{font-size:9px;line-height:1.1;text-transform:uppercase;letter-spacing:.07em;color:#8da8b7}
  .anma-app .mobile-energy-card .m-value{display:block;width:100%;font-size:11px;line-height:1.15;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .anma-app .mobile-energy-card .m-sub{display:block;width:100%;font-size:8px;line-height:1.15;color:#6f8b9a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .anma-app .mobile-energy-card .m-add{font-size:9px;font-weight:800;color:var(--orange2)}
  .anma-app .mobile-energy-card.solar{grid-column:1;grid-row:1}
  .anma-app .mobile-energy-card.micro{grid-column:3;grid-row:1}
  .anma-app .mobile-energy-card.inverter{grid-column:2;grid-row:2;border-color:rgba(255,135,55,.38);box-shadow:0 0 30px rgba(255,135,55,.06)}
  .anma-app .mobile-energy-card.grid{grid-column:1;grid-row:3}
  .anma-app .mobile-house-card{grid-column:2;grid-row:3;border-color:rgba(69,158,255,.42);background:linear-gradient(180deg,#122a38,#0d202b)}
  .anma-app .mobile-energy-card.battery{grid-column:3;grid-row:3}
  .anma-app .mobile-energy-card.generator{grid-column:1;grid-row:4}
  .anma-app .mobile-energy-card.load{grid-column:3;grid-row:4}
  .anma-app .mobile-house-card .house-roof{font-size:31px;line-height:.8;color:#62a8ff;text-shadow:0 0 20px rgba(98,168,255,.24)}
  .anma-app .mobile-house-card b{font-size:12px;letter-spacing:.08em;margin-top:4px}
  .anma-app .mobile-house-card small{font-size:8px;color:#7893a1}

  .anma-app .mobile-builder-hint{margin:12px 2px 8px;display:flex;flex-direction:column;gap:3px}
  .anma-app .mobile-builder-hint b{font-size:12px}
  .anma-app .mobile-builder-hint span{font-size:9px;color:#7893a1;line-height:1.35}
  .anma-app .mobile-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .anma-app .mobile-quick-card{border:1px solid #1e3643;border-radius:14px;background:#0c1a24;padding:10px 11px;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:9px}
  .anma-app .mobile-quick-card span{font-size:9px;color:#7893a1}
  .anma-app .mobile-quick-card b{display:block;font-size:13px;margin-top:2px;color:#e7eff3}
  .anma-app .mobile-quick-card em{font-style:normal;font-size:19px}

  .anma-app .mobile-game-nav{position:fixed;z-index:190;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));height:62px;border:1px solid #213b49;border-radius:18px;background:rgba(8,21,30,.96);backdrop-filter:blur(14px);box-shadow:0 18px 45px rgba(0,0,0,.45);display:grid;grid-template-columns:repeat(3,1fr);padding:5px;gap:4px}
  .anma-app .mobile-game-nav button{appearance:none;border:0;background:transparent;color:#708b9a;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;font-size:18px}
  .anma-app .mobile-game-nav button b{font-size:8px;font-weight:700}
  .anma-app .mobile-game-nav button.active{background:#10232e;color:var(--orange2)}

  /* Device settings become a real phone bottom sheet. */
  .anma-app .inspector.mobile-sheet-open{
    display:flex!important;
    position:fixed!important;
    z-index:260!important;
    left:7px!important;right:7px!important;bottom:7px!important;top:76px!important;
    width:auto!important;height:auto!important;max-height:calc(100dvh - 83px)!important;
    flex-direction:column!important;
    border-radius:22px!important;
    padding:0 12px 14px!important;
    background:#091720!important;
    box-shadow:0 -12px 55px rgba(0,0,0,.62)!important;
    overflow:hidden!important;
  }
  .anma-app .mobile-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 2px 9px;flex:0 0 auto}
  .anma-app .mobile-inspector-head>div{display:flex;flex-direction:column;min-width:0}
  .anma-app .mobile-inspector-head span{font:8px ui-monospace,monospace;color:#6d8897;letter-spacing:.13em}
  .anma-app .mobile-inspector-head b{font-size:14px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .anma-app .mobile-inspector-head button{appearance:none;border:1px solid #294452;background:#10222d;color:#d9e5eb;width:38px;height:38px;border-radius:12px;font-size:22px}
  .anma-app .mobile-inspector-context{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 0 9px;flex:0 0 auto}
  .anma-app .mobile-context-stat{border:1px solid #1d3744;border-radius:11px;background:#0e202b;padding:7px;min-width:0;text-align:center}
  .anma-app .mobile-context-stat span{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.07em;color:#6c8796}
  .anma-app .mobile-context-stat b{display:block;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .anma-app .mobile-context-action{grid-column:auto;appearance:none;border:1px dashed rgba(255,135,55,.48);border-radius:11px;background:rgba(255,135,55,.06);color:var(--orange2);min-height:44px;padding:6px;font-size:9px;font-weight:800}
  .anma-app .inspector.mobile-sheet-open .inspector-tabs{display:flex!important;flex:0 0 auto}
  .anma-app .inspector.mobile-sheet-open #inspector{overflow-y:auto!important;padding-bottom:28px!important;-webkit-overflow-scrolling:touch}
  .anma-app .inspector.mobile-sheet-open .inspector-hero img{max-height:150px;object-fit:contain}
  .anma-app .inspector.mobile-sheet-open h2{font-size:17px}
  .anma-app .inspector.mobile-sheet-open .control-card{padding:12px;border-radius:14px}
  .anma-app .inspector.mobile-sheet-open input,.anma-app .inspector.mobile-sheet-open select{font-size:16px}

  /* Library remains full-screen when choosing a product. */
  .anma-app .library.mobile-open{z-index:280!important;top:72px!important}
  .anma-app .mobile-library-backdrop.active{z-index:275!important}
}

:root[data-theme="light"] .anma-app .mobile-game-dashboard{background:#f5f9fb}
:root[data-theme="light"] .anma-app .mobile-energy-map,
:root[data-theme="light"] .anma-app .mobile-energy-card,
:root[data-theme="light"] .anma-app .mobile-house-card,
:root[data-theme="light"] .anma-app .mobile-quick-card,
:root[data-theme="light"] .anma-app .mobile-game-status{background:#fff;color:#243a46;border-color:#d5e3ea}
:root[data-theme="light"] .anma-app .mobile-game-nav{background:rgba(248,252,254,.97);border-color:#d1e0e7}
:root[data-theme="light"] .anma-app .inspector.mobile-sheet-open{background:#f7fbfd!important}

@media(max-width:700px){
  .anma-app .mobile-energy-card.good,
  .anma-app .mobile-house-card.good{border-color:rgba(57,226,163,.45)!important;background:linear-gradient(180deg,rgba(16,46,36,.98),rgba(11,29,23,.98))!important;box-shadow:0 0 0 1px rgba(57,226,163,.05),0 0 28px rgba(57,226,163,.07)!important}
  .anma-app .mobile-energy-card.warn,
  .anma-app .mobile-house-card.warn{border-color:rgba(242,191,75,.5)!important;background:linear-gradient(180deg,rgba(52,38,14,.98),rgba(30,24,12,.98))!important;box-shadow:0 0 0 1px rgba(242,191,75,.04),0 0 28px rgba(242,191,75,.06)!important}
  .anma-app .mobile-energy-card.bad,
  .anma-app .mobile-house-card.bad{border-color:rgba(255,100,115,.52)!important;background:linear-gradient(180deg,rgba(58,19,26,.98),rgba(33,14,19,.98))!important;box-shadow:0 0 0 1px rgba(255,100,115,.04),0 0 28px rgba(255,100,115,.06)!important}
  .anma-app .mobile-energy-card.empty,
  .anma-app .mobile-house-card.empty{border-color:#264150!important}
  .anma-app .mobile-context-stat.good{border-color:rgba(57,226,163,.28)}
  .anma-app .mobile-context-stat.warn{border-color:rgba(242,191,75,.34)}
  .anma-app .mobile-context-stat.bad{border-color:rgba(255,100,115,.34)}
  .anma-app .mobile-context-action.secondary{border-style:solid;border-color:#305263;background:#122735;color:#d6e5ed}
  .anma-app .mobile-context-action.danger{border-style:solid;border-color:rgba(255,100,115,.55);background:rgba(88,20,33,.18);color:#ff9ca7}
  .anma-app .inline-control-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
  .anma-app .inline-control-row .btn{min-height:46px;white-space:nowrap}
  .anma-app .control-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .anma-app .btn.btn-danger{border-color:rgba(255,100,115,.55);background:rgba(88,20,33,.18);color:#ffb2bb}
}

.anma-app .mobile-pv-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 8px}
.anma-app .mobile-pv-tab{border:1px solid #2b5663;background:#0f2532;color:#dcebf3;border-radius:12px;padding:10px 12px;font-weight:700;font-size:13px;line-height:1;min-height:40px}
.anma-app .mobile-pv-tab.active{border-color:#ff962f;color:#ffb46f;box-shadow:0 0 0 1px rgba(255,150,47,.16) inset}
.anma-app .mobile-pv-tab.busy,.anma-app .mobile-pv-tab:disabled{opacity:.45;cursor:not-allowed}
.anma-app .mobile-pv-target-text,.anma-app .control-mini-head{color:#8fa6b7}
.anma-app .control-mini-head{display:block;margin-bottom:6px;letter-spacing:.02em}
.anma-app .focused-diagnostics{margin-bottom:14px}
.anma-app .focused-diagnostics-main{display:grid;gap:14px}
.anma-app .focused-diagnostics-card h3{margin:4px 0 12px}
.anma-app .focused-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,150,47,.38);background:rgba(255,150,47,.08);color:#ffb46f;font-size:12px;font-weight:800;margin-bottom:10px}
.anma-app .focused-equipment-card{border-color:rgba(255,150,47,.32)!important;box-shadow:0 0 0 1px rgba(255,150,47,.08) inset}
@media(max-width:700px){
  .anma-app .focused-diagnostics-main{grid-template-columns:1fr}
}

/* Mobile PV manager: every physical PV input/string is edited independently. */
@media(max-width:700px){
  .anma-app .mobile-pv-manager{display:grid;gap:12px}
  .anma-app .mobile-pv-manager-head small{display:block;color:#7f9aaa;font-size:11px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px}
  .anma-app .mobile-pv-manager-head h3{margin:0;font-size:18px}
  .anma-app .mobile-pv-tabs.manager-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:2px 0 6px}
  .anma-app .mobile-pv-tabs.manager-tabs .mobile-pv-tab{display:grid;gap:5px;justify-items:start;min-height:58px;padding:10px 12px;text-align:left}
  .anma-app .mobile-pv-tabs.manager-tabs .mobile-pv-tab b{font-size:14px}
  .anma-app .mobile-pv-tabs.manager-tabs .mobile-pv-tab small{font-size:11px;color:#84a0b1;font-weight:600}
  .anma-app .mobile-pv-tabs.manager-tabs .mobile-pv-tab.filled{border-color:rgba(57,226,163,.34)}
  .anma-app .mobile-pv-tabs.manager-tabs .mobile-pv-tab.active{border-color:#ff962f;box-shadow:0 0 0 1px rgba(255,150,47,.12) inset}
  .anma-app .mobile-pv-empty{display:grid;gap:10px}
  .anma-app .mobile-pv-empty h3,.anma-app .mobile-pv-empty p{margin:0}
  .anma-app .mobile-pv-limit{margin:9px 0 0;color:#8ca5b5;font-size:12px}
  .anma-app .mobile-quick-card small{display:block;color:#7f9aaa;font-size:11px;margin-top:4px}
}

/* Mobile nav expanded with reset action */
.anma-app .mobile-game-nav{grid-template-columns:repeat(4,1fr)}
.anma-app .mobile-game-nav button span{line-height:1}
.anma-app .mobile-game-nav button b{font-size:8px;font-weight:700}

/* Light theme: keep status cards clean, with contour emphasis instead of filled patches. */
:root[data-theme="light"] .anma-app .mobile-energy-card.good,
:root[data-theme="light"] .anma-app .mobile-house-card.good{
  background:#fff!important;
  border-color:rgba(57,164,116,.65)!important;
  box-shadow:0 0 0 1px rgba(57,164,116,.10),0 10px 26px rgba(45,77,62,.08)!important;
}
:root[data-theme="light"] .anma-app .mobile-energy-card.warn,
:root[data-theme="light"] .anma-app .mobile-house-card.warn{
  background:#fff!important;
  border-color:rgba(214,151,22,.75)!important;
  box-shadow:0 0 0 1px rgba(214,151,22,.08),0 10px 26px rgba(110,86,22,.06)!important;
}
:root[data-theme="light"] .anma-app .mobile-energy-card.bad,
:root[data-theme="light"] .anma-app .mobile-house-card.bad{
  background:#fff!important;
  border-color:rgba(203,72,93,.72)!important;
  box-shadow:0 0 0 1px rgba(203,72,93,.08),0 10px 26px rgba(108,47,59,.06)!important;
}
:root[data-theme="light"] .anma-app .mobile-energy-card.good .m-icon,
:root[data-theme="light"] .anma-app .mobile-house-card.good .house-roof{color:#2d9d71!important;text-shadow:none!important}
:root[data-theme="light"] .anma-app .mobile-energy-card.warn .m-icon,
:root[data-theme="light"] .anma-app .mobile-house-card.warn .house-roof{color:#d3921f!important;text-shadow:none!important}
:root[data-theme="light"] .anma-app .mobile-energy-card.bad .m-icon,
:root[data-theme="light"] .anma-app .mobile-house-card.bad .house-roof{color:#cb485d!important;text-shadow:none!important}
:root[data-theme="light"] .anma-app .mobile-energy-card.good .m-value,
:root[data-theme="light"] .anma-app .mobile-house-card.good b,
:root[data-theme="light"] .anma-app .mobile-energy-card.warn .m-value,
:root[data-theme="light"] .anma-app .mobile-house-card.warn b,
:root[data-theme="light"] .anma-app .mobile-energy-card.bad .m-value,
:root[data-theme="light"] .anma-app .mobile-house-card.bad b{color:#1f3440!important}
:root[data-theme="light"] .anma-app .mobile-energy-card.good .m-sub,
:root[data-theme="light"] .anma-app .mobile-energy-card.warn .m-sub,
:root[data-theme="light"] .anma-app .mobile-energy-card.bad .m-sub,
:root[data-theme="light"] .anma-app .mobile-house-card small{color:#658090!important}


/* Phone report: remove the large empty hero gap and keep the check page compact. */
@media(max-width:700px){
  body.designer-page.designer-report-active,
  body.designer-page.designer-report-active main,
  body.designer-page.designer-report-active main>.wrap,
  body.designer-page.designer-report-active .anma-app,
  .anma-app #simulationView,
  .anma-app #simulationView .page-shell{overflow-x:hidden!important;max-width:100%!important}
  .anma-app #simulationView .page-shell{padding:6px!important;gap:8px!important}
  .anma-app #simulationView .page-head{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    padding:12px!important;
    margin:0!important;
  }
  .anma-app #simulationView .page-head>div:first-child{min-width:0!important;width:100%!important;display:block!important}
  .anma-app #simulationView .page-head h1{font-size:20px!important;line-height:1.18;margin:0!important}
  .anma-app #simulationView .page-head p{font-size:12px!important;line-height:1.42;margin:6px 0 0!important}
  .anma-app #simulationView .page-head .check-export-actions{
    position:static!important;
    width:100%!important;
    margin:12px 0 0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
  }
  .anma-app #simulationView .page-head .check-export-actions .btn{font-size:11px!important;padding:7px 8px!important;min-height:34px!important}
  .anma-app #simulationView .report-brand-lines{display:none!important}
  .anma-app #simulationView .sim-grid{margin-top:0!important}
  .anma-app #simulationView .metric{min-width:0;overflow:hidden}
  .anma-app #simulationView .metric b,.anma-app #simulationView .metric small{overflow-wrap:anywhere;word-break:break-word}

  /* Never allow device details to create horizontal page scrolling. */
  .anma-app .inspector.mobile-sheet-open,
  .anma-app .inspector.mobile-sheet-open #inspector,
  .anma-app .inspector.mobile-sheet-open .control-card,
  .anma-app .inspector.mobile-sheet-open .spec-section,
  .anma-app .inspector.mobile-sheet-open .spec-table,
  .anma-app .inspector.mobile-sheet-open .doc-card,
  .anma-app .inspector.mobile-sheet-open .port-list{max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
  .anma-app .inspector.mobile-sheet-open #inspector *{min-width:0}
  .anma-app .inspector.mobile-sheet-open .spec-row{grid-template-columns:minmax(0,42%) minmax(0,58%)!important;width:100%;max-width:100%}
  .anma-app .inspector.mobile-sheet-open .spec-row span,
  .anma-app .inspector.mobile-sheet-open .spec-row b,
  .anma-app .inspector.mobile-sheet-open .control-card,
  .anma-app .inspector.mobile-sheet-open .control-card p,
  .anma-app .inspector.mobile-sheet-open .doc-card,
  .anma-app .inspector.mobile-sheet-open .doc-card *,
  .anma-app .inspector.mobile-sheet-open .port-item *{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;max-width:100%!important}
  .anma-app .inspector.mobile-sheet-open .inspector-hero{width:100%;max-width:100%;overflow:hidden}
  .anma-app .inspector.mobile-sheet-open .inspector-hero img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:150px!important;object-fit:contain!important}
  .anma-app .mobile-pv-manager,.anma-app .mobile-pv-tabs{max-width:100%;overflow-x:hidden}
}

/* v0.6.2 — phone header + direct jump to engineering warnings */
@media(max-width:700px){
  .anma-app .mobile-game-brand{display:none!important}
  .anma-app .mobile-game-top{margin-bottom:9px}
  .anma-app .mobile-game-top>div{justify-content:center}
  .anma-app .mobile-game-top>div>b{
    margin-top:0!important;
    font-size:15px!important;
    line-height:1.15;
    max-width:min(58vw,260px)!important;
  }
  .anma-app #validationResults .check{
    scroll-margin-top:14px;
  }
}
