/* ---- Cordinha da lampada ---- */
.lamp{position:fixed;top:0;right:26px;z-index:60;display:flex;flex-direction:column;align-items:center;
      cursor:pointer;border:none;background:none;padding:0;-webkit-tap-highlight-color:transparent;}
.lamp-wire{width:2px;background:linear-gradient(180deg,var(--line-2),var(--ink-soft));border-radius:0 0 2px 2px;
           height:26px;transform-origin:top center;transition:height .28s cubic-bezier(.34,1.56,.64,1);}
.lamp:hover .lamp-wire{height:34px;}
.lamp.pulling .lamp-wire{height:58px;transition:height .13s ease-out;}
.lamp-knob{width:15px;height:15px;border-radius:50%;margin-top:-1px;flex-shrink:0;
           background:radial-gradient(circle at 34% 30%, #FDE68A, #F59E0B 62%, #B45309);
           box-shadow:0 0 0 1px rgba(0,0,0,.10), 0 2px 5px rgba(0,0,0,.22);
           transition:transform .28s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;}
.lamp:hover .lamp-knob{transform:scale(1.12);}
html[data-theme="dark"] .lamp-knob{
  background:radial-gradient(circle at 34% 30%, #FFF7D6, #FCD34D 55%, #D97706);
  box-shadow:0 0 12px 3px rgba(252,211,77,.45), 0 0 0 1px rgba(0,0,0,.2);}
.lamp-hint{position:absolute;top:52px;right:-6px;transform:translateY(-4px);white-space:nowrap;font-size:11px;font-weight:600;
           color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);
           padding:4px 9px;border-radius:7px;opacity:0;transform:translateY(-4px);
           transition:opacity .18s ease, transform .18s ease;pointer-events:none;box-shadow:var(--shadow);}
.lamp:hover .lamp-hint{opacity:1;transform:none;}
@media(max-width:820px){.lamp{left:auto;right:14px;} .lamp-hint{display:none;}}

/* ---- Cortina que varre a tela no clique ---- */
/* A cortina nasce na lampada e se espalha pela tela toda (escurecendo em varredura) */
.fade-veil{position:fixed;inset:0;z-index:59;pointer-events:none;opacity:0;
           background:radial-gradient(circle at var(--vx,50%) 0%, #0B1220 0%, #05070C 55%, #000 100%);}
.fade-veil.run{animation:veil 2.1s cubic-bezier(.4,0,.2,1);}
@keyframes veil{
  0%{opacity:0;}
  42%{opacity:1;}     /* escurece ate o breu */
  62%{opacity:1;}     /* segura no escuro: e aqui que o tema troca */
  100%{opacity:0;}    /* revela o tema novo devagar */
}
/* A animacao vale em todo aparelho (pedido do dono, 01/10/2026): o Windows dele
   reporta "reduzir movimento" e o @media (prefers-reduced-motion) que havia aqui
   desligava a troca de tema e as transicoes. Nao reintroduzir. */


