#btnWand {
  height:44px; width:44px; flex:none; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--pill-b); border-radius:12px; color:var(--risk-ink); background:var(--pill); cursor:pointer;
}
#btnWand svg {width:26px;height:26px;}
#btnWand .note-signals-wand {fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;}
#btnWand .note-signals-sparkle {fill:currentColor;}
#btnWand.is-on {background:var(--risk-bg);border-color:var(--risk-ink);box-shadow:0 0 0 2px color-mix(in srgb,var(--risk-ink) 25%,transparent);}
.fb-wand-fx,.fb-wand-hud {position:absolute;inset:0;pointer-events:none;overflow:hidden;--fx-c:var(--risk-ink);}
.fb-wand-fx {z-index:0;}
.fb-wand-hud {z-index:34;}
.fb-wand-grid {position:absolute;inset:0;opacity:0;transition:opacity .35s ease;
  background-image:radial-gradient(color-mix(in srgb,var(--fx-c) 38%,transparent) 1px,transparent 1.3px);background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse at center,#0006 30%,#000 100%);mask-image:radial-gradient(ellipse at center,#0006 30%,#000 100%);}
.fb-wand-scan {position:absolute;left:0;right:0;top:0;height:90px;opacity:0;transform:translateY(-100px);
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--fx-c) 10%,transparent) 85%,color-mix(in srgb,var(--fx-c) 70%,transparent) 99%,transparent);}
.fb-wand-ripple {position:absolute;left:var(--fx-x,50%);top:var(--fx-y,0);width:var(--fx-r,2000px);height:var(--fx-r,2000px);margin:calc(var(--fx-r,2000px) / -2) 0 0 calc(var(--fx-r,2000px) / -2);
  border-radius:50%;border:2px solid var(--fx-c);box-shadow:inset 0 0 40px color-mix(in srgb,var(--fx-c) 25%,transparent);opacity:0;transform:scale(0);}
.fb-wand-corner {position:absolute;width:22px;height:22px;border:0 solid var(--fx-c);opacity:0;transition:opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1);}
.fb-wand-corner.tl {top:12px;left:12px;border-width:2px 0 0 2px;transform:translate(-18px,-18px);}
.fb-wand-corner.tr {top:12px;right:12px;border-width:2px 2px 0 0;transform:translate(18px,-18px);}
.fb-wand-corner.bl {bottom:12px;left:12px;border-width:0 0 2px 2px;transform:translate(-18px,18px);}
.fb-wand-corner.br {bottom:12px;right:12px;border-width:0 2px 2px 0;transform:translate(18px,18px);}
#canvasWrap.is-wand .fb-wand-grid {opacity:1;transition-delay:.25s;}
#canvasWrap.is-wand .fb-wand-scan {animation:fb-wand-scan .9s .15s cubic-bezier(.4,0,.6,1) both;}
#canvasWrap.is-wand .fb-wand-ripple {animation:fb-wand-ripple .65s cubic-bezier(.2,.7,.3,1) both;}
#canvasWrap.is-wand .fb-wand-corner {opacity:1;transform:none;transition-delay:.2s;animation:fb-wand-breathe 2.6s 1s ease-in-out infinite;}
@keyframes fb-wand-scan {0% {opacity:1;transform:translateY(-100px);} 85% {opacity:1;} 100% {opacity:0;transform:translateY(var(--fx-h,800px));}}
@keyframes fb-wand-ripple {0% {opacity:.9;transform:scale(0);} 100% {opacity:0;transform:scale(1);}}
@keyframes fb-wand-breathe {0%,100% {opacity:1;} 50% {opacity:.45;}}
@media (prefers-reduced-motion:reduce) {
  #canvasWrap.is-wand .fb-wand-scan,#canvasWrap.is-wand .fb-wand-ripple {animation:none;}
  #canvasWrap.is-wand .fb-wand-corner {animation:none;}
  .fb-wand-surface.is-locked path,#fb-node-layer .fb-wand-selected.is-locking {animation:none;}
  .fb-wand-grid,.fb-wand-corner {transition-duration:.01s;}
}
.fb-wand-surface {position:absolute;inset:0;z-index:35;touch-action:none;cursor:crosshair;}
.fb-wand-surface svg {position:absolute;width:100%;height:100%;pointer-events:none;}
.fb-wand-surface path {stroke:var(--risk-ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:color-mix(in srgb,var(--risk-ink) 8%,transparent);}
#fb-node-layer .fb-wand-selected {outline:2px solid var(--risk-ink);outline-offset:5px;}
.fb-wand-surface path.fb-wand-trace {fill:none;stroke-width:5;stroke-dasharray:.18 .82;stroke-dashoffset:0;opacity:0;filter:drop-shadow(0 0 6px var(--risk-ink));}
.fb-wand-surface.is-locked path:not(.fb-wand-trace) {animation:fb-wand-seal .45s cubic-bezier(.2,.8,.2,1) both;}
.fb-wand-surface.is-locked path.fb-wand-trace {animation:fb-wand-trace .42s cubic-bezier(.5,0,.3,1) both;}
#fb-node-layer .fb-wand-selected.is-locking {animation:fb-wand-lock .32s calc(.12s + var(--lock-i,0) * .06s) cubic-bezier(.2,1.4,.4,1) both;}
@keyframes fb-wand-seal {
  0% {stroke-width:3;fill:color-mix(in srgb,var(--risk-ink) 8%,transparent);}
  35% {stroke-width:5;fill:color-mix(in srgb,var(--risk-ink) 24%,transparent);filter:drop-shadow(0 0 10px var(--risk-ink));}
  100% {stroke-width:3;fill:color-mix(in srgb,var(--risk-ink) 12%,transparent);filter:none;}
}
@keyframes fb-wand-trace {0% {opacity:1;stroke-dashoffset:0;} 85% {opacity:1;} 100% {opacity:0;stroke-dashoffset:-1;}}
@keyframes fb-wand-lock {
  0% {outline-color:transparent;outline-offset:22px;}
  60% {outline-color:var(--risk-ink);outline-offset:3px;}
  100% {outline-color:var(--risk-ink);outline-offset:5px;}
}
.fb-wand-hint {position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:36;pointer-events:none;background:var(--risk-bg);color:var(--risk-ink);border:1px solid var(--risk-border);border-radius:999px;padding:8px 14px;text-align:center;max-width:calc(100% - 36px);box-sizing:border-box;font-size:12px;}
.fb-wand-status {position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;background:var(--card);border:1px solid var(--risk-border);border-radius:12px;padding:10px 14px;width:max-content;max-width:calc(100% - 24px);box-sizing:border-box;box-shadow:0 6px 22px #0003;}
.fb-wand-status[hidden],.fb-wand-hint[hidden],.fb-wand-surface[hidden] {display:none;}
.fb-wand-status button {border:0;background:var(--risk-bg);color:var(--risk-ink);border-radius:8px;padding:8px 10px;cursor:pointer;font:inherit;font-weight:700;}
.fb-wand-dialog {color:var(--ink);background:var(--card);border:1px solid var(--card-b);border-radius:22px;box-shadow:0 24px 70px #0007;box-sizing:border-box;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden;}
.fb-wand-dialog::backdrop {background:#0009;}
.fb-wand-content {display:flex;flex-direction:column;max-height:calc(100dvh - 34px);min-height:0;}
.fb-wand-body {overflow:auto;min-height:0;padding:24px;display:grid;gap:20px;}
.fb-wand-header {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.fb-wand-heading {min-width:0;}
.fb-wand-header h2 {font-size:25px;margin:0;line-height:1.4;letter-spacing:-.02em;}
.fb-wand-header h2:focus {outline:none;}
.fb-wand-character {margin:5px 0 0;font-size:13px;line-height:1.5;color:var(--ink-d);}
.fb-wand-dialog button,.fb-wand-dialog select {font:inherit;cursor:pointer;border:1px solid var(--pill-b);border-radius:10px;background:var(--pill);color:var(--ink);padding:10px 14px;}
.fb-wand-dialog .fb-wand-close {width:36px;height:36px;padding:0;font-size:23px;flex:none;line-height:1;}
.fb-wand-recognized {background:var(--bg);border-radius:14px;padding:12px 16px;display:grid;gap:10px;}
.fb-wand-diagram-group {position:relative;display:flex;align-items:center;gap:20px;min-width:0;}
.fb-wand-diagram-group>svg {position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:var(--ink-d);}
.fb-wand-diagram-group path {fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;opacity:.65;}
.fb-wand-diagram-node {position:relative;background:var(--card);border:1px solid var(--pill-b);border-radius:8px;padding:5px 9px;font-size:13px;font-weight:650;line-height:1.4;max-width:130px;overflow-wrap:anywhere;min-width:0;}
.fb-wand-diagram-source {flex:none;max-width:100px;}
.fb-wand-diagram-branches {flex:1;min-width:0;display:grid;gap:5px;}
.fb-wand-diagram-branch {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;min-height:48px;}
.fb-wand-diagram-conditions {display:flex;flex-wrap:wrap;justify-content:center;gap:3px;margin-bottom:30px;padding-left:12px;min-width:0;position:relative;}
.fb-wand-diagram-conditions span {font-size:10px;line-height:1.4;padding:2px 5px;background:var(--bg);color:var(--risk-ink);border:1px solid var(--risk-border);border-radius:5px;overflow-wrap:anywhere;}
.fb-wand-diagram-standalone {display:flex;flex-wrap:wrap;gap:8px;}
.fb-wand-section-title {font-size:14px;font-weight:550;color:var(--ink-d);margin:0;}
.fb-wand-editor {min-width:0;}
.fb-wand-editor-toolbar {display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.fb-wand-editor-toolbar h3 {margin-right:auto;}
.fb-wand-language-summary {font-size:11px;color:var(--ink-d);}
.fb-wand-language {font-size:0;}
.fb-wand-dialog .fb-wand-language select {font-size:12px;padding:5px 8px;border-radius:7px;background:transparent;}
.fb-wand-text-list {margin:0;padding:0;list-style:none;display:grid;gap:9px;}
.fb-wand-text-entry {display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--pill-b);border-radius:14px;background:var(--card);}
.fb-wand-text-entry:focus-within {border-color:var(--risk-ink);}
.fb-wand-entry-toggle {display:flex;align-items:center;justify-content:center;cursor:pointer;min-height:40px;}
.fb-wand-entry-toggle input,.fb-wand-target input {width:18px;height:18px;margin:0;accent-color:var(--ink);cursor:pointer;flex:none;}
.fb-wand-entry-content {min-width:0;}
.fb-wand-text-label {display:block;font-size:17px;font-weight:650;line-height:1.45;cursor:text;overflow-wrap:anywhere;}
.fb-wand-dialog textarea {display:block;width:100%;box-sizing:border-box;resize:vertical;min-height:45px;padding:3px 0 0;margin:3px 0 0;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ink-d);font:13px/1.55 ui-sans-serif,system-ui,sans-serif;}
.fb-wand-dialog textarea:focus {outline:none;border-color:var(--pill-b);background:var(--bg);color:var(--ink);padding-left:5px;padding-right:5px;}
.fb-wand-text-entry.is-excluded>.fb-wand-entry-content {opacity:.45;}
.fb-wand-destinations {display:grid;gap:10px;}
.fb-wand-targets {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.fb-wand-target {min-width:0;display:grid;gap:5px;border:1px solid var(--pill-b);border-radius:14px;padding:12px 14px;background:var(--card);overflow-wrap:anywhere;cursor:pointer;}
.fb-wand-target-heading {display:flex;align-items:center;gap:9px;}
.fb-wand-target strong {font-size:14px;line-height:1.5;}
.fb-wand-target>span:last-child {font-size:12px;color:var(--ink-d);padding-left:27px;}
.fb-wand-target:has(input:checked) {border-color:color-mix(in srgb,var(--ink) 30%,var(--pill-b));}
.fb-wand-target.is-excluded>span:last-child {opacity:.5;}
.fb-wand-actions {display:flex;gap:10px;padding:16px 24px;border-top:1px solid var(--card-b);background:var(--card);flex:none;}
.fb-wand-actions button {min-height:44px;font-weight:650;}
.fb-wand-dialog .fb-wand-add {flex:1;background:var(--ink);border-color:var(--ink);color:var(--card);font-weight:750;}
.fb-wand-error {margin:0;color:var(--risk-ink);font-size:13px;line-height:1.5;}
.fb-wand-error:empty {display:none;}
.fb-wand-dialog button:disabled {opacity:.45;cursor:not-allowed;}
@media(max-width:600px) {
  #bar {grid-template-columns:repeat(5,minmax(0,1fr));}
  #btnWand {grid-column:2;grid-row:1;justify-self:end;width:38px;}
  #btnZoomOut {grid-column:3;}
  #btnZoomIn {grid-column:4;}
  #btnMenu {grid-column:5;}
  #btnAdd {grid-column:1 / 3;}
  #btnAddAction {grid-column:3 / 6;}
  .fb-wand-body {padding:18px 16px;gap:16px;}
  .fb-wand-header h2 {font-size:22px;}
  .fb-wand-recognized {padding:10px 12px;}
  .fb-wand-diagram-group {gap:15px;}
  .fb-wand-diagram-node {font-size:12px;max-width:90px;padding:5px 7px;}
  .fb-wand-diagram-source {max-width:75px;}
  .fb-wand-diagram-branch {gap:6px;}
  .fb-wand-text-entry {padding:11px 12px;gap:9px;}
  .fb-wand-text-label {font-size:16px;}
  .fb-wand-dialog textarea {font-size:16px;min-height:52px;}
  .fb-wand-target {padding:11px 10px;}
  .fb-wand-target strong {font-size:13px;}
  .fb-wand-target>span:last-child {padding-left:0;font-size:11px;}
  .fb-wand-actions {padding:13px 16px;}
}
@media(max-width:380px) { #charDd #charName {display:none;} }
