.orb-wrap{flex-direction:column;gap:12px;display:flex}.orb-tools{flex-wrap:wrap;gap:6px;display:flex}.orb-tools .btn{min-width:72px;min-height:40px}.orb-add{flex-direction:column;gap:8px;display:flex}.orb-tpls{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.orb-tpl{text-align:left;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:6px 8px;display:grid}.orb-tpl .orb-swatch{grid-row:1/3;width:14px;height:14px}.orb-tpl b{font-size:14px}.orb-tpl small{color:var(--muted);font-size:12px}.orb-tpl.on{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}.orb-swatch{border:1px solid var(--line);border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.orb-hole{background:#000;box-shadow:0 0 0 2px #ffc233}.orb-stage{width:100%;position:relative}.orb-canvas{border-radius:var(--radius);border:2px solid var(--ink);background:var(--board);touch-action:none;cursor:grab;width:100%;height:420px;font-family:var(--f-mono);display:block}.orb-canvas.orb-add-tool{cursor:crosshair}.orb-canvas.orb-erase-tool{cursor:not-allowed}.orb-paused{font-family:var(--f-mono);background:var(--surface);color:var(--ink);pointer-events:none;border-radius:999px;padding:4px 12px;font-size:12px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.orb-zoom{flex-direction:column;gap:6px;display:flex;position:absolute;bottom:10px;right:10px}.orb-zoom .btn{min-width:36px;min-height:36px;padding:0;font-size:18px}.orb-controls{flex-wrap:wrap;align-items:flex-end;gap:10px 18px;display:flex}.orb-range{flex-direction:column;gap:4px;min-width:0;display:flex}.orb-range input{width:100%;accent-color:var(--accent);min-height:28px}.orb-speed{flex:2 260px}.orb-tilt{flex:140px}.orb-toggles{flex-wrap:wrap;gap:6px;display:flex}.orb-gauges{color:var(--muted);flex-wrap:wrap;flex:100%;gap:4px 14px;margin:0;font-size:13px;display:flex}.orb-gauges b{font-family:var(--f-mono);color:var(--ink)}.orb-panels{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.orb-panel{flex-direction:column;gap:8px;min-width:0;display:flex}.orb-panel h2,.orb-panel p{margin:0}.orb-muted{color:var(--muted);font-size:13px}.orb-scenes{flex-direction:column;gap:6px;display:flex}.orb-scene{text-align:left;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.orb-scene span{color:var(--muted);font-size:13px}.orb-scene.on{border-color:var(--accent)}.orb-sel{flex-direction:column;gap:8px;display:flex}.orb-sel .input{font-family:var(--f-word);font-size:18px}.orb-facts{flex-direction:column;gap:3px;margin:0;display:flex}.orb-facts div{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding-bottom:3px;font-size:14px;display:flex}.orb-facts dt{color:var(--muted)}.orb-facts dd{font-family:var(--f-mono);text-align:right;margin:0;font-size:13px}.orb-list,.orb-log,.orb-slots{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.orb-list{max-height:360px;overflow-y:auto}.orb-list button{border-radius:var(--radius);width:100%;min-height:28px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:2px 4px;font-size:14px;display:flex}.orb-list button:hover{background:var(--sunk)}.orb-log{gap:4px;max-height:300px;overflow-y:auto}.orb-log li{border-left:3px solid var(--line);padding-left:8px;font-size:13px}.orb-log small{font-family:var(--f-mono);color:var(--muted)}.orb-log li.orb-l-hit{border-left-color:var(--bad)}.orb-log li.orb-l-free{border-left-color:var(--sun)}.orb-log li.orb-l-add{border-left-color:var(--info)}.orb-save{gap:6px;display:flex}.orb-save .input{flex:1;min-width:0;font-size:16px}.orb-slots{gap:6px}.orb-slots li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding-bottom:4px;display:flex}.orb-slots li>span:first-child{flex-direction:column;min-width:0;display:flex}.orb-slots small{color:var(--muted);font-size:12px}.orb-slots .btn-row{flex-wrap:nowrap;gap:4px}@media (max-width:560px){.orb-tools .btn{flex:auto;min-width:0;padding:7px 8px}.orb-tpls{grid-template-columns:repeat(2,minmax(0,1fr))}.orb-tpl small{display:none}}
