.nav .ibtn.tsw { position:relative; width:46px; height:24px; margin:0 4px; padding:0 6px; box-sizing:border-box; border-radius:999px !important; justify-content:flex-start;
  background:#0b0d12; box-shadow:inset 0 0 0 1px #3a3f4b; color:#fff; transition:background .2s, box-shadow .2s; }
.nav .ibtn.tsw::after { content:""; position:absolute; top:3px; left:calc(100% - 21px); width:18px; height:18px; border-radius:50%; background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,0.35); transition:left .2s; }      /* the knob: white (Vladimir 2026-10-24: back from the blue) */
.nav .ibtn.tsw svg { display:none; width:13px; height:13px; transform:none; }
html[data-theme-eff="dark"] .nav .ibtn.tsw .i-dark { display:block; }
html[data-theme-eff="light"] .nav .ibtn.tsw { background:#e3e8ee; box-shadow:inset 0 0 0 1px #c8d0da; color:#465061; justify-content:flex-end; }
html[data-theme-eff="light"] .nav .ibtn.tsw::after { left:3px; }
html[data-theme-eff="light"] .nav .ibtn.tsw .i-light { display:block; }
.nav .ibtn.tsw:hover { color:#fff; background:#0b0d12; filter:brightness(1.25); }      /* not the other top-bar buttons' hover background */
html[data-theme-eff="light"] .nav .ibtn.tsw:hover { background:#e3e8ee; color:#11141a; filter:none; }
html[data-theme-eff="dark"] body.jr-page .nav .ibtn.tsw::after { background:#7a9cc6; }      /* Antoniy's journal only (body.jr-page: /abdorancews and its Trade Logs): */
html[data-theme-eff="light"] body.jr-page .nav .ibtn.tsw::after { background:rgba(75,139,214,0.55); }   /* a mellow / see-through blue knob, here so it is there from the first paint (Antoniy 2026-10-25) */
.nav .ibtn.tsw:focus-visible { outline:2px solid #7fd1ff; outline-offset:2px; }

/* pull to refresh (site-frame.ts, home-screen web apps): a ring that follows the finger down, solid once letting go reloads */
.ptr { position:fixed; top:calc(env(safe-area-inset-top, 0px) + 8px); left:50%; z-index:200; width:26px; height:26px; margin-top:-30px; border-radius:50%;
  border:3px solid rgba(127,209,255,0.35); border-top-color:#7fd1ff; opacity:0; pointer-events:none; transform:translate(-50%, 0); }
.ptr.go { border-color:#7fd1ff; }
.ptr.spin { animation:ptr-spin .8s linear infinite; opacity:1; }
@keyframes ptr-spin { from { transform:translate(-50%, 40px) rotate(0deg); } to { transform:translate(-50%, 40px) rotate(360deg); } }
