html, body { margin: 0; padding: 0; background: rgba(20,22,26,0.86); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); }
  * { box-sizing: border-box; }
  a { color: #007aff; text-decoration: none; }
  a:hover { color: #55b6e4; }
  input, select, button { outline: none; font-family: inherit; }
  input:focus { border-color: #007aff; box-shadow: 0 0 0 3px rgba(30,154,214,0.14); }
  ::-webkit-scrollbar { width: 10px; height: 10px; }
  ::-webkit-scrollbar-track { background: transparent; }
  ::-webkit-scrollbar-thumb { background: #c2cad6; border-radius: 6px; border: 2px solid transparent; background-clip: content-box; }
  ::-webkit-scrollbar-thumb:hover { background: #a7b2c1; background-clip: content-box; }
  @property --asm-ang { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
  @keyframes asm-sweep { to { --asm-ang: 360deg; } }
  .asm-card { position: relative; isolation: isolate; }
  .asm-card::before {
    content: ''; position: absolute; inset: -1.5px; border-radius: 17px; padding: 1.5px; z-index: -1;
    background: conic-gradient(from var(--asm-ang), transparent 0deg, transparent 250deg, var(--asm-glow, #5ac8fa) 300deg, #ffffff 330deg, var(--asm-glow, #5ac8fa) 350deg, transparent 360deg);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
    opacity: 0; transition: opacity 200ms ease;
  }
  .asm-card:hover::before { opacity: 1; animation: asm-sweep 2.4s linear infinite; }
  .asm-card[data-locked="1"]:hover::before { opacity: 0; animation: none; }
  .asm-card:hover { transform: translateY(-2px); }
  .asm-card[data-locked="1"]:hover { transform: none; }
  .asm-card { transition: transform 200ms ease, box-shadow 200ms ease; }
  .asm-rail::-webkit-scrollbar-thumb { background: #2b3d4f; background-clip: content-box; }
  .asm-rail::-webkit-scrollbar-thumb:hover { background: #3a5169; background-clip: content-box; }
