:root{
  color-scheme:dark;
  --cv-bg:#020d1d;--cv-bg-deep:#020916;--cv-surface:rgba(7,24,45,.86);
  --cv-surface-2:rgba(12,32,54,.82);--cv-line:rgba(101,223,251,.18);
  --cv-line-strong:rgba(101,223,251,.34);--cv-text:#fff;
  --cv-soft:#c7d9ec;--cv-muted:#9fb6cf;--cv-cyan:#43d7ff;
  --cv-primary:linear-gradient(135deg,#19c8ff,#176bff);--cv-danger:#ff5a5f;
  --cv-success:linear-gradient(135deg,#28d991,#079b62);
  --cv-shadow:0 24px 70px rgba(0,5,18,.34),0 1px 0 rgba(255,255,255,.04) inset;
  --cv-radius-xl:24px;--cv-radius-lg:18px;--cv-radius-md:14px;
  --cv-font:"Avenir Next","SF Pro Text","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --cv-ease:cubic-bezier(.2,.8,.2,1)
}
button,.btn{font-family:inherit;border:0;cursor:pointer;touch-action:manipulation;
  -webkit-tap-highlight-color:transparent}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  min-height:52px;margin-top:10px;padding:14px 18px;border:1px solid var(--cv-line);
  border-radius:var(--cv-radius-md);background:var(--cv-surface-2);color:var(--cv-text);
  box-shadow:0 9px 24px rgba(0,7,20,.16),0 1px 0 rgba(255,255,255,.035) inset;
  font-size:15px;font-weight:600;line-height:1.25;text-decoration:none;
  transition:transform 100ms var(--cv-ease),border-color 160ms var(--cv-ease),
  box-shadow 160ms var(--cv-ease),filter 160ms var(--cv-ease),opacity 160ms var(--cv-ease)}
.btn.primary{background:var(--cv-primary);border-color:transparent;color:#fff;
  box-shadow:0 14px 34px rgba(24,112,255,.26),0 1px 0 rgba(255,255,255,.2) inset}
.btn.danger,.confirm button.danger{background:var(--cv-danger);border-color:transparent;color:#fff}
.btn.pillbtn{min-height:38px;width:auto;margin:0;padding:8px 17px;border-radius:999px;font-size:13px}
.iconbtn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;
  flex:0 0 auto;border:1px solid var(--cv-line-strong);border-radius:12px;
  background:rgba(255,255,255,.055);color:#fff;font-size:18px;line-height:1;
  transition:transform 100ms var(--cv-ease),border-color 160ms var(--cv-ease),
  box-shadow 160ms var(--cv-ease),filter 160ms var(--cv-ease)}
.iconbtn.del{color:var(--cv-danger);border-color:var(--cv-danger)}
.confirm button{flex:1;padding:11px;border:1px solid var(--cv-line);border-radius:12px;
  background:var(--cv-surface-2);color:var(--cv-soft);font-size:14px;font-weight:600;
  transition:transform 100ms var(--cv-ease),border-color 160ms var(--cv-ease),
  box-shadow 160ms var(--cv-ease),filter 160ms var(--cv-ease)}
.dvback{flex:0 0 auto;padding:9px 12px;border:1px solid var(--cv-line);
  border-radius:12px;background:rgba(255,255,255,.055);color:#fff;font-size:13px;
  transition:transform 100ms var(--cv-ease),border-color 160ms var(--cv-ease),
  box-shadow 160ms var(--cv-ease),filter 160ms var(--cv-ease)}
.btn:active,.iconbtn:active,.confirm button:active,.dvback:active{transform:scale(.975)}
.btn:not(:active),.iconbtn:not(:active),.confirm button:not(:active),.dvback:not(:active){transform:none}
button:focus-visible,.btn:focus-visible,.iconbtn:focus-visible,.confirm button:focus-visible,
.dvback:focus-visible,a:focus-visible{outline:2px solid var(--cv-cyan);outline-offset:3px}
.btn:disabled,.btn[disabled]{opacity:.38;cursor:not-allowed;box-shadow:none;filter:saturate(.6)}
.btn.is-loading{position:relative;color:transparent!important;opacity:.82}
.btn.is-loading::before{content:"";position:absolute;width:17px;height:17px;border-radius:50%;
  border:2px solid rgba(255,255,255,.34);border-top-color:#fff;animation:cv-spin .72s linear infinite}
@keyframes cv-spin{to{transform:rotate(360deg)}}
@media (hover:hover) and (pointer:fine){
  .btn:not(:disabled):hover,.iconbtn:hover,.confirm button:hover,.dvback:hover{
    border-color:var(--cv-line-strong);filter:brightness(1.08);
    box-shadow:0 12px 28px rgba(0,7,20,.22),0 1px 0 rgba(255,255,255,.05) inset}
}
@media (prefers-reduced-motion:reduce){
  .btn,.iconbtn,.confirm button,.dvback{transition:none!important;transform:none!important}
  .btn.is-loading::before{animation:none!important}
}
