/* Local-only layout calibration. It is inert unless the page uses ?tune=1. */
.ys-ui-tuner-active .ys-tune-adjusted{
  translate:var(--ys-tune-x,0px) var(--ys-tune-y,0px);
}
.ys-ui-tuner-active.ys-tune-selecting{ cursor:crosshair; }
.ys-ui-tuner-active.ys-tune-selecting .ys-tune-adjusted{ cursor:move; }
.ys-ui-tuner-active .ys-tune-selected{
  outline:2px solid #e05282 !important;
  outline-offset:3px;
  box-shadow:0 0 0 5px rgba(224,82,130,.16) !important;
}
.ys-ui-tuner{
  position:fixed; z-index:1200; right:14px; top:14px; width:min(300px,calc(100vw - 28px));
  border:1px solid rgba(102,120,138,.3); border-radius:16px; overflow:hidden;
  background:rgba(247,250,252,.96); color:#253447;
  box-shadow:0 18px 48px rgba(30,45,60,.22); backdrop-filter:blur(20px);
  font:13px/1.45 system-ui,"Microsoft YaHei",sans-serif;
}
.ys-ui-tuner *{ box-sizing:border-box; }
.ys-ui-tuner button{ font:inherit; }
.ys-ui-tuner__head{
  display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px;
  border-bottom:1px solid rgba(102,120,138,.2); cursor:grab; user-select:none;
}
.ys-ui-tuner__head:active{ cursor:grabbing; }
.ys-ui-tuner__head strong{ font-size:13px; letter-spacing:.04em; }
.ys-ui-tuner__head button{ width:28px; height:28px; border:0; border-radius:9px; background:rgba(120,142,165,.12); color:inherit; }
.ys-ui-tuner__body{ padding:11px 12px 12px; }
.ys-ui-tuner.is-collapsed .ys-ui-tuner__body{ display:none; }
.ys-ui-tuner__mode{ display:flex; width:100%; justify-content:center; padding:8px 10px; border:1px solid rgba(102,120,138,.22); border-radius:10px; background:#fff; color:inherit; }
.ys-ui-tuner__hint{ margin:7px 0 10px; color:#6c7c8b; font-size:11px; }
.ys-ui-tuner .ys-ui-tuner__notes{
  display:block; width:100%; min-height:64px; max-height:132px; height:72px; margin:0 0 9px; padding:8px 9px;
  border:1px solid rgba(102,120,138,.22); border-radius:10px; outline:0; resize:vertical;
  background:#fff; color:#253447; font:12px/1.5 system-ui,"Microsoft YaHei",sans-serif;
}
.ys-ui-tuner .ys-ui-tuner__notes::placeholder{ color:#8a99a8; }
.ys-ui-tuner .ys-ui-tuner__notes:focus{ border-color:rgba(76,99,120,.5); }
.ys-ui-tuner__readout{ display:grid; grid-template-columns:1fr auto; gap:5px 10px; padding:9px 10px; border-radius:11px; background:rgba(120,142,165,.09); }
.ys-ui-tuner__readout span{ color:#728291; }
.ys-ui-tuner__readout b{ max-width:174px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; text-align:right; }
.ys-ui-tuner__pad{ display:grid; grid-template-columns:repeat(3,38px); grid-template-rows:repeat(3,34px); justify-content:center; gap:4px; margin:10px 0; }
.ys-ui-tuner__pad button{ border:1px solid rgba(102,120,138,.2); border-radius:9px; background:#fff; color:inherit; }
.ys-ui-tuner__pad button[data-dx="-1"]{ grid-column:1; grid-row:2; }
.ys-ui-tuner__pad button[data-dy="-1"]{ grid-column:2; grid-row:1; }
.ys-ui-tuner__pad button[data-reset]{ grid-column:2; grid-row:2; font-size:11px; }
.ys-ui-tuner__pad button[data-dx="1"]{ grid-column:3; grid-row:2; }
.ys-ui-tuner__pad button[data-dy="1"]{ grid-column:2; grid-row:3; }
.ys-ui-tuner__actions{ display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.ys-ui-tuner__actions button{ padding:7px 6px; border:1px solid rgba(102,120,138,.2); border-radius:9px; background:#fff; color:inherit; }
.ys-ui-tuner__actions .danger{ color:#a84f57; }
.ys-ui-tuner__status{ min-height:17px; margin:7px 0 0; color:#6c7c8b; font-size:11px; text-align:center; }
@media (max-width:600px){
  .ys-ui-tuner{ top:8px; right:8px; width:min(286px,calc(100vw - 16px)); }
}
